/* =============================================================================
   CALDWELL COLLECTION · MINI DESIGN SYSTEM
   =============================================================================
   Brand materials:
     Hangar Dark    heroes, footer, acft-hero transitions  (var(--color-dark-bg))
     Cream Paper    default reading surface              (var(--color-canvas))
     Brass Accent   rules, metadata, active states ONLY  (var(--color-brass))
     Glass          sticky toolbars, info cards, badges  (.tabs, .visit-strip)
     Placard        solid fact panels (specs, fact sheet)(.acft-panel, .press-kit)
   Core tokens (existing variables below). Defaults we try to hold:
     border-radius  6–8px cards, 4px inputs, 999px pills
     shadow-sm/md   see vars below
     section space  96px desktop · 80px medium · 48px compact
     widths         wrap--narrow 720px · wrap 1100px · wide 1280px
   Status chips: STATUS_HTML in build.py (flying/restoration/display/upcoming/on-loan)
     ALL status pills should come from STATUS_HTML. Never hand-roll a pill.
   Utility classes (defined further down):
     .kicker       small brass uppercase label
     .cta-row      centered flex row of 2 actions
     .lede-display large serif display-style lead paragraph
   Page templates: see build.py docstrings (page_hero, closing, wrap, wrap--narrow).
   ============================================================================= */
:root{
  --color-canvas:#fafaf8;--color-surface:#f5f5f0;--color-cream:#EEEAD6;--color-card:#ffffff;
  --color-ink:#19181C;--color-body:#3d3d56;--color-secondary:#6b7280;--color-tertiary:#9ca3af;--color-khaki:#BBB39A;
  --color-accent:#A02014;--color-accent-hover:#8A1B11;--color-accent-light:#f5e8e6;
  --color-green:#3F7652;--color-green-dark:#1b5b3f;--color-green-light:#e8f0eb;
  --color-amber:#d97706;--color-amber-light:#fffbeb;
  --color-border:#e8e5df;--color-border-subtle:#f0ede8;
  --color-brass:#C4A265;
  --surface-raised:#f5f2e8;
  --color-dark-bg:#19181C;--color-dark-surface:#232228;--color-dark-text:#EEEAD6;
  --color-dark-secondary:#9ca3af;--color-dark-accent:#c4756c;--color-dark-khaki:#BBB39A;
  --shadow-sm:rgba(25,24,28,.08) 0 1px 3px;
  --shadow-md:rgba(25,24,28,.08) 0 4px 12px;
  --shadow-lg:rgba(25,24,28,.12) 0 8px 24px;
  --font-display:"Source Serif 4",Georgia,"Times New Roman",serif;
  --font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --max-width:1120px;--gutter:24px;
  /* Design-system spacing tokens. Use these on new work instead of raw pixel values. */
  --space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:40px;
  --space-compact:48px;--space-medium:80px;--space-desktop:96px;
  /* Content widths */
  --w-reading:720px;--w-standard:1100px;--w-wide:1280px;
  /* Glass surfaces (light/dark utility layers) */
  --glass-light:rgba(255,255,255,.55);--glass-light-bg:rgba(250,250,248,.72);
  --glass-dark:rgba(255,255,255,.08);
  --glass-border-light:rgba(25,24,28,.08);--glass-border-dark:rgba(255,255,255,.18);
  --glass-blur:blur(18px) saturate(1.1);
  /* Rule/border default */
  --color-rule:#e3dfd3;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0}
[id]{scroll-margin-top:80px}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
/* Breadcrumb — the component shipped with no CSS at all. On aircraft pages it sits
   behind the fixed nav and is never seen; the Loan page renders it in the open, where
   unstyled brass-on-cream links failed WCAG AA (2.31:1). Body-grey passes at 7:1+. */
.breadcrumb{background:var(--color-canvas);border-bottom:1px solid var(--color-border-subtle,#e3dfd3)}
.breadcrumb__inner{max-width:var(--max-width);margin:0 auto;padding:12px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;line-height:1.4}
.breadcrumb a{color:var(--color-body);text-decoration:none;border-bottom:1px solid transparent}
.breadcrumb a:hover{color:var(--color-ink);border-bottom-color:var(--color-brass)}
.breadcrumb .sep{color:var(--color-secondary);opacity:.7}
.breadcrumb .current{color:var(--color-ink);font-weight:500}
body{font-family:var(--font-body);font-size:16px;line-height:1.55;color:var(--color-body);background:var(--color-canvas);font-feature-settings:"cv01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;display:block}
a{color:var(--color-brass);text-decoration:none}
a:hover{color:var(--color-accent)}
/* Body-text context: links get a subtle brass underline for affordance */
p a,li a,figcaption a,blockquote a{text-decoration:underline;text-decoration-color:rgba(196,162,101,.5);text-underline-offset:3px;text-decoration-thickness:1px}
p a:hover,li a:hover,figcaption a:hover,blockquote a:hover{text-decoration-color:var(--color-accent)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;color:var(--color-ink);margin:0}
p{margin:0 0 1em 0}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:3px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--color-ink);color:#fff;padding:12px 16px;z-index:9999}
.skip-link:focus{left:12px;top:12px;color:#fff}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}
.wrap--narrow{max-width:820px}
.overline{font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin:0 0 20px 0;display:inline-flex;align-items:center;gap:10px}
.overline::before{content:"";display:inline-block;width:24px;height:1px;background:rgba(196,162,101,.5);flex-shrink:0}
.overline--khaki::before,.overline--dark::before{background:rgba(196,162,101,.5)}
.overline--khaki{color:var(--color-khaki);letter-spacing:2px}
.overline--dark{color:var(--color-dark-khaki)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.2px;padding:12px 24px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:all 150ms ease;text-decoration:none;line-height:1.35}
.btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent);transition:all .2s ease;transform:translateY(0);white-space:nowrap}
.nav__cta .btn{padding:10px 20px;white-space:nowrap}
.btn--primary:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(160,32,20,.3)}
.btn--ghost{background:transparent;color:var(--color-ink);border-color:var(--color-border)}
.btn--ghost:hover{background:var(--color-surface);color:var(--color-ink)}
.btn--ghost-dark{background:transparent;color:var(--color-dark-text);border-color:rgba(255,255,255,.25)}
.btn--ghost-dark:hover{background:rgba(255,255,255,.08);color:var(--color-dark-text)}
.link-cta{font-weight:500;font-size:14px;color:var(--color-accent);display:inline-flex;align-items:center;gap:4px}
.link-cta:hover{gap:8px;transition:gap 150ms ease}

/* Nav */
.nav{position:fixed;top:0;left:0;right:0;height:64px;z-index:100;background:rgba(250,250,248,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);transition:background 300ms ease,border-color 300ms ease}
.nav__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav__brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo{width:40px;height:40px;border-radius:50%;display:block;object-fit:contain;flex-shrink:0}
.footer .logo{width:56px;height:56px;margin-bottom:12px}
.nav--dark .logo{background:transparent;color:inherit}
.nav__open{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--color-green-dark);background:rgba(250,250,248,.6);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(196,162,101,.25);padding:4px 12px;border-radius:999px;white-space:nowrap}
.nav--dark .nav__open,.nav.is-scrolled .nav__open{background:rgba(25,24,28,.45);color:#9ac4a8;border:1px solid rgba(238,234,214,.12)}
.nav__links{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.nav__links a{font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--color-ink);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent;white-space:nowrap;transition:border-color 150ms ease,color 150ms ease}
.nav__links a:hover{color:var(--color-accent)}
.nav__links a[aria-current="page"]{color:var(--color-ink);font-weight:500;position:relative;border-bottom-color:transparent}
.nav__links a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--color-brass)}
.nav__cta{display:flex;align-items:center;gap:12px}
.nav__toggle{display:none;background:transparent;border:0;padding:8px;cursor:pointer;color:var(--color-ink)}
.nav__toggle svg{width:24px;height:24px}
.nav.nav--dark{background:rgba(25,24,28,.85);border-bottom-color:rgba(255,255,255,.08)}
.nav--dark .nav__links a,.nav--dark .nav__toggle{color:var(--color-dark-text)}
.nav--dark .nav__links a:hover{color:var(--color-dark-accent)}
.nav--dark .nav__links a[aria-current="page"],.nav.is-scrolled .nav__links a[aria-current="page"]{color:var(--color-dark-text);font-weight:500;border-bottom-color:transparent}
.nav--dark .nav__links a[aria-current="page"]::after,.nav.is-scrolled .nav__links a[aria-current="page"]::after{background:var(--color-brass)}
.nav--dark .logo{background:var(--color-cream);color:var(--color-ink)}
.nav--dark .nav__open{background:rgba(63,118,82,.2);color:#9ac4a8}

.mobile-menu{position:fixed;inset:64px 0 0 0;background:var(--color-canvas);z-index:90;padding:32px var(--gutter);display:none;flex-direction:column;gap:20px}
.mobile-menu.is-open{display:flex}
.mobile-menu a{font-family:var(--font-display);font-size:1.5rem;color:var(--color-ink);text-decoration:none}
.mobile-menu .btn{align-self:flex-start;margin-top:16px}

/* Sections */
section{position:relative}
.section{padding:80px 0}
.section--sm{padding:64px 0}
.section--dark{background:var(--color-dark-bg);color:var(--color-dark-text)}
.section--cream{background:var(--color-cream)}
.section--surface{background:var(--color-surface)}
.section--white{background:#fff;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.h-section{font-size:2rem;line-height:1.15;letter-spacing:-.64px;font-weight:400;margin:0 0 24px 0}
.h-sub{font-size:1.5rem;line-height:1.2;letter-spacing:-.36px;font-weight:400}
.h-page{font-size:2.625rem;line-height:1.1;letter-spacing:-1px;font-weight:300;color:var(--color-dark-text);margin:0}
.lead{font-size:1.125rem;line-height:1.55;letter-spacing:-.1px;color:var(--color-body)}
.section--dark .h-section{color:var(--color-dark-text)}
.section--dark .lead{color:var(--color-dark-secondary)}
.centered{text-align:center;max-width:680px;margin:0 auto}
.centered .lead{max-width:640px;margin:0 auto}

/* Full viewport hero (homepage) */
.hero{height:100vh;min-height:640px;overflow:hidden;background:var(--color-dark-bg);color:var(--color-dark-text)}
.hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(25,24,28,.72) 0%,rgba(25,24,28,.3) 50%,rgba(25,24,28,.17) 100%)}
.hero__inner{position:relative;height:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:18vh}
.hero__overline{color:var(--color-dark-khaki);font-size:11px;letter-spacing:.3px;text-transform:uppercase;font-weight:500;margin-bottom:20px}
.hero__title{font-family:var(--font-display);font-size:3.5rem;line-height:1.07;letter-spacing:-1.2px;font-weight:300;color:var(--color-dark-text);margin:0}
.hero__subtitle{font-family:var(--font-display);font-size:2rem;line-height:1.15;letter-spacing:-.64px;font-weight:300;color:rgba(238,234,214,.7);margin:8px 0 0 0}
.hero__tag{font-size:1.125rem;color:rgba(238,234,214,.6);margin-top:16px}
.hero__ctas{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero__scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.3px;text-transform:uppercase;color:rgba(238,234,214,.6);display:flex;flex-direction:column;align-items:center;gap:8px;transition:opacity 300ms ease}
.hero__scroll .line{width:1px;height:32px;background:rgba(238,234,214,.5);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

/* Compact interior-page hero */
.page-hero{position:relative;height:400px;background:var(--color-dark-bg);color:var(--color-dark-text);overflow:hidden;padding-top:64px}
.page-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center}
.page-hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(25,24,28,.7) 0%,rgba(25,24,28,.45) 60%,rgba(25,24,28,.25) 100%)}
.page-hero__inner{position:relative;height:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);display:flex;flex-direction:column;justify-content:center}
.page-hero__overline{font-size:11px;letter-spacing:.3px;text-transform:uppercase;font-weight:500;color:var(--color-dark-khaki);margin-bottom:16px}
.page-hero__title{font-size:2.625rem;line-height:1.1;letter-spacing:-1px;font-weight:300;color:#fff;margin:0;text-shadow:0 2px 12px rgba(0,0,0,.4)}
.page-hero__subtitle{font-size:1.125rem;color:rgba(255,255,255,.85);margin-top:12px;max-width:640px;text-shadow:0 1px 8px rgba(0,0,0,.35)}

/* Breadcrumb removed site-wide — nav + aria-current handles IA */

/* Two-col */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.two-col--55-45{grid-template-columns:55fr 45fr}
.two-col--45-55{grid-template-columns:45fr 55fr}
.two-col--65-35{grid-template-columns:65fr 35fr;align-items:flex-start}
.two-col img,.two-col .media{border-radius:8px;box-shadow:var(--shadow-md);width:100%;height:auto}
.caption{font-size:13px;color:var(--color-secondary);font-style:italic;margin-top:12px}

/* Cards (dark — homepage) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.card{background:var(--color-dark-surface);border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden;transition:transform 200ms ease,box-shadow 200ms ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.card__media{aspect-ratio:3/2;overflow:hidden;background:#2a2a34}
.card__media img{width:100%;height:100%;object-fit:cover;transition:transform 400ms ease}
.card:hover .card__media img{transform:scale(1.05)}
.card__body{padding:24px}
.card__year{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--color-khaki)}
.card__name{font-family:var(--font-display);font-size:1.5rem;line-height:1.2;letter-spacing:-.36px;font-weight:400;color:var(--color-dark-text);margin:4px 0 8px 0}
.card__desc{font-size:14px;line-height:1.5;color:var(--color-dark-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Light aircraft cards (collection + aircraft detail "related") */
.aircraft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.aircraft-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform 200ms ease,box-shadow 200ms ease;border-radius:8px}
.aircraft-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:inherit}
.aircraft-card__media{aspect-ratio:3/2;overflow:hidden;background:#d6d3cd}
.aircraft-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 300ms ease}
.aircraft-card:hover .aircraft-card__media img{transform:scale(1.03)}
.aircraft-card__body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.aircraft-card__year{font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-accent)}
.aircraft-card__name{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--color-ink);margin:4px 0 0 0;line-height:1.2}
.aircraft-card__desc{font-size:14px;color:var(--color-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.aircraft-card__badge{margin-top:auto;padding-top:8px}

/* ---------------- Design-system utility classes (use these, don't inline) -- */
.kicker{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass)}
.kicker--inline{margin-right:8px}
.cta-row{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;margin-top:32px}
.cta-row--left{justify-content:flex-start}
.lede-display{font-family:var(--font-display);font-size:clamp(19px,2vw,22px);font-weight:300;line-height:1.5;color:var(--color-ink);margin:0 0 24px 0}
/* Centered lead paragraph variants (reading widths from tokens) */
.lead--centered{color:var(--color-body);max-width:var(--w-reading);margin:0 auto}
.lead--centered-narrow{color:var(--color-body);max-width:680px;margin:0 auto}
/* Brass hairline — used above closing CTA heads, section dividers */
.brass-rule{width:48px;height:1px;background:var(--color-brass);margin-bottom:20px}

/* Status badges */
.status{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:999px;background:rgba(250,250,248,.6);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(196,162,101,.25)}
.status .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.status--flying{color:var(--color-green-dark)}
.status--flying .dot{background:var(--color-green)}
.status--restoration{color:var(--color-amber)}
.status--restoration .dot{background:var(--color-amber)}
.status--display{color:var(--color-secondary)}
.status--display .dot{background:var(--color-brass)}
.status--upcoming{color:var(--color-accent)}
.status--upcoming .dot{background:var(--color-accent)}
.status--on-loan{color:var(--color-brass);border-color:rgba(196,162,101,.4)}
.status--on-loan .dot{background:var(--color-brass)}
.section--dark .status,[data-theme="dark"] .status,.acft-hero .status{background:rgba(25,24,28,.45);border:1px solid rgba(238,234,214,.12);color:rgba(238,234,214,.85)}
.section--dark .status--flying,[data-theme="dark"] .status--flying{color:#9ac4a8}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .status{background:rgba(250,250,248,.92)}
  .section--dark .status{background:rgba(25,24,28,.88)}
}

/* Showcase (car-lineup-style hero carousel) */
.showcase{position:relative;background:var(--color-dark-bg);color:var(--color-dark-text);overflow:hidden}
.showcase__track{position:relative;min-height:500px}
.showcase__slide{position:absolute;inset:0;display:grid;grid-template-columns:65fr 35fr;opacity:0;visibility:hidden;transition:opacity .4s ease}
.showcase__slide.is-active{opacity:1;visibility:visible;position:relative}
.showcase__media{background:#000;height:500px;overflow:hidden}
.showcase__media img{width:100%;height:100%;object-fit:cover;display:block}
.showcase__body{padding:56px 48px;display:flex;flex-direction:column;justify-content:center;background:var(--color-dark-bg)}
.showcase__year{font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--color-dark-accent);margin-bottom:12px}
.showcase__name{font-family:var(--font-display);font-size:2.5rem;line-height:1.1;letter-spacing:-.8px;font-weight:300;color:var(--color-dark-text);margin:0 0 12px 0}
.showcase__tagline{font-size:16px;color:rgba(238,234,214,.7);margin:0 0 28px 0;line-height:1.5}
.showcase__specs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;padding:20px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.showcase__spec{display:flex;flex-direction:column;gap:4px}
.showcase__spec .k{font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-dark-khaki)}
.showcase__spec .v{font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--color-dark-text);line-height:1.2}
.showcase__meta{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.showcase__link{font-size:14px;font-weight:500;color:var(--color-dark-accent);display:inline-flex;align-items:center;gap:6px}
.showcase__link:hover{color:var(--color-dark-text);gap:10px;transition:gap 150ms ease}
.showcase__nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:var(--color-dark-text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 150ms ease;backdrop-filter:blur(8px)}
.showcase__nav:hover{background:rgba(255,255,255,.18)}
.showcase__nav svg{width:22px;height:22px}
.showcase__nav--prev{left:20px}
.showcase__nav--next{right:20px}
.showcase__counter{position:absolute;bottom:24px;right:32px;z-index:3;font-family:var(--font-display);font-size:14px;color:rgba(238,234,214,.7);letter-spacing:1px}
.showcase__counter .cur{color:var(--color-dark-text);font-weight:400}

@media (max-width:1024px){
  .showcase__slide{grid-template-columns:1fr}
  .showcase__media{height:340px}
  .showcase__body{padding:32px}
  .showcase__name{font-size:2rem}
  .showcase__specs{grid-template-columns:repeat(2,1fr)}
  .showcase__nav--prev{left:12px}
  .showcase__nav--next{right:12px}
}

/* Tab-style filter bar */
.tabs{background:var(--color-canvas);border-bottom:1px solid var(--color-border);position:sticky;top:64px;z-index:50}
.tabs__inner{max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter);display:flex;align-items:center;gap:0;overflow-x:auto;height:56px}
.tabs__group{display:flex;align-items:center;height:100%}
.tabs__sep{width:40px}
.tab{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-secondary);padding:0 20px;height:100%;display:inline-flex;align-items:center;background:transparent;border:0;cursor:pointer;position:relative;white-space:nowrap;border-right:1px solid var(--color-border);transition:color 150ms ease}
.tabs__group .tab:last-child{border-right:0}
.tab:hover{color:var(--color-accent)}
.tab.is-active{color:var(--color-accent)}
.tab.is-active::after{content:"";position:absolute;left:16px;right:16px;bottom:0;height:2px;background:var(--color-accent)}

/* Section divider heading */
.section-divider{max-width:var(--max-width);margin:0 auto;padding:48px var(--gutter) 0 var(--gutter)}
.section-divider::before{content:"";display:block;width:100%;height:1px;background:var(--color-border);margin-bottom:32px}
.section-divider h2{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:-.5px;color:var(--color-ink);margin:0}

/* Uniform collection card image height */
.aircraft-grid .aircraft-card__media{aspect-ratio:auto;height:250px}

/* Filter pills */
.filter-bar{background:var(--color-canvas);border-bottom:1px solid var(--color-border);position:sticky;top:64px;z-index:50}
.filter-bar__inner{max-width:var(--max-width);margin:0 auto;padding:12px var(--gutter);display:flex;gap:8px;flex-wrap:wrap;align-items:center;overflow-x:auto}
.filter-label{font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;color:var(--color-tertiary);margin-right:4px}
.pill{font-family:var(--font-body);font-size:13px;font-weight:500;padding:6px 16px;border-radius:20px;border:1px solid var(--color-border);background:transparent;color:var(--color-secondary);cursor:pointer;white-space:nowrap;transition:all 150ms ease}
.pill:hover{border-color:var(--color-accent);color:var(--color-accent)}
.pill.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}

/* Restoration mini-timeline (homepage workshop section) */
.restore-tl{position:relative;padding-left:88px}
.restore-tl__stage{position:relative;padding:14px 0 14px 0;min-height:76px}
.restore-tl__stage + .restore-tl__stage::before{content:"";position:absolute;left:-58px;top:-8px;bottom:auto;height:calc(100% - 60px);width:1px;background:rgba(196,162,101,.4)}
.restore-tl__thumb{position:absolute;left:-88px;top:14px;width:60px;height:60px;border-radius:50%;overflow:hidden;border:2px solid rgba(196,162,101,.5);background:#1a1a1a}
.restore-tl__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.restore-tl__stage--active .restore-tl__thumb::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--color-brass);animation:restorePulse 2s ease-in-out infinite}
@keyframes restorePulse{0%,100%{opacity:.8;transform:scale(1)}50%{opacity:.3;transform:scale(1.15)}}
.restore-tl__name{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:4px}
.restore-tl__text{font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-body);margin:0}
@media (max-width:768px){.restore-tl{padding-left:76px}.restore-tl__thumb{left:-76px;width:52px;height:52px}}

/* Filmstrip (auto-advance crossfade carousel) */
.strip{position:relative;width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-md);background:#19181C}
.strip__frame{position:absolute;inset:0;opacity:0;transition:opacity 800ms ease;will-change:opacity}
.strip__frame.is-active{opacity:1}
.strip__frame img{width:100%;height:100%;object-fit:cover;display:block}
.strip__caption{position:absolute;left:16px;bottom:48px;padding:6px 12px;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;background:rgba(25,24,28,.8);color:#fff;border-radius:4px;backdrop-filter:blur(6px)}
.strip__dots{position:absolute;left:0;right:0;bottom:16px;display:flex;justify-content:center;gap:8px}
.strip__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);border:0;padding:0;cursor:pointer;transition:background 200ms ease,width 200ms ease}
.strip__dot.is-active{background:#fff;width:24px;border-radius:4px}
.strip__dot:hover{background:rgba(255,255,255,.7)}

/* Before/After slider */
.ba{position:relative;width:100%;aspect-ratio:16/7;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lg);user-select:none;touch-action:none;cursor:ew-resize;background:#000}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.ba__after{clip-path:inset(0 0 0 50%)}
.ba--animate .ba__after,.ba--animate .ba__divider,.ba--animate .ba__handle{transition:clip-path 1s ease-out,left 1s ease-out}
.ba__label{position:absolute;top:16px;padding:4px 14px;font-family:var(--font-display);font-size:14px;color:#fff;background:rgba(0,0,0,.5);border-radius:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;z-index:3}
.ba__label--before{left:16px}
.ba__label--after{right:16px}
.ba__divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 12px rgba(0,0,0,.4);pointer-events:none;z-index:2}
.ba__handle{position:absolute;top:50%;left:50%;width:48px;height:48px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:3;cursor:ew-resize}
.ba__handle svg{width:22px;height:22px;color:var(--color-ink)}
.ba__caption{font-family:var(--font-display);font-style:italic;color:#6b6b6b;font-size:18px;text-align:center;margin-top:24px}
@media (max-width:768px){.ba{aspect-ratio:4/3}}
@media (prefers-reduced-motion: reduce){.ba--animate .ba__after,.ba--animate .ba__divider,.ba--animate .ba__handle{transition:none}}

/* Media wrap / floating badge */
.media-wrap{position:relative}
.badge-float{position:absolute;right:16px;bottom:16px;background:rgba(25,24,28,.85);color:#fff;font-size:12px;padding:6px 14px;border-radius:20px;display:inline-flex;align-items:center;gap:8px}
.badge-float .dot{width:8px;height:8px;border-radius:50%;background:var(--color-green);box-shadow:0 0 0 3px rgba(63,118,82,.25)}

/* ==== Aircraft detail V2 (Porsche-style) ==== */
.acft-hero{position:relative;width:100%;height:100vh;min-height:600px;max-height:900px;background:var(--color-dark-bg);color:var(--color-dark-text);overflow:hidden}
.acft-hero__watermark{position:absolute;left:0;right:0;top:40%;transform:translateY(-50%);font-family:var(--font-display);font-weight:300;font-size:clamp(80px,16vw,220px);color:rgba(238,234,214,.06);text-transform:uppercase;letter-spacing:.05em;text-align:center;white-space:nowrap;z-index:1;pointer-events:none;user-select:none}
.acft-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;animation:adHeroZoom 1.5s ease-out both}
@keyframes adHeroZoom{from{transform:scale(1.03)}to{transform:scale(1)}}
.acft-hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(25,24,28,.95) 0%,rgba(25,24,28,.4) 40%,rgba(25,24,28,.1) 70%,transparent 100%);z-index:3}
.acft-hero__content{position:absolute;left:48px;right:48px;bottom:48px;max-width:640px;z-index:4}
.acft-hero__overline{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-khaki);margin-bottom:16px}
.acft-hero__title{font-family:var(--font-display);font-size:clamp(32px,5vw,56px);line-height:1.1;letter-spacing:-.8px;font-weight:300;color:var(--color-dark-text);margin:0}
.acft-hero__tagline{font-family:var(--font-body);font-size:18px;line-height:1.5;color:rgba(238,234,214,.5);margin:16px 0 24px 0;max-width:560px}
.acft-hero__scroll{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:4;color:rgba(238,234,214,.3);display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;transition:opacity .3s ease}
.acft-hero__scroll svg{width:20px;height:20px;animation:adBounce 2s ease-in-out infinite}
@keyframes adBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* Section 2 — At a Glance (photo + dark side panel) */
.acft-specs{position:relative;display:grid;grid-template-columns:1fr 340px;min-height:clamp(500px,60vh,780px);background:var(--color-dark-bg);overflow:hidden}
.acft-specs__photo{position:relative;overflow:hidden}
.acft-specs__photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transition:opacity .8s ease-out,transform .8s ease-out}
/* Hidden for the entrance effect only once main.js has set up the observer (adds .acft-anim). */
.acft-anim .acft-specs:not(.is-visible) .acft-specs__photo img{opacity:0;transform:scale(1.03)}
.acft-specs.is-visible .acft-specs__photo img{opacity:1;transform:scale(1)}
.acft-specs__panel{background:var(--color-dark-bg);display:flex;align-items:center;justify-content:center}
.acft-specs__panel-inner{padding:48px 40px;width:100%}
.acft-stats{display:flex;flex-direction:column;gap:36px}
.acft-stat{opacity:0;transform:translateX(20px);transition:opacity .5s ease-out,transform .5s ease-out}
.acft-specs.is-visible .acft-stat:nth-child(1){transition-delay:.1s}
.acft-specs.is-visible .acft-stat:nth-child(2){transition-delay:.25s}
.acft-specs.is-visible .acft-stat:nth-child(3){transition-delay:.4s}
.acft-specs.is-visible .acft-stat:nth-child(4){transition-delay:.55s}
.acft-specs.is-visible .acft-stat{opacity:1;transform:translateX(0)}
.acft-stat__num{font-family:var(--font-display);font-size:clamp(40px,5vw,56px);font-weight:300;color:var(--color-dark-text);line-height:1;letter-spacing:-1.5px}
.acft-stat__num .unit{font-family:var(--font-body);font-size:.33em;font-weight:400;color:var(--color-dark-khaki);margin-left:8px;letter-spacing:0;vertical-align:baseline}
.acft-stat__label{font-family:var(--font-body);font-size:11px;color:rgba(238,234,214,.45);text-transform:uppercase;letter-spacing:.1em;margin-top:8px;font-weight:500}
.acft-specs__full{display:inline-flex;align-items:center;gap:6px;margin-top:28px;font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--color-brass);letter-spacing:.03em;opacity:0;transform:translateX(12px);transition:opacity .5s ease-out .7s,transform .5s ease-out .7s}
.acft-specs.is-visible .acft-specs__full{opacity:1;transform:translateX(0)}
.acft-specs__full:hover{color:var(--color-dark-text)}
.acft-panel__title{font-family:var(--font-display);font-size:clamp(28px,3.5vw,40px);font-weight:400;color:var(--color-dark-text);line-height:1.15;letter-spacing:-.5px;margin:0 0 16px 0;text-align:center}
.acft-panel__rule{width:60%;height:3px;background:var(--color-accent);margin:0 auto 24px}
.acft-panel__heading{font-family:var(--font-display);font-size:18px;font-weight:400;color:var(--color-dark-text);text-align:center;margin-bottom:24px;text-decoration:underline;text-underline-offset:6px;text-decoration-color:rgba(238,234,214,.3)}
.acft-panel__specs{display:flex;flex-direction:column;gap:20px}
.acft-panel__row{text-align:center}
.acft-panel__label{font-family:var(--font-body);font-size:15px;font-weight:600;color:var(--color-dark-text);margin-bottom:2px}
.acft-panel__value{font-family:var(--font-body);font-size:14px;color:rgba(238,234,214,.65);font-weight:400}
.acft-panel__loan{font-family:var(--font-display);font-size:14px;font-style:italic;color:var(--color-brass);text-align:center;margin-top:12px;line-height:1.4;padding-top:16px;border-top:1px solid rgba(238,234,214,.1)}

/* Section 3 — Story */
.acft-story{background:#fff;padding:96px 0 80px}
.acft-story__inner{max-width:920px;margin:0 auto;padding:0 var(--gutter)}
.acft-story__heading{font-family:var(--font-display);font-size:clamp(28px,4.5vw,42px);font-weight:300;color:var(--color-ink);line-height:1.2;letter-spacing:-.5px;margin:0 0 40px 0;padding-top:32px;border-top:3px solid var(--color-accent)}
.acft-story__subheading{font-family:var(--font-display);font-size:clamp(22px,3vw,28px);font-weight:400;color:var(--color-ink);line-height:1.3;letter-spacing:-.3px;margin:48px 0 20px 0}
.acft-story__bullets{list-style:disc;padding-left:1.4em;margin:16px 0 24px 0;color:var(--color-body)}
.acft-story__bullets li{margin:8px 0;line-height:1.6;font-family:var(--font-body);font-size:17px}
.acft-story__bullets--emoji{list-style:none;padding-left:0}
.acft-story__bullets--emoji .acft-story__bullet-marker{display:inline-block;min-width:1.5em;color:var(--color-accent)}
.acft-story__bullets--sub{list-style:disc;padding-left:1.6em;margin:8px 0 4px 0}
.acft-story p{font-family:var(--font-body);font-size:17px;line-height:1.75;color:var(--color-body)}
.acft-story p.lede{font-size:19px;color:var(--color-ink);line-height:1.7;margin-bottom:32px}
.acft-story blockquote.pull{font-family:var(--font-display);font-size:28px;font-weight:300;font-style:italic;color:var(--color-ink);line-height:1.35;border-left:3px solid var(--color-accent);padding-left:24px;margin:40px auto;max-width:560px}
.acft-story figure{margin:40px 0}
.acft-story figure img{width:100%;border-radius:8px;box-shadow:var(--shadow-md)}
.acft-story figure figcaption{font-size:13px;color:var(--color-tertiary);font-style:italic;margin-top:10px;text-align:center}

/* Section 4 — Full specs */
.acft-sheet{background:var(--color-surface);padding:80px 0}
.acft-sheet__inner{max-width:900px;margin:0 auto;padding:0 var(--gutter)}
.acft-sheet__group{margin-top:32px}
.acft-sheet__heading{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-khaki);margin:0 0 12px 0}
.acft-sheet__row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:14px 0;border-bottom:1px solid var(--color-border)}
.acft-sheet__row:last-child{border-bottom:0}
.acft-sheet__row .k{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-secondary);flex-shrink:0}
.acft-sheet__row .v{font-family:var(--font-body);font-size:14px;color:var(--color-ink);text-align:right}
.acft-sheet__dots{flex:1;border-bottom:1px dotted #d6d3cd;margin:0 10px;height:1em}

/* Section 5 — Masonry gallery */
.acft-gallery{background:#fff;padding:80px 0}
.acft-gallery__inner{max-width:1120px;margin:0 auto;padding:0 var(--gutter)}
.acft-masonry{column-count:3;column-gap:12px;margin-top:32px}
.acft-masonry a{display:block;break-inside:avoid;margin-bottom:12px;border-radius:6px;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;cursor:pointer}
.acft-masonry a:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}
.acft-masonry img{width:100%;display:block}
@media (max-width:768px){.acft-masonry{column-count:2}}
@media (max-width:480px){.acft-masonry{column-count:1}}

/* Section 6 — Related */
.acft-related{background:var(--color-surface);padding:80px 0}
.acft-related__inner{max-width:1120px;margin:0 auto;padding:0 var(--gutter)}

/* Section 7 — Prev/Next */
.acft-prevnext{background:var(--color-dark-bg);color:var(--color-dark-text);padding:32px 0}
.acft-prevnext__inner{max-width:1120px;margin:0 auto;padding:0 var(--gutter);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.acft-prevnext a{color:var(--color-dark-text);text-decoration:none;display:flex;flex-direction:column;gap:4px;transition:color 150ms ease}
.acft-prevnext a:hover{color:var(--color-dark-accent)}
.acft-prevnext .lbl{font-family:var(--font-body);font-size:12px;color:var(--color-khaki);letter-spacing:.05em}
.acft-prevnext .name{font-family:var(--font-display);font-size:18px;font-weight:400}
.acft-prevnext .next{text-align:right;align-items:flex-end}

@media (max-width:1024px){
  .acft-hero{height:70vh}
  .acft-specs{grid-template-columns:1fr 300px;min-height:clamp(420px,50vh,600px)}
}
@media (max-width:768px){
  .acft-hero{height:60vh;min-height:500px}
  .acft-hero__content{left:24px;right:24px;bottom:24px}
  .acft-specs{grid-template-columns:1fr;min-height:auto}
  .acft-specs__photo{min-height:340px}
  .acft-specs__panel-inner{padding:36px var(--gutter)}
  .acft-stats{flex-direction:row;flex-wrap:wrap;gap:24px}
  .acft-stat{flex:1 1 40%}
  .acft-stat__num{font-size:clamp(32px,10vw,44px)}
  .acft-prevnext__inner{flex-direction:column;text-align:center}
  .acft-prevnext .next{text-align:center;align-items:center}
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .acft-hero__img,.acft-hero__scroll svg{animation:none !important}
  .acft-stat,.acft-specs__photo img,.acft-specs__full{opacity:1 !important;transform:none !important;transition:none !important}
}

/* Homepage Story — editorial split */
.story-split{max-width:1200px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:60fr 40fr;gap:64px;align-items:start}
.story-split__text{display:flex;flex-direction:column}
.story-split h2{font-family:var(--font-display);font-weight:300;font-size:clamp(36px,4.2vw,56px);line-height:1.1;letter-spacing:-.015em;color:var(--color-ink);margin:8px 0 20px 0;text-align:left}
.story-split p{text-align:left;margin:0 0 16px 0}
.story-split .lead{font-size:18px;line-height:1.55;color:var(--color-body)}
.story-split__pull{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(22px,2.2vw,26px);line-height:1.45;color:var(--color-ink);border-left:4px solid var(--color-brass);padding-left:16px;margin:32px 0 28px 0;max-width:540px}
.story-split__cta{display:inline-flex;flex-direction:column;align-self:flex-start;margin-top:16px;text-decoration:none;color:var(--color-brass);font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.story-split__cta .row{display:inline-flex;align-items:center;gap:8px}
.story-split__cta .rule{height:1px;background:var(--color-brass);width:100%;margin-top:6px;transition:width .25s ease}
.story-split__cta:hover{color:var(--color-accent)}
.story-split__cta:hover .rule{background:var(--color-accent);width:calc(100% + 8px)}
.story-split__figure{margin:0;position:relative}
.story-split__figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid rgba(196,162,101,.3);display:block}
.story-split__figure figcaption{font-family:var(--font-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#7a5c28;margin-top:12px;line-height:1.5}
.story-split__media{position:relative}
.story-split__figure .photo-credit{color:rgba(255,255,255,.7);text-shadow:0 1px 4px rgba(0,0,0,.6)}
@media (max-width:768px){
  .story-split{grid-template-columns:1fr;gap:32px}
  .story-split__figure{order:-1}
  .story-split__figure img{aspect-ratio:3/2}
}

/* Editorial zigzag blocks (Our Story — A Hangar with History) */
.editorial-block{display:grid;grid-template-columns:55fr 45fr;gap:48px;align-items:center;margin:40px 0}
.editorial-block--flip{grid-template-columns:45fr 55fr}
.editorial-block figure{margin:0}
.editorial-block img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:var(--shadow-md);display:block}
.editorial-block figcaption{font-size:13px;color:var(--color-secondary);font-style:italic;margin-top:12px}
.editorial-block h3{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--color-accent);margin:0 0 12px 0}
.editorial-block p{margin:0 0 1em 0}

.era-bridge{max-width:700px;margin:48px auto;padding:24px 32px;text-align:center;font-family:var(--font-display);font-size:24px;line-height:1.45;font-style:italic;color:var(--color-ink);font-weight:300;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}

.archive-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:56px}
.archive-strip a{display:block;overflow:hidden;border-radius:6px;box-shadow:var(--shadow-sm);transition:transform 200ms ease,box-shadow 200ms ease}
.archive-strip a:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.archive-strip img{width:100%;height:150px;object-fit:cover;display:block}

@media (max-width:768px){
  .editorial-block,.editorial-block--flip{grid-template-columns:1fr;gap:24px;margin:24px 0}
  .era-bridge{font-size:19px;padding:20px 16px;margin:32px auto}
  .archive-strip{grid-template-columns:repeat(2,1fr)}
}

/* Then / Today — overlapping pair with timeline connector */
.tt{position:relative;max-width:900px;margin:48px auto 0 auto}
.tt__pair{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:start}
.tt__fig{margin:0;position:relative;opacity:1;transform:none}
.tt__fig--then{margin-top:0;z-index:1;padding-right:12%}
.tt__fig--now{margin-top:32px;margin-left:-12%;z-index:2}
@media (prefers-reduced-motion: no-preference){
  .js-enabled .tt:not(.is-revealed) .tt__fig{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out}
  .js-enabled .tt:not(.is-revealed) .tt__fig--then{transform:translateX(-30px)}
  .js-enabled .tt:not(.is-revealed) .tt__fig--now{transform:translateX(30px);transition-delay:.2s}
  .js-enabled .tt.is-revealed .tt__fig{opacity:1;transform:translateX(0);transition:opacity .6s ease-out,transform .6s ease-out}
  .js-enabled .tt.is-revealed .tt__fig--now{transition-delay:.2s}
}
.tt__fig img{width:100%;height:400px;object-fit:cover;display:block;border-radius:4px}
.tt__fig--then img{border:4px solid var(--color-khaki);box-shadow:0 6px 16px rgba(25,24,28,.15);filter:sepia(.08) saturate(.9);height:392px}
.tt__fig--now img{border-radius:6px;box-shadow:var(--shadow-lg);object-position:center 60%}
.tt__fig figcaption{font-size:13px;color:var(--color-secondary);margin-top:12px;font-style:italic}
.tt.is-revealed .tt__fig{opacity:1;transform:translateX(0)}

.tt__timeline{position:relative;margin-top:16px;height:44px}
.tt__line{position:absolute;left:6%;right:6%;top:6px;height:1px;background:var(--color-khaki);transform-origin:left center;transform:scaleX(1)}
.tt__marker{position:absolute;top:0;display:flex;flex-direction:column;align-items:center;gap:6px;opacity:1}
@media (prefers-reduced-motion: no-preference){
  .js-enabled .tt:not(.is-revealed) .tt__line{transform:scaleX(0);transition:transform .8s ease-out .6s}
  .js-enabled .tt.is-revealed .tt__line{transform:scaleX(1);transition:transform .8s ease-out .6s}
  .js-enabled .tt:not(.is-revealed) .tt__marker{opacity:0;transition:opacity .4s ease-out 1.1s}
  .js-enabled .tt.is-revealed .tt__marker{opacity:1;transition:opacity .4s ease-out 1.1s}
}
.tt__marker .dot{width:12px;height:12px;border-radius:50%;background:var(--color-canvas);border:2px solid var(--color-khaki)}
.tt__marker--then{left:6%;transform:translateX(-50%)}
.tt__marker--now{right:6%;transform:translateX(50%)}
.tt__marker .year{font-family:var(--font-display);font-size:14px;color:var(--color-ink);margin-top:6px}
.section--cream .tt__marker .dot{background:var(--color-cream)}

@media (max-width:768px){
  .tt__pair{grid-template-columns:1fr}
  .tt__fig--then{padding-right:0;margin-right:10%}
  .tt__fig--now{margin-left:10%;margin-top:-20px}
  .tt__line{display:none}
  .tt__marker{position:static;transform:none;flex-direction:row;justify-content:center;margin-top:24px}
  .tt__marker--then{margin-right:16px}
  .tt__marker .year{margin-top:0;margin-left:6px}
}

/* Then-now */
.then-now{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}
.then-now figure{margin:0}
.then-now img{border-radius:8px;box-shadow:var(--shadow-md);aspect-ratio:3/2;object-fit:cover;width:100%}
.then-now figcaption{font-size:13px;color:var(--color-secondary);margin-top:12px;font-style:italic}

/* Info blocks */
.info-block{margin-bottom:24px}
.info-block .label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);margin-bottom:6px}
.info-block .value{font-size:16px;color:var(--color-body)}

.info-card{background:rgba(255,255,255,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.3);border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.5);padding:32px;margin-bottom:20px}
.info-card h3{font-family:var(--font-body);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);margin:0 0 16px 0}
.info-card .row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid rgba(25,24,28,.08);font-size:14px}
.info-card .row:last-of-type{border-bottom:0}
.info-card .row .k{font-weight:500;color:var(--color-ink)}
.info-card .row .v{color:var(--color-body)}

/* Glass background — gradient + decorative blobs */
.section--glass-bg{position:relative;background:linear-gradient(135deg,#EEEAD6 0%,#f5f3ed 100%);overflow:hidden}
.section--glass-bg::before,.section--glass-bg::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.section--glass-bg::before{width:520px;height:520px;top:-120px;left:-120px;background:rgba(160,32,20,.04);filter:blur(60px)}
.section--glass-bg::after{width:420px;height:420px;bottom:-100px;right:-100px;background:rgba(63,118,82,.05);filter:blur(60px)}
.section--glass-bg > *{position:relative;z-index:1}

/* Spec sidebar (aircraft detail) */
.spec-card{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:24px;position:sticky;top:88px}
.spec-card h3{font-family:var(--font-body);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);margin:0 0 12px 0}
.spec-card h3:not(:first-child){margin-top:20px;padding-top:16px;border-top:1px solid var(--color-border-subtle)}
.spec-card .row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--color-border-subtle);font-size:14px;align-items:center}
.spec-card .row:last-child{border-bottom:0}
.spec-card .row .k{font-size:13px;font-weight:500;color:var(--color-secondary)}
.spec-card .row .v{color:var(--color-ink);text-align:right}

/* Program cards (Events — Regular Programming) */
.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto}
.program{background:#fff;border:1px solid #e0ddd4;border-radius:12px;padding:40px 32px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;opacity:0;transform:translateY(20px)}
.program.is-visible{opacity:1;transform:translateY(0);transition:opacity .5s ease-out,transform .5s ease-out,box-shadow .3s ease}
.programs.is-visible .program:nth-child(1){transition-delay:0ms}
.programs.is-visible .program:nth-child(2){transition-delay:100ms}
.programs.is-visible .program:nth-child(3){transition-delay:200ms}
.program:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.program__icon{width:40px;height:40px;margin:0 auto 20px auto;color:var(--color-ink);display:block}
.program__tag{font-family:var(--font-body);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-green);font-weight:600}
.program__title{font-family:var(--font-display);font-size:24px;color:var(--color-ink);margin:12px 0 8px;font-weight:400}
.program__desc{font-family:var(--font-body);font-size:15px;color:#6b6b6b;line-height:1.6;margin:0 0 20px 0}
.program__cta{font-family:var(--font-body);color:var(--color-accent);font-weight:500;font-size:14px;display:inline-flex;align-items:center;gap:4px}
.program__cta:hover{gap:8px;transition:gap 150ms ease}
@media (max-width:768px){.programs{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){.program{opacity:1 !important;transform:none !important;transition:none !important}}

/* Tip cards */
.tips{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tip{position:relative;background:rgba(255,255,255,.4);border:1px solid rgba(196,162,101,.3);border-radius:2px;padding:32px;box-shadow:0 1px 2px rgba(25,24,28,.04),0 8px 24px rgba(25,24,28,.04);transition:transform 200ms ease,box-shadow 200ms ease;backdrop-filter:none;-webkit-backdrop-filter:none}
.tip:hover{transform:translateY(-2px);box-shadow:0 2px 4px rgba(25,24,28,.05),0 14px 32px rgba(25,24,28,.06)}
.tip::before{content:"";display:block;width:24px;height:1px;background:rgba(196,162,101,.5);margin:0 0 18px 0}
.tip__icon{width:27px;height:27px;color:var(--color-ink);margin-bottom:14px;display:block}
.tip h4,.tip h3{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--color-ink);margin:0 0 10px 0;letter-spacing:-.005em}
.tip p{font-size:14px;line-height:1.55;color:var(--color-body);margin:0 0 20px 0}
.tip__tag{border-top:1px solid rgba(196,162,101,.2);padding-top:16px;font-family:var(--font-body);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);font-weight:500;margin-top:auto}
.tips{align-items:stretch}
.tips .tip{display:flex;flex-direction:column}

/* Closing editorial spread (homepage) — "Visit the Collection" */
.closing{position:relative;min-height:600px;color:#fff;overflow:hidden;padding:0}
.closing__bg{position:absolute;inset:0;background-size:cover;background-position:center right;filter:saturate(.78) contrast(1.05);z-index:0}
.closing__overlay{position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,14,19,.96) 0%,rgba(15,14,19,.82) 38%,rgba(15,14,19,.35) 70%,rgba(15,14,19,.2) 100%),linear-gradient(to bottom,rgba(120,70,20,.08),rgba(15,14,19,.2));z-index:1}
.closing__inner{position:relative;z-index:2;max-width:var(--max-width);margin:0 auto;padding:120px var(--gutter);display:grid;grid-template-columns:48fr 52fr;gap:48px;align-items:center;min-height:600px}
.closing__text{max-width:520px}
.closing__hairline{width:64px;height:1px;background:var(--color-brass);opacity:.7;margin-bottom:24px}
.closing__overline{font-family:var(--font-body);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-brass);font-weight:600;margin-bottom:20px}
.closing__title{font-family:var(--font-display);font-weight:300;font-size:clamp(44px,5.5vw,72px);line-height:1.04;letter-spacing:-.02em;color:#fafaf8;margin:0 0 24px 0}
.closing__sub{font-family:var(--font-display);font-weight:300;font-size:19px;line-height:1.55;color:rgba(250,250,248,.78);margin:0 0 36px 0;font-style:italic}
.closing__ctas{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.btn--brass-ghost{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:transparent;color:var(--color-brass);border:1px solid rgba(196,162,101,.7);border-radius:4px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:all .25s ease}
.btn--brass-ghost:hover{background:var(--color-brass);color:var(--color-dark-bg);transform:translateY(-2px);box-shadow:0 8px 24px rgba(196,162,101,.25)}
.closing__link{font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.04em;color:#fafaf8;text-decoration:none;display:inline-flex;align-items:center;gap:6px;border-bottom:1px solid transparent;padding-bottom:2px;transition:border-color .2s ease,color .2s ease,gap .2s ease}
.closing__link:hover{border-bottom-color:var(--color-brass);color:var(--color-brass);gap:12px}
.closing__link .arr{color:var(--color-brass);font-size:16px;line-height:1}
.closing__caption{position:absolute;right:28px;bottom:24px;z-index:3;font-family:var(--font-body);font-size:10px;letter-spacing:.08em;color:rgba(250,250,248,.35);max-width:280px;text-align:right;border-top:1px solid rgba(196,162,101,.25);padding-top:6px}
@media (max-width:1024px){
  .closing__inner{grid-template-columns:1fr;padding:80px var(--gutter);min-height:520px}
  .closing__overlay{background:linear-gradient(to top,rgba(15,14,19,.92) 0%,rgba(15,14,19,.55) 60%,rgba(15,14,19,.25) 100%)}
  .closing__bg{background-position:center}
}

/* Event poster card — for index.html featured event */
.event-poster{position:relative;max-width:480px;margin-left:auto;border-radius:12px;overflow:hidden;min-height:440px;display:flex;align-items:flex-end;background-size:cover;background-position:center}
.event-poster::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(25,24,28,.3) 0%,rgba(25,24,28,.85) 100%)}
.event-poster__inner{position:relative;z-index:2;padding:40px;color:#fff;width:100%;background:rgba(25,24,28,.5);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.event-poster__month{font-family:var(--font-body);font-size:14px;text-transform:uppercase;letter-spacing:.2em;color:var(--color-brass);margin-bottom:4px}
.event-poster__day{font-family:var(--font-display);font-weight:300;font-size:80px;line-height:1;color:#fff;letter-spacing:-.02em}
.event-poster__yearday{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.5);margin-top:8px}
.event-poster__rule{width:40px;height:1px;background:var(--color-brass);margin:20px 0}
.event-poster__name{font-family:var(--font-display);font-size:24px;font-weight:400;color:#fff;margin:0 0 8px 0;line-height:1.25}
.event-poster__time{font-size:14px;color:rgba(255,255,255,.7);margin-bottom:8px}
.event-poster__hook{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:20px;line-height:1.5}
.event-poster__btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border:1px solid var(--color-brass);color:var(--color-brass);border-radius:4px;font-size:13px;font-weight:600;letter-spacing:.04em;text-decoration:none;transition:all .2s ease}
.event-poster__btn:hover{background:var(--color-brass);color:var(--color-dark-bg)}

/* Event card */
.event-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;box-shadow:var(--shadow-sm)}
.event-card__media{aspect-ratio:16/9;background:#d6d3cd;overflow:hidden}
.event-card__media img{width:100%;height:100%;object-fit:cover}
.event-card__body{padding:24px}
.badge-upcoming{display:inline-block;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.3px;color:var(--color-green);background:var(--color-green-light);padding:4px 10px;border-radius:999px;margin-bottom:12px}
.event-card__name{font-family:var(--font-display);font-size:1.5rem;font-weight:400;letter-spacing:-.36px;margin:0 0 6px 0;color:var(--color-ink)}
.event-card__date{font-size:14px;color:var(--color-secondary);margin-bottom:12px}
.event-card__desc{font-size:14px;color:var(--color-body);margin-bottom:16px}

/* Support / CTA blocks */
.support-wrap{max-width:720px;margin:0 auto;text-align:center}
.support-wrap .lead{color:var(--color-dark-secondary);max-width:600px;margin:0 auto 32px auto}
.support-wrap .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.give-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.give-card{background:#fff;border:1px solid #e8e5dc;border-top:3px solid var(--color-accent);border-radius:8px;padding:36px 32px;text-align:center;transition:transform 200ms ease,box-shadow 200ms ease;display:flex;flex-direction:column}
.give-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.give-card__icon{width:40px;height:40px;margin:0 auto 20px auto;color:var(--color-accent);display:block}
.give-card h3{font-family:var(--font-display);font-size:22px;font-weight:400;margin:0 0 12px 0}
.give-card p{font-size:14px;color:var(--color-body);margin:0 0 20px 0}
.give-card p.give-card__desc{flex:1 0 auto}
.give-card__detail{font-family:var(--font-body);font-size:12px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;margin:0 0 16px 0;padding-top:16px;border-top:1px solid rgba(196,162,101,.2)}
.give-card__detail .k{color:var(--color-brass);font-weight:600;margin-right:6px}
.give-card__detail .v{color:var(--color-ink);font-weight:500}
.give-card .btn{align-self:center;margin-top:auto}

/* Contribute split section */
.contribute{display:grid;grid-template-columns:55fr 45fr;gap:48px;align-items:center;max-width:1120px;margin:0 auto}
.contribute__overline{font-family:var(--font-body);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);font-weight:600;margin-bottom:16px}
.contribute__title{font-family:var(--font-display);font-size:36px;color:var(--color-ink);font-weight:400;line-height:1.15;margin:0 0 20px 0;letter-spacing:-.5px}
.contribute__body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:#4a4a4a;max-width:480px;margin:0 0 24px 0}
.contribute__img{border-radius:8px;box-shadow:var(--shadow-lg);width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
@media (max-width:1024px){.contribute{grid-template-columns:1fr;gap:32px}.contribute__body{max-width:none}}
@media (max-width:768px){.contribute__title{font-size:28px}}

/* Resources page */
.resources-feature{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1040px;margin:0 auto}
.res-feat{background:#fff;border:1px solid #e0ddd4;border-radius:12px;padding:32px;transition:transform 200ms ease,box-shadow 200ms ease;display:flex;flex-direction:column}
.res-feat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.res-feat__logo{height:80px;display:flex;align-items:center;justify-content:flex-start;margin-bottom:20px}
.res-feat__logo img{max-height:80px;max-width:220px;width:auto;height:auto;object-fit:contain}
.res-feat__name{font-family:var(--font-display);font-size:24px;font-weight:400;color:var(--color-ink);margin:0 0 6px 0}
.res-feat__url{display:inline-block;color:var(--color-accent);font-size:14px;font-weight:500;margin-bottom:14px}
.res-feat__desc{font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--color-body);margin:0}

/* Archival/editorial treatment — reads as a library reference card rather than a utility tile */
.resources-partners{display:grid;grid-template-columns:repeat(2,1fr);gap:0;max-width:1040px;margin:0 auto;border-top:1px solid var(--color-rule);border-left:1px solid var(--color-rule)}
.res-card{background:transparent;border-right:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);border-left:0;border-top:0;border-radius:0;padding:28px 32px;transition:background 200ms ease;position:relative}
.res-card::before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:var(--color-accent);transition:height .2s ease}
.res-card:hover{background:rgba(196,162,101,.05)}
.res-card:hover::before{height:100%}
.res-card__name{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--color-ink);margin:0 0 4px 0;letter-spacing:-.01em}
.res-card__url{display:inline-block;color:var(--color-accent);font-size:12px;font-weight:600;letter-spacing:.06em;margin-bottom:14px;text-transform:lowercase}
.res-card__url--muted{color:var(--color-secondary);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.res-card__desc{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--color-body);margin:0}

@media (max-width:768px){
  .resources-feature,.resources-partners{grid-template-columns:1fr}
}

/* Story page "Beginning" two-column */
.beginning{display:grid;grid-template-columns:55fr 45fr;gap:56px;align-items:start}
.beginning__text{max-width:580px}
.beginning__figure{margin:0;position:relative}
.beginning__figure img{width:100%;height:auto;display:block;border:1px solid #e4ddc8;border-radius:0;filter:saturate(.9)}
.beginning__figure figcaption{font-family:var(--font-body);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#888;margin-top:12px;padding-top:8px;border-top:1px solid rgba(196,162,101,.3);max-width:480px;line-height:1.5}
.beginning__figure figcaption .k{color:var(--color-brass);font-weight:600;margin-right:4px}
@media (max-width:900px){.beginning{grid-template-columns:1fr;gap:32px}.beginning__figure{order:-1}}

/* Virtual Tour embed */
.vt{display:grid;grid-template-columns:45fr 55fr;gap:56px;align-items:center;max-width:1120px;margin:0 auto}
.vt__text{max-width:440px}
.vt__eyebrow{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-brass);margin-bottom:16px}
.vt__title{font-family:var(--font-display);font-size:clamp(28px,3vw,38px);font-weight:300;line-height:1.15;letter-spacing:-.015em;color:var(--color-ink);margin:0 0 16px 0}
.vt__body{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--color-body);margin:0 0 24px 0}
.embed-16x9{position:relative;width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;border:1px solid rgba(196,162,101,.25);box-shadow:0 1px 2px rgba(25,24,28,.05),0 12px 32px rgba(25,24,28,.08);background:#000}
.embed-16x9 iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media (max-width:1024px){.vt{grid-template-columns:1fr;gap:32px}}

/* Blog / Field Notes */
.blog-list{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.blog-post{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:36px;transition:transform 200ms ease,box-shadow 200ms ease}
.blog-post:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.blog-post__tag{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);background:var(--color-accent-light);padding:4px 10px;border-radius:999px;margin-bottom:16px}
.blog-post__title{font-family:var(--font-display);font-size:28px;font-weight:400;line-height:1.25;color:var(--color-ink);margin:0 0 10px 0;text-decoration:none;display:block;transition:color 150ms ease}
.blog-post__title:hover{color:var(--color-accent)}
.blog-post__meta{font-family:var(--font-body);font-size:13px;color:var(--color-secondary);margin-bottom:16px}
.blog-post__meta .author{color:var(--color-ink);font-weight:500}
.blog-post__excerpt{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--color-body);margin:0 0 18px 0}
.blog-post__img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;margin:0 0 20px 0;display:block}
.blog-post__more{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-accent)}
.blog-categories{max-width:720px;margin:48px auto 0 auto;padding:24px 0;border-top:1px solid var(--color-border)}
.blog-categories__label{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-tertiary);margin-bottom:12px}
.blog-categories__pills{display:flex;gap:8px;flex-wrap:wrap}
.blog-categories .pill{background:#fff;border:1px solid var(--color-border);color:var(--color-body);padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;cursor:pointer;transition:all 150ms ease;text-decoration:none}
.blog-categories .pill:hover,.blog-categories .pill.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}

/* Press page — Featured Coverage (large editorial cards) */
.press-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:32px;max-width:1080px;margin:0 auto}
.press-feature{background:var(--surface-raised);border:1px solid #e4ddc8;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px rgba(25,24,28,.04),0 8px 24px rgba(25,24,28,.06);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.press-feature:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(25,24,28,.05),0 14px 32px rgba(25,24,28,.08)}
.press-feature__media{display:block;overflow:hidden}
.press-feature__media img{width:100%;aspect-ratio:16/10;object-fit:cover;transition:transform .4s ease}
.press-feature:hover .press-feature__media img{transform:scale(1.03)}
.press-feature__body{padding:28px 32px 32px 32px;display:flex;flex-direction:column;gap:12px;flex:1}
.press-feature__headline{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.25;color:var(--color-ink);text-decoration:none;transition:color .15s ease}
.press-feature__headline:hover{color:var(--color-accent)}
.press-feature__meta{font-family:var(--font-body);font-size:13px;color:var(--color-secondary);letter-spacing:.02em}
.press-feature__link{margin-top:auto;padding-top:16px;border-top:1px solid rgba(196,162,101,.2);font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#7a5c28;text-decoration:none}
.press-feature__link:hover{color:var(--color-accent)}

/* Coverage — compact article list */
.coverage__row{padding:20px 0;border-top:1px solid rgba(196,162,101,.2)}
.coverage__row:last-child{border-bottom:1px solid rgba(196,162,101,.2)}
.coverage__pub{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--color-brass);margin-bottom:6px}
.coverage__title{display:block;font-family:var(--font-display);font-size:20px;font-weight:400;line-height:1.3;color:var(--color-ink);text-decoration:none;transition:color .15s ease}
.coverage__title:hover{color:var(--color-accent)}
.coverage__meta{font-family:var(--font-body);font-size:13px;color:var(--color-secondary);margin-top:6px;letter-spacing:.02em}

/* Newsroom — dated list */
.newsroom{list-style:none;padding:0;margin:0;max-width:900px}
.newsroom__row{display:grid;grid-template-columns:140px 1fr;gap:32px;padding:24px 0;border-top:1px solid rgba(196,162,101,.2)}
.newsroom__row:last-child{border-bottom:1px solid rgba(196,162,101,.2)}
.newsroom__date{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);padding-top:4px}
.newsroom__type{font-family:var(--font-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:6px}
.newsroom__title{display:block;font-family:var(--font-display);font-size:20px;font-weight:400;line-height:1.35;color:var(--color-ink);text-decoration:none;transition:color .15s ease}
.newsroom__title:hover{color:var(--color-accent)}
.newsroom__caption{font-family:var(--font-body);font-size:14px;color:var(--color-secondary);margin:10px 0 0 0;line-height:1.55;font-style:italic}
@media (max-width:768px){
  .press-features{grid-template-columns:1fr}
  .newsroom__row{grid-template-columns:1fr;gap:8px;padding:20px 0}
}

/* Legacy press card (still used on story.html — will be removed in next pass) */
.press-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:1040px;margin:0 auto}
.press-card{background:var(--surface-raised);border:1px solid #e4ddc8;border-radius:8px;padding:28px;transition:transform 200ms ease,box-shadow 200ms ease}
.press-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.press-form{max-width:520px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.press-form label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body);font-size:12px;color:rgba(238,234,214,.7);font-weight:500;letter-spacing:.04em;text-transform:uppercase}
.press-form input[type=text],.press-form input[type=email]{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;padding:12px 14px;font-family:var(--font-body);font-size:14px;border-radius:8px;outline:none;text-transform:none;letter-spacing:normal}
.press-form input:focus{border-color:var(--color-accent)}
.press-form .full{grid-column:1 / -1}
.press-form .check{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(238,234,214,.8);text-transform:none;letter-spacing:normal;font-weight:400;cursor:pointer}
.press-form button{grid-column:1 / -1;padding:14px;font-size:14px;font-weight:500}
@media (max-width:768px){.press-grid{grid-template-columns:1fr}.press-form{grid-template-columns:1fr}}

/* Volunteer expanded section */
.vol-checklist{list-style:none;padding:0;margin:24px 0 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}
.vol-checklist li{display:flex;gap:12px;align-items:flex-start;font-size:15px;color:var(--color-body);line-height:1.5}
.vol-checklist li::before{content:"";flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--color-green);margin-top:2px;position:relative;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");background-size:14px;background-position:center;background-repeat:no-repeat}
.vol-roles{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:40px}
.vol-role{background:var(--surface-raised);border:1px solid #e4ddc8;border-radius:8px;padding:28px;position:relative;box-shadow:0 1px 2px rgba(25,24,28,.04),0 8px 24px rgba(25,24,28,.06);transition:transform .25s ease,box-shadow .25s ease}
.vol-role::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--color-accent);opacity:0;transition:opacity .25s ease;border-radius:8px 8px 0 0}
.vol-role:hover::before{opacity:1}
.vol-role h4,.vol-role h3{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--color-ink);margin:0 0 8px 0}
.vol-role p{font-family:var(--font-body);font-size:14px;color:var(--color-body);margin:0;line-height:1.6}

.vol-perks{background:var(--surface-raised);border:1px solid #e4ddc8;border-radius:8px;padding:32px;margin-top:40px;box-shadow:0 1px 2px rgba(25,24,28,.04),0 8px 24px rgba(25,24,28,.06)}
.vol-perks h3{font-family:var(--font-display);font-size:20px;font-weight:400;color:var(--color-ink);margin:0 0 20px 0}
.vol-perks ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px}
.vol-perks li{font-size:15px;color:var(--color-body);display:flex;align-items:flex-start;gap:12px;line-height:1.5}
.vol-perks li svg{width:16px;height:16px;color:var(--color-brass);flex-shrink:0;margin-top:3px}
.vol-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}
.vol-step{text-align:center;padding:20px}
.vol-step__num{font-family:var(--font-display);font-size:36px;font-weight:300;color:var(--color-accent);line-height:1}
.vol-step__txt{font-family:var(--font-body);font-size:15px;color:var(--color-body);margin-top:12px;line-height:1.5}
.vol-badge{display:inline-block;margin-top:16px;padding:0;background:none;border:0;border-radius:0;font-family:var(--font-body);font-size:14px;color:var(--color-ink);letter-spacing:normal}
.vol-badge .k{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass);margin-right:8px}
@media (max-width:768px){.vol-checklist,.vol-roles,.vol-perks ul,.vol-steps{grid-template-columns:1fr}.questions-giving{grid-template-columns:1fr !important;gap:32px !important}}

/* Waldo Wright's expanded stats */
.ww-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:32px 0;padding:24px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.ww-stat{text-align:center}
.ww-stat__num{font-family:var(--font-display);font-size:36px;font-weight:300;color:var(--color-accent);line-height:1;letter-spacing:-1px}
.ww-stat__lbl{font-family:var(--font-body);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-secondary);margin-top:8px;font-weight:500}
.ww-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}
.ww-photo-grid a{display:block;overflow:hidden;border-radius:8px}
.ww-photo-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .3s ease}
.ww-photo-grid a:hover img{transform:scale(1.05)}
@media (max-width:768px){.ww-stats{grid-template-columns:1fr}.ww-photo-grid{grid-template-columns:1fr 1fr}}

/* Press / In The News */
/* .press__pub still used on press.html featured coverage cards */
.press__pub{font-family:var(--font-body);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#888;font-weight:600;margin-bottom:10px}
@media (max-width:768px){.press{grid-template-columns:1fr}}

/* Team grid — two-column on dark bg */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:64px 48px;margin-top:48px;max-width:1040px;margin-left:auto;margin-right:auto}
.team-member{display:flex;flex-direction:column;align-items:center;text-align:center}
.team-member__photo{width:250px;height:250px;border-radius:50%;margin:0 auto 20px auto;background:#e8e5df;overflow:hidden;border:3px solid rgba(196,162,101,.35);flex-shrink:0}
.team-member__photo img{width:100%;height:100%;object-fit:cover;display:block}
.team-member h3{font-family:var(--font-display);font-size:28px;font-weight:400;margin:0 0 4px 0;color:var(--color-ink)}
.team-member .role{font-family:var(--font-body);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass);margin-bottom:14px;font-weight:600}
.team-member p{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--color-body);margin:0;max-width:420px}
.team-member a{color:var(--color-accent)}
.team-member a:hover{color:var(--color-accent-hover)}
@media (max-width:768px){.team-grid{grid-template-columns:1fr;gap:48px}.team-member__photo{width:200px;height:200px}.team-member h3{font-size:24px}}

/* Timeline */
.timeline{position:relative;padding-left:32px;margin-top:32px}
.timeline::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:var(--color-border);z-index:1}
.timeline__progress{position:absolute;left:6px;top:8px;width:2px;background:var(--color-accent);height:0;z-index:2;pointer-events:none;will-change:height}
/* Default: final position. Entries look correct without JS or with reduced-motion. */
.timeline__step{position:relative;padding-bottom:32px;opacity:1}
.timeline__step::before{content:"";position:absolute;left:-31px;top:4px;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-accent);background:var(--color-canvas);z-index:3;transition:background .3s ease-out}
.timeline__step.is-reached::before{background:var(--color-accent);animation:tlPulse .3s ease-out}
@keyframes tlPulse{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
.timeline__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-accent);margin-bottom:6px}
.timeline__body{font-size:16px;color:var(--color-body)}
.timeline__row{display:flex;gap:24px;align-items:flex-start}
.timeline__row .timeline__text{flex:1;min-width:0}
.timeline__photo{flex-shrink:0;width:200px;opacity:1;transform:none}
.timeline__photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;box-shadow:var(--shadow-sm)}
.timeline__photos{flex-shrink:0;width:260px;display:flex;flex-direction:column;gap:10px;opacity:1;transform:none}
.timeline__photos a{display:block}
.timeline__photos img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:6px;box-shadow:var(--shadow-sm);cursor:zoom-in}

/* Hangar 3 narrative pillars list */
.h3-pillars{list-style:none;padding:0;margin:24px 0}
.h3-pillars li{position:relative;padding:12px 0 12px 28px;border-top:1px solid var(--color-border,rgba(0,0,0,.08));font-size:16px;line-height:1.55;color:var(--color-body)}
.h3-pillars li:last-child{border-bottom:1px solid var(--color-border,rgba(0,0,0,.08))}
.h3-pillars li::before{content:"";position:absolute;left:0;top:20px;width:14px;height:2px;background:var(--color-accent)}
.h3-pillars li strong{color:var(--color-ink);font-weight:600}

/* JS + motion-enabled: apply pre-reveal offset only to not-yet-reached entries */
@media (prefers-reduced-motion: no-preference){
  .js-enabled .timeline__step:not(.is-reached){opacity:.3;transition:opacity .4s ease-out}
  .js-enabled .timeline__step.is-reached{opacity:1}
  .js-enabled .timeline__step:not(.is-reached) .timeline__label,
  .js-enabled .timeline__step:not(.is-reached) .timeline__body,
  .js-enabled .timeline__step:not(.is-reached) .timeline__text{transform:translateX(-20px);transition:transform .5s ease-out,opacity .5s ease-out}
  .js-enabled .timeline__step.is-reached .timeline__label,
  .js-enabled .timeline__step.is-reached .timeline__body,
  .js-enabled .timeline__step.is-reached .timeline__text{transform:translateX(0);transition:transform .5s ease-out,opacity .5s ease-out}
  .js-enabled .timeline__step:not(.is-reached) .timeline__photo{opacity:0;transform:translateX(12px);transition:opacity .5s ease-out,transform .5s ease-out}
  .js-enabled .timeline__step.is-reached .timeline__photo{opacity:1;transform:translateX(0);transition:opacity .5s ease-out,transform .5s ease-out}
}

@media (max-width:768px){
  .timeline__row{flex-direction:column}
  .timeline__photo{width:100%;max-width:280px}
  .timeline__photos{width:100%;max-width:320px;flex-direction:row;flex-wrap:wrap}
  .timeline__photos a{flex:1;min-width:140px}
}
@media (prefers-reduced-motion: reduce){
  .timeline__progress{display:none}
}

/* Pull quote */
blockquote.pullquote{border-left:3px solid var(--color-accent);padding:0 0 0 24px;margin:32px 0;font-family:var(--font-display);font-size:24px;line-height:1.4;font-style:italic;color:var(--color-ink)}
blockquote.pullquote cite{display:block;font-style:normal;font-family:var(--font-body);font-size:14px;color:var(--color-secondary);margin-top:12px;font-weight:500}

/* Progress bar */
.progress{background:var(--color-border-subtle);height:6px;border-radius:4px;overflow:hidden;margin-top:10px}
.progress__fill{background:var(--color-green);height:100%;border-radius:4px}

/* Past event grid */
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.photo-grid img{aspect-ratio:1/1;object-fit:cover;border-radius:6px;width:100%;transition:transform 200ms ease}
.photo-grid a{position:relative;display:block;overflow:hidden;border-radius:6px}
.photo-grid a:hover img{transform:scale(1.03)}

/* Map */
.map-embed{aspect-ratio:4/3;border-radius:8px;border:1px solid var(--color-border);overflow:hidden;background:#e8e5df}
.map-embed iframe{width:100%;height:100%;border:0;display:block}

/* Prev/Next */
.prevnext{max-width:var(--max-width);margin:0 auto;padding:32px var(--gutter);display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--color-border)}
.prevnext a{font-size:14px;color:var(--color-secondary);text-decoration:none}
.prevnext a:hover{color:var(--color-accent)}
.prevnext .label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--color-tertiary);margin-bottom:4px}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.gallery a{display:block;overflow:hidden;border-radius:6px}
.gallery img{aspect-ratio:3/2;object-fit:cover;width:100%;transition:transform 200ms ease}
.gallery a:hover img{transform:scale(1.03)}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(25,24,28,.92);z-index:200;display:none;align-items:center;justify-content:center;padding:40px;cursor:zoom-out}
.lightbox.is-open{display:flex}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:6px;object-fit:contain;transition:opacity .2s ease-out;opacity:1}
.lightbox.is-switching img{opacity:0}
.lightbox__close{position:absolute;top:20px;right:24px;background:transparent;border:0;color:#fff;font-size:32px;cursor:pointer;z-index:2;line-height:1}
.lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background .15s ease}
.lightbox__nav:hover{background:rgba(255,255,255,.3)}
.lightbox__nav svg{width:22px;height:22px}
.lightbox__nav--prev{left:24px}
.lightbox__nav--next{right:24px}
.lightbox__counter{position:absolute;bottom:24px;left:0;right:0;text-align:center;color:rgba(255,255,255,.6);font-family:var(--font-body);font-size:14px;letter-spacing:.05em;z-index:2}
@media (max-width:768px){.lightbox__nav{width:40px;height:40px}.lightbox__nav--prev{left:12px}.lightbox__nav--next{right:12px}}

/* Footer */
/* ── FOOTER — editorial museum closer ───────────────────────────── */
.footer{background:var(--color-dark-bg);color:var(--color-dark-text);border-top:1px solid rgba(196,162,101,.2);padding:80px 0 24px 0;position:relative}
.footer::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60px;height:1px;background:var(--color-brass);opacity:.5}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1.2fr;gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(238,234,214,.08)}
.footer h4,.footer h2.footer__h{font-family:var(--font-body);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--color-brass);margin:0 0 18px 0}
.footer__col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.footer__col a{color:rgba(238,234,214,.78);font-size:14px;text-decoration:none;transition:color .15s ease}
.footer__col a:hover{color:var(--color-dark-text)}
.footer__col--brand .logo{width:48px;height:48px;margin-bottom:18px;opacity:.9}
.footer__brand-name{font-family:var(--font-display);font-size:22px;font-weight:400;line-height:1.15;color:var(--color-dark-text);margin:0 0 12px 0;letter-spacing:-.01em}
.footer__brand-tag{font-family:var(--font-body);font-size:14px;line-height:1.6;color:rgba(238,234,214,.65);margin:0 0 16px 0;max-width:280px}
.footer__brand-meta{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);opacity:.75}
.footer__col--contact{display:flex;flex-direction:column;gap:14px}
.footer__col--contact ul li{color:rgba(238,234,214,.78);font-size:14px;line-height:1.55}
.footer__col--contact ul li a{color:rgba(238,234,214,.78)}
.footer__col--contact ul li a:hover{color:var(--color-dark-text)}
.footer__contact-line{font-family:var(--font-body);font-size:13px;line-height:1.55;display:grid;grid-template-columns:52px 1fr;gap:8px;align-items:start;color:rgba(238,234,214,.78)}
.footer__contact-line .footer__contact-k{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);padding-top:3px}
.footer__directions{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-brass);text-decoration:none;margin-top:6px;padding:9px 16px;border:1px solid rgba(196,162,101,.45);border-radius:4px;align-self:flex-start;transition:background .15s ease, color .15s ease, border-color .15s ease}
.footer__directions:hover{color:var(--color-dark-bg);background:var(--color-brass);border-color:var(--color-brass)}
.footer__social{display:flex;flex-direction:column;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(238,234,214,.08);font-size:13px}
.footer__social a{color:rgba(238,234,214,.72)}
.footer__social a:hover{color:var(--color-brass)}
/* Newsletter band — integrated into footer, not bolted on */
.footer__newsletter{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:48px 0;border-bottom:1px solid rgba(238,234,214,.08)}
.footer__newsletter-text .overline{color:var(--color-brass);margin-bottom:8px}
.footer__newsletter-text h3{font-family:var(--font-display);font-size:clamp(22px,2.3vw,28px);font-weight:400;color:var(--color-dark-text);margin:0 0 8px 0;letter-spacing:-.01em;line-height:1.2}
.footer__newsletter-text p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:rgba(238,234,214,.65);margin:0;max-width:420px}
.footer__newsletter-form{width:100%}
.footer__newsletter-row{display:flex;gap:8px}
.footer__newsletter-row input{flex:1;min-width:0;padding:12px 16px;font-family:var(--font-body);font-size:14px;background:rgba(238,234,214,.05);border:1px solid rgba(238,234,214,.15);border-radius:4px;color:var(--color-dark-text);transition:border-color .15s ease, background .15s ease}
.footer__newsletter-row input::placeholder{color:rgba(238,234,214,.4)}
.footer__newsletter-row input:focus{outline:none;border-color:var(--color-brass);background:rgba(238,234,214,.08)}
.footer__newsletter-row button{padding:12px 24px;font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--color-brass);color:var(--color-dark-bg);border:0;border-radius:4px;cursor:pointer;transition:background .15s ease}
.footer__newsletter-row button:hover{background:#d7b97a}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:1000px){.footer__newsletter{grid-template-columns:1fr;gap:24px}}
.newsletter{margin-top:48px;padding-top:32px;border-top:1px solid rgba(196,162,101,.2);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.newsletter .label{font-size:14px;color:var(--color-dark-text);font-weight:500}
.newsletter__form{display:flex;flex:1;min-width:280px;max-width:480px}
.newsletter input{flex:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;padding:12px 14px;font-family:var(--font-body);font-size:14px;border-radius:8px 0 0 8px;outline:none}
.newsletter input::placeholder{color:rgba(255,255,255,.55)}
.newsletter input:focus{border-color:var(--color-accent);background:rgba(255,255,255,.12)}
.newsletter button{background:var(--color-accent);color:#fff;border:0;padding:12px 20px;font-size:14px;font-weight:500;letter-spacing:.2px;border-radius:0 8px 8px 0;cursor:pointer}
.newsletter button:hover{background:var(--color-accent-hover)}
.footer__bottom{margin-top:28px;padding-top:0;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:rgba(238,234,214,.5);flex-wrap:wrap;border-top:0}
.footer__legal-meta{font-family:var(--font-body);letter-spacing:.02em}

/* Getting Here split panel (visit.html) */
.getting-here{display:grid;grid-template-columns:40fr 60fr;gap:0;align-items:stretch;position:relative;max-width:1120px;margin:0 auto;min-height:500px}
.getting-here__map{grid-column:2;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-lg);min-height:500px}
.getting-here__map iframe{width:100%;height:100%;border:0;display:block;min-height:500px}
.getting-here__panel{grid-column:1;grid-row:1;align-self:center;z-index:2;background:rgba(255,255,255,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.4);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.5);padding:32px;margin-right:-40px}
.getting-here__addr{font-family:var(--font-display);font-size:20px;color:var(--color-ink);line-height:1.25}
.getting-here__street{font-size:14px;color:var(--color-body);margin-top:4px}
.getting-here__list{list-style:none;padding:0;margin:20px 0 0 0;display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(25,24,28,.1);padding-top:16px}
.getting-here__list li{display:flex;gap:10px;align-items:baseline;font-size:14px;line-height:1.4}
.getting-here__list .city{font-weight:600;color:var(--color-ink);flex-shrink:0;min-width:130px}
.getting-here__list .dist{color:var(--color-body)}
.getting-here__note{margin:16px 0 0 0;font-size:13px;color:var(--color-secondary)}
@media (max-width:1024px){
  .getting-here{grid-template-columns:1fr;gap:0;min-height:0}
  .getting-here__map{grid-column:1;min-height:360px}
  .getting-here__map iframe{min-height:360px}
  .getting-here__panel{grid-column:1;grid-row:2;margin-right:0;margin-top:-40px}
}

/* (data-animate now handled by the .will-animate opt-in pattern above) */

/* Image zoom utility on clickable thumbnails */
.gallery,.photo-grid a,.archive-strip a,.acft-masonry a{overflow:hidden;border-radius:8px}
.gallery img,.photo-grid img,.archive-strip img,.acft-masonry img{transition:transform .4s ease}
.gallery a:hover img,.photo-grid a:hover img,.archive-strip a:hover img,.acft-masonry a:hover img{transform:scale(1.04)}

/* Photo credit — bottom-right overlay on images */
.photo-credit{position:absolute;right:12px;bottom:10px;font-family:var(--font-body);font-size:11px;color:rgba(255,255,255,.5);letter-spacing:.04em;pointer-events:none;z-index:4;text-shadow:0 1px 4px rgba(0,0,0,.5)}
.photo-credit--dark{color:rgba(25,24,28,.5);text-shadow:none}

/* Paper noise texture — opt-in only via .has-grain */
.has-grain{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-size:256px 256px}
.section--cream{background-color:var(--color-cream)}
.section--surface{background-color:var(--color-surface)}

/* Section transition strip */
.section-seam{height:4px;background:linear-gradient(to right,transparent 10%,rgba(196,162,101,.2) 30%,rgba(196,162,101,.2) 70%,transparent 90%);border:0;margin:0}

/* Decorative coordinates overlay (hero corners) */
.coords{position:absolute;z-index:5;font-family:var(--font-body);font-size:10px;color:rgba(238,234,214,.8);letter-spacing:.14em;font-variant-numeric:tabular-nums;pointer-events:none;text-transform:uppercase;background:rgba(25,24,28,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(238,234,214,.12);padding:4px 12px;border-radius:999px}
.coords--bl{bottom:20px;left:24px}
.coords--tr{top:20px;right:24px}

/* Program cards → glass with brass border */
.program{background:rgba(255,255,255,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.25);border-left:3px solid var(--color-brass);box-shadow:0 4px 24px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.4)}

/* Give cards → glass with hover blur boost */
.give-card{background:rgba(255,255,255,.55);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.25);border-top:3px solid var(--color-brass);box-shadow:0 4px 24px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.4);transition:all .3s ease}
.give-card:hover{background:rgba(255,255,255,.7);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}

/* Collection filter tabs → sticky glass toolbar (Design System: glass utility layer) */
.tabs{background:rgba(250,250,248,.72);backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);border-top:1px solid rgba(25,24,28,.06);border-bottom:1px solid rgba(25,24,28,.08);box-shadow:0 6px 24px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.5);position:sticky;top:64px;z-index:10}
.tabs__inner{flex-wrap:wrap;gap:12px 16px;padding:12px 20px}
.tabs .collection-search{flex:1;min-width:200px;max-width:300px;border:1px solid rgba(25,24,28,.1);background:rgba(255,255,255,.55);padding:4px 12px}
.tabs .collection-search:focus-within{background:rgba(255,255,255,.85)}
.tabs .collection-search input{font-size:13px}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .program,.give-card,.tabs{background:rgba(255,255,255,.92)}
}

/* Hover lift utility — cards site-wide */
.event-card,.info-card,.tip,.give-card,.program,.vol-role,.aircraft-card,.blog-post,.press-card,.press__item,.res-feat,.res-card{transition:transform .25s ease,box-shadow .25s ease}
.event-card:hover,.vol-role:hover,.blog-post:hover,.press-card:hover,.press__item:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}

/* Blueprint texture (decorative, very faint) */
:root{
  --texture-blueprint:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><g stroke='%23C4A265' fill='none'><g opacity='0.03'><path d='M0 40h200M0 80h200M0 120h200M0 160h200M40 0v200M80 0v200M120 0v200M160 0v200'/></g><g opacity='0.02'><path d='M-40 40L40 -40M0 80L80 0M40 120L120 40M80 160L160 80M120 200L200 120'/></g><g opacity='0.03' stroke-width='1'><circle cx='40' cy='40' r='3'/><circle cx='160' cy='120' r='3'/></g></g></svg>");
}
.has-blueprint{background-image:var(--texture-blueprint);background-size:200px 200px;background-repeat:repeat}
.section--cream.has-blueprint,.section--surface.has-blueprint{background-image:var(--texture-blueprint),none}
@media (prefers-reduced-motion: reduce), (prefers-contrast: more){.has-blueprint{background-image:none}}

/* Simplified hero on index.html */
.hero__brass-rule{width:40px;height:1px;background:rgba(196,162,101,.5);margin-bottom:18px}
.hero__overline{color:rgba(255,255,255,.6);letter-spacing:.2em;font-size:11px;font-weight:500;text-transform:uppercase}
.hero__title{font-weight:400;font-size:clamp(40px,6.5vw,64px);letter-spacing:-.02em;color:#fff}
.hero__support{font-family:var(--font-display);font-weight:300;font-size:20px;color:rgba(255,255,255,.75);margin-top:14px;line-height:1.4}
.hero__cta-row{display:inline-flex;align-items:center;gap:36px;margin-top:36px;flex-wrap:wrap;background:none;border:0;padding:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.btn--cream{background:transparent;color:#fafaf8;border:1.5px solid rgba(196,162,101,.75);padding:13px 28px;border-radius:4px;font-family:var(--font-body);font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;filter:drop-shadow(0 2px 16px rgba(0,0,0,.4))}
.btn--cream:hover{background:var(--color-brass);border-color:var(--color-brass);color:var(--color-ink);transform:translateY(-2px);filter:drop-shadow(0 6px 22px rgba(0,0,0,.5))}
.btn--outline-cream{background:transparent;color:#fafaf8;border:0;padding:4px 0;border-radius:0;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.04em;transition:color .2s ease,gap .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:6px;filter:drop-shadow(0 2px 16px rgba(0,0,0,.4))}
.btn--outline-cream::after{content:"→";color:var(--color-brass);font-size:16px;transition:transform .2s ease}
.btn--outline-cream:hover{color:var(--color-brass);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.btn--outline-cream:hover::after{transform:translateX(4px)}
.hero__cinematic{position:absolute;inset:0;z-index:2;pointer-events:none;background:
  radial-gradient(ellipse at center,transparent 30%,rgba(15,14,19,.42) 100%),
  linear-gradient(to bottom,rgba(15,14,19,.13) 0%,rgba(15,14,19,.51) 100%)}
.clouds,.cloud{display:none !important}

/* Museum caption ("archival label") — applied globally to captions */
.caption,.caption-archival,.tt__fig figcaption,.then-now figcaption,.acft-story figure figcaption,.editorial-block figcaption,.archive-strip figcaption,figure figcaption{font-family:var(--font-body);font-size:11px;letter-spacing:.04em;color:#888;border-top:1px solid rgba(187,179,154,.3);padding-top:8px;margin-top:12px;max-width:480px;line-height:1.5;text-transform:none;font-style:normal;font-weight:400}
.section--dark figure figcaption,.section--dark .caption{color:rgba(255,255,255,.5);border-top-color:rgba(187,179,154,.2)}
/* Dark-section links — brass, not pink. Skip buttons and structured CTAs. */
.section--dark a:not(.btn):not(.btn--primary):not(.btn--ghost):not(.btn--ghost-dark):not(.btn--cream):not(.btn--outline-cream):not(.btn--brass-ghost):not(.closing__link):not(.vol-badge),
.closing a:not(.btn):not(.btn--primary):not(.btn--ghost):not(.closing__link):not(.btn--brass-ghost){color:var(--color-brass);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}
.section--dark a:not(.btn):not(.closing__link):hover,.closing a:not(.btn):not(.closing__link):hover{color:var(--color-cream);border-bottom-color:rgba(196,162,101,.5)}
.section--dark{color:rgba(238,234,214,.85)}
.section--dark p,.section--dark .lead{color:rgba(238,234,214,.85)}
.caption-archival .date,.caption-archival .src{font-variant-numeric:oldstyle-nums;color:#a0a0a0}

/* Featured aircraft cards (museum-catalog entries) */
.featured-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:40px}
.featured-sub{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ex-card{position:relative;background:#fafaf8;border-top:3px solid rgba(196,162,101,.85);border-radius:6px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;gap:0;transition:transform .3s ease,box-shadow .3s ease;text-decoration:none;color:inherit;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.8'/><feColorMatrix values='0 0 0 0 0.5  0 0 0 0 0.4  0 0 0 0 0.3  0 0 0 0.03 0'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");background-size:160px 160px}
.ex-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(0,0,0,.18);color:inherit}
.ex-card--hero{grid-template-columns:60fr 40fr}
.ex-card__media{aspect-ratio:3/4;overflow:hidden;background:#1a1a1a}
.ex-card--hero .ex-card__media{aspect-ratio:auto;min-height:420px}
.ex-card__media img{width:100%;height:100%;object-fit:cover;filter:sepia(8%) saturate(95%);transition:transform .4s ease}
.ex-card:hover .ex-card__media img{transform:scale(1.03)}
.ex-card__body{padding:32px 36px;display:flex;flex-direction:column;justify-content:center;position:relative}
.ex-card__year{font-family:var(--font-body);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);margin:0 0 6px 0;line-height:1}
.ex-card__name{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--color-ink);margin:0 0 12px 0;line-height:1.15;letter-spacing:-.01em}
.ex-card--hero .ex-card__name{font-size:32px}
.ex-card__rule{width:100%;height:1px;background:rgba(187,179,154,.5);margin:0 0 12px 0}
.ex-card__meta{font-family:var(--font-body);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#888;margin-bottom:14px}
.ex-card__desc{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--color-body);margin:0 0 14px 0}
.ex-card__anec{font-family:var(--font-body);font-size:13px;font-style:italic;color:var(--color-green);border-left:2px solid var(--color-green);padding-left:12px;margin:0 0 16px 0;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease,margin .3s ease}
.ex-card:hover .ex-card__anec{max-height:120px;opacity:1}
.ex-card__link{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-accent);letter-spacing:.02em;margin-top:auto}
.ex-card__catalog{position:absolute;top:40px;right:0;transform:rotate(-90deg);transform-origin:right top;font-family:"SF Mono",ui-monospace,"Menlo",monospace;font-size:10px;color:#bbb;letter-spacing:.05em;white-space:nowrap}
@media (max-width:768px){
  .ex-card,.ex-card--hero{grid-template-columns:1fr}
  .ex-card__media{aspect-ratio:4/3;min-height:0}
  .ex-card--hero .ex-card__media{min-height:0;aspect-ratio:4/3}
  .featured-sub{grid-template-columns:1fr}
  .ex-card__body{padding:24px}
  .ex-card__year{font-size:40px}
  .ex-card__catalog{display:none}
}

/* Brass footer divider */
.footer__bottom{border-top-color:rgba(196,162,101,.15)}
.newsletter input{border-color:rgba(196,162,101,.2)}
.footer .logo,.footer a:hover{color:var(--color-dark-text)}

/* Glass utility classes — for floating UI only (nav, chips, overlays, controls) */
.glass{background:rgba(25,24,28,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(238,234,214,.12);box-shadow:0 4px 20px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.04);border-radius:12px}
.glass--light{background:rgba(250,250,248,.6);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(196,162,101,.25)}
.glass--tight{border-radius:6px;padding:6px 12px}
.glass--chip{border-radius:999px;padding:4px 12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.2}
.glass-dark{background:rgba(25,24,28,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(238,234,214,.12);box-shadow:0 4px 20px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.04);border-radius:12px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .glass,.glass-dark{background:rgba(25,24,28,.88)}
  .glass--light{background:rgba(250,250,248,.92)}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .glass{background:rgba(255,255,255,.92)}
  .glass-dark{background:rgba(25,24,28,.92)}
}

/* Nav: glass when scrolled past hero */
.nav{transition:background .3s ease,border-bottom-color .3s ease,box-shadow .3s ease}
.nav.is-scrolled{background:rgba(25,24,28,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid rgba(196,162,101,.4);box-shadow:0 4px 20px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.04)}
.nav.is-scrolled .nav__links a{color:var(--color-dark-text)}
.nav.is-scrolled .nav__links a:hover{color:var(--color-dark-accent)}
.nav.is-scrolled .logo,.nav.is-scrolled .nav__toggle{color:var(--color-dark-text)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .nav.is-scrolled{background:rgba(25,24,28,.92)}
}

/* Mobile menu glass */
.mobile-menu{background:rgba(25,24,28,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.08)}
.mobile-menu a{color:var(--color-dark-text)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .mobile-menu{background:rgba(25,24,28,.95)}
}

/* Showcase info panel glass */
.showcase__body{background:rgba(25,24,28,.6);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-left:1px solid rgba(255,255,255,.08)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .showcase__body{background:rgba(25,24,28,.92)}
}

/* Lightbox controls — glass circular */
.lightbox__nav,.lightbox__close{width:44px;height:44px;border-radius:50%;background:rgba(25,24,28,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(238,234,214,.12);box-shadow:0 4px 20px rgba(0,0,0,.15),inset 0 1px 0 rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.lightbox__nav:hover,.lightbox__close:hover{background:rgba(25,24,28,.6);border-color:rgba(196,162,101,.4)}
.lightbox__close{position:absolute;top:20px;right:24px;font-size:22px;line-height:1;padding:0}

/* Footer newsletter input — glass */
.newsletter input{background:rgba(25,24,28,.45);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(196,162,101,.25);border-right:0;border-radius:8px 0 0 8px;color:#fff}
.newsletter input::placeholder{color:rgba(255,255,255,.5)}
.newsletter input:focus{border-color:rgba(196,162,101,.5)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .newsletter input{background:rgba(255,255,255,.08)}
}

/* Page-load fade handled by the Page transition block below */
body{opacity:1}

/* Parallax clouds in hero */
.clouds{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.cloud{position:absolute;opacity:.5;will-change:transform}
.cloud--1{top:12%;left:-10%;width:480px;opacity:.35}
.cloud--2{top:28%;right:-10%;width:380px;opacity:.25}
.cloud--3{top:55%;left:20%;width:300px;opacity:.18}
.hero__inner,.hero__scroll{z-index:2}
.hero__overlay{z-index:2}

/* Stat band — aviation-instrument brass-placard aesthetic */
.stat-band{position:relative;background:#0f0e13;padding:56px 0;background-image:radial-gradient(rgba(196,162,101,.03) 1px, transparent 1px);background-size:3px 3px}
.stat-band::before,.stat-band::after{content:"";position:absolute;left:0;right:0;height:1px;background:rgba(196,162,101,.08)}
.stat-band::before{top:0}
.stat-band::after{bottom:0}
.stat-band__inner{max-width:1120px;margin:0 auto;padding:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.stat{position:relative;background:#19181C;padding:40px 24px;text-align:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.stat::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center, rgba(196,162,101,.06) 0%, transparent 60%);pointer-events:none}
/* Corner registration marks */
.stat::before{content:"";position:absolute;top:10px;left:10px;width:8px;height:8px;border-left:2px solid rgba(196,162,101,.5);border-top:2px solid rgba(196,162,101,.5)}
.stat__tr,.stat__bl,.stat__br{position:absolute;width:8px;height:8px;pointer-events:none}
.stat__tr{top:10px;right:10px;border-right:2px solid rgba(196,162,101,.5);border-top:2px solid rgba(196,162,101,.5)}
.stat__bl{bottom:10px;left:10px;border-left:2px solid rgba(196,162,101,.5);border-bottom:2px solid rgba(196,162,101,.5)}
.stat__br{bottom:10px;right:10px;border-right:2px solid rgba(196,162,101,.5);border-bottom:2px solid rgba(196,162,101,.5)}
.stat__num{position:relative;z-index:1;font-family:var(--font-display);font-weight:300;font-size:72px;line-height:1;color:#EEEAD6;letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-shadow:0 0 20px rgba(196,162,101,.15);display:inline-flex;justify-content:center}
.stat__num .digit{display:inline-block;min-width:.55em;padding:0 .03em;border-bottom:1px solid rgba(196,162,101,.2);font-variant-numeric:tabular-nums;text-align:center}
.stat--wide .stat__num{font-size:80px}
.stat__rule{position:relative;z-index:1;width:24px;height:1px;background:rgba(196,162,101,.4);margin:20px auto 14px auto}
.stat__label{position:relative;z-index:1;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-khaki)}
@media (max-width:768px){
  .stat-band__inner{grid-template-columns:1fr;gap:2px}
  .stat__num{font-size:56px}
  .stat--wide .stat__num{font-size:64px}
}
@media (prefers-reduced-motion: reduce){
  .stat__num .digit{transition:none !important}
}

/* Aircraft-card 3D tilt */
.aircraft-grid{perspective:1000px}
.aircraft-card{transform-style:preserve-3d;transition:transform .15s ease,box-shadow 200ms ease}

/* Spec card staggered reveal */
.spec-card .row{opacity:0;transform:translateY(15px);transition:opacity .4s ease-out,transform .4s ease-out}
.spec-card.visible .row{opacity:1;transform:translateY(0)}
.spec-card.visible .row:nth-child(1){transition-delay:.05s}
.spec-card.visible .row:nth-child(2){transition-delay:.15s}
.spec-card.visible .row:nth-child(3){transition-delay:.25s}
.spec-card.visible .row:nth-child(4){transition-delay:.35s}
.spec-card.visible .row:nth-child(5){transition-delay:.45s}
.spec-card.visible .row:nth-child(6){transition-delay:.55s}
.spec-card.visible .row:nth-child(7){transition-delay:.65s}
.spec-card.visible .row:nth-child(8){transition-delay:.75s}

/* Progress bars animate on view */
.progress__fill{width:0;background:var(--color-green);transition:width 1s ease-out}
.progress.is-filled .progress__fill{width:var(--pct,60%)}
.progress{background:#e5e5e0}

/* Nav dot pulse */
.nav__open::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--color-green);margin-right:6px;vertical-align:middle;box-shadow:0 0 0 0 rgba(63,118,82,.4);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(63,118,82,.4)}70%{box-shadow:0 0 0 8px rgba(63,118,82,0)}100%{box-shadow:0 0 0 0 rgba(63,118,82,0)}}

/* Footer biplane flyover — overflow visible so the loop escapes the footer cleanly */
.footer{position:relative;overflow:visible}
.flying-biplane{position:absolute;top:20px;left:0;width:50px;height:auto;opacity:0;filter:brightness(0) invert(62%) sepia(38%) saturate(510%) hue-rotate(5deg);pointer-events:auto;cursor:pointer;z-index:50;transform:translate(-60px,0)}
.footer.is-revealed .flying-biplane{opacity:.45;transition:opacity .6s ease-out}

/* Sitewide ambient plane — fully separate layer from the footer plane */
.sky-plane__container{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;overflow:hidden;z-index:40}
.sky-plane{position:absolute;top:0;left:0;width:60px;height:auto;opacity:0;filter:brightness(0) invert(62%) sepia(38%) saturate(510%) hue-rotate(5deg);pointer-events:none;will-change:auto;transform:translate(-200px,-200px)}
.sky-plane.is-active{opacity:.5}

/* Story timeline v2 — left-aligned visual divider with dated entries to the right */
.story-tl{position:relative;max-width:1040px;margin:0 auto;padding:0 24px 40px 24px}
.story-tl__line{position:absolute;left:160px;top:20px;bottom:0;width:1px;background:rgba(196,162,101,.25);z-index:1}
.story-tl__fill{position:absolute;left:160px;top:20px;width:1px;background:rgba(196,162,101,.7);height:0;z-index:2;will-change:height}
.story-tl__entry{position:relative;padding:20px 0 40px 200px;min-height:80px}
.story-tl__date{position:absolute;left:0;top:28px;width:120px;text-align:right;font-family:var(--font-body);font-size:11px;font-weight:600;color:var(--color-secondary);letter-spacing:.14em;text-transform:uppercase;line-height:1.2;font-feature-settings:"tnum"}
.story-tl__dot{position:absolute;left:160px;top:29px;transform:translate(-50%,0);width:7px;height:7px;border-radius:50%;background:var(--color-canvas);border:1.5px solid var(--color-brass);box-sizing:border-box;z-index:3;transition:background .3s ease,border-color .3s ease}
.story-tl__entry.is-reached .story-tl__dot{background:var(--color-brass);border-color:var(--color-brass)}
.section--cream .story-tl__dot{background:var(--color-cream)}
.story-tl__title{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--color-ink);margin:0 0 8px 0;line-height:1.3}
.story-tl__body{font-size:15px;line-height:1.7;color:var(--color-body);margin:0 0 16px 0}
.story-tl__img{width:100%;max-width:480px;border-radius:8px;box-shadow:var(--shadow-md);margin-top:12px;display:block}
@media (max-width:768px){
  .story-tl{padding:0 16px 40px 16px}
  .story-tl__line,.story-tl__fill{left:20px}
  .story-tl__entry{padding:8px 0 32px 48px}
  .story-tl__date{position:static;width:auto;text-align:left;top:auto;margin-bottom:6px;font-size:11px;color:var(--color-secondary);font-weight:600;letter-spacing:.14em;text-transform:uppercase}
  .story-tl__dot{left:20px;top:40px}
}

/* Event metadata strip — single-line brass caps */
.event-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass);margin:8px 0 20px 0}
.event-meta__sep{color:rgba(196,162,101,.5);font-weight:400}
.countdown{display:inline;color:var(--color-brass)}

/* Carousel progress bar */
.showcase__progress{position:absolute;left:0;bottom:0;height:3px;background:rgba(255,255,255,.08);width:100%;z-index:4}
.showcase__progress__bar{height:100%;background:var(--color-accent);width:0;transform-origin:left center}
@media (prefers-reduced-motion: reduce){.showcase__progress{display:none}}

/* Page transition */
.js-enabled body main{opacity:0;transform:translateY(15px);transition:opacity .3s ease-out,transform .3s ease-out}
.js-enabled body.page-loaded main{opacity:1;transform:translateY(0)}
.js-enabled body.page-exit main{opacity:0;transform:translateY(0);transition:opacity .2s ease-in}
@media (prefers-reduced-motion: reduce){
  .js-enabled body main,.js-enabled body.page-exit main{opacity:1;transform:none;transition:none}
}

/* Reduced motion — disable all the above */
@media (prefers-reduced-motion: reduce){
  .cloud,.nav__open::before,.flying-biplane,.progress__fill,.aircraft-card,.spec-card .row{animation:none !important;transition:none !important;transform:none !important}
  .spec-card .row{opacity:1}
  .progress__fill{width:var(--pct,60%) !important}
  .js-enabled body main{opacity:1;transform:none;transition:none}
}

/* Reveal animations — content visible by default, animation opts in via .will-animate */
.reveal,[data-animate]{opacity:1;transform:none}
@media (prefers-reduced-motion: no-preference){
  .will-animate{opacity:0;transform:translateY(20px);transition:opacity .5s ease-out,transform .5s ease-out}
  .will-animate.is-visible{opacity:1;transform:translateY(0)}
}

/* Responsive */
@media (max-width:1024px){
  .section{padding:64px 0}
  .section--sm{padding:48px 0}
  .cards,.aircraft-grid,.give-cards,.team-grid{grid-template-columns:repeat(2,1fr)}
  .tips{grid-template-columns:repeat(2,1fr)}
  .two-col,.two-col--55-45,.two-col--45-55,.two-col--65-35{grid-template-columns:1fr;gap:32px}
  .spec-card{position:static}
  .footer__grid{grid-template-columns:1fr 1fr 1fr}
  .photo-grid{grid-template-columns:repeat(2,1fr)}
}

/* ── Before / After Restoration Slider ── */
.ba-slider{position:relative;width:100%;max-width:900px;margin:0 auto;overflow:hidden;border-radius:8px;aspect-ratio:4/3;cursor:col-resize;user-select:none;-webkit-user-select:none}
.ba-slider img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba-slider__before{clip-path:inset(0 50% 0 0)}
.ba-slider__handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--color-cream);z-index:3;transform:translateX(-50%);pointer-events:none}
.ba-slider__handle::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--color-cream);border:2px solid rgba(25,24,28,.3);box-shadow:0 2px 12px rgba(0,0,0,.25);pointer-events:auto}
.ba-slider__handle::after{content:'◀ ▶';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;letter-spacing:2px;color:var(--color-ink);pointer-events:none;white-space:nowrap}
.ba-slider__label{position:absolute;bottom:16px;padding:6px 14px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-cream);background:rgba(25,24,28,.7);backdrop-filter:blur(4px);border-radius:4px;z-index:2;pointer-events:none}
.ba-slider__label--before{left:16px}
.ba-slider__label--after{right:16px}
.ba-restore{padding:60px 0 80px;text-align:center}
.ba-restore .overline{margin-bottom:8px}
.ba-restore .h-section{margin-bottom:8px}
.ba-restore__subtitle{font-family:var(--font-body);font-size:16px;color:var(--color-body);margin:0 0 32px 0}
.footer__legal{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.footer__legal a{color:rgba(250,250,248,.75);text-decoration:none;transition:color .15s ease}
.footer__legal a:hover{color:var(--color-brass)}
.footer__sep{color:rgba(250,250,248,.3)}
.footer__contact{margin-top:18px;font-family:var(--font-body);font-size:13px;color:rgba(250,250,248,.75);display:flex;flex-direction:column;gap:8px}
.footer__contact-row{display:grid;grid-template-columns:72px 1fr;gap:10px;align-items:start;line-height:1.45}
.footer__contact-k{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);padding-top:2px}
.footer__contact a{color:rgba(250,250,248,.9);text-decoration:underline;text-decoration-color:rgba(196,162,101,.4);text-underline-offset:2px}
.footer__contact a:hover{text-decoration-color:var(--color-brass)}
.visit-ops{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1040px;margin:0 auto}
.visit-ops__card{background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;padding:24px 24px;box-shadow:var(--shadow-sm)}
.visit-ops__card h3{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--color-ink);margin:0 0 10px 0}
.visit-ops__card p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--color-body);margin:0 0 6px 0}
.visit-ops__card ul{list-style:disc;padding-left:1.25em;margin:0;color:var(--color-body);font-size:15px;line-height:1.65}
.visit-ops__card ul li{margin:4px 0}
@media (max-width:780px){.visit-ops{grid-template-columns:1fr}}
.visit-faq{max-width:820px;margin:56px auto 0 auto}
.visit-faq__heading{font-family:var(--font-display);font-size:24px;font-weight:500;color:var(--color-ink);margin:0 0 16px 0;text-align:center}
.visit-faq details{border-top:1px solid var(--color-rule,#e3dfd3);padding:14px 0}
.visit-faq details:last-of-type{border-bottom:1px solid var(--color-rule,#e3dfd3)}
.visit-faq summary{font-family:var(--font-body);font-size:16px;font-weight:600;color:var(--color-ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}
.visit-faq summary::after{content:"+";font-size:22px;color:var(--color-accent);transition:transform .2s ease}
.visit-faq details[open] summary::after{content:"\2212"}
.visit-faq details p{font-family:var(--font-body);font-size:15px;line-height:1.65;color:var(--color-body);margin:10px 0 0 0}
.group-form{display:flex;flex-direction:column;gap:16px;font-family:var(--font-body)}
.group-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.group-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--color-body)}
.group-form label span{font-weight:600;letter-spacing:.02em;color:var(--color-ink)}
.group-form input,.group-form textarea,.group-form select{font-family:var(--font-body);font-size:15px;padding:10px 14px;border:1px solid var(--color-rule);border-radius:6px;background:#fff;color:var(--color-ink);transition:border-color .15s ease, box-shadow .15s ease}
.group-form input:hover,.group-form textarea:hover,.group-form select:hover{border-color:rgba(25,24,28,.25)}
.group-form input:focus,.group-form textarea:focus,.group-form select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(160,32,20,.12)}
.group-form textarea{resize:vertical;min-height:88px}
.group-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23C4A265' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='1 1 6 6 11 1'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
.group-form__full{grid-column:1/-1}
.group-form button[type="submit"]{align-self:flex-start;padding:12px 28px;margin-top:8px;min-width:200px}
@media (max-width:600px){.group-form__row{grid-template-columns:1fr}.group-form button[type="submit"]{width:100%}}
.acft-visit{background:rgba(196,162,101,.07);border-top:1px solid var(--color-rule,#e3dfd3);border-bottom:1px solid var(--color-rule,#e3dfd3)}
.acft-visit__inner{max-width:var(--w-reading);margin:0 auto;padding:48px 24px;text-align:center}
.acft-visit__inner .overline{margin-bottom:10px}
.acft-visit__lead{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--color-body);margin:0 0 24px 0}
.acft-visit__actions{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}
.acft-why{background:var(--color-canvas);border-bottom:1px solid var(--color-rule,#e3dfd3)}
.acft-why__inner{max-width:860px;margin:0 auto;padding:40px 24px;text-align:center}
.acft-why__inner .overline{margin-bottom:12px}
.acft-why__text{font-family:var(--font-display);font-size:clamp(19px,2.2vw,24px);font-weight:300;line-height:1.45;color:var(--color-ink);margin:0 0 20px 0;font-style:italic}
.acft-why__status{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}
.acft-why__loan-src{font-family:var(--font-body);font-size:13px;color:var(--color-body)}
.nn-subnav{background:var(--color-canvas);border-bottom:1px solid var(--color-rule);padding:16px 20px}
.nn-subnav__inner{max-width:1040px;margin:0 auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.nn-subnav__label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-brass)}
.nn-subnav__pills{display:flex;gap:6px;flex-wrap:wrap}
.nn-subnav__pill{font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--color-body);padding:6px 14px;border-radius:999px;text-decoration:none;border:1px solid transparent;transition:all .15s ease}
.nn-subnav__pill:hover{color:var(--color-accent);border-color:var(--color-rule)}
.nn-subnav__pill.is-active{background:var(--color-ink);color:var(--color-canvas);border-color:var(--color-ink)}
.press-band{background:var(--color-canvas);border-top:1px solid var(--color-rule,#e3dfd3);border-bottom:1px solid var(--color-rule,#e3dfd3);padding:24px 20px}
.press-band__inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:32px;flex-wrap:wrap;justify-content:center}
.press-band__label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-brass)}
.press-band__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:center}
.press-band__list li{font-family:var(--font-display);font-size:15px;font-weight:400;letter-spacing:.01em;color:var(--color-ink)}
.press-band__list a{color:inherit;text-decoration:none;opacity:.85;transition:opacity .15s ease, color .15s ease}
.press-band__list a:hover{opacity:1;color:var(--color-accent)}
.press-band__cta{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-accent);text-decoration:none}
.press-band__cta:hover{text-decoration:underline;text-underline-offset:3px}
.events-intro{background:rgba(196,162,101,.06);border-bottom:1px solid var(--color-rule)}
.events-intro__inner{max-width:1080px;margin:0 auto;padding:40px 24px}
.events-intro__headline{text-align:center;max-width:680px;margin:0 auto 28px auto}
.events-intro__headline .overline{margin-bottom:8px}
.events-intro__headline p{font-family:var(--font-body);font-size:15px;line-height:1.6;color:var(--color-body);margin:0}
.events-intro__tracks{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.events-intro__track{position:relative;display:block;padding:20px 24px;background:var(--color-canvas);border:1px solid var(--color-rule);border-radius:6px;text-decoration:none;color:inherit;transition:border-color .15s ease, transform .15s ease}
.events-intro__track:hover{border-color:var(--color-accent);transform:translateY(-1px)}
.events-intro__tag{font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-brass);margin-bottom:6px}
.events-intro__title{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--color-ink);line-height:1.2}
.events-intro__meta{font-family:var(--font-body);font-size:13px;color:var(--color-body);margin-top:6px;line-height:1.5}
.events-intro__arrow{position:absolute;top:20px;right:20px;font-size:18px;color:var(--color-brass);opacity:.6}
.events-intro__track:hover .events-intro__arrow{opacity:1;color:var(--color-accent)}
@media (max-width:720px){.events-intro__tracks{grid-template-columns:1fr}}
.page-subnav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;padding:20px 20px;background:var(--color-canvas);border-bottom:1px solid var(--color-rule,#e3dfd3);position:sticky;top:64px;z-index:10}
.page-subnav a{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--color-body);padding:8px 14px;border-radius:999px;text-decoration:none;transition:background .15s ease, color .15s ease}
.page-subnav a:hover{background:rgba(196,162,101,.12);color:var(--color-accent)}
.fn-featured{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;max-width:1080px;margin:0 auto;background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-md)}
.fn-featured__media{aspect-ratio:16/10;overflow:hidden;background:#1a1a1a}
.fn-featured__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.fn-featured__media:hover img{transform:scale(1.02)}
.fn-featured__body{padding:32px 36px 36px 0}
.fn-featured__tag{display:inline-block;font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);padding:4px 10px;border:1px solid var(--color-accent);border-radius:999px;margin-bottom:14px}
.fn-featured__title{display:block;font-family:var(--font-display);font-size:clamp(22px,2.6vw,30px);font-weight:400;color:var(--color-ink);line-height:1.25;text-decoration:none;margin-bottom:10px}
.fn-featured__title:hover{color:var(--color-accent)}
.fn-featured__meta{font-family:var(--font-body);font-size:13px;color:var(--color-secondary);margin-bottom:14px}
.fn-featured__excerpt{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--color-body);margin:0 0 20px 0}
.fn-featured__cta{font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-accent);text-decoration:none;letter-spacing:.02em}
.fn-featured__cta:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:820px){.fn-featured{grid-template-columns:1fr}.fn-featured__body{padding:28px 28px 32px 28px}}
.fn-divider{display:flex;align-items:center;gap:14px;max-width:1080px;margin:56px auto 24px auto}
.fn-divider::before,.fn-divider::after{content:"";flex:1;height:1px;background:var(--color-rule,#e3dfd3)}
.fn-divider span{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-brass)}
.fn-list{display:flex;flex-direction:column;gap:24px;max-width:1080px;margin:0 auto}
.fn-row{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start;padding:20px;background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;box-shadow:var(--shadow-sm)}
.fn-row__media{aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:#1a1a1a}
.fn-row__media img{width:100%;height:100%;object-fit:cover;display:block}
.fn-row__tag{display:inline-block;font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);margin-bottom:8px}
.fn-row__title{display:block;font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--color-ink);line-height:1.3;text-decoration:none;margin-bottom:6px}
.fn-row__title:hover{color:var(--color-accent)}
.fn-row__meta{font-family:var(--font-body);font-size:12px;color:var(--color-secondary);margin-bottom:10px}
.fn-row__excerpt{font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--color-body);margin:0 0 10px 0}
.fn-row__cta{font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-accent);text-decoration:none}
.fn-row__cta:hover{text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.fn-row{grid-template-columns:1fr}.fn-row__media{aspect-ratio:16/9}}
.fn-next{max-width:820px;margin:48px auto 0 auto;padding:24px 28px;background:rgba(196,162,101,.08);border:1px dashed var(--color-rule,#e3dfd3);border-radius:6px;text-align:center}
.fn-next .overline{margin-bottom:8px}
.fn-next p{font-family:var(--font-body);font-size:14px;line-height:1.65;color:var(--color-body);margin:0}
.fn-next a{color:var(--color-accent);text-decoration:underline}
.story-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:32px;padding-top:20px;border-top:1px solid var(--color-rule,#e3dfd3)}
.story-nav a{font-family:var(--font-body);font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--color-body);padding:8px 14px;border-radius:999px;text-decoration:none;transition:background .15s ease, color .15s ease}
.story-nav a:hover{background:rgba(196,162,101,.12);color:var(--color-accent)}
.press-kit{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}
.press-kit h3{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--color-ink);margin:0 0 12px 0}
.press-kit__facts ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.press-kit__facts li{display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:start;font-family:var(--font-body);font-size:14px;line-height:1.5;color:var(--color-ink)}
.press-kit__facts .k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brass);padding-top:2px}
.press-kit__quote{font-family:var(--font-body);font-size:15px;line-height:1.7;color:var(--color-body);padding:16px 20px;background:var(--color-canvas);border-left:3px solid var(--color-accent);margin:0}
.press-kit__assets{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.press-kit__asset{display:block;text-decoration:none;color:inherit}
.press-kit__asset-thumb{aspect-ratio:4/3;background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:10px}
.press-kit__asset-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.press-kit__asset-lbl{font-family:var(--font-body);font-size:12px;color:var(--color-body);margin-top:6px;text-align:center}
@media (max-width:860px){.press-kit{grid-template-columns:1fr;gap:32px}.press-kit__assets{grid-template-columns:repeat(2,1fr)}}
.impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1080px;margin:0 auto}
.impact-card{background:var(--color-canvas);border:1px solid var(--color-rule);border-radius:6px;padding:28px 28px;box-shadow:var(--shadow-sm)}
.impact-card__num{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--color-accent);margin-bottom:8px;letter-spacing:.02em}
.impact-card h3{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--color-ink);margin:0 0 10px 0;line-height:1.3}
.impact-card p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--color-body);margin:0}
@media (max-width:900px){.impact-grid{grid-template-columns:1fr}}
.tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:1040px;margin:0 auto}
.tier{background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;padding:24px 20px;text-align:center;box-shadow:var(--shadow-sm)}
.tier__amt{font-family:var(--font-display);font-size:32px;font-weight:500;color:var(--color-accent);line-height:1}
.tier__lbl{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brass);margin:8px 0 12px 0}
.tier p{font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--color-body);margin:0}
@media (max-width:900px){.tier-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:500px){.tier-grid{grid-template-columns:1fr}}
.sponsor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:920px;margin:0 auto}
.sponsor-card{background:var(--color-canvas);border-left:3px solid var(--color-accent);border-radius:0 4px 4px 0;padding:20px 24px;box-shadow:var(--shadow-sm)}
.sponsor-card h3{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--color-ink);margin:0 0 8px 0}
.sponsor-card p{font-family:var(--font-body);font-size:14px;line-height:1.6;color:var(--color-body);margin:0}
@media (max-width:700px){.sponsor-grid{grid-template-columns:1fr}}
.nonprofit-proof{background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;padding:28px 32px;box-shadow:var(--shadow-sm)}
.nonprofit-proof__list{list-style:none;padding:0;margin:16px 0 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.nonprofit-proof__list li{display:flex;flex-direction:column;gap:2px;font-family:var(--font-body);font-size:14px;color:var(--color-ink)}
.nonprofit-proof__list .k{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-brass)}
@media (max-width:600px){.nonprofit-proof__list{grid-template-columns:1fr}}
.partner-banner{background:rgba(196,162,101,.08);border-bottom:1px solid var(--color-rule,#e3dfd3)}
.partner-banner__inner{max-width:960px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.partner-banner__tag{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--color-brass);padding:4px 12px;border:1px solid var(--color-brass);border-radius:999px;flex-shrink:0}
.partner-banner p{font-family:var(--font-body);font-size:14px;line-height:1.55;color:var(--color-body);margin:0;flex:1;min-width:240px}
.partner-banner a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}
.ww-ctas{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ww-cta{display:flex;flex-direction:column;gap:4px;padding:20px 24px;background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;text-decoration:none;color:inherit;transition:border-color .15s ease, transform .15s ease}
.ww-cta:hover{border-color:var(--color-accent);transform:translateY(-1px)}
.ww-cta__k{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--color-ink)}
.ww-cta__v{font-family:var(--font-body);font-size:13px;color:var(--color-body)}
@media (max-width:780px){.ww-ctas{grid-template-columns:1fr}}
.ww-services{list-style:disc;padding-left:1.4em;margin:16px 0 0 0;color:var(--color-body)}
.ww-services li{font-family:var(--font-body);font-size:16px;line-height:1.65;margin:8px 0}
.saturday-list{list-style:none;padding:0;margin:24px 0;display:flex;flex-direction:column;gap:12px}
.saturday-list li{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--color-body);padding-left:1.6em;position:relative}
.saturday-list li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--color-accent);font-weight:700}
.visitor-note{font-family:var(--font-body);font-size:14px;color:var(--color-body);font-style:italic;padding:16px 20px;background:rgba(160,32,20,.06);border-left:3px solid var(--color-accent);margin-top:24px}
.collection-toolbar{display:flex;justify-content:center;padding:16px 20px 0}
.collection-chips{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin:0 auto 24px auto}
.collection-chips__label{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass);margin-right:4px}
.chip{font-family:var(--font-body);font-size:13px;font-weight:500;padding:8px 16px;background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:999px;color:var(--color-body);cursor:pointer;transition:all .15s ease}
.chip:hover{border-color:var(--color-accent);color:var(--color-accent)}
.chip.is-active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}
.collection-search{display:flex;align-items:center;gap:8px;background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:999px;padding:6px 16px;flex:1;min-width:240px;max-width:360px}
.collection-search:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(160,32,20,.1)}
.collection-search__icon{width:16px;height:16px;color:var(--color-secondary);flex-shrink:0}
.collection-search input{border:0;background:transparent;outline:none;font-family:var(--font-body);font-size:14px;width:100%;color:var(--color-ink);padding:4px 0}
.collection-search input::placeholder{color:var(--color-secondary)}
.collection-count{font-family:var(--font-body);font-size:13px;color:var(--color-secondary);text-align:center;margin:0 0 16px 0;min-height:1.2em}
.collection-empty{font-family:var(--font-body);font-size:15px;color:var(--color-body);text-align:center;padding:40px 20px}
.link-btn{background:transparent;border:0;color:var(--color-accent);font-family:var(--font-body);font-size:15px;cursor:pointer;text-decoration:underline}
.visit-strip{background:var(--color-canvas);border-bottom:1px solid var(--color-rule,#e3dfd3)}
.visit-strip__inner{max-width:1200px;margin:0 auto;padding:28px 24px;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.visit-strip__pill{font-family:var(--font-body);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);padding:6px 14px;border:1px solid var(--color-accent);border-radius:999px;flex-shrink:0}
.visit-strip__grid{display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:40px;align-items:center;flex:1;min-width:0}
.visit-strip__item{font-family:var(--font-body)}
.visit-strip__label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-brass);margin-bottom:4px}
.visit-strip__value{font-size:15px;line-height:1.35;color:var(--color-ink);font-weight:500}
.visit-strip__cta{display:flex;align-items:center;gap:20px;justify-content:flex-end;flex-wrap:wrap}
@media (max-width:900px){.visit-strip__grid{grid-template-columns:1fr 1fr;gap:24px}.visit-strip__cta{grid-column:1/-1;justify-content:flex-start}}
@media (max-width:520px){.visit-strip__grid{grid-template-columns:1fr}}
.flying-dates{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;max-width:820px;margin:0 auto}
.flying-date{background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;padding:28px 16px;text-align:center;box-shadow:var(--shadow-sm)}
.flying-date__month{font-family:var(--font-display);font-size:28px;font-weight:500;color:var(--color-ink);line-height:1.1}
.flying-date__day{font-family:var(--font-display);font-size:40px;font-weight:400;color:var(--color-accent);line-height:1.1;margin-top:4px}
.flying-date__year{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--color-brass);text-transform:uppercase;margin-top:8px}
.flying-date__cal{display:inline-block;margin-top:12px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--color-accent);text-decoration:none;padding:4px 10px;border:1px solid var(--color-accent);border-radius:999px;transition:background .15s ease,color .15s ease}
.flying-date__cal:hover{background:var(--color-accent);color:#fff}
@media (max-width:900px){.flying-dates{grid-template-columns:repeat(3,1fr)}}
@media (max-width:540px){.flying-dates{grid-template-columns:repeat(2,1fr)}}
.then-now-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;max-width:1100px;margin:0 auto}
.then-now-item{display:block;text-decoration:none;color:inherit;border-radius:4px;overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;transition:transform .25s ease, box-shadow .25s ease}
.then-now-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.then-now-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#1a1a1a}
.then-now-item figcaption{font-family:var(--font-body);font-size:13px;padding:12px 14px;color:var(--color-body);border-top:1px solid var(--color-rule,#e3dfd3)}
@media (max-width:800px){.then-now-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.then-now-grid{grid-template-columns:1fr}}
.h3-progress{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:40px}
.h3-card{background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:6px;overflow:hidden;box-shadow:var(--shadow-sm)}
.h3-card__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 28px;background:rgba(196,162,101,.08);border-bottom:1px solid var(--color-rule,#e3dfd3)}
.h3-card__label{font-family:var(--font-display);font-size:22px;font-weight:500;color:var(--color-ink);margin:0;letter-spacing:-.2px}
.h3-card__row{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:24px 28px;align-items:center;border-top:1px solid var(--color-rule,#e3dfd3)}
.h3-card__row:first-of-type{border-top:0}
.h3-card__text{font-family:var(--font-body);color:var(--color-body)}
.h3-card__text p{font-size:16px;line-height:1.65;margin:6px 0 0 0}
.h3-card__kind{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass)}
.h3-card__photo{display:block;border-radius:4px;overflow:hidden;aspect-ratio:4/3}
.h3-card__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.h3-card__photo:hover img{transform:scale(1.03)}
.h3-upcoming{display:flex;align-items:center;gap:16px;padding:24px 28px;background:transparent;border:1px dashed var(--color-rule,#e3dfd3);border-radius:6px;flex-wrap:wrap}
.h3-upcoming__label{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass)}
.h3-upcoming__chips{display:flex;gap:8px;flex-wrap:wrap}
.h3-upcoming__chip{font-family:var(--font-body);font-size:13px;padding:4px 12px;background:rgba(196,162,101,.12);border-radius:999px;color:var(--color-ink)}
@media (max-width:780px){.h3-card__row{grid-template-columns:1fr;gap:20px;padding:20px}.h3-card__head{padding:16px 20px}.h3-card__label{font-size:18px}}
.ww-projects{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ww-project{display:block;text-decoration:none;color:inherit;border-radius:6px;overflow:hidden;background:var(--color-canvas);box-shadow:var(--shadow-sm);transition:transform .2s ease, box-shadow .2s ease}
.ww-project:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.ww-project__media{aspect-ratio:4/5;overflow:hidden;background:#1a1a1a}
.ww-project__media img{width:100%;height:100%;object-fit:cover;display:block}
.ww-project__title{font-family:var(--font-display);font-size:20px;font-weight:500;color:var(--color-ink);margin:16px 16px 4px 16px;line-height:1.25}
.ww-project__cta{display:block;font-family:var(--font-body);font-size:13px;color:var(--color-accent);font-weight:600;margin:0 16px 16px 16px;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:1000px){.ww-projects{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ww-projects{grid-template-columns:1fr}}
.ww-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.ww-article{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--color-canvas);border:1px solid var(--color-rule,#e3dfd3);border-radius:4px;overflow:hidden;transition:transform .2s ease, box-shadow .2s ease}
.ww-article:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.ww-article--static{cursor:default}
.ww-article__media{aspect-ratio:5/6;overflow:hidden;background:#f0ece0}
.ww-article__media img{width:100%;height:100%;object-fit:cover;display:block}
.ww-article__body{padding:20px 20px 12px 20px;flex:1}
.ww-article__title{font-family:var(--font-display);font-size:18px;font-weight:500;color:var(--color-ink);margin:0 0 6px 0;line-height:1.3}
.ww-article__sub{font-family:var(--font-body);font-size:13px;color:var(--color-body);margin:0}
.ww-article__cta{display:block;font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--color-accent);padding:0 20px 20px 20px;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:900px){.ww-articles{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.ww-articles{grid-template-columns:1fr}}
.ww-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:720px;margin:32px auto 0 auto;text-align:left}
.ww-contact__item{display:flex;flex-direction:column;gap:6px;font-family:var(--font-body);font-size:15px;color:var(--color-body)}
.ww-contact__label{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-brass)}
@media (max-width:720px){.ww-contact{grid-template-columns:1fr;text-align:center}}
.acft-story__figure-subtitle{font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--color-body);margin:16px 0 4px 0;text-align:center}
.acft-story__figure-cta{text-align:center;margin:8px 0 24px 0}
.acft-video{padding:40px 0 20px}
.acft-video__inner{max-width:900px;margin:0 auto;padding:0 24px;text-align:center}
.acft-video__frame{position:relative;width:100%;padding-bottom:56.25%;margin-top:16px;border-radius:4px;overflow:hidden;background:#000}
.acft-video__frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.acft-video__frame video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;background:#000}
.acft-showcase{padding:72px 0 56px;background:#ffffff;text-align:center;border-top:1px solid var(--color-rule,rgba(60,55,40,.12));border-bottom:1px solid var(--color-rule,rgba(60,55,40,.12))}
.acft-showcase__overline{font-family:var(--font-mono,ui-monospace,monospace);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--color-mute,#8a8275);margin:0 auto 28px;display:inline-block;border-bottom:1px solid var(--color-rule,rgba(60,55,40,.18));padding-bottom:6px}
.acft-showcase__video{display:block;width:100%;max-width:880px;height:auto;margin:0 auto;background:#ffffff}
.acft-showcase__caption{font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#5f5a52;margin:18px auto 0;font-style:normal}
.acft-showcase--outdoor{background:var(--color-canvas,#fafaf8)}
.acft-showcase--outdoor .acft-showcase__video{background:transparent}
@media (max-width:720px){.acft-showcase{padding:48px 0 32px}.acft-showcase__overline{margin-bottom:18px}.acft-showcase__caption{margin-top:14px}}
.pt19-awards{padding:60px 0;background:var(--color-canvas)}
.pt19-awards__inner{max-width:1040px;margin:0 auto;padding:0 24px;text-align:center}
.pt19-awards__grid{display:grid;grid-template-columns:1fr 1.6fr;gap:48px;align-items:start;text-align:left;margin-top:24px}
.pt19-awards__list{list-style:none;padding:0;margin:0;font-family:var(--font-body)}
.pt19-awards__list li{font-size:18px;font-weight:600;color:var(--color-ink);padding:16px 0;border-bottom:1px solid var(--color-rule,#e3dfd3)}
.pt19-awards__list li:first-child{padding-top:0}
.pt19-awards__desc p{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--color-body);margin:0 0 20px 0}
.pt19-awards__desc p:last-child{margin-bottom:0}
@media (max-width:768px){.pt19-awards__grid{grid-template-columns:1fr;gap:24px}}

@media (max-width:768px){
  .section{padding:48px 0}
  .hero{min-height:560px}
  .hero__title{font-size:2.25rem;letter-spacing:-.8px}
  .hero__subtitle{font-size:1.375rem}
  .h-section{font-size:1.75rem}
  .h-page,.page-hero__title{font-size:2rem;letter-spacing:-.7px}
  .page-hero{height:280px}
  .nav__links,.nav__cta .btn{display:none}
  .nav__toggle{display:inline-flex}
  .nav__open{display:none}
  .cards,.aircraft-grid,.give-cards,.team-grid,.tips{grid-template-columns:1fr}
  .then-now{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr;gap:32px;padding-bottom:40px}
  .footer__col--brand{grid-column:1 / -1}
  .footer__col--contact{grid-column:1 / -1}
  .footer__bottom{flex-direction:column;align-items:flex-start}
  .photo-grid{grid-template-columns:1fr 1fr}
}

/* Collection flightline selector */
.collection-flightline{position:relative;max-width:calc(var(--w-wide) + 48px);min-height:min(720px,calc(100dvh - 110px));margin:0 auto;padding:0;overflow:hidden;border-top:1px solid var(--color-rule);border-bottom:1px solid var(--color-rule);background:linear-gradient(180deg,rgba(250,250,248,.98),rgba(245,242,232,.96));isolation:isolate}
.collection-flightline::before{content:"";position:absolute;inset:24px;border:1px solid rgba(25,24,28,.06);pointer-events:none;z-index:-1}
.collection-flightline::after{content:"";position:absolute;left:48px;right:48px;bottom:178px;height:1px;background:linear-gradient(90deg,transparent,rgba(25,24,28,.18),transparent);pointer-events:none}
.collection-flightline__ticker{position:absolute;top:24px;left:0;display:flex;width:max-content;gap:18px;color:rgba(25,24,28,.18);font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;animation:flightlineTicker 26s linear infinite;z-index:2}
.collection-flightline__stage{position:relative;min-height:520px;padding:70px clamp(22px,5vw,84px) 176px;perspective:1200px}
.collection-flightline__track{position:absolute;inset:60px 0 178px;transform-style:preserve-3d}
.collection-flightline__plane{position:absolute;left:50%;top:50%;width:clamp(210px,24vw,410px);min-height:230px;display:grid;place-items:center;opacity:0;text-decoration:none;transform:translate3d(calc(var(--x) * 1px),calc(var(--y) * 1px),calc(var(--z) * 1px)) translate(-50%,-50%) scale(var(--scale)) rotate(var(--rot));transition:opacity 520ms cubic-bezier(.16,1,.3,1),filter 520ms cubic-bezier(.16,1,.3,1),transform 760ms cubic-bezier(.16,1,.3,1);pointer-events:none;will-change:transform,opacity}
.collection-flightline__plane.is-visible{opacity:var(--opacity);pointer-events:auto}
.collection-flightline__plane.is-active{z-index:5}
.collection-flightline__plane img{width:100%;height:auto;max-height:318px;object-fit:contain;filter:drop-shadow(0 24px 24px rgba(25,24,28,.18));transform-origin:50% 58%;animation:flightlinePlaneFloat 7s ease-in-out infinite}
.collection-flightline__plane.is-active img{filter:drop-shadow(0 32px 28px rgba(25,24,28,.24));animation:flightlinePlaneFloatActive 6.4s ease-in-out infinite}
.collection-flightline__plane:hover img{transform:translateY(-8px) scale(1.015)}
.collection-flightline__caption{position:absolute;left:clamp(28px,5vw,84px);right:clamp(28px,5vw,84px);bottom:30px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding-top:24px;border-top:1px solid var(--color-rule);z-index:8}
.collection-flightline__counter{font-family:var(--font-display);font-size:38px;font-weight:600;line-height:1;color:var(--color-accent);letter-spacing:0}
.collection-flightline__year{margin:4px 0 0 0;font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass)}
.collection-flightline__title{margin:6px 0 0 0;font-family:var(--font-display);font-size:clamp(32px,4vw,56px);line-height:.96;color:var(--color-ink);letter-spacing:0}
.collection-flightline__note{max-width:760px;margin:12px 0 0 0;font-size:15px;line-height:1.55;color:var(--color-body)}
.collection-flightline__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.collection-flightline__nav,.collection-flightline__link{min-height:44px;border:1px solid var(--color-rule);background:rgba(250,250,248,.82);color:var(--color-ink);border-radius:999px;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform 180ms cubic-bezier(.16,1,.3,1),border-color 180ms cubic-bezier(.16,1,.3,1),background 180ms cubic-bezier(.16,1,.3,1)}
.collection-flightline__nav{width:44px;display:grid;place-items:center;cursor:pointer}
.collection-flightline__nav svg{width:22px;height:22px}
.collection-flightline__link{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 18px;font-size:14px;font-weight:600}
.collection-flightline__nav:hover,.collection-flightline__link:hover{border-color:rgba(160,32,20,.38);background:#fff;color:var(--color-accent)}
.collection-flightline__nav:active,.collection-flightline__link:active{transform:translateY(1px)}
.collection-flightline__thumbs{max-width:calc(var(--w-wide) + 48px);margin:0 auto;padding:14px 0 2px;display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;scroll-behavior:smooth;background:var(--color-canvas)}
.collection-flightline__thumb{flex:0 0 98px;height:58px;display:grid;place-items:center;border:1px solid transparent;background:transparent;cursor:pointer;opacity:.52;transition:opacity 180ms cubic-bezier(.16,1,.3,1),transform 180ms cubic-bezier(.16,1,.3,1),border-color 180ms cubic-bezier(.16,1,.3,1),background 180ms cubic-bezier(.16,1,.3,1)}
.collection-flightline__thumb img{max-width:90px;max-height:50px;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(25,24,28,.12))}
.collection-flightline__thumb:hover,.collection-flightline__thumb.is-active{opacity:1;border-color:var(--color-rule);background:rgba(255,255,255,.58);transform:translateY(-2px)}
@keyframes flightlineTicker{to{transform:translateX(-50%)}}
@keyframes flightlinePlaneFloat{0%,100%{transform:translate3d(0,4px,0) rotate(-.4deg)}50%{transform:translate3d(0,-9px,0) rotate(.6deg)}}
@keyframes flightlinePlaneFloatActive{0%,100%{transform:translate3d(0,6px,0) rotate(-.5deg)}45%{transform:translate3d(0,-13px,0) rotate(.8deg)}70%{transform:translate3d(0,-6px,0) rotate(.2deg)}}
@media (max-width:860px){.collection-flightline{min-height:680px}.collection-flightline__stage{padding:70px 12px 260px}.collection-flightline__track{inset:66px 0 260px}.collection-flightline__plane{width:clamp(210px,74vw,390px)}.collection-flightline__caption{grid-template-columns:1fr;align-items:start;bottom:20px}.collection-flightline__actions{justify-content:flex-start}.collection-flightline__thumbs{padding-bottom:8px}.collection-flightline::after{bottom:262px}}
@media (prefers-reduced-motion: reduce){.collection-flightline__ticker,.collection-flightline__plane img{animation:none !important}.collection-flightline__thumbs{scroll-behavior:auto}}

/* ==========================================================================
   Oct 2026 audit fixes
   ========================================================================== */

/* Images carry width/height attributes (no layout shift); keep them responsive. */
img{height:auto}

/* Native cross-page transitions replace the old JS link interception. */
@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}

/* Mobile: footer newsletter no longer pushes the page wider than the screen. */
.footer__newsletter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.footer__newsletter-text,.footer__newsletter-form{min-width:0}
@media (max-width:1000px){.footer__newsletter{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){
  .footer__newsletter-row{flex-wrap:wrap}
  .footer__newsletter-row input{flex:1 1 100%}
  .footer__newsletter-row button{width:100%}
}
html,body{overflow-x:clip}

/* Mobile gutter for the home Virtual Tour block. */
.vt{padding-left:var(--gutter);padding-right:var(--gutter)}

/* Contrast: brass text on light backgrounds was 2.3:1. Darker "brass ink" (~5:1)
   on light sections; dark sections keep the original brass. */
:root{--color-brass-ink:#7f6433}
[data-theme="light"] :is(.kicker,.vt__eyebrow,.coverage__pub,.newsroom__date,.team-member .role,
  .ex-card__year,.event-meta,.countdown,.nn-subnav__label,.press-band__label,.events-intro__tag,
  .fn-divider span,.fn-row__tag,.press-kit__facts .k,.tier__lbl,.nonprofit-proof__list .k,
  .collection-chips__label,.visit-strip__label,.flying-date__year,.h3-card__kind,.h3-upcoming__label,
  .ww-contact__label,.give-card__detail .k,.beginning__figure figcaption .k,.vol-badge .k,
  .event-poster__month,.story-split__cta,.acft-specs__full,.closing__overline){color:var(--color-brass-ink)}
[data-theme="light"] [data-theme="dark"] :is(.kicker,.vt__eyebrow,.press-band__label,.closing__overline,.countdown){color:var(--color-brass)}
.ex-card__meta{color:#6b6b6b}
.flying-date__cal--past{opacity:.55;cursor:default}

/* ==========================================================================
   Design refresh, Oct 2026: retire the generic "template" layer and give the
   site a visual language taken from the aircraft themselves. Everything below
   overrides earlier rules, so it can be reverted by deleting this block.
   ========================================================================== */
:root{
  --font-period:"Big Shoulders Display","Oswald","Arial Narrow",sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  /* warm greys instead of default framework greys */
  --color-secondary:#625d55;
  --color-tertiary:#8f897e;
  --color-amber:var(--color-brass);
  /* one type scale */
  --fs-label:12px;--fs-small:14px;--fs-body:17px;--fs-lead:20px;
  --fs-h3:clamp(22px,2.2vw,28px);
  --fs-h2:clamp(34px,4.4vw,56px);
  --fs-h1:clamp(40px,5.6vw,72px);
  --fs-display:clamp(52px,8vw,112px);
}

/* --- Period display face on page-level headings (1930s aircraft lettering) --- */
.hero__title,.page-hero__title,h1.acft-panel__title,.h-section,.closing__title,
.collection-flightline__title,.vt__title{
  font-family:var(--font-period);font-weight:700;letter-spacing:.01em;line-height:1
}
.hero__title{font-size:var(--fs-display);text-transform:uppercase;letter-spacing:.015em;font-weight:800}
.page-hero__title{font-size:var(--fs-h1);text-transform:uppercase;letter-spacing:.02em}
.h-section{font-size:var(--fs-h2);letter-spacing:.005em}
.closing__title{font-size:var(--fs-h1);text-transform:uppercase;letter-spacing:.02em}
h1.acft-panel__title{font-size:clamp(34px,3.8vw,50px);text-transform:uppercase;letter-spacing:.03em;line-height:1.02}
.collection-flightline__title,.vt__title{font-size:var(--fs-h3)}

/* --- Labels read like stamped drawing callouts --- */
.overline,.hero__overline,.page-hero__overline,.kicker,.vt__eyebrow,.press-band__label,
.closing__overline,.events-intro__tag,.collection-flightline__year,.visit-strip__label{
  font-family:var(--font-mono);font-weight:500;letter-spacing:.12em
}
.overline{font-size:var(--fs-label)}
.overline::before{width:28px;background:currentColor;opacity:.45}

/* --- Retire glassmorphism: solid, honest surfaces --- */
.nav,.nav.is-scrolled,.mobile-menu,.info-card,.program,.give-card,.give-card:hover,.tabs,
.getting-here__panel,.event-poster__inner,.showcase__body,.glass,.glass--light,.glass-dark,
.lightbox__nav,.lightbox__close,.newsletter input,.showcase__nav,.strip__caption{
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important
}
.nav{background:rgba(250,250,248,.98)}
.nav.is-scrolled,.mobile-menu{background:#19181C}
.info-card,.program,.give-card,.getting-here__panel{
  background:#fff;border:1px solid rgba(25,24,28,.10);box-shadow:none;border-radius:4px
}
.give-card:hover{background:#fff;transform:none;box-shadow:0 2px 0 var(--color-brass)}
.tabs{background:#fafaf8}
.event-poster__inner,.showcase__body,.glass,.glass-dark{background:rgba(25,24,28,.84)}
.glass--light{background:rgba(250,250,248,.95)}
.section--glass-bg::before,.section--glass-bg::after{display:none}

/* --- Retire attention-seeking motion --- */
.nav__open::before{animation:none !important;box-shadow:none !important;background:var(--color-brass)}
.restore-tl__stage--active .restore-tl__thumb::after,.timeline__step.is-reached::before,
.hero__scroll .line,.acft-hero__scroll svg{animation:none !important}
.flying-biplane,.sky-plane__container{display:none !important}
.aircraft-card{transform:none !important}
.aircraft-card:hover{box-shadow:0 2px 0 var(--color-brass)}

/* --- Flightline: parked aircraft sit on the ramp instead of bobbing --- */
@keyframes flightlinePlaneFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-1.5px,0)}}
@keyframes flightlinePlaneFloatActive{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-2px,0)}}
.collection-flightline__plane img{filter:drop-shadow(0 10px 7px rgba(25,24,28,.20))}
.collection-flightline__plane.is-active img{filter:drop-shadow(0 12px 8px rgba(25,24,28,.26))}
.collection-flightline__plane:hover img{transform:translateY(-3px)}

/* --- One photographic grade: warm, slightly desaturated, like a print --- */
.hero__bg,.page-hero__bg,.acft-specs__photo img,.acft-masonry img,.photo-grid img,
.aircraft-card img,.ex-card img,main figure img,.closing__bg,.event-poster img,.up-event img{
  filter:saturate(.86) contrast(1.04) sepia(.07) brightness(.99)
}

/* --- Manufacturer's data plate (aircraft spec panel) --- */
.dataplate{
  position:relative;margin:4px auto 0;width:100%;max-width:430px;padding:18px 20px 12px;border-radius:5px;color:#24221e;
  border:1px solid #8a867e;
  background:
    radial-gradient(circle at 11px 11px,#f2f0ea 0 1px,#7d7970 1.6px 3.2px,transparent 3.8px),
    radial-gradient(circle at calc(100% - 11px) 11px,#f2f0ea 0 1px,#7d7970 1.6px 3.2px,transparent 3.8px),
    radial-gradient(circle at 11px calc(100% - 11px),#f2f0ea 0 1px,#7d7970 1.6px 3.2px,transparent 3.8px),
    radial-gradient(circle at calc(100% - 11px) calc(100% - 11px),#f2f0ea 0 1px,#7d7970 1.6px 3.2px,transparent 3.8px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 1px,rgba(0,0,0,.03) 1px 3px),
    linear-gradient(175deg,#e3e0d8 0%,#c9c5bb 55%,#b9b5ab 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.18),0 14px 34px rgba(0,0,0,.38)
}
.dataplate__head{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:0 12px 9px;margin-bottom:4px;
  border-bottom:2px solid #24221e;font-family:var(--font-period);font-weight:800;font-size:16px;letter-spacing:.2em;text-transform:uppercase
}
.dataplate__body.acft-panel__specs{gap:0}
.dataplate .acft-panel__row{display:grid;grid-template-columns:minmax(0,44%) minmax(0,1fr);gap:12px;align-items:baseline;text-align:left;padding:7px 12px;border-bottom:1px solid rgba(36,34,30,.22)}
.dataplate .acft-panel__row:last-child{border-bottom:0}
.dataplate .acft-panel__label{font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#514c43;margin:0}
.dataplate .acft-panel__value{font-family:var(--font-mono);font-size:13.5px;font-weight:500;color:#191815;line-height:1.35}
.dataplate .acft-panel__loan{font-family:var(--font-mono);font-size:11px;line-height:1.5;color:#3d3a33;text-align:left;padding:8px 12px 0;margin:0}
.dataplate__foot{margin-top:8px;padding-top:8px;border-top:1px solid rgba(36,34,30,.35);font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;text-align:center;color:#514c43}
@media (max-width:520px){.dataplate{padding:16px 12px 10px}.dataplate__head{font-size:14px;letter-spacing:.14em}}

/* --- Era timeline (collection page) --- */
.era{padding:96px 0 72px;background:#f4f1e8;border-top:1px solid rgba(25,24,28,.08);
  background-image:linear-gradient(rgba(25,24,28,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(25,24,28,.035) 1px,transparent 1px);background-size:24px 24px}
.era__lead{max-width:640px;color:var(--color-body);margin:0 0 32px}
.era__scroller{overflow-x:auto;scroll-snap-type:x proximity;padding:8px var(--gutter) 24px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.era__scroller:focus-visible{outline:2px solid var(--color-brass);outline-offset:-2px}
.era__track{list-style:none;margin:0 auto;padding:0;display:flex;align-items:stretch;min-width:max-content;border-top:2px solid var(--color-ink);position:relative}
.era__year{position:relative;width:200px;flex:0 0 auto;padding:18px 14px 0;border-left:1px solid rgba(25,24,28,.18);scroll-snap-align:start}
.era__year--empty{width:56px;padding-left:8px;padding-right:0}
.era__year--context{width:170px}
.era__tick{font-family:var(--font-period);font-weight:800;font-size:26px;letter-spacing:.04em;color:var(--color-ink);line-height:1}
.era__year--empty .era__tick{font-size:15px;color:var(--color-tertiary);writing-mode:vertical-rl;transform:rotate(180deg)}
.era__year::before{content:"";position:absolute;top:-7px;left:-6px;width:10px;height:10px;border-radius:50%;background:#f4f1e8;border:2px solid var(--color-ink)}
.era__year--empty::before{width:6px;height:6px;top:-5px;left:-4px;border-width:1px}
.era__gap{position:absolute;top:-30px;left:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-tertiary)}
.era__context{font-family:var(--font-mono);font-size:11.5px;line-height:1.55;color:var(--color-secondary);margin:10px 0 0;padding:8px 10px;border:1px solid rgba(25,24,28,.18);background:rgba(250,250,248,.7)}
.era__planes{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.era__planes a{display:block;text-decoration:none;color:var(--color-ink);padding:8px 8px 10px;background:#fff;border:1px solid rgba(25,24,28,.10);transition:border-color .15s ease}
.era__planes a:hover{border-color:var(--color-brass)}
.era__planes img{width:100%;height:74px;object-fit:contain;filter:drop-shadow(0 6px 4px rgba(25,24,28,.16))}
.era__planes span{display:block;margin-top:6px;font-family:var(--font-body);font-size:13px;font-weight:600;line-height:1.3}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .era__planes li{animation:eraIn linear both;animation-timeline:view(inline);animation-range:entry 0% entry 60%}
    @keyframes eraIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
  }
}

/* --- Compare two aircraft --- */
.compare{padding:96px 0;background:#fafaf8;border-top:1px solid rgba(25,24,28,.08)}
.compare__pickers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:8px 0 28px}
.compare__pickers label span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:6px}
.compare__pickers select{width:100%;padding:12px 14px;font-family:var(--font-body);font-size:15px;background:#fff;border:1px solid rgba(25,24,28,.2);border-radius:4px;color:var(--color-ink)}
.compare__stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end;padding:28px 16px 0;border-bottom:2px solid var(--color-ink);
  background-image:linear-gradient(90deg,rgba(25,24,28,.06) 1px,transparent 1px);background-size:10% 100%}
.compare__fig{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-height:200px}
.compare__fig img{max-width:100%;height:auto;transition:width .35s ease;filter:drop-shadow(0 10px 6px rgba(25,24,28,.18))}
.compare__fig figcaption{font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;color:var(--color-secondary);margin:10px 0 12px;text-align:center}
.compare__table{width:100%;border-collapse:collapse;margin-top:24px;font-size:15px}
.compare__table th,.compare__table td{text-align:left;padding:12px 10px;border-bottom:1px solid rgba(25,24,28,.12);vertical-align:top}
.compare__table thead th{font-family:var(--font-period);font-weight:700;font-size:18px;letter-spacing:.03em;text-transform:uppercase}
.compare__table tbody th{font-family:var(--font-mono);font-weight:500;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary);width:22%}
.compare__note{font-size:13px;color:var(--color-secondary);margin-top:14px}
@media (max-width:640px){.compare__table{font-size:14px}.compare__table tbody th{width:28%}.compare__fig{min-height:120px}}

/* polish */
.dataplate__head{font-size:14px;letter-spacing:.14em;white-space:nowrap}
.era__scroller{padding-left:max(var(--gutter),calc((100vw - var(--max-width)) / 2 + var(--gutter)));scroll-padding-left:max(var(--gutter),calc((100vw - var(--max-width)) / 2 + var(--gutter)))}
.era__track{margin:0}

/* Click-to-load YouTube poster */
.yt-facade{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#111 center/cover no-repeat}
.yt-facade::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,.35))}
.yt-facade__play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(25,24,28,.82);border:2px solid var(--color-brass);z-index:1;transition:transform .15s ease}
.yt-facade__play::before{content:"";position:absolute;left:29px;top:22px;border-style:solid;border-width:14px 0 14px 22px;border-color:transparent transparent transparent #fafaf8}
.yt-facade:hover .yt-facade__play,.yt-facade:focus-visible .yt-facade__play{transform:scale(1.06)}
.yt-facade:focus-visible{outline:3px solid var(--color-brass);outline-offset:-3px}

/* =====================================================================
   Flightline rebuild (Oct 2026): one ground line, true relative scale,
   nose-first taxi-in, gentle parallax, running engine on the active plane.
   ===================================================================== */
.collection-flightline.is-ramp::after{bottom:var(--ground,178px);background:linear-gradient(90deg,transparent,rgba(25,24,28,.32) 12%,rgba(25,24,28,.32) 88%,transparent);z-index:1}
.is-ramp .collection-flightline__stage{position:static;perspective:none}
.is-ramp .collection-flightline__track{top:60px;bottom:var(--ground,178px);left:0;right:auto;width:100%;transform-style:flat;transition:transform 1.15s cubic-bezier(.45,0,.2,1);will-change:transform;z-index:3}
.is-ramp .flightline-plane{position:absolute;top:auto;bottom:0;left:0;min-height:0;display:block;opacity:.32;filter:grayscale(.45);transform:none;isolation:isolate;pointer-events:auto;transition:opacity .6s cubic-bezier(.16,1,.3,1),filter .6s cubic-bezier(.16,1,.3,1);will-change:auto}
.is-ramp .flightline-plane:hover{opacity:.62}
.is-ramp .flightline-plane.is-active{opacity:1;filter:none;z-index:4}
.is-ramp .flightline-plane img,.is-ramp .flightline-plane:hover img,.is-ramp .flightline-plane.is-active img{display:block;width:100%;height:auto;max-height:none;animation:none;transform:none;filter:none}
.is-ramp .flightline-plane::after{content:"";position:absolute;left:6%;right:6%;bottom:-7px;height:14px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(25,24,28,.30),rgba(25,24,28,0) 70%);z-index:-1}
.is-ramp .flightline-plane[data-nose="L"]{--taxi:64px}
.is-ramp .flightline-plane[data-nose="R"]{--taxi:-64px}
.is-ramp .flightline-plane.is-taxiing{animation:flightlineTaxi 1.15s cubic-bezier(.3,.1,.25,1) both}
@keyframes flightlineTaxi{0%{transform:translate3d(var(--taxi),0,0)}84%{transform:translate3d(0,0,0)}91%{transform:translate3d(0,1.5px,0)}100%{transform:none}}
.flightline-far{position:absolute;left:-80px;right:-80px;top:56px;bottom:var(--ground,178px);pointer-events:none;z-index:0;
  background-image:repeating-linear-gradient(90deg,rgba(25,24,28,.045) 0 1px,transparent 1px 112px),linear-gradient(180deg,rgba(25,24,28,0),rgba(25,24,28,.035));
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 55%);mask-image:linear-gradient(180deg,transparent,#000 55%);
  transition:transform 1.15s cubic-bezier(.45,0,.2,1)}
.flightline-ground{position:absolute;left:48px;right:48px;bottom:calc(var(--ground,178px) - 32px);height:32px;pointer-events:none;z-index:1;
  background-image:repeating-linear-gradient(90deg,rgba(25,24,28,.09) 0 1px,transparent 1px 160px),linear-gradient(180deg,rgba(25,24,28,.05),rgba(25,24,28,0));
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  transition:background-position 1.15s cubic-bezier(.45,0,.2,1)}
.flightline-scale{position:absolute;left:clamp(28px,5vw,84px);bottom:calc(var(--ground,178px) - 26px);display:flex;align-items:center;gap:10px;z-index:6;pointer-events:none;
  font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(25,24,28,.5)}
.flightline-scale__bar{width:var(--ten,100px);height:6px;border:1px solid rgba(25,24,28,.5);border-top:0;transition:width .4s}
.is-ramp.is-instant .collection-flightline__track,.is-ramp.is-instant .flightline-far,.is-ramp.is-instant .flightline-ground{transition:none}
/* Running engine: a soft blur disc with two strobing blade streaks */
.flightline-prop{position:absolute;width:calc(var(--d) * 100%);aspect-ratio:1/1;transform:translate(-50%,-50%) scaleX(var(--sq));opacity:0;transition:opacity .6s ease;pointer-events:none;z-index:2}
.flightline-prop i{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(30,30,32,0) 0 8%,rgba(30,30,32,.12) 9% 58%,rgba(30,30,32,.05) 66%,rgba(30,30,32,0) 71%)}
.flightline-prop i::after{content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(rgba(30,30,32,.26) 0 5deg,transparent 5deg 175deg,rgba(30,30,32,.26) 175deg 185deg,transparent 185deg 355deg,rgba(30,30,32,.26) 355deg);
  -webkit-mask-image:radial-gradient(circle,transparent 0 8%,#000 9% 66%,transparent 71%);mask-image:radial-gradient(circle,transparent 0 8%,#000 9% 66%,transparent 71%);
  animation:flightlineProp .12s linear infinite;animation-play-state:paused}
.flightline-plane.is-running .flightline-prop{opacity:1}
.flightline-plane.is-running .flightline-prop i::after{animation-play-state:running}
@keyframes flightlineProp{to{transform:rotate(360deg)}}
@media (max-width:860px){
  .is-ramp .collection-flightline__track{top:66px}
  .flightline-ground{left:12px;right:12px}
  .flightline-scale{left:16px}
}
@media (prefers-reduced-motion: reduce){
  .is-ramp .collection-flightline__track,.flightline-far,.flightline-ground{transition:none !important}
  .is-ramp .flightline-plane.is-taxiing{animation:none !important}
  .flightline-prop{display:none}
}

/* Card-to-page morph (cross-document View Transitions) */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}
::view-transition-group(acft-hero){animation-duration:.5s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}
::view-transition-old(acft-hero),::view-transition-new(acft-hero){height:100%;object-fit:cover;overflow:clip}
@media (prefers-reduced-motion: reduce){@view-transition{navigation:none}}

/* Line drawing sheet (Oct 2026) — drafted in on scroll */
.acft-drawing{padding:96px 0;background:
  repeating-linear-gradient(0deg,rgba(30,58,95,.045) 0 1px,transparent 1px 32px),
  repeating-linear-gradient(90deg,rgba(30,58,95,.045) 0 1px,transparent 1px 32px),#f3efe4}
.acft-drawing__inner{max-width:1180px;margin:0 auto;padding:0 var(--gutter,24px);text-align:center}
.acft-drawing__inner .overline{margin-bottom:28px}
.acft-drawing__sheet{margin:0;padding:clamp(16px,3vw,40px);background:rgba(250,248,242,.86);border:1px solid rgba(30,58,95,.28);box-shadow:inset 0 0 0 6px rgba(250,248,242,.86),inset 0 0 0 7px rgba(30,58,95,.16)}
.acft-drawing__art{width:100%;max-width:1040px;margin:0 auto}
.acft-drawing__art svg{display:block;width:100%;height:100%}
.acft-drawing__art .dw-fill path{fill:#1e3a5f}
.acft-drawing__art .dw-lines path{fill:none;stroke:#1e3a5f;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.acft-drawing__art.is-armed .dw-fill{opacity:0}
.acft-drawing__art.is-drawn .dw-fill{opacity:1;transition:opacity .9s ease}
.acft-drawing__art.is-drawn .dw-lines{opacity:0;transition:opacity .9s ease .3s}
.acft-drawing__block{display:grid;grid-template-columns:1fr auto;margin:28px 0 0 auto;max-width:520px;border:1px solid rgba(30,58,95,.4);text-align:left;
  font-family:var(--font-mono,ui-monospace,monospace);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#1e3a5f}
.acft-drawing__cell{padding:8px 12px;border-right:1px solid rgba(30,58,95,.25);border-bottom:1px solid rgba(30,58,95,.25)}
.acft-drawing__cell:nth-child(2n){border-right:0}
.acft-drawing__cell:nth-last-child(-n+2){border-bottom:0}
@media (max-width:640px){.acft-drawing{padding:64px 0}.acft-drawing__block{max-width:none}}
.collection-flightline__status{display:inline-block;margin-left:12px;padding-left:12px;border-left:1px solid rgba(25,24,28,.2);color:rgba(25,24,28,.55)}
.collection-flightline__status[data-status="restoration"]{color:var(--color-accent)}
.collection-flightline__status:empty{display:none}
/* Heat shimmer over a running engine: a soft, wobbling patch of blurred air at the cowling */
.flightline-heat{position:absolute;width:calc(var(--d) * 70%);aspect-ratio:1/1.15;transform:translate(-30%,-78%);pointer-events:none;z-index:1;opacity:0;
  -webkit-backdrop-filter:blur(1.8px) saturate(1.05);backdrop-filter:blur(1.8px) saturate(1.05);
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 55%,#000 0 30%,rgba(0,0,0,.5) 55%,transparent 72%);mask-image:radial-gradient(ellipse 50% 50% at 50% 55%,#000 0 30%,rgba(0,0,0,.5) 55%,transparent 72%);
  transition:opacity 1.2s ease;animation:flightlineHeat 1.7s ease-in-out infinite;animation-play-state:paused}
.flightline-plane[data-nose="R"] .flightline-heat{transform:translate(-70%,-78%)}
.flightline-plane.is-running .flightline-heat{opacity:1;animation-play-state:running}
@keyframes flightlineHeat{
  0%,100%{translate:0 0;scale:1 1;rotate:0deg}
  30%{translate:0 -2px;scale:1.03 1.06;rotate:1.2deg}
  60%{translate:0 -1px;scale:.98 1.02;rotate:-1deg}
}
@media (prefers-reduced-motion: reduce){.flightline-heat{display:none}}

/* Print-only coverage (no link) */
span.coverage__title:hover{color:var(--color-ink)}
.coverage__print{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary)}

/* =====================================================================
   Page polish, Oct 6 2026 (Events, Donate, Waldo Wright's) — per DESIGN.md:
   square corners, solid surfaces, brass hover rule, no lift, mono labels,
   and nothing hidden waiting for JavaScript.
   ===================================================================== */
.program{opacity:1;transform:none;background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(25,24,28,.10);border-left:3px solid var(--color-brass);border-radius:4px;box-shadow:none;text-align:left;padding:28px 26px}
.program.is-visible{opacity:1;transform:none}
.program:hover{transform:none;box-shadow:0 2px 0 var(--color-brass)}
.program__icon{width:28px;height:28px;color:var(--color-brass-ink);margin:0 0 14px}
.program__tag{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-brass-ink)}
.program__title{font-family:var(--font-period);font-weight:700;font-size:24px;letter-spacing:.02em;text-transform:uppercase;line-height:1.05;margin:6px 0 10px}
.program__desc{font-size:15px;line-height:1.6;color:var(--color-body)}
.program__cta{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);text-decoration:none}
.flying-date,.tier,.ww-cta{border-radius:4px;box-shadow:none;border:1px solid rgba(25,24,28,.12);background:#fff}
.flying-date__month{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.flying-date__day{font-family:var(--font-period);font-weight:800}
.tier:hover,.ww-cta:hover{transform:none;border-color:var(--color-brass);box-shadow:0 2px 0 var(--color-brass)}
.tier__amt{font-family:var(--font-period);font-weight:800;letter-spacing:.02em}
.ww-article{border-radius:4px;border:1px solid rgba(25,24,28,.12);background:#fff}
.ww-article:hover{transform:none;box-shadow:0 2px 0 var(--color-brass)}
.ww-article__sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em}

/* Forms: privacy note, required marker, 16px inputs (no iOS zoom) */
.form-note{font-size:13px;line-height:1.5;color:var(--color-secondary);margin:14px 0 0}
.req{font-style:normal;font-size:12px;color:var(--color-secondary);font-weight:400}
.group-form input,.group-form select,.group-form textarea,.footer__newsletter-form input,.newsletter input{font-size:16px}
.hero__title-sub{display:block;font-size:.55em;letter-spacing:.06em;line-height:1.1;margin-top:.25em}

/* Tony 10/6: readable logo + name, larger sub lines, legible light-on-dark text */
.logo{width:52px;height:52px}
.nav__brand{gap:12px}
.nav__wordmark{display:none;font-family:var(--font-period);font-weight:800;font-size:19px;line-height:1;letter-spacing:.03em;text-transform:uppercase;color:var(--color-ink);white-space:nowrap}
.nav__wordmark small{display:block;font-family:var(--font-mono);font-weight:500;font-size:10.5px;letter-spacing:.14em;margin-top:3px;color:var(--color-brass-ink)}
.nav.is-scrolled .nav__wordmark{color:#fafaf8}
.nav.is-scrolled .nav__wordmark small{color:var(--color-brass)}
@media (min-width:1360px){.nav__wordmark{display:block}}
@media (max-width:1024px){.nav__wordmark{display:block}.nav__open{display:none}}
@media (max-width:380px){.nav__wordmark{font-size:16px}.logo{width:44px;height:44px}}
.hero__subtitle{color:rgba(250,248,240,.95);font-weight:400}
.page-hero__subtitle{font-size:1.3rem;line-height:1.5;color:#fff}
.lead{font-size:1.2rem}
.closing__sub{color:#fafaf8;font-size:21px;font-weight:400;text-shadow:0 1px 10px rgba(0,0,0,.45)}
:root{--color-dark-secondary:#d9d4c6}
[data-theme="dark"] p,[data-theme="dark"] li,.section--dark p,.section--dark li{color:#efebe0}
.social-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(250,250,248,.35);border-radius:4px}
.social-btn:hover{border-color:var(--color-brass)}
.essay-head{font-family:var(--font-period);font-weight:700;font-size:clamp(28px,3vw,38px);letter-spacing:.02em;text-transform:uppercase;line-height:1.05;margin:48px 0 14px;color:var(--color-ink)}
.era__nav{display:flex;gap:10px;margin:0 0 16px}
.era__btn{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:10px 16px;background:#fff;border:1px solid rgba(25,24,28,.25);border-radius:4px;cursor:pointer;color:var(--color-ink)}
.era__btn:hover,.era__btn:focus-visible{border-color:var(--color-brass);box-shadow:0 2px 0 var(--color-brass)}
.era__planes{max-height:520px;overflow-y:auto}

/* Audit 10/6: mobile menu reachable on short phones; locked background */
.mobile-menu.is-open{max-height:calc(100dvh - var(--nav-h,64px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
html.menu-open,html.lightbox-open{overflow:hidden}
/* Then & Now: keyboard-operable range sits over the image (invisible but focusable) */
.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;-webkit-appearance:none;appearance:none;background:transparent}
.ba__range:focus-visible + *, .ba:focus-within{outline:3px solid var(--color-brass);outline-offset:4px}
/* 360° view: pause/play */
.video-toggle{position:absolute;right:14px;bottom:14px;z-index:3;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 14px;background:rgba(25,24,28,.82);color:#fafaf8;border:1px solid var(--color-brass);border-radius:4px;cursor:pointer}
.video-toggle:focus-visible{outline:3px solid var(--color-brass);outline-offset:2px}

/* Audit 10/6: brass text fails contrast on light surfaces; use brass-ink for text, keep brass on dark */
a{color:var(--color-brass-ink)}
[data-theme="dark"] a:not([class*="btn"]),.section--dark a:not([class*="btn"]),.footer a:not([class*="btn"]),.closing a:not([class*="btn"]){color:var(--color-brass)}
.status--on-loan{color:var(--color-brass-ink);border-color:rgba(127,100,51,.45)}
.status--on-loan .dot{background:var(--color-brass-ink)}
.nn-subnav__label,.partner-banner__tag{color:var(--color-brass-ink)}
.partner-banner__tag{border-color:var(--color-brass-ink)}
.acft-showcase__overline{color:#625d55}

/* Oct 6 fix: nav wordmark always sits on the dark nav; mobile hero grows instead of clipping its top */
.nav__wordmark,.nav.is-scrolled .nav__wordmark{color:#efebe0}
.nav__wordmark small,.nav.is-scrolled .nav__wordmark small{color:var(--color-brass)}
.nav.nav--dark{background:rgba(25,24,28,.96)}
@media (max-width:768px){
  .hero{height:auto;min-height:100svh}
  .hero__inner{min-height:100svh;padding-top:calc(var(--nav-h,64px) + 40px);padding-bottom:96px}
}

/* Oct 6 Tony verification pass */
/* Wordmark follows the nav theme (light nav over light sections, dark otherwise) */
.nav__wordmark{color:var(--color-ink)}
.nav__wordmark small{color:var(--color-brass-ink)}
.nav.nav--dark .nav__wordmark,.nav.is-scrolled .nav__wordmark{color:#efebe0}
.nav.nav--dark .nav__wordmark small,.nav.is-scrolled .nav__wordmark small{color:var(--color-brass)}
/* Name beside the logo on every desktop width; bigger logo */
@media (min-width:1025px){
  .nav__wordmark{display:block;font-size:17px}
  .nav__wordmark small{font-size:9.5px}
  .nav__open{display:none}
  .nav .logo{width:56px;height:56px}
}
@media (min-width:1025px) and (max-width:1199px){.nav__links{gap:14px}.nav__links a{font-size:13.5px}}
.footer .logo,.footer__col--brand .logo{width:72px;height:72px;opacity:1;background:var(--color-cream);border-radius:50%}
/* Larger hero sub lines */
.hero__support{font-size:clamp(22px,2.1vw,28px);color:rgba(255,255,255,.92)}
.hero__hours{font-size:16px!important;color:rgba(250,250,248,.92)!important}
/* Bigger essay headlines on Donate/Loan */
.essay-head{font-size:clamp(30px,3.4vw,44px)}
/* Social button on light backgrounds */
.social-btn--light{color:var(--color-ink);border-color:rgba(25,24,28,.25);font-size:14px;font-weight:500;text-decoration:none}
.social-btn--light:hover{border-color:var(--color-brass);color:var(--color-ink)}
/* Era timeline: compact rows so year headings, aircraft and the Earlier/Later controls fit on one screen */
.era__planes{max-height:none;overflow:visible;gap:6px;margin-top:10px}
.era__planes a{display:flex;align-items:center;gap:8px;padding:6px 8px}
.era__planes img{width:64px;height:40px;flex:0 0 64px;filter:drop-shadow(0 3px 2px rgba(25,24,28,.16))}
.era__planes span{margin-top:0;font-size:12.5px}
.era__context{font-size:11px;padding:6px 8px;margin-top:8px}
.era{padding-top:72px;padding-bottom:56px}
.era__lead{margin-bottom:20px}
[data-theme="light"] .status--restoration{color:var(--color-accent)}
[data-theme="light"] .status--restoration .dot{background:var(--color-accent)}
.info-card a{text-decoration:underline;text-underline-offset:2px}
.next-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px;border-top:2px solid var(--color-ink);padding-top:20px}
.next-stats div{display:flex;flex-direction:column;gap:6px}
.next-stats__num{font-family:var(--font-period);font-weight:800;font-size:clamp(30px,3.4vw,44px);line-height:1;color:var(--color-ink)}
.next-stats__lbl{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--color-secondary);line-height:1.4}
@media (max-width:640px){.next-stats{grid-template-columns:1fr 1fr}}

/* Field Notes article pages */
.post__head{padding:calc(var(--nav-h,64px) + 40px) 0 24px;background:var(--color-canvas)}
.post__head .breadcrumb{margin:0 0 20px;padding:0;background:none}
.post__title{font-family:var(--font-period);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(34px,4.6vw,58px);line-height:1.02;color:var(--color-ink);margin:8px 0 14px}
.post__meta{font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--color-secondary)}
.post__body{padding-bottom:80px;font-size:18px;line-height:1.75;color:var(--color-body)}
.post__body p{margin:0 0 1.2em}
.post__body h2{font-family:var(--font-period);font-weight:700;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(26px,2.8vw,34px);line-height:1.1;color:var(--color-ink);margin:1.8em 0 .6em}
.post__body h3{font-family:var(--font-display);font-size:22px;color:var(--color-ink);margin:1.6em 0 .5em}
.post__body figure{margin:28px 0}
.post__body figure img{width:100%;height:auto;display:block;border-radius:4px;filter:saturate(.86) contrast(1.04) sepia(.07) brightness(.99)}
.post__body figcaption{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--color-secondary);margin-top:8px}
.post__body blockquote{border-left:3px solid var(--color-brass);margin:24px 0;padding:4px 0 4px 20px;font-family:var(--font-display);font-size:20px;color:var(--color-ink)}
.post__body ul,.post__body ol{margin:0 0 1.2em 1.2em}
.post__body a{text-decoration:underline;text-underline-offset:2px}
.post__back{margin-top:40px;font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.post-pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;border-top:1px solid rgba(25,24,28,.15);padding-top:20px}
.post-pager a{display:block;text-decoration:none;color:var(--color-ink);font-family:var(--font-display);font-size:17px;line-height:1.35}
.post-pager a span{display:block;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass-ink);margin-bottom:4px}
.post-pager__next{text-align:right}
@media (max-width:640px){.post-pager{grid-template-columns:1fr}.post-pager__next{text-align:left}}
.fn-featured__media img,.fn-row__media img{width:100%;height:100%;object-fit:cover;display:block}
.fn-row__media{aspect-ratio:16/10;overflow:hidden;border-radius:4px;background:var(--color-surface)}

/* Second audit (Oct 6): page heroes grow with their text instead of clipping under the nav */
.page-hero{height:auto;min-height:400px;padding-top:var(--nav-h,64px)}
.page-hero__inner{height:auto;min-height:336px;padding-top:40px;padding-bottom:40px}
@media (max-width:768px){
  .page-hero{min-height:300px}
  .page-hero__inner{min-height:236px;padding-top:32px;padding-bottom:32px}
}
/* Logo stays round on narrow phones */
.nav .logo,.nav__brand img{flex:0 0 auto;aspect-ratio:1/1;object-fit:contain}
.nav__brand{min-width:0}
.nav__wordmark{min-width:0}
@media (max-width:360px){.nav__wordmark{font-size:14.5px}.nav__wordmark small{font-size:9px;letter-spacing:.1em}.nav .logo{width:40px;height:40px}}

/* Then & Now: three captioned photos (Oct 2026, replaces the wipe slider) */
.tn3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1180px;margin:0 auto;border-top:2px solid var(--color-ink);padding-top:18px}
.tn3__item{margin:0}
.tn3__ph{aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--color-surface)}
.tn3__ph img,.tn3__ph picture{width:100%;height:100%;display:block}
.tn3__ph img{object-fit:cover;filter:saturate(.86) contrast(1.04) sepia(.07) brightness(.99)}
.tn3__yr{font-family:var(--font-period);font-weight:800;font-size:34px;line-height:1;margin:14px 0 4px;color:var(--color-ink)}
.tn3__tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--color-brass-ink)}
.tn3 figcaption p{margin:4px 0 0;font-size:15px;line-height:1.5;color:var(--color-body)}
.tn3__credit{display:block;margin-top:6px;font-family:var(--font-mono);font-size:11px;color:var(--color-secondary)}
@media (max-width:760px){.tn3{grid-template-columns:1fr;gap:28px}}
.team-grid > .team-member:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;max-width:520px}
/* Volunteers in action gallery */
.vol-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:1180px;margin:0 auto}
.vol-gallery__item{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:4px;background:var(--color-surface)}
.vol-gallery__item picture,.vol-gallery__item img{display:block;width:100%;height:100%}
.vol-gallery__item img{object-fit:cover;transition:transform .4s ease;filter:saturate(.92) contrast(1.03)}
.vol-gallery__item:hover img{transform:scale(1.03)}
@media (max-width:760px){.vol-gallery{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.vol-gallery__item img{transition:none}}

/* What to Know rules (visit page), restored 2026-10-19 */
.visit-rules{max-width:820px;margin:0 auto;padding-left:1.5em;font-family:var(--font-body);font-size:17px;line-height:1.65;color:var(--color-body)}
.visit-rules li{margin:0 0 14px 0;padding-left:6px}
.visit-rules li::marker{color:var(--color-accent);font-weight:600}
.visit-rules strong{color:var(--color-ink)}

/* Linked giving tiers (Shopify donation products), 2026-10-19 */
a.tier{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:inherit;transition:transform 150ms ease,box-shadow 150ms ease,border-color 150ms ease}
a.tier:hover,a.tier:focus-visible{transform:translateY(-2px);border-color:var(--color-accent);box-shadow:var(--shadow-md,0 6px 18px rgba(0,0,0,.08))}
.tier__cta{margin-top:auto;padding-top:14px;font-family:var(--font-body);font-size:14px;font-weight:600;color:var(--color-accent)}

/* Social row + documentary block (2026-10-20) */
.social-row{display:flex;flex-wrap:wrap;gap:8px}
.social-row .social-btn{padding:6px 10px;font-size:13px}
.social-btn--icon{padding:8px;gap:0}
@media (min-width:1025px){.vt--reverse{direction:rtl}.vt--reverse>*{direction:ltr}}
