/* Inter font license: /vendor/Inter-OFL.txt */

@font-face{font-family:Inter;src:url(/vendor/InterVariable.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--brand:#0F6B4F;--brand-d:#0C5A42;--gain:#0A8059;--ink:#111;--muted:#6B6B6B;--flat:#6F747C;--fill:#F5F5F5;--soft:#EDF6F1;--hair:#E8E8E8;--loss:#C0392B;
 --ease:cubic-bezier(.16,1,.3,1);--ease-io:cubic-bezier(.65,0,.35,1);--gut:clamp(20px,4vw,40px);--max:1160px;--nav:64px;
 --sh-lg:0 1px 1px rgba(17,17,17,.03),0 2px 4px rgba(17,17,17,.04),0 12px 24px -6px rgba(17,17,17,.08),0 32px 64px -16px rgba(17,17,17,.14);
 --sh-sm:0 0 0 1px rgba(17,17,17,.04),0 1px 2px rgba(17,17,17,.05),0 6px 16px -4px rgba(17,17,17,.10)}
*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:var(--nav)}
body{font:400 16px/1.55 Inter,system-ui,sans-serif;font-feature-settings:"kern","calt";color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
img{display:block;max-width:100%}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
a{color:inherit}
:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}
.wrap{width:100%;max-width:calc(var(--max) + 2*var(--gut));margin:0 auto;padding:0 var(--gut)}
.eyebrow{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
h1,h2{font-weight:600;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(40px,4.7vw,68px);line-height:1.02;letter-spacing:-.042em}
h2{font-size:clamp(30px,3.3vw,46px);line-height:1.06;letter-spacing:-.034em;margin-top:14px}
.g{color:var(--brand)}
.lead{font-size:clamp(16px,1.25vw,18px);line-height:1.5;color:var(--muted);margin-top:16px;max-width:36ch;text-wrap:pretty}
.cap{font-size:12px;line-height:16px;color:var(--flat);text-align:center}
section{position:relative}
.pad{padding-block:clamp(88px,11vw,152px)}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;height:var(--nav);background:#fff;transition:box-shadow .4s var(--ease)}
.nav.s{box-shadow:0 1px 0 var(--hair)}
.nav .wrap{height:100%;display:flex;align-items:center;justify-content:space-between}
.nav .logo{display:block;padding:10px 0}
.nav .logo img{height:22px;width:auto}
.nav .links{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500}
.nav .links a.t{color:var(--muted);text-decoration:none;transition:color .2s}
.nav .links a.t:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:12px;background:var(--brand);color:#fff;font-size:15px;font-weight:600;letter-spacing:-.005em;text-decoration:none;white-space:nowrap;transition:background-color .2s,transform .2s var(--ease)}
.btn:hover{background:var(--brand-d)}
.btn:active{transform:scale(.97)}
.btn.sm{height:36px;padding:0 14px;border-radius:10px;font-size:14px;position:relative}
.btn.sm:after{content:"";position:absolute;inset:-4px -2px}

/* forms */
.wl{width:100%;max-width:420px;margin-top:28px}
.wl .row{display:flex;gap:8px}
.wl input{flex:1;min-width:0;height:48px;padding:0 16px;border:1px solid #DEDEDE;border-radius:12px;background:#fff;font:inherit;font-size:16px;color:var(--ink);outline:none;box-shadow:0 1px 2px rgba(17,17,17,.04);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.wl input::placeholder{color:#8A8A8A}
.wl input:hover{border-color:#C9C9C9}
.wl input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(15,107,79,.14)}
.wl.err input{border-color:var(--loss);box-shadow:0 0 0 4px rgba(192,57,43,.10)}
.wl .msg{min-height:20px;margin-top:8px;font-size:13px;line-height:20px;color:var(--muted)}
.wl.err .msg{color:var(--loss)}
.wl .ok{display:none;align-items:center;gap:12px;height:48px;font-size:15px;font-weight:500}
.wl .ok i{flex:none;width:28px;height:28px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--gain)}
.wl.done .row{display:none}.wl.done .ok{display:flex}
.wl.done .msg{visibility:hidden}

/* device */
.phone{--pw:280px;--bz:calc(var(--pw)*.024);--s:calc(var(--pw) - 2*var(--bz));position:relative;width:var(--pw);padding:var(--bz);border-radius:calc(var(--pw)*.135);background:#0E0E10;
 box-shadow:inset 0 0 0 1px #3A3A3E,inset 0 0 0 calc(var(--bz)*.45) #050506,0 0 0 1px rgba(0,0,0,.06),0 2px 3px rgba(17,17,17,.06),0 10px 20px -6px rgba(17,17,17,.12),0 30px 60px -24px rgba(17,17,17,.24)}
.phone:before,.phone:after{content:"";position:absolute;right:-2px;width:3px;border-radius:0 2px 2px 0;background:#1C1C1F;box-shadow:inset -1px 0 0 #3A3A3E}
.phone:before{top:19%;height:7%}.phone:after{top:29%;height:12%}
.scr{position:relative;border-radius:calc(var(--pw)*.135 - var(--bz));overflow:hidden;background:#fff;isolation:isolate;transform:translateZ(0)}
.sls{display:grid}
.sl{grid-area:1/1;display:flex;flex-direction:column;background:var(--t,#fff);opacity:0;transition:opacity .45s var(--ease)}
.sl.on{opacity:1}
.sl:before{content:"";height:calc(var(--s)*.094);flex:none}
.sl:after{content:"";height:calc(var(--s)*.058);flex:none;background:var(--b,#fff)}
.sl img{width:100%;height:auto;aspect-ratio:1170/2532;object-fit:contain;background:#fff}
.sb{position:absolute;inset:0 0 auto;height:calc(var(--s)*.094);display:flex;align-items:center;justify-content:space-between;padding:0 calc(var(--s)*.065) 0 calc(var(--s)*.07);font-size:calc(var(--s)*.034);font-weight:600;letter-spacing:-.01em;color:#111;z-index:2;font-variant-numeric:tabular-nums;pointer-events:none}
.sb svg{height:calc(var(--s)*.03);width:auto}
.cam{position:absolute;top:calc(var(--s)*.028);left:50%;width:calc(var(--s)*.036);aspect-ratio:1;margin-left:calc(var(--s)*-.018);border-radius:50%;background:#050506;box-shadow:inset 0 0 0 calc(var(--s)*.006) #1A1A1E;z-index:3}
.gest{position:absolute;bottom:calc(var(--s)*.022);left:50%;width:calc(var(--s)*.30);height:calc(var(--s)*.011);margin-left:calc(var(--s)*-.15);border-radius:9px;background:#111;opacity:.82;z-index:2}
.ph{display:flex;flex-direction:column;align-items:center}
.ph .cap{margin-top:18px}

/* hero */
.hero{min-height:min(100svh,940px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:48px;padding-top:calc(var(--nav) + 24px);padding-bottom:40px}
.hero .phone{--pw:clamp(240px,calc((100svh - 200px)/2.27),304px)}
.hero .ph{position:relative}
section[data-hero]{overflow-x:clip}
.hero .disc{position:absolute;top:50%;left:50%;width:calc(var(--d,560px));aspect-ratio:1;border-radius:50%;background:var(--soft);transform:translate(-50%,-54%);z-index:-1}
.hero .eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:20px}
.hero .eyebrow:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--gain)}

/* twelve */
.twelve{height:100svh;min-height:600px;display:flex;flex-direction:column;align-items:center;text-align:center;padding:calc(var(--nav) + 6vh) var(--gut) 5vh;overflow:hidden}
.twelve .lead{margin-inline:auto}
.stage{position:relative;flex:1;width:100%}
.tks,.one{position:absolute;left:50%;top:50%}
.tk{width:max-content;position:absolute;left:0;top:0;transform:translate(-50%,-50%);display:flex;align-items:center;gap:8px;height:40px;padding:0 14px 0 6px;border-radius:99px;background:#fff;box-shadow:var(--sh-sm);font-size:14px;font-weight:500;white-space:nowrap;will-change:transform,opacity}
.tk img{flex:none;width:28px;height:28px}
.tk small{margin-left:6px;font-size:13px;color:var(--muted);font-weight:400}
.one{width:min(400px,calc(100vw - 40px));transform:translate(-50%,-50%);background:#fff;border-radius:18px;padding:14px 10px 12px;box-shadow:var(--sh-lg),0 0 0 1px rgba(17,17,17,.03)}
.one img{width:100%;height:auto;aspect-ratio:1098/152}
.one .lbl{display:flex;justify-content:space-between;padding:0 8px 8px;font-size:12px;color:var(--muted)}
.one .lbl b{font-weight:500;color:var(--gain)}
html.m .one{opacity:0}
.twelve .lead{opacity:1}

/* buy */
.buy{display:grid;grid-template-columns:minmax(0,500px) auto;justify-content:space-between;align-items:center;gap:clamp(48px,8vw,120px);padding-right:clamp(0px,4vw,64px)}
.typed{font-size:clamp(34px,3.7vw,52px);line-height:1.1;font-weight:500;letter-spacing:-.035em;margin-top:28px;min-height:1.1em;font-variant-numeric:tabular-nums;color:var(--ink)}
.typed .c{display:inline-block;width:2px;height:.9em;margin-left:3px;background:var(--gain);vertical-align:-.1em;animation:bl 1s steps(1) infinite}
@keyframes bl{50%{opacity:0}}
.holdw{display:flex;align-items:center;gap:20px;margin-top:40px}
.hold{position:relative;flex:none;width:96px;height:96px;border-radius:50%;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .25s var(--ease)}
.hold.p{transform:scale(.96)}
.hold svg.ring{position:absolute;inset:0;width:96px;height:96px;transform:rotate(-90deg)}
.hold svg.ring circle{fill:none;stroke-width:4}
.hold svg.ring .tr{stroke:var(--hair)}
.hold svg.ring .ar{stroke:var(--gain);stroke-linecap:round;stroke-dasharray:289.03;stroke-dashoffset:289.03}
.hold .core{position:absolute;inset:10px;border-radius:50%;background:var(--gain);display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px -6px rgba(10,128,89,.55)}
.hold .core svg{width:28px;height:28px;transition:opacity .2s,transform .35s var(--ease)}
.hold .core .ck{position:absolute;opacity:0;transform:scale(.6)}
.hold.done .core .ar-ic{opacity:0;transform:scale(.6)}.hold.done .core .ck{opacity:1;transform:none}
.hl b{display:block;font-size:16px;line-height:20px;font-weight:600}
.hl span{display:block;font-size:13px;line-height:18px;color:var(--muted);margin-top:4px;min-height:18px}
.hl button{font-size:13px;font-weight:600;color:var(--brand);text-decoration:underline;text-underline-offset:3px;padding:12px 0;margin:-12px 0}
.buy .phone{--pw:clamp(240px,calc((100svh - 150px)/2.27),300px)}

/* route */
.rhead{max-width:640px}
.rgrid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(40px,7vw,104px);align-items:center}
.map{margin-top:40px;max-width:640px}
.map svg{display:block;width:100%;height:auto;overflow:visible}
.map .ln{fill:none;stroke:var(--hair);stroke-width:1.5;transition:stroke .4s var(--ease),stroke-width .4s var(--ease)}
.map .ln.on{stroke:var(--brand);stroke-width:2}
.map .nd rect{fill:var(--fill);transition:fill .4s var(--ease)}
.map .nd text{font:500 14px Inter,sans-serif;fill:var(--ink);transition:fill .4s var(--ease)}
.map .nd text.sub{font-size:11px;font-weight:400;fill:var(--muted)}
.map .nd.win rect{fill:var(--brand)}
.map .nd.win text{fill:#fff}
.map .nd.off{opacity:.45}
.map .nd.off text.sub{fill:var(--loss)}
.map .nd.you rect{fill:var(--ink)}.map .nd.you text{fill:#fff}
.map .col{font:500 11px Inter,sans-serif;letter-spacing:.08em;fill:var(--muted)}
.ctl{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:32px}
.seg{display:inline-flex;padding:4px;border-radius:12px;background:var(--fill);gap:2px}
.seg button{height:44px;padding:0 16px;border-radius:9px;font-size:14px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums;transition:color .2s,background-color .2s,box-shadow .2s}
.seg button[aria-pressed=true]{background:#fff;color:var(--ink);font-weight:600;box-shadow:0 1px 2px rgba(17,17,17,.08),0 1px 6px -2px rgba(17,17,17,.10)}
.brk{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 4px;font-size:14px;font-weight:600;color:var(--brand)}
.brk svg{width:16px;height:16px}
.rsum{margin-top:20px;font-size:14px;line-height:20px;color:var(--muted);min-height:40px;font-variant-numeric:tabular-nums}
.rsum b{color:var(--ink);font-weight:500}
.route .phone{--pw:clamp(240px,calc((100svh - 150px)/2.27),288px)}

/* tour */
.tour h2{max-width:14ch}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.card{display:flex;flex-direction:column;align-items:center;padding:48px 24px 40px;border-radius:24px;background:#FAFAFA}
.card .phone{--pw:236px}
.card h3{font-size:17px;line-height:24px;font-weight:600;letter-spacing:-.012em;margin-top:32px;display:flex;align-items:center;gap:8px}
.card p{font-size:14px;line-height:20px;color:var(--muted);margin-top:4px;text-align:center}
.soon{font-size:11px;line-height:14px;font-weight:500;padding:4px 8px;border-radius:6px;background:var(--fill);color:var(--muted);letter-spacing:0}

/* end */
.end{background:var(--brand);color:#fff;text-align:center}
.end h2{color:#fff;font-size:clamp(34px,4.2vw,58px);margin:0 auto}
.end .lead{color:rgba(255,255,255,.78);margin:16px auto 0}
.end .wl{margin:36px auto 0}
.end .wl input{border-color:transparent;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.end .wl input:focus{box-shadow:0 0 0 4px rgba(255,255,255,.28)}
.end .wl .btn{background:#111}.end .wl .btn:hover{background:#000}
.end .wl .msg{color:rgba(255,255,255,.72)}
.end .wl.err .msg{color:#fff}
.end .wl.err input{border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.28)}
.end .wl .ok{justify-content:center}.end .wl .ok i{background:#fff;color:var(--brand)}
footer{padding:32px 0 calc(32px + env(safe-area-inset-bottom))}
footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;font-size:13px;line-height:18px;color:var(--muted)}
footer img{height:18px;width:auto}
footer .fl{display:flex;align-items:center;gap:20px;flex-wrap:wrap}

/* sticky (mobile) */
.sticky{position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:none;transform:translateY(calc(100% + 24px));opacity:0;transition:transform .5s var(--ease),opacity .3s}
.sticky.on{transform:none;opacity:1}
.sticky .btn{width:100%;height:50px;box-shadow:0 1px 2px rgba(17,17,17,.12),0 10px 24px -8px rgba(15,107,79,.55)}

@media (max-width:960px){
 :root{--nav:56px}
 .nav .links a.t{display:none}
 .nav .logo img{height:20px}
 .hero{grid-template-columns:1fr;gap:56px;padding-top:calc(var(--nav) + 40px);padding-bottom:72px;min-height:0}
 .hero .phone{--pw:min(252px,66vw)}
 .hero .disc{--d:min(440px,100vw)}
 .buy,.rgrid{grid-template-columns:1fr}
 .buy .ph,.route .ph{justify-self:center}
 .buy .phone,.route .phone{--pw:min(260px,68vw)}
 .cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:40px calc(-1*var(--gut)) 0;padding:0 var(--gut) 8px;scroll-padding:0 var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .cards::-webkit-scrollbar{display:none}
 .card{flex:0 0 min(300px,80vw);scroll-snap-align:start;padding:36px 16px 28px}
 .card .phone{--pw:min(212px,56vw)}
 .sticky{display:block}
 footer{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
}
@media (max-width:560px){
 .pad{padding-block:80px}
 .wl .row{flex-direction:column}
 .wl input{flex:none}
 .wl .btn{width:100%;height:50px}
 .wl input{height:50px}
 .hero .wl{max-width:none}
 .holdw{margin-top:32px}
 .ctl{flex-direction:column;align-items:stretch}
 .seg{display:flex}.seg button{flex:1;padding:0 8px}
 .brk{align-self:flex-start}
 .tk{height:auto;min-height:40px;font-size:13px;padding:6px 10px;gap:6px}.tk img{width:24px;height:24px}.tk-label{display:flex;flex-direction:column;align-items:flex-start;line-height:16px}.tk small{margin-left:0;font-size:11px}
}
html.m [data-r]{opacity:0}
html.m .hero [data-i]{opacity:0}
@media (prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .twelve{height:auto;min-height:0;padding-block:96px}
 .stage{flex:none;display:flex;flex-direction:column;align-items:center;gap:32px;margin-top:40px}
 .tks{position:static;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:620px}
 .tk{position:static;transform:none;opacity:.6}
 .one{position:static;transform:none}
 .twelve .cap{margin-top:28px}
}

.nav .links a.t{display:inline-flex;align-items:center;min-height:44px}
.nav .btn.sm{height:44px}
.menu-toggle{display:none;min-width:44px;min-height:44px;font-size:14px;font-weight:500}
footer a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
footer a:hover{color:var(--brand)}
.subpage{padding-top:calc(var(--nav) + 80px);padding-bottom:100px;min-height:calc(100svh - 150px)}
.subpage h1{font-size:clamp(36px,4.5vw,56px);max-width:18ch;margin-top:20px}
.subpage .lead{max-width:48ch}
.page-sections{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:72px}
.page-sections h2,.person h2{font-size:24px;line-height:1.25;margin-top:0;letter-spacing:-.02em}
.page-sections p,.person p{color:var(--muted);margin-top:12px;max-width:42ch}
.page-signup{margin-top:72px}.page-signup h2{font-size:28px}
.people{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:64px;max-width:880px}
.monogram{display:grid;place-items:center;width:80px;height:80px;border-radius:50%;background:var(--soft);color:var(--brand);font-size:28px;font-weight:500;margin-bottom:24px}
.person .role{font-size:13px;color:var(--brand);margin-top:6px}
.empty-state{margin-top:64px;padding:40px 0}.empty-state h2{font-size:28px;margin:0}.empty-state p{color:var(--muted);margin-top:12px}
.post-card h2{font-size:24px}.post-card p{color:var(--muted);margin-top:12px}
@media(max-width:960px){
 .menu-toggle{display:block}.nav .wrap{gap:16px}.nav .logo{margin-right:auto}
 .nav .links{display:none;position:absolute;top:var(--nav);left:0;right:0;background:#fff;padding:12px 20px 20px;box-shadow:0 1px 0 var(--hair);gap:8px;flex-direction:column;align-items:stretch}
 .nav .links.open{display:flex}.nav .links a{justify-content:center}
 .subpage{padding-top:calc(var(--nav) + 56px)}.page-sections{grid-template-columns:1fr;gap:32px;margin-top:48px}
 .people{gap:40px}.sticky{left:20px;right:20px}
}
@media(max-width:560px){.people{grid-template-columns:1fr}.subpage{padding-bottom:64px}footer .fl{gap:16px} }
/* Keep the news header focused on the stock title and close control. */
.phone[data-s^="news-viewer|"] .scr:after{content:"";position:absolute;top:7.7%;left:70%;width:17%;height:3.2%;background:#fff;z-index:1;pointer-events:none}
.nav .logo{min-height:44px;display:flex;align-items:center}
footer .fl a{min-width:44px}

.team-page > .lead{max-width:64ch}
.team-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:56px;align-items:start;margin-top:56px}
.team-layout .people{margin-top:0;gap:32px}
.team-photo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:12px}
.team-photo figcaption{font-size:13px;line-height:20px;color:var(--muted);margin-top:12px}
@media(max-width:960px){
 .team-layout{grid-template-columns:1fr;gap:40px;margin-top:40px}
 .team-photo{width:100%;max-width:420px}
 #buy .holdw{display:none}
}

/* Article content uses the same type, colors and spacing as the supplied blog. */
.post-hero{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:12px;margin-bottom:24px}
.article{max-width:840px}
.article h1{font-size:clamp(36px,4.7vw,56px);overflow-wrap:anywhere}
.article .post-meta{color:var(--muted);margin:24px 0}
.article .standfirst{font-size:20px;margin:24px 0}
.article figure{margin:32px 0}
.article figure img{width:100%;height:auto;border-radius:12px}
.article figcaption{font-size:13px;color:var(--muted);margin-top:12px}
.prose{line-height:1.75;overflow-wrap:anywhere}
.prose h2,.faq h2{font-size:30px;margin:48px 0 20px}
.prose h3{font-size:22px;margin:32px 0 16px}
.prose p,.prose ul,.prose ol,.prose pre,.prose blockquote{margin:20px 0}
.prose ul,.prose ol{padding-left:24px}
.prose li{margin:8px 0}
.prose a{color:var(--brand);text-underline-offset:3px}
.prose pre{overflow:auto;background:var(--fill);padding:20px;border-radius:12px}
.prose code{font-size:.9em}
.prose .pull,.prose .callout,.prose blockquote{border-left:3px solid var(--brand);padding:4px 24px;background:var(--soft);margin:32px 0}
.prose .pull{font-size:22px}
.prose .table-scroll{overflow:auto;max-width:100%;margin:24px 0}
.prose table{border-collapse:collapse;min-width:100%;font-size:14px}
.prose th,.prose td{text-align:left;padding:12px;border-bottom:1px solid var(--hair)}
.prose img,.prose svg{max-width:100%;height:auto}
.prose .listen{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:32px 0 20px}
.prose .listen .label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.prose audio{max-width:100%;height:48px}
.faq details{border-bottom:1px solid var(--hair);padding:16px 0}
.faq summary{cursor:pointer;min-height:48px;display:flex;align-items:center;font-weight:600}
.faq details p{margin:12px 0;line-height:1.75}
button:disabled{cursor:wait;opacity:.65}
.wl[aria-busy=true] .msg{color:var(--muted)}
.nav .logo,.nav .links a,footer a{min-height:48px;display:inline-flex;align-items:center}
.seg button,.brk{min-height:48px}
@media(max-width:560px){.article{padding-inline:20px}.prose .pull{padding-inline:16px}.prose .lq{margin-inline:0}.prose .lq-cap{overflow-wrap:normal}}

.menu-toggle{min-width:48px;min-height:48px}
.article .psf-fig svg{display:block;max-width:100%;height:auto}

/* Blog additions use the site's Inter, white surfaces and green controls. */
.blog-list{max-width:840px}.post-list{list-style:none;padding:0;display:grid;gap:64px;margin-top:48px}
.post-card-hero img{width:100%;height:auto;border-radius:12px;margin-bottom:24px}.post-card p{color:var(--muted);margin-top:16px}.post-date,.byline{font-size:14px;color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:24px 0}.tags .tag{display:inline-flex;align-items:center;min-height:48px;padding:8px 16px;border:1px solid var(--hair);border-radius:24px;font-size:14px;text-decoration:none}.tag:hover{background:var(--soft)}
.article .post-hero{aspect-ratio:auto;overflow:visible}.post-body,.article .faq,.article .tags,.article .blog-waitlist{max-width:760px;margin-inline:auto}.byline{margin-top:24px}.back-link{display:inline-flex;align-items:center;min-height:48px;color:var(--brand)}
.article .faq dt{font-weight:600;margin-top:24px}.article .faq dd{margin:8px 0 0;color:var(--muted)}
.blog-waitlist{border-top:1px solid var(--hair);padding-block:40px;margin-top:40px}.blog-waitlist h2{font-size:28px;line-height:1.2;margin-bottom:24px}.blog-waitlist .wl{max-width:100%}
.prose .at-section{min-width:0}.prose .listen{display:flex}.article .psf-fig{background:var(--fill);border:1px solid var(--hair);padding:24px;border-radius:12px}.article .psf-fig svg{max-width:400px;width:100%;margin-inline:auto}
.article .lq-title{font-size:20px}.article .lq .lq-field{font-size:16px}.article .lq-legend{padding:0}.article .lq-legend li{margin:0}.article .lq-steps{padding:0}.article .lq-steps li{margin:0}.article .lq-note{line-height:1.5}.article .lq-cap{margin-top:0;text-align:left}
@media(min-width:700px){.article{max-width:920px}.article .post-body,.article .faq{width:760px;max-width:100%}.article .post-header{max-width:760px;margin-inline:auto}}
@media(max-width:699.98px){.post-body > :is(figure,pre,.table-scroll,p.media),.post-body > .at-section > :is(figure,pre,.table-scroll,p.media),.article .post-hero{margin-inline:calc(-1 * var(--gut));width:calc(100% + 2 * var(--gut));max-width:none;border-radius:0}.article .post-hero img{border-radius:0}.article .psf-fig{padding:20px}.article .lq.lq-fig{padding:16px;border-inline:0}.article .lq.lq-stats{margin-inline:0}.article .lq-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-waitlist h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.at-tour *,.at-morph{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Unlisted legal and information pages. */
.legal{max-width:calc(68ch + 2 * var(--gut))}
.legal h1{max-width:none;margin:0 0 32px;font-size:clamp(32px,4.5vw,48px);line-height:1.15}
.legal h2{font-size:28px;line-height:1.25;letter-spacing:-.02em}
.legal h3{font-size:22px;line-height:1.35}
.legal :is(h4,h5,h6){font-size:18px;margin:24px 0 12px}
.legal .page-meta{border-top:1px solid var(--hair);padding-top:24px;margin-top:40px;color:var(--muted);font-size:14px}
.legal .policy-list{list-style:none;padding:0}
.legal .policy-list a,.legal .page-cta-button{display:inline-flex;align-items:center;min-height:48px}
.legal th{background:var(--fill)}

/* Persistent navigation actions, including when the links menu is collapsed. */
.nav-actions{display:flex;align-items:center;gap:8px;margin-left:20px}
.nav .links{margin-left:auto}
.nav-x{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;color:var(--muted);border-radius:10px}
.nav-x:hover{color:var(--ink);background:var(--fill)}
@media(max-width:960px){.nav-actions{margin-left:0;gap:0}.nav .wrap{gap:8px}}
.map .nd{transition:opacity .3s var(--ease)}
.map .ln{transition:stroke .3s var(--ease),stroke-width .3s var(--ease),opacity .3s var(--ease)}
#rPh .scr{container-type:inline-size;background:#fff;aspect-ratio:390/844}
#rPh .route-ui{position:absolute;width:390px;height:844px;transform:scale(calc(100cqw / 390px));transform-origin:0 0;background:#fff;font:400 15px/20px Inter,sans-serif;font-optical-sizing:none;font-kerning:normal;font-variant-numeric:normal;color:#111;letter-spacing:0;overflow:hidden}
#rPh .sb{height:47px;padding:4px 28px 0 49px;font-size:17px;line-height:22px;letter-spacing:-.03em;z-index:0}
#rPh .sb svg{width:73px;height:14px}
.route-review{position:absolute;top:47px;left:16px;right:16px;height:calc(var(--sheet-top) - 51px);overflow:hidden}
.route-header{position:relative;text-align:center;height:56px;display:flex;align-items:center;justify-content:center;font-weight:500}
.route-header>svg{position:absolute;left:0;width:20px;height:20px}
.route-stock{display:flex;gap:12px;align-items:center;margin-top:16px;font-weight:500;height:40px}
.route-stock img{width:38px;height:38px}
.route-stock small{display:block;color:#6b6b6b;font-size:13px;line-height:18px;font-weight:400}
.route-amount{font-size:44px;line-height:53px;font-weight:600;letter-spacing:-.035em;margin-top:23px;margin-bottom:22px}
.route-value{display:flex;justify-content:space-between;height:36px;align-items:center}
.route-value span{color:#6b6b6b}.route-value b{font-weight:500}
.route-total{border-top:1px solid #e8e8e8;margin-top:8px;padding-top:8px;height:44px}
.route-scrim{position:absolute;inset:0;background:rgb(17 17 17 / 40%)}
.route-sheet{position:absolute;top:var(--sheet-top,41.4692%);left:0;right:0;bottom:34px;background:#fff;border-radius:28px 28px 0 0;padding:20px 16px 0}
.route-handle{position:absolute;top:8px;left:calc(50% - 18px);width:36px;height:4px;background:#d9d9d9;border-radius:2px}
.route-title{font-size:18px;line-height:24px;font-weight:600;letter-spacing:-.025em;white-space:nowrap;position:relative;height:32px}
.route-title>span{position:absolute;right:-4px;top:-8px;background:#f5f5f5;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}
.route-title svg{width:16px;height:16px}
.route-label{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b;margin-top:12px;margin-bottom:4px}
.route-issuer{display:flex;align-items:center;height:52px;gap:12px;padding:0 12px;margin:0 -12px;border-radius:8px;font-size:15px;line-height:20px;font-weight:500}
.route-issuer.best{background:#edf6f1}
.route-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;font-size:12px;line-height:16px;font-weight:500;flex:none;background:#e7e7e7;color:#111}
.route-avatar.on{color:#3c72cc;background:#ebf1fa}.route-avatar.bp{color:#3d3488;background:#ebeaf3}
.route-issuer.best .route-avatar.xs{background:#d6dfda}
.route-issuer.best .route-avatar.on{background:#dae9ed}
.route-issuer.best .route-avatar.bp{background:#dae2e6}
.route-issuer small,.route-order small{display:block;color:#6b6b6b;font-size:13px;line-height:16px;font-weight:400}
.route-issuer-name{flex:1}
.route-issuer .quote{display:flex;align-items:center;gap:8px;white-space:nowrap;font-weight:500;margin-right:26px}
.route-issuer.down .quote{margin-right:0}
.route-issuer.best .quote{margin-right:0;font-weight:600}
.route-best{display:inline-block;font-size:11px;line-height:14px;font-weight:500;background:#fff;color:#3d5c50;border-radius:4px;padding:3px 6px;margin-left:8px;vertical-align:1px}
.route-icon{width:16px;height:16px;flex:none}
.quote .route-icon{color:#0a8059;width:18px;height:18px}
.route-issuer.down{color:#6b6b6b}
.route-issuer.down .route-avatar{color:#b5b5b5;background:#f7f7f7}
.route-not-quoting{font-size:11px;line-height:14px;background:#f5f5f5;color:#6b6b6b;border-radius:4px;padding:3px 6px}
.route-caption{font-size:13px;line-height:18px;min-height:20px;color:#6b6b6b;margin-top:6px}
.route-order-label{margin-top:20px;margin-bottom:8px}
.route-order{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 0;font-size:15px;line-height:20px;font-weight:500}
.route-order-name{flex:1;white-space:nowrap}
.route-order .route-best{background:#edf6f1}
.route-order-value{text-align:right;white-space:nowrap;font-weight:500}
.route-order.best .route-order-value{font-weight:600}
.route-venue{display:flex;align-items:center;gap:8px;height:28px;padding-left:44px;font-size:13px;line-height:16px;font-weight:500}
.route-dot{width:6px;height:6px;background:#0a8059;border-radius:50%;flex:none}
.route-muted{color:#6b6b6b;font-weight:400}
.route-venue-amount{margin-left:auto}
[data-route-notes]{margin-top:10px}
.route-note{display:flex;gap:8px;color:#6b6b6b;font-size:13px;line-height:18px;margin-top:8px}
.route-note .route-icon{margin-top:1px}
.route-footer{color:#6b6b6b;font-size:13px;line-height:18px;margin-top:10px}
.route-home{position:absolute;bottom:0;left:0;right:0;height:34px;background:#fff}
.route-home>div{position:absolute;bottom:8px;left:calc(50% - 67px);width:134px;height:5px;border-radius:3px;background:#111}

.route-amount,.route-value b,.route-issuer .quote,.route-order-value,.route-venue-amount,.route-number{font-variant-numeric:tabular-nums}
.route-not-quoting{font-variant-numeric:normal}
@media(prefers-reduced-motion:reduce){#route *{transition:none!important;animation:none!important}}
/* Post components: a worked-example aside and a closing research-agenda panel. */
.prose .post-aside{background:var(--soft);border:1px solid #CFE3D8;border-radius:14px;padding:22px 26px 10px;margin:40px 0}
.prose .post-aside-kicker,.prose .post-agenda-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);margin:0 0 6px}
.prose .post-aside h3{margin-top:0}
.prose .post-aside table{background:#fff}
.prose .post-aside table caption{caption-side:top;text-align:left;font-size:14px;color:var(--muted);padding-bottom:8px}
.prose .post-aside-note{font-size:14px;color:var(--muted)}
.prose .post-agenda,.prose .at-section:has(> .post-agenda){background:#0C3B2E;color:#EEF6F2;border-radius:16px}
.prose .post-agenda{padding:26px 28px 12px;margin:48px 0 32px}
.prose .at-section:has(> .post-agenda){padding:28px 28px 12px;margin:56px 0 32px}
.prose .at-section:has(> .post-agenda) .post-agenda{padding:0;margin:0;border-radius:0}
.prose .at-section:has(> .post-agenda) h2{color:#fff;margin-top:0}
.prose .post-agenda-kicker{color:#8FD6B4}
.prose .post-agenda p,.prose .post-agenda li{color:#EEF6F2}
.prose .post-agenda ol li::marker{color:#8FD6B4;font-weight:700}
.prose .post-agenda a{color:#8FD6B4}
@media (max-width:699px){.prose .post-aside,.prose .post-agenda,.prose .at-section:has(> .post-agenda){padding-left:18px;padding-right:18px}}
.prose h2 + .listen{margin-top:0}
