/* Neo Industrial Space Tech — long-form club and newsroom system */
body.editorial{background:var(--paper);color:var(--ink)}
.ed-shell{width:min(1440px,calc(100% - 48px));margin-inline:auto}
.ed-nav{position:absolute;z-index:30;inset:0 0 auto;height:92px;border-bottom:1px solid rgba(255,249,224,.24);color:var(--light)}
.ed-nav--ink{position:relative;background:var(--ink)}
.ed-nav__inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.ed-brand{display:flex;align-items:center;gap:12px;width:max-content;font-family:var(--condensed);font-size:1rem;font-weight:800;line-height:.85;letter-spacing:.06em;text-transform:uppercase}
.ed-brand img{width:43px;height:43px;object-fit:contain}
.ed-brand small{display:block;margin-top:5px;font:500 .56rem/1 var(--mono);letter-spacing:.14em;color:rgba(255,249,224,.56)}
.ed-nav__links{display:flex;gap:28px;font:700 .96rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.ed-nav__links a{position:relative;padding:10px 8px;color:var(--light);transition:background .22s var(--ease-soft),color .22s var(--ease-soft)}.ed-nav__links a::after{content:"";position:absolute;left:8px;right:calc(100% - 8px);bottom:3px;height:2px;background:var(--yellow);transition:right .25s var(--ease-enter)}
.ed-nav__links a:hover::after,.ed-nav__links a[aria-current="page"]::after{right:0}
.ed-nav__links a:hover{background:transparent;color:var(--light)}
.ed-nav__links a:hover::after{left:8px;right:8px;background:var(--yellow)}
.ed-nav__home{justify-self:end;border:1px solid rgba(255,249,224,.36);padding:13px 16px;font:600 .66rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;transition:.2s}
.ed-nav__home:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}

.ed-hero{position:relative;min-height:88svh;display:flex;align-items:flex-end;background:var(--ink);color:var(--light);overflow:hidden}
.ed-hero__media{position:absolute;inset:0}
.ed-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,79,.92) 0%,rgba(6,24,79,.44) 52%,rgba(6,24,79,.12)),linear-gradient(0deg,rgba(6,24,79,.84),transparent 60%)}
/* The hero is a squad photograph in a wider frame than the source, so cover
   takes a bite off both edges. Biased upward to protect the standing row's
   faces — dead-centre would clip heads before it clips grass. */
.ed-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.78) contrast(1.08)}
.ed-hero__media--badge img{object-position:center 54%;filter:saturate(.98) contrast(1.08)}
.ed-hero__content{position:relative;z-index:2;padding:180px 0 72px;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:48px;align-items:end}
.ed-kicker{font:600 .68rem/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--yellow)}
.ed-title{max-width:1020px;margin-top:20px;font:800 clamp(5.3rem,12.5vw,12.5rem)/.72 var(--display);letter-spacing:.005em;text-transform:uppercase}
.ed-deck{max-width:590px;margin-top:34px;font-size:clamp(1.05rem,1.5vw,1.35rem);line-height:1.42;color:rgba(255,249,224,.78)}
.ed-hero__datum{border-top:1px solid rgba(255,249,224,.38);padding-top:18px;font:500 .64rem/1.75 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,249,224,.62)}
.ed-hero__datum strong{display:block;font:700 4.5rem/.8 var(--num);color:var(--yellow);letter-spacing:0}
.ed-hero__index{position:absolute;right:24px;top:118px;z-index:2;writing-mode:vertical-rl;font:500 .59rem/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:rgba(255,249,224,.62)}

.ed-intro{display:grid;grid-template-columns:1fr 2fr;gap:9vw;padding:110px 0}
.ed-label{font:600 .64rem/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.ed-lead{font-size:clamp(2rem,3.6vw,4rem);line-height:1.03;letter-spacing:-.035em;font-weight:620}
.ed-lead em{font-style:normal;color:var(--green)}
.ed-copy{max-width:700px;margin-top:34px;font-size:1.08rem;line-height:1.72;color:rgba(10,30,77,.72)}
.ed-copy p+p{margin-top:1.35em}

.about-atlas{display:grid;grid-template-columns:1.2fr .72fr 1fr;grid-template-rows:repeat(2,310px);gap:4px;padding:4px;background:var(--ink)}
.about-atlas figure{position:relative;overflow:hidden;background:var(--ink)}
.about-atlas__support,.about-atlas__future{grid-row:1/-1}
.about-atlas img{width:100%;height:100%;object-fit:cover;filter:saturate(.84) contrast(1.04)}
.about-atlas__support img{object-position:50% center}
.about-atlas__crest img{object-position:48% center}
.about-atlas__street img{object-position:54% center}
.about-atlas__future img{object-position:58% center}
.about-atlas figcaption,.ed-feature__media--future figcaption{position:absolute;inset:auto 0 0;padding:46px 16px 14px;background:linear-gradient(0deg,rgba(6,24,79,.9),transparent);font:600 .57rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--light)}

.ed-stats{position:relative;isolation:isolate;overflow:hidden;background:var(--yellow);border-block:1px solid rgba(10,30,77,.22)}
.ed-stats::before{content:"";position:absolute;z-index:0;inset:0 0 0 48%;background:url("../assets/pattern/sun-macro.webp") center/cover no-repeat;opacity:.22;mix-blend-mode:multiply}
.ed-stats::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,var(--yellow) 24%,rgba(255,222,0,.76),rgba(255,222,0,.9))}
.ed-stats__grid{position:relative;z-index:2}
.ed-stats__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.ed-stat{min-height:220px;padding:32px;border-left:1px solid rgba(10,30,77,.2);display:flex;flex-direction:column;justify-content:space-between}
.ed-stat:last-child{border-right:1px solid rgba(10,30,77,.2)}
.ed-stat b{font:700 clamp(4rem,7vw,7.5rem)/.7 var(--num);letter-spacing:-.05em}
.ed-stat span{font:600 .67rem/1.35 var(--mono);letter-spacing:.14em;text-transform:uppercase}

.ed-feature{display:grid;grid-template-columns:1.06fr .94fr;min-height:700px;background:var(--ink);color:var(--light)}
.ed-feature--reverse{grid-template-columns:.94fr 1.06fr}.ed-feature--reverse .ed-feature__media{order:2}
.ed-feature__media{min-height:580px;overflow:hidden}
.ed-feature__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.72) contrast(1.08)}
.ed-feature__media--future{position:relative}
.ed-feature__media--future img{object-position:50% center;filter:saturate(.88) contrast(1.05)}
.ed-feature__body{padding:clamp(56px,8vw,120px);display:flex;flex-direction:column;justify-content:center}
.ed-feature__body .ed-label{color:var(--yellow)}
.ed-feature__body h2{margin:24px 0 30px;font:800 clamp(4.2rem,8vw,8rem)/.76 var(--display);text-transform:uppercase}
.ed-feature__body p{max-width:540px;font-size:1.08rem;line-height:1.7;color:rgba(255,249,224,.7)}
.ed-feature__body .ed-pull{margin-top:36px;padding-top:22px;border-top:1px solid rgba(255,249,224,.25);font:600 1rem/1.5 var(--mono);letter-spacing:.04em;color:var(--yellow)}

.ed-history-hero{position:relative;padding:190px 0 74px;background:var(--yellow);overflow:hidden}
.ed-history-hero::before{content:"1970";position:absolute;right:-.04em;top:.1em;font:800 min(38vw,34rem)/1 var(--num);color:rgba(10,30,77,.075);letter-spacing:-.08em}
.ed-history-hero h1{position:relative;font:800 clamp(6rem,15vw,15rem)/.7 var(--display);text-transform:uppercase}
.ed-history-hero p{position:relative;max-width:620px;margin-top:40px;font-size:1.25rem;line-height:1.5}
/* ── scroll-driven timeline ─────────────────────────────
   A continuous spine runs the height of the era list. The faint track is
   always drawn; a yellow fill grows down it as you scroll, and each era's
   node lights as the fill reaches it. --tl-x is the single source of truth
   for the spine's x-position — the track and every node read it, so they
   can never drift apart. Nodes are pseudo-elements on the items themselves
   (so they exist without JS); only the fill and the lit states are driven
   by script. */
.timeline{padding:90px 0 120px}
.timeline .ed-shell{position:relative;--tl-x:244px}
.timeline__spine{position:absolute;left:var(--tl-x);top:34px;bottom:34px;width:2px;
  background:rgba(10,30,77,.16);pointer-events:none;z-index:0}
.timeline__fill{display:block;width:100%;height:100%;transform-origin:top;
  transform:scaleY(var(--tl-p,0));
  background:linear-gradient(180deg,var(--yellow),#F0B400);
  transition:transform .18s linear}
.timeline__item{position:relative;z-index:1;display:grid;grid-template-columns:205px 1fr;gap:5vw;padding:50px 0;border-top:1px solid rgba(10,30,77,.22)}
/* node — sits on the spine, level with the era's year */
.timeline__item::before{content:"";position:absolute;z-index:2;left:var(--tl-x);top:75px;
  width:15px;height:15px;margin-left:-6px;border-radius:50%;
  background:var(--paper);border:2px solid rgba(10,30,77,.3);
  transition:background-color .4s var(--ease-soft),border-color .4s var(--ease-soft),
    transform .5s cubic-bezier(.34,1.28,.64,1),box-shadow .4s var(--ease-soft)}
.timeline__item.is-reached::before{background:var(--yellow);border-color:var(--yellow);
  transform:scale(1.5);box-shadow:0 0 0 6px rgba(255,222,0,.2)}
/* the signal era is full-bleed, so its node must be pushed back in by the
   same amount its own negative margin pulls it out */
.timeline__item--signal::before{left:calc(var(--tl-x) + (100vw - min(1440px,calc(100vw - 48px)))/2);
  background:var(--ink);border-color:rgba(255,249,224,.4)}
.timeline__item--signal.is-reached::before{background:var(--yellow);border-color:var(--yellow)}
/* era content settles in as its node is reached */
.timeline__item .timeline__year,.timeline__item .timeline__body{
  opacity:0;transform:translateY(18px);
  transition:opacity .6s var(--ease-soft),transform .7s var(--ease-enter)}
.timeline__item .timeline__body{transition-delay:.08s}
.timeline__item.is-reached .timeline__year,
.timeline__item.is-reached .timeline__body{opacity:1;transform:none}
/* archive imagery reveals independently, once it's actually in view */
.timeline figure{opacity:0;transform:translateY(26px) scale(.985);
  transition:opacity .75s var(--ease-soft),transform .9s var(--ease-enter)}
.timeline figure.is-shown{opacity:1;transform:none}
.history-archive figure:nth-child(2){transition-delay:.1s}
.history-archive figure:nth-child(3){transition-delay:.2s}
@media (prefers-reduced-motion:reduce){
  .timeline__item .timeline__year,.timeline__item .timeline__body,
  .timeline figure{opacity:1;transform:none;transition:none}
  .timeline__fill{transform:scaleY(1);transition:none}
  .timeline__item::before{transition:none}
}
.timeline__year{box-sizing:border-box;width:100%;min-height:70px;padding:14px 16px;display:flex;align-items:center;align-self:start;
  background:var(--yellow);color:var(--blue);font:700 clamp(2.2rem,3.4vw,3.35rem)/.8 var(--num);
  letter-spacing:-.04em;white-space:nowrap;overflow:hidden}
.timeline__body h2{font:800 clamp(2.6rem,5vw,5rem)/.82 var(--display);text-transform:uppercase}
.timeline__body p{max-width:760px;margin-top:22px;font-size:1.08rem;line-height:1.7;color:rgba(10,30,77,.72)}
.timeline__item--signal{background:var(--ink);color:var(--light);margin-inline:calc((100vw - min(1440px,calc(100vw - 48px)))/-2);padding-inline:max(24px,calc((100vw - 1440px)/2))}
.timeline__item--signal .timeline__body p{color:rgba(255,249,224,.7)}
.timeline__item--signal .timeline__year{color:var(--blue)}
/* archive block: one full-width plate over a row of three supporting frames
   (was 1.35/.65/.65 in a single row — a fourth figure orphaned onto row 2) */
.history-archive{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:44px}
.history-archive__hero{grid-column:1/-1}
.history-archive__hero img{min-height:0;aspect-ratio:16/9}
.history-archive figure,.history-archive__generations{position:relative;overflow:hidden;background:var(--ink)}
.history-archive img{width:100%;height:100%;min-height:390px;object-fit:cover;filter:saturate(.72) contrast(1.05)}
.history-archive__hero img{object-position:center 36%}.history-archive figure:not(.history-archive__hero) img{object-position:center 24%}
.history-archive figcaption,.history-archive__generations figcaption{position:absolute;inset:auto 0 0;padding:28px 16px 14px;background:linear-gradient(0deg,rgba(6,24,79,.88),transparent);font:500 .58rem/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--light)}
.history-archive__generations{margin-top:42px;max-width:900px}
.history-archive__generations img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover;object-position:center 40%;filter:saturate(.78) contrast(1.04)}

/* timeline museum plates — factual captions, decisive image scale, no card chrome */
.history-museum,.history-present figure{position:relative;overflow:hidden;background:var(--ink)}
.history-museum{margin-top:42px;max-width:900px}
.history-museum img,.history-present img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.06)}
.history-museum figcaption,.history-present figcaption{position:absolute;inset:auto 0 0;padding:40px 18px 15px;background:linear-gradient(0deg,rgba(6,24,79,.94),transparent);font:600 .58rem/1.45 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--light)}
.history-museum figcaption span,.history-present figcaption span{display:block;margin-bottom:5px;color:var(--yellow)}
.history-museum--archive{max-width:620px;padding:12px 12px 48px;background:var(--ink)}
.history-museum--archive img{aspect-ratio:1.48;filter:grayscale(1) contrast(1.12)}
.history-museum--archive figcaption{background:none;padding:0 12px 15px}
.history-museum--landscape img{aspect-ratio:1.72}
.history-museum--wall{max-width:none}
.history-museum--wall img{aspect-ratio:1.78;object-position:center;filter:saturate(.84) contrast(1.03)}
.history-museum-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:42px;max-width:1040px}
.history-museum-pair .history-museum{margin-top:0}
.history-museum-pair img{aspect-ratio:1.14}
.history-present{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:42px;max-width:1120px}
.history-present__lead{grid-column:1/-1}
.history-present__lead img{aspect-ratio:1.8;object-position:center 42%}
.history-present figure:not(.history-present__lead) img{aspect-ratio:1;min-height:300px}
.history-present figure:nth-child(2) img{object-position:center}
.history-present figure:nth-child(3) img{object-position:62% center}
.history-present figure:nth-child(4) img{object-position:center}

.article-hero{position:relative;min-height:76svh;background:var(--ink);color:var(--light);display:flex;align-items:flex-end;overflow:hidden}
.article-hero__media{position:absolute;inset:0 0 0 44%}.article-hero__media img{width:100%;height:100%;object-fit:cover}
.article-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink),transparent 45%),linear-gradient(0deg,rgba(6,24,79,.56),transparent)}
.article-hero__content{position:relative;z-index:2;padding:180px 0 70px;width:min(780px,66%)}
.article-hero h1{margin-top:20px;font:800 clamp(4.3rem,8.6vw,9rem)/.78 var(--display);text-transform:uppercase}
.article-hero__meta{margin-top:32px;display:flex;gap:18px;font:500 .65rem/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,249,224,.6)}
.article{display:grid;grid-template-columns:minmax(0,720px) 280px;justify-content:center;gap:9vw;padding:100px 24px 120px}
.article__body .standfirst{font-size:clamp(1.6rem,2.5vw,2.45rem);line-height:1.23;font-weight:600;letter-spacing:-.02em;color:var(--ink)}
.article__body p{margin-top:28px;font-size:1.08rem;line-height:1.75;color:rgba(10,30,77,.76)}
.article__body h2{margin-top:64px;font:800 clamp(3rem,5vw,5rem)/.82 var(--display);text-transform:uppercase}
.article__body figure{margin:58px 0}.article__body figure img{width:100%;max-height:620px;object-fit:cover}
.article__body figcaption{margin-top:12px;font:500 .62rem/1.4 var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-muted)}
.article__aside{align-self:start;position:sticky;top:32px;border-top:3px solid var(--blue);padding-top:20px}
.article__aside dl{display:grid;gap:22px}.article__aside dt{font:600 .59rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}.article__aside dd{margin-top:5px;font-size:.96rem;font-weight:600}
.article__source{display:inline-block;margin-top:34px;border-bottom:1px solid var(--ink);padding-bottom:4px;font:600 .62rem/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.article--memorial .article-hero__media img{object-position:74% center;filter:grayscale(1) contrast(1.05)}
.article--memorial .article-hero{background:#090d17}.article--memorial .article-hero__media::after{background:linear-gradient(90deg,#090d17,transparent 60%),linear-gradient(0deg,rgba(9,13,23,.78),transparent)}

.pathways .article-hero__media img{object-position:center 38%}
.pathways__pillars{display:grid;grid-template-columns:repeat(2,1fr);margin:54px 0;border-top:1px solid rgba(10,30,77,.24);border-left:1px solid rgba(10,30,77,.24)}
.pathways__pillars div{min-height:150px;padding:22px;border-right:1px solid rgba(10,30,77,.24);border-bottom:1px solid rgba(10,30,77,.24);display:flex;flex-direction:column;justify-content:space-between;background:var(--yellow)}
.pathways__pillars b{font:700 3.5rem/.8 var(--num);color:var(--blue)}
.pathways__pillars span{font:600 .64rem/1.35 var(--mono);letter-spacing:.14em;text-transform:uppercase}

.related{padding:90px 0 110px;background:var(--yellow)}
.related__head{display:flex;align-items:end;justify-content:space-between;margin-bottom:42px}
.related__head h2{font:800 clamp(4rem,7vw,7rem)/.76 var(--display);text-transform:uppercase}
.related__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.related-card{padding:20px;border-right:1px solid rgba(10,30,77,.28);transition:background .2s,color .2s}.related-card:first-child{border-left:1px solid rgba(10,30,77,.28)}.related-card:hover{background:var(--ink);color:var(--light)}
.related-card img{width:100%;aspect-ratio:1.35;object-fit:cover;margin-bottom:26px;filter:saturate(.82)}
.related-card span{font:600 .6rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}.related-card:hover span{color:var(--yellow)}
.related-card h3{margin-top:14px;font:800 clamp(2rem,3.2vw,3.3rem)/.88 var(--display);text-transform:uppercase}

/* ── leadership & technical ─────────────────────────── */
/* ── membership ──────────────────────────────────────── */
/* Column flex, not row: as a row container the .ed-shell child collapsed to
   its content width instead of filling, which squeezed the hero to ~176px.
   Column keeps the default cross-axis stretch so the shell's own
   width:min(1440px,100% - 48px) resolves correctly. */
.member-hero{position:relative;isolation:isolate;overflow:hidden;min-height:min(84vh,760px);
  display:flex;flex-direction:column;justify-content:flex-end;background:var(--ink);color:var(--light);padding:120px 0 0}
.member-hero__media{position:absolute;inset:0;z-index:-1}
.member-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:saturate(.8) contrast(1.06)}
.member-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(0deg,rgba(6,24,79,.94),rgba(6,24,79,.5) 52%,rgba(6,24,79,.34))}
.member-hero__content{display:grid;grid-template-columns:1.5fr .5fr;gap:5vw;align-items:end;padding-bottom:64px}
.member-hero h1{font:800 clamp(4.2rem,11vw,10rem)/.8 var(--display);text-transform:uppercase}
.member-hero__deck{max-width:52ch;margin-top:28px;font-size:1.16rem;line-height:1.6;color:rgba(255,249,224,.82)}
.member-hero__readout{border-top:3px solid var(--yellow);padding-top:16px}
.member-hero__readout span,.member-hero__readout p{font:600 .58rem/1.5 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,249,224,.7)}
.member-hero__readout strong{display:block;margin:6px 0 10px;font:900 4.6rem/.78 var(--display);color:var(--yellow)}
.member-hero__rail{display:flex;gap:6vw;flex-wrap:wrap;border-top:1px solid rgba(255,249,224,.2);
  padding:16px max(24px,calc((100vw - 1440px)/2));font:600 .56rem/1 var(--mono);letter-spacing:.18em;color:rgba(255,249,224,.62)}
/* CTA — square, never a pill, matching .tbtn on the homepage */
.member-cta{display:inline-block;margin-top:34px;background:var(--yellow);color:var(--ink);
  padding:17px 30px;font:700 .68rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;
  transition:background-color .22s var(--ease-soft),transform .3s var(--ease-spring)}
.member-cta:hover{background:var(--light);transform:translateY(-2px)}
.member-cta--ghost{background:transparent;color:var(--ink);border:1px solid rgba(10,30,77,.34)}
.member-cta--ghost:hover{background:var(--ink);color:var(--light)}

.member-benefits{padding:88px 0 96px}
.member-benefits__head{display:flex;align-items:flex-end;justify-content:space-between;gap:4vw;flex-wrap:wrap;
  border-bottom:1px solid rgba(10,30,77,.22);padding-bottom:26px}
.member-benefits__head h2{margin-top:12px;font:800 clamp(2.6rem,5vw,4.4rem)/.86 var(--display);text-transform:uppercase}
.member-benefits__count{text-align:right}
.member-benefits__count span{display:block;font:600 .58rem/1.5 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink-muted)}
.member-benefits__count b{font:900 3rem/.8 var(--display);color:var(--blue)}
.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:44px;list-style:none}
.member-grid li{position:relative;background:var(--paper);border:1px solid rgba(10,30,77,.14);
  padding:30px 26px 34px;transition:transform .3s var(--ease-enter),background-color .3s var(--ease-soft)}
.member-grid li:hover{transform:translateY(-4px);background:#EFEBDD}
.member-grid__idx{display:block;font:900 2.4rem/.8 var(--display);color:var(--blue);opacity:.5}
.member-grid h3{margin:20px 0 12px;font:800 1.5rem/1 var(--display);text-transform:uppercase}
.member-grid p{font-size:.98rem;line-height:1.65;color:var(--ink-muted)}
.member-grid li.is-highlight{background:var(--blue);border-color:transparent;color:var(--light)}
.member-grid li.is-highlight:hover{background:#1852db}
.member-grid li.is-highlight .member-grid__idx{color:var(--yellow);opacity:1}
.member-grid li.is-highlight p{color:rgba(255,249,224,.82)}

.member-fanmode{background:var(--yellow);padding:84px 0}
.member-fanmode__grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
.member-fanmode h2{margin-top:12px;font:800 clamp(2.6rem,5vw,4.4rem)/.86 var(--display);text-transform:uppercase}
.member-fanmode p{max-width:46ch;margin-top:22px;font-size:1.06rem;line-height:1.7;color:var(--ink-muted)}
.member-fanmode figure{position:relative;overflow:hidden;background:var(--ink)}
.member-fanmode figure img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 26%}
.member-fanmode figcaption{position:absolute;inset:auto 0 0;padding:46px 16px 14px;
  background:linear-gradient(0deg,rgba(6,24,79,.9),transparent);
  font:600 .57rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--light)}
@media(max-width:1024px){.member-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){
  .member-hero{min-height:0;padding-top:96px}
  .member-hero__content{grid-template-columns:1fr;gap:34px;padding-bottom:44px}
  .member-benefits{padding:64px 0 72px}
  .member-fanmode__grid{grid-template-columns:1fr;gap:34px}
}
@media(max-width:560px){.member-grid{grid-template-columns:1fr}}

.ed-people{padding:86px 0 6px}
.ed-people__title{margin-top:14px;font:800 clamp(2.6rem,5vw,4.6rem)/.86 var(--display);text-transform:uppercase}
.ed-people__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:44px}
.ed-people__grid figure{position:relative;overflow:hidden;background:var(--ink)}
.ed-people__grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  filter:saturate(.84) contrast(1.04);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ed-people__grid figure:hover img{transform:scale(1.03)}
.ed-people__grid figcaption{position:absolute;inset:auto 0 0;padding:46px 16px 14px;
  background:linear-gradient(0deg,rgba(6,24,79,.9),transparent);
  font:600 .57rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--light)}
.ed-people__note{max-width:60ch;margin-top:30px;font-size:1.06rem;line-height:1.7;color:var(--ink-muted)}
.leadership-feature{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);margin-top:44px;background:var(--ink);color:var(--light)}
.leadership-feature figure{position:relative;min-height:620px;overflow:hidden}
.leadership-feature figure::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,24,79,.58),transparent 45%)}
.leadership-feature img{width:100%;height:100%;object-fit:cover;object-position:center 34%;filter:saturate(.82) contrast(1.04)}
.leadership-feature figcaption{position:absolute;z-index:1;inset:auto 24px 22px;font:600 .6rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--light)}
.leadership-feature__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(36px,5vw,76px)}
.leadership-feature__copy h3{margin-top:16px;font:800 clamp(3.3rem,6vw,6.2rem)/.78 var(--display);text-transform:uppercase}
.leadership-feature__role{margin-top:16px;font:600 .64rem/1.4 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--yellow)}
.leadership-feature__copy>p:not(.ed-label):not(.leadership-feature__role){margin-top:28px;font-size:1.06rem;line-height:1.7;color:rgba(255,249,224,.72)}
.leadership-directory{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid rgba(10,30,77,.22);border-top:0}
.leadership-directory article{min-height:280px;padding:34px;border-right:1px solid rgba(10,30,77,.22)}
.leadership-directory article:last-child{border-right:0}
.leadership-directory h3{font:800 clamp(2rem,3.4vw,3.5rem)/.86 var(--display);text-transform:uppercase}
.leadership-directory p{margin-top:18px;max-width:54ch;font-size:.98rem;line-height:1.68;color:var(--ink-muted)}
.leadership-directory strong{display:block;margin-top:22px;font:600 .61rem/1.65 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.technical-command{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);margin-top:70px;background:var(--yellow)}
.technical-command figure{min-height:560px}.technical-command img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.04)}
.technical-command__body{padding:clamp(36px,5vw,72px)}
.technical-command__body h3{margin-top:16px;font:800 clamp(3.4rem,6vw,6rem)/.8 var(--display);text-transform:uppercase}
.technical-command__body>p:not(.ed-label){margin-top:24px;max-width:62ch;font-size:1.04rem;line-height:1.68;color:rgba(10,30,77,.74)}
.coaching-roster{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border-top:1px solid rgba(10,30,77,.32);border-left:1px solid rgba(10,30,77,.32)}
.coaching-roster div{min-height:124px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(10,30,77,.32);border-bottom:1px solid rgba(10,30,77,.32)}
.coaching-roster b{font:800 1.7rem/.9 var(--display);text-transform:uppercase}.coaching-roster span{font:600 .57rem/1.35 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.ed-source-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.ed-source-links a{border-bottom:1px solid currentColor;padding-bottom:4px;font:600 .59rem/1.3 var(--mono);letter-spacing:.11em;text-transform:uppercase}

/* continental honours record */
.continental-record{padding:100px 0;background:var(--ink);color:var(--light);overflow:hidden}
.continental-record__head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}
.continental-record__head h2{margin-top:14px;font:800 clamp(4rem,8vw,8rem)/.76 var(--display);text-transform:uppercase}
.continental-record__head>p{max-width:58ch;font-size:1.08rem;line-height:1.7;color:rgba(255,249,224,.68)}
.continental-record__image{position:relative;margin-top:54px}.continental-record__image img{display:block;width:100%;aspect-ratio:2.25;object-fit:cover;object-position:center 54%;filter:saturate(.83) contrast(1.04)}
.continental-record__image figcaption{position:absolute;inset:auto 18px 16px;font:600 .58rem/1.4 var(--mono);letter-spacing:.13em;text-transform:uppercase}
.continental-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;border-top:1px solid rgba(255,249,224,.25);border-left:1px solid rgba(255,249,224,.25)}
.continental-grid article{min-height:250px;padding:26px;display:flex;flex-direction:column;border-right:1px solid rgba(255,249,224,.25);border-bottom:1px solid rgba(255,249,224,.25);transition:background .2s,color .2s}
.continental-grid article:hover{background:var(--yellow);color:var(--ink)}
.continental-grid time{font:700 clamp(2.8rem,5vw,5rem)/.8 var(--num);color:var(--yellow)}.continental-grid article:hover time{color:var(--blue)}
.continental-grid h3{margin-top:auto;font:800 clamp(1.9rem,3vw,3rem)/.88 var(--display);text-transform:uppercase}
.continental-grid p{margin-top:12px;font-size:.88rem;line-height:1.55;color:rgba(255,249,224,.6)}.continental-grid article:hover p{color:rgba(10,30,77,.72)}
/* squad variant — three near-square player frames rather than two 4:3 plates */
.ed-people--squad{padding-top:64px}
.ed-people--squad .ed-people__grid{grid-template-columns:repeat(3,1fr)}
.ed-people--squad .ed-people__grid img{aspect-ratio:1}
@media(max-width:850px){
  .ed-people{padding:64px 0 4px}
  .ed-people__grid,.ed-people--squad .ed-people__grid{grid-template-columns:1fr}
  .leadership-feature,.technical-command{grid-template-columns:1fr}.leadership-feature figure,.technical-command figure{min-height:440px}
  .leadership-directory{grid-template-columns:1fr}.leadership-directory article{border-right:0;border-bottom:1px solid rgba(10,30,77,.22)}.leadership-directory article:last-child{border-bottom:0}
  .coaching-roster{grid-template-columns:repeat(2,1fr)}
  .continental-record__head{grid-template-columns:1fr}.continental-grid{grid-template-columns:1fr 1fr}.continental-record__image img{aspect-ratio:1.45}
}

.ed-contact{position:relative;isolation:isolate;overflow:hidden;background:var(--blue);color:var(--light);padding:76px 0}
.ed-contact::before{content:"";position:absolute;z-index:0;inset:0;background:url("../assets/editorial/chloorkop-wide.webp") center 58%/cover no-repeat;filter:saturate(.72) contrast(1.05)}
.ed-contact::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(6,24,79,.97),rgba(18,70,200,.9) 58%,rgba(18,70,200,.66))}
.ed-contact__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.ed-contact__grid{position:relative;z-index:2}
.ed-contact h2{font:800 clamp(4rem,7vw,7rem)/.76 var(--display);text-transform:uppercase}.ed-contact p,.ed-contact a{font:500 .74rem/1.7 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,249,224,.78)}
.ed-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--light);padding:64px 0 26px}
.ed-footer::before{content:"";position:absolute;z-index:0;inset:-8% 0 -8% auto;width:min(72vw,1040px);pointer-events:none;
  background:url("../assets/pattern/sundowns-map-fade.webp") right center/auto 116% no-repeat;
  opacity:.22;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.03) 28%,rgba(0,0,0,.24) 54%,#000 94%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.03) 28%,rgba(0,0,0,.24) 54%,#000 94%)}
.ed-footer>*{position:relative;z-index:1}
.ed-footer__main{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:7vw;padding-bottom:54px}
.ed-footer__brand{display:flex;align-items:flex-start;gap:18px}.ed-footer__brand img{width:64px;height:64px;object-fit:contain}.ed-footer__brand strong{display:block;font:800 clamp(1.8rem,3vw,2.8rem)/.85 var(--display);text-transform:uppercase}.ed-footer__brand span{display:block;margin-top:10px;font:500 .59rem/1.5 var(--mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(255,249,224,.55)}
.ed-footer__nav{display:grid!important;grid-template-columns:repeat(3,1fr);gap:34px!important}.ed-footer__nav div{display:flex;flex-direction:column;gap:11px}.ed-footer__nav b{margin-bottom:8px;font:700 .6rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--yellow)}.ed-footer__nav a{font:500 .67rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(255,249,224,.64);transition:color .2s}
.ed-footer__base{display:flex;justify-content:space-between;gap:20px;padding-top:24px;border-top:1px solid rgba(255,249,224,.2);font:500 .57rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(255,249,224,.42)}
.ed-footer a:hover{color:var(--yellow)}

@media(max-width:850px){
  .ed-footer::before{width:100%;opacity:.15;background-size:auto 108%;background-position:70% center;
    background-image:url("../assets/pattern/sundowns-map-fade-mobile.webp");
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 34%,rgba(0,0,0,.36) 62%,#000 100%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 34%,rgba(0,0,0,.36) 62%,#000 100%)}
  .ed-shell{width:min(calc(100% - 28px),1440px)}
  .ed-nav{height:76px}.ed-nav__inner{grid-template-columns:minmax(0,1fr) auto}.ed-nav__links{display:none}.ed-nav__home{padding:10px 12px;font-size:0}.ed-nav__home::after{content:"Home ↗";font:600 .62rem/1 var(--mono);letter-spacing:.12em}.ed-brand{font-size:.8rem}.ed-brand img{width:38px;height:38px}.ed-brand small{font-size:.49rem}
  .ed-hero{min-height:760px}.ed-hero__content{grid-template-columns:1fr;padding:150px 0 50px}.ed-title{font-size:clamp(5rem,23vw,8rem)}.ed-hero__datum{display:none}.ed-hero__index{right:10px;top:100px}
  .ed-intro{grid-template-columns:1fr;gap:30px;padding:74px 0}.ed-stats::before{inset:0;opacity:.14}.ed-stats__grid{grid-template-columns:1fr 1fr}.ed-stat{min-height:160px;padding:22px}
  .about-atlas{grid-template-columns:1fr 1fr;grid-template-rows:440px 280px 420px}.about-atlas__support{grid-column:1/-1;grid-row:auto}.about-atlas__future{grid-column:1/-1;grid-row:auto}
  .ed-feature,.ed-feature--reverse{grid-template-columns:1fr}.ed-feature--reverse .ed-feature__media{order:0}.ed-feature__media{min-height:430px}.ed-feature__body{padding:64px 24px}
  .timeline__item{grid-template-columns:1fr;gap:20px}.timeline__item--signal{margin-inline:-14px;padding-inline:14px}
  /* Stacked layout: spine moves to the far left, eras indent past it.
     The indent lives on the ITEMS, not the shell — padding on the shell
     would move the items but not the absolutely-positioned spine, and the
     two would drift apart. */
  .timeline .ed-shell{--tl-x:7px}
  .timeline__item{padding-left:34px}
  .timeline__spine{top:26px;bottom:26px}
  .timeline__item::before{top:72px;width:13px;height:13px;margin-left:-5px}
  .timeline__year{width:max-content;max-width:100%;min-height:60px;padding:12px 14px;font-size:clamp(2rem,10vw,3rem)}
  .timeline__item--signal{margin-inline:-14px;padding-left:48px;padding-right:14px}
  .timeline__item--signal::before{left:calc(var(--tl-x) + 14px)}
  .history-archive{grid-template-columns:1fr 1fr}.history-archive__hero{grid-column:1/-1}.history-archive img{min-height:340px}.history-archive figure:not(.history-archive__hero) img{min-height:390px}
  .history-museum-pair{grid-template-columns:1fr}.history-museum-pair img{aspect-ratio:1.45}
  .history-present{grid-template-columns:1fr 1fr}.history-present__lead{grid-column:1/-1}.history-present figure:not(.history-present__lead):last-child{grid-column:1/-1}.history-present figure:not(.history-present__lead):last-child img{aspect-ratio:1.55}
  .article-hero{min-height:680px}.article-hero__media{inset:0}.article-hero__media::after{background:linear-gradient(0deg,var(--ink) 8%,rgba(6,24,79,.45) 75%)}.article-hero__content{width:100%;padding:140px 0 48px}.article-hero h1{font-size:clamp(4rem,18vw,7rem)}
  .article{grid-template-columns:1fr;padding-top:70px}.article__aside{position:static;order:-1}
  .pathways .article-hero__media img{object-position:58% center}.pathways__pillars{grid-template-columns:1fr 1fr}.pathways__pillars div{min-height:125px}
  .related__grid{grid-template-columns:1fr}.related-card,.related-card:first-child{border:0;border-top:1px solid rgba(10,30,77,.28);padding:24px 0}.related-card img{aspect-ratio:1.7}
  .ed-contact__grid{grid-template-columns:1fr}.ed-footer__main{grid-template-columns:1fr}.ed-footer__nav{grid-template-columns:repeat(3,1fr)}
}

@media(max-width:560px){
  .about-atlas{grid-template-columns:1fr;grid-template-rows:440px 300px 250px 420px}
  .about-atlas__support,.about-atlas__future{grid-column:auto}
  .coaching-roster,.continental-grid{grid-template-columns:1fr}.ed-footer__nav{grid-template-columns:1fr 1fr}.ed-footer__base{flex-direction:column}
  .history-archive{grid-template-columns:1fr}.history-archive__hero{grid-column:auto}.history-archive img,.history-archive figure:not(.history-archive__hero) img{min-height:300px;aspect-ratio:4/3}
  .history-museum{margin-top:30px}.history-museum--archive{padding:8px 8px 48px}.history-museum--landscape img,.history-museum--wall img{aspect-ratio:4/3}
  .history-present{grid-template-columns:1fr}.history-present__lead,.history-present figure:not(.history-present__lead):last-child{grid-column:auto}.history-present__lead img,.history-present figure:not(.history-present__lead) img,.history-present figure:not(.history-present__lead):last-child img{aspect-ratio:4/3;min-height:0}
  .timeline__body p{font-size:1rem;line-height:1.62}
}

/* Honours — precision archive */
.honours-page{--honours-rule:rgba(10,30,77,.22)}
.honours-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);color:var(--light)}
.honours-hero__media{position:absolute;inset:0}
.honours-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,24,79,.97) 0%,rgba(6,24,79,.72) 42%,rgba(6,24,79,.18) 76%),linear-gradient(0deg,rgba(6,24,79,.88),transparent 55%)}
.honours-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 47%;filter:saturate(.76) contrast(1.07)}
.honours-hero__grid{position:absolute;z-index:1;inset:92px 0 48px 57%;border-left:1px solid rgba(255,249,224,.2);background-image:linear-gradient(rgba(255,249,224,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,249,224,.09) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(90deg,#000,transparent 92%)}
.honours-hero__content{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:70px;align-items:end;padding:180px 0 94px}
.honours-hero h1{margin-top:22px;font:800 clamp(6rem,13vw,13rem)/.7 var(--display);letter-spacing:.005em;text-transform:uppercase}
.honours-hero__deck{max-width:560px;margin-top:30px;font-size:clamp(1.05rem,1.45vw,1.3rem);line-height:1.5;color:rgba(255,249,224,.76)}
.honours-hero__readout{border-top:1px solid rgba(255,249,224,.42);padding-top:15px}
.honours-hero__readout>span,.honours-hero__readout p{font:600 .6rem/1.55 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,249,224,.62)}
.honours-hero__readout strong{display:block;margin:18px 0 12px;font:700 clamp(5rem,8vw,8rem)/.62 var(--num);letter-spacing:-.06em;color:var(--yellow)}
.honours-hero__rail{position:absolute;z-index:3;inset:auto 24px 16px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,249,224,.28);padding-top:10px;font:500 .54rem/1 var(--mono);letter-spacing:.17em;color:rgba(255,249,224,.54)}

.honours-scan{position:relative;overflow:hidden;background:var(--yellow);border-bottom:1px solid var(--honours-rule)}
.honours-scan::after{content:"+";position:absolute;right:-.06em;top:-.23em;font:400 28rem/1 var(--tech);color:rgba(10,30,77,.055)}
.honours-scan__grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr)}
.honours-scan__grid>div{min-height:210px;padding:28px;border-inline-start:1px solid var(--honours-rule);display:flex;flex-direction:column;justify-content:space-between}
.honours-scan__grid>div:last-child{border-inline-end:1px solid var(--honours-rule)}
.honours-scan b{font:700 clamp(4rem,7vw,7rem)/.7 var(--num);letter-spacing:-.05em}
.honours-scan span{font:600 .64rem/1.45 var(--mono);letter-spacing:.14em;text-transform:uppercase}

.honours-intro{padding:110px 0;background:var(--paper)}
.honours-intro__grid{display:grid;grid-template-columns:.7fr 1.5fr .55fr;gap:6vw;align-items:start}
.honours-intro h2{font:800 clamp(4.7rem,8vw,8.5rem)/.72 var(--display);text-transform:uppercase}
.honours-intro h2+p{max-width:680px;margin-top:34px;font-size:1.12rem;line-height:1.72;color:rgba(10,30,77,.72)}
.honours-intro__status{border-top:3px solid var(--blue);padding-top:15px}
.honours-intro__status span,.honours-intro__status p{font:600 .6rem/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.honours-intro__status b{display:block;margin:20px 0 14px;font:700 clamp(3.5rem,6vw,6rem)/.75 var(--num)}

.honours-ledger{padding:110px 0 130px;border-top:1px solid var(--honours-rule);background:var(--paper)}
.honours-ledger--league{background:var(--yellow)}
.honours-ledger__head{display:flex;justify-content:space-between;align-items:end;margin-bottom:54px;border-bottom:1px solid var(--honours-rule);padding-bottom:26px}
.honours-ledger__head h2{margin-top:18px;font:800 clamp(4.6rem,8vw,8rem)/.73 var(--display);text-transform:uppercase}
.honours-ledger__count{min-width:150px;text-align:right}
.honours-ledger__count span{display:block;font:600 .6rem/1 var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--blue)}
.honours-ledger__count b{display:block;margin-top:16px;font:700 4.5rem/.7 var(--num)}
.honours-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--honours-rule);border-left:1px solid var(--honours-rule)}
.honours-list li{min-height:88px;display:grid;grid-template-columns:48px 112px minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;border-right:1px solid var(--honours-rule);border-bottom:1px solid var(--honours-rule)}
.honours-list li>span{font:600 .56rem/1 var(--mono);letter-spacing:.12em;color:var(--blue)}
.honours-list time{font:700 1.45rem/1 var(--num);letter-spacing:-.03em}
.honours-list strong{font:700 1rem/1.25 var(--body)}
.honours-list em{border-left:2px solid var(--green);padding-left:10px;font:600 .53rem/1.3 var(--mono);font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.honours-list .is-latest{background:var(--light)}

.honours-photo{position:relative;height:min(78vw,820px);min-height:540px;overflow:hidden;background:var(--ink);color:var(--light)}
.honours-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,24,79,.76),transparent 60%)}
.honours-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;filter:saturate(.82) contrast(1.05)}
/* portrait-orientation source in a wide band — bias up so the player and the
   stand behind them survive the crop instead of filling the frame with turf */
.honours-photo--crowd>img{object-position:center 26%}
.honours-photo__stamp{position:absolute;z-index:2;right:7vw;top:7vw;width:210px;border-top:3px solid var(--yellow);padding-top:15px}
.honours-photo__stamp span{font:700 5.5rem/.72 var(--display);color:var(--yellow)}
.honours-photo__stamp p,.honours-photo__caption{font:600 .6rem/1.45 var(--mono);letter-spacing:.15em;text-transform:uppercase}
.honours-photo__stamp p{margin-top:18px}.honours-photo__caption{position:absolute;z-index:2;left:24px;bottom:20px;color:rgba(255,249,224,.7)}

.honours-continental{padding:110px 0 120px;background:var(--ink);color:var(--light)}
.honours-ledger__head--light{border-color:rgba(255,249,224,.22)}
.honours-ledger__head--light .ed-label,.honours-ledger__head--light .honours-ledger__count span{color:var(--yellow)}
.honours-continental__grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:5vw;align-items:start}
.honours-stars{position:sticky;top:24px;min-height:390px;border:1px solid rgba(255,249,224,.22);padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:url("../assets/honours/golden-crest.webp") center/cover no-repeat}
.honours-stars::before{content:"";position:absolute;inset:0;background:rgba(6,24,79,.82)}
.honours-stars>*{position:relative}
.honours-stars__mark{font:700 clamp(5rem,9vw,9rem)/.75 var(--num);letter-spacing:.04em;color:var(--yellow);white-space:nowrap}
.honours-stars p{font:600 .67rem/1.6 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.honours-list--dark{grid-template-columns:1fr;border-color:rgba(255,249,224,.24)}
.honours-list--dark li{grid-template-columns:80px 112px minmax(0,1fr) auto;border-color:rgba(255,249,224,.2)}
.honours-list--dark li>span{color:var(--yellow)}.honours-list--dark .is-latest{background:var(--yellow);color:var(--ink)}
.honours-list--dark .is-latest>span{color:var(--blue)}
.honours-continental__media{display:grid;grid-template-columns:1.15fr .72fr .9fr;gap:12px;margin-top:70px}
.honours-continental__media figure{position:relative;min-height:520px;overflow:hidden}
.honours-continental__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.07)}
.honours-continental__media figure:nth-child(2) img{object-position:57% center}
.honours-continental__media figure:nth-child(3) img{object-position:47% center}
.honours-continental__media figcaption,.honours-gallery figcaption{position:absolute;inset:auto 0 0;padding:48px 18px 16px;background:linear-gradient(0deg,rgba(6,24,79,.9),transparent);font:600 .57rem/1.35 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--light)}

.honours-ledger--cups{background:var(--paper)}
.honours-list--cups .is-latest{background:transparent}
.honours-gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,380px);gap:4px;padding:4px;background:var(--ink)}
.honours-gallery figure{position:relative;overflow:hidden}.honours-gallery__wide{grid-row:1/-1}
.honours-gallery img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.06)}
.honours-gallery figure:nth-child(2) img{object-position:center 32%}

.honours-records{padding:110px 0 120px;background:var(--yellow)}
.honours-records__head{display:grid;grid-template-columns:.65fr 1.35fr;align-items:start;margin-bottom:56px}
.honours-records__head h2{font:800 clamp(5rem,9vw,9rem)/.7 var(--display);text-transform:uppercase}
.honours-records__grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--honours-rule);border-left:1px solid var(--honours-rule)}
.honours-records article{min-height:255px;padding:24px;border-right:1px solid var(--honours-rule);border-bottom:1px solid var(--honours-rule);display:flex;flex-direction:column}
.honours-records article>span{font:600 .59rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.honours-records h3{margin-top:34px;font:800 clamp(2rem,3vw,3.2rem)/.84 var(--display);text-transform:uppercase}
.honours-records article p{max-width:320px;margin-top:auto;padding-top:26px;font-size:.9rem;line-height:1.55;color:rgba(10,30,77,.68)}
.honours-source{display:inline-block;margin-top:34px;border-bottom:1px solid var(--ink);padding-bottom:5px;font:600 .62rem/1.3 var(--mono);letter-spacing:.13em;text-transform:uppercase}

.honours-material{padding:110px 0 120px;background:var(--ink);color:var(--light)}
.honours-material__head{display:grid;grid-template-columns:.55fr 1.45fr;gap:6vw;align-items:start;margin-bottom:58px}
.honours-material__head .ed-label{color:var(--yellow)}
.honours-material__head h2{font:800 clamp(5rem,9vw,9rem)/.7 var(--display);text-transform:uppercase}
.honours-material__head h2+p{max-width:650px;margin-top:28px;font-size:1.05rem;line-height:1.65;color:rgba(255,249,224,.68)}
.honours-material__grid{display:grid;grid-template-columns:1.35fr .65fr;grid-template-rows:repeat(2,330px);gap:8px}
.honours-material__grid figure{position:relative;overflow:hidden;border:1px solid rgba(255,249,224,.14)}
.honours-material__cabinet{grid-row:1/-1}
.honours-material__grid img{width:100%;height:100%;object-fit:cover;filter:saturate(.76) contrast(1.06)}
.honours-material__cabinet img{object-position:47% center}
.honours-material__grid figcaption{position:absolute;inset:auto 0 0;padding:46px 16px 14px;background:linear-gradient(0deg,rgba(6,24,79,.92),transparent);font:600 .56rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--light)}

.honours-close{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:var(--blue);color:var(--light)}
.honours-close::after{content:"";position:absolute;inset:0 0 0 48%;background:url("../assets/line-vectors/loftus.png") center/cover no-repeat;opacity:.12;filter:invert(1)}
.honours-close__mark{position:absolute;right:-.08em;top:-.13em;font:700 min(41vw,40rem)/1 var(--display);letter-spacing:-.09em;color:rgba(255,222,0,.15)}
.honours-close__content{position:relative;z-index:1;padding-block:100px}
.honours-close h2{margin-top:22px;font:800 clamp(5.6rem,11vw,11rem)/.7 var(--display);text-transform:uppercase}
.honours-close a{display:inline-block;margin-top:42px;border:1px solid var(--yellow);padding:17px 20px;background:var(--yellow);color:var(--ink);font:700 .65rem/1 var(--mono);letter-spacing:.13em;text-transform:uppercase;transition:.2s}
.honours-close a:hover{background:transparent;color:var(--yellow)}

@media(max-width:1024px){
  .honours-hero__content{grid-template-columns:minmax(0,1fr) 170px}
  .honours-intro__grid{grid-template-columns:.55fr 1.4fr}.honours-intro__status{grid-column:2;max-width:260px}
  .honours-list li{grid-template-columns:42px 90px minmax(0,1fr);gap:10px}.honours-list em{display:none}
  .honours-records__grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:700px){
  .honours-hero{min-height:760px}.honours-hero__grid{left:42%}.honours-hero__content{grid-template-columns:1fr;padding:150px 0 84px}.honours-hero h1{font-size:clamp(6rem,27vw,9rem)}
  .honours-hero__deck{max-width:88%}.honours-hero__readout{display:none}.honours-hero__rail{left:14px;right:14px}.honours-hero__rail span:nth-child(2){display:none}
  .honours-scan__grid{grid-template-columns:1fr 1fr}.honours-scan__grid>div{min-height:150px;padding:20px}.honours-scan b{font-size:3.7rem}
  .honours-intro{padding:74px 0}.honours-intro__grid{grid-template-columns:1fr;gap:28px}.honours-intro__status{grid-column:auto}
  .honours-ledger,.honours-continental,.honours-records{padding:76px 0 86px}.honours-ledger__head{align-items:start}.honours-ledger__count{min-width:80px}.honours-ledger__count b{font-size:3.3rem}
  .honours-list{grid-template-columns:1fr}.honours-list li{min-height:76px;grid-template-columns:32px 82px minmax(0,1fr);padding:13px 12px}.honours-list time{font-size:1.2rem}.honours-list strong{font-size:.86rem}
  .honours-photo{min-height:580px}.honours-photo>img{object-position:58% center}.honours-photo__stamp{right:18px;top:28px;width:150px}.honours-photo__stamp span{font-size:4rem}
  .honours-continental__grid{grid-template-columns:1fr}.honours-stars{position:relative;top:auto;min-height:260px}.honours-list--dark li{grid-template-columns:66px 78px minmax(0,1fr)}
  .honours-continental__media{grid-template-columns:1fr}.honours-continental__media figure{min-height:420px}
  .honours-gallery{grid-template-columns:1fr;grid-template-rows:460px 350px 350px}.honours-gallery__wide{grid-row:auto}
  .honours-records__head{grid-template-columns:1fr;gap:26px}.honours-records__grid{grid-template-columns:1fr}.honours-records article{min-height:220px}
  .honours-material{padding:76px 0 84px}.honours-material__head{grid-template-columns:1fr;gap:28px}.honours-material__grid{grid-template-columns:1fr;grid-template-rows:500px 320px 320px}.honours-material__cabinet{grid-row:auto}
  .honours-close{min-height:540px}.honours-close__mark{font-size:66vw}.honours-close h2{font-size:clamp(5rem,24vw,8rem)}
}

/* ── industrial discipline: card edge language ───────────
   The related cards already invert to ink on hover; this adds the yellow
   datum that wipes along the bottom edge and a small lift, so the card
   reads as a deliberate target rather than a colour swap. position:relative
   is required — the base rule had none, so an absolute ::after would have
   escaped to the nearest positioned ancestor. */
.related-card{position:relative;overflow:hidden;
  transition:background .22s var(--ease-soft),color .22s var(--ease-soft),
    transform .32s var(--ease-enter)}
.related-card:hover{transform:translateY(-5px)}
.related-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:var(--yellow);transform:scaleX(0);transform-origin:left;
  transition:transform .34s var(--ease-enter);z-index:3}
.related-card:hover::after{transform:scaleX(1)}
/* section headings get the same yellow datum as the homepage */
.ed-label{position:relative;display:inline-block;padding-bottom:9px}
.ed-label::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;background:var(--yellow)}
