/* Katrina Lynn & Co. homepage. Tokens per brief §5. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(../fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:200 800;font-display:swap;src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2")}

:root{
  --navy:#101B30; --navy-2:#23355A; --ink:#101B30; --muted:#4A5468;
  --ivory:#F7F4EE; --stone:#EFEAE1;
  --gold:#AB9C59; --gold-l:#C9BB7E; --gold-ink:#7A6A2C;
  --mist:#B9C0CE; --line:#DDD6C8; --line-dark:rgba(201,187,126,.28);
  --focus:#AB9C59;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-in-out:cubic-bezier(.65,0,.35,1);

  --font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --font-body:"Manrope",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --fs-display:clamp(2.875rem,1.6rem + 5.2vw,6rem);
  --fs-h2:clamp(2.25rem,1.5rem + 3vw,4rem);
  --fs-h3:clamp(1.625rem,1.4rem + .9vw,2.125rem);
  --fs-statement:clamp(1.75rem,1.2rem + 2.2vw,3rem);
  --fs-lead:clamp(1.125rem,1.05rem + .3vw,1.3125rem);
  --fs-body:clamp(1rem,.97rem + .12vw,1.0625rem);
  --fs-small:14px; --fs-eyebrow:12px; --fs-btn:14px; --fs-num:14px;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px; --s-11:176px;
  --sec:clamp(96px,6rem + 6vw,176px);
  --gut:24px; --gap:16px;
  --hh:64px;
}
@media (min-width:768px){:root{--gut:40px}}
@media (min-width:900px){:root{--gap:32px;--hh:72px}}
@media (min-width:1200px){:root{--gut:64px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 var(--fs-body)/1.7 var(--font-body);overflow-x:clip;-webkit-font-smoothing:antialiased}
img,picture{display:block;max-width:100%}
h1,h2,h3,p,ol,ul{margin:0;padding:0}
ol,ul{list-style:none}
a{color:inherit}
em{font-style:italic}
[id]{scroll-margin-top:80px}

:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.band-navy :focus-visible,.menu :focus-visible,.menu-open .site-header :focus-visible{outline-color:var(--focus)}
.btn:focus-visible{outline-offset:3px}

.skip{position:absolute;left:var(--s-4);top:-80px;z-index:200;background:var(--navy);color:#fff;padding:var(--s-3) var(--s-4);min-height:44px;display:flex;align-items:center}
.skip:focus{top:var(--s-3)}

.wrap{width:100%;max-width:1320px;margin-inline:auto;padding-inline:var(--gut)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
@media (min-width:900px){.grid{grid-template-columns:repeat(12,1fr)}}

.sec{padding-block:var(--sec)}
.stone{background:var(--stone)}
.band-navy{background:var(--navy);color:var(--ivory)}

/* type */
h1,h2,h3,.statement-text,.foot-tag{font-family:var(--font-display)}
h1{font-size:var(--fs-display);font-weight:400;line-height:1;letter-spacing:-.02em}
h2{font-size:var(--fs-h2);font-weight:400;line-height:1.05;letter-spacing:-.015em}
h3{font-size:var(--fs-h3);font-weight:500;line-height:1.15;letter-spacing:-.01em}
h1 em,h2 em{color:var(--gold-ink)}
.band-navy h2 em,.foot-tag em{color:var(--gold)}
.h1-l{display:block}
.split-mask{padding-bottom:.14em;margin-bottom:-.14em}
.eyebrow{font:600 var(--fs-eyebrow)/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.2em;color:var(--gold-ink);margin-bottom:var(--s-5)}
.eyebrow-ink,.stone .eyebrow{color:var(--ink)}
.band-navy .eyebrow{color:var(--gold-l)}
.lead{font-size:var(--fs-lead);line-height:1.6;color:var(--muted)}
.body{max-width:62ch}
.num{font:italic 500 var(--fs-num)/1 var(--font-display)}
.rule{display:block;width:48px;height:1px;background:var(--gold)}
.ph{outline:1px dashed currentColor;outline-offset:2px;padding:0 .2em;font-size:.9em}
.ph-line{margin-top:var(--s-7);text-align:center;font-size:var(--fs-small);color:var(--muted)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:var(--s-3);min-height:48px;padding:0 var(--s-3) 0 var(--s-5);border-radius:999px;text-decoration:none;font:600 var(--fs-btn)/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.12em;transition:background-color .35s var(--ease-out),transform .2s var(--ease-out);padding-left:28px}
.btn:active{transform:scale(.98)}
.btn .ico{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid currentColor;flex:none;transition:background-color .35s var(--ease-out),color .35s var(--ease-out),border-color .35s var(--ease-out)}
.btn .ico svg{transition:transform .35s var(--ease-out)}
.btn-primary{background:var(--navy);color:#fff}
.btn-gold{background:var(--gold);color:var(--navy)}
@media (min-width:900px){.btn{min-height:52px}}
@media (hover:hover) and (pointer:fine){
  .btn-primary:hover{background:var(--navy-2)}
  .btn-primary:hover .ico{background:var(--gold);border-color:var(--gold);color:var(--navy)}
  .btn-gold:hover{background:var(--gold-l)}
  .btn:hover .ico svg{transform:translateX(4px)}
}
.tlink{position:relative;display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;text-decoration:none;font:600 var(--fs-btn)/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.12em;transition:color .5s var(--ease-out)}
.tlink::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform-origin:left}
@keyframes redraw{0%{transform:scaleX(1);transform-origin:right}49%{transform:scaleX(0);transform-origin:right}50%{transform:scaleX(0);transform-origin:left}100%{transform:scaleX(1);transform-origin:left}}
@media (hover:hover) and (pointer:fine){.tlink:hover{color:var(--gold-ink)}.tlink:hover::after{animation:redraw .5s var(--ease-out)}}
.body a,.foot-menu a{text-underline-offset:3px}

/* header */
.site-header{background:var(--ivory);position:fixed;inset:0 0 auto 0;z-index:100;height:var(--hh);border-bottom:1px solid transparent;transition:background-color .4s var(--ease-out),height .4s var(--ease-out),transform .4s var(--ease-out),border-color .4s var(--ease-out)}
.site-header.is-scrolled{--hh:64px;background:rgba(247,244,238,.82);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border-bottom-color:var(--line)}
.site-header.is-hidden{transform:translateY(-100%)}
.menu-open .site-header{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}
.header-in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--s-5)}
.brand{display:flex;align-items:center;gap:var(--s-3);text-decoration:none;min-height:44px}
.brand img{width:40px;height:40px}
.wordmark{display:none;font:500 20px/1 var(--font-display);white-space:nowrap}
@media (min-width:400px){.wordmark{display:block}}
.menu-open .wordmark{color:var(--ivory)}
.nav{display:none;gap:var(--s-6);margin-left:auto}
.nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font:500 var(--fs-small)/1 var(--font-body)}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:9px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
.nav a[aria-current]{color:var(--gold-ink)}
.nav a[aria-current]::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){.nav a:hover::after{transform:scaleX(1)}}
.header-end{display:flex;align-items:center;gap:var(--s-3)}
.header-cta{display:none;min-height:44px}
@media (min-width:768px){.header-cta{display:inline-flex}}
.menu-btn{display:inline-flex;align-items:center;gap:var(--s-3);min-width:44px;min-height:44px;padding:0 var(--s-2);background:none;border:0;color:inherit;font:600 var(--fs-small)/1 var(--font-body);text-transform:uppercase;letter-spacing:.12em;cursor:pointer}
.menu-icon{position:relative;width:24px;height:12px;display:block}
.menu-icon i{position:absolute;left:0;right:0;height:1.5px;background:currentColor;transition:transform .4s var(--ease-out),top .4s var(--ease-out)}
.menu-icon i:first-child{top:0}.menu-icon i:last-child{top:10px}
.menu-btn[aria-expanded=true]{color:var(--ivory)}
.menu-btn[aria-expanded=true] i:first-child{top:5px;transform:rotate(45deg)}
.menu-btn[aria-expanded=true] i:last-child{top:5px;transform:rotate(-45deg)}
@media (min-width:1100px){.nav{display:flex}.menu-btn{display:none}.header-end{margin-left:var(--s-5)}.nav{margin-left:auto}}
.menu{position:fixed;inset:0;z-index:90;background:var(--navy);color:var(--ivory);display:flex;flex-direction:column;justify-content:center;gap:var(--s-7);padding:calc(var(--hh) + var(--s-6)) var(--gut) var(--s-7);visibility:hidden;opacity:0;transition:opacity .4s var(--ease-out),visibility 0s .4s;overflow-y:auto}
.menu.is-open{visibility:visible;opacity:1;transition:opacity .4s var(--ease-out),visibility 0s}
.menu nav{display:flex;flex-direction:column}
.menu nav a{font:400 40px/1.2 var(--font-display);text-decoration:none;padding:var(--s-2) 0;min-height:56px;display:flex;align-items:center;opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.menu.is-open nav a{opacity:1;transform:none}
.menu.is-open nav a:nth-child(2){transition-delay:.06s}.menu.is-open nav a:nth-child(3){transition-delay:.12s}.menu.is-open nav a:nth-child(4){transition-delay:.18s}.menu.is-open nav a:nth-child(5){transition-delay:.24s}
.menu .btn{align-self:flex-start}
@media (min-width:1100px){.menu{display:none}}

/* no-JS: static header with visible nav */
.no-js .site-header{position:absolute;height:auto;padding-block:var(--s-3)}
.no-js .header-in{flex-wrap:wrap}
.no-js .nav{display:flex;flex-wrap:wrap;gap:0 var(--s-5);margin-left:0;width:100%}
.no-js .menu-btn,.no-js .menu{display:none}
.no-js .header-cta{display:inline-flex}
.no-js .hero-text{padding-top:calc(var(--hh) + 96px)}

/* media */
.media{position:relative;overflow:hidden;background:var(--stone)}
.media picture{position:absolute;inset:0;display:block;transition:transform 1.2s var(--ease-out)}
.media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media.is-parallax img{inset:auto;left:0;top:-8%;height:116%}
.frame{position:absolute;inset:0;pointer-events:none}
.frame::after{content:"";position:absolute;inset:0;outline:1px solid var(--gold);outline-offset:-16px}
@media (hover:hover) and (pointer:fine){.media:hover picture{transform:scale(1.04)}}
.aspect-45{aspect-ratio:4/5}

/* hero */
.hero{display:flex;flex-direction:column;background:var(--ivory)}
.hero-main{display:grid;grid-template-columns:1fr;flex:1}
.hero-text{padding-top:calc(var(--hh) + var(--s-7));padding-bottom:var(--s-7)}
.hero h1{margin-bottom:var(--s-5)}
.hero .eyebrow{margin-bottom:var(--s-4)}
.hero .lead{max-width:34ch;margin-bottom:var(--s-4)}
.hero-body{max-width:46ch;margin-bottom:var(--s-6)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-6);margin-bottom:var(--s-6)}
.hallmark{display:flex;align-items:center;gap:var(--s-3);font-size:var(--fs-small);line-height:1.5;color:var(--muted)}
.hallmark .rule{width:24px;flex:none}
.hero-media{margin-inline:calc(var(--gut)*-1);aspect-ratio:4/5}
.hero-media img{object-position:50% 20%}
.ticker{height:56px;border-block:1px solid var(--line);overflow:hidden;display:flex;align-items:center;font:italic 400 22px/1 var(--font-display);color:var(--muted);white-space:nowrap}
.ticker-track{display:flex;flex:none}
.js-motion .ticker-track{animation:tick 40s linear infinite}
.ticker-track span{flex:none}
@keyframes tick{to{transform:translateX(-50%)}}
@media (hover:hover) and (pointer:fine){.ticker:hover .ticker-track{animation-play-state:paused}}
@media (min-width:900px){
  .hero{min-height:clamp(640px,100svh,980px)}
  .hero-main{grid-template-columns:repeat(12,1fr);column-gap:var(--gap)}
  .hero-text{grid-column:1/7;align-self:center;padding-top:calc(72px + var(--s-7));padding-bottom:var(--s-8)}
  .hero-media{grid-column:7/13;margin:0;aspect-ratio:auto;min-height:480px}
  .hero-media img{object-position:50% 22%}
}

/* about */
.about .grid{row-gap:var(--s-7);align-items:start}
.about-media{grid-column:1/-1}
.about-text{grid-column:1/-1}
.about h2{margin-bottom:var(--s-5)}
.about .body{margin-bottom:var(--s-5)}
.facts{display:none}
@media (min-width:900px){
  .about-media{grid-column:1/6}
  .about-text{grid-column:7/13;align-self:center}
  .facts{display:grid;grid-template-columns:auto auto 1fr;margin-top:var(--s-7);border-top:1px solid var(--line)}
  .facts li{padding:var(--s-5) var(--s-5) 0;border-left:1px solid var(--line);font-size:var(--fs-small);color:var(--muted);line-height:1.5}
  .facts li:first-child{padding-left:0;border-left:0}
  .facts .fact-big{font:500 28px/1.1 var(--font-display);color:var(--ink)}
}

/* statement */
.statement{text-align:center;padding-block:var(--s-9)}
@media (min-width:900px){.statement{padding-block:var(--s-10)}}
.rule-c{margin:0 auto var(--s-6)}
.statement-text{font-size:var(--fs-statement);font-weight:400;line-height:1.2;max-width:22ch;margin-inline:auto}
.statement-text em{color:var(--gold-ink)}
@media (max-width:899px){.statement-text{max-width:none}}

/* why */
.why{padding-bottom:0}
.why-head-in{grid-column:1/-1}
.why-head h2{max-width:14ch}
@media (min-width:900px){.why-head-in{grid-column:1/8}}
.why-head{margin-bottom:var(--s-8)}
.pillars{display:grid;grid-template-columns:1fr;gap:var(--gap)}
@media (min-width:600px){.pillars{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.pillars{grid-template-columns:repeat(4,1fr)}}
.pillar{position:relative;padding:var(--s-5) var(--s-4) var(--s-6);transition:background-color .4s var(--ease-out)}
.pillar::before,.pillar::after{content:"";position:absolute;left:0;right:0;top:0;height:1px}
.pillar::before{background:var(--line-dark)}
.pillar::after{background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out)}
.pillar .num{display:inline-block;color:var(--gold);margin-bottom:var(--s-5);transition:transform .4s var(--ease-out),color .4s var(--ease-out)}
.pillar h3{color:var(--ivory);margin-bottom:var(--s-3)}
.pillar p{color:var(--mist);font-size:var(--fs-body)}
@media (hover:hover) and (pointer:fine){
  .pillar:hover{background:var(--navy-2)}
  .pillar:hover::after{transform:scaleX(1)}
  .pillar:hover .num{transform:translateX(4px);color:var(--gold-l)}
}
.why-media{margin-top:var(--s-9);aspect-ratio:4/3;background:var(--navy)}
.why-media .frame{inset:0}
.why-media .frame::after{outline-offset:-12px}
@media (min-width:900px){.why-media{aspect-ratio:21/9;margin-top:var(--s-10)}.why-media .frame::after{outline-offset:-24px}}

/* cfo */
.cfo .grid{row-gap:var(--s-7)}
.cfo-text,.cfo-media{grid-column:1/-1}
.cfo h2{margin-bottom:var(--s-5)}
.cfo .body{margin-bottom:var(--s-4)}
.chips{display:flex;flex-wrap:wrap;gap:var(--s-2);margin:var(--s-5) 0 var(--s-6)}
.chips li{border:1px solid var(--line);border-radius:999px;padding:var(--s-2) var(--s-4);font-size:13px;line-height:1.4}
.cfo-media{aspect-ratio:4/5}
@media (min-width:900px){
  .cfo .grid{align-items:start}
  .cfo-text{grid-column:1/7}
  .cfo-media{grid-column:8/13;aspect-ratio:3/4;margin-top:var(--s-8)}
}

/* services */
.svc-head{row-gap:var(--s-5);margin-bottom:var(--s-8)}
.svc-head-l,.svc-intro{grid-column:1/-1}
@media (min-width:900px){.svc-head-l{grid-column:1/7}.svc-intro{grid-column:8/13;align-self:end}}
.rows{border-top:1px solid var(--line)}
.rows li{border-bottom:1px solid var(--line)}
.row{position:relative;display:grid;grid-template-columns:auto 1fr auto;gap:var(--s-2) var(--s-4);align-items:center;padding:var(--s-6) var(--s-2);text-decoration:none;min-height:44px;overflow:hidden;isolation:isolate;background:var(--stone)}
.row::before{content:"";position:absolute;inset:0;background:var(--navy);z-index:-1;clip-path:inset(100% 0 0 0);transition:clip-path .6s var(--ease-out)}
.row .num{font-size:24px;color:var(--gold-ink)}
.row h3{font-size:var(--fs-h3)}
.row p{grid-column:2/4;color:var(--muted);font-size:var(--fs-body)}
.row-arrow{grid-column:3;grid-row:1;transition:transform .5s var(--ease-out)}
@media (min-width:900px){
  .row{grid-template-columns:repeat(12,1fr);column-gap:var(--gap);padding:var(--s-7) var(--s-4)}
  .row .num{grid-column:1}
  .row h3{grid-column:2/7}
  .row p{grid-column:7/12;grid-row:1}
  .row-arrow{grid-column:12;grid-row:1;justify-self:end}
}
@media (hover:hover) and (pointer:fine){
  .row:hover,.row:focus-visible{background:var(--navy-2)}
  .row:hover::before,.row:focus-visible::before{clip-path:inset(0 0 0 0)}
  .row:hover h3,.row:focus-visible h3{color:var(--ivory)}
  .row:hover p,.row:focus-visible p{color:var(--mist)}
  .row:hover .num,.row:focus-visible .num{color:var(--gold-l)}
  .row:hover .row-arrow,.row:focus-visible .row-arrow{transform:translateX(6px) rotate(-45deg);color:var(--ivory)}
}
.row:focus-visible{outline-offset:-2px}
.svc-cta{margin-top:var(--s-8)}
.cursor-preview{display:none}
@media (min-width:900px) and (hover:hover) and (pointer:fine){
  .js-motion .cursor-preview{display:block;position:fixed;left:0;top:0;width:240px;height:300px;z-index:60;pointer-events:none;opacity:0;transform:scale(.96);overflow:hidden;background:var(--navy)}
  .cursor-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .3s var(--ease-out)}
  .cursor-preview img.is-on{opacity:1}
}

/* CTA band */
.cta{position:relative;padding-bottom:var(--sec)}
.band-frame{position:absolute;inset:12px;border:1px solid var(--gold);pointer-events:none}
@media (min-width:900px){.band-frame{inset:24px}}
.cta .grid{row-gap:var(--s-7);position:relative}
.cta-text,.cta-media{grid-column:1/-1}
.cta h2{margin-bottom:var(--s-5)}
.cta .body{margin-bottom:var(--s-4);color:var(--ivory)}
.cta .btn{margin:var(--s-4) 0 var(--s-6)}
.contact-lines{display:grid;gap:var(--s-3);color:var(--mist);font-size:var(--fs-small);line-height:1.8}
.cta-media{aspect-ratio:1/1;order:2}
@media (min-width:900px){
  .cta .grid{align-items:center}
  .cta-media{grid-column:1/6;aspect-ratio:4/5;order:0;grid-row:1}
  .cta-text{grid-column:7/13;grid-row:1}
}

/* footer */
.footer{border-top:1px solid var(--line-dark);padding-block:var(--s-9) var(--s-6)}
.foot-tag{font-size:var(--fs-h2);line-height:1.05;letter-spacing:-.015em;margin-bottom:var(--s-8)}
.foot-cols{row-gap:var(--s-7);padding-top:var(--s-7);border-top:1px solid var(--line-dark)}
.foot-cols>*{grid-column:1/-1}
@media (min-width:600px){.foot-cols>*{grid-column:span 2}}
@media (min-width:900px){.foot-brand{grid-column:1/5}.foot-menu{grid-column:5/7}.foot-contact{grid-column:7/11}.foot-social{grid-column:11/13}}
.foot-brand img{margin-bottom:var(--s-4)}
.foot-brand p{color:var(--mist);font-size:var(--fs-small);max-width:30ch}
.foot-brand .ph-wrap{margin-top:var(--s-4)}
.foot-h{font:600 var(--fs-eyebrow)/1.5 var(--font-body);text-transform:uppercase;letter-spacing:.2em;color:var(--gold-l);margin-bottom:var(--s-3)}
.foot-menu{display:flex;flex-direction:column;align-items:flex-start}
.foot-menu a{display:flex;align-items:center;min-height:44px;color:var(--ivory);text-decoration:none;font-size:var(--fs-small)}
.foot-contact p,.foot-social p{color:var(--mist);font-size:var(--fs-small);min-height:32px;line-height:1.8}
@media (hover:hover) and (pointer:fine){.foot-menu a:hover{color:var(--gold-l);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}}
.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-4);margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid var(--line-dark);font-size:13px;color:var(--mist);line-height:1.8}
.to-top{text-decoration:none;display:inline-flex;align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-4);background:none;color:var(--ivory);border:1px solid var(--line-dark);border-radius:999px;font:600 var(--fs-btn)/1 var(--font-body);text-transform:uppercase;letter-spacing:.12em;cursor:pointer;transition:background-color .35s var(--ease-out),color .35s var(--ease-out)}
.to-top svg{transform:rotate(-90deg)}
@media (hover:hover) and (pointer:fine){.to-top:hover{background:var(--gold-l);color:var(--navy)}}

/* stub pages */
.stub{min-height:100svh;display:grid;place-content:center;gap:var(--s-5);padding:var(--s-8) var(--gut);text-align:center;justify-items:center;animation:stubin .5s var(--ease-out)}
@keyframes stubin{from{opacity:0;transform:translateY(8px)}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important;scroll-behavior:auto!important}
  .menu{transition:opacity .2s linear,visibility 0s .2s!important}
  .menu.is-open{transition:opacity .2s linear,visibility 0s!important}
  .menu nav a{opacity:1;transform:none}
}

/* tap-target floor */
.brand,.nav a,.foot-menu a{min-width:44px}
.nav a{justify-content:center}
/* scrolled header can sit over navy bands: keep the active label at full ink contrast, underline stays gold-ink */
.is-scrolled .nav a[aria-current]{color:var(--ink)}
.is-scrolled .nav a[aria-current]::after{background:var(--gold-ink)}
