:root{
  --bg:#ff7a1f; --tile:#ff8f45; --ink:#050f16; --muted:#5a2306; --paper:#fff; --accent:#050f16; --accent-ink:#ff7a1f;
  --display:"Libre Franklin",system-ui,sans-serif; --text:"Source Serif 4",Georgia,serif;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-io:cubic-bezier(.77,0,.175,1);
  --gutter:clamp(16px,4vw,48px);
  --s-small:clamp(.8125rem,.79rem + .1vw,.875rem);
  --s-body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --s-lead:clamp(1.25rem,1.1rem + .7vw,1.625rem);
  --s-head:clamp(2rem,1.3rem + 3.2vw,4rem);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--bg);color:var(--ink);font:400 var(--s-body)/1.55 var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{width:min(1344px,100% - 2*var(--gutter));margin-inline:auto}
.section{padding-block:clamp(88px,11vw,168px)}
.section.tight{padding-top:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:.98}
h2{font-size:var(--s-head);max-width:20ch;text-wrap:balance}
h3{font-size:1.25rem;letter-spacing:-.02em;line-height:1.15}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.field-ink :focus-visible,.hero-copy ~ *:focus-visible{outline-color:#fff}

/* fields: hard seams, no fades */
.field-paper{background:var(--paper)}
.field-ink{background:var(--ink);color:#fff}
.field-ink :focus-visible{outline-color:var(--bg)}

/* buttons: one shape (pill), flat */
.btn,.submit{display:inline-block;background:var(--accent);color:var(--accent-ink);font:700 1.0625rem/1 var(--display);padding:18px 30px;border:0;border-radius:999px;text-decoration:none;cursor:pointer;
  transition:transform 160ms var(--ease-out),background-color 160ms ease}
.btn:active,.submit:active{transform:scale(.97)}
.btn-sm{padding:12px 20px;font-size:.9375rem}
.field-ink .btn{background:var(--bg);color:var(--ink)}
@media(hover:hover) and (pointer:fine){.btn:hover{background:#12293a}.field-ink .btn:hover{background:#ff8f45}}

/* nav */
.nav{position:absolute;inset:0 0 auto;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:20px var(--gutter)}
.brand{display:flex;align-items:center;gap:12px;font:800 1.75rem/1 var(--display);letter-spacing:-.03em;text-decoration:none}
.brand img{border-radius:50%}
.nav nav{display:flex;align-items:center;gap:32px;font:500 1rem var(--display)}
.nav nav a:not(.btn){text-decoration:none}
@media(hover:hover) and (pointer:fine){.nav nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:6px}}

/* hero: the ring */
.hero{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center}
.hero-copy{position:relative;z-index:2;padding:120px 0 80px var(--gutter);width:min(640px,54vw)}
.hero h1{font-size:clamp(44px,min(5.6vw,9.5svh),92px);line-height:.94;letter-spacing:-.04em;font-weight:800}
.lead{font-size:var(--s-lead);line-height:1.35;margin:28px 0 36px;max-width:30ch}
.ring{position:absolute;z-index:1;width:104svh;height:104svh;left:calc(84vw - 52svh);top:calc(55svh - 52svh);border-radius:50%;overflow:hidden;background:var(--ink)}
.ring img{width:100%;height:100%;object-fit:cover}
.js .ring{clip-path:inset(0 0 100% 0);transition:clip-path 1100ms var(--ease-io)}
.js .ring img{transform:scale(1.12);transition:transform 1100ms var(--ease-io)}
.js.ready .ring{clip-path:inset(0)}
.js.ready .ring img{transform:none}
.js .hero-copy>*{opacity:0;transform:translateY(20px);transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out)}
.js.ready .hero-copy>*{opacity:1;transform:none}
.js.ready .hero-copy>:nth-child(2){transition-delay:80ms}
.js.ready .hero-copy>:nth-child(3){transition-delay:160ms}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:72px 48px;margin-top:80px}
.stats dt{font:800 clamp(56px,8.4vw,128px)/.9 var(--display);letter-spacing:-.05em;font-variant-numeric:tabular-nums;color:var(--ink)}
.stats dd{margin-top:14px;max-width:24ch;font-size:1.0625rem}

/* statement */
.statement{font:500 clamp(24px,2.7vw,36px)/1.22 var(--display);letter-spacing:-.02em;max-width:34em}
.slot{display:inline-block;vertical-align:-.12em;width:1.9em;height:1em;border-radius:999px;overflow:hidden;margin-inline:.05em}
.slot img{width:100%;height:100%;object-fit:cover}

/* disciplines */
.disc{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:64px 56px;margin-top:72px}
.disc li{display:flex;gap:24px;align-items:flex-start}
.disc img{flex:none;height:auto;width:clamp(96px,9vw,128px);aspect-ratio:1;object-fit:cover;border-radius:50%}
.disc h3{margin:6px 0 10px;font-size:1.5rem}
.disc p{max-width:38ch}

/* gauge */
.gauge-wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.gauge-note{margin-top:28px;font-size:var(--s-lead);line-height:1.35;max-width:30ch;color:#dfe7ec}
.gauge{background:#0b1a23;padding:20px}
.gauge svg{width:100%;height:auto;display:block;font-family:var(--display)}
.gauge label{display:flex;justify-content:space-between;margin:20px 0 6px;font:700 1rem var(--display)}
.gauge output{font-variant-numeric:tabular-nums;color:var(--bg)}
.gauge input{width:100%;accent-color:var(--bg);height:32px}
#verdict{font:500 1.0625rem/1.4 var(--display);min-height:3em;margin-top:8px}
#verdict.hit{color:var(--bg)}

/* accordion */
.acc{display:flex;height:520px;margin-top:64px}
.panel{position:relative;flex:1 1 0;min-width:72px;background:var(--p);color:#fff;overflow:hidden;transition:flex-grow 450ms var(--ease-io)}
.panel[data-open]{flex-grow:9}
.tab{position:absolute;inset:0;width:100%;height:100%;background:none;border:0;color:inherit;cursor:pointer;font:700 1.25rem/1 var(--display);text-align:left;padding:0}
.tab{writing-mode:vertical-rl;transform:rotate(180deg);display:flex;align-items:flex-start;justify-content:flex-start;padding:28px 0 0 24px;white-space:nowrap;transition:opacity 200ms ease}
.panel[data-open] .tab{opacity:0;pointer-events:none}
.body{visibility:hidden;position:absolute;inset:0;min-width:min(860px,58vw);padding:32px 36px;display:grid;grid-template-columns:1fr minmax(0,.9fr);grid-template-rows:auto 1fr;column-gap:32px;opacity:0;pointer-events:none;transition:opacity 150ms ease}
.panel[data-open] .body{visibility:visible;opacity:1;pointer-events:auto;transition:opacity 300ms var(--ease-out) 180ms}
.body h3{font-size:clamp(1.5rem,2.2vw,2rem);grid-column:1;letter-spacing:-.03em}
.body p{grid-column:1;align-self:end;max-width:36ch;font-size:1.125rem}
.body img{grid-column:2;grid-row:1/3;width:100%;height:100%;object-fit:cover;border-radius:999px 999px 0 0}

/* standards */
.quote{font-size:clamp(24px,2.7vw,36px);max-width:34em}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:120px}
.cols h2{margin-bottom:48px;max-width:16ch}
.cols h3{margin:40px 0 10px}
.cols h2+h3{margin-top:0}
.cols p{max-width:44ch}
.dots{list-style:none;padding:0}
.dots li{position:relative;padding-left:26px;margin:6px 0}
.dots li::before{content:"";position:absolute;left:0;top:.5em;width:.7em;height:.7em;border-radius:50%;background:var(--bg)}
.dots.two{columns:2;column-gap:32px}
.dots.two li{break-inside:avoid}

/* proof tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.tile{background:var(--tile);aspect-ratio:3/2;padding:24px;display:flex;flex-direction:column;justify-content:space-between}
.tile h3{font-size:1.75rem;line-height:1.05}
.tile p{font-size:var(--s-small);line-height:1.4;max-width:28ch}
.tile-head{grid-column:span 2;background:var(--accent);color:var(--accent-ink);aspect-ratio:auto}
.tile-head h2{font-size:clamp(2rem,3.2vw,3rem);max-width:14ch}
.ustamp{margin-top:clamp(88px,10vw,160px);background:var(--paper);padding:clamp(24px,5vw,72px)}
.ustamp h2{font-size:clamp(2rem,3.2vw,3rem);max-width:22ch;margin-bottom:40px}
table{width:100%;border-collapse:collapse;font:500 1.0625rem var(--display);font-variant-numeric:tabular-nums}
th,td{text-align:left;padding:14px 0;border-bottom:1px solid #d9dee2}
thead th{font-size:var(--s-small);color:#44525b;border-bottom:2px solid var(--ink)}
tbody th{font-weight:700}
.note{margin-top:20px;font-size:var(--s-small);max-width:70ch}

/* contact coupon */
.coupon{position:relative;display:grid;grid-template-columns:46fr 54fr;background:var(--paper);min-height:440px}
.notch{position:absolute;left:46%;width:28px;height:28px;border-radius:50%;background:var(--bg);transform:translateX(-50%)}
.notch.top{top:-14px}.notch.bot{bottom:-14px}
.coupon-l{padding:48px;border-right:5px dotted var(--bg);display:flex;flex-direction:column;gap:20px}
.coupon h2{font-size:clamp(2rem,3.4vw,3.25rem);max-width:12ch}
.addr{margin-top:auto;font-size:1rem;line-height:1.6}
.addr a{text-underline-offset:3px}
form{padding:48px;display:grid;gap:10px;align-content:center}
input,textarea{width:100%;background:#eceff1;border:2px solid transparent;border-radius:0;padding:15px 16px;font:400 1rem var(--text);color:var(--ink);transition:border-color 160ms ease}
input:focus,textarea:focus{outline:none;border-color:var(--ink)}
textarea{resize:vertical}
.submit{width:100%;border-radius:0;padding:20px;font-size:1.0625rem}

/* footer */
.foot{padding-top:clamp(72px,9vw,128px)}
.foot-mark{display:flex;align-items:flex-end;gap:clamp(16px,3vw,40px)}
.foot-mark svg{flex:none;width:clamp(96px,18vw,260px);height:auto}
.foot-mark span{font:800 clamp(56px,15vw,220px)/.8 var(--display);letter-spacing:-.05em}
.foot-grid{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:40px;margin-top:64px;font-size:.9375rem}
.foot-grid ul{list-style:none;padding:0;display:grid;gap:8px}
.foot-grid a{text-decoration:none}
@media(hover:hover) and (pointer:fine){.foot-grid a:hover{text-decoration:underline}}
.foot-last{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:48px 0;font-size:var(--s-small);color:#b9c6ce}

/* reveal */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out);transition-delay:calc(var(--i,0)*70ms)}
.js .reveal.in{opacity:1;transform:none}

@media(max-width:900px){
  .nav nav a:not(.btn){display:none}
  .hero{align-items:flex-start}
  .hero-copy{width:auto;padding:100px var(--gutter) 0;margin-bottom:0}
  .hero h1{font-size:11.5vw}
  .lead{font-size:1.0625rem;margin:18px 0 24px}
  .ring{width:130vw;height:130vw;left:-15vw;top:max(62svh,360px)}
  .hero{min-height:max(100svh,760px)}
  .stats,.disc,.cols,.gauge-wrap{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:48px 24px}
  .statement{font-size:24px}
  
  .acc{flex-direction:column;height:auto}
  .panel{flex:none;min-width:0}
  .panel:not([data-open]){height:64px}
  .tab{writing-mode:horizontal-tb;transform:none;align-items:center;padding:0 20px;font-size:1.0625rem}
  .disc li{align-items:center}
  .body{visibility:visible;position:static;min-width:0;grid-template-columns:1fr;padding:0 20px 24px;display:none;opacity:1}
  .panel[data-open] .body{display:grid}
  .panel[data-open] .tab{opacity:1;pointer-events:auto}
  .body h3{display:none}
  .body p{grid-column:1;margin-bottom:16px}
  .body img{grid-column:1;grid-row:auto;height:200px;border-radius:999px}
  .tiles{grid-template-columns:1fr 1fr;gap:6px}
  .tile-head{grid-column:1/-1;min-height:120px}
  .tile{aspect-ratio:auto;min-height:150px;padding:16px}
  .tile h3{font-size:1.25rem}
  .coupon{grid-template-columns:1fr}
  .coupon-l{border-right:0;border-bottom:5px dotted var(--bg);padding:32px 24px}
  .notch{display:none}
  form{padding:24px}
  .foot-grid{grid-template-columns:1fr 1fr}
  th,td{font-size:.9375rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .reveal,.js .hero-copy>*{transform:none;transition:opacity 200ms ease}
  .js .ring{clip-path:none;transition:none}
  .js .ring img{transform:none;transition:none}
  .panel,.panel[data-open] .body{transition:none}
}

.skip{position:absolute;left:12px;top:-60px;z-index:20;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font:700 1rem var(--display);transition:top 160ms var(--ease-out)}
.skip:focus{top:12px}
.fine{font-size:var(--s-small);line-height:1.4;color:#44525b}
.fine a{text-underline-offset:3px}
.doc{max-width:760px;padding-top:140px}
.doc h1{font-size:var(--s-head);margin-bottom:40px}
.doc h2{font-size:1.75rem;max-width:none;margin:48px 0 12px;letter-spacing:-.02em}
.doc p,.doc li{margin-bottom:12px}
.doc ul{padding-left:1.2em}
.doc .lang{margin-top:96px}
.paper-page{background:var(--paper)}
.paper-page .nav{position:static}
