:root{
--bg:#E8EEF4;
--bg-elevated:#F4F7FB;
--border:#C5D0DC;
--text:#152232;
--text-dark:#111111;
--text-light:#f0f0f0;
--muted:#5A6B7D;
--accent:#0E9AA7;
--accent-strong:#087A85;
--accent-h:187;
--gold:#E85D04;
--gold-h:24;
--pitch:#1B2838;
--link:#0B6E8C;
--link-hover:#094F61;
--link-on-dark:#7DD3E8;
--link-on-dark-hover:#B8ECF7;
--on-accent:#FFFFFF;
--on-pitch-muted:#9AABB8;
--font:'DM Sans','Segoe UI',system-ui,sans-serif;
--font-display:'Space Grotesk','Segoe UI',system-ui,sans-serif;
--font-meta:'IBM Plex Mono','Consolas',monospace;
--radius:6px;
--max:1120px;
--shadow:0 1px 0 #C5D0DC,0 8px 24px rgba(21,34,50,0.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:72px;}
body{font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);background-color:var(--bg);background-image:linear-gradient(rgba(197,208,220,0.35) 1px,transparent 1px),linear-gradient(90deg,rgba(197,208,220,0.35) 1px,transparent 1px);background-size:8px 8px;}
img{max-width:100%;height:auto;}
a{color:var(--link);word-break:break-all;}
a:hover{color:var(--link-hover);}
a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px;}
/* typography */
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--text);}
h1{font-size:clamp(1.75rem,4vw,2.6rem);}
h2{font-size:clamp(1.3rem,2.5vw,1.9rem);margin-bottom:1rem;}
h3{font-size:1.15rem;margin-bottom:0.5rem;}
p{margin-bottom:1rem;}
ul,ol{padding-left:1.4rem;margin-bottom:1rem;}
li{margin-bottom:0.35rem;}
/* mono meta */
.meta{font-family:var(--font-meta);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);}
/* layout */
.container{max-width:var(--max);margin:0 auto;padding:0 1.25rem;}
.section{padding:3rem 0;}
.section--sm{padding:2rem 0;}
.section--lg{padding:4.5rem 0;}
/* header */
.site-header{position:sticky;top:0;z-index:1000;width:100%;background:var(--pitch);color:var(--text-light);border-bottom:1px solid rgba(255,255,255,0.06);box-shadow:0 2px 8px rgba(0,0,0,0.2);}
.site-header *{color:inherit;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:60px;}
.header-logo{flex-shrink:0;text-decoration:none;font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--text-light);letter-spacing:-0.01em;}
.header-logo span{color:var(--accent);}
.header-info-badge{font-family:var(--font-meta);font-size:0.65rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--on-pitch-muted);border:1px solid rgba(255,255,255,0.12);border-radius:4px;padding:0.15rem 0.4rem;margin-left:0.5rem;}
/* nav */
.main-nav{display:flex;flex-direction:row;align-items:center;gap:0.25rem;flex-shrink:0;}
.nav-item{list-style:none;position:relative;}
.has-dropdown{position:relative;}
.nav-link{display:block;font-family:var(--font-display);font-size:0.82rem;padding:0.4rem 0.65rem;border-radius:4px;text-decoration:none;color:var(--text-light);transition:color 0.2s,background 0.2s;white-space:nowrap;}
.nav-link:hover{color:var(--accent);background:rgba(255,255,255,0.05);}
.nav-item.active .nav-link{color:var(--accent);border-bottom:2px solid var(--accent);}
/* dropdown */
.dropdown{position:absolute;top:100%;left:0;display:none;z-index:999;background:var(--pitch);border:2px solid var(--accent);min-width:180px;padding-top:8px;color:var(--text-light);border-radius:0 0 var(--radius) var(--radius);}
.dropdown *{color:inherit;}
.dropdown::before{content:'';position:absolute;top:-8px;left:0;right:0;height:8px;}
.dropdown a{display:block;padding:0.6rem 1rem;text-decoration:none;font-size:0.85rem;color:var(--text-light);transition:background 0.15s;}
.dropdown a:hover{background:var(--accent);color:#fff;}
.has-dropdown:hover>.dropdown{display:block;}
/* nav cta */
.nav-cta{font-family:var(--font-display);font-size:0.82rem;padding:0.45rem 1rem;background:var(--accent);color:var(--on-accent);border-radius:var(--radius);text-decoration:none;white-space:nowrap;transition:background 0.2s,transform 0.15s;border:none;cursor:pointer;}
.nav-cta:hover{background:var(--accent-strong);transform:translateY(-1px);color:var(--on-accent);}
/* hamburger */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:0.4rem;}
.hamburger span{display:block;width:22px;height:2px;background:var(--text-light);border-radius:2px;transition:transform 0.2s,opacity 0.2s;}
@media(max-width:640px){
.hamburger{display:flex;}
.main-nav{display:none;position:absolute;top:60px;left:0;width:100%;padding:1rem 1.25rem;background:var(--pitch);border-bottom:2px solid var(--accent);flex-direction:column;align-items:flex-start;gap:0;z-index:998;}
.main-nav.is-open{display:flex;}
.main-nav .nav-item{width:100%;}
.main-nav .nav-link{padding:0.6rem 0;border-radius:0;border-bottom:1px solid rgba(255,255,255,0.07);}
.main-nav .has-dropdown>.dropdown{position:static;display:block;border:none;padding:0 0 0 1rem;background:transparent;min-width:unset;}
.main-nav .dropdown a{padding:0.45rem 0;font-size:0.8rem;}
}
/* buttons */
.btn{display:inline-block;font-family:var(--font-display);font-size:0.95rem;padding:0.65rem 1.5rem;border-radius:var(--radius);text-decoration:none;cursor:pointer;border:2px solid transparent;transition:background 0.2s,transform 0.15s,box-shadow 0.2s;line-height:1.4;}
.btn--primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent);}
.btn--primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);transform:translateY(-2px);box-shadow:0 4px 16px rgba(14,154,167,0.3);color:var(--on-accent);}
.btn--outline{background:transparent;color:var(--accent);border-color:var(--accent);}
.btn--outline:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-2px);}
.btn--ghost{background:transparent;color:var(--text-light);border-color:rgba(255,255,255,0.3);}
.btn--ghost:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.5);color:var(--text-light);}
.btn--lg{padding:0.85rem 2rem;font-size:1.05rem;}
.btn--sm{padding:0.4rem 0.9rem;font-size:0.82rem;}
/* hero */
.hero{background:var(--pitch);color:var(--text-light);padding:4rem 0 3rem;}
.hero *{color:inherit;}
.hero__inner{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:640px){.hero__inner{grid-template-columns:1fr 1fr;align-items:center;}}
.hero__label{font-family:var(--font-meta);font-size:0.72rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--on-pitch-muted);margin-bottom:0.75rem;display:block;}
.hero__h1{margin-bottom:0.75rem;}
.hero__sub{font-size:1rem;color:var(--on-pitch-muted);margin-bottom:1.5rem;}
.hero__cta-row{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;}
.hero__disclaimer{font-family:var(--font-meta);font-size:0.65rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--on-pitch-muted);margin-top:1rem;}
/* footer */
.site-footer{background:var(--pitch);color:var(--text-light);padding:3rem 0 1.5rem;}
.site-footer *{color:inherit;}
.site-footer a{color:var(--link-on-dark);text-decoration:none;}
.site-footer a:hover{color:var(--link-on-dark-hover);}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:2rem;}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-col__heading{display:block;text-transform:uppercase;letter-spacing:0.08em;font-family:var(--font-meta);font-size:0.72rem;color:var(--on-pitch-muted);margin-bottom:0.75rem;}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col ul li{margin-bottom:0.5rem;}
.footer-disclaimer{border-top:1px solid rgba(255,255,255,0.08);padding-top:1.5rem;font-size:0.78rem;color:var(--on-pitch-muted);margin-top:2rem;word-break:break-word;overflow-wrap:break-word;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,0.08);font-size:0.72rem;margin-top:1rem;color:var(--on-pitch-muted);flex-wrap:wrap;gap:0.5rem;}
/* section headings band */
.section-head{margin-bottom:2rem;}
.section-head__label{font-family:var(--font-meta);font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--accent);margin-bottom:0.4rem;display:block;}
.section-head__h2{margin-bottom:0.4rem;}
.section-head__sub{color:var(--muted);font-size:0.95rem;}
/* cards wrapper */
.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
@media(min-width:780px){.cards-grid{grid-template-columns:repeat(4,1fr);}}
/* band elevated */
.band-elevated{background:var(--bg-elevated);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2rem 0;}
/* text utilities */
.text-accent{color:var(--accent);}
.text-gold{color:var(--gold);}
.text-muted{color:var(--muted);}
.text-mono{font-family:var(--font-meta);}
.text-center{text-align:center;}
.text-sm{font-size:0.85rem;}
.text-xs{font-size:0.75rem;}
/* spacing */
.mb-1{margin-bottom:0.5rem;}
.mb-2{margin-bottom:1rem;}
.mb-3{margin-bottom:1.5rem;}
.mb-4{margin-bottom:2rem;}
.mt-1{margin-top:0.5rem;}
.mt-2{margin-top:1rem;}
.mt-3{margin-top:1.5rem;}
.mt-4{margin-top:2rem;}
/* prose */
.prose h2,.prose h3{margin-top:1.75rem;margin-bottom:0.6rem;}
.prose p,.prose li{color:var(--text);}
.prose ul,.prose ol{margin-bottom:1rem;}
.prose a{color:var(--link);}
.prose a:hover{color:var(--link-hover);}
/* dark section text fix */
.hero,.band-pitch,.band-bg,.responsible-band,.site-header,.site-footer,.age-gate-note{color:var(--text-light);}
.hero *,.band-pitch *,.band-bg *,.responsible-band *,.site-header *,.site-footer *,.age-gate-note *{color:inherit;}
/* override anchor in dark */
.hero a,.band-pitch a,.band-bg a,.responsible-band a{color:var(--link-on-dark);}
.hero a:hover,.band-pitch a:hover,.band-bg a:hover,.responsible-band a:hover{color:var(--link-on-dark-hover);}
/* focus ring */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
/* badge */
.badge{display:inline-block;font-family:var(--font-meta);font-size:0.65rem;text-transform:uppercase;letter-spacing:0.08em;padding:0.15rem 0.45rem;border-radius:4px;background:var(--accent);color:var(--on-accent);}
.badge--gold{background:var(--gold);color:#fff;}
.badge--muted{background:var(--bg-elevated);color:var(--muted);border:1px solid var(--border);}
/* inline note */
.note{font-family:var(--font-meta);font-size:0.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;}
/* divider */
hr{border:none;border-top:1px solid var(--border);margin:2rem 0;}
/* details native */
details summary{cursor:pointer;font-family:var(--font-display);font-weight:600;padding:0.75rem 0;border-bottom:1px solid var(--border);list-style:none;display:flex;justify-content:space-between;align-items:center;color:var(--text);}
details summary:hover{color:var(--accent);}
details[open] summary{color:var(--accent);}
details .details-body{padding:0.75rem 0 1rem;color:var(--muted);font-size:0.9rem;}
/* blockquote */
blockquote{border-left:4px solid var(--accent);padding:0.75rem 1rem;color:var(--muted);font-size:0.95rem;background:var(--bg-elevated);border-radius:0 var(--radius) var(--radius) 0;word-break:break-word;overflow-wrap:break-word;}
/* callout overflow fix */
.rg-callout,.callout,blockquote,.faq-body,.accordion-body{word-break:break-word;overflow-wrap:break-word;}
/* two col related */
.related-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
.related-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;text-decoration:none;color:var(--text);display:block;transition:box-shadow 0.2s,border-color 0.2s,transform 0.2s;}
.related-card:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent);transform:translateY(-2px);color:var(--text);}
.related-card__label{font-family:var(--font-meta);font-size:0.68rem;text-transform:uppercase;letter-spacing:0.09em;color:var(--accent);margin-bottom:0.35rem;display:block;}
.related-card__title{font-family:var(--font-display);font-size:0.95rem;}
/* redirect panel */
.redirect-panel{background:var(--pitch);color:var(--text-light);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;box-shadow:var(--shadow);transition:box-shadow 0.2s,transform 0.2s;}
.redirect-panel *{color:inherit;}
.redirect-panel:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(21,34,50,0.2);}
/* scroll shadow table */
.table-scroll{position:relative;}
.table-scroll::after{content:'';position:absolute;top:0;right:0;bottom:0;width:32px;background:linear-gradient(to right,transparent,var(--bg-elevated));pointer-events:none;border-radius:0 var(--radius) var(--radius) 0;}
/* step progress */
.step-list{list-style:none;padding:0;counter-reset:steps;}
.step-list li{counter-increment:steps;display:flex;gap:1rem;margin-bottom:1.5rem;align-items:flex-start;}
.step-list li::before{content:counter(steps);font-family:var(--font-meta);font-size:0.72rem;font-weight:700;background:var(--accent);color:var(--on-accent);width:1.75rem;height:1.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:0.1rem;}
/* ordered list styled */
.styled-ol{list-style:none;padding:0;counter-reset:sol;}
.styled-ol li{counter-increment:sol;display:flex;gap:0.75rem;margin-bottom:1rem;}
.styled-ol li::before{content:counter(sol,decimal-leading-zero);font-family:var(--font-meta);font-size:0.72rem;color:var(--accent);flex-shrink:0;padding-top:0.15rem;}
/* app comparison list */
.compare-list{list-style:none;padding:0;margin:0;}
.compare-list li{display:flex;gap:0.75rem;padding:0.6rem 0;border-bottom:1px solid var(--border);font-size:0.9rem;}
.compare-list li .cl-label{font-family:var(--font-meta);font-size:0.7rem;text-transform:uppercase;color:var(--muted);min-width:90px;padding-top:0.15rem;flex-shrink:0;}
/* gov link list */
.gov-links{list-style:none;padding:0;margin:0;}
.gov-links li{margin-bottom:0.5rem;}
.gov-links a{color:var(--link);font-size:0.9rem;}
.gov-links a:hover{color:var(--link-hover);}
/* on dark overrides for gov links inside dark bands */
.band-pitch .gov-links a,.band-bg .gov-links a,.responsible-band .gov-links a{color:var(--link-on-dark);}
.band-pitch .gov-links a:hover,.band-bg .gov-links a:hover{color:var(--link-on-dark-hover);}
/* page hero compact */
.hero--compact{padding:2.5rem 0 2rem;}
/* two deposit cards */
.dep-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
