/* ==========================================================================
   Pass the Torch — main stylesheet (mobile-first)
   Breakpoints: 768px (tablet), 1100px (desktop navigation).
   Fluid sizes use the design's clamp() values.
   ========================================================================== */

:root {
	--black: #080808;
	--ink: #1A1A14;
	--ink-2: #262620;
	--army: #22281A;
	--olive: #424E30;
	--olive-2: #56653F;
	--gold: #B18A49;
	--gold-2: #C69C55;
	--paper: #F3ECDF;
	--line: #E6E1D6;
	--line-dark: #2A2A24;
	--sand: #D9CDB5;
	--muted: #6B6A60;
	--error: #9E2B1F;
	--white: #FFFFFF;

	--f-display: 'Libre Caslon Display', Georgia, serif;
	--f-serif: 'Libre Caslon Text', Georgia, serif;
	--f-sans: 'Neue Haas', 'Helvetica Neue', Helvetica, Arial, sans-serif;

	--gx: clamp(24px, 6.25vw, 120px);
	--max: 1920px;
	--header-h: clamp(88px, 5.3vw, 102px);
	--noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .36 0 0 0 0 .22 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--header-h) + 12px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0;
	background: var(--white);
	color: var(--black);
	font-family: var(--f-sans);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--gold); }
p { margin: 0; }
h1, h2, h3, h4 { margin: 0; font-weight: 400; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
ul, ol { margin: 0; padding: 0; list-style: none; }
address { font-style: normal; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
::placeholder { color: #8E8E86; }

.screen-reader-text, .visually-hidden {
	position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0 !important;
}
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--gold); color: var(--white); padding: 10px 16px; font-weight: 700; }
.skip-link:focus { top: 12px; color: var(--white); }

.container { max-width: var(--max); margin: 0 auto; padding: 0 var(--gx); }
.section { max-width: var(--max); margin: 0 auto; padding: clamp(56px, 5.5vw, 104px) var(--gx); }
.page-end { padding-top: clamp(56px, 4.4vw, 84px); }
.gold-line { height: 2px; background: var(--gold); opacity: .75; }
.hairline { height: 1px; background: var(--sand); }

/* ---------- Type helpers ---------- */
.eyebrow {
	font-family: var(--f-sans); font-weight: 700; color: var(--gold);
	font-size: clamp(16px, 1.15vw, 22px); letter-spacing: .32em; text-transform: uppercase;
}
.eyebrow--sm { font-size: 13px; letter-spacing: .2em; }
.kicker { display: inline-block; font-size: clamp(14px, .9vw, 17px); font-weight: 700; color: var(--gold); }
.kicker--plain { font-weight: 400; }
.display { margin-top: clamp(14px, 1.2vw, 22px); font-family: var(--f-display); font-weight: 400; line-height: .98; text-wrap: balance; }
.display:first-child { margin-top: 0; }
.display--sm { font-size: clamp(36px, 2.9vw, 56px); }
.display--md { font-size: clamp(38px, 3.15vw, 60px); }
.display--lg { font-size: clamp(40px, 3.4vw, 66px); }
.display--xl { font-size: clamp(44px, 3.9vw, 78px); }
.display--xxl { font-size: clamp(52px, 5vw, 96px); }
.rule { display: block; width: clamp(48px, 3.3vw, 64px); height: 2px; background: var(--gold); margin: clamp(20px, 1.6vw, 32px) 0; }
.rule--center { margin-left: auto; margin-right: auto; }
.rule--short { width: 40px; margin: 16px auto; }
.prose { display: flex; flex-direction: column; gap: 14px; font-size: clamp(16px, 1vw, 19px); line-height: 1.6; text-wrap: pretty; }
.lead { font-family: var(--f-serif); font-style: italic; font-size: clamp(19px, 1.15vw, 22px); line-height: 1.4; }
.lead + .prose { margin-top: 14px; }
.lead--soft { font-size: clamp(19px, 1.25vw, 24px); line-height: 1.45; color: #EDE8DC; }
.subhead { font-family: var(--f-display); font-size: clamp(24px, 1.75vw, 34px); line-height: 1.15; }
.gold-quote { margin-top: clamp(20px, 1.6vw, 30px); font-family: var(--f-serif); font-style: italic; font-size: clamp(20px, 1.3vw, 25px); line-height: 1.4; color: var(--gold); }
.closing-line { margin-top: clamp(20px, 1.6vw, 30px); font-family: var(--f-display); font-size: clamp(24px, 1.7vw, 32px); line-height: 1.2; color: var(--gold); }
.section-title { font-family: var(--f-display); font-weight: 400; line-height: 1; color: var(--gold); font-size: clamp(40px, 3.15vw, 60px); text-wrap: balance; text-align: center; }
.text-link { background: none; border: 0; padding: 0; font-size: 15px; color: var(--gold); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.text-link:hover { color: var(--gold-2); }

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 40px; border: 0; border-radius: 0;
	background: var(--gold); color: var(--white);
	font-family: var(--f-sans); font-weight: 700; text-transform: uppercase; line-height: 1.2; text-align: center;
	font-size: clamp(13px, .78vw, 15px);
	padding: clamp(8px, .6vw, 12px) clamp(14px, 1.1vw, 21px);
	transition: background-color .15s, color .15s, border-color .15s;
}
.btn:hover, .btn:focus-visible { background: var(--gold-2); color: var(--white); }
.btn--sm { font-size: clamp(13px, .75vw, 14px); letter-spacing: .04em; padding: 12px clamp(16px, 1.6vw, 31px); }
.btn--lg { font-size: clamp(13px, .95vw, 18px); padding: clamp(10px, 1vw, 19px) clamp(14px, 1.2vw, 26px); letter-spacing: .04em; }
.btn--olive { background: var(--olive); }
.btn--olive:hover, .btn--olive:focus-visible { background: var(--olive-2); }
.btn--outline { background: transparent; border: 2px solid var(--gold); color: var(--gold); font-weight: 400; padding: clamp(6px, .5vw, 10px) clamp(10px, 1vw, 18px); }
.btn--outline:hover, .btn--outline:focus-visible { background: var(--gold); color: var(--black); }
.btn--ghost-light { background: transparent; border: 2px solid var(--white); color: var(--white); font-weight: 400; }
.btn--ghost-light:hover, .btn--ghost-light:focus-visible { background: transparent; border-color: var(--gold); color: var(--gold); }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: clamp(24px, 2vw, 38px); }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 40; background: var(--black); color: var(--white); }
.admin-bar .site-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .site-header { top: 32px; } }
.site-header__bar {
	max-width: var(--max); margin: 0 auto; height: var(--header-h);
	padding: 0 clamp(16px, 6.25vw, 120px);
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
}
.site-logo { flex: none; }
.site-logo img { height: clamp(64px, 4.2vw, 82px); width: auto; }

.menu-toggle { background: transparent; border: 0; padding: 10px; color: var(--white); }
.menu-toggle__bars { display: flex; flex-direction: column; gap: 6px; }
.menu-toggle__bars span { display: block; width: 26px; height: 2px; background: currentColor; transition: transform .2s, opacity .2s; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

.chev { display: inline-block; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
[aria-expanded="true"] > .chev { transform: translateY(3px) rotate(-135deg); }

/* Mobile/tablet: slide-down panel */
.site-nav {
	display: none;
	position: absolute; left: 0; right: 0; top: 100%;
	max-height: calc(100vh - var(--header-h)); overflow-y: auto;
	background: var(--black); border-top: 1px solid var(--line-dark);
	padding: 12px 24px 28px;
}
.site-nav.is-open { display: block; }
.main-nav__list { display: flex; flex-direction: column; font-size: 17px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.main-nav__list > li > a,
.main-nav__toggle { display: flex; width: 100%; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line-dark); }
.main-nav__toggle { background: transparent; border: 0; border-bottom: 1px solid var(--line-dark); color: var(--white); font: inherit; letter-spacing: inherit; text-transform: uppercase; text-align: left; }
.main-nav__list .current-menu-item > a { color: var(--gold); }
.submenu { display: none; flex-direction: column; padding: 6px 0 10px 16px; border-bottom: 1px solid var(--line-dark); text-transform: none; letter-spacing: 0; font-weight: 400; }
.has-sub.is-open .submenu { display: flex; }
.submenu__link { display: flex; align-items: center; gap: 14px; padding: 10px 0; font-size: 16px; color: #E8E3D8; }
.submenu__icon { width: 30px; height: 30px; object-fit: contain; flex: none; }
.submenu__all { padding: 12px 0 4px; font-size: 14px; color: var(--gold); text-transform: uppercase; letter-spacing: .06em; }
.header-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.header-ctas .btn { font-size: 15px; padding: 14px 22px; letter-spacing: .04em; }

@media (min-width: 1100px) {
	.menu-toggle { display: none; }
	.site-nav {
		display: flex; position: static; flex: 1; align-items: center; justify-content: space-between; gap: 24px;
		max-height: none; overflow: visible; background: none; border: 0; padding: 0;
	}
	.main-nav { margin: 0 auto; }
	.main-nav__list { flex-direction: row; align-items: center; gap: clamp(16px, 1.6vw, 40px); font-size: clamp(13px, .8vw, 16px); letter-spacing: .08em; white-space: nowrap; }
	.main-nav__list > li { position: relative; display: flex; align-items: center; height: var(--header-h); }
	.main-nav__list > li > a, .main-nav__toggle { width: auto; padding: 0; border: 0; gap: 10px; }
	.main-nav__toggle:hover { color: var(--gold); }
	.submenu {
		position: absolute; top: 100%; left: -24px; min-width: 300px;
		background: var(--black); border: 0; border-top: 2px solid var(--gold);
		padding: 10px 0 14px; box-shadow: 0 18px 40px rgba(0, 0, 0, .35);
	}
	.has-sub:hover .submenu, .has-sub:focus-within .submenu, .has-sub.is-open .submenu { display: flex; }
	.submenu__link { gap: 16px; padding: 12px 24px; color: var(--white); }
	.submenu__link:hover { background: var(--ink); color: var(--gold); }
	.submenu__icon { width: 34px; height: 34px; }
	.submenu__all { margin: 8px 24px 0; padding: 14px 0 0; border-top: 1px solid var(--line-dark); }
	.header-ctas { flex: none; flex-wrap: nowrap; gap: 14px; margin: 0; }
	.header-ctas .btn { font-size: clamp(13px, .75vw, 14px); padding: 12px clamp(16px, 1.6vw, 31px); }
	.header-ctas .btn--olive { padding: 12px clamp(16px, 1.1vw, 20px); }
}

/* ---------- Footer ---------- */
.site-footer { max-width: var(--max); margin: 0 auto; padding: 0 var(--gx) clamp(32px, 3.6vw, 70px); }
.site-footer::before { content: ""; display: block; height: 2px; background: var(--black); margin-bottom: 60px; }
.site-footer__top { display: flex; flex-direction: column; gap: 56px; }
.site-footer__logo { align-self: center; }
.site-footer__logo img { width: 228px; height: auto; }
.site-footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 56px 24px; }
.footer-col { display: flex; flex-direction: column; font-size: clamp(15px, .95vw, 18px); letter-spacing: .04em; line-height: 1.55; }
.footer-col__title { margin-bottom: 22px; text-transform: uppercase; }
.footer-col__list { display: flex; flex-direction: column; gap: 6px; }
.site-footer__bottom { display: flex; flex-direction: column-reverse; align-items: center; gap: 22px; margin-top: 64px; text-align: center; }
.site-footer__copy { font-family: 'Montserrat', sans-serif; font-size: clamp(14px, .9vw, 17px); }
.social { display: flex; align-items: center; gap: clamp(14px, 1.1vw, 22px); }
.social a { display: block; padding: 4px; }
.social svg { width: clamp(16px, 1.15vw, 22px); height: auto; }

@media (min-width: 768px) {
	.site-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (min-width: 1100px) {
	.site-footer::before { display: none; }
	.site-footer__top { flex-direction: row; justify-content: space-between; align-items: flex-start; gap: 40px; }
	.site-footer__logo { align-self: flex-start; margin-top: 4px; }
	.site-footer__logo img { width: clamp(180px, 12vw, 232px); }
	.site-footer__cols { grid-template-columns: 120px 120px 170px 190px; gap: clamp(40px, 6vw, 110px); margin-right: clamp(0px, 4.8vw, 96px); }
	.site-footer__bottom { flex-direction: row; justify-content: space-between; margin-top: clamp(40px, 3.5vw, 66px); text-align: left; gap: 24px; }
}

/* ---------- Split layouts (image + text) ---------- */
.split { display: grid; grid-template-columns: 1fr; align-items: stretch; }
.split--ink { background: var(--ink); color: var(--white); }
.split--army { background: var(--army); color: var(--white); }
.split__media { position: relative; overflow: hidden; min-height: clamp(300px, 34vw, 640px); background: #2A2A26; }
.split__media > img:first-child { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.split__media--tall { min-height: clamp(320px, 32vw, 620px); }
.split__body { display: flex; align-items: center; padding: clamp(56px, 5.5vw, 104px) var(--gx); }
.split__copy { display: flex; flex-direction: column; max-width: 600px; }
.split__copy--wide { max-width: 640px; }
.split__btn { align-self: flex-start; margin-top: clamp(24px, 2vw, 38px); }
@media (min-width: 1040px) {
	.split { grid-template-columns: 1fr 1fr; }
	.split__body--start { padding-right: clamp(24px, 4.4vw, 85px); }
	.split__body--end { padding-left: clamp(24px, 4.4vw, 85px); }
}

/* ---------- Home ---------- */
.home-hero__media { min-height: clamp(275px, 40vw, 766px); background: var(--ink-2); }
.home-hero__media img { object-position: 60% 35%; }
.home-hero__body { padding: clamp(28px, 4vw, 80px) clamp(24px, 4.4vw, 85px) clamp(44px, 4vw, 80px); justify-content: flex-start; }
.home-hero__copy { max-width: 500px; display: flex; flex-direction: column; }
.home-hero__title { margin-top: clamp(12px, 1.2vw, 22px); font-family: var(--f-display); font-size: clamp(40px, 2.95vw, 57px); line-height: .92; }
.home-hero__text { font-size: clamp(16px, 1vw, 19px); line-height: 1.6; }
.home-hero__btn { align-self: flex-start; margin-top: clamp(18px, 2vw, 38px); }
.story-meta { margin-top: 20px; display: flex; gap: 10px; font-size: 14px; color: #B9B4A6; }
@media (min-width: 1040px) { .split.home-hero, .story-hero { grid-template-columns: 1fr; } }
@media (min-width: 1200px) { .split.home-hero, .story-hero { grid-template-columns: 1fr 1fr; } }

.home-cats { padding: clamp(48px, 3.6vw, 68px) clamp(24px, 6.4vw, 123px) 0; display: flex; flex-direction: column; align-items: center; gap: clamp(24px, 2.9vw, 56px); }
.tiles { width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(4px, 1.1vw, 21px); }
.tile {
	flex: 1 1 140px; max-width: calc(50% - 2px);
	background: var(--ink); color: var(--white);
	height: clamp(136px, 12.1vw, 232px);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: clamp(10px, 1vw, 18px); padding: 12px; text-align: center;
	transition: background-color .15s;
}
.tile:hover { background: var(--ink-2); color: var(--white); }
.tile__icon { height: clamp(64px, 4.9vw, 94px); width: auto; }
.tile__label { font-size: clamp(14px, 1.15vw, 23px); line-height: 1.2; }
@media (min-width: 768px) { .tiles--cats .tile { max-width: none; } }

.home-featured { padding: clamp(48px, 4.7vw, 90px) clamp(24px, 6.35vw, 122px) 0; display: flex; flex-direction: column; gap: clamp(24px, 2.3vw, 44px); }
.home-featured__all { align-self: center; margin-top: clamp(16px, 2.6vw, 50px); }
@media (min-width: 768px) { .section-title--start { text-align: left; } }

.story-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(40px, 4.2vw, 80px) 27px; }
.story-card__link { display: flex; flex-direction: column; height: 100%; }
.story-card__link:hover { color: var(--black); }
.story-card__media { aspect-ratio: 400 / 275; overflow: hidden; background: #EEE; }
.story-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.story-card__link:hover .story-card__media img { transform: scale(1.03); }
.story-card__cat { margin-top: clamp(20px, 1.5vw, 28px); font-family: var(--f-serif); font-weight: 700; font-size: clamp(17px, 1vw, 19px); color: var(--gold); }
.story-card__title { margin-top: 2px; font-family: var(--f-display); font-size: clamp(28px, 1.6vw, 31px); line-height: 1.15; }
.story-card__excerpt { margin-top: clamp(4px, .6vw, 12px); font-size: clamp(16px, .9vw, 17px); line-height: 1.2; max-width: 300px; }
.story-card__more { margin-top: clamp(16px, 1.6vw, 30px); font-size: clamp(16px, 1vw, 19px); color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }

.manifesto { padding: clamp(56px, 6.5vw, 124px) clamp(24px, 10.8vw, 208px) clamp(24px, 4.5vw, 86px); }
.manifesto__box { max-width: 1504px; margin: 0 auto; border: 2px solid var(--gold); padding: 48px clamp(24px, 7vw, 134px) clamp(28px, 2.1vw, 40px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.manifesto__mark { height: clamp(44px, 3.2vw, 60px); width: auto; }
.manifesto__quote { margin-top: clamp(28px, 2.8vw, 52px); font-family: var(--f-serif); font-style: italic; font-size: clamp(27px, 1.9vw, 36px); line-height: 1.12; text-wrap: balance; }
.manifesto__emblem { margin-top: clamp(20px, 1.6vw, 30px); height: clamp(56px, 3.7vw, 70px); width: auto; }
.manifesto__sig { margin-top: 12px; font-family: var(--f-serif); font-weight: 700; font-size: clamp(20px, 1.1vw, 21px); color: var(--gold); letter-spacing: .02em; }

.whose { background: var(--army); color: var(--white); }
.whose__inner { max-width: var(--max); margin: 0 auto; padding: clamp(24px, 2.4vw, 46px) clamp(24px, 12vw, 230px) 56px; display: flex; flex-wrap: wrap; align-items: center; gap: clamp(24px, 4vw, 76px); }
.whose__badge { width: clamp(162px, 14.6vw, 280px); height: auto; flex: none; }
.whose__body { flex: 1 1 360px; display: flex; flex-direction: column; }
.whose__title { font-family: var(--f-display); font-size: clamp(36px, 2.55vw, 49px); line-height: 1; }
.whose__text { margin-top: 14px; font-size: 17px; line-height: 1.2; }
.whose__actions { margin-top: clamp(16px, 2.1vw, 40px); display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.path-btn { flex: 0 0 100%; max-width: max-content; border: 2px solid var(--white); background: transparent; color: var(--white); font-size: 13px; padding: 10px 6px; line-height: 1.2; transition: background-color .15s, color .15s; }
.path-btn:hover { color: var(--white); border-color: var(--gold); }
.path-btn[aria-pressed="true"] { background: var(--white); color: var(--army); border-color: var(--white); }
.whose__start { flex: 0 0 100%; max-width: max-content; margin-top: 8px; font-size: 14px; padding: 9px 13px; }
@media (min-width: 768px) {
	.whose__actions { gap: clamp(14px, .75vw, 15px); }
	.path-btn { flex: none; max-width: none; font-size: clamp(13px, .85vw, 16px); padding: clamp(10px, .9vw, 17px) clamp(12px, 1vw, 18px); }
	.whose__start { flex: none; max-width: none; margin-top: 0; font-size: clamp(13px, .75vw, 14px); padding: clamp(10px, 1vw, 19px) clamp(12px, 1.1vw, 21px); }
}

.home-resources { padding: clamp(40px, 5.8vw, 112px) var(--gx) 0; display: flex; flex-direction: column; gap: clamp(24px, 2.4vw, 46px); }
.home-resources__grid { display: flex; flex-wrap: wrap-reverse; gap: clamp(4px, 1.15vw, 22px); }
.tiles--res { flex: 1 1 560px; align-content: flex-start; gap: clamp(4px, 1.15vw, 22px); }
.tile--res { flex: 1 1 40%; height: auto; min-height: clamp(136px, 9.7vw, 186px); gap: clamp(8px, .6vw, 12px); padding: 16px; }
.tile--res .tile__icon { height: clamp(40px, 3.3vw, 64px); }
.tile--res .tile__label { font-size: 14px; line-height: 1.15; max-width: 120px; }
@media (min-width: 768px) { .tile--res .tile__label { font-size: clamp(15px, 1.25vw, 24px); max-width: none; } }
.letters-promo { flex: 1 1 520px; background: var(--ink); color: var(--white); padding: clamp(24px, 2.7vw, 52px); display: flex; flex-direction: column; }
.letters-promo__media { aspect-ratio: 702 / 250; overflow: hidden; background: var(--ink-2); }
.letters-promo__media img { width: 100%; height: 100%; object-fit: cover; }
.letters-promo__title { margin-top: clamp(14px, 1.4vw, 26px); font-family: var(--f-display); font-size: clamp(22px, 1.75vw, 34px); line-height: 1.1; color: var(--gold); }
.letters-promo__text { margin-top: clamp(6px, .5vw, 10px); font-size: clamp(15px, 1.15vw, 22px); line-height: 1.3; max-width: 600px; }
.letters-promo__btn { align-self: flex-start; margin-top: clamp(14px, 2.6vw, 50px); font-size: clamp(14px, .8vw, 15px); }
.home-resources .gold-line { margin-top: clamp(36px, 3.3vw, 64px); }

.brand { padding: clamp(24px, 3.1vw, 60px) var(--gx) clamp(48px, 5.3vw, 102px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); gap: clamp(36px, 4.4vw, 85px); align-items: center; }
.brand__media { aspect-ratio: 886 / 589; overflow: hidden; background: #EEE; }
.brand__media img { width: 100%; height: 100%; object-fit: cover; }
.brand__body { display: flex; flex-direction: column; max-width: 570px; }
.brand__title { margin-top: clamp(10px, 1.2vw, 22px); font-family: var(--f-display); font-size: clamp(36px, 2.75vw, 53px); line-height: .93; }
.brand .rule { margin: clamp(18px, 1.9vw, 36px) 0; }
.brand__text { font-size: clamp(16px, 1.1vw, 21px); line-height: 1.45; }
.brand__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: clamp(28px, 2vw, 38px); }

.dispatch { background: var(--ink); color: var(--white); }
.dispatch__inner { padding: 36px 24px 70px; display: flex; flex-direction: column; align-items: center; gap: 40px; text-align: center; }
.dispatch__intro { display: flex; flex-direction: column; align-items: center; gap: 26px; }
.dispatch__torch { height: clamp(108px, 9.2vw, 176px); width: auto; flex: none; }
.dispatch__copy { display: flex; flex-direction: column; gap: clamp(8px, .6vw, 12px); }
.dispatch__title { font-family: var(--f-display); font-size: clamp(36px, 2.75vw, 53px); line-height: .95; }
.dispatch__text { font-size: clamp(17px, 1.05vw, 20px); }
.dispatch__form-wrap { flex: 0 1 490px; width: 100%; }
.dispatch__form { display: flex; flex-wrap: wrap; gap: 12px; }
.dispatch__input { flex: 1; min-width: 0; background: transparent; border: 2px solid #5A5A52; border-radius: 0; color: var(--white); font-size: clamp(14px, .85vw, 16px); padding: clamp(8px, .5vw, 10px) clamp(16px, 1.2vw, 22px); outline: 0; }
.dispatch__input:focus { border-color: var(--gold); }
.dispatch__submit { font-size: clamp(14px, .85vw, 16px); padding: clamp(10px, .6vw, 12px) clamp(18px, 1.3vw, 24px); }
.dispatch__thanks { font-family: var(--f-display); font-size: 26px; color: var(--gold); }
.dispatch .form-error { flex-basis: 100%; text-align: left; color: #E8A79E; }
@media (min-width: 768px) {
	.dispatch__inner { max-width: var(--max); margin: 0 auto; padding: clamp(48px, 4.6vw, 88px) clamp(24px, 15vw, 290px) clamp(48px, 4.5vw, 86px); flex-direction: row; flex-wrap: wrap; justify-content: space-between; text-align: left; }
	.dispatch__intro { flex-direction: row; align-items: flex-start; gap: clamp(24px, 2.7vw, 52px); }
	.dispatch__copy { padding-top: clamp(0px, 2vw, 36px); }
}

.tagline { padding: clamp(48px, 3.9vw, 76px) 24px clamp(64px, 4.4vw, 84px); text-align: center; }
.tagline__text { font-family: var(--f-display); font-size: clamp(32px, 2.5vw, 48px); line-height: 1; text-wrap: balance; }

/* ---------- About ---------- */
.about-intro { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: clamp(36px, 4.4vw, 85px); align-items: center; }
.about-intro__media { position: relative; aspect-ratio: 4 / 4.2; background: var(--ink); overflow: hidden; display: grid; place-items: center; }
.about-intro__media > img:not(.about-intro__badge) { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.about-intro__badge { width: 46%; opacity: .9; }
.about-intro__body { max-width: 660px; display: flex; flex-direction: column; }
.about-intro .display { font-size: clamp(38px, 2.95vw, 57px); }
.about-intro .prose { font-size: clamp(16px, .95vw, 18px); gap: 16px; }

.pillars { background: var(--ink); color: var(--white); }
.pillars__inner { max-width: var(--max); margin: 0 auto; padding: clamp(40px, 3.6vw, 68px) var(--gx); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); }
.pillar { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding: 16px 24px; border-right: 1px solid #3A3A30; }
.pillar__icon { height: clamp(52px, 3.6vw, 68px); width: auto; }
.pillar__name { font-weight: 700; font-size: clamp(14px, .85vw, 16px); letter-spacing: .28em; color: var(--gold); }
.pillar__text { font-size: clamp(15px, .9vw, 17px); line-height: 1.45; max-width: 240px; }
@media (max-width: 767px) { .pillar { border-right: 0; border-bottom: 1px solid #3A3A30; padding: 24px; } .pillar:last-child { border-bottom: 0; } }

.person { display: flex; flex-wrap: wrap; gap: clamp(28px, 4.4vw, 85px); align-items: flex-start; }
.person--editor { padding-bottom: clamp(48px, 4.2vw, 80px); }
.person--founder { padding-top: clamp(48px, 4.2vw, 80px); padding-bottom: clamp(64px, 6.3vw, 120px); flex-wrap: wrap-reverse; align-items: flex-end; justify-content: space-between; }
.person__media { flex: 0 1 clamp(220px, 17vw, 320px); width: clamp(220px, 17vw, 320px); max-width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: #EEE; }
.person--founder .person__media { flex-basis: clamp(260px, 21vw, 400px); width: clamp(260px, 21vw, 400px); }
.person__media img { width: 100%; height: 100%; object-fit: cover; }
.person__body { flex: 1 1 480px; max-width: 860px; display: flex; flex-direction: column; }
.person--founder .person__body { max-width: 900px; }
.person--editor .display { font-size: clamp(34px, 2.6vw, 50px); }
.person--editor .prose { font-size: clamp(16px, .95vw, 18px); line-height: 1.65; }
.person--founder .prose { line-height: 1.65; }
.signature { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 6px 16px; align-items: baseline; }
.signature__name { font-family: var(--f-display); font-size: clamp(20px, 1.25vw, 24px); }
.signature__role { font-size: clamp(14px, .85vw, 16px); color: var(--muted); }

/* Image + text overlay bands (About "Started With a Watch", Resources "Final Word") */
.overlay { position: relative; overflow: hidden; background: var(--ink); color: var(--white); }
.overlay__media { aspect-ratio: 16 / 10; background: #000; }
.overlay__media img { width: 100%; height: 100%; object-fit: cover; }
.overlay__inner { position: relative; max-width: var(--max); margin: 0 auto; padding: clamp(48px, 6.3vw, 120px) var(--gx) clamp(64px, 6.3vw, 120px); }
.overlay__copy { max-width: 620px; display: flex; flex-direction: column; }
.overlay__btn { align-self: flex-start; margin-top: clamp(24px, 2vw, 38px); }
.overlay--watch .display { font-size: clamp(40px, 3.4vw, 66px); }
.overlay--final .overlay__media img { object-position: 60% 40%; }
@media (min-width: 768px) {
	.overlay__media { position: absolute; inset: 0 0 0 38%; aspect-ratio: auto; }
	.overlay::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, var(--ink) 0%, var(--ink) 38%, rgba(26, 26, 20, .55) 62%, rgba(26, 26, 20, .15) 100%); }
	.overlay__inner { z-index: 1; padding-top: clamp(64px, 6.3vw, 120px); }
	.overlay--final .overlay__media { inset: 0 0 0 50%; }
	.overlay--final::after { background: linear-gradient(90deg, var(--ink) 0%, var(--ink) 50%, rgba(26, 26, 20, 0) 56%); }
	.overlay--final .overlay__copy { max-width: min(560px, 46vw); min-width: min(100%, 320px); }
}

.next-chapter__media { min-height: clamp(340px, 30vw, 580px); }
.next-chapter__media > img:first-child { object-position: 40% 40%; }
.polaroid { position: absolute; right: clamp(14px, 3vw, 56px); bottom: clamp(14px, 2.6vw, 48px); width: clamp(150px, 15vw, 290px); background: #F5F1EA; padding: clamp(6px, .5vw, 10px); transform: rotate(-3deg); box-shadow: 0 12px 32px rgba(0, 0, 0, .4); }
.polaroid img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.next-chapter .split__body { padding: clamp(48px, 5vw, 96px) var(--gx); }
.next-chapter .split__copy { max-width: 620px; }
.next-chapter .prose { margin-top: 14px; }
@media (min-width: 920px) { .next-chapter { grid-template-columns: 1fr 1fr; } }

/* ---------- Veteran Resources ---------- */
.vr-hero .split__body { padding: clamp(56px, 5.5vw, 104px) clamp(24px, 4.4vw, 85px) clamp(56px, 5.5vw, 104px) var(--gx); }
.vr-hero .split__copy { max-width: 560px; }
.vr-hero__text { font-size: clamp(17px, 1.1vw, 21px); line-height: 1.5; max-width: 420px; }
.vr-hero__media { min-height: clamp(300px, 34vw, 640px); }
@media (min-width: 1100px) { .vr-hero__media::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 18%; background: linear-gradient(90deg, #FFFFFF, rgba(255, 255, 255, 0)); pointer-events: none; } }
@media (max-width: 1039px) { .vr-hero .split__body { order: 2; } }

.orgs { display: flex; flex-direction: column; gap: clamp(28px, 2.6vw, 50px); }
.orgs__head { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: 20px clamp(28px, 4.4vw, 85px); align-items: end; }
.orgs__intro { font-size: clamp(16px, 1vw, 19px); line-height: 1.6; max-width: 620px; }
.orgs__filters { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 2px solid var(--gold); padding-top: 18px; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
	display: inline-flex; align-items: center; gap: 10px; min-height: 40px;
	padding: 8px 14px; border: 1px solid var(--ink); background: var(--ink); color: var(--white);
	font-size: 14px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2;
	transition: background-color .15s, border-color .15s;
}
.chip:hover { color: var(--white); background: var(--ink-2); }
.chip.is-active { background: var(--gold); border-color: var(--gold); }
.chip__icon { height: 22px; width: auto; }
.orgs__empty { border: 1px solid var(--line); padding: clamp(28px, 3vw, 56px); font-family: var(--f-serif); font-style: italic; font-size: clamp(18px, 1.1vw, 21px); }
.org-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(20px, 1.4vw, 27px); }
.org-card { display: flex; flex-direction: column; border: 1px solid var(--line); background: var(--white); }
.org-card__media { aspect-ratio: 16 / 7; overflow: hidden; background: var(--ink); }
.org-card__media img { width: 100%; height: 100%; object-fit: cover; }
.org-card__body { padding: clamp(18px, 1.3vw, 26px); display: flex; flex-direction: column; gap: 8px; flex: 1; }
.org-card__title { font-family: var(--f-display); font-size: clamp(24px, 1.5vw, 29px); line-height: 1.1; }
.org-card__desc { font-size: clamp(15px, .9vw, 17px); line-height: 1.4; }
.org-card__more summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; padding: 4px 0; font-weight: 700; font-size: clamp(13px, .78vw, 15px); letter-spacing: .06em; text-transform: uppercase; color: var(--gold); cursor: pointer; }
.org-card__more summary::-webkit-details-marker { display: none; }
.org-card__more .when-open, .org-card__more[open] .when-closed { display: none; }
.org-card__more[open] .when-open { display: inline; }
.org-card__more p { margin-top: 8px; padding: 12px 0 2px; border-top: 1px solid var(--line); font-size: clamp(14px, .85vw, 16px); line-height: 1.55; color: #4A4940; }
.org-card__logo { margin-top: auto; padding-top: 18px; height: 96px; display: flex; align-items: flex-end; justify-content: center; }
.org-card__logo img { max-height: 72px; max-width: 80%; width: auto; object-fit: contain; mix-blend-mode: multiply; }
.org-card__btn { margin-top: 18px; padding: 12px 18px; letter-spacing: .04em; }

/* ---------- Paper texture ---------- */
.paper {
	background-color: var(--paper);
	background-image: var(--noise),
		radial-gradient(ellipse 38% 30% at 0% 18%, rgba(176, 146, 98, .28), transparent 70%),
		radial-gradient(ellipse 30% 26% at 100% 30%, rgba(176, 146, 98, .26), transparent 70%),
		radial-gradient(ellipse 45% 22% at 70% 50%, rgba(176, 146, 98, .16), transparent 70%),
		radial-gradient(ellipse 34% 30% at 96% 96%, rgba(176, 146, 98, .24), transparent 70%),
		radial-gradient(ellipse 60% 50% at 50% 50%, rgba(255, 252, 246, .55), transparent 80%);
}
.paper--soft {
	background-image: var(--noise),
		radial-gradient(ellipse 30% 40% at 0% 50%, rgba(176, 146, 98, .24), transparent 70%),
		radial-gradient(ellipse 30% 40% at 100% 50%, rgba(176, 146, 98, .22), transparent 70%);
}

/* ---------- Letters to Veterans ---------- */
.letters-hero__text { margin-top: clamp(14px, 1vw, 20px); font-size: clamp(16px, 1vw, 19px); line-height: 1.6; max-width: 560px; }
.letters-hero .split__media > img { object-position: 40% 40%; }
.letters-why__media > img:first-child { object-position: 50% 60%; }
.framed { position: absolute; top: clamp(16px, 2.2vw, 42px); left: clamp(16px, 2.2vw, 42px); width: clamp(150px, 18vw, 340px); height: auto; border: clamp(4px, .4vw, 8px) solid var(--white); box-shadow: 0 12px 30px rgba(0, 0, 0, .35); }
.letters-why .split__copy { max-width: 620px; }

.band--ink { background: var(--ink); color: var(--white); }
.band--army { background: var(--army); color: var(--white); }
.band__inner { max-width: var(--max); margin: 0 auto; padding: clamp(56px, 5.5vw, 104px) var(--gx); }
.band__inner--center { display: flex; flex-direction: column; align-items: center; text-align: center; }
.band__inner--center .rule { margin-left: auto; margin-right: auto; }
.steps { width: 100%; max-width: 1400px; margin-top: clamp(12px, 1.6vw, 30px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.step { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: clamp(24px, 2vw, 36px) clamp(20px, 2vw, 40px); }
.step__icon { width: clamp(72px, 4.6vw, 88px); height: auto; mix-blend-mode: lighten; }
.step__head { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.step__num { font-family: var(--f-display); font-size: clamp(28px, 1.9vw, 36px); line-height: 1; color: var(--gold); }
.step__title { font-family: var(--f-display); font-size: clamp(26px, 1.7vw, 32px); line-height: 1.1; text-wrap: balance; }
.step__text { font-size: clamp(16px, .95vw, 18px); line-height: 1.5; color: #D9D6CC; max-width: 300px; }
@media (min-width: 900px) { .step + .step { border-left: 1px solid #4A4436; } }

.partners { display: flex; flex-direction: column; align-items: center; text-align: center; }
.partners__head { display: flex; flex-direction: column; align-items: center; }
.partners__head .rule { margin-left: auto; margin-right: auto; }
.partners__intro { font-size: clamp(16px, 1vw, 19px); line-height: 1.6; max-width: 640px; }
.partner-grid { width: 100%; max-width: 1200px; margin-top: clamp(32px, 2.9vw, 56px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: clamp(20px, 1.4vw, 27px); }
.partner { border: 1px solid var(--line); padding: clamp(32px, 2.6vw, 50px) clamp(24px, 2vw, 40px); display: flex; flex-direction: column; align-items: center; gap: 14px; transition: border-color .15s; }
.partner:hover { border-color: var(--gold); color: var(--black); }
.partner__logo { height: clamp(64px, 4.2vw, 80px); width: auto; mix-blend-mode: multiply; }
.partner__name { margin-top: 8px; font-family: var(--f-display); font-size: clamp(26px, 1.6vw, 31px); }
.partner__text { font-size: clamp(15px, .9vw, 17px); line-height: 1.5; max-width: 420px; }
.partner__more { margin-top: 6px; font-weight: 700; font-size: clamp(13px, .78vw, 15px); letter-spacing: .06em; text-transform: uppercase; color: var(--gold); }

.guidelines__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: clamp(32px, 4.4vw, 85px); align-items: center; }
.guidelines__copy { display: flex; flex-direction: column; max-width: 620px; }
.rules-card { background: var(--white); color: var(--black); padding: clamp(28px, 2.6vw, 50px); display: flex; flex-direction: column; }
.rules-card__intro { margin-top: 12px; font-size: clamp(15px, .95vw, 18px); line-height: 1.5; }
.rules { margin-top: clamp(16px, 1.2vw, 22px); border-top: 1px solid var(--line); }
.rules li { display: flex; gap: 14px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: clamp(15px, .9vw, 17px); line-height: 1.45; }
.rules li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); flex: none; transform: translateY(-2px); }
.rules-card__mail { margin-top: clamp(22px, 1.8vw, 34px); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.rules-card__mail .text-link { font-size: 14px; }
.rules-card__address { margin-top: 12px; font-family: var(--f-display); font-size: clamp(22px, 1.45vw, 28px); line-height: 1.35; }

/* ---------- Share a Story ---------- */
.share-hero .split__media { min-height: clamp(320px, 36vw, 700px); }
.share-hero .split__media > img { object-position: 45% 60%; }
.share-hero__body { position: relative; overflow: hidden; }
.share-hero__watermark { position: absolute; top: clamp(16px, 2vw, 40px); right: clamp(-60px, -2vw, -20px); width: clamp(180px, 16vw, 300px); height: auto; opacity: .16; pointer-events: none; }
.share-hero .split__copy { position: relative; }
.share-hero .display { font-size: clamp(46px, 4.2vw, 80px); }
.share-hero .split__btn { margin-top: clamp(28px, 2.2vw, 42px); }

.carry { display: flex; flex-direction: column; align-items: center; text-align: center; }
.carry__text { font-size: clamp(16px, 1vw, 19px); line-height: 1.6; max-width: 820px; text-wrap: pretty; }
.hero-groups { width: 100%; max-width: 1500px; margin-top: clamp(36px, 3.1vw, 60px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: clamp(16px, 1.2vw, 24px); }
.hero-group { background: rgba(255, 255, 255, .45); border: 1px solid var(--sand); padding: clamp(28px, 2.3vw, 44px) clamp(18px, 1.4vw, 28px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero-group__icon { color: var(--gold); }
.hero-group__title { margin-top: 18px; font-family: var(--f-display); font-size: clamp(26px, 1.7vw, 32px); line-height: 1.1; }
.hero-group__list { display: flex; flex-direction: column; gap: 6px; font-size: clamp(15px, .9vw, 17px); line-height: 1.4; }
.hero-group__highlight { margin-top: 4px; font-family: var(--f-serif); font-style: italic; font-weight: 700; font-size: clamp(18px, 1.1vw, 21px); color: var(--gold); }

.story-form-section { display: flex; flex-direction: column; align-items: center; text-align: center; }
.story-form-section .display { text-align: center; }
.story-form-section > .rule { margin-left: auto; margin-right: auto; }
.story-form-section__intro { font-size: clamp(16px, 1vw, 19px); line-height: 1.6; max-width: 640px; }
.story-form { width: 100%; max-width: 880px; margin-top: clamp(32px, 2.9vw, 56px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px clamp(20px, 1.6vw, 30px); text-align: left; }
.field--full, .story-form__foot, .story-form__note, .form-error--block { grid-column: 1 / -1; }
.field label, .field__label { display: block; font-weight: 700; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 8px; }
.field__opt { font-weight: 400; letter-spacing: .06em; }
.req { color: var(--gold); }
.field input, .field select, .field textarea {
	width: 100%; font-size: 16px; color: var(--black); background: rgba(255, 255, 255, .7);
	border: 1px solid #C9BB9F; border-radius: 0; padding: 13px 14px; outline: none; -webkit-appearance: none; appearance: none;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(177, 138, 73, .25); }
.field textarea { resize: vertical; line-height: 1.5; min-height: 170px; }
.field select {
	cursor: pointer; padding-right: 40px;
	background-image: linear-gradient(45deg, transparent 50%, var(--black) 50%), linear-gradient(135deg, var(--black) 50%, transparent 50%);
	background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%;
	background-size: 6px 6px, 6px 6px; background-repeat: no-repeat;
}
.field.has-error input, .field.has-error select, .field.has-error textarea { border-color: var(--error); }
.field__error, .form-error { display: block; margin-top: 6px; font-size: 14px; color: var(--error); }
.form-error--block { margin: 0; padding: 12px 14px; border: 1px solid var(--error); background: rgba(158, 43, 31, .06); }
.dropzone { display: flex !important; align-items: center; gap: 16px; border: 1px dashed #B5A584; background: rgba(255, 255, 255, .45); padding: 16px 18px; cursor: pointer; margin: 0 !important; font-weight: 400 !important; letter-spacing: 0 !important; text-transform: none !important; transition: border-color .15s; }
.dropzone:hover, .dropzone.is-drag { border-color: var(--gold); }
.dropzone svg { flex: none; }
.dropzone__text { display: flex; flex-direction: column; gap: 2px; font-size: 15px; }
.dropzone__text small { font-size: 13px; color: var(--muted); }
#f-photos:focus-visible + .file-list, .visually-hidden:focus + .file-list { outline: 0; }
.file-list { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.file-list span { font-size: 14px; background: var(--white); border: 1px solid var(--sand); padding: 6px 10px; }
.story-form__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px; }
.consent { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; line-height: 1.45; max-width: 560px; cursor: pointer; }
.consent input { margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--gold); flex: none; }
.consent a { color: var(--gold); text-decoration: underline; text-underline-offset: 2px; }
.story-form .btn[disabled] { opacity: .6; cursor: progress; }
.story-form__note { font-size: 13px; color: var(--muted); }

.thanks { width: 100%; max-width: 760px; margin-top: clamp(32px, 2.9vw, 56px); background: var(--white); border: 1px solid var(--sand); padding: clamp(36px, 3.4vw, 64px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.thanks:focus { outline: 0; }
.thanks img { width: 96px; height: auto; }
.thanks .display { margin-top: 22px; font-size: clamp(32px, 2.4vw, 46px); }
.thanks .lead { font-size: clamp(18px, 1.15vw, 22px); line-height: 1.45; }
.thanks__text { margin-top: 14px; font-size: clamp(15px, .95vw, 18px); line-height: 1.6; max-width: 560px; }
.thanks__note { margin-top: 14px; font-size: 14px; color: var(--muted); }
.thanks .text-link { margin-top: 24px; }

.why-matter { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: clamp(36px, 4.4vw, 85px); align-items: center; }
.why-matter__media { aspect-ratio: 3 / 2; overflow: hidden; background: #EEE; }
.why-matter__media img { width: 100%; height: 100%; object-fit: cover; object-position: 35% 50%; }
.why-matter__body { display: flex; flex-direction: column; max-width: 660px; }
.points { margin-top: clamp(32px, 2.6vw, 50px); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 24px; }
.point { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; font-weight: 700; font-size: 13px; letter-spacing: .14em; line-height: 1.45; text-transform: uppercase; }
.point .icon { color: var(--gold); }

/* ---------- Story archive & single ---------- */
.archive-hero { background: var(--ink); color: var(--white); }
.archive-hero__inner { max-width: 1100px; margin: 0 auto; padding: clamp(56px, 5.5vw, 104px) var(--gx); display: flex; flex-direction: column; align-items: center; text-align: center; }
.archive-hero__icon { height: clamp(64px, 4.9vw, 94px); width: auto; margin-bottom: 18px; }
.archive-hero .display { margin-top: 14px; }
.archive-hero__desc { max-width: 720px; font-size: clamp(16px, 1vw, 19px); line-height: 1.6; color: #D9D6CC; }
.archive-hero--page { background: var(--paper); color: var(--black); }
.archive-hero--404 { min-height: 60vh; display: grid; align-items: center; }
.archive-hero--404 img { height: 70px; width: auto; margin-bottom: 18px; }
.archive-hero--404 .search-form { margin: 24px 0 18px; }
.cat-chips { max-width: var(--max); margin: 0 auto; padding: clamp(28px, 2.6vw, 50px) var(--gx) 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.archive-list { padding-top: clamp(40px, 3.6vw, 68px); }
.pagination { margin-top: clamp(48px, 4vw, 72px); display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.pagination .page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 14px; border: 1px solid var(--line); font-weight: 700; }
.pagination .current { background: var(--gold); border-color: var(--gold); color: var(--white); }
.pagination .dots { border: 0; }
.empty-state { text-align: center; font-family: var(--f-serif); font-style: italic; font-size: 20px; display: grid; gap: 24px; justify-items: center; }

.search-form { display: flex; gap: 8px; width: 100%; max-width: 480px; }
.search-form input { flex: 1; min-width: 0; border: 1px solid #C9BB9F; border-radius: 0; padding: 10px 14px; font-size: 16px; color: var(--black); background: var(--white); -webkit-appearance: none; }

.story-hero .home-hero__body { justify-content: flex-start; }
.story-hero .kicker:hover { color: var(--gold-2); }
.story-body { max-width: 760px; margin: 0 auto; padding: clamp(48px, 4.7vw, 90px) 24px 0; font-size: clamp(17px, 1.05vw, 20px); line-height: 1.7; }
.entry-content > * + * { margin-top: 1.1em; }
.entry-content h2 { margin-top: 1.6em; font-family: var(--f-display); font-size: clamp(30px, 2.2vw, 42px); line-height: 1.1; }
.entry-content h3 { margin-top: 1.4em; font-family: var(--f-display); font-size: clamp(24px, 1.6vw, 30px); line-height: 1.15; }
.entry-content h4 { margin-top: 1.4em; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: 15px; color: var(--gold); }
.entry-content a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content ul { list-style: disc; }
.entry-content ol { list-style: decimal; }
.entry-content li + li { margin-top: .4em; }
.entry-content li::marker { color: var(--gold); }
.entry-content blockquote, .entry-content .wp-block-quote { margin: 1.6em 0; padding: 4px 0 4px 24px; border-left: 2px solid var(--gold); font-family: var(--f-serif); font-style: italic; font-size: clamp(22px, 1.5vw, 28px); line-height: 1.35; }
.entry-content blockquote cite { display: block; margin-top: 12px; font-family: var(--f-sans); font-style: normal; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.entry-content .wp-block-pullquote { border-top: 2px solid var(--gold); border-bottom: 2px solid var(--gold); padding: 1.4em 0; text-align: center; }
.entry-content .wp-block-pullquote blockquote { border: 0; padding: 0; margin: 0; }
.entry-content figure { margin-left: 0; margin-right: 0; }
.entry-content img { height: auto; }
.entry-content figcaption, .entry-content .wp-element-caption { margin-top: 10px; font-size: 14px; color: var(--muted); }
.entry-content .alignwide { margin-left: calc(-1 * min(12vw, 180px)); margin-right: calc(-1 * min(12vw, 180px)); }
.entry-content .alignfull { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); max-width: 100vw; }
.entry-content hr { border: 0; height: 2px; width: 64px; background: var(--gold); margin: 2.4em auto; }
.single .story-body > p:first-of-type::first-letter { float: left; font-family: var(--f-display); font-size: 4.4em; line-height: .82; padding: 6px 12px 0 0; color: var(--gold); }
@media (max-width: 1000px) { .entry-content .alignwide { margin-left: 0; margin-right: 0; } }

.story-foot { max-width: 760px; margin: 0 auto; padding: 0 24px; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.tag-list a { display: inline-block; padding: 6px 12px; border: 1px solid var(--line); font-size: 14px; }
.share-links { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--line); display: flex; align-items: center; gap: 18px; }
.share-links .eyebrow { margin-right: auto; }
.share-links a { color: var(--black); }
.share-links a:hover { color: var(--gold); }
.related { padding-bottom: clamp(56px, 5.5vw, 104px); }
.related .section-title { margin-bottom: clamp(24px, 2.3vw, 44px); }
.story-grid--3 { grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
@media (min-width: 1100px) { .story-grid--3 { grid-template-columns: repeat(3, 1fr); } }

/* WordPress core alignment helpers */
.alignleft { float: left; margin: .3em 1.4em 1em 0; }
.alignright { float: right; margin: .3em 0 1em 1.4em; }
.aligncenter { margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
