/* =============================================================
   HISTORY PAGE — page-specific styles
   ============================================================= */

/* THE BEGINNING (manifesto-style) */
.beginning {
	background: var(--wba-white);
	padding: 140px 0;
}
.beginning__inner {
	max-width: var(--container-narrow);
	margin: 0 auto;
	padding: 0 var(--gutter-d);
	display: grid;
	grid-template-columns: 1fr 1.4fr;
	gap: 80px;
	align-items: start;
}
.beginning__left { position: sticky; top: 180px; }
.beginning__year {
	font-size: clamp(4rem, 8vw, 7rem);
	font-weight: 900;
	font-style: italic;
	color: var(--wba-red);
	line-height: 0.9;
	letter-spacing: -0.04em;
	margin: 0 0 20px;
}
.beginning__year-sub {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: lowercase;
	color: var(--wba-muted);
	font-style: italic;
	margin: 0 0 24px;
}
.beginning__motto { margin-bottom: 16px; }
.beginning__heading {
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	margin: 0 0 28px;
}
.beginning__body {
	font-size: 1.08rem;
	line-height: 1.7;
	color: var(--wba-dark);
	margin: 0 0 24px;
}
.beginning__body em { font-style: italic; }
.beginning__body strong { font-weight: 700; font-style: normal; }

/* FOUNDERS GRID */
.founders {
	background: var(--wba-cream);
	padding: 140px 0;
}
.founders__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter-d);
}
.founders__head {
	text-align: center;
	margin-bottom: 64px;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.founders__motto { margin-bottom: 12px; display: inline-block; }
.founders__heading {
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	margin: 0 0 20px;
}
.founders__lede {
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--wba-muted);
	margin: 0;
}
.founders__lede em { color: var(--wba-dark); font-style: italic; }
.founder-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 24px;
}

/* ORIGINAL FIVE — bordered grid */
.original-five {
	background: var(--wba-white);
	padding: 100px 0;
	border-top: 1px solid var(--wba-border);
	border-bottom: 1px solid var(--wba-border);
}
.original-five__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter-d);
}
.original-five__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 40px;
	margin-bottom: 40px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--wba-border);
}
.original-five__head h3 {
	font-size: 1.4rem;
	font-weight: 800;
	letter-spacing: -0.005em;
	margin: 0;
	text-transform: lowercase;
	color: var(--wba-dark);
}
.original-five__head h3 em { font-style: italic; font-weight: 300; }
.original-five__motto {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: lowercase;
	color: var(--wba-muted);
	font-style: italic;
}
.club-list {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0;
	border-top: 1px solid var(--wba-border);
	border-left: 1px solid var(--wba-border);
}
.original-club {
	border-right: 1px solid var(--wba-border);
	border-bottom: 1px solid var(--wba-border);
	padding: 32px 24px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--wba-white);
	transition: background 0.3s ease;
}
.original-club:hover { background: var(--wba-cream); }
.original-club__name {
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: -0.005em;
	text-transform: lowercase;
	margin: 0;
}
.original-club__lead {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--wba-muted);
	font-style: italic;
	margin: 0;
}

/* TIMELINE */
.timeline {
	background: var(--wba-cream);
	padding: 140px 0;
}
.timeline__inner {
	max-width: var(--container-narrow);
	margin: 0 auto;
	padding: 0 var(--gutter-d);
}
.timeline__head {
	text-align: center;
	margin-bottom: 80px;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}
.timeline__motto { display: inline-block; margin-bottom: 12px; }
.timeline__heading {
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	margin: 0 0 20px;
}
.timeline__lede {
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--wba-muted);
	margin: 0;
}

.tl-entry {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 56px;
	padding: 64px 0;
	border-top: 1px solid var(--wba-border);
}
.tl-entry:first-of-type { border-top: 0; padding-top: 0; }
.tl-entry__year-block {
	display: flex;
	flex-direction: column;
	position: sticky;
	top: 160px;
	height: max-content;
}
.tl-entry__year {
	font-size: clamp(3rem, 5vw, 4.4rem);
	font-weight: 900;
	font-style: italic;
	color: var(--wba-red);
	letter-spacing: -0.04em;
	line-height: 0.95;
	margin: 0 0 8px;
}
.tl-entry__year-sub {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: lowercase;
	color: var(--wba-muted);
	font-style: italic;
	margin: 0;
}
.tl-entry__eyebrow {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: lowercase;
	color: var(--wba-red);
	font-style: italic;
	margin: 0 0 14px;
}
.tl-entry__title {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: lowercase;
	line-height: 1.1;
	color: var(--wba-dark);
	margin: 0 0 24px;
}
.tl-entry__title em { font-style: italic; font-weight: 300; }
.tl-entry__media {
	margin: 0 0 28px;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--wba-border);
}
.tl-entry__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	filter: grayscale(0.4) contrast(1.05);
	transition: filter 0.5s ease;
}
.tl-entry__media:hover img { filter: grayscale(0); }
.tl-entry__text {
	font-size: 1.04rem;
	line-height: 1.7;
	color: var(--wba-dark);
	margin: 0 0 16px;
}
.tl-entry__text em { font-style: italic; }
.tl-entry__text strong { font-weight: 700; font-style: normal; }
.tl-entry__highlight {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid var(--wba-border);
}
.tl-entry__highlight-item { display: flex; flex-direction: column; gap: 6px; }
.tl-entry__highlight-icon {
	font-size: 1.5rem;
	margin-bottom: 8px;
	line-height: 1;
}
.tl-entry__highlight-label {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wba-muted);
	margin: 0;
}
.tl-entry__highlight-value {
	font-size: 1rem;
	font-weight: 700;
	color: var(--wba-dark);
	margin: 0;
}
.tl-entry__highlight-value em { font-style: italic; font-weight: 300; }

/* VICKERMAN — dark feature */
.vickerman {
	background: var(--wba-dark);
	color: var(--wba-white);
	padding: 160px 0;
	position: relative;
	overflow: hidden;
}
.vickerman__decor {
	position: absolute;
	right: -180px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 26rem;
	font-weight: 900;
	font-style: italic;
	color: var(--wba-orange);
	opacity: 0.05;
	line-height: 1;
	letter-spacing: -0.05em;
	pointer-events: none;
	user-select: none;
	white-space: nowrap;
}
.vickerman__inner {
	position: relative;
	z-index: 1;
	max-width: var(--container-narrow);
	margin: 0 auto;
	padding: 0 var(--gutter-d);
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 80px;
	align-items: center;
}
.vickerman__media {
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: rgba(255,255,255,0.04);
}
.vickerman__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	filter: grayscale(0.3) contrast(1.1);
}
.vickerman__media-tag {
	position: absolute;
	bottom: 20px;
	left: 20px;
	background: var(--wba-orange);
	color: var(--wba-dark);
	font-size: 0.66rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: lowercase;
	padding: 8px 14px;
	font-style: italic;
}
.vickerman__motto {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	font-style: italic;
	color: var(--wba-orange);
	text-transform: lowercase;
	margin: 0 0 16px;
}
.vickerman__heading {
	font-size: clamp(2.4rem, 5vw, 4rem);
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1;
	text-transform: lowercase;
	color: var(--wba-white);
	margin: 0 0 32px;
}
.vickerman__heading em { font-style: italic; font-weight: 300; color: var(--wba-orange); }
.vickerman__body {
	font-size: 1.1rem;
	line-height: 1.7;
	color: rgba(255,255,255,0.85);
	margin: 0 0 24px;
}
.vickerman__body em { color: var(--wba-orange); font-style: italic; }
.vickerman__body strong { font-weight: 700; font-style: normal; color: var(--wba-white); }
.vickerman__credentials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,0.15);
}
.vickerman__credential {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: lowercase;
	padding: 8px 14px;
	border: 1px solid rgba(255,255,255,0.2);
	color: rgba(255,255,255,0.8);
}
.vickerman__credential em { color: var(--wba-orange); font-style: italic; }

/* TODAY — venues grid */
.today {
	background: var(--wba-white);
	padding: 140px 0;
}
.today__inner {
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter-d);
}
.today__head {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 64px;
	margin-bottom: 64px;
	align-items: end;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--wba-border);
}
.today__motto { margin-bottom: 14px; }
.today__heading {
	font-size: clamp(2.2rem, 4.5vw, 3.6rem);
	margin: 0;
}
.today__lede {
	font-size: 1.05rem;
	line-height: 1.65;
	color: var(--wba-muted);
	margin: 0;
}
.today__lede em { color: var(--wba-dark); font-style: italic; }
.venue-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
	gap: 0;
	border-top: 1px solid var(--wba-border);
	border-left: 1px solid var(--wba-border);
}
.venue {
	border-right: 1px solid var(--wba-border);
	border-bottom: 1px solid var(--wba-border);
	padding: 32px 24px 36px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: var(--wba-white);
	transition: background 0.3s ease;
}
.venue--hq { background: var(--wba-cream); }
.venue:hover { background: var(--wba-cream); }
.venue--hq:hover { background: var(--wba-white); }
.venue__pill {
	font-size: 0.62rem;
	font-weight: 800;
	letter-spacing: 0.2em;
	text-transform: lowercase;
	color: var(--wba-red);
	font-style: italic;
	margin: 0 0 8px;
}
.venue__name {
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: -0.005em;
	text-transform: lowercase;
	margin: 0 0 4px;
}
.venue__sub {
	font-size: 0.82rem;
	color: var(--wba-muted);
	font-style: italic;
	margin: 0;
}

/* LIFE MEMBERS HONOUR ROLL */
.honour-roll {
	background: var(--wba-cream);
	padding: 120px 0;
}
.honour-roll__inner {
	max-width: var(--container-narrow);
	margin: 0 auto;
	padding: 0 var(--gutter-d);
}
.honour-roll__head {
	text-align: center;
	margin-bottom: 56px;
}
.honour-roll__motto { margin-bottom: 12px; display: inline-block; }
.honour-roll__heading {
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 0 0 16px;
}
.honour-roll__lede {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wba-muted);
	margin: 0 auto;
	max-width: 56ch;
}
.member-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border-top: 1px solid var(--wba-border);
	border-left: 1px solid var(--wba-border);
}
.member {
	border-right: 1px solid var(--wba-border);
	border-bottom: 1px solid var(--wba-border);
	padding: 24px 22px;
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--wba-white);
	transition: background 0.3s ease;
}
.member:hover { background: var(--wba-cream); }
.member__star {
	color: var(--wba-orange);
	font-size: 1rem;
	flex-shrink: 0;
}
.member__name {
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.005em;
	text-transform: lowercase;
	margin: 0;
	color: var(--wba-dark);
}

/* CLOSING RED CTA (History only) */
.cta-bottom-red {
	background: var(--wba-red);
	color: var(--wba-white);
	padding: 120px 0;
	text-align: center;
}
.cta-bottom-red__inner {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 var(--gutter-d);
}
.cta-bottom-red__motto {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	font-style: italic;
	color: rgba(255,255,255,0.78);
	margin: 0 0 16px;
	text-transform: lowercase;
}
.cta-bottom-red__heading {
	font-size: clamp(2.4rem, 5.5vw, 4.4rem);
	margin: 0 0 24px;
	color: var(--wba-white);
}
.cta-bottom-red__heading em { font-style: italic; font-weight: 300; }
.cta-bottom-red__body {
	font-size: 1.08rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.92);
	margin: 0 auto 36px;
	max-width: 56ch;
}
.cta-bottom-red__body em { font-style: italic; }
.cta-bottom-red__buttons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

/* RESPONSIVE */
@media (max-width: 1100px) {
	.founder-grid { grid-template-columns: repeat(3, 1fr); }
	.club-list { grid-template-columns: repeat(3, 1fr); }
	.venue-grid { grid-template-columns: repeat(2, 1fr); }
	.member-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
	.beginning { padding: 80px 0; }
	.beginning__inner { grid-template-columns: 1fr; padding: 0 var(--gutter-m); gap: 40px; }
	.beginning__left { position: static; }
	.founders { padding: 80px 0; }
	.founders__inner { padding: 0 var(--gutter-m); }
	.founder-grid { grid-template-columns: 1fr 1fr; }
	.original-five__inner { padding: 0 var(--gutter-m); }
	.original-five__head { flex-direction: column; align-items: flex-start; gap: 8px; }
	.club-list { grid-template-columns: 1fr 1fr; }
	.timeline { padding: 80px 0; }
	.timeline__inner { padding: 0 var(--gutter-m); }
	.tl-entry { grid-template-columns: 1fr; gap: 24px; padding: 48px 0; }
	.tl-entry__year-block { position: static; flex-direction: row; align-items: baseline; gap: 16px; }
	.tl-entry__highlight { grid-template-columns: 1fr 1fr; }
	.vickerman { padding: 80px 0; }
	.vickerman__inner { grid-template-columns: 1fr; padding: 0 var(--gutter-m); gap: 40px; }
	.today { padding: 80px 0; }
	.today__inner { padding: 0 var(--gutter-m); }
	.today__head { grid-template-columns: 1fr; gap: 24px; }
	.venue-grid { grid-template-columns: 1fr 1fr; }
	.honour-roll { padding: 80px 0; }
	.honour-roll__inner { padding: 0 var(--gutter-m); }
	.member-grid { grid-template-columns: 1fr 1fr; }
	.cta-bottom-red { padding: 80px 0; }
	.cta-bottom-red__inner { padding: 0 var(--gutter-m); }
}
@media (max-width: 600px) {
	.founder-grid { grid-template-columns: 1fr; }
	.club-list { grid-template-columns: 1fr; }
	.venue-grid { grid-template-columns: 1fr; }
	.member-grid { grid-template-columns: 1fr 1fr; }
	.tl-entry__highlight { grid-template-columns: 1fr; }
}
