@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url(fonts/fraunces-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibmplexmono-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+20A0-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibmplexmono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* one warm cream page; the story opens on pine and flips to cream once, for good */
:root{--bg:#f2ece0;--bg2:#e8e0cf;--card:#f8f4ec;--ink:#1b382f;--mut:rgba(27,56,47,.7);--dim:rgba(27,56,47,.45);--line:rgba(27,56,47,.15);--acc:#2d6a55;
  --pine:#163128;--cream:#efe8da;--sage:#b9d0bd;
  --f:'Fraunces',Georgia,serif;--m:'Plex Mono',ui-monospace,Menlo,monospace;--g:clamp(16px,4.4vw,56px);--r:4px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--f);font-variation-settings:'opsz' 14,'SOFT' 50;-webkit-font-smoothing:antialiased;overflow-x:clip}
/* living backdrop: warm light from the top left, faint ripples of the logo ring, a soft vignette (one static layer) */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(120% 70% at 12% -10%,rgba(255,250,238,.9),transparent 55%),radial-gradient(90% 70% at 110% 110%,rgba(45,106,85,.10),transparent 60%),
  repeating-radial-gradient(circle at 88% 18%,transparent 0 63px,rgba(27,56,47,.045) 63px 64px),
  radial-gradient(140% 120% at 50% 50%,transparent 60%,rgba(120,100,60,.10)),var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
svg{width:1em;height:1em;flex:none}
h1,h2,h3{font-weight:300;margin:0;font-variation-settings:'opsz' 144,'SOFT' 80;letter-spacing:-.015em;line-height:1.06}
em{font-style:italic;font-variation-settings:'opsz' 144,'SOFT' 100,'WONK' 1;color:var(--acc)}
.lb{font:500 11px/1.4 var(--m);letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin:0 0 14px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:var(--ink);color:var(--bg);padding:8px 12px}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;background:var(--ink);color:var(--bg);font:500 12px/1 var(--m);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--ink);cursor:pointer;transition:transform .25s,background .25s,color .25s}
.btn svg{font-size:18px}.btn:hover{transform:translateY(-2px)}
.btn-g{background:transparent;color:var(--ink);border-color:var(--line)}.btn-g:hover{border-color:var(--ink)}

/* ---------- header ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;align-items:center;gap:20px;padding:14px var(--g);color:var(--ink);transition:background .35s,color .35s}
.hd.sc{background:rgba(242,236,224,.94);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 12px/1 var(--m);letter-spacing:.2em;text-transform:uppercase}
.mark-s{width:30px;height:30px}
.nav{display:none;margin-left:auto;gap:28px}.nav a{font:500 11px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--mut)}.nav a:hover{color:var(--ink)}
.hd-call{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font:500 12px/1 var(--m);letter-spacing:.06em;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:10px 14px}
.hd-call span{display:none}
html.dk .hd:not(.sc){color:var(--cream)}html.dk .hd:not(.sc) .nav a{color:rgba(239,232,218,.62)}html.dk .hd:not(.sc) .hd-call{border-color:rgba(239,232,218,.22)}
@media(min-width:900px){.nav{display:flex}.hd-call{margin-left:12px}.hd-call span{display:inline}}

/* ---------- story ---------- */
.story{position:relative;height:620vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:radial-gradient(90% 70% at 22% 8%,#24493d,var(--pine) 60%,#10251e)}
.stage::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-radial-gradient(circle at 70% 40%,transparent 0 79px,rgba(239,232,218,.035) 79px 80px)}
.bg-lit{position:absolute;left:50%;top:45%;width:260vmax;height:260vmax;margin:-130vmax 0 0 -130vmax;border-radius:50%;transform:scale(0);will-change:transform;
  background:radial-gradient(closest-side,#fbf7ef,var(--bg) 40%,#e6dece 70%,var(--bg))}
.bg-lit::before{content:'';position:absolute;inset:0;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 79px,rgba(27,56,47,.05) 79px 80px)}
#gl{position:absolute;inset:0;width:100%;height:100%;z-index:2}
.hero-fb{position:absolute;z-index:1;left:50%;top:42%;width:min(70vw,52vh);height:auto;transform:translate(-50%,-50%);opacity:0}
html.nogl .hero-fb{opacity:1}
.giant{position:absolute;inset:0;z-index:1;display:grid;place-items:center;pointer-events:none;overflow:hidden}
.giant span{font:italic 300 clamp(96px,22vw,380px)/1 var(--f);font-variation-settings:'opsz' 144,'SOFT' 100;letter-spacing:-.035em;color:#1e3f34;white-space:nowrap;transition:color .5s;will-change:transform}
.giant-o{z-index:3}.giant-o span{color:transparent;-webkit-text-stroke:1px rgba(239,232,218,.2);clip-path:inset(0 0 54% 0)}
html:not(.dk) .giant span{color:#ddd2bb}html:not(.dk) .giant-o span{color:transparent;-webkit-text-stroke-color:rgba(27,56,47,.22)}
.intro,.ch,.close{position:absolute;z-index:4;opacity:0;pointer-events:none;transition:opacity .45s,transform .6s cubic-bezier(.2,.7,.2,1)}
.intro.on,.ch.on,.close.on{opacity:1;pointer-events:auto}
.intro{left:var(--g);right:var(--g);bottom:9vh;transform:translateY(16px)}.intro.on{transform:none}
.intro h1{font-size:clamp(44px,10.5vw,124px);max-width:9ch}
.intro h1 em{display:block}
.intro-l{color:var(--mut);max-width:36ch;margin:18px 0 0}
.intro-b{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.intro-r{font:500 11px/1.5 var(--m);letter-spacing:.08em;color:var(--dim);margin:18px 0 0}.intro-r b{color:var(--ink)}
/* text on the pine stage */
html.dk .stage{color:var(--cream)}
html.dk .stage em,html.dk .stage .lb{color:var(--sage)}
html.dk .stage .intro-l,html.dk .stage .ch p:not(.lb),html.dk .stage .close-l{color:rgba(239,232,218,.72)}
html.dk .stage .intro-r{color:rgba(239,232,218,.5)}html.dk .stage .intro-r b{color:var(--cream)}
html.dk .stage .btn{background:var(--cream);color:var(--pine);border-color:var(--cream)}
html.dk .stage .btn-g{background:transparent;color:var(--cream);border-color:rgba(239,232,218,.3)}
.cue{position:absolute;z-index:4;left:50%;bottom:18px;transform:translateX(-50%);width:40px;height:40px;display:grid;place-items:center;color:inherit;opacity:.7;transition:opacity .4s}
.cue svg{font-size:22px;animation:cue 2.2s ease-in-out infinite}@keyframes cue{50%{transform:translateY(6px)}}
html.still .cue svg,.cue.z svg{animation-play-state:paused}
.ch{bottom:calc(88px + env(safe-area-inset-bottom));left:var(--g);right:var(--g);transform:translateY(18px);max-width:440px}
.ch.on{transform:none}
.ch h2{font-size:clamp(38px,9vw,84px)}
.ch p:not(.lb){color:var(--mut);margin:14px 0 0;max-width:34ch}
.close{left:var(--g);right:var(--g);bottom:12vh;transform:translateY(18px)}
.close.on{transform:none}
.close h2{font-size:clamp(40px,7.6vw,96px);max-width:12ch}
.close h2 em{font-style:normal;font-weight:600;font-variation-settings:'opsz' 144,'SOFT' 100}
.close-l{color:var(--mut);margin:16px 0 0}
.hud{position:absolute;z-index:4;right:var(--g);top:76px;display:flex;align-items:center;gap:10px;font:500 11px/1 var(--m);letter-spacing:.16em;opacity:.7}
.hud svg{width:26px;height:26px}
.prog{position:absolute;z-index:4;left:calc(var(--g) * .45);top:22vh;bottom:22vh;width:1px;background:currentColor;opacity:.25}
.prog i{position:absolute;inset:0;background:currentColor;transform-origin:top;transform:scaleY(0)}
.stage .prog{color:inherit}
.stills{display:none}
@media(min-width:900px){
  .ch{bottom:auto;top:50%;transform:translateY(-40%);max-width:min(32vw,440px)}
  .ch.on{transform:translateY(-50%)}
  .ch-l{left:calc(var(--g) + 28px);right:auto}.ch-r{right:var(--g);left:auto}
  .intro{left:calc(var(--g) + 28px);bottom:auto;top:50%;transform:translateY(-42%);max-width:46vw}.intro.on{transform:translateY(-50%)}
  .close{left:auto;right:var(--g);bottom:auto;top:50%;transform:translateY(-42%);max-width:40vw}.close.on{transform:translateY(-50%)}
}
/* phone: the first screen is the object, the line and a scroll cue */
@media(max-width:899px){
  .intro{bottom:calc(70px + env(safe-area-inset-bottom))}
  .intro .lb,.intro-l,.intro-b,.intro-r{display:none}
  .intro h1{font-size:clamp(42px,12.5vw,64px)}
  .ch{max-width:none}
  .ch h2{font-size:clamp(34px,10vw,52px)}
  .close .intro-b{display:none}
  .close{bottom:calc(96px + env(safe-area-inset-bottom))}
  .hud{top:70px}
}
/* reduced motion: chapters as still frames with their text */
html.rm .story{height:auto}
html.rm .stage{position:relative;height:auto;min-height:0;padding:104px var(--g) 24px;background:none}
html.rm .stage::before{display:none}
html.rm .stage>*:not(.intro){display:none}
html.rm .intro{position:relative;opacity:1;transform:none;inset:auto;max-width:none}
html.rm .intro .lb,html.rm .intro-l,html.rm .intro-r{display:block}html.rm .intro-b{display:flex}
html.rm .stills{display:grid;gap:40px;padding:24px var(--g) 40px}
.still{margin:0;display:grid;gap:20px;align-items:center}
.still img{width:min(100%,440px)}
.still h2{font-size:clamp(34px,6vw,64px)}.still p:not(.lb){color:var(--mut)}
@media(min-width:900px){.still{grid-template-columns:1fr 1fr}}

/* ---------- manifest ---------- */
.mani{height:220vh;position:relative}
.mani-in{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;justify-content:center;padding:0 var(--g);max-width:1240px}
.mani-t{font:300 clamp(30px,5.8vw,76px)/1.14 var(--f);font-variation-settings:'opsz' 144,'SOFT' 80;margin:0;letter-spacing:-.012em}
.mani-t span{color:rgba(27,56,47,.16);transition:color .35s}
.mani-t span.on{color:var(--ink)}

/* ---------- sections ---------- */
.sec{padding:clamp(72px,12vw,150px) var(--g);max-width:1440px;margin:0 auto}
.sh{margin-bottom:clamp(32px,5vw,64px)}
.ttl{font-size:clamp(40px,8vw,104px)}
.sd{color:var(--mut);max-width:46ch;margin:18px 0 0}
.ttl .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em}
.ttl .w>span{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d) * 70ms)}
.ttl.in .w>span{transform:none}
.rv{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
.rv.in{opacity:1;transform:none}
html.rm .rv{opacity:1;transform:none}html.rm .ttl .w>span{transform:none}

/* doctor */
.doc-g{display:grid;gap:40px;align-items:center}
.doc-im{margin:0}
.doc-f{position:relative;overflow:hidden;border-radius:999px 999px var(--r) var(--r);aspect-ratio:4/5;background:var(--bg2)}
.doc-f img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.doc-f .cover{position:absolute;inset:0;background:var(--pine);transform-origin:bottom;transition:transform 1.1s cubic-bezier(.7,0,.2,1)}
.doc-f.in img{transform:none}.doc-f.in .cover{transform:scaleY(0)}
html.rm .doc-f .cover{display:none}html.rm .doc-f img{transform:none}
.doc-im figcaption{font:500 10px/1.4 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:12px}
.doc-r{font:italic 300 clamp(22px,2.4vw,30px)/1.3 var(--f);color:var(--acc);margin:14px 0 0}
.doc-p{color:var(--mut);max-width:46ch;margin:22px 0 0}
.facts{list-style:none;padding:0;margin:32px 0 0;display:grid;gap:0}
.facts li{display:flex;gap:14px;align-items:flex-start;border-top:1px solid var(--line);padding:16px 0}
.facts svg{font-size:20px;color:var(--acc);margin-top:3px}
.facts b{display:block;font:400 20px/1.3 var(--f)}.facts span{font:500 11px/1.5 var(--m);letter-spacing:.06em;color:var(--mut)}
@media(min-width:900px){.doc-g{grid-template-columns:.8fr 1fr;gap:96px}.doc-im{max-width:520px}}

/* services: numbered rows, not cards */
.svs{list-style:none;padding:0;margin:0;counter-reset:s}
.sv{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;border-top:1px solid var(--line);padding:26px 0}
.sv-n{font:500 11px/1 var(--m);letter-spacing:.14em;color:var(--acc);padding-top:12px;grid-row:span 2}
.sv h3{font-size:clamp(30px,4.6vw,56px)}
.sv p{color:var(--mut);margin:6px 0 0;max-width:52ch}
.sv:last-child{border-bottom:1px solid var(--line)}
@media(min-width:900px){.sv{grid-template-columns:90px 1.1fr 1fr;align-items:baseline;padding:34px 0}.sv-n{grid-row:auto;padding:0}.sv p{margin:0}}
.cas{display:flex;gap:14px;align-items:flex-start;margin:32px 0 0;padding:18px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);max-width:720px;color:var(--mut)}
.cas svg{font-size:22px;color:var(--acc);margin-top:2px}

/* outlined word band, moved by scroll */
.band{overflow:hidden;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band span{display:block;white-space:nowrap;font:italic 300 clamp(56px,11vw,150px)/1.1 var(--f);font-variation-settings:'opsz' 144,'SOFT' 100;color:transparent;-webkit-text-stroke:1px rgba(27,56,47,.32);will-change:transform}

/* quote */
.qt{padding:clamp(80px,14vw,180px) var(--g);max-width:1240px;margin:0 auto}
.qt-t{margin:0}.qt-t .ttl{font-size:clamp(38px,6.6vw,92px);margin:0;line-height:1.08}

/* tool */
.tl{display:grid;gap:28px}
.tl fieldset{border:0;border-top:1px solid var(--line);margin:0;padding:18px 0 22px;min-width:0}
.tl legend{display:flex;align-items:center;gap:12px;font:400 22px/1.2 var(--f);padding:0;margin-bottom:14px}
.tl legend small{font-size:15px;color:var(--dim)}
.tl legend span{font:500 10px/1 var(--m);width:24px;height:24px;border:1px solid var(--acc);color:var(--acc);border-radius:50%;display:grid;place-items:center;flex:none}
.opt{display:flex;flex-wrap:wrap;gap:8px}
.opt button{font:500 11px/1.25 var(--m);letter-spacing:.05em;color:var(--mut);background:transparent;border:1px solid var(--line);border-radius:999px;padding:11px 15px;min-height:44px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;text-align:left}
.opt button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.hint{font:500 11px/1.5 var(--m);letter-spacing:.04em;color:var(--dim);margin:12px 0 0}
.sw{display:flex;gap:14px;align-items:center;cursor:pointer;color:var(--mut)}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw i{flex:none;width:46px;height:28px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);position:relative;transition:background .25s}
.sw i::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.18);transition:transform .25s}
.sw input:checked+i{background:var(--acc)}.sw input:checked+i::after{transform:translateX(18px)}
.sw input:focus-visible+i{outline:2px solid var(--acc);outline-offset:3px}
input[type=text]{width:100%;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--r);padding:14px;font:400 17px/1.4 var(--f)}
.tl-o{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:16px;align-self:start;box-shadow:0 30px 60px -40px rgba(27,56,47,.35)}
.tl-hd{display:flex;align-items:center;gap:12px}.tl-hd .lb{margin:0}.tl-hd .mark-s{color:var(--acc)}
.tl-msg{font:500 13px/1.7 var(--m);white-space:pre-wrap;color:var(--ink);margin:0;background:var(--bg);padding:16px;border-radius:var(--r);border-left:2px solid var(--acc);min-height:150px}
.tl-b{display:flex;flex-wrap:wrap;gap:10px}.tl-b .btn{flex:1 1 180px;justify-content:center}
.tl-n{font-size:15px;color:var(--mut);margin:0}
.tl-u{font-size:15px;margin:0;padding:12px 14px;border-radius:var(--r);background:rgba(160,60,40,.07);color:#6a2a1d}.tl-u a{font-weight:600}
@media(min-width:900px){.tl{grid-template-columns:1.2fr 1fr;gap:64px}.tl-o{position:sticky;top:96px}}

/* where */
.vis-g{display:grid;gap:32px}
.vrow{display:flex;gap:16px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line);text-decoration:none}
.vrow svg{font-size:20px;color:var(--acc);margin-top:3px}
.vrow b{display:block;font:400 21px/1.3 var(--f)}.vrow small{display:block;font:500 11px/1.5 var(--m);letter-spacing:.06em;color:var(--mut);margin-top:4px}
a.vrow:hover b{color:var(--acc)}
.vis-n{color:var(--mut);margin:16px 0 0;font-style:italic}
.map{position:relative;border-radius:var(--r);overflow:hidden;min-height:360px;background:var(--pine);color:rgba(239,232,218,.25);display:grid;place-items:center;text-align:center}
.map-l{position:absolute;inset:0;width:100%;height:100%}
.map-p{position:absolute;left:50%;top:50%;transform:translate(-50%,-110%);color:var(--sage);font-size:34px}
.map .btn{position:relative;margin-top:110px;background:var(--cream);color:var(--pine);border-color:var(--cream)}
.map p{position:absolute;bottom:12px;left:0;right:0;font:500 10px/1.4 var(--m);letter-spacing:.08em;color:rgba(239,232,218,.6);margin:0}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(min-width:900px){.vis-g{grid-template-columns:1fr 1.2fr;gap:64px}}

/* faq */
.fqs{max-width:900px}
.fq{border-top:1px solid var(--line)}.fq:last-child{border-bottom:1px solid var(--line)}
.fq summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 0;cursor:pointer;font:300 clamp(22px,2.6vw,30px)/1.25 var(--f)}
.fq summary::-webkit-details-marker{display:none}
.fq summary svg{font-size:22px;color:var(--acc);transition:transform .3s}
.fq[open] summary svg{transform:rotate(45deg)}
.fq p{color:var(--mut);margin:0 0 24px;max-width:60ch}

/* footer */
.ft{padding:72px var(--g) calc(110px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;gap:32px;max-width:1440px;margin:0 auto}
.ft-m .mark{width:min(180px,44vw);height:auto;color:var(--ink)}
.ft-c p{margin:0 0 10px;color:var(--mut);font-size:15px}
.ft-t{font:300 32px/1.1 var(--f)!important;color:var(--ink)!important}
.ft-c a{text-decoration:none}
.ft-s{display:flex;flex-wrap:wrap;gap:16px}.ft-s a{display:inline-flex;gap:6px;align-items:center;font:500 11px/1 var(--m);letter-spacing:.06em}
.ft-l{display:flex;flex-wrap:wrap;gap:16px;font:500 11px/1.5 var(--m)!important;color:var(--dim)!important}
.ft-cr{font:500 12px/1.4 var(--m)!important;letter-spacing:.06em;margin-top:20px!important}
.ft-cr a{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
@media(min-width:900px){.ft{grid-template-columns:auto 1fr;align-items:center;gap:64px;padding-bottom:72px}}

/* sticky message bar */
.bar{position:fixed;z-index:50;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;gap:8px;transition:transform .4s,opacity .4s}
.bar a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:999px;background:var(--card);color:var(--ink);border:1px solid var(--line);text-decoration:none;font:500 12px/1 var(--m);letter-spacing:.12em;text-transform:uppercase;box-shadow:0 10px 30px -14px rgba(0,0,0,.35)}
.bar a svg{font-size:19px}
.bar .bar-wa{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.bar.off{transform:translateY(140%);opacity:0}
@media(min-width:900px){.bar{left:auto;right:24px;bottom:24px;grid-template-columns:auto auto}.bar a{padding:0 22px}}
.nw{white-space:nowrap}
