:root{--navy:#0f2a43;--navy2:#163a5c;--deep:#0b1f33;--yel:#f6c419;--teal:#1a9bb5;--grn:#1f9d55;--red:#c0392b;--ink:#16202a;--mut:#4a5866;--line:#e6eaef;--bg:#f4f6f8;--card:#fff;--r:14px;--sh:0 1px 2px rgba(15,42,67,.06),0 6px 20px rgba(15,42,67,.07)}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto;display:block}
a{color:#0b5c8a}a:hover{color:var(--navy)}
.wrap{max-width:1120px;margin:0 auto;padding:0 18px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
/* header */
.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:5;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.top .wrap{display:flex;align-items:center;gap:12px;min-height:60px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.2px;font-size:1.08rem}
.logo img{width:38px;height:38px}.logo span b{color:var(--yel)}
.nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none;max-width:100%}
.nav::-webkit-scrollbar{display:none}
.nav a{color:#dce6f0;text-decoration:none;padding:8px 10px;border-radius:8px;font-size:.93rem;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{background:var(--navy2);color:#fff}
.nav a.cta{background:var(--yel);color:var(--navy);font-weight:700}
@media(max-width:760px){.top .wrap{padding-top:6px;padding-bottom:4px}.nav{margin-left:0;width:100%}}
/* adbar */
.adbar{background:#fff7d6;border-bottom:1px solid #f0dc8a;font-size:.86rem;color:#5a4a00}
.adbar .wrap{padding-top:7px;padding-bottom:7px}
/* hero */
.hero{background:radial-gradient(1200px 400px at 80% -10%,#1d4a72 0,transparent 60%),linear-gradient(160deg,var(--navy) 0,var(--deep) 100%);color:#fff;padding:44px 0 52px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:5px;background:linear-gradient(90deg,var(--yel),var(--teal))}
.hero .grid{display:grid;gap:26px;align-items:center}
@media(min-width:860px){.hero .grid{grid-template-columns:1.3fr .7fr}}
.eyebrow{display:inline-block;background:rgba(246,196,25,.15);color:var(--yel);border:1px solid rgba(246,196,25,.4);padding:3px 10px;border-radius:99px;font-size:.8rem;font-weight:700;letter-spacing:.4px;text-transform:uppercase}
.hero h1{font-size:clamp(1.85rem,4.6vw,3rem);line-height:1.12;margin:.45em 0 .35em;letter-spacing:-.5px}
.hero h1 em{font-style:normal;color:var(--yel)}
.hero p.lead{font-size:1.12rem;color:#d6e2ee;max-width:38em;margin:0 0 20px}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none;border:2px solid transparent;line-height:1.2}
.btn-y{background:var(--yel);color:var(--navy)}.btn-y:hover{background:#ffd43b;color:var(--navy)}
.btn-o{border-color:rgba(255,255,255,.5);color:#fff}.btn-o:hover{background:rgba(255,255,255,.1);color:#fff}
.btn-n{background:var(--navy);color:#fff}.btn-n:hover{background:var(--navy2);color:#fff}
.hero-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:18px;text-align:center}
.hero-card img{width:150px;margin:0 auto 10px}
.hero-card p{margin:.2em 0;color:#d6e2ee;font-size:.95rem}
.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:26px}
@media(min-width:760px){.trust{grid-template-columns:repeat(4,1fr)}}
.trust div{background:rgba(255,255,255,.07);border-radius:10px;padding:10px 12px;font-size:.88rem;color:#e6eef6}
.trust b{display:block;color:#fff;font-size:.95rem}
/* sections */
section.blk{padding:42px 0}
section.alt{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sh{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.sh h2{margin:0;font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.3px}
.sh p{margin:4px 0 0;color:var(--mut)}
.grid3{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:620px){.grid3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:980px){.grid3{grid-template-columns:repeat(3,1fr)}}
.grid4{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:900px){.grid4{grid-template-columns:repeat(4,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column}
.card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{margin:0;font-size:1.1rem;line-height:1.3}
.card h3 a{color:var(--ink);text-decoration:none}.card h3 a:hover{color:#0b5c8a}
.card p{margin:0;color:var(--mut);font-size:.95rem}
.card .more{margin-top:auto;font-weight:700;text-decoration:none;padding-top:6px}
.thumb{position:relative;aspect-ratio:16/9;background:#0b1f33}
.thumb img{width:100%;height:100%;object-fit:cover}
.pill{position:absolute;left:10px;top:10px;background:var(--yel);color:var(--navy);font-weight:800;font-size:.75rem;padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.3px}
.pill.soon{background:#fff;color:var(--navy)}
.play{position:absolute;inset:0;display:grid;place-items:center}
.play span{width:58px;height:40px;border-radius:10px;background:rgba(200,0,0,.9);display:grid;place-items:center;color:#fff;font-size:1.1rem}
.mini{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--sh)}
.ico{flex:0 0 44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#eaf3fb,#d8e8f5);display:grid;place-items:center;font-size:1.35rem}
.mini h4{margin:0 0 2px;font-size:.98rem;line-height:1.3}.mini p{margin:0 0 6px;font-size:.88rem;color:var(--mut)}
/* badges */
.badge{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.35px;padding:3px 8px;border-radius:6px;background:#e8f1fa;color:var(--navy2)}
.badge.top{background:var(--yel);color:var(--navy)}.badge.bud{background:#dff3e8;color:#14683a}.badge.up{background:#efe6fb;color:#5a2d91}
.ad{font-size:.7rem;font-weight:700;color:#7a6400;background:#fff3c4;border-radius:4px;padding:1px 5px;margin-left:6px;vertical-align:middle}
.cp{display:inline-flex;align-items:center;gap:4px;background:var(--grn);color:#fff;text-decoration:none;font-weight:700;padding:9px 14px;border-radius:9px;font-size:.92rem;white-space:nowrap}
.cp:hover{background:#178547;color:#fff}
.cp .ad{background:rgba(255,255,255,.22);color:#fff}
/* guide layout */
.crumbs{font-size:.85rem;color:#b9c9d8;margin:0 0 6px}.crumbs a{color:#dce6f0}
.ghero{padding:34px 0 40px}
.ghero h1{font-size:clamp(1.7rem,4vw,2.6rem)}
.meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:.88rem;color:#c3d3e2}
.layout{display:grid;gap:28px;padding-top:30px;padding-bottom:10px}
@media(min-width:980px){.layout{grid-template-columns:minmax(0,1fr) 300px}}
.side{display:none}
@media(min-width:980px){.side{display:block;position:sticky;top:78px;align-self:start}}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sh);margin-bottom:16px}
.box h3{margin:0 0 8px;font-size:1rem}
.box ol,.box ul{margin:0;padding-left:18px;font-size:.92rem}
.disc{background:#fffaf0;border:1px solid #f0dc8a;border-left:5px solid var(--yel);border-radius:10px;padding:12px 14px;font-size:.92rem;margin:0 0 20px}
.free{background:#eef8f2;border:1px solid #bfe3cd;border-left:5px solid var(--grn);border-radius:10px;padding:14px 16px;margin:18px 0}
.free h3{margin:0 0 6px;font-size:1.05rem}
.free ul{margin:0;padding-left:20px}
.quick{background:#fff;border:2px solid var(--navy);border-radius:var(--r);overflow:hidden;margin:0 0 24px;box-shadow:var(--sh)}
.quick h2{margin:0;background:var(--navy);color:#fff;font-size:1.05rem;padding:10px 16px;letter-spacing:.2px}
.quick ol{list-style:none;margin:0;padding:0}
.quick li{display:grid;grid-template-columns:44px 1fr;gap:10px 12px;padding:12px 16px;border-top:1px solid var(--line);align-items:center}
.quick li:first-child{border-top:0}
.quick .qn{font-weight:700;line-height:1.3}.quick .qn a{color:var(--ink);text-decoration:none}
.quick .qw{font-size:.9rem;color:var(--mut)}
.quick .act{grid-column:2}
@media(min-width:640px){.quick li{grid-template-columns:44px 1fr auto}.quick .act{grid-column:auto}}
.article h2{font-size:1.5rem;margin:34px 0 10px;letter-spacing:-.2px;scroll-margin-top:80px}
.article h3{scroll-margin-top:80px}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--sh);margin:12px 0 8px}
table.cmp{border-collapse:collapse;width:100%;min-width:640px;font-size:.92rem}
table.cmp th{background:#f0f4f8;text-align:left;padding:10px 12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;color:var(--mut)}
table.cmp td{padding:10px 12px;border-top:1px solid var(--line);vertical-align:middle}
table.cmp td:first-child{font-weight:700}
.scrollhint{font-size:.8rem;color:var(--mut);margin:0}
@media(min-width:760px){.scrollhint{display:none}}
.pick{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:18px;margin:16px 0;scroll-margin-top:80px}
.pick .ph{display:flex;gap:14px;align-items:flex-start}
.pick .ico{flex-basis:54px;height:54px;font-size:1.6rem}
.pick h3{margin:4px 0 2px;font-size:1.15rem;line-height:1.3}
.pick .spec{font-size:.85rem;color:var(--mut)}
.pick p.why{margin:12px 0}
.pc{display:grid;gap:10px;grid-template-columns:1fr;margin:8px 0 12px}
@media(min-width:620px){.pc{grid-template-columns:1fr 1fr}}
.pc div{border-radius:10px;padding:10px 12px;font-size:.92rem}
.pc .pro{background:#f0faf4}.pc .con{background:#fdf2f1}
.pc b{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}
.pc .pro b{color:#14683a}.pc .con b{color:#a3291c}
.pc ul{margin:0;padding-left:18px}
.vid{display:grid;gap:14px;align-items:center;background:var(--navy);color:#fff;border-radius:var(--r);padding:14px;margin:24px 0}
@media(min-width:620px){.vid{grid-template-columns:260px 1fr}}
.vid .thumb{border-radius:10px;overflow:hidden}
.vid h3{margin:0 0 6px}.vid p{margin:0 0 10px;color:#cfdbe7}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:8px 0}
.faq summary{font-weight:700;cursor:pointer}
.sources{font-size:.88rem;color:var(--mut)}
.prose{max-width:760px}.prose h2{margin-top:30px}
.page{padding-top:30px;padding-bottom:40px}
/* product strip / book */
.book{display:grid;gap:22px;align-items:center}
@media(min-width:760px){.book{grid-template-columns:220px 1fr}}
.cover{aspect-ratio:2/3;border-radius:8px;background:linear-gradient(160deg,var(--navy),var(--deep));color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:18px;box-shadow:0 12px 30px rgba(0,0,0,.25);border-left:8px solid var(--yel);max-width:220px}
.cover b{font-size:1.35rem;line-height:1.15}.cover small{color:var(--yel);font-weight:700}
.printables{display:grid;gap:12px;grid-template-columns:1fr}
@media(min-width:700px){.printables{grid-template-columns:repeat(3,1fr)}}
.printables a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;text-decoration:none;color:var(--ink);box-shadow:var(--sh)}
.printables a b{display:block}.printables a span{color:var(--mut);font-size:.9rem}
.printables a em{font-style:normal;color:var(--grn);font-weight:800}
.band{background:linear-gradient(135deg,var(--yel),#ffd95a);color:var(--navy);border-radius:18px;padding:24px;display:grid;gap:12px;align-items:center}
@media(min-width:760px){.band{grid-template-columns:1fr auto}}
.band h2{margin:0}.band p{margin:4px 0 0}
/* footer */
footer{background:var(--deep);color:#b9c9d8;margin-top:40px;padding:34px 0 26px;font-size:.92rem}
footer .cols{display:grid;gap:22px;grid-template-columns:1fr 1fr}
@media(min-width:860px){footer .cols{grid-template-columns:1.4fr 1fr 1fr 1fr}}
footer h4{color:#fff;margin:0 0 8px;font-size:.95rem}
footer ul{list-style:none;margin:0;padding:0}footer li{margin:4px 0}
footer a{color:#dce6f0;text-decoration:none}footer a:hover{color:var(--yel)}
footer .fine{border-top:1px solid #1f3a55;margin-top:22px;padding-top:14px;font-size:.84rem}
.kitlist ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
@media(min-width:760px){.kitlist ul{grid-template-columns:1fr 1fr}}
/* overflow guards */
.layout{grid-template-columns:minmax(0,1fr)}
@media(min-width:1000px){.layout{grid-template-columns:minmax(0,1fr) 300px}}
.article,.quick li>div,.mini>div,.pick .ph>div{min-width:0}
.quick .qn,.mini h4,.pick h3{overflow-wrap:anywhere}
html,body{overflow-x:hidden}
