:root{
  --bg:#FFFFFF;--alt:#F2F5F3;--ink:#1E2744;--muted:#46526B;--line:#D9E0DC;--card:#FFFFFF;--soft:#E4ECE7;
  --accent:#3E6556;--accent-ink:#FFFFFF;--link:#3E6556;--navy:#1E2744;--on-navy:#F2F5F3;--on-navy-muted:#C3CCDA;--sage:#7E998D;--sage-lt:#A9C0B4;
  --hf:'Bricolage Grotesque','PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;
  --bf:'Instrument Sans','PingFang SC','Microsoft YaHei','Noto Sans SC',system-ui,sans-serif;
  color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px);-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--bf);font-size:17px;line-height:1.6}
img{max-width:100%;display:block}
a{color:var(--link)}
h1,h2,h3{font-family:var(--hf);margin:0;letter-spacing:-0.015em;line-height:1.12;color:var(--ink)}
h1{font-size:clamp(36px,5vw,60px);font-weight:700;letter-spacing:-0.02em;line-height:1.05}
h2{font-size:clamp(28px,3.6vw,42px);font-weight:700}
h2.h2s{font-size:clamp(24px,2.8vw,34px)}
h3{font-size:21px;font-weight:700;line-height:1.2}
p{margin:0}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}
.sec{padding:clamp(56px,8vw,96px) 0;background:var(--bg)}
.sec.alt{background:var(--alt)}
.sec.navy{background:var(--navy);color:var(--on-navy)}
.sec.navy h2,.sec.navy h3{color:var(--on-navy)}
.muted{color:var(--muted)}.lead{font-size:19px}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--link);margin-bottom:14px}
.eyebrow.onnavy{color:var(--sage-lt)}
.label{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.previewbar{background:#0A1020;color:#E7ECF3;font-size:13px;text-align:center;padding:6px 12px}
.top{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:env(safe-area-inset-top,0px);z-index:20}
.bar{display:flex;align-items:center;gap:16px 22px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--hf);font-size:22px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.brand.light{color:var(--on-navy)}
.nav{display:flex;gap:6px 20px;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;min-height:44px;display:inline-flex;align-items:center;border-bottom:2px solid transparent}
.nav a[aria-current="page"]{border-bottom-color:var(--accent)}
.right{display:flex;align-items:center;gap:16px}
.lang{font-size:14px;color:var(--muted);white-space:nowrap}
.menu-btn{display:none;margin-left:auto;min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:600 15px var(--bf);cursor:pointer}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border-radius:8px;font:600 16px var(--bf);text-decoration:none;border:1.5px solid transparent;cursor:pointer;text-align:center}
.btn.sm{min-height:44px;padding:0 18px;font-size:15px}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-onnavy{background:var(--sage-lt);color:#14203F}
.btn:hover{opacity:.9}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.more{font-weight:600;font-size:15px;color:var(--link);text-decoration:none}
.more:hover{text-decoration:underline}
.hero{background:var(--alt)}
.hero-grid{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.hero-text{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.hero-text .actions{margin-top:8px}
.hero-media{flex:1.35 1 460px;min-width:0}
.hero-media img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:20px;box-shadow:0 12px 30px -12px rgba(30,39,68,.45)}
.head{max-width:760px;margin-bottom:40px;display:flex;flex-direction:column;gap:12px}
.head.row-between{max-width:none;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between}
.head .eyebrow{margin-bottom:0}
.page-head{max-width:820px;display:flex;flex-direction:column;gap:16px}
.page-head .eyebrow{margin-bottom:0}
.grid{display:grid;gap:20px}
.g4{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:10px}
.card.flat{background:var(--bg)}
.alt .card.flat{background:var(--card)}
.card.dark{background:#273459;border-color:#3A4770;color:var(--on-navy-muted)}
.card.dark p{color:var(--on-navy-muted)}
.card.svc{transition:transform .15s,box-shadow .15s}
.card.svc:hover{box-shadow:0 6px 14px -9px rgba(27,37,69,.5)}
.card.svc .more{margin-top:auto;padding-top:6px}
.num{font-family:var(--hf);font-size:15px;font-weight:700;color:var(--link)}
.card.dark .num{color:var(--sage-lt)}
.stat{font-family:var(--hf);font-size:clamp(26px,2.6vw,36px);font-weight:700;line-height:1.1;color:var(--ink);overflow-wrap:anywhere}
.price{font-family:var(--hf);font-size:20px;font-weight:700;color:var(--ink);margin-top:auto;padding-top:8px}
.card .btn{align-self:flex-start;margin-top:6px}
.band{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,4vw,40px)}
.band>div{flex:1 1 420px;max-width:660px}
.band h2{font-size:clamp(26px,3vw,36px);margin-bottom:10px}
.split{display:flex;flex-wrap:wrap;gap:48px}
.split-l{flex:1 1 300px;max-width:420px;display:flex;flex-direction:column;gap:14px}
.split-l .eyebrow{margin-bottom:0}
.split-r{flex:2 1 460px;min-width:0}
.story{display:flex;flex-direction:column;gap:18px;font-size:18px}
.faqs{border-top:1px solid var(--line)}
.faq{border-bottom:1px solid var(--line)}
.faq summary{font-family:var(--hf);font-size:19px;font-weight:600;cursor:pointer;min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:24px;color:var(--link)}
.faq[open] summary::after{content:"–"}
.faq p{padding:0 0 20px;color:var(--muted)}
.cta{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.cta-text{flex:1 1 460px;max-width:640px;display:flex;flex-direction:column;gap:12px}
.cta-text p{color:var(--on-navy-muted);font-size:18px}
.cta-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.mail{color:var(--on-navy-muted);font-size:15px;word-break:break-all}
.cover{aspect-ratio:1200/630;border-radius:10px;background:var(--soft);position:relative;overflow:hidden}.cover svg{width:100%;height:100%;display:block}.art-hero{border-radius:14px;overflow:hidden;aspect-ratio:1200/630}.art-hero svg{width:100%;height:100%;display:block}
.cover-tag{position:absolute;left:14px;bottom:12px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--card);color:var(--ink);padding:5px 10px;border-radius:999px}
.post{padding:20px}
.post-body{display:flex;flex-direction:column;gap:10px;flex:1}
.post .cat{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.post h3 a{color:var(--ink);text-decoration:none}
.post h3 a:hover{text-decoration:underline}
.post .more{margin-top:auto}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.chip{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 15px var(--bf);cursor:pointer}
.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.feature{flex-direction:row;flex-wrap:wrap;padding:0;gap:0;overflow:hidden}
.feature-cover{flex:1 1 420px;min-width:0;padding:20px}
.feature-cover .cover{height:100%;min-height:260px;aspect-ratio:auto}
.feature-body{flex:1 1 420px;padding:clamp(24px,4vw,44px);display:flex;flex-direction:column;justify-content:center;gap:14px}
.feature-body .eyebrow{margin-bottom:0}
.empty{margin-top:24px}
.inline-form{flex:1 1 420px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.inline-form .field{flex:1 1 240px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:14px;font-weight:600}
input,select,textarea{font:16px var(--bf);color:var(--ink);background:var(--bg);border:1px solid #8A97B0;border-radius:8px;padding:0 14px;min-height:48px;width:100%}
textarea{padding:12px 14px;resize:vertical}
.formmsg{flex-basis:100%;font-size:15px;color:var(--link);font-weight:600}
.contact-grid{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.form{flex:1 1 460px;padding:clamp(22px,4vw,36px);gap:18px}
.row2{display:flex;flex-wrap:wrap;gap:16px}.row2 .field{flex:1 1 220px}
.details{flex:1 1 320px;display:flex;flex-direction:column;gap:20px;min-width:0}
.detail{display:flex;flex-direction:column;gap:2px}
.dv{font-size:17px;word-break:break-word}
.mark-panel{flex:1 1 340px;max-width:440px;margin:0 auto;aspect-ratio:1;border-radius:22px;background:var(--soft) url(/assets/logo.png) no-repeat center/56% auto}
.svc-row{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.svc-l{flex:1 1 360px;min-width:0;display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.svc-r{flex:1 1 340px}
.svc-r ul,.card ul{margin:0;padding-left:20px;color:var(--muted)}
.svc-r li,.card li{margin-bottom:8px}
.post-layout{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.post-main{flex:1 1 620px;min-width:0;max-width:760px;display:flex;flex-direction:column;gap:22px}
.post-side{flex:0 1 300px;min-width:0;display:flex;flex-direction:column;gap:20px;position:sticky;top:110px}
.back{color:var(--muted);text-decoration:none;font-size:15px}
.byline{font-size:15px}
.post-cover .cover{aspect-ratio:16/9}
.inline-ph{border:1.5px dashed #8A97B0;border-radius:12px;min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--alt)}
blockquote{margin:6px 0;padding:6px 0 6px 24px;border-left:3px solid var(--accent);font-family:var(--hf);font-size:24px;line-height:1.35;font-weight:600}
.share{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.toc{display:flex;flex-direction:column}
.toc a{color:var(--ink);text-decoration:none;min-height:40px;display:flex;align-items:center;font-size:15px}
.legal{max-width:760px;display:flex;flex-direction:column;gap:16px}
.legal .note{background:var(--alt);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:14px;color:var(--muted)}
.foot{background:var(--navy);color:var(--on-navy-muted);padding:72px 0 32px}
.fgrid{display:flex;flex-wrap:wrap;gap:40px}
.fgrid>div{flex:1 1 170px;display:flex;flex-direction:column;gap:6px;min-width:0}
.fgrid>.fbrand{flex:1 1 300px;gap:14px}
.foot a{color:var(--on-navy-muted);text-decoration:none;font-size:15px;min-height:32px;display:inline-flex;align-items:center}
.foot a:hover{color:#fff}
.foot .brk{word-break:break-all}
.fh{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy);margin-bottom:6px}
.legalrow{border-top:1px solid #2B3855;margin-top:48px;padding-top:24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:14px}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:#101828;color:#fff;padding:12px 18px;border-radius:10px;font-size:15px;z-index:50;max-width:calc(100% - 32px);text-align:center}
:focus-visible{outline:3px solid var(--sage);outline-offset:2px}
@media (max-width:980px){
  .right .lang{display:none}
  .menu-btn{display:inline-flex;align-items:center}
  .nav{display:none;width:100%;flex-direction:column;margin-left:0;gap:0;order:5}
  .nav.open{display:flex}
  .right{order:4;margin-left:0;width:100%}
  .bar .right .btn{width:100%}
  .post-side{position:static;flex-basis:100%}
}

.g5{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.small{font-size:14px}.srcline{margin-top:20px}
.stat-card{gap:4px}.stat-l{font-weight:600;font-size:16px}
.mini{display:flex;flex-direction:column;gap:2px}.mini p:last-child{font-size:16px}
.actions.tight{margin-top:6px;align-items:center}
.svc-r{flex:1.2 1 420px;min-width:0;display:flex;flex-direction:column;gap:16px}
.svc-r ol{margin:0;padding-left:22px;color:var(--muted)}.svc-r ol li{margin-bottom:8px}
.search{max-width:420px;margin-top:4px}
.tldr{border-left:4px solid var(--accent);background:var(--alt);padding:16px 20px;border-radius:0 12px 12px 0}
.tldr p:last-child{font-size:18px;color:var(--ink)}
.crumbs{font-size:14px;color:var(--muted)}.crumbs a{color:var(--muted)}
.post-main h2{margin-top:14px}.post-main p,.post-main li{font-size:18px}
.post-main ul,.post-main ol{margin:0;padding-left:24px;display:flex;flex-direction:column;gap:6px}
.tocb{background:none;border:0;text-align:left;font:15px var(--bf);color:var(--ink);min-height:40px;cursor:pointer;padding:0}
.tocb:hover{text-decoration:underline}
.band.tool{border-color:var(--accent)}
.ready{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}
.ready .form{flex:1 1 520px}.ready .result{flex:1 1 320px}
fieldset{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.check{display:flex;gap:12px;align-items:flex-start;min-height:44px;cursor:pointer;font-size:17px}
.check input{width:22px;height:22px;min-height:0;flex:0 0 auto;margin-top:3px;accent-color:var(--accent)}
.result h3{font-size:26px}.result ul{margin:0;padding-left:20px}

.banner{width:100%;height:auto;display:block;border-radius:18px}
.sec.tight{padding:24px 0 56px}
.crumbs{font-size:14px;color:var(--muted)}.crumbs a{color:var(--muted)}
.tool-grid{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.tool-form{flex:1 1 440px;min-width:0;gap:16px}
.tool-out{flex:1 1 380px;min-width:0;position:sticky;top:110px;gap:14px}
.tool-form fieldset{display:flex;flex-direction:column;gap:14px}
.tool-form legend{padding:0;margin-bottom:6px}
.hint{font-size:13px;color:var(--muted)}
.kv{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--line);font-size:16px}
.kv span:last-child{font-weight:600;text-align:right}
.kv.total{font-family:var(--hf);font-size:20px;border-bottom:2px solid var(--ink)}
.kv.good span:last-child{color:var(--accent)}.kv.bad span:last-child{color:#B3261E}
.note-box{background:var(--alt);border-radius:10px;padding:12px 14px;font-size:14px;color:var(--muted)}
.mlist{margin:0 0 20px;padding-left:20px;display:flex;flex-direction:column;gap:8px;color:var(--muted)}
.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th,.tbl td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.tbl th{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
pre.code{background:#14203F;color:#E8EEF7;padding:14px;border-radius:10px;overflow-x:auto;font-size:13px;line-height:1.5;margin:0;white-space:pre}
.calfilters{display:flex;flex-wrap:wrap;gap:6px 24px;border:0;padding:0;margin:0 0 16px;flex-direction:row}
.calfilters legend{width:100%;padding:0}
.callist h3{margin:22px 0 6px;font-size:22px}
.calrow{display:flex;flex-wrap:wrap;gap:6px 16px;padding:12px 0;border-bottom:1px solid var(--line)}
.caldate{flex:0 0 130px;font-weight:600}
.calbody{flex:1 1 320px;min-width:0}
.calbody p{font-size:15px}
.tag{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:999px;margin-right:6px;background:var(--soft);color:var(--ink)}
.tag.th{background:#DCEBE4}.tag.cn{background:#F3E1DC}.tag.mk{background:#DFE5F5}.tag.rt{background:#F1ECD6}
.tag.conf{background:transparent;border:1px solid var(--line);color:var(--muted)}
@media (max-width:980px){.tool-out{position:static}}

@media (max-width:1500px) and (min-width:981px){.right .lang{display:none}}

.card,.band>div,.tldr,.mini,.detail,.kv{min-width:0;overflow-wrap:break-word}
.card h3,.card p,.card li{overflow-wrap:break-word}
.stat-card .stat-l{font-size:15px}
.btn{max-width:100%;white-space:normal;line-height:1.25;padding-top:10px;padding-bottom:10px}
.chip{max-width:100%;white-space:normal;text-align:center;line-height:1.2;padding-top:10px;padding-bottom:10px}
.g4{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.g3{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.g5{grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr))}
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:#000;padding:10px 14px;z-index:100}.skip:focus{left:8px;top:8px}

.viz{margin:8px 0 12px;padding:18px 18px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card);min-width:0}
.viz-t{font-family:var(--hf);font-weight:700;font-size:18px;margin-bottom:10px}
.viz svg{display:block;max-width:560px;margin:0 auto}
.viz svg text{font-family:var(--bf)}
.viz figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.tbl-wrap{overflow-x:auto}
.viz .tbl td,.viz .tbl th{vertical-align:top;font-size:14px}
.vstats{display:flex;flex-wrap:wrap;gap:12px}.vstat{flex:1 1 140px;min-width:0;background:var(--soft);border-radius:12px;padding:14px}.vstat-n{font-family:var(--hf);font-size:26px;font-weight:700;color:var(--accent);overflow-wrap:anywhere}.vstat-l{font-size:14px;color:var(--muted)}
.callout{border-left:4px solid var(--accent);background:var(--alt);padding:14px 18px;border-radius:0 12px 12px 0}.callout-t{font-family:var(--hf);font-weight:700;margin-bottom:4px}
.post-main figure{margin:8px 0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.viz-img{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
.cover img,.cover-hero{width:100%;height:100%;display:block;object-fit:cover}
.cover-hero{height:auto;border-radius:14px;aspect-ratio:1200/630}
.cover{aspect-ratio:1200/630}
.toplist{counter-reset:t;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}
.toplist li{counter-increment:t;display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}
.toplist li::before{content:counter(t);flex:0 0 32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.toplist a{font-weight:600;color:var(--ink);text-decoration:none;overflow-wrap:break-word}.toplist a:hover{text-decoration:underline}.toplist span{display:block;font-size:13px}

.sec.tight-top{padding-top:0}.sec.tight-bottom{padding-bottom:28px}
.carousel{position:relative}
.car-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 60px)/4);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 10px;scrollbar-width:thin}
.car-track>*{scroll-snap-align:start;min-width:0}
.car-ctrl{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}
.car-ctrl .muted{margin-right:auto}
.car-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);font-size:20px;cursor:pointer}
.car-btn:hover{background:var(--ink);color:#fff}
@media (max-width:980px){.car-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:600px){.car-track{grid-auto-columns:82%}}
.fgrid>.fsvc{flex:2 1 360px}
.fsvc-list{display:grid;grid-template-columns:1fr 1fr;gap:2px 28px}
@media (max-width:600px){.fsvc-list{grid-template-columns:1fr}}
.fgrid>.fbrand{flex:1 1 240px}.fgrid>.fsvc{flex:2.6 1 440px}.fgrid>div:nth-child(3){flex:0.8 1 140px}.fgrid>div:nth-child(4){flex:1.2 1 230px}
.fsvc-list{align-items:start}.fsvc-list a{min-height:0;padding:5px 0;line-height:1.35}
.foot .brk{word-break:normal;overflow-wrap:anywhere}
.fgrid>.fbrand{flex:1 1 210px}.fgrid>.fsvc{flex:2.4 1 400px}.fgrid>div:nth-child(3){flex:0.7 1 120px}.fgrid>div:nth-child(4){flex:1 1 220px}
.photo-credit{font-size:12px;color:var(--muted);margin-top:6px}

.scen .scen-card{display:flex;flex-direction:column;gap:6px}
.scen-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9a3b2f}
.scen-k.fix{color:var(--accent);margin-top:8px}
.scen-card h3{font-size:19px;line-height:1.3}
.ticks{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.ticks li{position:relative;padding-left:24px;font-size:15px}
.ticks li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
.scen-r{margin-top:auto;padding-top:10px;border-top:1px solid var(--line);font-size:15px}
.usp{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;background:#E4ECE7;color:var(--ink);border-radius:20px;padding:44px;border:1px solid #cfdcd4}
.usp .lead{color:var(--ink)}
.usp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}
.usp-stats p{color:var(--muted);font-size:14px;margin:0}
.usp-stats .usp-n{font-family:var(--hf);font-size:30px;font-weight:700;color:var(--accent);margin-bottom:4px}
.usp-viz .viz{background:#fff;color:var(--ink)}

@media (max-width:900px){.usp{grid-template-columns:1fr;padding:28px}.usp-stats{grid-template-columns:1fr}}
.top10 .car-track{grid-auto-columns:calc((100% - 40px)/3);counter-reset:t}
.top10 .post{position:relative;counter-increment:t}
.top10 .post::before{content:counter(t);position:absolute;top:12px;left:12px;z-index:3;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;box-shadow:0 2px 3px rgba(0,0,0,.2)}
@media (max-width:980px){.top10 .car-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:600px){.top10 .car-track{grid-auto-columns:85%}}
.more-wrap{text-align:center;margin-top:28px}
.more-wrap [hidden]{display:none}
.scen-link{display:inline-block;margin-top:8px;font-size:14px}
.scen-car .car-track{grid-auto-columns:calc((100% - 40px)/3)}
@media (max-width:980px){.scen-car .car-track{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:600px){.scen-car .car-track{grid-auto-columns:85%}}

[hidden]{display:none !important}
#postgrid{position:relative}
#postgrid.has-more::after{content:"";position:absolute;left:-8px;right:-8px;bottom:-4px;height:260px;pointer-events:none;background:linear-gradient(to bottom,rgba(242,245,243,0),rgba(242,245,243,.85) 55%,#F2F5F3 100%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 45%);mask-image:linear-gradient(to bottom,transparent,#000 45%)}
.more-wrap{position:relative;z-index:2;margin-top:8px}
.ready legend,.tool-form legend,.form legend{display:block;margin-bottom:18px}
.lang-sw{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:999px;padding:3px;font-size:14px;font-weight:600}
.lang-sw>*{padding:5px 11px;border-radius:999px;text-decoration:none;color:var(--ink)}
.lang-sw .on{background:var(--ink);color:#fff}
.lang-sw a:hover{background:var(--soft)}
.about-hero{max-width:760px}
.wide-photo{margin:0}.wide-photo img{width:100%;height:auto;aspect-ratio:5/2;object-fit:cover;border-radius:18px;display:block;background:var(--soft)}

.calc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:start}
@media (max-width:900px){.calc-grid{grid-template-columns:1fr}}
.calc fieldset{border:0;padding:0;margin:0;display:grid;gap:14px}
.calc label{display:grid;gap:6px;font-size:14px;font-weight:600}
.calc input,.calc select{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0;width:100%}
.calc-out{position:sticky;top:96px}
.calc-kv{display:grid;gap:0;margin:8px 0 12px}
.calc-kv>div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.calc-kv dt{color:var(--muted);font-size:14px}.calc-kv dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.calc-kv .hi dd{color:var(--accent);font-weight:800}
.serp-t{color:#1a0dab;font-weight:600}.serp-d{color:var(--muted);font-size:13px}
.tools-grid{position:relative}
.tools-fade{height:0}
#postgrid.has-more::after,.tools-grid.has-more::after{content:"";position:absolute;left:-8px;right:-8px;bottom:-4px;height:240px;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.85) 55%,#fff 100%);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 45%);mask-image:linear-gradient(to bottom,transparent,#000 45%)}
.sec.alt #postgrid.has-more::after{background:linear-gradient(to bottom,rgba(242,245,243,0),rgba(242,245,243,.85) 55%,#F2F5F3 100%)}
.calc-out .calc-kv,.calc-kv{max-width:none;width:100%}.calc input,.calc select{font-weight:400}
.toc a.tocb{display:block;padding:6px 0;text-decoration:none;color:var(--ink);line-height:1.4}.toc a.tocb:hover{color:var(--accent)}

/* ===== Reports module ===== */
.rpt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.rpt-chip{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:13.5px;color:var(--muted)}
.rpt-chip b{color:var(--ink);font-weight:600}
.rpt-toc{display:flex;flex-direction:column}
.rpt-tocrow{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rpt-tocrow:last-child{border-bottom:0}
.rpt-tocn{font-size:13px;font-weight:700;color:var(--sage);min-width:24px;padding-top:3px}
.rpt-tocm{flex:1;min-width:0}
.rpt-tocm b{display:block;font-weight:600;font-size:16px}
.rpt-tocm span{display:block;font-size:14px;color:var(--muted);margin-top:1px}
.rpt-pill{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:3px 10px;margin-top:3px}
.rpt-pill.open{background:var(--soft);color:var(--accent)}
.rpt-pill.lock{background:#EDEFF2;color:var(--muted)}
.rpt-sect{border-top:1px solid var(--line);padding-top:26px;margin-top:8px}
.rpt-shead{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.rpt-snum{font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--sage)}
.rpt-sdesc{color:var(--muted);font-size:16px;margin:6px 0 14px}
.rpt-price{font-family:var(--hf);font-size:36px;font-weight:700;line-height:1;margin:2px 0}
.rpt-price small{font-size:15px;color:var(--muted);font-weight:500;font-family:var(--bf)}
.rpt-buy ul{margin:4px 0 0;padding-left:20px;color:var(--muted);font-size:15px}
.rpt-buy li{margin-bottom:7px}
.rpt-div{height:1px;background:var(--line);margin:6px 0}
.rpt-paynote{font-size:13px;color:var(--muted);line-height:1.5;margin:0}
.rpt-gate{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.rpt-fog{padding:22px 22px 76px;filter:blur(4.5px);opacity:.5;user-select:none;pointer-events:none}
.rpt-fog p{margin:0;font-size:16px}
.rpt-gover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:10px;padding:22px;text-align:center;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.88) 48%,#fff 100%)}
.rpt-ginc{list-style:none;margin:0;padding:0;font-size:14px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center}
.rpt-ginc li::before{content:"\25B8 ";color:var(--sage)}
.rpt-glock{font-size:15px;font-weight:600}
.rpt-faq{border-bottom:1px solid var(--line)}
.rpt-faq summary{cursor:pointer;padding:16px 0;font-weight:600;font-size:17px;list-style:none;display:flex;gap:10px;align-items:flex-start}
.rpt-faq summary::-webkit-details-marker{display:none}
.rpt-faq summary::before{content:"+";color:var(--accent);font-weight:700;font-size:20px;width:16px;flex:none}
.rpt-faq[open] summary::before{content:"\2013"}
.rpt-faq p{color:var(--muted);margin:0 0 16px;font-size:16px;padding-left:26px}
.rpt-viz{margin:10px 0 12px;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.rpt-viz figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.rpt-brow{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:14.5px}
.rpt-bl{width:40%;flex:none;color:var(--muted)}
.rpt-bb{flex:1;height:20px;background:var(--alt);border-radius:4px;overflow:hidden}
.rpt-bf{height:100%;background:var(--accent);border-radius:4px}
.rpt-bf.d{background:var(--sage-lt)}
.rpt-bv{width:30px;flex:none;text-align:right;font-weight:700}
.rpt-card-link{text-decoration:none;color:inherit;display:block}
.rpt-cover{background:var(--navy);border-radius:12px;padding:22px;display:flex;align-items:center;gap:14px;margin-bottom:4px}
.rpt-cover img{width:44px;height:44px}
.rpt-cover span{color:var(--on-navy);font:700 17px var(--hf);line-height:1.25}
#rptdlg{border:0;border-radius:16px;padding:0;max-width:560px;width:calc(100% - 32px);box-shadow:0 15px 35px -15px rgba(30,39,68,.6)}
#rptdlg::backdrop{background:rgba(30,39,68,.55)}
.rpt-mod{padding:28px;position:relative}
.rpt-mod h3{margin-bottom:6px}
.rpt-opt{border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:14px}
.rpt-opt.hl{border-color:var(--accent);background:var(--alt)}
.rpt-opt h4{margin:0 0 4px;font:700 17px var(--hf)}
.rpt-opt p{font-size:14.5px;color:var(--muted);margin-bottom:12px}
.rpt-x{position:absolute;top:10px;right:14px;background:transparent;border:0;font-size:28px;line-height:1;color:var(--muted);cursor:pointer}
@media(max-width:560px){.rpt-bl{width:46%}}



/* ===== polish: header size, report spacing, home "Our edge", about ===== */
main[data-report] h1{text-wrap:balance}
.bar{gap:14px 24px;padding-top:12px;padding-bottom:12px}
.brand{font-size:20px}
.brand img{width:36px;height:36px}
.nav{gap:4px 26px}
.nav a{font-size:15px}
.top .btn{font-size:15px;min-height:44px;padding:0 20px}
.lang-sw{font-size:13px}
.lang-sw>*{padding:5px 10px}

/* report cards (all three share one layout) */
.rpt-card-link{display:flex;flex-direction:column}
.rpt-card{gap:16px;padding:30px}
.rpt-cover{min-height:120px;padding:26px 26px;margin-bottom:6px;gap:16px}
.rpt-cover span{font-size:18px;line-height:1.3}
.rpt-card .label{margin-top:4px}
.rpt-card h3{line-height:1.3}
.rpt-card p.muted{line-height:1.65}
.rpt-card .more{margin-top:auto;padding-top:10px}

/* report body */
.rpt-sect{margin-top:44px;padding-top:38px}
.rpt-shead{margin-bottom:6px}
.rpt-sdesc{margin:10px 0 26px;line-height:1.65}
.rpt-sect p{line-height:1.75}
.rpt-sect p + p{margin-top:18px}
.rpt-sect .tbl-wrap{margin:20px 0 8px}
.rpt-sect .tbl th,.rpt-sect .tbl td{padding:14px 12px}
.rpt-sect .tbl-wrap + p{margin-top:16px}
.rpt-sect .tbl-wrap + p + p{margin-top:22px}
.rpt-sect p + .tbl-wrap{margin-top:24px}
.rpt-sect .rpt-viz{margin:22px 0 26px;padding:24px}
.rpt-sect .rpt-viz + p{margin-top:22px}
.rpt-sect .rpt-brow{margin-bottom:12px}
.tldr{padding:24px 28px}
.rpt-gate{min-height:340px}
.rpt-fog{padding:30px 30px 30px}
.rpt-gover{justify-content:center;gap:18px;padding:34px 28px}
.rpt-ginc{gap:10px 22px;font-size:15px;line-height:1.5}
.rpt-glock{margin-top:4px}
.rpt-buy{gap:14px}
.rpt-faq summary{padding:20px 0}
.rpt-faq p{line-height:1.7;margin-bottom:20px}

/* home: "Our edge" block */
.usp{padding:56px;gap:56px}
.usp h2{margin-bottom:22px}
.usp .lead{line-height:1.7;margin-bottom:6px}
.usp-stats{gap:32px;margin:40px 0 40px}
.usp-stats p{line-height:1.6}
.usp-stats .usp-n{margin-bottom:12px}
.usp .actions{margin-top:0;gap:16px}
.usp-viz .viz{padding:30px}
@media (max-width:900px){.usp{padding:30px}.usp-stats{gap:26px;margin:32px 0}}

/* about */
.wide-photo img.banner{aspect-ratio:auto;object-fit:contain;height:auto}
.stat-w{font-size:clamp(26px,2.5vw,32px);line-height:1.2}
@media (max-width:900px){.rpt-sect{margin-top:36px;padding-top:30px}}
