
:root{
  --navy:#0B2143; --navy-2:#132E5E; --blue:#1A5FD6; --blue-d:#1450B8;
  --sky:#EAF1FB; --sky-2:#F3F7FC; --orange:#EE7A16; --orange-d:#D66A0C;
  --ink:#1B2537; --gray:#5C6B80; --line:#DFE6EF; --bg:#F6F8FB; --white:#fff;
  --green:#178A50;
  --h:"Archivo",-apple-system,"Segoe UI",Arial,sans-serif;
  --b:"Inter",-apple-system,"Segoe UI",Arial,sans-serif;
  --shadow:0 1px 2px rgba(11,33,67,.06),0 8px 24px rgba(11,33,67,.07);
  --shadow-lg:0 2px 4px rgba(11,33,67,.06),0 16px 40px rgba(11,33,67,.12);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:var(--b);font-size:16px;line-height:1.6;color:var(--ink);background:var(--white)}
a{text-decoration:none;color:inherit}
img,svg{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-999px;background:var(--orange);color:#fff;padding:.6rem 1rem;z-index:99}
.skip:focus{left:1rem;top:0}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
h1,h2,h3,h4{font-family:var(--h);margin:0;color:var(--navy)}
.kick{font:600 12.5px/1 var(--b);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.sec-h{font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.015em;line-height:1.12}
.sec-sub{color:var(--gray);max-width:62ch;margin:12px 0 0;font-size:16.5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 var(--b);border-radius:6px;padding:13px 22px;cursor:pointer;border:1px solid transparent;transition:.15s;white-space:nowrap}
.btn.orange{background:var(--orange);color:#fff;box-shadow:0 2px 6px rgba(238,122,22,.35)}
.btn.orange:hover{background:var(--orange-d)}
.btn.blue{background:var(--blue);color:#fff}
.btn.blue:hover{background:var(--blue-d)}
.btn.line{border-color:#B9C6DA;color:var(--navy);background:#fff}
.btn.line:hover{border-color:var(--blue);color:var(--blue)}
.btn.ghostw{border-color:rgba(255,255,255,.45);color:#fff}
.btn.ghostw:hover{background:rgba(255,255,255,.1)}

/* ============ top bar ============ */
.topbar{background:var(--navy);color:#C6D4EA;font-size:13px}
.topbar .wrap{display:flex;align-items:center;gap:22px;height:38px}
.topbar a{display:inline-flex;align-items:center;gap:6px;color:#C6D4EA}
.topbar a:hover{color:#fff}
.topbar .r{margin-left:auto;display:flex;gap:18px}
.topbar svg{width:13px;height:13px}
@media (max-width:760px){.topbar .hide-m{display:none}}

/* ============ nav ============ */
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);transition:box-shadow .2s}
.nav.scrolled{box-shadow:var(--shadow)}
.nav .wrap{display:flex;align-items:center;gap:30px;height:74px}
.menu{display:flex;gap:26px;font:500 15px var(--b)}
.menu a{display:inline-flex;align-items:center;gap:5px;color:var(--ink);padding:8px 0;border-bottom:2px solid transparent}
.menu a:hover{color:var(--blue)}
.menu svg{width:10px;height:10px;color:#8fa0b8}
.nav .r{margin-left:auto;display:flex;align-items:center;gap:16px}
.icobtn{width:40px;height:40px;border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--gray);background:#fff;cursor:pointer}
.icobtn:hover{color:var(--blue);border-color:var(--blue)}
@media (max-width:1080px){.menu{display:none}}
@media (max-width:560px){.nav .btn{display:none}}

/* logo lockup */
.lg{display:flex;align-items:center;gap:11px}
.lg .mk{width:42px;height:42px;flex:none}
.lg .tx{line-height:1.05}
.lg .nm{font:700 20px var(--h);letter-spacing:-.02em;color:var(--navy)}
.lg .tag{font:600 8.6px var(--b);letter-spacing:.21em;text-transform:uppercase;color:#7E8DA5;margin-top:3px}
.lg.foot .nm{color:#fff}.lg.foot .tag{color:#7E92B5}

/* ============ hero ============ */
.hero{background:linear-gradient(118deg,#0B2143 0%,#132E5E 58%,#1A4180 100%);color:#fff;position:relative;overflow:hidden}
.hero .deco{position:absolute;inset:0;opacity:.5;pointer-events:none}
.hero .wrap{position:relative;padding-top:74px;padding-bottom:120px}
.hero .inner{max-width:780px}
.hero .pre{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:999px;font:600 12.5px var(--b);letter-spacing:.05em;padding:7px 14px;color:#D8E4F5;margin-bottom:26px}
.hero .pre i{width:7px;height:7px;border-radius:50%;background:#4ADE80}
.hero h1{color:#fff;font-size:clamp(34px,4.6vw,56px);font-weight:800;letter-spacing:-.02em;line-height:1.08;max-width:19ch}
.hero p.sub{font-size:18px;line-height:1.6;color:#C9D6EC;max-width:58ch;margin:20px 0 32px}
.srch{display:flex;background:#fff;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-lg);max-width:720px}
.srch select{border:0;outline:0;font:500 14.5px var(--b);color:var(--navy);background:var(--sky-2);padding:0 16px;border-right:1px solid var(--line);cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%235C6B80' fill='none' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:34px}
.srch input{flex:1;border:0;outline:0;font:15.5px var(--b);padding:17px 18px;color:var(--ink);min-width:0}
.srch button{border:0;background:var(--orange);color:#fff;font:600 15px var(--b);padding:0 28px;cursor:pointer;display:flex;align-items:center;gap:8px}
.srch button:hover{background:var(--orange-d)}
.pop{margin-top:16px;font-size:13.5px;color:#9FB2D2;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}
.pop a{color:#D8E4F5;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px 12px}
.pop a:hover{background:rgba(255,255,255,.12)}
@media (max-width:640px){.srch select{display:none}}

/* stats bar overlap */
.statbar{position:relative;margin-top:-64px;z-index:5}
.statbar .card{background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:repeat(4,1fr)}
.st{padding:26px 30px;border-left:1px solid var(--line)}
.st:first-child{border-left:0}
.st .v{font:800 32px var(--h);letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums}
.st .v small{font:700 20px var(--h);color:var(--blue)}
.st .l{font:500 13.5px var(--b);color:var(--gray);margin-top:4px}
@media (max-width:900px){.statbar .card{grid-template-columns:1fr 1fr}.st:nth-child(3){border-left:0}.st:nth-child(n+3){border-top:1px solid var(--line)}}

/* client strip */
.clients{padding:44px 0 10px;text-align:center}
.clients p{font:600 13px var(--b);letter-spacing:.1em;text-transform:uppercase;color:#8A99AF;margin:0 0 22px}
.clients .row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px}
.cl{height:44px;min-width:132px;border:1px dashed #C5D0DF;border-radius:6px;display:flex;align-items:center;justify-content:center;font:600 12px var(--b);color:#9AA8BC;background:var(--sky-2);padding:0 18px}

/* ============ sections ============ */
section.blk{padding:78px 0}
section.tint{background:var(--bg)}
.sec-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:38px}
.sec-top .more{font:600 15px var(--b);color:var(--blue);white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.sec-top .more:hover{color:var(--blue-d);text-decoration:underline;text-underline-offset:3px}
@media (max-width:700px){.sec-top{flex-direction:column;align-items:flex-start}}

/* industries */
.inds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind{background:#fff;border:1px solid var(--line);border-radius:10px;padding:24px;display:flex;flex-direction:column;gap:12px;transition:.18s;position:relative}
.ind:hover{border-color:var(--blue);box-shadow:var(--shadow);transform:translateY(-2px)}
.ind .ic{width:46px;height:46px;border-radius:9px;background:var(--sky);color:var(--blue);display:flex;align-items:center;justify-content:center}
.ind h3{font-size:16.5px;font-weight:700;letter-spacing:-.01em}
.ind .ct{font:500 13px var(--b);color:var(--gray)}
.ind .ct b{color:var(--blue);font-weight:700}
@media (max-width:1000px){.inds{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.inds{grid-template-columns:1fr}}

/* reports */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tab{font:600 14px var(--b);color:var(--gray);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 18px;cursor:pointer;transition:.15s}
.tab:hover{color:var(--blue);border-color:var(--blue)}
.tab.on{background:var(--navy);border-color:var(--navy);color:#fff}
.reps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rep{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:.18s}
.rep:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:#C8D5E6}
.cover{position:relative;height:132px;background:linear-gradient(125deg,var(--navy),#1A4180);color:#fff;padding:16px 18px;display:flex;flex-direction:column;justify-content:space-between}
.cover .code{font:600 10.5px var(--b);letter-spacing:.12em;color:#9FB4D8}
.cover .cat{position:absolute;top:14px;right:14px;font:600 11px var(--b);background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:3px 8px;color:#E2EBF8}
.cover svg{position:absolute;right:14px;bottom:12px;opacity:.9}
.cover .cv-t{font:700 15.5px/1.3 var(--h);max-width:22ch}
.rep .bd{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1}
.rep h3{font-size:16.5px;line-height:1.35;font-weight:700}
.rep h3 a:hover{color:var(--blue)}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font:500 12.5px var(--b);color:var(--gray)}
.meta span{display:inline-flex;align-items:center;gap:5px}
.meta svg{width:13px;height:13px;color:#93A3B8}
.rep .ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px}
.price{font:700 17px var(--h);color:var(--navy)}
.price small{display:block;font:500 11.5px var(--b);color:var(--gray)}
.rep .ft .btn{padding:9px 14px;font-size:13.5px}
@media (max-width:1000px){.reps{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.reps{grid-template-columns:1fr}}

/* services */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sv{background:#fff;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:8px;padding:22px;transition:.18s}
.sv:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.sv .ic{width:42px;height:42px;border-radius:8px;background:var(--sky);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.sv h3{font-size:15.5px;font-weight:700;line-height:1.3;margin-bottom:7px}
.sv p{font-size:13.5px;color:var(--gray);line-height:1.55;margin:0}
.sv .src{display:inline-block;font:600 10.5px var(--b);letter-spacing:.06em;color:#94A3B8;margin-top:12px;text-transform:uppercase}
@media (max-width:1000px){.svc{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.svc{grid-template-columns:1fr}}

/* megatrends */
.mega{background:linear-gradient(118deg,#0B2143,#132E5E);color:#fff}
.mega .kick{color:#8FB0E8}
.mega .sec-h{color:#fff}
.mega .sec-sub{color:#B7C7E4}
.mts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
.mt{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:22px;transition:.18s;position:relative}
.mt:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.3)}
.mt h3{color:#fff;font-size:17px;font-weight:700;margin-bottom:6px}
.mt p{font-size:13.5px;color:#AFC2E2;line-height:1.55;margin:0 0 14px}
.mt .gr{font:700 13px var(--b);color:#63E6A5;display:inline-flex;align-items:center;gap:6px}
.mt .lk{position:absolute;top:20px;right:18px;color:#7E9AD0}
@media (max-width:900px){.mts{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mts{grid-template-columns:1fr}}

/* why + process */
.why2{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:start}
.chk{list-style:none;margin:26px 0 0;padding:0;display:grid;gap:0}
.chk li{display:flex;gap:15px;padding:17px 0;border-top:1px solid var(--line)}
.chk .ic{flex:none;width:24px;height:24px;border-radius:50%;background:#E7F5EC;color:var(--green);display:flex;align-items:center;justify-content:center;margin-top:2px}
.chk b{display:block;font:700 15.5px var(--h);color:var(--navy)}
.chk span{font-size:14px;color:var(--gray)}
.proc{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:30px}
.proc h3{font-size:17px;margin-bottom:22px}
.step{display:flex;gap:16px;position:relative;padding-bottom:24px}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;left:17px;top:38px;bottom:2px;width:2px;background:var(--line)}
.step:last-child::before{display:none}
.step .n{flex:none;width:36px;height:36px;border-radius:50%;background:var(--navy);color:#fff;font:700 14px var(--h);display:flex;align-items:center;justify-content:center}
.step b{display:block;font:700 15px var(--h);color:var(--navy)}
.step p{font-size:13.5px;color:var(--gray);margin:3px 0 0;line-height:1.55}
@media (max-width:900px){.why2{grid-template-columns:1fr;gap:40px}}

/* testimonials */
.tst{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tq{background:#fff;border:1px solid var(--line);border-radius:10px;padding:26px;box-shadow:0 1px 2px rgba(11,33,67,.04)}
.stars{color:#F5A623;letter-spacing:2px;font-size:14px;margin-bottom:12px}
.tq p{font-size:14.5px;line-height:1.65;color:var(--ink);margin:0 0 18px}
.tq .who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.tq .av{width:40px;height:40px;border-radius:50%;background:var(--sky);color:var(--blue);font:700 14px var(--h);display:flex;align-items:center;justify-content:center}
.tq .who b{display:block;font:600 14px var(--b);color:var(--navy)}
.tq .who span{font-size:12.5px;color:var(--gray)}
@media (max-width:900px){.tst{grid-template-columns:1fr}}

/* insights + press */
.newsg{display:grid;grid-template-columns:1.25fr .95fr;gap:44px}
.arts{display:grid;gap:16px}
.art{display:grid;grid-template-columns:120px 1fr;gap:18px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;transition:.15s}
.art:hover{box-shadow:var(--shadow)}
.art .th{border-radius:7px;background:linear-gradient(135deg,var(--sky),#D7E5F8);min-height:88px;display:flex;align-items:center;justify-content:center;color:var(--blue)}
.art .c{font:600 11.5px var(--b);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.art h3{font-size:15.5px;line-height:1.35;margin:5px 0 6px}
.art h3 a:hover{color:var(--blue)}
.art .d{font-size:12.5px;color:var(--gray)}
.press{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 22px}
.press h3{font-size:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.pr{display:block;padding:15px 0;border-bottom:1px solid var(--line)}
.pr:last-of-type{border-bottom:0}
.pr .d{font:600 11.5px var(--b);color:var(--gray);letter-spacing:.04em}
.pr p{font:600 14.5px/1.4 var(--b);color:var(--navy);margin:4px 0 0}
.pr:hover p{color:var(--blue)}
.pr .via{font:500 12px var(--b);color:#8A99AF}
@media (max-width:900px){.newsg{grid-template-columns:1fr}}
@media (max-width:520px){.art{grid-template-columns:1fr}.art .th{min-height:64px}}

/* cta band */
.cta2{background:linear-gradient(118deg,var(--blue),#3E7BE8);border-radius:14px;color:#fff;padding:46px 50px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;box-shadow:var(--shadow-lg)}
.cta2 h2{color:#fff;font-size:clamp(24px,2.8vw,32px);font-weight:800;letter-spacing:-.015em;max-width:24ch}
.cta2 p{color:#DCE8FB;margin:8px 0 0;max-width:52ch}
.cta2 .r{display:flex;gap:12px;flex-wrap:wrap}
.cta2 .btn.white{background:#fff;color:var(--blue)}
.cta2 .btn.white:hover{background:#EAF1FB}

/* footer */
footer{background:var(--navy);color:#A9BAD6;font-size:14px}
footer .grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1.2fr;gap:36px;padding:58px 0 40px;border-bottom:1px solid rgba(255,255,255,.12)}
footer h4{color:#fff;font:700 14px var(--h);letter-spacing:.02em;margin-bottom:16px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
footer a:hover{color:#fff}
footer .ab{margin:18px 0 0;line-height:1.65;color:#8FA3C4;max-width:36ch}
.certs{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.cert{border:1px solid rgba(255,255,255,.22);border-radius:6px;font:600 11px var(--b);letter-spacing:.05em;padding:7px 11px;color:#C9D6EC}
footer .co{display:grid;gap:12px}
footer .co a{display:flex;gap:10px;align-items:flex-start;color:#C9D6EC}
footer .co svg{width:15px;height:15px;margin-top:3px;flex:none;color:#7E9AD0}
.botbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0;font-size:13px;color:#7E92B5}
.pay{display:flex;gap:8px}
.pay span{border:1px solid rgba(255,255,255,.2);border-radius:4px;font:700 10.5px var(--b);padding:5px 9px;color:#C9D6EC}
@media (max-width:1000px){footer .grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){footer .grid{grid-template-columns:1fr}}
.ph{background:rgba(238,122,22,.13);border-bottom:1px dashed rgba(238,122,22,.6)}


/* ===== report terminal ===== */
a:hover{color:#1450B8}
/* topbar + nav */
.topbar{background:var(--navy);color:#C6D4EA;font-size:13px}
.nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.lg{display:flex;align-items:center;gap:11px}
/* sticky action bar */
.actbar{position:fixed;left:0;right:0;top:0;z-index:60;background:var(--navy);color:#fff;transform:translateY(-110%);transition:transform .25s;box-shadow:var(--shadow-lg)}
.actbar.on{transform:none}
.actbar .wrap{display:flex;align-items:center;gap:16px;height:60px}
.actbar .t{font:700 14.5px var(--h);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.actbar .sp{margin-left:auto;display:flex;align-items:center;gap:12px}
.actbar .btn{padding:9px 15px;font-size:13.5px}
.actbar .pr{font:700 15px var(--h);white-space:nowrap}
/* ===== masthead ===== */
.mast{background:linear-gradient(118deg,#0B2143 0%,#132E5E 62%,#1A4180 100%);color:#fff;position:relative;overflow:hidden}
.mast .deco{position:absolute;inset:0;opacity:.45;pointer-events:none}
.mast .wrap{position:relative;padding:30px 24px 46px}
.crumbs{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0 0 20px;padding:0;font-size:13.5px;color:#8FA6CC}
.crumbs a{color:#C6D4EA}
.crumbs a:hover{color:#fff}
.crumbs li+li::before{content:"›";margin-right:7px;color:#5F76A5}
.idrow{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font:600 12.5px var(--b);color:#9FB2D2;margin-bottom:14px}
.idrow .chip{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:5px 13px;color:#D8E4F5}
.mast h1{color:#fff;font-size:clamp(27px,3.4vw,42px);font-weight:800;letter-spacing:-.018em;line-height:1.14;max-width:28ch}
.mast .sub{font-size:16.5px;color:#B7C7E4;max-width:70ch;margin:14px 0 0}
/* ===== terminal ===== */
.termwrap{position:relative;margin-top:-1px;background:linear-gradient(180deg,#132E5E 0%,#0B2143 100%);padding-bottom:34px}
.term{background:var(--panel);border:1px solid rgba(126,154,208,.28);border-radius:14px;box-shadow:var(--shadow-lg);overflow:hidden}
.term-hd{display:flex;align-items:center;gap:12px;padding:13px 20px;border-bottom:1px solid rgba(126,154,208,.24);color:#9FB2D2;font:600 12px var(--b);letter-spacing:.13em;text-transform:uppercase}
.term-hd .live{display:inline-flex;align-items:center;gap:7px;color:#63E6A5}
.term-hd .live i{width:7px;height:7px;border-radius:50%;background:#4ADE80;box-shadow:0 0 0 4px rgba(74,222,128,.18)}
.term-hd .ed{margin-left:auto;letter-spacing:.02em;text-transform:none;font-weight:500;color:#8FA6CC}
.term-bd{display:grid;grid-template-columns:410px minmax(0,1fr)}
@media (max-width:980px){.term-bd{grid-template-columns:1fr}}
/* fact sheet */
.facts{border-right:1px solid rgba(126,154,208,.24);padding:8px 0}
@media (max-width:980px){.facts{border-right:0;border-bottom:1px solid rgba(126,154,208,.24)}}
.fact{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:12px 20px;border-bottom:1px solid rgba(126,154,208,.13);position:relative}
.fact:last-child{border-bottom:0}
.fact .k{font:500 12.5px var(--b);color:#8FA6CC}
.fact .v{font:700 19px var(--h);color:#fff;letter-spacing:-.015em;font-variant-numeric:tabular-nums;grid-row:2}
.fact .v small{font:500 12px var(--b);color:#9FB2D2;letter-spacing:0;margin-left:6px}
.fact .side{grid-row:1/3;align-self:center;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.conf{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--b);letter-spacing:.04em}
.conf i{width:8px;height:8px;border-radius:50%}
.conf.h{color:#63E6A5}
.conf.h i{background:#4ADE80}
.conf.m{color:#FBBF77}
.conf.m i{background:#F59E0B}
.conf.l{color:#FCA5A5}
.conf.l i{background:#EF4444}
.rcpt{font:600 11px var(--b);color:#8FB0E8;background:none;border:1px solid rgba(126,154,208,.4);border-radius:999px;padding:3px 10px;cursor:pointer}
.rcpt:hover{color:#fff;border-color:#8FB0E8}
.di-pop.show{display:block}
.di-pop b{font:700 12px var(--h);color:var(--navy);display:block;margin-bottom:3px}
/* widget pane */
.pane{padding:18px 22px 20px;min-width:0}
.wtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.wtab{font:600 13px var(--b);color:#9FB2D2;background:transparent;border:1px solid rgba(126,154,208,.35);border-radius:6px;padding:8px 14px;cursor:pointer}
.wtab:hover{color:#fff}
.wtab[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--navy)}
.wv{display:none}
.wv.on{display:block}
.wv h2{font-size:15px;color:#fff;font-weight:700;margin-bottom:4px}
.wv .cap{font:500 12.5px var(--b);color:#8FA6CC;margin:0 0 14px}
/* decomposition */
.dcbar{height:36px;border-radius:6px;overflow:hidden;display:flex;margin:6px 0 8px}
.dcbar span{display:flex;align-items:center;justify-content:center;font:700 13px var(--b);color:#fff;white-space:nowrap}
.dcleg{display:flex;gap:20px;font:500 12.5px var(--b);color:#B7C7E4;margin-bottom:18px;flex-wrap:wrap}
.dcleg i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}
.rk{display:grid;gap:7px}
.rkrow{display:grid;grid-template-columns:118px 1fr 52px;gap:10px;align-items:center;font:500 12.5px var(--b);color:#C9D6EC}
.rkrow .bar{height:14px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden}
.rkrow .bar i{display:block;height:100%;background:linear-gradient(90deg,#3E7BE8,#63A0F5);border-radius:3px}
.rkrow .n{text-align:right;font-variant-numeric:tabular-nums;color:#fff;font-weight:600}
/* explorer */
.xw{overflow-x:auto}
table.x{width:100%;border-collapse:collapse;font:13.5px var(--b);color:#DCE6F6}
table.x th{font:600 11.5px var(--b);letter-spacing:.06em;text-transform:uppercase;color:#8FA6CC;text-align:right;padding:8px 10px;border-bottom:1px solid rgba(126,154,208,.35);cursor:pointer;white-space:nowrap;user-select:none}
table.x th:first-child{text-align:left}
table.x th .ar{opacity:.5;font-size:10px;margin-left:4px}
table.x th[aria-sort]{color:#fff}
table.x td{padding:9px 10px;border-bottom:1px solid rgba(126,154,208,.14);text-align:right;font-variant-numeric:tabular-nums}
table.x td:first-child{text-align:left;font-weight:600;color:#fff}
table.x tr.g td{color:#63E6A5;font-weight:600}
/* donut */
.dwrap{display:grid;grid-template-columns:210px 1fr;gap:22px;align-items:center}
.dwrap svg{display:block;margin:0 auto}
.dleg{display:grid;gap:10px}
.dleg .row{display:grid;grid-template-columns:14px 1fr auto;gap:10px;align-items:center;font:500 13.5px var(--b);color:#DCE6F6}
.dleg i{width:12px;height:12px;border-radius:3px}
.dleg .n{font-variant-numeric:tabular-nums;color:#fff;font-weight:600}
/* term footer */
.term-ft{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:15px 20px;border-top:1px solid rgba(126,154,208,.24);background:rgba(0,0,0,.16)}
.term-ft .pr{font:800 22px var(--h);color:#fff}
.term-ft .pr small{display:block;font:500 11.5px var(--b);color:#9FB2D2}
.term-ft .r{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.chg{padding:12px 20px;font:500 13px var(--b);color:#B7C7E4;background:rgba(0,0,0,.1);border-top:1px solid rgba(126,154,208,.16);display:flex;gap:8px 22px;flex-wrap:wrap}
.chg b{color:#fff;font-weight:600}
/* ===== layout ===== */
.layout{display:grid;grid-template-columns:288px minmax(0,1fr);gap:52px;padding:54px 0 72px}
@media (max-width:1020px){.layout{grid-template-columns:1fr;gap:8px}}
.rail-in{position:sticky;top:86px;display:grid;gap:20px}
@media (max-width:1020px){.rail-in{position:static}}
.toc h2{font:600 12px var(--b);letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin:0 0 8px}
.toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--line)}
.toc a{display:block;font:500 14px/1.4 var(--b);color:var(--ink);padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent}
.toc a:hover{color:var(--blue)}
.toc a.on{color:var(--blue);border-left-color:var(--blue);font-weight:600}
.mini{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:16px;font-size:13.5px}
.mini b{font:700 15px var(--h);color:var(--navy)}
.mini .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);color:var(--gray)}
.mini .row span:last-child{color:var(--navy);font-weight:600}
.mini .btn{width:100%;margin-top:10px;padding:11px}
.help{background:var(--sky-2);border:1px solid var(--line);border-radius:12px;padding:16px;font-size:13.5px}
.help b{font:700 14.5px var(--h);color:var(--navy);display:block;margin-bottom:5px}
.help p{margin:0 0 10px;color:var(--gray);line-height:1.5}
article{min-width:0}
article>section{max-width:var(--measure);margin:0 0 54px;scroll-margin-top:96px}
article>section.wide{max-width:none}
article h2{font-size:clamp(22px,2.3vw,29px);font-weight:700;letter-spacing:-.015em;line-height:1.16;margin:0 0 6px}
article .dek{font:500 15px var(--b);color:var(--gray);margin:0 0 16px}
article h3{font-size:18px;font-weight:700;margin:26px 0 8px}
article p{margin:0 0 1.05em}
.lede{font-size:18.5px;line-height:1.6;color:var(--ink)}
.note{font-size:13.5px;color:var(--gray);line-height:1.55}
.tbl{overflow-x:auto;margin:8px 0 18px}
table.c{width:100%;border-collapse:collapse;font:14.5px var(--b)}
table.c caption{text-align:left;font:700 14.5px var(--h);color:var(--navy);padding:0 0 8px}
table.c th{text-align:left;font:600 12.5px var(--b);color:var(--gray);background:var(--sky-2);border-bottom:2px solid var(--navy);padding:9px 12px}
table.c td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}
table.c td.n,table.c th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.callout{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0 0 18px;background:var(--sky-2);font-size:15px}
.callout b{font:700 14px var(--h);color:var(--navy);display:block;margin-bottom:4px}
.grade{display:inline-flex;align-items:center;gap:6px;font:600 12.5px var(--b);border-radius:999px;padding:3px 11px;vertical-align:2px;margin-left:8px}
.grade i{width:7px;height:7px;border-radius:50%}
.grade.h{background:#E7F5EC;color:var(--green)}
.grade.h i{background:var(--green)}
.grade.m{background:#FDF1E1;color:var(--amber)}
.grade.m i{background:var(--amber)}
.grade.l{background:#FBEAEA;color:var(--red)}
.grade.l i{background:var(--red)}
/* calculator (stress test) */
.calc{border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);margin:12px 0 16px}
.calc .presets{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:13px 18px;background:var(--sky-2);border-bottom:1px solid var(--line);font:500 13.5px var(--b);color:var(--gray)}
.preset{font:600 13.5px var(--b);border:1.5px solid var(--navy);background:#fff;color:var(--navy);padding:7px 14px;border-radius:999px;cursor:pointer}
.preset[aria-pressed="true"]{background:var(--navy);color:#fff}
.calc .body{display:grid;grid-template-columns:1fr 1fr}
@media (max-width:680px){.calc .body{grid-template-columns:1fr}}
.calc .in{padding:18px;border-right:1px solid var(--line)}
@media (max-width:680px){.calc .in{border-right:0;border-bottom:1px solid var(--line)}}
.inp{margin-bottom:16px}
.inp label{display:flex;justify-content:space-between;font:600 14px var(--b);color:var(--navy);margin-bottom:5px}
.inp output{color:var(--blue);font-variant-numeric:tabular-nums}
.inp input[type=range]{width:100%;accent-color:var(--blue)}
.inp p{font-size:12.5px;color:var(--gray);margin:3px 0 0;line-height:1.5}
.calc .out{padding:18px}
.calc .big{font:800 34px var(--h);letter-spacing:-.02em;color:var(--navy);font-variant-numeric:tabular-nums}
.calc .lbl{font:500 12.5px var(--b);color:var(--gray)}
.calc dl{display:grid;grid-template-columns:1fr auto;gap:7px 12px;margin:14px 0 0;font-size:14px}
.calc dt{color:var(--gray)}
.calc dd{margin:0;text-align:right;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}
.verdict{font-size:13.5px;background:var(--sky-2);border-radius:6px;padding:10px 12px;margin-top:14px}
/* edition log */
.log{border-left:2px solid var(--line);padding-left:20px;margin:6px 0}
.log>div{position:relative;margin:0 0 16px}
.log>div::before{content:"";position:absolute;left:-27px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--navy);border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.log>div.next::before{background:#fff}
.log b{font:700 14.5px var(--h);color:var(--navy)}
.log p{font-size:14.5px;margin:3px 0 0}
/* faq */
details{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;background:#fff}
details summary{font:600 15.5px var(--b);color:var(--navy);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:14px 18px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font:400 20px/1 var(--b);color:var(--blue)}
details[open] summary::after{content:"\2212"}
details .a{padding:0 18px 14px;font-size:15px}
details .a p{margin:0}
.cite{background:var(--navy);color:#C9D6EC;border-radius:10px;padding:18px 20px;font-size:14px}
.cite code{display:block;background:#132E5E;padding:12px 14px;border-radius:6px;margin:8px 0 10px;white-space:pre-wrap;word-break:break-word;font-family:var(--b);color:#fff;font-size:13.5px}
.cite button{font:600 13.5px var(--b);background:var(--orange);color:#fff;border:0;padding:8px 14px;border-radius:5px;cursor:pointer}
.people{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.person{border:1px solid var(--line);border-radius:10px;padding:16px;font-size:14px;display:flex;gap:13px}
.person .av{flex:none;width:48px;height:48px;border-radius:50%;background:var(--sky);color:var(--blue);font:700 16px var(--h);display:flex;align-items:center;justify-content:center}
.person b{font:700 15px var(--h);color:var(--navy);display:block}
.person .role{color:var(--gray);font-size:12.5px;margin:2px 0 5px}
.person p{margin:0;color:var(--gray);font-size:13px;line-height:1.5}
.rel{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.relc{border:1px solid var(--line);border-radius:8px;padding:14px 16px;transition:.15s;display:block}
.relc:hover{border-color:var(--blue);box-shadow:var(--shadow)}
.relc b{font:600 14.5px var(--b);color:var(--navy);display:block;line-height:1.4}
.relc span{font-size:12.5px;color:var(--gray)}
footer.sf{background:var(--navy);color:#A9BAD6;font-size:13.5px;margin-top:40px}
footer.sf .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:26px 24px}
footer.sf a{color:#C9D6EC}
footer.sf a:hover{color:#fff}
/* ===== wordpress specifics ===== */
.menu ul,.menu li{list-style:none;margin:0;padding:0}
.menu li{display:inline-flex}
.sitef .grid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.sitef .grid ul a{color:#A9BAD6;font-size:13.5px}.sitef .grid ul a:hover{color:#fff}
.botbar ul{list-style:none;display:inline-flex;gap:8px 18px;margin:0;padding:0;flex-wrap:wrap}
.phero{background:linear-gradient(118deg,#0B2143,#132E5E 70%,#1A4180);color:#fff;padding:52px 0}
.phero h1{color:#fff;font-size:clamp(26px,3.2vw,40px);font-weight:800;letter-spacing:-.018em}
.phero .sub{color:#B7C7E4;max-width:70ch;margin:12px 0 0;font-size:16.5px}
.phero .crumbs{display:flex;flex-wrap:wrap;gap:7px;font-size:13.5px;color:#8FA6CC;margin:0 0 16px;padding:0}
.phero .crumbs a{color:#C6D4EA}.phero .crumbs a:hover{color:#fff}
.phero .kick{font:600 12px var(--b);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px}
.pagi{margin-top:34px;font:600 14.5px var(--b)}
.pagi .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagi .page-numbers{border:1px solid var(--line);border-radius:6px;padding:9px 14px;color:var(--navy)}
.pagi .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.prose{max-width:76ch;font-size:16.5px}
.prose h2{font-size:clamp(22px,2.3vw,28px);font-weight:700;letter-spacing:-.015em;margin:44px 0 10px;scroll-margin-top:96px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:18px;font-weight:700;margin:26px 0 8px}
.prose p{margin:0 0 1.05em}
.prose table{width:100%;border-collapse:collapse;font-size:14.5px;margin:8px 0 18px}
.prose th{text-align:left;font:600 12.5px var(--b);color:var(--gray);background:var(--sky-2);border-bottom:2px solid var(--navy);padding:9px 12px}
.prose td{border-bottom:1px solid var(--line);padding:10px 12px;vertical-align:top}
.prose img{border-radius:8px}
.cform{max-width:560px;margin-top:8px}
.cform p{margin:0 0 14px}
.cform label{display:block;font:600 14px var(--b);color:var(--navy)}
.cform input[type=text],.cform input[type=email],.cform textarea{width:100%;margin-top:6px;border:1px solid #B9C6DA;border-radius:6px;padding:11px 12px;font:15px var(--b);color:var(--ink)}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(26,95,214,.15)}
.cform .hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.repc .bd h3{font-size:16.5px;line-height:1.35;margin:0 0 8px}
.repc .bd h3 a{color:var(--navy)}.repc .bd h3 a:hover{color:var(--blue)}
.art h3{font-size:17px;line-height:1.4;margin:0 0 6px}
.art .d{font-size:12.5px;color:var(--gray);margin:0 0 8px}

/* default report figure */
.di-figure{margin:18px 0 26px;max-width:none}
.di-figure svg{border-radius:14px;box-shadow:var(--shadow)}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* utilities (replacing former inline styles) */
.pt0{padding-top:0}
.pt44{padding-top:44px}
.mt18{margin-top:18px}
.mb20{margin-bottom:20px}
.mb44{margin-bottom:44px}
.full{width:100%}
.kick-lt{color:#8FB0E8}
.addr{margin:10px 0 0;color:var(--gray)}
.srch-narrow{max-width:640px;margin-top:18px}
.di-figure svg{display:block;width:100%;height:auto}

/* terminal receipt popovers (di-pop: renamed to avoid the homepage .pop collision) */
.di-pop{position:absolute;right:16px;top:calc(100% - 8px);z-index:20;width:min(300px,80vw);background:#fff;color:var(--ink);border-radius:8px;box-shadow:var(--shadow-lg);padding:12px 14px;font:400 13px/1.55 var(--b);display:none}
@media (max-width:640px){.dwrap{grid-template-columns:1fr}.rel{grid-template-columns:1fr}}

/* answers at a glance (right pane filler, server-rendered) */
.glance{border-top:1px solid rgba(126,154,208,.24);margin-top:20px;padding-top:16px}
.glance h2{font:600 12px var(--b);letter-spacing:.13em;text-transform:uppercase;color:#9FB2D2;margin:0 0 12px}
.tkw{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:9px}
.tkw li{position:relative;padding-left:20px;font:400 14px/1.55 var(--b);color:#DCE6F6}
.tkw li::before{content:"";position:absolute;left:2px;top:7px;width:8px;height:8px;border-radius:2px;background:var(--orange)}
.scopes{display:flex;flex-wrap:wrap;gap:8px}
.scopes span{font:600 12px var(--b);color:#C9D6EC;border:1px solid rgba(126,154,208,.35);border-radius:999px;padding:5px 13px}
