:root{--navy:#0B1C3D;--navy-light:#132847;--navy-2:#0f2347;--blue:#2563EB;--blue-light:#3B82F6;--blue-glow:#60A5FA;--white:#FFFFFF;--muted:#94A3B8;--text:rgba(255,255,255,.84);--border:rgba(255,255,255,.08);--font-display:'Syne',sans-serif;--font-body:'DM Sans',sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--navy);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.75}
a{color:var(--blue-glow)}a:hover{color:var(--white)}
.wrap{max-width:760px;margin:0 auto;padding-left:16px;padding-right:16px}
.wide{max-width:1120px}
.top{border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(11,28,61,.92);backdrop-filter:blur(10px);z-index:10}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:14px;padding-bottom:14px}
.top img{height:44px;width:auto;display:block}
.top nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:600}
.top nav a{color:var(--muted);text-decoration:none}.top nav a:hover{color:var(--white)}
.top nav a.cta{background:var(--blue);color:var(--white);padding:9px 16px;border-radius:8px}.top nav a.cta:hover{background:var(--blue-light)}
main{padding-top:48px;padding-bottom:72px}
.crumbs{font-size:13px;color:var(--muted);margin-bottom:28px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--white)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-glow);margin-bottom:12px}
h1{font-family:var(--font-display);font-weight:800;font-size:clamp(30px,5.4vw,46px);line-height:1.12;color:var(--white);margin-bottom:18px;overflow-wrap:break-word}
.meta{color:var(--muted);font-size:14px;margin-bottom:36px}
.lede{font-size:19px;color:var(--white);background:var(--navy-light);border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:12px;padding:20px 24px;margin-bottom:32px}
article h2{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3.4vw,27px);line-height:1.25;color:var(--white);margin:44px 0 14px}
article h3{font-family:var(--font-display);font-weight:700;font-size:19px;color:var(--white);margin:28px 0 10px}
article p{margin-bottom:16px}
article ul,article ol{margin:0 0 18px 22px}article li{margin-bottom:8px}
article strong{color:var(--white);font-weight:600}
article blockquote{border-left:3px solid var(--blue-glow);padding:4px 0 4px 18px;margin:0 0 18px;color:var(--white);font-style:italic}
article code{background:rgba(255,255,255,.07);padding:1px 6px;border-radius:5px;font-size:.9em}
article pre{background:rgba(255,255,255,.05);border:1px solid var(--border);border-radius:10px;padding:14px 16px;overflow-x:auto;margin-bottom:18px;font-size:14px}
article pre code{background:none;padding:0}
.table-scroll{overflow-x:auto;margin:0 0 20px;border:1px solid var(--border);border-radius:12px}
article table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
article th,article td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--border);vertical-align:top}
article th{background:var(--navy-light);color:var(--white);font-weight:600}
article tr:last-child td{border-bottom:none}
section.box{background:var(--navy-light);border:1px solid var(--border);border-radius:14px;padding:24px 26px;margin-top:44px}
section.box h2{margin-top:0}
.faq details{border-bottom:1px solid var(--border);padding:14px 0}.faq details:last-child{border-bottom:none}
.faq summary{cursor:pointer;color:var(--white);font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';color:var(--blue-glow);font-size:20px;line-height:1}
.faq details[open] summary::after{content:'\2212'}
.faq details p{margin:10px 0 0}
.sources ol{margin-left:20px;font-size:14px;color:var(--muted)}.sources li{margin-bottom:6px;overflow-wrap:anywhere}
.cta-box{background:linear-gradient(135deg,#1d4ed8,#2563EB 55%,#3B82F6);border-radius:16px;padding:30px 28px;margin-top:48px;color:var(--white)}
.cta-box h2{font-family:var(--font-display);font-size:24px;line-height:1.25;margin-bottom:10px;color:var(--white)}
.cta-box p{color:rgba(255,255,255,.9);margin-bottom:20px}
.btn{display:inline-block;background:var(--white);color:var(--navy);font-weight:700;text-decoration:none;padding:12px 22px;border-radius:9px;font-size:15px}.btn:hover{color:var(--blue)}
.related{margin-top:48px}.related h2{font-family:var(--font-display);color:var(--white);font-size:22px;margin-bottom:16px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{display:block;background:var(--navy-light);border:1px solid var(--border);border-radius:14px;padding:20px 22px;text-decoration:none;transition:border-color .2s,transform .2s}
.card:hover{border-color:rgba(96,165,250,.5);transform:translateY(-2px)}
.card .cat{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-glow);margin-bottom:8px}
.card h3{font-family:var(--font-display);color:var(--white);font-size:18px;line-height:1.3;margin-bottom:8px}
.card p{color:var(--muted);font-size:14px;line-height:1.6}
.ad-fig{margin:0 0 32px;text-align:center}.ad-fig img{width:100%;max-width:380px;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:16px;border:1px solid var(--border);box-shadow:0 20px 50px rgba(0,0,0,.35)}.ad-fig figcaption{font-size:14px;color:var(--muted);margin-top:12px}
.card .card-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:top;border-radius:10px;margin-bottom:14px;display:block;background:var(--navy-2)}
.index-intro{font-size:18px;max-width:700px;margin-bottom:24px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:40px}
.chips a{font-size:13px;font-weight:600;text-decoration:none;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:6px 14px}.chips a:hover{color:var(--white);border-color:var(--blue-glow)}
.cat-block{margin-bottom:48px;scroll-margin-top:90px}.cat-block>h2{font-family:var(--font-display);color:var(--white);font-size:24px;margin-bottom:16px}
footer{border-top:1px solid var(--border);padding:28px 0;font-size:13px;color:rgba(255,255,255,.4)}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
footer a{color:rgba(255,255,255,.55);text-decoration:none}footer a:hover{color:var(--white)}
@media (max-width:640px){.top nav a:not(.cta){display:none}.lede{font-size:17px;padding:16px 18px}.cta-box{padding:24px 20px}}
