@font-face{
  font-family:"Source Serif 4";
  src:url("/assets/fonts/source-serif-4-var.woff2") format("woff2-variations");
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:"Hanken Grotesk";
  src:url("/assets/fonts/hanken-grotesk-var.woff2") format("woff2-variations");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --navy:#000835;
  --navy-deep:#00041c;
  --navy-soft:#0d1850;
  --line-dark:#27336b;
  --silver:#c3c8d8;
  --white:#ffffff;
  --paper:#ffffff;
  --paper-2:#f4f5f9;
  --ink:#10142b;
  --ink-2:#3c4260;
  --line-light:#d9dce6;

  --edge:clamp(1rem,0.4rem + 2.6vw,4.5rem);
  --wrap:min(100% - 2*var(--edge),82rem);
  --band-y:clamp(4.5rem,3rem + 5vw,8rem);
  --head-h:96px;

  --serif:"Source Serif 4",ui-serif,Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --t-h1:clamp(2.1rem,1.4rem + 2.9vw,3.6rem);
  --t-h2:clamp(1.75rem,1.3rem + 1.8vw,2.8rem);
  --t-h3:clamp(1.3rem,1.15rem + 0.5vw,1.6rem);
  --t-body:clamp(0.98rem,0.95rem + 0.12vw,1.05rem);
  --t-small:0.875rem;

  --ease:cubic-bezier(0.16,1,0.30,1);
  --dur:700ms;
  --stagger:75ms;
}

*{box-sizing:border-box;margin:0}
[hidden]{display:none !important}
html{scroll-behavior:smooth;scroll-padding-top:var(--head-h)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  min-height:100svh;
  background:var(--navy);
  color:var(--silver);
  font-family:var(--sans);
  font-size:var(--t-body);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid #8f9bd6;outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

h1,h2,h3{
  font-family:var(--serif);
  font-weight:400;
  line-height:1.15;
  letter-spacing:-0.012em;
  text-wrap:balance;
  font-variation-settings:"opsz" 48;
}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{font-size:var(--t-h3);font-variation-settings:"opsz" 28;line-height:1.22}
p{text-wrap:pretty}

.rise{opacity:0;transform:translateY(16px);
  transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.rise.is-in{opacity:1;transform:none}
.hero-in{opacity:0;transform:translateY(18px);animation:heroRise 1000ms var(--ease) forwards}
.hero-in + .hero-in{animation-delay:calc(var(--stagger) * 3)}
@keyframes heroRise{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .hero-in{opacity:1;transform:none;animation:none;animation-delay:0s}
  .rise,.rise.is-in{opacity:1;transform:none;transition:none;transition-delay:0s}
  .rule{transform:none;transition:none}
}

.rule{height:1px;width:min(100%,7rem);margin-inline:auto;background:var(--line-dark)}
.holds-arrivals{overflow-x:clip}

.site-head{
  position:fixed;inset-block-start:0;inset-inline:0;z-index:40;
  height:calc(var(--head-h) + env(safe-area-inset-top));

  padding:env(safe-area-inset-top) max(var(--edge),(100% - 82rem) / 2) 0;
  display:flex;align-items:center;justify-content:space-between;gap:var(--s, 24px);
  background:var(--navy);
  transition:background 360ms var(--ease),box-shadow 360ms var(--ease),height 360ms var(--ease);
}
.has-hero .site-head:not(.is-solid){background:transparent}
.site-head.is-solid{box-shadow:0 1px 0 var(--line-dark)}
.brand{display:block;line-height:0;flex:none}
.brand img{width:clamp(132px,10vw + 60px,188px);height:auto}
.nav{display:flex;align-items:center;gap:clamp(1.25rem,2.4vw,2.25rem)}
.nav a{
  font-family:var(--sans);font-size:0.82rem;font-weight:500;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--white);text-decoration:none;
  min-height:48px;display:inline-flex;align-items:center;
  background:linear-gradient(currentColor,currentColor) 0 calc(50% + 0.9em)/0 1px no-repeat;
  transition:background-size 320ms var(--ease);
}
.nav a:hover,.nav a[aria-current="page"]{background-size:100% 1px}
.menu-btn{display:none}

@media (max-width:63.99rem){
  :root{--head-h:76px}
  .menu-btn{
    display:inline-grid;place-items:center;width:48px;height:48px;margin-right:-10px;
    background:none;border:0;color:var(--white);cursor:pointer;position:relative;z-index:2;
  }
  .bars{display:grid;gap:6px;width:26px}
  .bars i{display:block;height:1.5px;background:currentColor;transition:transform 300ms var(--ease),opacity 200ms}
  .menu-open .bars i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .menu-open .bars i:nth-child(2){opacity:0}
  .menu-open .bars i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .nav{
    position:fixed;inset:0;z-index:1;
    flex-direction:column;justify-content:center;gap:0.5rem;
    background:var(--navy);
    padding:calc(var(--head-h) + env(safe-area-inset-top)) var(--edge) calc(2rem + env(safe-area-inset-bottom));
    opacity:0;visibility:hidden;transition:opacity 300ms var(--ease),visibility 0s linear 300ms;
  }
  .menu-open .nav{opacity:1;visibility:visible;transition:opacity 300ms var(--ease),visibility 0s}
  .nav a{font-family:var(--serif);font-size:1.6rem;letter-spacing:0;text-transform:none;font-weight:400}
  .menu-open{background:var(--navy) !important}
  .brand{position:relative;z-index:2}
}
body.menu-locked{overflow:hidden}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.7rem;text-align:center;
  min-height:52px;padding:0.8rem 1.4rem;
  font-family:var(--sans);font-size:1rem;font-weight:550;letter-spacing:0;
  text-decoration:none;border:1px solid transparent;border-radius:0;cursor:pointer;
  transition:background 260ms var(--ease),color 260ms var(--ease),border-color 260ms var(--ease);
}
.btn .arr{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:1.4;
  transition:transform 260ms var(--ease)}
.btn:hover .arr{transform:translate(2px,-2px)}
.btn.light{background:var(--white);color:var(--navy)}
.btn.light:hover{background:var(--paper-2)}
.btn.solid{background:var(--navy);color:var(--white)}
.btn.solid:hover{background:var(--navy-soft)}
.btn.outline{background:transparent;color:var(--white);border-color:var(--white)}
.btn.outline:hover{background:rgba(255,255,255,0.12)}
.btn.ghost{background:transparent;color:var(--white);border-color:var(--line-dark)}
.btn[disabled]{opacity:0.62;cursor:progress}

.hero{
  position:relative;isolation:isolate;overflow:clip;
  min-height:min(100svh,980px);
  display:flex;align-items:flex-end;
  padding:calc(var(--head-h) + 3rem) 0 clamp(4rem,3rem + 5vw,7.5rem);
}
.hero.short{min-height:min(62svh,560px)}
.hero-media{position:absolute;inset:0;z-index:-2}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.hero::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(0,4,28,0.58) 0%,rgba(0,4,28,0.06) 24%,rgba(0,4,28,0.12) 52%,rgba(0,4,28,0.70) 100%);
}

.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--sky,var(--navy));opacity:0.16;pointer-events:none}
.hero-inner{width:var(--wrap);margin-inline:auto;display:grid;gap:1.75rem;justify-items:start}
.hero h1{color:var(--white);max-width:24ch;text-shadow:0 2px 28px rgba(0,4,28,0.45)}
.hero.short .hero-media img{object-position:50% 55%}

.band{padding-block:var(--band-y)}
.band.navy{background:var(--navy);color:var(--silver)}
.band.navy h2,.band.navy h3{color:var(--white)}
.band.white{background:var(--paper);color:var(--ink-2)}
.band.white h2,.band.white h3{color:var(--ink)}
.wrap{width:var(--wrap);margin-inline:auto}
.fine{font-size:var(--t-small);line-height:1.6}
.band.navy .fine{color:#a3a9c0}
.band.white .fine{color:#585e78}

.two{display:grid;gap:2rem}
.copy,.copy-head{display:grid;gap:1.25rem;align-content:start}
@media (min-width:64rem){
  .two{grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:start}
  .two > h2{max-width:20ch}
  .copy p{max-width:62ch}
}

.band.facts{padding-block:clamp(3.5rem,2.5rem + 3.5vw,5.5rem)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem 1.5rem}
.stat dt{font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem);color:var(--ink);
  line-height:1.1;font-variation-settings:"opsz" 40;font-variant-numeric:lining-nums}
.stat dd{margin-top:0.6rem;font-family:var(--serif);font-size:0.95rem;color:var(--ink-2);line-height:1.4}
@media (min-width:64rem){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}

.intro{display:grid;gap:1.25rem;justify-items:center;text-align:center;margin-bottom:clamp(2.75rem,2rem + 2.5vw,4rem)}
.intro p{max-width:62ch}
.cards{display:grid;gap:3rem 2rem}
@media (min-width:40rem){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:72rem){.cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{display:grid;gap:1rem;align-content:start}
.card-img{aspect-ratio:16/10;overflow:clip;background:var(--navy-soft)}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease)}
.card:hover .card-img img{transform:scale(1.04)}
.card h3{margin-top:0.5rem}
.cards + .fine{margin-top:clamp(2.5rem,2rem + 2vw,3.5rem);max-width:70ch}
.card:nth-child(2){transition-delay:var(--stagger)}
.card:nth-child(3){transition-delay:calc(var(--stagger) * 2)}
.card:nth-child(4){transition-delay:calc(var(--stagger) * 3)}

.head-row{display:grid;gap:2rem;margin-bottom:clamp(3rem,2rem + 3vw,4.5rem)}
.head-row > div{display:grid;gap:1.25rem}
.head-row p{max-width:60ch}
@media (min-width:64rem){
  .head-row{grid-template-columns:1fr auto;align-items:end;gap:4rem}
}
.steps{list-style:none;padding:0;display:grid;gap:2.5rem 2rem}
@media (min-width:40rem){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:72rem){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}
.step{border-top:1px solid var(--ink);padding-top:1.5rem;display:grid;gap:0.9rem;align-content:start}

.qs{list-style:none;padding:0;border-top:1px solid var(--line-dark)}
.qs li{
  border-bottom:1px solid var(--line-dark);padding-block:1.4rem;
  font-family:var(--serif);font-size:clamp(1.15rem,1rem + 0.6vw,1.45rem);line-height:1.4;color:var(--white);
  font-variation-settings:"opsz" 28;
}

.narrow-c{display:grid;gap:1.25rem;justify-items:center;text-align:center;max-width:56rem}
.narrow-c p{max-width:66ch}

.team{display:grid;gap:2.5rem;align-items:center}
.portrait{width:min(100%,380px);aspect-ratio:3/4;overflow:clip;background:#1b1d24}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.people{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,max-content));column-gap:3rem;margin-block:0.25rem 0.5rem}
.people p{display:grid;gap:0.15rem}
.people strong{font-family:var(--serif);font-weight:400;font-size:1.3rem;color:var(--white);line-height:1.25}
.people span{font-size:var(--t-small);color:#a3a9c0}
@media (min-width:64rem){
  .team{grid-template-columns:380px 1fr;gap:clamp(3rem,7vw,7rem)}
  .team .copy p{max-width:58ch}
}

.close-inner{display:grid;gap:1.5rem;justify-items:center;text-align:center}
.close-inner p{max-width:60ch}
.acts{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:0.75rem}
.btn.line-dark{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn.line-dark:hover{background:var(--paper-2)}

.contact{display:grid;gap:3.5rem}
.contact-side{display:grid;gap:1.5rem;align-content:start}
@media (min-width:64rem){
  .contact{grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:clamp(3.5rem,7vw,7rem)}
  .contact-side{position:sticky;top:calc(var(--head-h) + 2rem)}
}
.lines{display:grid;border-top:1px solid var(--line-light);margin-top:0.5rem}
.line{border-bottom:1px solid var(--line-light);padding-block:1.1rem;display:grid;gap:0.2rem}
.line dt{font-size:var(--t-small);color:#585e78}
.line dd{font-family:var(--serif);font-size:1.25rem;color:var(--ink);overflow-wrap:anywhere}
.line dd a{text-decoration:none;background:linear-gradient(var(--ink),var(--ink)) 0 100%/0 1px no-repeat;
  transition:background-size 300ms var(--ease)}
.line dd a:hover{background-size:100% 1px}

.form-wrap{width:100%}
form.brief{display:grid;gap:1.5rem 1.5rem}
@media (min-width:40rem){form.brief{grid-template-columns:1fr 1fr}.wide{grid-column:1 / -1}}
.field{display:grid;gap:0.45rem;align-content:start}
.field label{font-size:var(--t-small);font-weight:500;color:var(--ink)}
.field input,.field textarea,.field select{
  width:100%;min-height:52px;padding:0.8rem 0.95rem;
  border:1px solid #b9bdcc;border-radius:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:1rem;line-height:1.5;
  transition:border-color 220ms var(--ease),box-shadow 220ms var(--ease);
}
.field textarea{resize:vertical;min-height:150px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
.field select{
  appearance:none;padding-right:2.75rem;cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);
  background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}
.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:#a3262a;box-shadow:inset 0 0 0 1px #a3262a}
.field .err{font-size:var(--t-small);color:#a3262a}
.field .err:empty{display:none}
.cf-turnstile{width:0;height:0;overflow:hidden}
.form-foot{display:grid;gap:0.9rem;justify-items:start}
.form-note{font-size:var(--t-small);color:var(--ink-2)}
.form-note:empty{display:none}
.form-note.bad{color:#a3262a}
.consent{font-size:var(--t-small);color:#585e78;max-width:52ch}
.form-fallback{margin-top:1.5rem;padding:1.25rem;background:var(--paper-2);border-left:2px solid var(--navy);
  color:var(--ink-2);font-size:0.95rem}
.form-fallback a{color:var(--ink);font-weight:600}
.sent{display:grid;gap:1rem;padding:2.5rem;background:var(--navy);color:var(--silver)}
.sent h3{color:var(--white)}

.site-foot{background:var(--navy-deep);color:#a3a9c0;padding:clamp(3.5rem,3rem + 3vw,5.5rem) 0 calc(2.5rem + env(safe-area-inset-bottom))}
.foot-grid{width:var(--wrap);margin-inline:auto;display:grid;gap:2.75rem;justify-items:center;text-align:center}
@media (min-width:52rem){.foot-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
.foot-col{display:grid;gap:0.35rem;justify-items:center;text-align:center;align-content:start}
.foot-logo{width:170px;height:auto;margin-bottom:0.75rem}
.foot-col h2{font-size:1.15rem;color:var(--white);margin-bottom:0.4rem}
.foot-col a{color:#c3c8d8;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;
  transition:color 220ms var(--ease)}
.foot-col a:hover{color:var(--white)}
.foot-col p{font-size:0.95rem;line-height:1.6}
.foot-base{width:var(--wrap);margin:clamp(2.75rem,2rem + 3vw,4rem) auto 0;padding-top:2rem;
  border-top:1px solid var(--line-dark);display:grid;gap:0.9rem;justify-items:center;text-align:center;font-size:var(--t-small)}
.foot-base a{color:#c3c8d8;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-dark)}
.foot-base a:hover{color:var(--white)}
.disclaimer{max-width:86ch;font-size:0.8rem;line-height:1.7}

.skip{
  position:absolute;left:50%;translate:-50% -140%;z-index:60;min-height:48px;display:inline-flex;align-items:center;
  background:var(--white);color:var(--navy);padding:12px 20px;font-weight:600;text-decoration:none;
  transition:translate 220ms var(--ease);
}
.skip:focus-visible{translate:-50% 0}

.mid{width:min(100% - 2*var(--edge),52rem);margin-inline:auto}
.center{display:grid;justify-items:center;gap:1.5rem;text-align:center}
.lead{font-size:1.15rem;color:#dfe2ec;max-width:56ch}
main > section:only-child{padding-block:calc(var(--head-h) + 5rem) 6rem}

@media (max-width:39.99rem){
  .hero{align-items:flex-end}
  .hero-inner{justify-items:center;text-align:center}
  .hero h1{margin-inline:auto}
  .two,.copy,.copy-head,.head-row,.head-row > div,.card,.step,.team,.contact-side,.foot-grid{justify-items:center;text-align:center}
  .qs li{text-align:center}
  .stats{grid-template-columns:1fr 1fr;text-align:center}
  .team .portrait{margin-inline:auto}
  .people{justify-content:center;text-align:center}
  .cards + .fine{margin-inline:auto;text-align:center}
  .line{text-align:center}
  .form-foot{justify-items:center;text-align:center}
  .consent{margin-inline:auto}
  .steps .step{justify-items:center}
}
@media (min-width:40rem) and (max-width:63.99rem){
  .team .portrait{margin-inline:auto}
  .team,.team .copy{justify-items:center;text-align:center}
  .people{justify-content:center}
}

.hero.short::after{
  background:linear-gradient(180deg,rgba(0,4,28,0.80) 0%,rgba(0,4,28,0.30) 30%,rgba(0,4,28,0.25) 55%,rgba(0,4,28,0.72) 100%);
}
@media (max-width:39.99rem){
  .contact-side .lines{justify-self:stretch;width:100%}
  .line dd{font-size:1.1rem}
  .field{justify-items:center;text-align:center}
  .field input,.field textarea,.field select{text-align:center}
  .field select{text-align-last:center}
}
.solid-head main{padding-top:calc(var(--head-h) + env(safe-area-inset-top))}
.prose{max-width:46rem;display:grid;gap:1.1rem}
.prose h1{color:var(--ink);margin-bottom:0.25rem}
.prose h2{font-size:clamp(1.3rem,1.15rem + 0.6vw,1.65rem);margin-top:1.5rem}
.prose a{color:var(--ink);text-underline-offset:3px}
@media (max-width:39.99rem){
  .people{grid-template-columns:1fr;justify-items:center}
  .prose{justify-items:center;text-align:center;margin-inline:auto}
}
.notfound{min-height:calc(100svh - var(--head-h) - 12rem);display:grid;align-content:center}
.site-foot .foot-base:first-child{margin-top:0;border-top:0;padding-top:0}
.legal{padding-top:clamp(2.5rem,2rem + 3vw,4.5rem)}
.band.white h1{color:var(--ink)}
