@font-face{font-family:"Literata";src:url(../fonts/literata.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Literata";src:url(../fonts/literata-italic.woff2) format("woff2");font-weight:200 900;font-style:italic;font-display:swap}
@font-face{font-family:"Atkinson";src:url(../fonts/atkinson.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:"Atkinson";src:url(../fonts/atkinson-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
:root{
--porcelain:#F5F9F9;--surface:#FFFFFF;--surface-2:#ECF4F4;--surface-3:#E1EDED;--line:#D3E2E2;--line-2:#BFD3D3;
--ink:#0F2A43;--ink-2:#34506A;--ink-3:#566E83;
--teal:#0B7A78;--teal-deep:#065B59;--teal-soft:#D3EDEB;--teal-glow:#3CC6BE;
--coral:#E4574D;--coral-ink:#B23A31;--coral-soft:#FCE4E0;--amber:#9A6200;--amber-soft:#FBEFD6;
--serif:"Literata",Georgia,"Times New Roman",serif;--sans:"Atkinson",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
--step--1:clamp(.84rem,.82rem + .1vw,.9rem);--step-0:clamp(1rem,.96rem + .2vw,1.09rem);--step-1:clamp(1.16rem,1.08rem + .4vw,1.32rem);--step-2:clamp(1.38rem,1.22rem + .8vw,1.7rem);--step-3:clamp(1.7rem,1.4rem + 1.4vw,2.3rem);--step-4:clamp(2.1rem,1.6rem + 2.4vw,3.2rem);--step-5:clamp(2.5rem,1.7rem + 3.8vw,4.3rem);
--r-s:8px;--r-m:14px;--r-l:22px;--r-xl:32px;
--e1:0 1px 2px rgb(15 42 67/.05),0 1px 3px rgb(15 42 67/.05);--e2:0 2px 4px rgb(15 42 67/.05),0 6px 16px rgb(15 42 67/.07);--e3:0 10px 24px rgb(15 42 67/.08),0 24px 48px rgb(15 42 67/.10);
--wrap:1220px;--measure:68ch;--ease:cubic-bezier(.22,.7,.2,1);--hdr:64px}
html[data-theme="dark"]{--porcelain:#08131D;--surface:#0F1E2B;--surface-2:#132636;--surface-3:#183043;--line:#213A4E;--line-2:#2B4960;--ink:#E7F1F4;--ink-2:#B6C9D4;--ink-3:#8FA7B6;--teal:#46C7BF;--teal-deep:#86DED8;--teal-soft:#123537;--teal-glow:#46C7BF;--coral:#FF7C72;--coral-ink:#FF9E96;--coral-soft:#35191B;--amber:#F2B64B;--amber-soft:#33270F;--e1:0 1px 2px rgb(0 0 0/.3);--e2:0 4px 14px rgb(0 0 0/.35);--e3:0 16px 40px rgb(0 0 0/.45)}
*,*::before,*::after{box-sizing:border-box}[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--porcelain);color:var(--ink);font-family:var(--sans);font-size:var(--step-0);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--teal-deep)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--teal-glow);outline-offset:2px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--porcelain);padding:10px 14px;border-radius:10px;z-index:100}
.skip:focus{top:12px}
.wrap{width:min(100% - 32px,var(--wrap));margin-inline:auto}
.ic{flex:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.18;letter-spacing:-.012em;color:var(--ink);margin:0 0 .5em;font-optical-sizing:auto}
h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}h4{font-size:var(--step-1)}
p{margin:0 0 1em}
.muted{color:var(--ink-3)}
.btn{display:inline-flex;align-items:center;gap:.55em;border:1px solid transparent;background:var(--teal);color:#fff;border-radius:999px;padding:.72em 1.25em;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s var(--ease),box-shadow .2s;line-height:1.2}
html[data-theme="dark"] .btn{color:#062624}
.btn:hover{background:var(--teal-deep);color:#fff;transform:translateY(-1px)}
html[data-theme="dark"] .btn:hover{color:#062624}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn.ghost:hover{background:var(--surface-2);color:var(--ink)}
.btn.small{padding:.5em .9em;font-size:var(--step--1)}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.chip{display:inline-flex;align-items:center;gap:.4em;padding:.28em .8em;border-radius:999px;background:var(--teal-soft);color:var(--teal-deep);font-size:var(--step--1);font-weight:600;text-decoration:none}
.chip.coral{background:var(--coral-soft);color:var(--coral-ink)}
.chip.plain{background:var(--surface-2);color:var(--ink-2)}
#ld{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:var(--porcelain);transition:opacity .45s var(--ease),visibility .45s}
#ld.out{opacity:0;visibility:hidden}
.ld-in{text-align:center;display:grid;justify-items:center;gap:10px}
.ld-in .ld-name{font-family:var(--serif);font-size:1.6rem;font-weight:650;letter-spacing:-.01em}
.ld-in .ld-p{font-size:.95rem;color:var(--ink-2);line-height:1.35}
.ld-in .ld-p b{display:block;color:var(--ink);font-weight:700}
.ld-trace{width:180px;height:34px}
.ld-trace path{fill:none;stroke:var(--coral);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:trace 1.4s var(--ease) infinite}
@keyframes trace{0%{stroke-dashoffset:1}60%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.hdr{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--porcelain) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{height:var(--hdr);display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;font-size:1.32rem;letter-spacing:-.02em}
.brand img{height:34px;width:auto}
.nav{display:flex;gap:4px;margin-left:12px}
.nav a{color:var(--ink-2);text-decoration:none;font-weight:600;padding:.45em .75em;border-radius:10px;font-size:.97rem}
.nav a:hover,.nav a[aria-current]{color:var(--ink);background:var(--surface-2)}
.hdr-act{margin-left:auto;display:flex;gap:6px;align-items:center}
.ib{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:12px;border:1px solid transparent;background:transparent;color:var(--ink-2);cursor:pointer;position:relative;text-decoration:none}
.ib:hover{background:var(--surface-2);color:var(--ink)}
.ib .cnt{position:absolute;top:4px;right:3px;min-width:17px;height:17px;border-radius:9px;background:var(--coral);color:#fff;font-size:10.5px;font-weight:700;display:grid;place-items:center;padding:0 4px}
.ib .cnt:empty{display:none}
.th-sun{display:none}html[data-theme="dark"] .th-sun{display:block}html[data-theme="dark"] .th-moon{display:none}
.menu-btn{display:none}
.pulse-bar{position:absolute;left:0;right:0;bottom:-1px;height:10px;pointer-events:none;overflow:hidden}
.pulse-bar svg{width:100%;height:10px;display:block}
.pulse-bar path{fill:none;stroke:var(--coral);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1}
.drawer{position:fixed;inset:var(--hdr) 0 auto 0;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--e3);padding:12px 16px 20px;display:none;z-index:49}
.drawer.open{display:block}
.drawer a{display:flex;gap:10px;align-items:center;padding:12px 8px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600}
.drawer a:hover{background:var(--surface-2)}
.srch{position:fixed;inset:0;z-index:80;background:rgb(8 19 29/.5);display:none;padding:10vh 16px 16px}
.srch.open{display:block}
.srch-box{max-width:680px;margin:0 auto;background:var(--surface);border-radius:var(--r-l);box-shadow:var(--e3);overflow:hidden;border:1px solid var(--line)}
.srch-box form{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.srch-box input{flex:1;border:0;background:transparent;font-size:1.15rem;outline:none;padding:6px 0}
.srch-res{max-height:55vh;overflow:auto;padding:8px}
.srch-res a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink)}
.srch-res a:hover,.srch-res a:focus{background:var(--surface-2)}
.srch-res small{display:block;color:var(--ink-3)}
.ecg{width:100%;height:40px;display:block;margin:0}
.ecg path{fill:none;stroke:var(--line-2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--ease),stroke .6s}
.ecg.on path{stroke-dashoffset:0;stroke:var(--teal)}
.divider{padding:8px 0}
.sec{padding:clamp(48px,7vw,96px) 0}
.sec-h{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.sec-h h2{margin:0;max-width:22ch}
.sec-h p{margin:.4em 0 0;color:var(--ink-2);max-width:56ch}
.hero{position:relative;padding:clamp(32px,5vw,72px) 0 clamp(40px,6vw,80px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,4vw,64px);align-items:center}
.hero h1{font-size:var(--step-5);line-height:1.04;letter-spacing:-.025em;margin-bottom:.35em;max-width:14ch}
.hero .lede{font-size:var(--step-1);color:var(--ink-2);max-width:40ch;margin-bottom:1.4em}
.hsearch{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line-2);border-radius:18px;padding:6px 6px 6px 16px;box-shadow:var(--e2);max-width:560px}
.hsearch input{flex:1;border:0;outline:0;background:transparent;padding:.7em 0;font-size:1.05rem;min-width:0}
.hsearch:focus-within{border-color:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 18%,transparent),var(--e2)}
.qchips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.qchips a{background:var(--surface);border:1px solid var(--line);color:var(--ink-2);text-decoration:none;padding:.45em .9em;border-radius:999px;font-size:var(--step--1);font-weight:600;transition:border-color .2s,color .2s}
.qchips a:hover{border-color:var(--teal);color:var(--teal-deep)}
.heart-stage{position:relative;aspect-ratio:1/1;max-width:520px;margin-inline:auto;width:100%;perspective:900px}
.heart-glow{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--teal-glow) 34%,transparent),color-mix(in srgb,var(--coral) 12%,transparent) 55%,transparent 72%);animation:glow 3.2s ease-in-out infinite}
.heart-tilt{position:absolute;inset:0;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .6s var(--ease);transform-style:preserve-3d}
.heart-svg{position:absolute;inset:10%;width:80%;height:80%;animation:beat 3.2s var(--ease) infinite;transform-origin:50% 55%;overflow:visible}
.heart-svg .trace{fill:none;stroke:var(--coral);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:trace 3.2s linear infinite}
@keyframes beat{0%,100%{transform:scale(1)}8%{transform:scale(1.035)}16%{transform:scale(1)}24%{transform:scale(1.02)}34%{transform:scale(1)}}
@keyframes glow{0%,100%{opacity:.75;transform:scale(1)}10%{opacity:1;transform:scale(1.04)}30%{opacity:.8;transform:scale(1)}}
.fact{position:absolute;background:color-mix(in srgb,var(--surface) 88%,transparent);border:1px solid var(--line);border-radius:14px;padding:10px 14px;box-shadow:var(--e2);font-size:.82rem;line-height:1.35;max-width:210px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.fact b{display:block;font-family:var(--serif);font-size:1.15rem;color:var(--ink);font-weight:650}
.fact span{color:var(--ink-3)}
.fact.f1{left:-2%;top:16%}.fact.f2{right:-2%;bottom:14%}
.fact a{color:var(--ink-3)}
.hubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.hub{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s,transform .2s var(--ease)}
.hub .hi{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal-deep);flex:none}
.hub b{display:block;font-family:var(--serif);font-size:1.08rem;font-weight:600;line-height:1.25}
.hub small{display:block;color:var(--ink-3);margin-top:3px;font-size:.86rem;line-height:1.4}
@media (hover:hover){.hub:hover{border-color:var(--teal);box-shadow:var(--e2);transform:translateY(-2px)}.hub:hover .hi{background:var(--teal);color:#fff}}
.path{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:st;position:relative}
.path li{list-style:none;position:relative;padding:0 14px}
.path .dot{width:52px;height:52px;border-radius:50%;background:var(--surface);border:2px solid var(--teal);display:grid;place-items:center;color:var(--teal);position:relative;z-index:1;margin-bottom:14px}
.path li::before{content:"";position:absolute;top:26px;left:66px;right:-14px;height:2px;background:linear-gradient(90deg,var(--teal),var(--line-2))}
.path li:last-child::before{display:none}
.path h3{font-size:1.1rem;margin:0 0 .3em}
.path p{font-size:.93rem;color:var(--ink-2);margin:0 0 .5em}
.path a{font-weight:600;font-size:.93rem}
.path .n{font-family:var(--sans);font-size:.78rem;color:var(--ink-3);font-weight:700}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,border-color .25s,transform .25s var(--ease);position:relative}
.card .ph{aspect-ratio:16/9;background:var(--surface-2);overflow:hidden;position:relative}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .ph .noimg{position:absolute;inset:0;display:grid;place-items:center;color:var(--teal);background:radial-gradient(circle at 30% 30%,var(--teal-soft),var(--surface-2))}
.card .bd{padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:1.14rem;margin:0;line-height:1.3}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a::after{content:"";position:absolute;inset:0}
.card p{font-size:.93rem;color:var(--ink-2);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card .meta{display:flex;gap:10px;align-items:center;font-size:.8rem;color:var(--ink-3);margin-top:auto;padding-top:6px;flex-wrap:wrap}
@media (hover:hover){.card:hover{box-shadow:var(--e3);border-color:var(--line-2);transform:translateY(-3px)}}
.more-wrap{display:flex;justify-content:center;margin-top:28px}
.bm-grid{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(20px,4vw,56px);align-items:start}
.bm-svg{width:100%;max-width:300px;max-height:min(70vh,560px);height:auto;margin-inline:auto;display:block;filter:drop-shadow(0 18px 30px rgb(11 122 120/.12))}
.bm-svg .base{fill:url(#bmg);stroke:color-mix(in srgb,var(--teal) 40%,var(--line-2));stroke-width:1.3}
.bm-svg .beat{fill:var(--coral);transform-origin:110px 116px;animation:dot 1.4s ease-in-out infinite}
.bm-svg .rg{fill:transparent;stroke:transparent;cursor:pointer;transition:fill .25s}
.bm-svg .rg:hover,.bm-svg .rg:focus{fill:color-mix(in srgb,var(--teal) 22%,transparent);outline:none}
.bm-svg .rg.on{fill:color-mix(in srgb,var(--coral) 26%,transparent)}
.bm-svg .ln{fill:none;stroke:var(--teal);stroke-width:1;opacity:.35;pointer-events:none}
.bm-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.bm-tabs button{border:1px solid var(--line-2);background:var(--surface);padding:.45em .95em;border-radius:999px;cursor:pointer;font-weight:600;color:var(--ink-2)}
.bm-tabs button[aria-pressed="true"]{background:var(--ink);color:var(--porcelain);border-color:var(--ink)}
.bm-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:22px;min-height:280px}
.bm-panel[hidden]{display:none}
.bm-panel h3{margin-top:0}
.bm-panel ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.bm-panel li a{display:flex;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink)}
.bm-panel li a:hover{background:var(--surface-2)}
.bm-note{font-size:.84rem;color:var(--ink-3);margin-top:14px}
.qa-list{display:grid;gap:14px}
.qa{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:18px 20px}
.qa .who{font-size:.82rem;color:var(--ink-3);margin-bottom:6px;display:flex;gap:8px;align-items:center}
.qa h3{font-size:1.1rem;margin:0 0 .5em}
.qa .ans{color:var(--ink-2);font-size:.97rem}
.qa .ans p:last-child{margin:0}
.band{background:var(--ink);color:#DDE8EE;border-radius:var(--r-xl);padding:clamp(28px,5vw,56px);position:relative;overflow:hidden}
html[data-theme="dark"] .band{background:var(--surface-2);color:var(--ink-2)}
.band h2{color:#fff}html[data-theme="dark"] .band h2{color:var(--ink)}
.band .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:26px}
.band .cols div{border-top:1px solid rgb(255 255 255/.16);padding-top:14px}
.band .cols b{display:block;color:#fff;font-family:var(--serif);font-size:1.08rem;margin-bottom:4px}
html[data-theme="dark"] .band .cols b{color:var(--ink)}
.band a{color:#9FE6E0}
.tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.tool{padding:20px;border-radius:var(--r-m);background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);display:grid;gap:8px}
.tool .ti{color:var(--coral)}
.tool b{font-family:var(--serif);font-size:1.1rem}
.tool small{color:var(--ink-3)}
@media (hover:hover){.tool:hover{border-color:var(--coral)}}
.nl{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:clamp(24px,4vw,44px)}
.form-row{display:flex;gap:8px;flex-wrap:wrap}
.inp{width:100%;border:1px solid var(--line-2);background:var(--surface);border-radius:12px;padding:.72em .95em;outline:none;transition:border-color .2s,box-shadow .2s}
.inp:focus{border-color:var(--teal);box-shadow:0 0 0 4px color-mix(in srgb,var(--teal) 16%,transparent)}
textarea.inp{min-height:120px;resize:vertical}
label.lb{display:block;font-weight:600;font-size:.92rem;margin:0 0 6px}
.field{margin-bottom:14px}
.hp{position:absolute;left:-9999px}
.msg{padding:10px 14px;border-radius:12px;font-size:.93rem;margin-top:10px}
.msg.ok{background:var(--teal-soft);color:var(--teal-deep)}
.msg.err{background:var(--coral-soft);color:var(--coral-ink)}
.crumbs{font-size:.86rem;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:16px}
.crumbs a{color:var(--ink-3);text-decoration:none}
.crumbs a:hover{color:var(--teal)}
.crumbs span[aria-hidden]{opacity:.5}
.a-head{padding:clamp(24px,4vw,48px) 0 18px}
.a-head h1{max-width:24ch;font-size:var(--step-4);margin-bottom:.3em}
.a-head .dek{font-size:var(--step-1);color:var(--ink-2);max-width:60ch;margin-bottom:1em;font-family:var(--serif)}
.byline{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:.9rem;color:var(--ink-2);padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.byline .who{display:flex;gap:8px;align-items:center}
.byline .who a{color:var(--ink);font-weight:700;text-decoration:none}
.byline .who a:hover{color:var(--teal)}
.byline .lbl{color:var(--ink-3)}
.byline .dates{display:flex;gap:16px;flex-wrap:wrap;color:var(--ink-3)}
.av{width:30px;height:30px;border-radius:50%;background:var(--teal-soft);color:var(--teal-deep);display:grid;place-items:center;font-weight:700;font-size:.78rem;flex:none;overflow:hidden}
.av img{width:100%;height:100%;object-fit:cover}
.tools-bar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 0}
.tb{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:.45em .95em;cursor:pointer;font-weight:600;font-size:.88rem;text-decoration:none}
.tb:hover{color:var(--ink);border-color:var(--teal)}
.tb[aria-pressed="true"]{background:var(--teal-soft);color:var(--teal-deep);border-color:var(--teal)}
.hero-img{border-radius:var(--r-l);overflow:hidden;margin:22px 0 8px;background:var(--surface-2);aspect-ratio:16/8}
.hero-img img{width:100%;height:100%;object-fit:cover}
.a-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,64px);padding-bottom:64px}
.a-side{position:relative}
.a-side .stick{position:sticky;top:calc(var(--hdr) + 20px);display:grid;gap:16px}
.toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px 16px 12px}
.toc b{font-size:.84rem;color:var(--ink-3);display:block;margin-bottom:8px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:2px;max-height:50vh;overflow:auto}
.toc a{display:block;padding:6px 10px;border-radius:8px;color:var(--ink-2);text-decoration:none;font-size:.9rem;line-height:1.35;border-left:2px solid transparent}
.toc a:hover{background:var(--surface-2);color:var(--ink)}
.toc a.on{color:var(--teal-deep);border-left-color:var(--coral);background:var(--surface-2)}
.prose{font-family:var(--serif);font-size:clamp(1.06rem,1rem + .25vw,1.2rem);line-height:1.75;max-width:var(--measure);color:var(--ink)}
.prose h2{font-size:var(--step-3);margin:1.9em 0 .55em;scroll-margin-top:calc(var(--hdr) + 24px)}
.prose h3{font-size:var(--step-2);margin:1.6em 0 .5em}
.prose h4{font-size:var(--step-1);margin:1.4em 0 .4em}
.prose p,.prose ul,.prose ol{margin:0 0 1.1em}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--teal)}
.prose strong{font-weight:650}
.prose blockquote{margin:1.4em 0;padding:.4em 0 .4em 1.2em;border-left:3px solid var(--coral);color:var(--ink-2);font-style:italic}
.prose figure{margin:1.6em 0}
.prose figure img{border-radius:var(--r-m)}
.prose figcaption{font-family:var(--sans);font-size:.84rem;color:var(--ink-3);margin-top:8px}
.prose img{border-radius:var(--r-m);margin:1.2em 0}
.prose .tw{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line);border-radius:var(--r-m)}
.prose table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.94rem;line-height:1.5}
.prose th,.prose td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{background:var(--surface-2);font-weight:700}
.prose tr:last-child td{border-bottom:0}
.prose a{word-break:break-word}
.prose details{border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:1em 0;background:var(--surface)}
.gl{all:unset;cursor:help;border-bottom:1.5px dotted var(--teal);color:inherit;position:relative}
.gl:focus-visible{outline:2px solid var(--teal-glow);outline-offset:2px}
.gl-pop{position:absolute;z-index:60;max-width:300px;background:var(--ink);color:var(--porcelain);font-family:var(--sans);font-size:.88rem;line-height:1.45;padding:12px 14px;border-radius:12px;box-shadow:var(--e3)}
html[data-theme="dark"] .gl-pop{background:var(--surface-3);color:var(--ink)}
.gl-pop b{display:block;margin-bottom:3px}
.gl-pop a{color:#9FE6E0;font-size:.82rem}
.blk{border-radius:var(--r-l);padding:22px 24px;margin:0 0 28px;position:relative;font-family:var(--sans);font-size:1rem;line-height:1.65;max-width:var(--measure)}
.blk h2{font-size:var(--step-2);margin:0 0 .5em;display:flex;align-items:center;gap:10px}
.blk p:last-child,.blk ul:last-child{margin-bottom:0}
.blk ul{padding-left:1.2em}
.blk.why{background:var(--teal-soft);color:var(--ink)}
.blk.why h2 .ic{color:var(--teal-deep)}
.blk.sit{background:var(--surface);border:1px dashed var(--line-2)}
.blk.sit .tag{font-size:.8rem;color:var(--ink-3);margin-bottom:6px;display:block}
.blk.doc{background:var(--coral-soft);border:1px solid color-mix(in srgb,var(--coral) 35%,transparent)}
.blk.doc h2 .ic{color:var(--coral-ink)}
.blk.doc .er{display:flex;gap:10px;align-items:flex-start;background:var(--surface);border-radius:12px;padding:12px 14px;margin-top:12px;font-weight:600}
.blk.doc .er .ic{color:var(--coral)}
.facts{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:18px}
.facts b.t{display:flex;gap:8px;align-items:center;font-size:.86rem;color:var(--ink-3);margin-bottom:10px}
.facts ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.facts li{padding-left:18px;position:relative;font-size:.93rem;line-height:1.45}
.facts li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:8px;border-radius:50%;background:var(--coral)}
.trust{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;font-size:.88rem;color:var(--ink-2)}
.trust b{color:var(--ink)}
.trust .row{display:flex;gap:8px;align-items:flex-start;margin:6px 0}
.trust .row .ic{color:var(--teal);margin-top:2px}
.faqs{max-width:var(--measure);margin:36px 0}
.faqs details{border-bottom:1px solid var(--line);padding:4px 0}
.faqs summary{cursor:pointer;list-style:none;padding:14px 36px 14px 0;font-family:var(--serif);font-weight:600;font-size:1.12rem;position:relative}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";position:absolute;right:6px;top:10px;font-size:1.5rem;color:var(--teal);font-family:var(--sans);transition:transform .25s}
.faqs details[open] summary::after{transform:rotate(45deg)}
.faqs .fa{padding:0 0 16px;color:var(--ink-2);font-size:1rem;line-height:1.65}
.askcard{border:2px dashed var(--line-2);border-radius:var(--r-l);padding:24px;max-width:var(--measure);margin:36px 0;background:var(--surface);position:relative}
.askcard h2{font-size:var(--step-2);display:flex;gap:10px;align-items:center;margin-bottom:.4em}
.askcard ol{padding-left:1.3em;margin:0 0 14px;font-size:1rem}
.askcard li{margin:8px 0;padding-bottom:8px;border-bottom:1px solid var(--line)}
.askcard .pn{font-size:.82rem;color:var(--ink-3)}
.sources{max-width:var(--measure);margin:36px 0;font-size:.92rem}
.sources ol{padding-left:1.4em;color:var(--ink-2)}
.sources li{margin:.5em 0;word-break:break-word}
.helpful{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--surface-2);border-radius:var(--r-m);padding:16px 18px;max-width:var(--measure);margin:28px 0}
.helpful b{margin-right:auto}
.notes{max-width:var(--measure);margin:36px 0}
.note{border-left:3px solid var(--teal);padding:4px 0 4px 16px;margin:14px 0}
.note .who{font-size:.82rem;color:var(--ink-3)}
.note p{margin:.3em 0 0;font-size:.98rem}
.adslot{margin:28px 0;min-height:120px;display:block;text-align:center}
.adslot span{display:block;font-size:.72rem;color:var(--ink-3);margin-bottom:6px;font-family:var(--sans)}
.rel{border-top:1px solid var(--line);padding-top:36px}
html.reading .hdr,html.reading .a-side,html.reading .ftr,html.reading .crumbs,html.reading .tools-bar,html.reading .rel,html.reading .notes,html.reading .adslot,html.reading .helpful{display:none!important}
html.reading .a-grid{grid-template-columns:1fr;max-width:760px;margin-inline:auto}
html.reading body{background:var(--surface)}
html.reading .prose{font-size:1.24rem}
.rm-exit{display:none;position:fixed;right:16px;top:16px;z-index:70}
html.reading .rm-exit{display:inline-flex}
.page-hero{padding:clamp(32px,5vw,64px) 0 clamp(20px,3vw,36px)}
.page-hero h1{max-width:20ch}
.page-hero p.dek{font-size:var(--step-1);color:var(--ink-2);max-width:60ch;font-family:var(--serif)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dir-search{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:14px;box-shadow:var(--e1)}
.docs{display:grid;gap:12px}
.doc{display:flex;gap:16px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px 18px;position:relative}
.doc .dav{width:56px;height:56px;border-radius:16px;overflow:hidden;background:var(--teal-soft);display:grid;place-items:center;color:var(--teal-deep);font-weight:700;font-family:var(--serif);font-size:1.2rem;flex:none}
.doc .dav img{width:100%;height:100%;object-fit:cover}
.doc h3{font-size:1.1rem;margin:0 0 2px}
.doc h3 a{color:var(--ink);text-decoration:none}
.doc h3 a::after{content:"";position:absolute;inset:0}
.doc .sp{color:var(--teal-deep);font-weight:600;font-size:.93rem}
.doc .loc{color:var(--ink-3);font-size:.88rem}
.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.spec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-m);padding:16px;text-decoration:none;color:var(--ink);display:block}
.spec b{font-family:var(--serif);font-size:1.05rem;display:block}
.spec span{display:block;font-size:.86rem;color:var(--teal-deep);font-weight:600;margin-top:2px}
.spec small{display:block;color:var(--ink-3);margin-top:6px;font-size:.85rem;line-height:1.45}
@media (hover:hover){.spec:hover{border-color:var(--teal)}}
.states{columns:4 180px;column-gap:24px}
.states a{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);break-inside:avoid}
.states a span{color:var(--ink-3);font-size:.86rem}
.calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);padding:clamp(20px,3vw,32px);max-width:720px}
.calc .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}
.result{margin-top:20px;border-radius:var(--r-m);background:var(--surface-2);padding:18px 20px;display:none}
.result.show{display:block}
.result .big{font-family:var(--serif);font-size:var(--step-4);font-weight:650;line-height:1}
.scale{display:flex;height:12px;margin:14px 0 6px;position:relative}
.scale i{flex:1}.scale i:first-child{border-radius:6px 0 0 6px}.scale i:nth-child(4){border-radius:0 6px 6px 0}
.scale .pin{position:absolute;top:-5px;width:4px;height:22px;background:var(--ink);border-radius:2px;transition:left .5s var(--ease)}
.zones{display:grid;gap:8px;margin-top:12px}
.zones div{display:flex;justify-content:space-between;padding:10px 14px;border-radius:10px;background:var(--surface)}
.gloss-az{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.gloss-az a{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--surface);border:1px solid var(--line);text-decoration:none;font-weight:700;color:var(--ink-2)}
.gloss dl{margin:0}
.gloss dt{font-family:var(--serif);font-weight:650;font-size:1.12rem;margin-top:18px;scroll-margin-top:calc(var(--hdr) + 20px)}
.gloss dd{margin:4px 0 0;color:var(--ink-2);max-width:70ch}
.gloss h2{border-bottom:1px solid var(--line);padding-bottom:6px;margin-top:36px}
.ftr{background:var(--surface);border-top:1px solid var(--line);margin-top:40px;padding:48px 0 28px;font-size:.93rem}
.ftr-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
.ftr h4{font-family:var(--sans);font-size:.86rem;color:var(--ink-3);margin-bottom:12px;font-weight:700}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ftr a{color:var(--ink-2);text-decoration:none}
.ftr a:hover{color:var(--teal)}
.ftr .emg{margin-top:28px;padding:14px 18px;border-radius:var(--r-m);background:var(--coral-soft);color:var(--coral-ink);display:flex;gap:10px;align-items:flex-start;font-weight:600}
.ftr .legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-3);font-size:.85rem}
.social{display:flex;gap:10px;margin-top:14px}
.social a{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);color:var(--ink-2)}
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:560px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--e3);padding:18px;display:none;font-size:.92rem}
.cookie.show{display:block}
.cookie .form-row{margin-top:12px}
.empty{padding:40px;text-align:center;border:1px dashed var(--line-2);border-radius:var(--r-l);color:var(--ink-3);background:var(--surface)}
.note-legal{font-size:.84rem;color:var(--ink-3);border-top:1px solid var(--line);padding-top:14px;margin-top:24px;max-width:var(--measure)}
.hub-hero{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center}
.hub-hero .big-ic{width:88px;height:88px;border-radius:28px;background:var(--teal-soft);color:var(--teal-deep);display:grid;place-items:center}
.pill-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px}
.pill-nav a{padding:.4em .9em;border-radius:999px;border:1px solid var(--line);text-decoration:none;color:var(--ink-2);font-weight:600;font-size:.9rem;background:var(--surface)}
.pill-nav a[aria-current]{background:var(--ink);color:var(--porcelain);border-color:var(--ink)}
.stat-row{display:flex;gap:28px;flex-wrap:wrap;margin-top:16px;color:var(--ink-2);font-size:.92rem}
.stat-row b{font-family:var(--serif);font-size:1.4rem;color:var(--ink);display:block}
@media (max-width:1060px){.nav{display:none}.menu-btn{display:inline-grid}.a-grid{grid-template-columns:1fr}.a-side .stick{position:static}.a-side{order:-1}.a-side .toc{display:none}.band .cols{grid-template-columns:1fr 1fr}.path{grid-template-columns:1fr;gap:18px}.path li{display:grid;grid-template-columns:52px 1fr;gap:0 16px;padding:0}.path li::before{top:52px;left:25px;right:auto;width:2px;height:calc(100% - 34px);background:var(--line-2)}.path .dot{grid-row:span 3;margin:0}}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.heart-stage{max-width:360px;order:-1}.fact.f1{left:0;top:4%}.fact.f2{right:0;bottom:4%}.bm-grid{grid-template-columns:1fr}.bm-svg{max-height:340px}.nl,.two{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr 1fr}.dir-search{grid-template-columns:1fr}}
@media (max-width:520px){.fact{display:none}.band .cols{grid-template-columns:1fr}.ftr-grid{grid-template-columns:1fr}.hub-hero{grid-template-columns:1fr}.byline{font-size:.86rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.ecg path{stroke-dashoffset:0}.heart-svg .trace{stroke-dashoffset:0}}
@media print{.hdr,.ftr,.a-side,.tools-bar,.notes,.helpful,.rel,.adslot,.cookie,#ld,.crumbs,.byline .dates{display:none!important}body{background:#fff;color:#000}.a-grid{display:block}.prose{max-width:none;font-size:12pt}body.print-card main>*:not(.print-only){display:none!important}}
body.print-card .a-grid>*,body.print-card .a-head,body.print-card .hero-img{display:none!important}
body.print-card .askcard{display:block!important;border:1px solid #000}
@keyframes dot{0%,100%{transform:scale(1);opacity:.9}12%{transform:scale(1.5);opacity:1}24%{transform:scale(1)}36%{transform:scale(1.3)}50%{transform:scale(1)}}
