/* =====================================================================
   Empowered Voices · site.css
   Form and tempo: ageofunion.com. Identity: Neue Montreal, cream / ink, claret surfaces, gold as foil.
   ===================================================================== */

/* ---------- fonts ---------- */
/* Neue Montreal: when the licensed woff2 files are in assets/fonts/, replace the local() sources with
   url("../fonts/NeueMontreal-Regular.woff2") etc. (see assets/fonts/README.md). Until then local() only, so no 404s. */
@font-face{font-family:"Neue Montreal";src:local("Neue Montreal"),local("NeueMontreal-Regular");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:local("Neue Montreal Italic"),local("NeueMontreal-Italic");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Neue Montreal";src:local("Neue Montreal Medium"),local("NeueMontreal-Medium");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Neue Montreal";src:local("Neue Montreal Bold"),local("NeueMontreal-Bold");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-400-latin.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/Inter-400i-latin.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter Fallback";src:local("Helvetica Neue"),local("Arial");size-adjust:105.6%;ascent-override:97%;descent-override:24%;line-gap-override:0%}

/* ---------- tokens ---------- */
:root{
  --cream:#F9F5EA; --cream-2:#F3EEE2; --sand:#E3D9C3;
  --ink:#24211D; --grey:#4B463F; --muted:#8A8377;
  --gold:#E8B84A; --gold-glow:#FFDE7A; --gold-mid:#A86D14; --gold-text:#875A0C;
  --wine:#561A24; --wine-deep:#33101A; --wine-dim:#7A3540; --line:rgba(249,245,234,.18);
  --bronze:#5C3D0E; --bronze-deep:#2B1C06;
  --rule:1.125rem; --rule-thin:2px; --gap:1.25rem; --gutter:1.25rem;
  --header:3.75rem; --header-max:6.25rem; --hp:0;
  --sp-m:2.5rem; --sp-l:5rem; --sp-xl:6.25rem; --stub:6.25rem;
  --ease-out:cubic-bezier(.215,.61,.355,1); --ease-slab:cubic-bezier(.38,.005,.215,1);
  --t:.6s; --t2:.3s;
  --sans:"Neue Montreal","Inter","Inter Fallback","Helvetica Neue",Arial,sans-serif;
  color-scheme:light;
}
@media (max-width:999px){:root{--rule:8px;--gap:.625rem;--sp-l:3.75rem;--sp-xl:4.375rem;--stub:3.125rem}}
@media (max-width:699px){:root{--header:3.25rem;--header-max:4.5rem}}

/* ---------- base ---------- */
html{font-size:14px;box-sizing:border-box;scroll-behavior:smooth}
html.is-first-loaded{transition:color var(--t2) var(--ease-out),background var(--t2) var(--ease-out)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
@media (min-width:700px){html{font-size:15px}}
@media (min-width:1200px){html{font-size:16px}}
@media (min-width:1600px){html{font-size:17px}}
@media (min-width:2000px){html{font-size:18px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.35;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding-inline:var(--gutter);padding-top:var(--header-max)}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;line-height:inherit;background:none;border:0;padding:0;cursor:pointer}
[id]{scroll-margin-top:calc(var(--header) + .5rem)}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 6px var(--cream)}
.on-dark :focus-visible{outline-color:var(--gold);box-shadow:0 0 0 6px var(--wine)}
.foot :focus-visible{outline-color:var(--gold-glow);box-shadow:0 0 0 6px var(--bronze-deep)}
.site-header :focus-visible{outline-color:var(--ink);box-shadow:0 0 0 6px var(--cream)}
html.is-wine .site-header :focus-visible,.site-header.is-open :focus-visible,.pre :focus-visible{outline-color:var(--gold);box-shadow:0 0 0 6px var(--wine)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.min0>*{min-width:0}

/* ---------- type ---------- */
.h-huge{font-weight:700;letter-spacing:-.025em;line-height:.88;font-size:clamp(3.5rem,10vw,11rem);text-wrap:balance}
.h-1{font-weight:500;letter-spacing:-.025em;line-height:.9;font-size:clamp(2.4rem,5.2vw,5rem);text-wrap:balance}
.h-2{font-weight:500;letter-spacing:-.02em;line-height:1.05;font-size:clamp(1.5rem,2.6vw,2.4rem);text-wrap:balance}
.label{font-weight:500;letter-spacing:-.02em;line-height:1;font-size:1.625rem}
.label .count{font-weight:400;color:var(--grey)}
.label .ital{display:block;font-style:italic;font-weight:400;font-size:1.2rem;color:var(--gold-text);margin-top:.35rem;line-height:1.1;letter-spacing:-.01em}
.meta{font-weight:500;text-transform:uppercase;letter-spacing:.02em;line-height:1;font-size:.9375rem}
.meta .date{color:var(--gold-text)}
.ital{font-style:italic;font-weight:400;letter-spacing:-.01em}
.body{font-size:1rem;line-height:1.35;max-width:60ch}
.body-lg{font-size:clamp(1.5rem,3vw,2.9rem);line-height:1.08;letter-spacing:-.02em}
.body.-after,.body-lg.-after{margin-top:var(--sp-m)}
.body-lg.-narrow{max-width:30ch}
.rule{height:var(--rule);background:var(--ink)}
.nw{white-space:nowrap}
@media (max-width:999px){.label{font-size:1.375rem}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:1rem 1.875rem;background:var(--wine);color:var(--cream);font-weight:500;font-size:1rem;text-transform:uppercase;letter-spacing:.01em;line-height:1;border-radius:2px}
.btn:hover{background:var(--wine-deep);color:var(--cream)}
.btn.-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn.-ghost:hover{background:var(--ink);color:var(--cream)}
.on-dark .btn{background:var(--gold);color:var(--ink)}
.on-dark .btn:hover{background:var(--cream);color:var(--wine)}
.on-dark .btn.-ghost{color:var(--cream);box-shadow:inset 0 0 0 2px var(--cream)}
.on-dark .btn.-ghost:hover{background:var(--cream);color:var(--wine)}
.more{font-weight:500;font-size:1.625rem;letter-spacing:-.02em;text-transform:uppercase;line-height:1}
.more:hover{color:var(--gold-mid)}
.sec>.more{display:block;margin-top:var(--sp-m)}

/* ---------- preloader ---------- */
.pre{display:none;position:fixed;inset:0;z-index:1000;background:var(--wine);color:var(--cream);padding:var(--gap);cursor:wait;overflow:hidden}
html.js .pre{display:flex;flex-direction:column;justify-content:space-between;animation:ev-failsafe 0s 4s forwards}
html.js .pre[hidden]{display:none}
@keyframes ev-failsafe{to{opacity:0;visibility:hidden}}
.pre-mark{width:clamp(56px,7vw,110px);height:auto}
.pre-logo{width:100%;overflow:hidden;font-weight:700;letter-spacing:-.03em;line-height:.85;text-transform:uppercase;white-space:nowrap;font-size:clamp(2rem,9.6vw,13rem);transition:transform var(--t) var(--ease-slab)}
html.is-first-loaded .pre{transform:translateY(-105%);transition:transform var(--t) var(--ease-slab),visibility 0s var(--t) linear;visibility:hidden}
html.is-first-loaded .pre-logo{transform:translateY(100%) translateY(20px)}
html.js .anim{opacity:0;animation:ev-show 0s 4s forwards}
html.is-first-loaded .anim{transition:opacity var(--t) var(--t2) var(--ease-out)}
html.is-loaded .anim{opacity:1}
@keyframes ev-show{to{opacity:1}}
html.js .hdr{transform:translateY(-100%);animation:ev-show-t 0s 4s forwards}
html.is-first-loaded .hdr{transform:none;transition:transform var(--t) var(--t2) var(--ease-slab)}
html.js .mast>.rule,html.js .mast::after{transform:scaleX(0);animation:ev-show-t 0s 4s forwards}
html.js .mast::after{transform:scaleY(0)}
html.is-first-loaded .mast>.rule{transform:scaleX(1);transition:transform .9s var(--t) var(--ease-out)}
html.is-first-loaded .mast::after{transform:scaleY(1);transition:transform .9s var(--t) var(--ease-out)}
html.js .side::before{transform:scaleY(0);animation:ev-show-t 0s 4s forwards}
html.is-first-loaded .side::before{transform:scaleY(1);transition:transform .9s var(--t) var(--ease-out)}
html.is-instant .hdr,html.is-instant .anim,html.is-instant .mast>.rule,html.is-instant .mast::after,html.is-instant .side::before{transition:none}
@keyframes ev-show-t{to{transform:none;opacity:1}}

/* ---------- header: fixed banner that compacts with the scroll (--hp 0→1 over the first 240px) ---------- */
.site-header{position:fixed;top:0;left:0;right:0;z-index:200;padding-inline:var(--gutter);color:var(--ink);background:var(--cream);isolation:isolate}
.site-header.is-open{transition:color var(--t2) var(--ease-slab)}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--wine);transform:translateY(calc(-100% + clamp(0,(var(--hp) - .47)*16.7,1)*100%));pointer-events:none}
html.is-wine .site-header,.site-header.is-open{color:var(--cream)}
html:not(.js) .site-header{position:static;margin-inline:calc(-1*var(--gutter))}
html:not(.js) body{padding-top:0}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--rule-thin);background:var(--gold);opacity:clamp(0,(var(--hp) - .47)*16.7,1);pointer-events:none}
.site-header.is-open::before{transform:none}
.site-header.is-open::after{opacity:1}
.hdr{height:calc(var(--header-max) - (var(--header-max) - var(--header))*var(--hp));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-weight:500;text-transform:uppercase;letter-spacing:-.02em;line-height:1;font-size:1.375rem}
.hdr>*{display:flex;align-items:center;min-width:0;transition:opacity var(--t2) var(--ease-out),transform var(--t2) var(--ease-out);transition-delay:.5s}
.hdr>button{justify-self:start;padding:.5rem 0;margin-block:-.5rem}
.hdr>.brand{justify-self:center}
.hdr>.dest{justify-self:end;padding-block:.5rem;margin-block:-.5rem;white-space:nowrap}
.hdr>.dest:hover .ic{background:var(--gold-glow)}
.hdr>.dest .short{display:none}
@media (max-width:699px){.hdr>.dest .long{display:none}.hdr>.dest .short{display:inline}}
.brand{gap:.6rem;font-weight:700;letter-spacing:-.02em;text-transform:none;font-size:1.375rem}
.brand .mark{display:block;flex:none;width:calc(2.75rem - .95rem*var(--hp));aspect-ratio:64/67;background:var(--gold);-webkit-mask:url("../brand/logo-64.png") center/contain no-repeat;mask:url("../brand/logo-64.png") center/contain no-repeat}
.hdr .ic{display:inline-block;width:.6em;height:.6em;border-radius:50%;background:var(--gold);margin-right:.4em}
.menu-wrap{overflow:hidden}
.menu{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);gap:var(--sp-m) var(--sp-l);padding:1.5rem 0 2rem;border-top:var(--rule-thin) solid var(--gold);transform:translateY(-100%);visibility:hidden}
.menu[hidden]{display:none}
html:not(.js) .menu{display:grid!important;visibility:visible;transform:none}
html:not(.js) .menu a{opacity:1;transform:none}
html:not(.js) .logo{font-size:clamp(2rem,9vw,13rem)}
html.is-first-loaded .menu{transition:transform var(--t) var(--ease-slab),visibility 0s var(--t) linear}
.site-header.is-open .menu{transform:none;visibility:visible;transition:transform var(--t) var(--ease-slab),visibility 0s 0s linear}
/* main links: numbered, large, a gold underline that draws from the left and an arrow that slides in */
.menu-main{display:grid;list-style:none;margin:0;padding:0}
.menu-main li{opacity:0;transform:translateY(1.25rem);transition:opacity .5s var(--ease-out),transform .55s var(--ease-out)}
.site-header.is-open .menu-main li{opacity:1;transform:none}
.site-header.is-open .menu-main li:nth-child(1){transition-delay:.12s}.site-header.is-open .menu-main li:nth-child(2){transition-delay:.17s}.site-header.is-open .menu-main li:nth-child(3){transition-delay:.22s}.site-header.is-open .menu-main li:nth-child(4){transition-delay:.27s}.site-header.is-open .menu-main li:nth-child(5){transition-delay:.32s}.site-header.is-open .menu-main li:nth-child(6){transition-delay:.37s}
.menu-main a{position:relative;display:grid;grid-template-columns:2.6rem minmax(0,1fr) auto;align-items:baseline;gap:.75rem;padding:.55rem 0 .6rem;font-weight:500;font-size:clamp(1.6rem,2.8vw,2.6rem);letter-spacing:-.025em;line-height:1;border-top:1px solid var(--line)}
.menu-main li:first-child a{border-top:0}
.menu-main a .n{font-size:.75rem;font-weight:500;letter-spacing:.06em;color:var(--gold);align-self:center;font-variant-numeric:tabular-nums}
.menu-main a .t{display:inline-block;transition:transform .45s var(--ease-out),color .3s var(--ease-out)}
.menu-main a .go{font-size:.8em;color:var(--gold);opacity:0;transform:translateX(-.6rem);transition:opacity .35s var(--ease-out),transform .45s var(--ease-out)}
.menu-main a::after{content:"";position:absolute;left:2.6rem;right:0;bottom:.35rem;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.menu-main a:hover .t,.menu-main a:focus-visible .t{transform:translateX(.4rem);color:var(--gold)}
.menu-main a:hover .go,.menu-main a:focus-visible .go{opacity:1;transform:none}
.menu-main a:hover::after,.menu-main a:focus-visible::after{transform:scaleX(1)}
.menu-side{display:grid;align-content:start;gap:.6rem;padding-top:.5rem;opacity:0;transform:translateY(1rem);transition:opacity .5s var(--ease-out) .3s,transform .55s var(--ease-out) .3s}
.site-header.is-open .menu-side{opacity:1;transform:none}
.menu-side .meta{color:var(--gold);margin-top:.75rem}
.menu-side .meta:first-child{margin-top:0}
.menu-side a{display:inline-block;font-size:1.05rem;line-height:1.25;padding:.2rem 0;background-image:linear-gradient(var(--gold),var(--gold));background-size:0 1px;background-repeat:no-repeat;background-position:left bottom .15rem;transition:background-size .4s var(--ease-out),color .3s var(--ease-out)}
.menu-side a:hover,.menu-side a:focus-visible{background-size:100% 1px;color:var(--gold)}
.menu-side a[href^="mailto"]{overflow-wrap:anywhere}
.menu-side .row{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.site-header.is-open .hdr>.dest{opacity:0;transform:translateY(1.875rem);pointer-events:none;transition-delay:0s}
@media (max-width:999px){.hdr,.brand{font-size:1.25rem}}
@media (max-width:999px){.menu{grid-template-columns:1fr;gap:1.25rem;padding:1rem 0 1.5rem}.menu-main a{font-size:clamp(1.35rem,5.6vw,1.9rem);padding:.5rem 0}.menu-side{padding-top:.25rem}}
@media (max-width:699px){.hdr{font-size:.95rem;white-space:nowrap}.hdr>.dest{letter-spacing:0}.brand .mark{width:calc(2.25rem - .5rem*var(--hp))}.site-header.is-open .hdr>.dest{opacity:1;transform:none;pointer-events:auto}.menu-wrap{max-height:calc(100svh - var(--header));overflow:auto;overscroll-behavior:contain}}

/* ---------- page wrapper (sits above the footer curtain) ---------- */
main{position:relative;z-index:2;background:var(--cream);margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);display:flow-root}

/* ---------- masthead ---------- */
.mast{position:relative}
.mast::after{content:"";display:block;width:var(--rule);height:var(--stub);margin:0 auto;background:var(--ink)}
.logo{display:block;width:100%;padding:.75rem 0;font-weight:700;letter-spacing:-.03em;line-height:.8;text-transform:uppercase;white-space:nowrap;overflow:hidden;font-size:clamp(2rem,9.6vw,13rem)}
.logo span{display:inline-block}
.home{display:grid;grid-template-columns:repeat(4,1fr);column-gap:3.75rem;min-height:calc(100vh - var(--header-max) - var(--rule) - 11rem);min-height:calc(100svh - var(--header-max) - var(--rule) - 11rem)}
.feat{grid-column:1/4;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:0;padding-bottom:1.25rem}
.feat-claim{grid-column:1/-1;padding-top:.9rem;padding-bottom:1rem;display:grid;gap:.8rem}
.feat-claim .h-1{max-width:22ch;font-size:clamp(2.3rem,3.9vw,3.6rem);line-height:1.04;font-weight:600;letter-spacing:-.03em}
.feat-claim .h-1 em{font-style:normal;color:var(--gold-text)}
@media (min-width:1100px){.feat-claim .h-1 em{color:var(--gold-mid)}}
.feat-fig{grid-column:1;grid-row:2;position:relative;overflow:hidden;background:var(--sand);align-self:stretch;min-height:16rem}
.feat-fig img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.feat-fig[data-rotate] img{opacity:0;transition:opacity 1.4s var(--ease-out)}
.feat-fig[data-rotate] img.is-on{opacity:1;z-index:2}
.feat-fig[data-rotate] img.was-on{opacity:1;z-index:1;transition:none}
@media (min-width:1000px){.feat-fig[data-rotate] img:nth-child(2){object-position:50% 80%}.feat-fig[data-rotate] img:nth-child(3){object-position:50% 77%}}
html:not(.js) .feat-fig[data-rotate] img:not(.is-on){display:none}
.feat-foot{grid-column:1;grid-row:3;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.25rem}
.feat-foot .meta{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;justify-content:flex-start}
.feat-foot a:hover{color:var(--gold-mid)}
.side{grid-column:4;position:relative;display:flex;flex-direction:column}
.side::before{content:"";position:absolute;left:calc(-1.875rem - var(--rule)/2);top:0;bottom:0;width:var(--rule);background:var(--ink)}
.side .label{padding:1.1rem 0 .9rem;margin:0}
.story{display:grid;grid-template-columns:repeat(8,1fr);gap:var(--gap);padding:.5rem 0 1.25rem;border-top:var(--rule-thin) solid var(--ink);align-items:start;position:relative;z-index:0}
.story img{grid-column:span 2;aspect-ratio:17/19;object-fit:cover;width:100%;background:var(--sand)}
.story>div{grid-column:span 6;min-width:0}
.story h3{font-weight:400;font-size:1rem;line-height:1.15;letter-spacing:0;margin-bottom:.625rem}
/* the two hero stories share the column's height: text is fixed, the photos absorb what is left, so the masthead ends at the fold at any viewport */
.story.-big{display:flex;flex-direction:column;gap:.6rem;padding:.8rem 0 .9rem;flex:1 1 0;min-height:max-content}
.story.-big img{flex:1 1 0;min-height:7.5rem;max-height:16rem;width:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 36%}
.story.-big>div{flex:none}
.story.-big img.-face{object-position:50% 18%}
.story.-big .kick{display:block;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:var(--grey);margin-bottom:.4rem}
.story.-big h3{font-weight:500;font-size:1.1rem;line-height:1.12;letter-spacing:-.02em;margin-bottom:.4rem;text-wrap:pretty}
.story.-big:hover .kick{color:var(--gold)}
.story .date{font-weight:500;text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;color:var(--gold-text)}
@media (hover:hover){.story::before{content:"";position:absolute;inset:-2px calc(-1*var(--gap));background:var(--ink);opacity:0;z-index:-1}.story:hover{color:var(--cream)}.story:hover::before{opacity:1}.story:hover .date{color:var(--gold)}}
.side .more{text-align:right;padding:1rem 0 .6rem;white-space:nowrap;margin-top:auto}
/* short desktop viewports (1280×720, 1440×780): keep the whole masthead above the fold */
@media (min-width:1000px) and (max-height:960px){.story.-big img{min-height:6.75rem}}
@media (min-width:1000px) and (max-height:820px){.feat-claim .h-1{font-size:clamp(2.2rem,3.4vw,3.2rem)}.feat-claim{padding-top:.5rem;padding-bottom:.75rem;gap:.75rem}.logo{padding:.25rem 0}.feat-fig{min-height:15rem}.feat-fig img{object-position:50% 30%}.side .label{padding:.6rem 0}.story.-big{display:grid;grid-template-columns:1fr 1.7fr;gap:.75rem;padding:.6rem 0 .8rem;flex:none;min-height:0}.story.-big img{grid-column:1;aspect-ratio:4/3;min-height:0;max-height:none}.story.-big>div{grid-column:2}.story.-big h3{font-size:.95rem;margin-bottom:.3rem}.story.-big .kick{margin-bottom:.25rem;font-size:.66rem}.side .more{padding:.6rem 0 .4rem}.feat-foot{padding-top:.8rem}}
@media (min-width:1000px) and (max-width:1399px){.feat-foot .meta{font-size:.8rem;flex-wrap:wrap}.feat-foot>*{white-space:nowrap}}
@media (min-width:1000px) and (max-width:1199px){.feat-foot .meta{font-size:.72rem}}
@media (max-width:999px){.home{grid-template-columns:1fr;column-gap:0;min-height:0}.feat{grid-column:auto;grid-template-columns:1fr;grid-template-rows:auto;padding-bottom:1.5rem}.feat-claim{padding-top:1.25rem}.feat-fig{grid-column:1;grid-row:auto;aspect-ratio:4/3;min-height:0}.feat-fig img{position:static}.feat-foot{grid-column:1;grid-row:auto;flex-wrap:wrap}.feat-foot .meta{justify-content:flex-start}.side{grid-column:auto;border-top:var(--rule) solid var(--ink)}.side::before{display:none}.story.-big{display:grid;grid-template-columns:2fr 3fr;gap:var(--gap);flex:none;align-items:center;min-height:0}.story.-big img{grid-column:1;aspect-ratio:4/3;min-height:0;max-height:none}.story.-big>div{grid-column:2}.feat-foot{row-gap:.5rem}}
@media (max-width:699px){.side{display:none}}
.scroll-cue{display:none}
@media (max-width:699px){
  .mast{display:flex;flex-direction:column;min-height:calc(100svh - var(--header-max))}
  .mast>.rule:first-child{flex:none}
  .home{flex:1 1 auto;min-height:0}
  .feat{display:flex;flex-direction:column;min-height:100%;padding-bottom:.75rem}
  .feat-fig{flex:1 1 auto;min-height:11rem;aspect-ratio:auto!important}
  .feat-fig img{position:absolute}
  .feat-foot,.feat-claim{flex:none}
  .feat-foot{flex-direction:column;align-items:stretch;gap:.6rem}.feat-foot .btn{width:100%;justify-content:center;padding:1.15rem 1.5rem;font-size:1.05rem}.feat-foot .meta{order:-1;font-size:.72rem}
  .scroll-cue{display:flex;align-items:center;justify-content:center;padding:.5rem 0 .35rem}.scroll-cue span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .scroll-cue i{width:.9rem;height:.9rem;border-right:2px solid var(--gold-mid);border-bottom:2px solid var(--gold-mid);transform:rotate(45deg) translateY(-.15rem);animation:cue 1.6s var(--ease-out) infinite}
}
@keyframes cue{0%,100%{transform:rotate(45deg) translate(0,-.15rem)}50%{transform:rotate(45deg) translate(.25rem,.1rem)}}

/* ---------- sections ---------- */
.sec{padding-top:1.25rem;padding-bottom:var(--sp-xl)}
.sec.-lost{min-height:70vh;min-height:70svh;display:grid;align-content:center;gap:1.5rem}
.sec-head{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--gap);align-items:end;padding-bottom:1.25rem;border-bottom:var(--rule-thin) solid var(--ink);margin-bottom:var(--gap)}
.sec-head .label{grid-column:1/3}
.sec-head .cols{grid-column:4;display:flex;justify-content:space-between;gap:1rem;font-weight:500;text-transform:uppercase;letter-spacing:0;font-size:1rem}
.sec-head.-three{grid-template-columns:repeat(3,1fr)}
.sec-head.-three .label{grid-column:1/3}
.sec-head.-three .cols{grid-column:3}
@media (max-width:999px){.sec-head,.sec-head.-three{grid-template-columns:1fr}.sec-head .label,.sec-head.-three .label{grid-column:1;margin-bottom:.75rem}.sec-head .cols,.sec-head.-three .cols{grid-column:1;font-size:.85rem}}

/* ---------- tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--gap);row-gap:var(--sp-l)}
.tiles.-wide{grid-template-columns:repeat(3,1fr)}
.tile{display:grid;gap:.75rem;align-content:start;min-width:0}
.tile-fig{aspect-ratio:17/19;overflow:hidden;background:var(--sand);position:relative}
.tiles.-wide .tile-fig{aspect-ratio:4/3}
.tiles.-wide .tile.-span2{grid-column:span 2}
.tiles.-wide .tile.-span2 .tile-fig{aspect-ratio:auto;height:0;min-height:100%;padding-bottom:calc((100% - var(--gap)) * 3 / 8)}
.tiles.-wide .tile.-span2 .tile-fig img{position:absolute;inset:0;height:100%}
.tile-fig img,.tile-fig video{width:100%;height:100%;object-fit:cover}
.tile-fig img.-top,.tile-fig video.-top{object-position:center 12%}
.tile-fig img.-right{object-position:78% 40%}
.tile-fig img.-calm{filter:saturate(.82) sepia(.08)}
.tile-fig .badge{position:absolute;right:0;top:0;background:var(--gold);color:var(--ink);font-weight:500;text-transform:uppercase;letter-spacing:.02em;font-size:.7rem;padding:.45rem .6rem .4rem}
.tile-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;padding-top:.75rem;border-top:var(--rule-thin) solid var(--ink)}
.tile-row h3{font-weight:500;letter-spacing:-.02em;font-size:1.375rem;line-height:1.05}
.tile-row .r{font-weight:500;text-transform:uppercase;letter-spacing:0;font-size:.85rem;text-align:right;white-space:nowrap;padding-top:.25rem}
.tile-row .r.-date{color:var(--gold-text)}
.tile p{font-size:1rem;line-height:1.35}
.tile.-span2 p{max-width:60ch}
.tile.-cta{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);align-content:stretch;gap:0;background:var(--wine);color:var(--cream)}
.tiles.-wide .tile.-cta .tile-fig{height:auto;min-height:0;padding-bottom:0;aspect-ratio:auto;align-self:stretch}
.tiles.-wide .tile.-cta .tile-fig img{position:absolute;inset:0;height:100%}
.tile.-cta .cta-panel{display:flex;flex-direction:column;gap:1rem;padding:1.5rem 1.5rem 1.5rem 1.75rem;min-height:100%}
.tile.-cta .cta-panel .btn{margin-top:auto;align-self:flex-start}
.tile.-cta .cta-panel h3{font-weight:500;letter-spacing:-.03em;font-size:clamp(1.9rem,2.6vw,2.6rem);line-height:.95}
.tile.-cta .cta-panel p{color:var(--cream);opacity:.92;max-width:40ch}
.tile.-cta .cta-panel .meta{color:var(--gold);font-size:.85rem}
.tile.-cta .cta-panel .btn{background:var(--gold);color:var(--ink);justify-self:start}
.tile.-cta:hover .cta-panel .btn{background:var(--cream);color:var(--wine)}
.tile.-cta:focus-visible{outline-offset:4px}
@media (max-width:480px){.tile.-cta{grid-template-columns:1fr}.tiles.-wide .tile.-cta .tile-fig{aspect-ratio:4/3}.tiles.-wide .tile.-cta .tile-fig img{position:static}}
.tile .enter{display:block;font-weight:500;font-size:.95rem;text-transform:uppercase;letter-spacing:.01em;line-height:1.2}
.tile .enter .arrow{display:inline-block;transition:transform .4s var(--ease-out)}.tile:hover .enter .arrow{transform:translateX(.3rem)}.tile:hover .enter,.tile:focus-visible .enter{color:var(--gold-text)}
.tile .fact{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;font-size:.9rem;padding-top:.5rem;border-top:1px solid rgba(36,33,29,.18)}
.tile .fact dt{font-weight:500;text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;color:var(--grey);padding-top:.15rem}
.tile .fact dd{margin:0}
.tile .fact .gold{color:var(--gold-text);font-weight:500}
.vbtn{position:absolute;left:10px;top:10px;width:3.125rem;height:3.125rem;border-radius:50%;background:var(--cream);color:transparent;font-size:0}
.vbtn::after{content:"";position:absolute;top:50%;left:50%;margin:-5px 0 0 -4px;border:5px solid transparent;border-left:10px solid var(--gold-mid);border-right:0}
.vbtn[aria-pressed="true"]::after{border:0;width:8px;height:10px;margin:-5px 0 0 -4px;border-left:3px solid var(--gold-mid);border-right:3px solid var(--gold-mid)}
@media (hover:hover){.tile-fig:hover .vbtn,.believe-video:hover .vbtn{background:var(--gold)}.tile:hover .tile-row h3{color:var(--gold-text)}}
@media (max-width:999px){.tiles{grid-template-columns:repeat(2,1fr)}.tiles.-wide{grid-template-columns:1fr 1fr}.tile-row h3{font-size:1.2rem}.tiles .tile-row{grid-template-columns:1fr;gap:.2rem}.tiles .tile-row .r{text-align:left;white-space:nowrap;padding-top:0}}
@media (max-width:480px){.tile-row .r[aria-hidden]{display:none}.tiles .tile-row .r{max-width:none}.tiles{column-gap:.625rem;row-gap:2.5rem}.tiles .tile-row{grid-template-columns:1fr;gap:.25rem}.tiles .tile-row .r{text-align:left}.tiles .tile-row h3{font-size:1rem}.tiles .tile p,.tiles .tile .fact{display:none}.tiles.-wide{grid-template-columns:1fr}.tiles.-wide .tile.-span2{grid-column:auto}.tiles.-wide .tile.-span2 .tile-fig{height:auto;padding-bottom:0;aspect-ratio:4/3}.tiles.-wide .tile.-span2 .tile-fig img{position:static}.tiles.-wide .tile p,.tiles.-wide .tile .fact{display:block}.tiles.-wide .tile .fact{display:grid}}

/* ---------- lit statement (pinned; characters light up with the scroll, arrakis.tech section 3) ---------- */
.lit{position:relative;height:250vh;height:250svh;margin-inline:calc(-1*var(--gutter));padding-inline:var(--gutter);background:var(--wine);color:var(--cream)}
.lit .label .ital{color:var(--gold)}
.lit-pin{position:sticky;top:var(--header);height:calc(100vh - var(--header));height:calc(100svh - var(--header));display:grid;align-content:center;justify-items:center;text-align:center;padding:4.5rem 4% 2rem}
.lit-side{position:absolute;top:1.25rem;left:var(--gutter);text-align:left}
.lit-text{font-weight:700;letter-spacing:-.025em;line-height:.95;font-size:clamp(2.6rem,7.4vw,8rem);max-width:13ch;text-wrap:balance}
.lit-text .w{display:inline-block;white-space:nowrap}
/* each character: --k 0→1 as the scroll reaches it; --g peaks mid-transition for the glowing leading edge */
.lit-text .c{--k:clamp(0,calc((var(--p,0)*(var(--n,1) + 3) - var(--i,0))/3),1);--g:calc(var(--k)*(1 - var(--k))*4);color:var(--ink);color:color-mix(in oklab,var(--gold-glow) calc(var(--g)*100%),color-mix(in oklab,var(--gold-mid) calc(var(--k)*100%),color-mix(in oklab,var(--ink) 22%,var(--cream))));text-shadow:0 0 calc(.06em + var(--g)*.3em) rgba(255,211,106,calc(var(--k)*.22 + var(--g)*.75))}
.lit .lit-text .c{color:var(--gold);color:color-mix(in oklab,var(--gold-glow) calc(var(--g)*100%),color-mix(in oklab,var(--gold) calc(var(--k)*100%),var(--wine-dim)));text-shadow:0 0 calc(.06em + var(--g)*.35em) rgba(255,222,122,calc(var(--k)*.28 + var(--g)*.8))}
html:not(.js) .lit,html.lit-static .lit{height:auto;padding-block:var(--sp-l)}
html:not(.js) .lit-pin,html.lit-static .lit-pin{position:static;height:auto;padding-top:5rem}
html:not(.js) .lit-text,html.lit-static .lit-text{color:var(--gold-mid)}
html:not(.js) .lit .lit-text,html.lit-static .lit .lit-text{color:var(--gold)}
@media (max-width:999px){.lit{height:220vh;height:220svh}.lit-pin{padding:4rem 0 2rem;justify-items:start;text-align:left}.lit-side{left:var(--gutter)}.lit-text{max-width:none;font-size:clamp(2.4rem,11vw,5rem)}}

/* ---------- believe (after the lit statement) ---------- */
.believe{position:relative;padding-top:var(--sp-l)}
.believe .text{display:grid;grid-template-columns:1fr 3fr;gap:var(--gap);padding-top:1.5rem;align-items:start}
.believe-video{width:100%;padding-right:15%;position:relative}
.believe-video video{width:100%;aspect-ratio:3/4;object-fit:cover;background:#000}
.believe-video video:focus-visible{outline-offset:-4px}
.believe .text .body-lg{grid-column:2;text-indent:12.5%}
.believe .text .body-lg em{font-style:normal;color:var(--gold-text)}
.believe .audiences{grid-column:2;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap);margin-top:var(--sp-m);padding-top:1.25rem;border-top:var(--rule-thin) solid var(--ink)}
.believe .audiences a{display:grid;gap:.5rem;align-content:start}
.believe .audiences .meta{color:var(--grey)}
.believe .audiences b{font-weight:500;font-size:1.25rem;letter-spacing:-.02em;line-height:1.1}
.believe .audiences b .arrow{color:var(--gold-mid)}
.believe .audiences a:hover b{color:var(--gold-text)}
@media (max-width:999px){.believe .text{grid-template-columns:1fr}.believe-video{padding-right:0}.believe-video video{aspect-ratio:16/10;object-position:50% 10%}.believe .text .body-lg,.believe .audiences{grid-column:1;text-indent:0}.believe .audiences{grid-template-columns:1fr}}

/* ---------- stories listing (staggered, statement in the middle) ---------- */
.listing{padding-top:var(--sp-l);position:relative}
.listing-rule{height:var(--rule);background:var(--ink);transform:scaleX(0);transform-origin:left;margin-bottom:var(--sp-l)}
.listing-rule.is-in{transform:none;transition:transform 1.1s var(--ease-out)}
html:not(.js) .listing-rule,html.lit-static .listing-rule{transform:none}
.listing+.sec{border-top:var(--rule) solid var(--ink);padding-top:0}
.listing+.sec>:first-child{padding-top:var(--sp-l)}
.listing-grid{display:grid;grid-template-columns:repeat(16,1fr);column-gap:var(--gap);row-gap:var(--sp-xl);align-items:start}
.listing-grid::after{content:"";grid-column:1/-1;justify-self:center;width:var(--rule);height:10.125rem;background:var(--ink);margin-top:calc(-1*var(--sp-xl) + var(--sp-l));margin-bottom:-2px}
.item{position:relative;display:grid;gap:.625rem;min-width:0}
.item>a{position:absolute;inset:0;z-index:2;font-size:0}
.item figure video{width:100%;height:100%;object-fit:cover;background:#000}
.item .vbtn{z-index:3}
.item>a:focus-visible{outline:3px solid var(--ink);outline-offset:-3px;box-shadow:inset 0 0 0 6px var(--cream)}
.box-foot a,.feat-foot .meta a{display:inline-block;padding-block:.35rem;margin-block:-.35rem}
.item figure{overflow:hidden;background:var(--sand)}
.item img{width:100%;height:100%;object-fit:cover}
.item img.-mid{object-position:50% 40%}
.item .content{display:grid;grid-template-columns:minmax(6.5rem,30%) minmax(0,1fr);gap:0 var(--gap);padding-top:.625rem}
.item .content .info{display:grid;gap:.3rem;align-content:start;font-weight:500;text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;line-height:1.1}
.item .content .info .date{color:var(--gold-text);white-space:nowrap}
.item .content h3{font-weight:400;font-size:1.25rem;line-height:1.1;letter-spacing:-.01em;text-wrap:pretty}
.item:hover h3{color:var(--gold-text)}
.listing-grid>.col{display:grid;row-gap:var(--sp-l);align-content:start;min-width:0}
.listing-grid>.col:nth-child(1){grid-column:1/5}
.listing-grid>.col:nth-child(2){grid-column:6/12}
.listing-grid>.col:nth-child(3){grid-column:13/17}
.listing-grid>.col:nth-child(1),.listing-grid>.col:nth-child(3){padding-top:0}
.listing-grid>.col:nth-child(2){row-gap:var(--sp-xl)}
.item.-text{text-align:center;padding:4rem 0 2rem}
.item.-text .h-huge{font-size:clamp(3rem,6.6vw,7.2rem);line-height:.9;letter-spacing:-.03em}
.item.-text .h-huge em{font-style:italic;font-weight:400;letter-spacing:-.02em}
.item.-text .lit-text{max-width:none;text-wrap:balance}
html:not(.js) .item.-text .h-huge,html.lit-static .item.-text .h-huge{color:var(--gold-mid)}
.item figure{aspect-ratio:10/11}
.listing-grid>.col:nth-child(2) .item figure{aspect-ratio:4/5}
@media (max-width:1399px){.item .content{grid-template-columns:1fr;gap:.4rem}}
@media (max-width:999px){.listing-grid{grid-template-columns:repeat(2,1fr);column-gap:.625rem;row-gap:2.5rem}.listing-grid>.col{display:contents}.item.-first{order:-2}.item.-second{order:-1}.item.-text{grid-column:1/-1;padding:1rem 0 2rem}.item figure,.listing-grid>.col:nth-child(2) .item figure{aspect-ratio:4/5}.item .content{grid-template-columns:1fr;gap:.4rem}.item .content h3{font-size:1.05rem}.listing-grid::after{height:3.125rem;margin-top:0}}

/* ---------- carousel: centre slide highlighted, neighbours dimmed; snap scrolling, buttons, autoplay ---------- */
.carousel{position:relative;margin-top:var(--gap);margin-inline:calc(-1*var(--gutter))}
.car-track{display:flex;gap:var(--gap);padding-inline:var(--gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:1rem 0 1.5rem;--slide-h:min(62vh,34rem)}
.car-track::-webkit-scrollbar{display:none}
/* spacers let the first (3:2) and last (3:4) slides reach the centre */
html:not(.js) .car-track{padding-left:var(--gutter)}
html:not(.js) .menu-main li,html:not(.js) .menu-side{opacity:1;transform:none}
.car-slide{flex:none;height:var(--slide-h);aspect-ratio:3/2;scroll-snap-align:center;scroll-snap-stop:always;overflow:hidden;background:var(--sand);opacity:.5;transform:scale(.92);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);margin:0}
.car-slide[data-ar="w"]{aspect-ratio:16/9}.car-slide[data-ar="l"]{aspect-ratio:3/2}.car-slide[data-ar="s"]{aspect-ratio:1}.car-slide[data-ar="p"]{aspect-ratio:3/4}.car-slide[data-ar="t"]{aspect-ratio:3/5}
.car-slide.is-centre{opacity:1;transform:scale(1.03)}
@media (hover:hover){.car-slide.is-centre:hover{transform:scale(1.06)}}
.car-slide[data-clone]{pointer-events:none}
.car-slide img{width:100%;height:100%;object-fit:cover}
.car-track:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.car-ctl{display:flex;align-items:center;justify-content:center;gap:1rem;padding:0 var(--gutter)}
.car-btn{width:3rem;height:3rem;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;font-size:1.25rem;line-height:1;transition:background .3s var(--ease-out),color .3s var(--ease-out)}
.car-btn:hover{background:var(--ink);color:var(--cream)}
.car-count{font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;min-width:4.5rem;text-align:center;font-variant-numeric:tabular-nums}
.car-play{font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;padding:.5rem .6rem;border-bottom:2px solid transparent}
.car-play:hover{border-color:var(--gold)}
@media (max-width:999px){.car-track{--slide-h:min(52vh,24rem);padding:.5rem 0 1rem}}
@media (max-width:480px){.car-track{--slide-h:min(46vh,19rem,calc(82vw/1.5))}.car-btn{width:2.75rem;height:2.75rem}}
html:not(.js) .car-track{scroll-snap-type:none}html:not(.js) .car-slide{opacity:1;transform:none}html:not(.js) .car-ctl{display:none}

/* ---------- gallery (justified rows: flex-grow and basis follow each photo's aspect ratio) ---------- */
.gallery{display:flex;flex-wrap:wrap;gap:var(--gap);margin-top:var(--gap)}
/* basis = this photo's share of a four-up row (two-up on phones); flex-grow by aspect ratio justifies each row */
.gallery figure{--ar:1.5;flex:var(--ar) 1 calc(var(--ar)*(100vw - 2*var(--gutter) - 3*var(--gap))/6.2);aspect-ratio:var(--ar);min-width:0;overflow:hidden;background:var(--sand);position:relative}
.gallery figure[data-ar="w"]{--ar:1.78}
.gallery figure[data-ar="l"]{--ar:1.5}
.gallery figure[data-ar="s"]{--ar:1}
.gallery figure[data-ar="p"]{--ar:.75}
.gallery figure[data-ar="t"]{--ar:.6}
.gallery::after{content:"";flex:999 1 auto;min-height:0}
.gallery img{width:100%;height:100%;object-fit:cover}
@media (max-width:999px){.gallery{gap:.625rem}.gallery figure{flex-basis:calc(var(--ar)*(100vw - 2*var(--gutter) - var(--gap))/3.2)}}

/* ---------- socials ---------- */
.socials{display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--gap)}
.socials a{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1.25rem 0 1.5rem;border-bottom:var(--rule-thin) solid var(--ink)}
.socials svg{width:3rem;height:3rem;fill:currentColor;flex:none}
.socials b{display:block;font-weight:500;font-size:1.375rem;letter-spacing:-.02em;line-height:1}
.socials small{display:block;margin-top:.4rem;font-size:.9rem;color:var(--grey);overflow-wrap:anywhere}
@media (min-width:700px) and (max-width:999px){.socials{grid-template-columns:1fr}}
.socials a:hover{color:var(--gold-text)}
.socials a:hover small{color:var(--gold-text)}
@media (max-width:699px){.socials{grid-template-columns:1fr}.socials a{padding:1.1rem 0}.socials svg{width:2.4rem;height:2.4rem}}

/* ---------- border box (numbers) ---------- */
.box{position:relative;border-top:var(--rule) solid var(--ink);border-bottom:var(--rule) solid var(--ink);padding:var(--sp-l) 0;margin:0}
.box::before,.box::after{content:"";position:absolute;left:50%;width:var(--rule);margin-left:calc(-1*var(--rule)/2);height:var(--stub);background:var(--ink)}
.box::before{display:none}
.box::after{bottom:-2px}
.box .label{text-align:center;margin-bottom:var(--sp-m)}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);column-gap:var(--gap);row-gap:2rem}
.numbers>div{border-top:var(--rule-thin) solid var(--ink);padding-top:1rem;min-width:0}
.numbers b{display:block;font-weight:500;letter-spacing:-.04em;line-height:.9;font-size:clamp(1.9rem,3.4vw,3.8rem);white-space:nowrap}
.numbers span{display:block;margin-top:.7rem;font-size:.9rem;line-height:1.3;max-width:22ch;color:var(--grey)}
.box-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;margin-top:var(--sp-m);font-size:.85rem;color:var(--grey)}
.box-foot a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
@media (max-width:699px){.numbers{grid-template-columns:1fr 1fr}}
.box{margin-bottom:calc(var(--stub) + var(--sp-xl))}

/* ---------- footer curtain ---------- */
.foot{position:relative;z-index:1;margin-inline:calc(-1*var(--gutter));margin-top:-100vh;margin-top:-100svh;color:var(--cream);background:var(--bronze-deep)}
/* curtain run-out: the container is the sticky panel's own height plus one viewport, so the panel is always fully reachable (short viewports, iOS toolbars) */
.foot::after{content:"";display:block;height:100vh;height:100svh}
.foot-anchor{position:absolute;top:100vh;top:100svh;left:0;width:1px;height:1px;scroll-margin-top:0}
.foot-in{position:sticky;top:0;min-height:100vh;min-height:100lvh;display:flex;isolation:isolate;overflow:hidden}
.foot-bg{position:absolute;inset:0;z-index:-1;background:var(--bronze-deep)}
.foot-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 68%;filter:saturate(.7) sepia(.35) contrast(1.05)}
.foot-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(92,61,14,.7) 0,rgba(92,61,14,.45) 42%,rgba(232,184,74,.12) 100%),linear-gradient(180deg,rgba(200,140,40,.34) 0%,rgba(140,96,22,.5) 35%,rgba(43,28,6,.86) 70%,rgba(43,28,6,.96) 100%)}
.foot-con{display:flex;flex-direction:column;width:100%;padding:calc(var(--header) + 1.5rem) var(--gutter) 0}
.foot-mark{width:clamp(72px,8vw,120px);height:auto;margin-bottom:2rem}
.foot .h-huge{margin-top:auto;max-width:none;font-size:clamp(3.5rem,6.6vw,6.6rem)}
.foot .h-huge em{font-style:italic;font-weight:400;letter-spacing:-.015em;color:var(--gold-glow)}
.touch{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem var(--gap);margin-top:2rem;padding-bottom:2.5rem}
.touch p{font-size:1.1rem;max-width:40ch;line-height:1.45}
.touch .ways{display:grid;gap:.75rem;justify-items:start}
.touch .ways small{font-size:.85rem;opacity:.85}
.foot-bottom{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);align-items:end;border-bottom:var(--rule-thin) solid var(--gold);padding-bottom:1.25rem;font-weight:500;font-size:1rem;text-transform:uppercase;letter-spacing:.01em;line-height:1.25}
.foot-bottom a{display:inline-block;padding-block:.35rem}
.foot-bottom a:hover{color:var(--gold)}
.foot-bottom a[href^="mailto"]{overflow-wrap:anywhere;text-transform:none}
.foot-bottom>div:last-child{text-transform:none;letter-spacing:0;font-weight:400;opacity:.85}
.foot-bottom small{display:block;font-size:.8rem;text-transform:none;letter-spacing:0;margin-top:.5rem;opacity:.85}
@media (max-width:699px){.foot-bg::after{background:linear-gradient(90deg,rgba(92,61,14,.7) 0,rgba(92,61,14,.5) 42%,rgba(92,61,14,.35) 100%),linear-gradient(180deg,rgba(232,184,74,.42) 0%,rgba(140,96,22,.5) 35%,rgba(43,28,6,.88) 70%,rgba(43,28,6,.96) 100%)}.feat-foot{flex-direction:column;align-items:flex-start;gap:.5rem}.touch{flex-direction:column;align-items:flex-start}.foot-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:700px) and (max-width:999px){.foot-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.foot-bottom{grid-template-columns:minmax(0,1fr)}}

/* ---------- forms: notify (inline) and visit dialog ---------- */
.notify{display:grid;gap:.75rem;margin-top:var(--sp-m);max-width:34rem}
.notify .label{font-size:1.375rem}
.notify .row{display:flex;flex-wrap:wrap;gap:.6rem}
.field{display:grid;gap:.35rem;min-width:0}
.field>span{font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:var(--grey)}
.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:var(--cream);border:0;border-bottom:2px solid var(--ink);border-radius:0;padding:.65rem 0;width:100%;min-width:0;transition:border-color .3s var(--ease-out)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold-mid);box-shadow:none}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:2px solid var(--gold-mid);outline-offset:3px;box-shadow:none}
.field ::placeholder{color:var(--grey);opacity:1}
.field textarea{min-height:7rem;resize:vertical}
.notify .row .field{flex:1 1 16rem}
.notify .row .btn{align-self:end}
.notify .btn{padding-block:.95rem}
.form-status{font-size:.95rem;min-height:1.3em;color:var(--gold-text)}
.form-status.-err{color:#8B1E1E}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.dlg{position:fixed;inset:0;margin:auto;width:min(44rem,calc(100% - 2*var(--gutter)));max-height:calc(100svh - 2rem);border:0;border-radius:2px;padding:0;background:var(--cream);color:var(--ink);box-shadow:0 2rem 5rem -1.5rem rgba(36,33,29,.55);overflow:auto;overscroll-behavior:contain}
.dlg::backdrop{background:rgba(51,16,26,.72);backdrop-filter:blur(3px)}
.dlg[open]{animation:dlg-in .45s var(--ease-out)}
.dlg[open]::backdrop{animation:dlg-bg .45s var(--ease-out)}
@keyframes dlg-in{from{opacity:0;transform:translateY(1.25rem) scale(.985)}to{opacity:1;transform:none}}
@keyframes dlg-bg{from{opacity:0}to{opacity:1}}
.dlg-form{display:grid;gap:1.1rem;padding:2rem 2rem 1.75rem;position:relative}
.dlg-form .h-2{max-width:18ch}
.dlg-close{position:absolute;top:1rem;right:1rem;width:2.75rem;height:2.75rem;border-radius:50%;display:grid;place-items:center;font-size:1.6rem;line-height:1;color:var(--ink)}
.dlg-close:hover{background:var(--ink);color:var(--cream)}
.dlg-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem var(--gap)}
.dlg-grid .-wide{grid-column:1/-1}
.dlg-form .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.25rem}
.dlg-form small{font-size:.85rem;color:var(--grey)}
.dlg-form .btn[disabled]{opacity:.6;cursor:progress}
@media (max-width:699px){.dlg-form{padding:1.5rem 1.25rem 1.25rem}.dlg-grid{grid-template-columns:1fr}}

/* ---------- inner pages: article, competition, team ---------- */
.page{padding-top:1.25rem}
.page-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--sp-m) var(--sp-l);align-items:end;padding:2rem 0 1.5rem;border-bottom:var(--rule) solid var(--ink)}
.page-head .kicker{display:grid;gap:.5rem;align-content:end}
.page-head .kicker .date{color:var(--gold-text)}
.page-head .h-1{font-size:clamp(2.4rem,5vw,4.6rem);max-width:18ch}
.page-head .standfirst{grid-column:2;font-size:clamp(1.2rem,1.8vw,1.5rem);line-height:1.3;max-width:48ch;color:var(--grey)}
.byline{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;align-items:baseline;font-size:.95rem;color:var(--grey)}
.byline b{font-weight:500;color:var(--ink)}
.byline .role{font-style:italic}
.art{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--sp-m) var(--sp-l);padding:var(--sp-m) 0 var(--sp-xl)}
.art-aside{display:grid;gap:1.5rem;align-content:start;position:sticky;top:calc(var(--header) + 1.5rem)}
.art-aside .meta{color:var(--grey)}
.art-aside dl{display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.95rem}
.art-aside dt{font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:var(--grey);padding-top:.2rem}
.art-aside dd{margin:0}
.art-fig{margin:0 0 var(--sp-m);position:relative}
.art-fig img,.art-fig video{width:100%;height:auto;display:block;background:var(--sand)}
.art-fig:not(.-portrait) img{aspect-ratio:3/2;object-fit:cover;object-position:50% 30%}
.art-fig.-low img{object-position:50% 68%}
.art-fig.-portrait{max-width:28rem}
.art-fig .vbtn{left:10px;top:10px}
.art-fig figcaption{font-size:.85rem;color:var(--grey);padding:.6rem 0 0;border-top:1px solid rgba(36,33,29,.18);margin-top:.6rem}
.art-body{max-width:62ch;font-size:1.125rem;line-height:1.55}
.art-body p{margin:0 0 1.25em}
.art-body > p:first-of-type::first-letter{font-weight:700;font-size:3.1em;line-height:.82;float:left;padding:.08em .1em 0 0;color:var(--wine)}
.art-body .pull{margin:1.75rem 0;padding:1.25rem 0 1.25rem 1.5rem;border-left:var(--rule-thin) solid var(--gold);font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.15;letter-spacing:-.02em;font-weight:500;color:var(--wine);max-width:26ch}
.art-body h2{font-weight:500;letter-spacing:-.02em;font-size:1.5rem;line-height:1.1;margin:2rem 0 .75rem}
.art-body ul,.art-body ol{padding-left:1.25rem;margin:0 0 1.25em;list-style:disc}
.art-body ol{list-style:decimal}
.art-body li{margin-bottom:.4em}
.art-body a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--gold-mid)}
.art-body a:hover{color:var(--gold-text)}
.art-foot{border-top:var(--rule-thin) solid var(--ink);padding-top:1.25rem;margin-top:var(--sp-m)}
.related{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap);margin-top:var(--gap)}
.related .item{align-content:start}
.related .item figure{aspect-ratio:4/3}
.related .item .content{grid-template-columns:1fr;gap:.4rem}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--gap);margin:var(--sp-m) 0}
.facts div{border-top:var(--rule-thin) solid var(--ink);padding-top:.75rem}
.facts b{display:block;font-weight:500;letter-spacing:-.03em;font-size:clamp(1.5rem,2.4vw,2.2rem);line-height:1}
.facts span{display:block;margin-top:.4rem;font-size:.9rem;color:var(--grey)}
.facts .gold b{color:var(--gold-mid)}
.qs{display:grid;gap:0;counter-reset:q;margin:1rem 0 1.5rem;padding:0;list-style:none}
.qs li{counter-increment:q;display:grid;grid-template-columns:2.6rem 1fr;gap:.75rem;padding:1rem 0;border-top:1px solid rgba(36,33,29,.18);font-size:clamp(1.15rem,1.7vw,1.4rem);line-height:1.25;letter-spacing:-.01em;font-weight:500}
.qs li::before{content:counter(q,decimal-leading-zero);font-size:.75rem;letter-spacing:.06em;color:var(--gold-mid);padding-top:.35rem}
.steps{counter-reset:s;list-style:none;padding:0;margin:0 0 1.25em}
.steps li{counter-increment:s;display:grid;grid-template-columns:2.6rem 1fr;gap:.75rem;padding:.6rem 0}
.steps li::before{content:counter(s,decimal-leading-zero);font-size:.75rem;letter-spacing:.06em;color:var(--gold-mid);padding-top:.35rem}
.faq{border-top:var(--rule-thin) solid var(--ink)}
.faq details{border-bottom:1px solid rgba(36,33,29,.18)}
.faq summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem 0;font-weight:500;font-size:1.15rem;letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--gold-mid);transition:transform .35s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 1.25rem;max-width:62ch;font-size:1.05rem;line-height:1.5}
.status-pill{display:inline-block;padding:.45rem .7rem .4rem;background:var(--wine);color:var(--cream);font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;border-radius:2px}
.status-pill.-soon{background:var(--gold);color:var(--ink)}
.status-pill.-open{background:var(--gold);color:var(--ink)}
.qs li span{display:block}
.qs li small{display:block;grid-column:2;font-weight:400;font-size:.95rem;line-height:1.4;color:var(--grey);margin-top:.35rem;letter-spacing:0}
.notify.enter{max-width:44rem;padding:1.5rem 0 0;border-top:var(--rule) solid var(--ink)}
.notify.enter .dlg-grid{margin-top:.5rem}
.notify.enter .actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}
.notify.enter small{font-size:.85rem;color:var(--grey)}
.field.-file input{padding:.6rem 0;border-bottom-style:dashed}
.field.-file input::file-selector-button{font:inherit;font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;background:var(--ink);color:var(--cream);border:0;padding:.55rem .8rem;margin-right:.75rem;cursor:pointer;border-radius:2px}
.art-fig.-second{margin-top:calc(-1*var(--sp-m) + 2.25rem)}
.past{list-style:none;padding:0;margin:1rem 0 1.5rem}
.past li{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1.1rem 0;border-top:1px solid rgba(36,33,29,.18)}
.past .place{font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:var(--gold-mid);padding-top:.35rem}
.past b{display:block;font-weight:500;letter-spacing:-.01em}
.past em{display:block;font-style:italic;color:var(--grey);margin:.25rem 0 .5rem;font-size:1rem}
.past p{margin:0 0 .6rem;font-size:1rem}
.past a{font-weight:500;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;text-decoration:none}
.past a .arrow{display:inline-block;transition:transform .4s var(--ease-out)}.past a:hover .arrow{transform:translateX(.3rem)}
@media (max-width:599px){.past li{grid-template-columns:1fr;gap:.35rem}}
.team-group{margin:var(--sp-m) 0;background:var(--sand);overflow:hidden;aspect-ratio:3/2}
.team-group img{width:100%;height:100%;object-fit:cover}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-l) var(--gap);padding:var(--sp-m) 0 var(--sp-xl)}
.member{display:grid;gap:.75rem;align-content:start}
.member figure{aspect-ratio:3/4;overflow:hidden;background:var(--sand)}
.member img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.member .tile-row{padding-top:.75rem}
.member h3{font-weight:500;letter-spacing:-.02em;font-size:1.375rem;line-height:1}
.member p{font-size:1rem;line-height:1.45}
@media (max-width:999px){.page-head{grid-template-columns:1fr}.page-head .standfirst{grid-column:1}.art{grid-template-columns:1fr}.art-aside{position:static}.team{grid-template-columns:1fr 1fr}}
@media (max-width:599px){.related{grid-template-columns:1fr}.team{grid-template-columns:1fr}}

/* ---------- lazy images ---------- */
.lazy{transition:none}
html.is-first-loaded .lazy{transition:opacity var(--t) .1s var(--ease-slab)}
html.js img.lazy:not(.in),html.js:not(.is-loaded) img.lazy{opacity:0}
html:not(.js) video[data-poster]{display:none}

/* ---------- print ---------- */
@media print{.pre,.foot-bg,.believe-video,.vbtn,.dlg,.notify,.car-ctl{display:none!important}.car-slide{opacity:1!important;transform:none!important;transition:none!important}.listing-rule{transform:none!important}.art-aside{position:static}.lit{background:none!important;color:#000!important}.lit .label .ital{color:#000!important}.lit .lit-text .c,.lit-text .c{color:#000!important;text-shadow:none!important}.brand .mark,.hdr .ic{print-color-adjust:exact;-webkit-print-color-adjust:exact}body{padding-top:0}.site-header{position:static;background:none!important}.lit{height:auto}.lit-pin{position:static;height:auto}.lit-text .c{opacity:1;color:#000}.gallery{display:grid;grid-template-columns:repeat(4,1fr)}.gallery figure{aspect-ratio:4/3}.tile,.story,.item,.numbers>div,.gallery figure{break-inside:avoid}.foot,.on-dark,.site-header{background:none!important;color:#000!important;transform:none!important;min-height:0;margin-top:0}.foot-in{min-height:0;position:static}.foot::after,.foot-anchor{display:none}.foot .h-huge em,.meta .date,.feat-claim .h-1 em{color:#000!important}html.js .anim,html.js img.lazy,html.js .hdr,html.js .mast>.rule,html.js .mast::after{opacity:1!important;transform:none!important}}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  html.js .pre{display:none}html.js .anim{opacity:1}
  html.js img.lazy:not(.in){opacity:1}.lazy{transition:none}
  .btn{transition:none}.vbtn{transition:none}.menu,.menu a,.hdr>*{transition:none}
  html.js .hdr,html.js .mast>.rule,html.js .mast::after,html.js .side::before{transform:none}
  .car-slide{transition:none}.listing-rule{transition:none;transform:none}.feat-fig[data-rotate] img{transition:none}.scroll-cue i{animation:none}
  .dlg[open],.dlg[open]::backdrop{animation:none}
  html.is-first-loaded .menu,.site-header.is-open .menu,.menu-main li,.menu-side,.menu-main a .t,.menu-main a .go,.menu-main a::after,.menu-side a{transition:none}
}
