
:root{
 --bg:#050505;--bg2:#17090d;
 --panel:#171013;--panel2:#0a090a;
 --text:#fffaf2;--muted:#d3c5c5;
 --accent:#d6ae50;--accent2:#e54b57;
 --line:rgba(255,255,255,.10);
 --line2:rgba(214,174,80,.28);
 --soft:rgba(214,174,80,.075);
 --eyebrow:#ffe6a9;
 --glow1:rgba(150,34,48,.15);
 --glow2:rgba(172,122,35,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;color:var(--text);
 font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 line-height:1.68;
 background:
 radial-gradient(circle at 8% 0%,var(--glow1),transparent 28%),
 radial-gradient(circle at 92% 5%,var(--glow2),transparent 25%),
 linear-gradient(180deg,var(--bg2),var(--bg));
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{
 width:min(1160px,calc(100% - 160px))!important;
 margin-left:auto!important;
 margin-right:auto!important;
}
.top,.masthead{
 position:sticky;top:0;z-index:50;
 background:#000!important;
 border-bottom:1px solid var(--line);
 backdrop-filter:blur(14px);
}
.nav,.masthead-inner{
 min-height:90px;
 display:grid!important;
 grid-template-columns:220px 1fr auto;
 gap:24px;align-items:center;
 padding:0!important;
}
.logo,.brand{
 display:flex!important;align-items:center!important;
 width:max-content;background:#000!important;
 padding:6px 10px!important;border-radius:12px!important;
 font-size:0!important;color:transparent!important;line-height:0!important;
}
.logo img,.brand img{
 width:195px!important;max-width:195px!important;
 max-height:62px!important;height:auto!important;
 object-fit:contain!important;background:#000!important;
}
.logo span,.brand span,.brand b{display:none!important}
nav,.primary{
 display:flex!important;justify-content:flex-end;
 gap:8px;flex-wrap:wrap;align-items:center;
}
nav a,.primary a{
 padding:10px 12px;border-radius:999px;
 color:var(--muted);font-size:14px;font-weight:850;
 border:1px solid transparent;
}
nav a:hover,.primary a:hover,.primary a[aria-current="page"]{
 color:#fff;background:rgba(255,255,255,.055);border-color:var(--line);
}
.age{
 min-width:44px;height:34px;
 display:inline-flex;align-items:center;justify-content:center;
 border:1px solid var(--line2);border-radius:999px;
 color:#fff;font-weight:900;font-size:14px;
}
.site-shell{padding-bottom:48px}
.hero{padding:32px 0 16px!important;display:block!important}
.hero .heading{max-width:920px}
.hero h1,h1{
 margin:10px 0 14px;
 font-size:clamp(40px,5.2vw,64px);
 line-height:1.04;letter-spacing:-.035em;
}
.eyebrow{
 display:inline-flex;padding:8px 12px;border-radius:999px;
 background:var(--soft);border:1px solid var(--line2);
 color:var(--eyebrow);font-size:13px;font-weight:900;
 text-transform:uppercase;letter-spacing:.055em;
}
.lead{max-width:900px;color:var(--muted);font-size:clamp(17px,1.8vw,21px)}
.art,.content-img{display:none!important}
.hero-banner{
 margin-top:24px;border-radius:24px;overflow:hidden;
 background:#000;border:1px solid var(--line2);
 box-shadow:0 24px 58px rgba(0,0,0,.35);
}
.hero-banner img{
 width:100%!important;height:auto!important;
 aspect-ratio:1280/440!important;object-fit:cover!important;
}
main{padding-bottom:66px}
.layout{display:block!important}
article{max-width:1000px;margin:0 auto}
.card,.panel,.chapter,.check,.faq,.article>section,article>section{
 margin:0 0 18px;
 padding:26px 28px;
 border-radius:20px;
 background:linear-gradient(180deg,var(--panel),var(--panel2));
 border:1px solid var(--line);
 box-shadow:0 16px 38px rgba(0,0,0,.13);
}
.routecards{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;margin:8px 0 24px;
}
.routecard{
 padding:18px 19px;border-radius:18px;
 background:linear-gradient(180deg,var(--panel),var(--panel2));
 border:1px solid var(--line);
}
.routecard .num{display:block;color:var(--accent);font-weight:900;font-size:12px;margin-bottom:7px}
.routecard strong{display:block;color:#fff;font-size:17px;margin-bottom:5px}
.routecard small{color:var(--muted)}
.reading{
 display:grid!important;
 grid-template-columns:220px minmax(0,1fr)!important;
 gap:22px!important;align-items:start;
}
.toc{
 position:sticky;top:108px;
 display:flex;flex-direction:column;gap:8px;
 padding:18px;border-radius:18px;
 background:rgba(6,6,7,.72);border:1px solid var(--line);
}
.toc strong{color:#fff;margin-bottom:4px}
.toc a{color:var(--muted);font-size:13px;line-height:1.4}
.toc a:hover{color:#fff}
.article{min-width:0}
h2,.article h2{
 margin:0 0 13px;
 font-size:clamp(27px,3vw,37px);
 line-height:1.16;color:#fff;
}
h3,.article h3{font-size:21px;line-height:1.25;margin:22px 0 9px;color:#fff}
p,li,.article p,.article li{color:var(--muted);font-size:17px}
p,.article p{margin:0 0 15px}
ul,ol,.article ul,.article ol{padding-left:22px}
table,.article table{width:100%;border-collapse:collapse;margin:18px 0}
th,td,.article th,.article td{padding:12px 13px;border:1px solid var(--line);text-align:left}
th,.article th{background:var(--soft);color:#fff}
.btn,.cta{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:52px!important;padding:0 23px!important;border-radius:14px!important;
 background:linear-gradient(135deg,var(--accent),var(--accent2))!important;
 color:#090909!important;font-weight:900!important;text-decoration:none!important;
 border:1px solid rgba(255,255,255,.18)!important;
 box-shadow:0 12px 28px rgba(0,0,0,.2)!important;
}
.btn.alt{background:rgba(255,255,255,.04)!important;color:#fff!important;border-color:var(--line2)!important}
.text-cta-row{
 display:flex!important;justify-content:center!important;align-items:center!important;
 margin:28px 0 32px!important;visibility:visible!important;opacity:1!important;
}
.text-cta-row a{
 display:inline-flex!important;align-items:center!important;justify-content:center!important;
 min-height:54px!important;padding:0 30px!important;border-radius:15px!important;
 background:linear-gradient(135deg,var(--accent),var(--accent2))!important;
 color:#090909!important;font-weight:900!important;font-size:16px!important;
 text-decoration:none!important;border:1px solid rgba(255,255,255,.18)!important;
 box-shadow:0 14px 30px rgba(0,0,0,.24)!important;
}
.footer,footer{
 border-top:1px solid var(--line);
 background:#030303;color:var(--muted);
 padding:34px 0 44px;
}
@media(max-width:960px){
 .wrap{width:min(100% - 40px,1160px)!important}
 .nav,.masthead-inner{grid-template-columns:1fr;gap:8px;padding:14px 0!important}
 nav,.primary{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding-bottom:3px}
 nav a,.primary a{white-space:nowrap}
 .age{display:none}
 .reading{grid-template-columns:1fr!important}
 .toc{position:static}
 .routecards{grid-template-columns:1fr}
}
@media(max-width:640px){
 .wrap{width:min(100% - 24px,1160px)!important}
 .logo img,.brand img{width:168px!important;max-width:168px!important}
 .hero h1,h1{font-size:39px}
 .hero-banner{border-radius:18px}
 .card,.panel,.chapter,.check,.faq,.article>section,article>section{padding:21px 18px;border-radius:17px}
}
