/* Monsoon — shared stylesheet.
   Blackened-jade ink on a bone paper base, lacquer-red accent, brass hairlines.
   Schibsted Grotesk (display) / Jost (text + UI) / Martian Mono (labels). */

/* ═══════════════════════════════════════════════════════════════ tokens */
:root{
  /* ink */
  --ink:#0B1E1A;
  --ink-1:#102A24;
  --ink-2:#16382F;
  --ink-3:#1E4A3E;
  --ink-soft:#2A3832;
  --ink-dim:#4A5A52;
  /* paper */
  --bone:#F3EEE3;
  --bone-1:#EDE6D8;
  --bone-2:#E4DAC7;
  --sand:#D8CBB2;
  --bone-dim:#BFC9C0;
  --bone-fog:rgba(243,238,227,.66);
  /* accents */
  --lacquer:#B03A22;
  --lacquer-2:#CE5934;
  --lacquer-3:#E07C54;
  --brass:#A98A4F;
  --brass-2:#C9AC72;
  /* hairlines */
  --hair:rgba(11,30,26,.13);
  --hair-2:rgba(11,30,26,.24);
  --hair-brass:rgba(169,138,79,.34);
  --hair-d:rgba(243,238,227,.14);
  --hair-d2:rgba(243,238,227,.26);
  /* type */
  --ff-disp:"Schibsted Grotesk","Helvetica Neue",Helvetica,sans-serif;
  --ff-text:"Jost",sans-serif;
  --ff-mono:"Martian Mono",ui-monospace,SFMono-Regular,monospace;
  /* metrics */
  --gut:clamp(28px,5.5vw,58px);
  --maxw:1300px;
  --maxw-wide:1560px;
  --sp:clamp(4.4rem,8vw,8.2rem);
  --rl:28px; --rm:22px; --rs:18px; --rxs:12px;
  /* easing */
  --ez:cubic-bezier(.22,.78,.24,1);
  --ez2:cubic-bezier(.62,.02,.28,1);
  --ez3:cubic-bezier(.34,1.32,.5,1);
  /* shadow stacks */
  --sh-s:0 1px 1px rgba(11,30,26,.05),0 4px 12px rgba(11,30,26,.06),0 12px 26px -12px rgba(11,30,26,.12);
  --sh-m:0 1px 1px rgba(11,30,26,.06),0 8px 22px rgba(11,30,26,.08),0 30px 56px -26px rgba(11,30,26,.24);
  --sh-l:0 2px 2px rgba(11,30,26,.07),0 16px 40px rgba(11,30,26,.12),0 54px 96px -40px rgba(11,30,26,.34);
  --sh-d:0 2px 3px rgba(4,12,10,.4),0 18px 46px rgba(4,12,10,.4),0 56px 100px -46px rgba(4,12,10,.7);
}

/* ════════════════════════════════════════════════════════════════ reset */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd,ul,ol,fieldset{margin:0}
fieldset{padding:0;border:0;min-width:0}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
a{color:inherit}
legend{padding:0}
/* No slanted type anywhere: emphasis is carried by weight and colour instead. */
em,i,cite,address{font-style:normal}
[hidden]{display:none !important}
main [id]{scroll-margin-top:clamp(84px,9vw,112px)}
body{
  min-height:100%;
  background:var(--bone);
  color:var(--ink-soft);
  font-family:"Jost",ui-sans-serif,Helvetica,sans-serif;
  font-weight:400;
  font-size:clamp(.97rem,.36vw + .89rem,1.06rem);
  line-height:1.66;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--lacquer);color:#FDF6EC}
:focus-visible{outline:2px solid var(--lacquer-2);outline-offset:3px;border-radius:4px}
.on-dark :focus-visible,.hero :focus-visible{outline-color:var(--brass-2)}
.skip{position:absolute;left:-9999px;top:0;z-index:300}
.skip:focus{left:14px;top:14px;padding:.75rem 1.1rem;background:var(--ink);color:var(--bone);
  border-radius:10px;text-decoration:none}

/* paper grain */
body::after{
  content:"";position:fixed;inset:0;z-index:400;pointer-events:none;opacity:.32;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}

/* ═══════════════════════════════════════════════════════════ primitives */
.wrap{width:min(100%,var(--maxw));margin-inline:auto;padding-inline:var(--gut);box-sizing:border-box}
.wrap--wide{width:min(100%,var(--maxw-wide));margin-inline:auto;padding-inline:var(--gut);box-sizing:border-box}
.sect{padding-block:var(--sp);position:relative}
.sect--tight{padding-block:clamp(2.6rem,5vw,4.4rem)}
.rule{height:1px;background:var(--hair);border:0;margin:0}

/* Grotesk display. The weight ramp runs backwards on purpose: the big sizes stay
   light so they read airy, the small ones thicken so they still register as headings. */
.dspl{
  font-family:var(--ff-disp);
  font-weight:500;line-height:1;letter-spacing:-.032em;color:var(--ink);
}
.on-dark .dspl,.dspl.on-dark{color:var(--bone)}
.d1{font-size:clamp(2.45rem,6.3vw,5.35rem);line-height:.94;letter-spacing:-.045em;font-weight:500}
.d2{font-size:clamp(1.9rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em;font-weight:500}
.d3{font-size:clamp(1.42rem,2.25vw,2.05rem);line-height:1.12;letter-spacing:-.034em;font-weight:550}
.d4{font-size:clamp(1.1rem,1.35vw,1.32rem);line-height:1.24;letter-spacing:-.028em;font-weight:600}
.d5{font-size:clamp(.98rem,.92vw,1.08rem);line-height:1.3;letter-spacing:-.022em;font-weight:600}

.eyebrow{
  font-family:"Martian Mono",ui-monospace,SFMono-Regular,monospace;
  font-weight:400;font-size:.605rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-dim);line-height:1.5;display:inline-flex;align-items:center;flex-wrap:wrap;gap:.1rem .7rem;
}
.on-dark .eyebrow{color:var(--bone-dim)}
.eyebrow--lac{color:var(--lacquer)}
.on-dark .eyebrow--lac{color:var(--lacquer-3)}
.eyebrow .dot{width:5px;height:5px;border-radius:50%;background:var(--lacquer);flex:none;
  margin-right:.1rem}
.eyebrow .bar{width:16px;height:1px;background:currentColor;opacity:.4;flex:none}
.mono{font-family:"Martian Mono",ui-monospace,SFMono-Regular,monospace;font-weight:300;
  font-size:.68rem;letter-spacing:.02em;line-height:1.7}
.lede{font-size:clamp(1.04rem,.54vw + .94rem,1.2rem);line-height:1.62;color:var(--ink-soft);
  max-width:48ch;font-weight:300}
.on-dark .lede{color:var(--bone-fog)}
.muted{color:var(--ink-dim)}
.on-dark .muted{color:var(--bone-dim)}
/* Emphasis and foreign terms step up in weight rather than slanting over. */
em{font-weight:500}
.lede em,.hero__say em{color:var(--bone)}
.sect:not(.on-dark) .lede em{color:var(--ink)}
.lac{color:var(--lacquer)}
.on-dark{color:var(--bone-fog)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:48px;padding:.8rem 1.55rem;border-radius:999px;border:1px solid transparent;
  font-size:.9rem;font-weight:500;letter-spacing:.005em;text-decoration:none;text-align:center;
  transition:transform .5s var(--ez),background-color .38s var(--ez),color .38s var(--ez),
             border-color .38s var(--ez),box-shadow .5s var(--ez);
}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn svg{flex:none;transition:transform .5s var(--ez)}
.btn:hover svg{transform:translateX(3px)}
.btn--ink{background:var(--ink);color:var(--bone);box-shadow:var(--sh-s)}
.btn--ink:hover{background:var(--ink-2);box-shadow:var(--sh-m)}
.btn--lac{background:var(--lacquer);color:#FCF3E9;box-shadow:var(--sh-s)}
.btn--lac:hover{background:var(--lacquer-2);box-shadow:0 2px 3px rgba(176,58,34,.2),0 14px 30px rgba(176,58,34,.26)}
.btn--bone{background:var(--bone);color:var(--ink);box-shadow:var(--sh-d)}
.btn--bone:hover{background:#fff}
.btn--line{border-color:var(--hair-2);color:var(--ink)}
.btn--line:hover{border-color:var(--ink);background:rgba(11,30,26,.04)}
.btn--lined{border-color:var(--hair-d2);color:var(--bone);backdrop-filter:blur(10px)}
.btn--lined:hover{border-color:rgba(243,238,227,.55);background:rgba(243,238,227,.08)}
.btn--sm{min-height:42px;padding:.55rem 1.15rem;font-size:.83rem}
.btn--wide{width:100%}

.ulink{
  display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--ink);
  font-weight:500;font-size:.92rem;padding-bottom:3px;position:relative;
}
.ulink::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:0 50%;transition:transform .55s var(--ez)}
.ulink:hover::after{transform:scaleX(1)}
.ulink svg{transition:transform .5s var(--ez)}
.ulink:hover svg{transform:translateX(3px)}
.ulink--lac{color:var(--lacquer)}
.on-dark .ulink{color:var(--bone)}

/* overlay tag pills (hero + media) */
.tag{
  display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .78rem;border-radius:999px;
  font-family:"Martian Mono",monospace;font-weight:300;font-size:.595rem;letter-spacing:.05em;
  text-transform:uppercase;white-space:nowrap;
  background:rgba(8,22,19,.42);border:1px solid rgba(243,238,227,.26);color:var(--bone);
  backdrop-filter:blur(14px) saturate(150%);
  box-shadow:0 2px 10px rgba(4,12,10,.28);
}
.tag i{width:4px;height:4px;border-radius:50%;background:var(--lacquer-3);flex:none;font-style:normal}
.tag--paper{background:rgba(243,238,227,.9);border-color:var(--hair-brass);color:var(--ink)}

/* section head */
.shead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(1.6rem,4vw,4.5rem);
  align-items:end;margin-bottom:clamp(2.2rem,4vw,3.6rem)}
.shead__r{display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem;padding-bottom:.3rem}
.shead .eyebrow{margin-bottom:1.15rem}
@media(max-width:820px){.shead{grid-template-columns:1fr;align-items:start;gap:1.5rem}}

/* ═══════════════════════════════════════════════════════════════ pillnav */
.navshell{
  position:fixed;top:clamp(10px,1.5vw,20px);left:0;right:0;z-index:150;
  padding-inline:clamp(10px,2.6vw,26px);display:flex;justify-content:center;pointer-events:none;
  transition:top .45s var(--ez);
}
.nav{
  pointer-events:auto;width:min(100%,1180px);
  display:flex;align-items:center;gap:clamp(.5rem,1.4vw,1.2rem);
  padding:.46rem .46rem .46rem 1.25rem;border-radius:999px;
  background:rgba(9,24,20,.3);
  border:1px solid rgba(243,238,227,.2);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  box-shadow:0 1px 1px rgba(4,12,10,.1),0 10px 30px -14px rgba(4,12,10,.5);
  transition:background-color .55s var(--ez),border-color .55s var(--ez),box-shadow .55s var(--ez),
             padding .45s var(--ez);
}
.nav.is-stuck{
  background:rgba(9,24,20,.9);border-color:var(--hair-brass);
  box-shadow:0 1px 1px rgba(4,12,10,.2),0 14px 40px -12px rgba(4,12,10,.6);
}
.brand{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none;color:var(--bone);
  flex:none;transition:opacity .35s var(--ez)}
.brand:hover{opacity:.76}
.brand__mk{width:22px;height:22px;flex:none}
.brand__txt{font-family:var(--ff-disp);font-weight:600;font-size:1.16rem;letter-spacing:-.032em;line-height:1}
.nav__links{margin-left:auto;display:flex;align-items:center;gap:clamp(.9rem,1.9vw,1.9rem)}
.nav__links a{
  text-decoration:none;font-size:.885rem;font-weight:400;color:rgba(243,238,227,.76);
  position:relative;padding:.4rem 0;transition:color .4s var(--ez);white-space:nowrap;
}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;
  background:var(--lacquer-3);transform:scaleX(0);transform-origin:0 50%;
  transition:transform .55s var(--ez)}
.nav__links a:hover{color:var(--bone)}
.nav__links a:hover::after,.nav__links a[aria-current="page"]::after{transform:scaleX(1)}
.nav__links a[aria-current="page"]{color:var(--bone)}
.nav__cta{flex:none}
.burger{
  display:none;flex:none;width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(243,238,227,.24);align-items:center;justify-content:center;
  transition:background-color .35s var(--ez),border-color .35s var(--ez);
}
.burger:hover{background:rgba(243,238,227,.08)}
.burger span{display:block;width:16px;height:1.4px;background:var(--bone);border-radius:2px;
  position:relative;transition:background-color .3s var(--ez)}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:16px;height:1.4px;
  background:var(--bone);border-radius:2px;transition:transform .5s var(--ez)}
.burger span::before{top:-5px}
.burger span::after{top:5px}
body.nav-open .burger span{background:transparent}
body.nav-open .burger span::before{transform:translateY(5px) rotate(45deg)}
body.nav-open .burger span::after{transform:translateY(-5px) rotate(-45deg)}
@media(max-width:1000px){
  .nav__links,.nav__cta{display:none}
  .burger{display:inline-flex;margin-left:auto}
  .nav{padding-left:1.1rem}
}

/* drawer */
.drawer{position:fixed;inset:0;z-index:145;visibility:hidden;pointer-events:none}
.drawer__scrim{position:absolute;inset:0;background:rgba(6,16,14,.55);backdrop-filter:blur(4px);
  opacity:0;transition:opacity .5s var(--ez)}
.drawer__panel{
  position:absolute;top:0;right:0;bottom:0;width:min(89vw,380px);
  background:linear-gradient(200deg,var(--ink-2),var(--ink) 66%);
  border-left:1px solid var(--hair-brass);
  transform:translateX(100%);transition:transform .6s var(--ez2);
  display:flex;flex-direction:column;padding:88px 26px 30px;overflow-y:auto;
  box-shadow:-40px 0 90px rgba(4,12,10,.55);color:var(--bone-fog);
}
.drawer.is-open{visibility:visible;pointer-events:auto}
.drawer.is-open .drawer__scrim{opacity:1}
.drawer.is-open .drawer__panel{transform:translateX(0)}
.drawer__nav{display:flex;flex-direction:column;border-top:1px solid var(--hair-d)}
.drawer__nav a{
  text-decoration:none;display:flex;align-items:baseline;gap:.85rem;padding:1.05rem 0;
  border-bottom:1px solid var(--hair-d);font-family:var(--ff-disp);font-weight:500;font-size:1.66rem;
  letter-spacing:-.04em;color:var(--bone);opacity:0;transform:translateY(12px);
}
.drawer__nav a i{font-family:"Martian Mono",monospace;font-style:normal;font-size:.56rem;
  color:var(--lacquer-3);letter-spacing:.1em;transform:translateY(-6px)}
.drawer.is-open .drawer__nav a{animation:drawIn .55s var(--ez) forwards;
  animation-delay:calc(.11s + var(--i) * .055s)}
@keyframes drawIn{to{opacity:1;transform:none}}
.drawer__foot{margin-top:auto;padding-top:2.2rem;display:grid;gap:1.15rem}
.drawer__foot .mono{color:var(--bone-dim)}

/* ══════════════════════════════════════════════════════════════════ hero */
.hero{position:relative;padding:clamp(8px,.9vw,14px);padding-bottom:0}
.hero__frame{
  position:relative;border-radius:var(--rl);overflow:hidden;isolation:isolate;
  min-height:min(93svh,880px);display:flex;flex-direction:column;justify-content:flex-end;
  background:var(--ink);
}
.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transform:scale(1.06);animation:heroZoom 2.6s var(--ez) .05s forwards}
@keyframes heroZoom{to{transform:scale(1)}}
/* Three stacked passes, each doing one job: a floor under the stat strip, a
   left-hand bed for the headline, and a light wash under the nav. Keeps the
   right two-fifths of the photograph untouched. */
.hero__scrim{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to top,rgba(6,18,15,.9) 0%,rgba(6,18,15,.62) 15%,rgba(6,18,15,.14) 40%,
      rgba(6,18,15,0) 58%),
    linear-gradient(96deg,rgba(6,18,15,.8) 0%,rgba(6,18,15,.58) 24%,rgba(6,18,15,.2) 50%,
      rgba(6,18,15,0) 72%),
    linear-gradient(to bottom,rgba(6,18,15,.52) 0%,rgba(6,18,15,.12) 17%,rgba(6,18,15,0) 33%);
}
.hero__grain{position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:soft-light;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23g)'/%3E%3C/svg%3E")}
.hero__in{
  position:relative;z-index:2;color:var(--bone-fog);
  padding:clamp(6.5rem,11vw,9rem) clamp(1.15rem,3.6vw,3.6rem) clamp(1.5rem,3vw,2.6rem);
  width:100%;max-width:1480px;margin-inline:auto;
}
.hero__eyebrow{color:var(--bone-dim);margin-bottom:clamp(1.1rem,2.4vw,1.9rem)}
.hero__title{color:var(--bone);max-width:16ch}
/* Accent line: upright, set apart by colour and a lighter weight only. */
.hero__acc{color:var(--lacquer-3);font-weight:400}
.hero__ln{display:block;overflow:hidden}
.hero__ln > span{display:block}
.hero__low{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(1.4rem,3.5vw,3.4rem);align-items:end;
  margin-top:clamp(1.6rem,3.4vw,2.8rem);
}
.hero__say{font-size:clamp(1rem,.5vw + .9rem,1.14rem);font-weight:300;color:rgba(243,238,227,.86);
  max-width:44ch;text-shadow:0 1px 18px rgba(6,18,15,.6)}
.hero__tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}
.hero__strip{
  position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;
  gap:clamp(.9rem,3vw,2.8rem);
  padding:clamp(.9rem,1.6vw,1.2rem) clamp(1.15rem,3.6vw,3.6rem);
  border-top:1px solid rgba(243,238,227,.17);
  background:linear-gradient(to top,rgba(6,18,15,.72),rgba(6,18,15,.3));
  backdrop-filter:blur(8px);
  width:100%;max-width:1480px;margin-inline:auto;
}
.hero__stat{display:flex;align-items:baseline;gap:.5rem;color:var(--bone-dim)}
.hero__stat b{font-family:var(--ff-disp);font-weight:550;font-size:1.05rem;color:var(--bone);
  letter-spacing:-.028em}
.hero__stat span{font-family:"Martian Mono",monospace;font-weight:300;font-size:.58rem;
  letter-spacing:.07em;text-transform:uppercase}
.hero__scroll{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;color:var(--bone-dim);
  font-family:"Martian Mono",monospace;font-size:.575rem;letter-spacing:.09em;text-transform:uppercase;
  text-decoration:none}
.hero__scroll svg{animation:nudge 2.4s var(--ez) infinite}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(max-width:820px){
  .hero__frame{min-height:min(90svh,780px)}
  .hero__low{grid-template-columns:1fr;gap:1.15rem}
  .hero__tags{justify-content:flex-start}
  .hero__scrim{background:
    linear-gradient(to top,rgba(6,18,15,.92) 0%,rgba(6,18,15,.74) 26%,rgba(6,18,15,.46) 58%,
      rgba(6,18,15,.3) 100%),
    linear-gradient(to bottom,rgba(6,18,15,.6) 0%,rgba(6,18,15,.2) 20%,rgba(6,18,15,0) 38%)}
}
@media(max-width:679px){
  .hero__tags .tag:nth-child(n+3){display:none}
  .hero__title{max-width:none}
}

/* page head (inner pages) */
.phead{position:relative;padding:clamp(8px,.9vw,14px);padding-bottom:0}
.phead__frame{position:relative;border-radius:var(--rl);overflow:hidden;background:var(--ink);
  min-height:clamp(380px,46vw,520px);display:flex;align-items:flex-end}
.phead__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.phead__scrim{position:absolute;inset:0;
  background:
    linear-gradient(to top,rgba(6,18,15,.9) 0%,rgba(6,18,15,.64) 30%,rgba(6,18,15,.18) 66%,
      rgba(6,18,15,0) 86%),
    linear-gradient(96deg,rgba(6,18,15,.82) 0%,rgba(6,18,15,.52) 30%,rgba(6,18,15,.12) 58%,
      rgba(6,18,15,0) 78%),
    linear-gradient(to bottom,rgba(6,18,15,.55) 0%,rgba(6,18,15,.1) 22%,rgba(6,18,15,0) 40%)}
.phead__in{position:relative;z-index:2;width:100%;max-width:1480px;margin-inline:auto;color:var(--bone-fog);
  padding:clamp(6.5rem,11vw,8rem) clamp(1.15rem,3.6vw,3.6rem) clamp(2rem,3.6vw,3rem)}
.phead__title{color:var(--bone);max-width:17ch;margin-block:1.1rem .95rem}
.phead__say{max-width:50ch;color:rgba(243,238,227,.8);font-weight:300}

/* ═══════════════════════════════════════════════════════════════ ledger */
.ledger{
  display:grid;grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
}
.ledger > div{padding:clamp(1.3rem,2.4vw,2rem) clamp(.6rem,1.6vw,1.6rem);
  border-left:1px solid var(--hair);display:flex;flex-direction:column;gap:.15rem}
.ledger > div:first-child{border-left:0;padding-left:0}
.ledger b{font-family:var(--ff-disp);font-weight:500;font-size:clamp(1.5rem,2.7vw,2.25rem);
  letter-spacing:-.042em;color:var(--ink);line-height:1.05}
.ledger span{font-family:"Martian Mono",monospace;font-weight:300;font-size:.585rem;
  letter-spacing:.07em;text-transform:uppercase;color:var(--ink-dim);line-height:1.5}
@media(max-width:700px){
  .ledger{grid-template-columns:1fr 1fr}
  .ledger > div{padding-inline:1.1rem}
  .ledger > div:nth-child(odd){border-left:0;padding-left:0}
  .ledger > div:nth-child(n+3){border-top:1px solid var(--hair)}
}

/* ════════════════════════════════════════════════════════════ manifesto */
.manif{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,5.5rem);align-items:start}
.manif__big{font-family:var(--ff-disp);font-weight:450;
  font-size:clamp(1.26rem,2.1vw,1.85rem);line-height:1.32;letter-spacing:-.032em;color:var(--ink)}
.manif__big em{color:var(--lacquer);font-weight:550}
.manif__side{display:grid;gap:1.15rem;padding-top:.5rem}
.manif__side p{font-weight:300}
.sig{display:flex;align-items:center;gap:.85rem;margin-top:.8rem;padding-top:1.35rem;
  border-top:1px solid var(--hair-brass)}
.sig__mk{width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;
  border:1px solid var(--hair-brass);color:var(--brass)}
.sig__mk svg{width:19px;height:19px}
.sig__t b{display:block;font-weight:500;color:var(--ink);font-size:.95rem;letter-spacing:-.005em}
.sig__t span{font-family:"Martian Mono",monospace;font-weight:300;font-size:.58rem;
  letter-spacing:.05em;color:var(--ink-dim);text-transform:uppercase}
@media(max-width:860px){.manif{grid-template-columns:1fr;gap:2.2rem}}

/* ═══════════════════════════════════════════════════════════════ bento */
.bento{
  display:grid;grid-template-columns:repeat(12,1fr);
  grid-auto-rows:clamp(72px,7.6vw,124px);
  gap:clamp(9px,1.05vw,17px);
}
.bt{position:relative;border-radius:var(--rm);overflow:hidden;background:var(--bone-2);
  box-shadow:var(--sh-s)}
.bt img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ez)}
.bt:hover img{transform:scale(1.045)}
.bt__cap{position:absolute;left:0;right:0;bottom:0;padding:clamp(.9rem,1.6vw,1.35rem);
  display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem;
  background:linear-gradient(to top,rgba(6,18,15,.86),rgba(6,18,15,.26) 58%,transparent);
  color:var(--bone)}
.bt__cap h3{font-family:var(--ff-disp);font-weight:600;font-size:clamp(.98rem,1.4vw,1.22rem);
  letter-spacing:-.03em;line-height:1.16}
.bt__cap p{font-family:"Martian Mono",monospace;font-weight:300;font-size:.56rem;
  letter-spacing:.07em;text-transform:uppercase;color:var(--bone-dim);margin-top:.3rem}
.bt__tag{position:absolute;top:clamp(.7rem,1.2vw,1rem);left:clamp(.7rem,1.2vw,1rem)}
.bt--note{background:var(--ink);color:var(--bone-fog);display:flex;flex-direction:column;
  justify-content:space-between;padding:clamp(1.15rem,2vw,1.75rem);gap:1rem;
  border:1px solid var(--hair-brass)}
.bt--note h3{font-family:var(--ff-disp);font-weight:600;color:var(--bone);letter-spacing:-.034em;
  font-size:clamp(1.12rem,1.7vw,1.5rem);line-height:1.15}
.bt--note p{font-size:.9rem;font-weight:300;line-height:1.55}
.bt-a{grid-column:1/5;grid-row:1/5}
.bt-b{grid-column:5/13;grid-row:1/4}
.bt-c{grid-column:5/9;grid-row:4/7}
.bt-d{grid-column:9/13;grid-row:4/7}
.bt-e{grid-column:1/5;grid-row:5/7}
@media(max-width:900px){
  .bento{grid-template-columns:repeat(6,1fr);grid-auto-rows:auto}
  .bt{grid-row:auto !important}
  .bt-a{grid-column:1/4;aspect-ratio:3/4}
  .bt-c{grid-column:4/7;aspect-ratio:3/4}
  .bt-b{grid-column:1/7;aspect-ratio:16/10}
  .bt-d{grid-column:1/4;aspect-ratio:1}
  .bt-e{grid-column:4/7;aspect-ratio:1}
}
@media(max-width:520px){
  .bt-a,.bt-c,.bt-d,.bt-e{grid-column:1/7}
  .bt-a{aspect-ratio:4/5}.bt-c{aspect-ratio:4/5}
  .bt-d,.bt-e{aspect-ratio:auto}
  .bt-e{min-height:210px}
  .bt-d{aspect-ratio:4/3}
}

/* ═══════════════════════════════════════════════════════════ dark bands */
.band{position:relative;overflow:hidden;background:var(--ink);color:var(--bone-fog);
  padding-block:var(--sp)}
.band__bg{position:absolute;inset:0;z-index:0}
.band__bg img{width:100%;height:100%;object-fit:cover;opacity:.2}
.band__bg::after{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 20% 0%,rgba(30,74,62,.5),rgba(11,30,26,.92) 68%)}
.band .wrap,.band .wrap--wide{position:relative;z-index:1}
.band--flush{border-radius:var(--rl);margin-inline:clamp(8px,.9vw,14px)}

/* ══════════════════════════════════════════════════ rain-shadow teaser */
.rshadow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(2rem,5vw,5rem);align-items:center}
.coastpair{display:grid;gap:clamp(.9rem,1.6vw,1.2rem)}
.coast{border:1px solid var(--hair-d);border-radius:var(--rm);padding:clamp(1.05rem,2vw,1.5rem);
  background:rgba(243,238,227,.035);backdrop-filter:blur(2px)}
.coast__top{display:flex;align-items:baseline;justify-content:space-between;gap:.8rem;
  margin-bottom:.85rem}
.coast__top h3{font-family:var(--ff-disp);font-weight:600;font-size:1.1rem;color:var(--bone);
  letter-spacing:-.03em}
.coast__top span{font-family:"Martian Mono",monospace;font-weight:300;font-size:.56rem;
  letter-spacing:.07em;text-transform:uppercase;color:var(--brass-2)}
.spark{display:flex;align-items:flex-end;gap:clamp(3px,.7vw,6px);height:clamp(58px,6vw,76px)}
.spark i{flex:1;border-radius:3px 3px 1px 1px;background:rgba(243,238,227,.3);
  height:calc(var(--v) * 1%);min-height:3px;transition:height .7s var(--ez),background-color .4s var(--ez)}
.spark i[data-wet="1"]{background:linear-gradient(to top,rgba(169,138,79,.35),var(--lacquer))}
.spark-x{display:flex;gap:clamp(3px,.7vw,6px);margin-top:.5rem}
.spark-x span{flex:1;text-align:center;font-family:"Martian Mono",monospace;font-weight:300;
  font-size:.5rem;color:var(--bone-dim);letter-spacing:0}
.coast__note{margin-top:.8rem;font-size:.88rem;font-weight:300;color:var(--bone-fog)}
@media(max-width:860px){.rshadow{grid-template-columns:1fr;gap:2.4rem}}

/* ══════════════════════════════════════════════════════════════ journey */
.jgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));
  gap:clamp(1.05rem,2.1vw,1.7rem)}
.jc{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border:1px solid var(--hair);border-radius:var(--rm);background:#FAF6EE;overflow:hidden;
  box-shadow:var(--sh-s);
  transition:transform .55s var(--ez),box-shadow .55s var(--ez),border-color .4s var(--ez);
}
.jc:hover{transform:translateY(-4px);box-shadow:var(--sh-m);border-color:var(--hair-brass)}
.jc__media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bone-2)}
.jc__media img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ez)}
.jc:hover .jc__media img{transform:scale(1.05)}
.jc__pin{position:absolute;top:.7rem;left:.7rem;display:flex;gap:.35rem;flex-wrap:wrap}
.jc__body{padding:clamp(1.05rem,1.9vw,1.4rem);display:flex;flex-direction:column;gap:.55rem;
  flex:1}
.jc__meta{font-family:"Martian Mono",monospace;font-weight:300;font-size:.565rem;letter-spacing:.07em;
  text-transform:uppercase;color:var(--ink-dim);display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.jc__meta i{width:3px;height:3px;border-radius:50%;background:var(--brass);flex:none}
.jc__name{font-family:var(--ff-disp);font-weight:600;font-size:1.2rem;letter-spacing:-.034em;
  color:var(--ink);line-height:1.16}
.jc__say{font-size:.915rem;font-weight:300;line-height:1.56;color:var(--ink-soft)}
.jc__tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem}
.jc__tags span{padding:.26rem .58rem;border-radius:999px;border:1px solid var(--hair-brass);
  background:var(--bone-1);font-family:"Martian Mono",monospace;font-weight:300;font-size:.5rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);line-height:1.4}
.jc__foot{margin-top:auto;padding-top:.95rem;border-top:1px solid var(--hair);
  display:flex;align-items:flex-end;justify-content:space-between;gap:.8rem}
.jc__price b{font-family:var(--ff-disp);font-weight:550;font-size:1.08rem;color:var(--ink);
  letter-spacing:-.028em}
.jc__price span{display:block;font-family:"Martian Mono",monospace;font-weight:300;font-size:.53rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}
.jc__go{width:36px;height:36px;border-radius:50%;border:1px solid var(--hair-2);display:grid;
  place-items:center;color:var(--ink);flex:none;
  transition:background-color .4s var(--ez),color .4s var(--ez),border-color .4s var(--ez)}
.jc:hover .jc__go{background:var(--lacquer);border-color:var(--lacquer);color:#FCF3E9}
.jc.is-out{display:none}
.jc.is-in{animation:regrid .5s var(--ez) backwards;animation-delay:calc(var(--k,0) * 42ms)}
@keyframes regrid{from{opacity:0;transform:translateY(14px) scale(.975)}}

/* filter bar */
.filters{border:1px solid var(--hair);border-radius:var(--rm);background:#FAF6EE;
  padding:clamp(1rem,2vw,1.4rem);box-shadow:var(--sh-s);
  display:grid;gap:clamp(.9rem,1.6vw,1.15rem)}
.frow{display:grid;grid-template-columns:auto 1fr;gap:.85rem 1.1rem;align-items:center}
.frow > .eyebrow{padding-top:.1rem}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chip{
  display:inline-flex;align-items:center;gap:.45rem;min-height:40px;padding:.4rem .95rem;
  border-radius:999px;border:1px solid var(--hair-2);background:transparent;color:var(--ink-soft);
  font-size:.865rem;font-weight:400;white-space:nowrap;
  transition:background-color .35s var(--ez),color .35s var(--ez),border-color .35s var(--ez),
             transform .35s var(--ez);
}
.chip:hover{border-color:var(--ink);color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.chip[aria-pressed="true"] .chip__n{color:var(--brass-2)}
.chip__n{font-family:"Martian Mono",monospace;font-weight:300;font-size:.58rem;color:var(--ink-dim);
  transition:color .35s var(--ez)}
.fbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding-top:.95rem;border-top:1px solid var(--hair)}
.fcount{font-family:"Martian Mono",monospace;font-weight:400;font-size:.66rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink)}
.fcount b{color:var(--lacquer);font-weight:500}
.fclear{font-size:.85rem;color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px;
  transition:color .3s var(--ez);min-height:40px;padding-inline:.2rem}
.fclear:hover{color:var(--lacquer)}
@media(max-width:700px){
  .frow{grid-template-columns:1fr;gap:.55rem}
  .chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.3rem;scrollbar-width:thin;
    scroll-snap-type:x proximity;margin-inline:-.2rem;padding-inline:.2rem}
  .chip{scroll-snap-align:start}
}
.empty{grid-column:1/-1;border:1px dashed var(--hair-2);border-radius:var(--rm);
  padding:clamp(2.2rem,5vw,3.6rem) clamp(1.2rem,3vw,2rem);text-align:center;background:#FAF6EE}
.empty__mk{width:52px;height:52px;border-radius:50%;margin:0 auto 1.1rem;display:grid;
  place-items:center;border:1px solid var(--hair-brass);color:var(--brass)}
.empty h3{font-family:var(--ff-disp);font-weight:600;font-size:1.26rem;letter-spacing:-.034em;
  color:var(--ink);margin-bottom:.5rem}
.empty p{max-width:42ch;margin-inline:auto;font-weight:300;font-size:.94rem}
.empty .btn{margin-top:1.3rem}

/* ═════════════════════════════════════════════════════════════ accordion */
.acc{border-top:1px solid var(--hair)}
.acc__it{border-bottom:1px solid var(--hair)}
.acc__btn{
  width:100%;display:grid;grid-template-columns:auto 1fr auto auto;gap:clamp(.7rem,1.8vw,1.5rem);
  align-items:center;text-align:left;padding:clamp(1rem,1.8vw,1.35rem) 0;color:var(--ink);
  transition:color .35s var(--ez);
}
.acc__btn:hover{color:var(--lacquer)}
.acc__day{font-family:"Martian Mono",monospace;font-weight:400;font-size:.585rem;letter-spacing:.07em;
  color:var(--lacquer);text-transform:uppercase;min-width:4.6em}
.acc__t{font-family:var(--ff-disp);font-weight:600;font-size:clamp(1rem,1.4vw,1.2rem);
  letter-spacing:-.03em;line-height:1.24}
.acc__where{font-family:"Martian Mono",monospace;font-weight:300;font-size:.565rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}
.acc__ic{width:32px;height:32px;border-radius:50%;border:1px solid var(--hair-2);display:grid;
  place-items:center;flex:none;transition:transform .5s var(--ez),background-color .4s var(--ez),
  border-color .4s var(--ez),color .4s var(--ez)}
.acc__ic svg{width:13px;height:13px}
.acc__btn[aria-expanded="true"] .acc__ic{transform:rotate(45deg);background:var(--ink);
  border-color:var(--ink);color:var(--bone)}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--ez)}
.acc__btn[aria-expanded="true"] + .acc__panel{grid-template-rows:1fr}
.acc__inner{overflow:hidden}
.acc__body{padding:0 0 clamp(1.2rem,2.4vw,1.9rem);
  display:grid;grid-template-columns:4.6em minmax(0,1fr);gap:clamp(.7rem,1.8vw,1.5rem)}
.acc__body > div:last-child{display:grid;gap:.85rem;max-width:66ch}
.acc__body p{font-weight:300;font-size:.96rem}
.acc__notes{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}
.acc__note{display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .7rem;border-radius:999px;
  background:var(--bone-2);border:1px solid var(--hair-brass);
  font-family:"Martian Mono",monospace;font-weight:300;font-size:.545rem;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ink-soft)}
@media(max-width:700px){
  .acc__btn{grid-template-columns:1fr auto;gap:.5rem .8rem;row-gap:.3rem}
  .acc__day{grid-column:1;grid-row:1;min-width:0}
  .acc__ic{grid-column:2;grid-row:1/3}
  .acc__t{grid-column:1;grid-row:2}
  .acc__where{grid-column:1;grid-row:3;white-space:normal}
  .acc__body{grid-template-columns:1fr}
  .acc__body > div:first-child{display:none}
}

/* ══════════════════════════════════════════════════════ when-to-go tool */
.wtg{display:grid;gap:clamp(1.3rem,2.6vw,2.1rem)}
.months{
  display:flex;gap:.4rem;overflow-x:auto;padding:.45rem;border:1px solid var(--hair);
  border-radius:999px;background:#FAF6EE;box-shadow:var(--sh-s);
  scrollbar-width:none;scroll-snap-type:x mandatory;
}
.months::-webkit-scrollbar{display:none}
.month{
  flex:1 0 auto;min-width:62px;min-height:46px;border-radius:999px;border:1px solid transparent;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  color:var(--ink-soft);scroll-snap-align:center;
  transition:background-color .4s var(--ez),color .4s var(--ez),transform .4s var(--ez);
}
.month:hover{background:rgba(11,30,26,.055)}
.month b{font-weight:500;font-size:.93rem;letter-spacing:.01em;line-height:1}
.month i{font-family:"Martian Mono",monospace;font-style:normal;font-weight:300;font-size:.46rem;
  letter-spacing:.06em;color:var(--ink-dim);text-transform:uppercase;transition:color .4s var(--ez)}
.month[aria-pressed="true"]{background:var(--ink);color:var(--bone)}
.month[aria-pressed="true"] i{color:var(--brass-2)}

.wtg__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:.8rem 1.4rem}
.wtg__head h3{font-family:var(--ff-disp);font-weight:500;font-size:clamp(1.42rem,2.5vw,2rem);
  letter-spacing:-.042em;color:var(--ink)}
.wtg__head h3 em{color:var(--lacquer);font-weight:600}
.legend{display:flex;flex-wrap:wrap;gap:.5rem .95rem;font-family:"Martian Mono",monospace;
  font-weight:300;font-size:.545rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}
.legend span{display:inline-flex;align-items:center;gap:.4rem}
.legend i{width:8px;height:8px;border-radius:3px}

.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));
  gap:clamp(.9rem,1.8vw,1.35rem)}
.rg{border:1px solid var(--hair);border-radius:var(--rm);background:#FAF6EE;
  padding:clamp(1.05rem,1.9vw,1.4rem);display:flex;flex-direction:column;gap:.9rem;
  box-shadow:var(--sh-s);transition:border-color .4s var(--ez),box-shadow .4s var(--ez)}
.rg:hover{border-color:var(--hair-brass);box-shadow:var(--sh-m)}
.rg__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.7rem}
.rg__head h4{font-family:var(--ff-disp);font-weight:600;font-size:1.1rem;letter-spacing:-.03em;
  color:var(--ink);line-height:1.2}
.rg__sub{color:var(--ink-dim);margin-top:.25rem;font-size:.58rem;letter-spacing:.05em;
  text-transform:uppercase}
.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .62rem;border-radius:999px;
  font-family:"Martian Mono",monospace;font-weight:400;font-size:.53rem;letter-spacing:.07em;
  text-transform:uppercase;white-space:nowrap;flex:none;border:1px solid transparent}
.badge i{width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.badge[data-s="prime"]{background:rgba(30,74,62,.1);color:#1B5A45;border-color:rgba(30,74,62,.3)}
.badge[data-s="good"]{background:rgba(169,138,79,.14);color:#87672F;border-color:rgba(169,138,79,.4)}
.badge[data-s="mixed"]{background:rgba(206,89,52,.12);color:#A8461F;border-color:rgba(206,89,52,.32)}
.badge[data-s="avoid"]{background:rgba(176,58,34,.12);color:#8E2B16;border-color:rgba(176,58,34,.34)}

.rg__chart{display:flex;align-items:flex-end;gap:2px;height:46px;padding-top:2px}
.rg__chart i{flex:1;border-radius:2px 2px 1px 1px;background:rgba(11,30,26,.13);
  height:max(3px,calc(var(--v) * 1%));transition:height .6s var(--ez),background-color .4s var(--ez)}
.rg__chart i.on{background:var(--lacquer)}
.rg__chart i.on::after{content:""}

.gauges{display:grid;gap:.5rem}
.gg{display:grid;grid-template-columns:4.4em 1fr auto;gap:.6rem;align-items:center}
.gg__k{font-family:"Martian Mono",monospace;font-weight:300;font-size:.53rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-dim)}
.gg__tr{display:block;height:5px;border-radius:999px;background:rgba(11,30,26,.11);overflow:hidden}
.gg__fl{display:block;height:100%;border-radius:999px;width:var(--w,0%);
  transition:width .65s var(--ez)}
.gg--rain .gg__fl{background:linear-gradient(90deg,var(--brass),var(--lacquer))}
.gg--heat .gg__fl{background:linear-gradient(90deg,#C9AC72,#CE5934)}
.gg--crowd .gg__fl{background:linear-gradient(90deg,#4E7A69,#1E4A3E)}
.gg__v{font-family:"Martian Mono",monospace;font-weight:400;font-size:.585rem;color:var(--ink);
  min-width:4.4em;text-align:right}
.rg__verdict{font-size:.925rem;font-weight:300;line-height:1.55;color:var(--ink-soft);
  padding-top:.75rem;border-top:1px solid var(--hair);margin-top:auto}
.rg__verdict b{font-weight:500;color:var(--ink)}
@media(max-width:400px){.gg{grid-template-columns:3.8em 1fr auto;gap:.45rem}}

/* ═══════════════════════════════════════════════════════════════ marquee */
.mq{position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.mq__row{display:flex;gap:clamp(.9rem,1.7vw,1.35rem);width:max-content;
  animation:mqScroll 68s linear infinite}
.mq:hover .mq__row{animation-play-state:paused}
@keyframes mqScroll{to{transform:translateX(-50%)}}
.qt{width:clamp(280px,32vw,420px);flex:none;border:1px solid var(--hair-d);border-radius:var(--rm);
  padding:clamp(1.15rem,2vw,1.6rem);background:rgba(243,238,227,.045);display:flex;
  flex-direction:column;gap:1rem;backdrop-filter:blur(2px)}
.qt__mk{color:var(--lacquer-3);font-family:var(--ff-disp);font-weight:600;font-size:2rem;line-height:.6;height:.6em}
.qt p{font-size:.975rem;font-weight:300;line-height:1.6;color:rgba(243,238,227,.86)}
.qt__by{margin-top:auto;padding-top:.9rem;border-top:1px solid var(--hair-d);
  font-family:"Martian Mono",monospace;font-weight:300;font-size:.55rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--bone-dim)}
.qt__by b{display:block;color:var(--bone);font-weight:400;font-size:.6rem;margin-bottom:.2rem}

/* ═════════════════════════════════════════════════════════════════ form */
.enq{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);
  gap:clamp(1.6rem,3.6vw,3.4rem);align-items:start}
@media(max-width:940px){.enq{grid-template-columns:1fr}}

.card{border:1px solid var(--hair);border-radius:var(--rl);background:#FAF6EE;
  box-shadow:var(--sh-m);overflow:hidden}
.card__pad{padding:clamp(1.2rem,2.8vw,2.3rem)}

.prog{display:flex;align-items:center;gap:0;padding:clamp(1rem,2vw,1.35rem) clamp(1.2rem,2.8vw,2.3rem);
  border-bottom:1px solid var(--hair);background:var(--bone-1)}
.prog__s{display:flex;align-items:center;gap:.6rem;flex:none}
.prog__n{width:28px;height:28px;border-radius:50%;flex:none;display:grid;place-items:center;
  border:1px solid var(--hair-2);font-family:"Martian Mono",monospace;font-size:.58rem;
  color:var(--ink-dim);background:var(--bone);
  transition:background-color .45s var(--ez),color .45s var(--ez),border-color .45s var(--ez)}
.prog__n svg{width:12px;height:12px;display:none}
.prog__l{font-family:"Martian Mono",monospace;font-weight:300;font-size:.55rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;
  transition:color .45s var(--ez)}
.prog__s[data-state="on"] .prog__n{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.prog__s[data-state="on"] .prog__l{color:var(--ink)}
.prog__s[data-state="done"] .prog__n{background:var(--lacquer);border-color:var(--lacquer);
  color:#FCF3E9;font-size:0}
.prog__s[data-state="done"] .prog__n svg{display:block}
.prog__s[data-state="done"] .prog__l{color:var(--ink-soft)}
.prog__line{flex:1;height:1px;background:var(--hair-2);margin-inline:.7rem;position:relative;
  min-width:14px}
.prog__line::after{content:"";position:absolute;inset:0;background:var(--lacquer);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .6s var(--ez)}
.prog__line.on::after{transform:scaleX(1)}
@media(max-width:720px){.prog__l{display:none}.prog__line{margin-inline:.45rem}}

.fset{display:grid;gap:clamp(1.1rem,2.2vw,1.55rem)}
.fset[hidden]{display:none}
.fgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(.9rem,1.8vw,1.25rem)}
.fgrid--1{grid-template-columns:1fr}
@media(max-width:620px){.fgrid{grid-template-columns:1fr}}
.f{display:grid;gap:.42rem}
.f--full{grid-column:1/-1}
.f > label,.f > .flab,.f legend{font-family:"Martian Mono",monospace;font-weight:400;font-size:.555rem;
  letter-spacing:.07em;text-transform:uppercase;color:var(--ink-dim)}
.f .req{color:var(--lacquer)}
.inp{
  width:100%;min-height:50px;padding:.72rem .95rem;border-radius:var(--rxs);
  border:1px solid var(--hair-2);background:var(--bone);color:var(--ink);font-size:.98rem;
  font-weight:400;transition:border-color .35s var(--ez),box-shadow .35s var(--ez),
  background-color .35s var(--ez);
}
.inp::placeholder{color:#93A199}
.inp:hover{border-color:rgba(11,30,26,.36)}
.inp:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(11,30,26,.09);background:#fff}
textarea.inp{min-height:108px;resize:vertical;line-height:1.6}
select.inp{appearance:none;cursor:pointer;padding-right:2.4rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' stroke='%235E6F66' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1rem center}
.f.is-bad .inp{border-color:var(--lacquer);background:rgba(176,58,34,.035)}
.f.is-bad .inp:focus{box-shadow:0 0 0 3px rgba(176,58,34,.13)}
.err{font-size:.8rem;color:var(--lacquer);display:none;align-items:center;gap:.4rem;line-height:1.4}
.err svg{flex:none;width:13px;height:13px}
.f.is-bad .err{display:flex}
.hint{font-size:.83rem;color:var(--ink-dim);font-weight:300;line-height:1.5}

/* choice chips inside form */
.pick{display:flex;flex-wrap:wrap;gap:.45rem}
.pick label{
  display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.42rem 1rem;
  border-radius:999px;border:1px solid var(--hair-2);cursor:pointer;font-size:.895rem;
  color:var(--ink-soft);background:var(--bone);
  transition:background-color .35s var(--ez),color .35s var(--ez),border-color .35s var(--ez);
}
.pick label:hover{border-color:var(--ink)}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick input:checked + span{color:inherit}
.pick label:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--bone)}
.pick label:has(input:focus-visible){outline:2px solid var(--lacquer-2);outline-offset:2px}
.f.is-bad .pick label{border-color:rgba(176,58,34,.45)}

/* radio cards */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:.6rem}
.cards label{
  position:relative;border:1px solid var(--hair-2);border-radius:var(--rs);padding:.9rem 1rem;
  cursor:pointer;background:var(--bone);display:grid;gap:.22rem;
  transition:border-color .35s var(--ez),background-color .35s var(--ez),transform .35s var(--ez);
}
.cards label:hover{border-color:var(--ink);transform:translateY(-2px)}
.cards input{position:absolute;opacity:0;width:1px;height:1px}
.cards b{font-weight:500;color:var(--ink);font-size:.95rem}
.cards em{font-style:normal;font-family:"Martian Mono",monospace;font-weight:300;font-size:.53rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}
.cards label:has(input:checked){border-color:var(--ink);background:var(--ink);box-shadow:var(--sh-s)}
.cards label:has(input:checked) b{color:var(--bone)}
.cards label:has(input:checked) em{color:var(--brass-2)}
.cards label:has(input:focus-visible){outline:2px solid var(--lacquer-2);outline-offset:2px}

/* range */
.rangewrap{display:grid;gap:.55rem}
.rangetop{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
.rangetop b{font-family:var(--ff-disp);font-weight:550;font-size:1.32rem;color:var(--ink);
  letter-spacing:-.032em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:none;
  cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:5px;border-radius:999px;
  background:linear-gradient(90deg,var(--brass) var(--p,40%),rgba(11,30,26,.12) var(--p,40%))}
input[type=range]::-moz-range-track{height:5px;border-radius:999px;background:rgba(11,30,26,.12)}
input[type=range]::-moz-range-progress{height:5px;border-radius:999px;background:var(--brass)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;
  border-radius:50%;background:var(--ink);border:3px solid var(--bone);margin-top:-8.5px;
  box-shadow:var(--sh-s);transition:transform .3s var(--ez)}
input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--ink);
  border:3px solid var(--bone);box-shadow:var(--sh-s)}
input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.12)}
.rangescale{display:flex;justify-content:space-between;font-family:"Martian Mono",monospace;
  font-weight:300;font-size:.53rem;letter-spacing:.05em;color:var(--ink-dim)}

.fnav{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:clamp(1rem,2vw,1.35rem) clamp(1.2rem,2.8vw,2.3rem);border-top:1px solid var(--hair);
  background:var(--bone-1);flex-wrap:wrap}
.fnav__step{font-family:"Martian Mono",monospace;font-weight:300;font-size:.575rem;
  letter-spacing:.07em;text-transform:uppercase;color:var(--ink-dim)}
.fnav__btns{display:flex;gap:.55rem;margin-left:auto}

/* success */
.done{display:none;padding:clamp(1.5rem,3.2vw,2.6rem)}
.done.on{display:block;animation:doneIn .7s var(--ez)}
@keyframes doneIn{from{opacity:0;transform:translateY(12px)}}
.done__tick{width:54px;height:54px;border-radius:50%;background:var(--ink);color:var(--bone);
  display:grid;place-items:center;margin-bottom:1.3rem}
.done__tick svg{width:24px;height:24px}
.done h3{font-family:var(--ff-disp);font-weight:500;font-size:clamp(1.48rem,2.7vw,1.95rem);
  letter-spacing:-.042em;color:var(--ink);margin-bottom:.7rem;line-height:1.1}
.done > p{max-width:52ch;font-weight:300}
.recap{margin-top:1.8rem;border:1px solid var(--hair-brass);border-radius:var(--rm);overflow:hidden}
.recap__hd{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:.85rem 1.15rem;background:var(--ink);color:var(--bone)}
.recap__hd span{font-family:"Martian Mono",monospace;font-weight:300;font-size:.56rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim)}
.recap__hd b{font-family:"Martian Mono",monospace;font-weight:500;font-size:.72rem;
  letter-spacing:.08em;color:var(--brass-2)}
.recap dl{display:grid;grid-template-columns:auto 1fr}
.recap dt{padding:.7rem 1.15rem;font-family:"Martian Mono",monospace;font-weight:300;font-size:.545rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);border-top:1px solid var(--hair);
  white-space:nowrap}
.recap dd{padding:.7rem 1.15rem .7rem 0;border-top:1px solid var(--hair);color:var(--ink);
  font-size:.94rem;font-weight:400}
.recap div:first-child dt,.recap div:first-child dd{border-top:0}
.recap dl > div{display:contents}
@media(max-width:560px){
  .recap dl{grid-template-columns:1fr}
  .recap dt{padding-bottom:0;border-top:1px solid var(--hair)}
  .recap dd{padding:.15rem 1.15rem .75rem;border-top:0}
}

/* side rail */
.rail{display:grid;gap:clamp(1rem,2vw,1.35rem);position:sticky;top:96px}
@media(max-width:940px){.rail{position:static}}
.rail__card{border:1px solid var(--hair);border-radius:var(--rm);background:#FAF6EE;
  padding:clamp(1.1rem,2vw,1.5rem);box-shadow:var(--sh-s)}
.rail__card h3{font-family:var(--ff-disp);font-weight:600;font-size:1.12rem;letter-spacing:-.03em;
  color:var(--ink);margin-bottom:.9rem}
.steps{display:grid;gap:1rem;counter-reset:s}
.steps li{display:grid;grid-template-columns:auto 1fr;gap:.85rem;align-items:start}
.steps li::before{counter-increment:s;content:counter(s,decimal-leading-zero);
  font-family:"Martian Mono",monospace;font-weight:400;font-size:.55rem;color:var(--lacquer);
  padding-top:.32rem;letter-spacing:.06em}
.steps b{display:block;font-weight:500;color:var(--ink);font-size:.94rem;line-height:1.35}
.steps p{font-size:.875rem;font-weight:300;line-height:1.5;margin-top:.1rem}
.office{display:grid;gap:.15rem;padding:.9rem 0;border-top:1px solid var(--hair)}
.office:first-of-type{border-top:0;padding-top:0}
.office b{font-weight:500;color:var(--ink);font-size:.94rem}
.office a{color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--hair-2);
  transition:color .3s var(--ez),border-color .3s var(--ez)}
.office a:hover{color:var(--lacquer);border-color:var(--lacquer)}
.rail__img{border-radius:var(--rm);overflow:hidden;box-shadow:var(--sh-s)}
.rail__img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}

/* ═══════════════════════════════════════════════════════════════ pullout */
.pull{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.76fr);
  gap:clamp(1.6rem,4vw,4.4rem);align-items:center}
.pull__fig{border-radius:var(--rm);overflow:hidden;box-shadow:var(--sh-l);position:relative}
.pull__fig img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/6}
.pull blockquote{font-family:var(--ff-disp);font-weight:450;
  font-size:clamp(1.28rem,2.4vw,2rem);line-height:1.28;letter-spacing:-.036em;color:var(--ink)}
.pull blockquote em{color:var(--lacquer);font-weight:550}
.pull figcaption{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--hair-brass);
  font-family:"Martian Mono",monospace;font-weight:300;font-size:.58rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-dim);line-height:1.8}
.pull figcaption b{color:var(--ink);font-weight:400}
@media(max-width:860px){.pull{grid-template-columns:1fr}.pull__fig{order:-1}
  .pull__fig img{aspect-ratio:3/2}}

/* people row */
.people{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:clamp(1rem,2.2vw,1.8rem)}
.person{display:grid;gap:.3rem;padding-top:1.1rem;border-top:1px solid var(--hair-brass)}
.person b{font-family:var(--ff-disp);font-weight:600;font-size:1.08rem;letter-spacing:-.028em;
  color:var(--ink)}
.person span{font-family:"Martian Mono",monospace;font-weight:300;font-size:.55rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--lacquer)}
.person p{font-size:.895rem;font-weight:300;line-height:1.55;margin-top:.35rem}
.on-dark .person{border-color:var(--hair-d2)}
.on-dark .person b{color:var(--bone)}
.on-dark .person span{color:var(--lacquer-3)}

/* faq-ish note list */
.notes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(1rem,2.2vw,1.8rem)}
.note{display:grid;gap:.5rem}
.note h3{font-family:var(--ff-disp);font-weight:600;font-size:1.12rem;letter-spacing:-.03em;
  color:var(--ink);line-height:1.22}
.on-dark .note h3{color:var(--bone)}
.note p{font-size:.92rem;font-weight:300}
.note .eyebrow{color:var(--lacquer)}
.on-dark .note .eyebrow{color:var(--lacquer-3)}

/* CTA */
.cta{text-align:left;max-width:60ch}
.cta__row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:clamp(1.6rem,3vw,2.3rem)}

/* ═════════════════════════════════════════════════════════════════ footer */
.ft{background:var(--ink);color:var(--bone-fog);padding-block:clamp(3rem,6vw,5rem) 0;
  position:relative;overflow:hidden}
.ft::before{content:"";position:absolute;inset:0;
  background:radial-gradient(90% 70% at 78% 0%,rgba(30,74,62,.5),transparent 62%)}
.ft .wrap{position:relative;z-index:1}
.ft__top{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,.8fr));
  gap:clamp(1.8rem,3.5vw,3rem);padding-bottom:clamp(2.4rem,4.5vw,3.6rem)}
.ft__brand{display:grid;gap:1.05rem;align-content:start;max-width:40ch}
.ft__brand .brand{margin-bottom:.2rem}
.ft__brand .d4{color:var(--bone)}
.ft__brand p{font-size:.895rem;font-weight:300}
.ft h4{font-family:"Martian Mono",monospace;font-weight:400;font-size:.56rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--brass-2);margin-bottom:1.05rem}
.ft ul{display:grid;gap:.6rem}
.ft ul a,.ft address a{text-decoration:none;font-size:.92rem;color:var(--bone-fog);
  transition:color .3s var(--ez)}
.ft ul a:hover,.ft address a:hover{color:var(--bone)}
.ft address{font-style:normal;font-size:.92rem;font-weight:300;line-height:1.75}
.ft__bot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 1.5rem;
  padding-block:1.4rem;border-top:1px solid var(--hair-d);
  font-family:"Martian Mono",monospace;font-weight:300;font-size:.555rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--bone-dim)}
.ft__legal{display:flex;flex-wrap:wrap;gap:1.2rem}
.ft__legal a{text-decoration:none;transition:color .3s var(--ez)}
.ft__legal a:hover{color:var(--bone)}
.ft__word{font-family:var(--ff-disp);font-weight:500;font-size:clamp(3.3rem,13.6vw,11.8rem);line-height:.8;
  letter-spacing:-.06em;color:rgba(243,238,227,.055);text-align:center;
  padding-bottom:clamp(.4rem,1vw,1rem);user-select:none;pointer-events:none;position:relative;z-index:1}
@media(max-width:900px){
  .ft__top{grid-template-columns:1fr 1fr}
  .ft__brand{grid-column:1/-1}
}
@media(max-width:520px){.ft__top{grid-template-columns:1fr;gap:2rem}}

/* ══════════════════════════════════════════════════════════════════ badge */
.sf-badge{position:fixed;right:16px;bottom:16px;z-index:9999;display:inline-flex;align-items:center;
  gap:.5rem;padding:.6rem .95rem;border-radius:999px;font-size:.78rem;letter-spacing:.01em;
  text-decoration:none;line-height:1;backdrop-filter:blur(12px);
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s;
  background:rgba(11,30,26,.84);color:var(--bone);border:1px solid var(--hair-brass);
  box-shadow:0 2px 6px rgba(4,12,10,.2),0 12px 30px -10px rgba(4,12,10,.5)}
.sf-badge:hover{transform:translateY(-2px);box-shadow:0 3px 8px rgba(4,12,10,.24),0 18px 40px -12px rgba(4,12,10,.6)}
.sf-badge strong{font-weight:600;color:#fff}
.sf-badge__dot{width:6px;height:6px;border-radius:50%;flex:none;background:var(--lacquer-3);
  box-shadow:0 0 0 0 rgba(224,124,84,.6);animation:sfPulse 2.6s var(--ez) infinite}
@keyframes sfPulse{
  0%{box-shadow:0 0 0 0 rgba(224,124,84,.55)}
  70%{box-shadow:0 0 0 7px rgba(224,124,84,0)}
  100%{box-shadow:0 0 0 0 rgba(224,124,84,0)}
}
@media(max-width:600px){.sf-badge{right:12px;bottom:12px;padding:.5rem .8rem;font-size:.72rem}}

/* ═════════════════════════════════════════════════════════════════ motion */
[data-anim]{opacity:0;transform:translateY(20px);
  animation:riseIn .95s var(--ez) forwards;animation-delay:calc(var(--d,0) * 1ms)}
.hero__ln > span{opacity:0;transform:translateY(104%);
  animation:lineIn 1.05s var(--ez) forwards;animation-delay:calc(var(--d,0) * 1ms)}
@keyframes riseIn{to{opacity:1;transform:none}}
@keyframes lineIn{to{opacity:1;transform:none}}
[data-reveal]{opacity:0;transform:translateY(26px);
  transition:opacity .85s var(--ez) calc(var(--d,0) * 1ms),transform .85s var(--ez) calc(var(--d,0) * 1ms)}
[data-reveal].in{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important}
  [data-anim],[data-reveal],.hero__ln > span{opacity:1 !important;transform:none !important}
  .mq__row{animation:none;transform:none}
  .mq{overflow-x:auto}
  .hero__img{transform:none}
}

/* utility */
.only-lg{display:none}
@media(min-width:1000px){.only-lg{display:inline}}
.only-md{display:none}
@media(min-width:680px){.only-md{display:inline}}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(max-width:520px){:root{--gut:36px}
  .d2{font-size:clamp(1.55rem,7vw,2.1rem);letter-spacing:-.035em}
  .nav{padding:.5rem .6rem .5rem 1.1rem;margin-inline:4px}
  .sect{scroll-margin-top:72px}
}
