:root {
--bg:#f4f1ec;
--bg-elevated:#ffffff;
--border:#ddd5c8;
--text:#1c2430;
--text-dark:#111111;
--text-light:#f0f0f0;
--muted:#5c6678;
--accent:#ff4d2e;
--accent-strong:#d93a1a;
--accent-h:12;
--gold:#f0b429;
--gold-h:42;
--pitch:#141c28;
--link:#0b6e4f;
--link-hover:#085a40;
--link-on-dark:#7ee0b8;
--link-on-dark-hover:#5fcba0;
--on-accent:#ffffff;
--on-pitch-muted:#8a9ab5;
--font:'Barlow',system-ui,sans-serif;
--font-display:'Oswald','Arial Narrow',sans-serif;
--font-meta:'JetBrains Mono',ui-monospace,monospace;
--radius:6px;
--max:1120px;
--shadow:0 8px 24px rgba(20,28,40,0.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);color:var(--text-dark);background:var(--bg);line-height:1.6;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--link);text-decoration:underline;word-break:break-all}
a:hover{color:var(--link-hover)}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.2;color:inherit}
h1{font-size:clamp(2rem,5vw,3.2rem)}
h2{font-size:clamp(1.5rem,3.5vw,2.2rem)}
h3{font-size:clamp(1.1rem,2.5vw,1.5rem)}
h4{font-size:1.1rem}
p{margin-bottom:1rem}
ul,ol{padding-left:1.5rem}
small,.text-sm{font-size:0.85rem}
.font-meta{font-family:var(--font-meta)}
.text-muted{color:var(--muted)}
.text-accent{color:var(--accent)}
.text-gold{color:var(--gold)}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.section{padding:3.5rem 0}
.section--sm{padding:2rem 0}
.section--lg{padding:5rem 0}
/* progress bar */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:var(--accent);z-index:9999;transition:width 0.1s linear}
/* site header */
.site-header{position:sticky;top:0;z-index:1000;width:100%;background:var(--pitch);color:var(--text-light);box-shadow:0 2px 12px rgba(0,0,0,0.3)}
.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.4rem;font-weight:700;color:var(--text-light);letter-spacing:0.04em}
.header-logo span{color:var(--accent)}
.header-info-badge{font-family:var(--font-meta);font-size:0.7rem;background:rgba(255,77,46,0.15);border:1px solid var(--accent);color:var(--accent);padding:2px 8px;border-radius:var(--radius);margin-left:0.75rem;flex-shrink:0}
.main-nav{display:flex;flex-direction:row;align-items:center;gap:1.5rem;flex-shrink:0;list-style:none;padding:0;margin:0}
.nav-item{position:relative}
.nav-link{font-family:var(--font-display);font-size:0.9rem;font-weight:500;text-decoration:none;color:var(--text-light);padding:0.4rem 0;border-bottom:2px solid transparent;transition:border-color 0.2s,color 0.2s;letter-spacing:0.04em;text-transform:uppercase;white-space:nowrap}
.nav-link:hover{color:var(--accent);border-bottom-color:var(--accent)}
.nav-item.active .nav-link{border-bottom-color:var(--accent);color:var(--accent)}
.has-dropdown{position:relative}
.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)}
.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;font-family:var(--font);white-space:nowrap}
.dropdown a:hover{background:var(--accent);color:#fff}
.has-dropdown:hover>.dropdown{display:block}
.nav-cta{background:var(--accent);color:var(--on-accent)!important;padding:0.4rem 1rem;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;font-size:0.85rem;text-decoration:none;text-transform:uppercase;transition:background 0.2s,transform 0.15s,box-shadow 0.15s;flex-shrink:0}
.nav-cta:hover{background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 4px 12px rgba(255,77,46,0.4)}
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;color:var(--text-light);flex-direction:column;gap:5px;align-items:center;justify-content:center}
.hamburger span{display:block;width:24px;height:2px;background:currentColor;transition:transform 0.2s,opacity 0.2s}
@media(max-width:640px){
.hamburger{display:flex}
.main-nav{display:none;flex-direction:column;align-items:flex-start;position:absolute;top:60px;left:0;width:100%;background:var(--pitch);padding:1rem 1.5rem;gap:0.5rem;border-top:1px solid rgba(255,255,255,0.1)}
.main-nav.is-open{display:flex}
.main-nav .nav-link{padding:0.6rem 0;font-size:1rem}
.dropdown{position:static;border:none;border-left:2px solid var(--accent);margin-left:1rem;padding-top:0;min-width:unset}
.has-dropdown:hover>.dropdown,.dropdown{display:block}
.header-info-badge{display:none}
}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;font-family:var(--font-display);font-weight:600;font-size:1rem;text-decoration:none;border:none;cursor:pointer;border-radius:var(--radius);padding:0.75rem 1.75rem;transition:transform 0.15s ease,box-shadow 0.15s ease,background 0.15s ease;letter-spacing:0.04em;text-transform:uppercase;line-height:1}
.btn-accent{background:var(--accent);color:var(--on-accent)}
.btn-accent:hover{background:var(--accent-strong);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,77,46,0.35)}
.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}
.btn-outline:hover{background:var(--accent);color:var(--on-accent);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#1c2430}
.btn-gold:hover{filter:brightness(1.05);transform:translateY(-2px)}
.btn-muted{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border)}
.btn-muted:hover{border-color:var(--accent);color:var(--accent)}
.btn--full{width:100%;display:flex}
.btn--lg{font-size:1.15rem;padding:1rem 2.5rem}
/* cards */
.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow);transition:border-color 0.2s,box-shadow 0.2s,transform 0.2s}
.card:hover{border-color:var(--accent);box-shadow:0 12px 32px rgba(255,77,46,0.12);transform:translateY(-2px)}
.card-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:2rem}
@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:780px){.card-grid{grid-template-columns:repeat(3,1fr)}}
.card-grid--2{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:2rem}
@media(min-width:640px){.card-grid--2{grid-template-columns:repeat(2,1fr)}}
.card-grid--4{display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr);margin-bottom:2rem}
@media(min-width:780px){.card-grid--4{grid-template-columns:repeat(4,1fr)}}
/* tables */
.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:2rem;border-radius:var(--radius);border:1px solid var(--border)}
.table-scroll-wrap table{min-width:540px;width:100%;border-collapse:collapse}
table{width:100%;border-collapse:collapse;font-size:0.9rem}
thead th{background:var(--pitch);color:var(--text-light);padding:0.75rem 1rem;text-align:left;font-family:var(--font-display);font-weight:600;letter-spacing:0.04em;font-size:0.85rem}
tbody tr:nth-child(even){background:rgba(0,0,0,0.03)}
tbody tr:hover{background:rgba(255,77,46,0.05)}
tbody td{padding:0.7rem 1rem;border-bottom:1px solid var(--border);color:var(--text-dark)}
tbody td *{color:inherit}
/* tabs */
.tab-list{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:1.5rem;overflow-x:auto}
.tab-btn{font-family:var(--font-display);font-size:0.9rem;font-weight:600;padding:0.65rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:-2px;transition:color 0.2s,border-color 0.2s;white-space:nowrap}
.tab-btn:hover{color:var(--text)}
.tab-btn.is-active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
/* seg controls */
.seg-group{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:1.5rem}
.seg-btn{font-family:var(--font-meta);font-size:0.8rem;padding:0.5rem 1rem;background:var(--bg-elevated);border:none;cursor:pointer;color:var(--muted);transition:background 0.2s,color 0.2s}
.seg-btn.is-active{background:var(--accent);color:var(--on-accent)}
.seg-panel{display:none}
.seg-panel.is-active{display:block}
/* accordion */
.accordion-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0.75rem;overflow:hidden}
.accordion-trigger{width:100%;background:var(--bg-elevated);border:none;padding:1rem 1.25rem;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--text);transition:background 0.2s}
.accordion-trigger:hover{background:rgba(255,77,46,0.05)}
.accordion-body{display:none;padding:1rem 1.25rem;border-top:1px solid var(--border);color:var(--text);word-break:break-word;overflow-wrap:break-word}
.accordion-item.is-open .accordion-body{display:block}
.acc-icon{font-style:normal;transition:transform 0.2s;font-size:1.2rem;color:var(--accent)}
.accordion-item.is-open .acc-icon{transform:rotate(45deg)}
/* faq */
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:hover{background:rgba(255,77,46,0.03)}
.faq-trigger{width:100%;background:none;border:none;padding:1.1rem 1rem;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-family:var(--font);font-size:1rem;font-weight:600;color:var(--text);gap:1rem}
.faq-body{display:none;padding:0 1rem 1.1rem;color:var(--muted);word-break:break-word;overflow-wrap:break-word}
.faq-item.is-open .faq-body{display:block}
.faq-item.is-open .faq-trigger .acc-icon{transform:rotate(45deg)}
/* checklist items */
.checklist-item{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0.5rem;overflow:hidden}
.checklist-trigger{width:100%;background:var(--bg-elevated);border:none;padding:0.9rem 1.1rem;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--text)}
.checklist-body{display:none;padding:0.9rem 1.1rem;border-top:1px solid var(--border);color:var(--muted)}
.checklist-item.is-expanded .checklist-body{display:block}
/* callout */
.callout{border-left:4px solid var(--accent);background:var(--bg-elevated);padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0;margin-bottom:1.5rem;word-break:break-word;overflow-wrap:break-word}
.callout--gold{border-left-color:var(--gold)}
.callout--muted{border-left-color:var(--muted)}
.rg-callout{border:2px solid var(--gold);background:rgba(240,180,41,0.07);padding:1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;word-break:break-word;overflow-wrap:break-word}
blockquote{border-left:4px solid var(--accent);padding:1rem 1.25rem;font-style:italic;color:var(--muted);margin-bottom:1.5rem;word-break:break-word;overflow-wrap:break-word}
/* dense list */
.dense-list{list-style:none;padding:0}
.dense-list li{display:block;padding:1rem 0}
.dense-list li+li{border-top:1px solid var(--border);padding-top:1.5rem}
.dense-list__marker{display:block;font-weight:600;color:var(--accent);margin-bottom:0.5rem;font-family:var(--font-meta);font-size:0.85rem}
/* pill / chips */
.pill{display:inline-block;padding:0.3rem 0.9rem;border-radius:20px;font-family:var(--font-meta);font-size:0.78rem;font-weight:500;border:1px solid var(--border);color:var(--muted);text-decoration:none;transition:border-color 0.2s,color 0.2s,background 0.2s}
.pill:hover{border-color:var(--accent);color:var(--accent)}
.pill--accent{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.pill--gold{background:rgba(240,180,41,0.12);color:#7a5a00;border-color:var(--gold)}
.pill-row{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:1.5rem}
/* hero band */
.hero{background:var(--pitch);color:var(--text-light);padding:4rem 0 3rem;position:relative;overflow:hidden}
.hero *{color:inherit}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-12deg,transparent,transparent 40px,rgba(255,77,46,0.04) 40px,rgba(255,77,46,0.04) 41px);pointer-events:none}
.hero a{color:var(--link-on-dark)}
.hero a:hover{color:var(--link-on-dark-hover)}
.hero-inner{display:grid;grid-template-columns:1fr;gap:2.5rem;position:relative;z-index:1}
@media(min-width:780px){.hero-inner{grid-template-columns:1fr 1fr;align-items:center}}
.hero-label{font-family:var(--font-meta);font-size:0.78rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:0.75rem}
.hero-title{margin-bottom:1rem}
.hero-lead{font-size:1.1rem;color:var(--on-pitch-muted);margin-bottom:1.5rem}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:0.75rem}
/* pitch band */
.band-pitch{background:var(--pitch);color:var(--text-light);padding:2rem 0}
.band-pitch *{color:inherit}
.band-pitch a{color:var(--link-on-dark)}
.band-pitch a:hover{color:var(--link-on-dark-hover)}
.band-bg{background:var(--pitch);color:var(--text-light);padding:2.5rem 0}
.band-bg *{color:inherit}
.band-bg a{color:var(--link-on-dark)}
.band-bg a:hover{color:var(--link-on-dark-hover)}
.band-elevated{background:var(--bg-elevated);padding:1.25rem 0;border-bottom:1px solid var(--border)}
.band-accent{background:var(--accent);color:var(--on-accent);padding:0.65rem 0}
.band-accent *{color:inherit}
/* diagonal flourish */
.stripe-flourish{position:relative;overflow:hidden}
.stripe-flourish::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-12deg,transparent,transparent 20px,rgba(255,255,255,0.04) 20px,rgba(255,255,255,0.04) 21px);pointer-events:none}
/* responsible band */
.responsible-band{background:var(--pitch);color:var(--text-light);padding:1.5rem 0}
.responsible-band *{color:inherit}
.responsible-band a{color:var(--link-on-dark)}
.responsible-band a:hover{color:var(--link-on-dark-hover)}
/* age gate note */
.age-gate-note{background:var(--pitch);color:var(--text-light);border:2px solid var(--accent);border-radius:var(--radius);padding:1.25rem 1.5rem;margin-bottom:2rem}
.age-gate-note *{color:inherit}
/* 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);text-decoration:underline}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-bottom:2rem}
.footer-col__heading{display:block;text-transform:uppercase;letter-spacing:0.08em;font-size:0.75rem;font-family:var(--font-meta);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;font-size:0.875rem}
.footer-disclaimer{border-top:1px solid rgba(255,255,255,0.1);padding-top:1.5rem;font-size:0.8rem;color:var(--on-pitch-muted);margin-top:2rem;line-height:1.7}
.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.75rem;margin-top:1rem;color:var(--on-pitch-muted)}
@media(max-width:640px){.footer-grid{grid-template-columns:1fr 1fr}}
/* mobile CTA rail */
#mobile-cta-rail{position:fixed;bottom:0;left:0;right:0;z-index:900;padding:0.75rem 1.25rem;background:var(--pitch);border-top:2px solid var(--accent);display:none;box-shadow:0 -4px 20px rgba(0,0,0,0.3)}
#mobile-cta-rail.is-visible{display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
/* back to top */
#back-to-top{position:fixed;bottom:5rem;right:1.25rem;z-index:800;background:var(--accent);color:#fff;border:none;border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:1.2rem;display:none;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(255,77,46,0.4);transition:transform 0.2s}
#back-to-top.is-visible{display:flex}
#back-to-top:hover{transform:translateY(-2px)}
/* scroll reveal */
.js-ready .reveal{opacity:0;transform:translateY(24px);transition:opacity 0.55s ease,transform 0.55s ease}
.js-ready .reveal.is-visible{opacity:1;transform:none}
.js-ready .reveal-slide{opacity:0;transform:translateX(-24px);transition:opacity 0.5s ease,transform 0.5s ease}
.js-ready .reveal-slide.is-visible{opacity:1;transform:none}
.js-ready .reveal-scale{opacity:0;transform:scale(0.95);transition:opacity 0.5s ease,transform 0.5s ease}
.js-ready .reveal-scale.is-visible{opacity:1;transform:none}
.js-ready .timeline-item{opacity:0;transform:translateX(-16px);transition:opacity 0.5s ease,transform 0.5s ease}
.js-ready .timeline-item.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
.js-ready .reveal,.js-ready .reveal-slide,.js-ready .reveal-scale,.js-ready .timeline-item{opacity:1!important;transform:none!important;transition:none!important}
}
/* focus visible */
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
/* stat row */
.stat-row{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-bottom:2rem}
.stat-item{text-align:center}
.stat-num{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--accent);line-height:1}
.stat-label{font-family:var(--font-meta);font-size:0.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em}
/* trust rail */
.trust-rail{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:center;padding:2rem 0}
.trust-item{display:flex;align-items:center;gap:0.5rem;font-size:0.9rem;color:var(--muted)}
.trust-icon{font-size:1.4rem}
/* step flow */
.steps-flow{display:grid;gap:1.5rem;grid-template-columns:1fr;margin-bottom:2rem}
@media(min-width:640px){.steps-flow{grid-template-columns:repeat(3,1fr)}}
.step-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:border-color 0.2s,box-shadow 0.2s,transform 0.2s}
.step-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow)}
.step-num{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--accent);line-height:1;margin-bottom:0.5rem}
/* section heading */
.section-heading{margin-bottom:2rem}
.section-heading h2{margin-bottom:0.5rem}
.section-heading p{color:var(--muted)}
/* badge */
.badge{display:inline-block;font-family:var(--font-meta);font-size:0.72rem;padding:0.25rem 0.65rem;border-radius:20px;font-weight:500;letter-spacing:0.06em}
.badge--accent{background:rgba(255,77,46,0.12);color:var(--accent);border:1px solid rgba(255,77,46,0.3)}
.badge--gold{background:rgba(240,180,41,0.12);color:#7a5a00;border:1px solid rgba(240,180,41,0.4)}
.badge--pitch{background:var(--pitch);color:var(--text-light);border:1px solid rgba(255,255,255,0.1)}
/* security badge shimmer */
.security-badge{position:relative;overflow:hidden;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:0.75rem 1.25rem}
.security-badge::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.4) 50%,transparent 100%);transform:translateX(-100%);animation:shimmer 2.5s infinite}
@keyframes shimmer{to{transform:translateX(100%)}}
/* link underline grow */
.link-grow{text-decoration:none;position:relative;color:var(--link)}
.link-grow::after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:2px;background:var(--link);transition:width 0.2s ease}
.link-grow:hover::after{width:100%}
/* quote bar */
.quote-bar{border-left:5px solid var(--accent);padding:1.25rem 1.5rem;background:var(--bg-elevated);font-style:italic;font-size:1.15rem;border-radius:0 var(--radius) var(--radius) 0;margin-bottom:1.5rem}
/* toc sidebar */
.toc-wrap{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:780px){.toc-wrap{grid-template-columns:220px 1fr;align-items:start}}
.toc-sidebar{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;position:sticky;top:72px}
.toc-sidebar a{display:block;padding:0.35rem 0;font-size:0.875rem;text-decoration:none;color:var(--muted);border-left:2px solid transparent;padding-left:0.75rem;transition:color 0.2s,border-color 0.2s}
.toc-sidebar a:hover,.toc-sidebar a.is-active{color:var(--accent);border-left-color:var(--accent)}
/* device frame */
.device-frame{border:3px solid var(--accent);border-radius:24px;padding:1.5rem;background:var(--pitch);box-shadow:0 0 32px rgba(255,77,46,0.25),var(--shadow);position:relative;transition:box-shadow 0.3s}
.device-frame:hover{box-shadow:0 0 48px rgba(255,77,46,0.4),var(--shadow)}
/* carousel */
.carousel-wrap{position:relative;overflow:hidden;border-radius:var(--radius)}
.carousel-track{display:flex;transition:transform 0.4s ease}
.carousel-slide{flex:0 0 100%;padding:2rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);min-height:180px;display:flex;align-items:center;justify-content:center;font-family:var(--font-meta);color:var(--muted)}
.carousel-dots{display:flex;justify-content:center;gap:0.5rem;margin-top:1rem}
.carousel-dot{width:10px;height:10px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:background 0.2s}
.carousel-dot.is-active{background:var(--accent)}
/* mark highlight */
mark,.mark{background:rgba(240,180,41,0.25);color:inherit;padding:0 3px;border-radius:2px}
/* gov card */
.gov-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:box-shadow 0.2s,transform 0.2s}
.gov-card:hover{box-shadow:0 8px 28px rgba(20,28,40,0.12);transform:translateY(-3px)}
/* live dot */
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--accent);margin-right:6px;animation:pulse-dot 1.5s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:0.7}}
@media(prefers-reduced-motion:reduce){.live-dot{animation:none}}
/* verify note */
.verify-note{font-family:var(--font-meta);font-size:0.75rem;color:var(--muted);font-style:italic}
/* prose */
.prose h2{margin:2rem 0 0.75rem}
.prose h3{margin:1.5rem 0 0.5rem}
.prose p{margin-bottom:1rem;line-height:1.75}
.prose ul,.prose ol{margin-bottom:1rem}
.prose li{margin-bottom:0.4rem}
/* icon pop hover */
.icon-pop{transition:transform 0.2s,filter 0.2s}
.icon-pop:hover{transform:scale(1.15);filter:drop-shadow(0 2px 6px rgba(255,77,46,0.3))}
/* flow node hover */
.flow-node{transition:transform 0.2s}
.flow-node:hover{transform:scale(1.04)}
/* legal callout */
.legal-callout{border:2px solid var(--border);border-radius:var(--radius);padding:1.25rem;background:var(--bg-elevated);margin-bottom:1.5rem}
.legal-callout--accent{border-color:var(--accent)}
/* disclosure box */
.disclosure-box{border:2px dashed var(--border);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;background:rgba(240,241,236,0.5)}
/* filter input */
.filter-input{width:100%;padding:0.65rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font);font-size:1rem;background:var(--bg-elevated);color:var(--text);margin-bottom:1.25rem;transition:border-color 0.2s}
.filter-input:focus{outline:none;border-color:var(--accent)}
/* kyc card */
.kyc-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:box-shadow 0.2s,transform 0.2s}
.kyc-card:hover{box-shadow:0 8px 24px rgba(20,28,40,0.1);transform:translateY(-2px)}
/* status pill */
.status-pill{display:inline-block;padding:0.25rem 0.75rem;border-radius:20px;font-family:var(--font-meta);font-size:0.75rem;border:1px solid var(--border)}
.status-pill:focus{outline:3px solid var(--accent);outline-offset:2px}
.status-pill--ok{background:rgba(11,110,79,0.1);color:#0b6e4f;border-color:rgba(11,110,79,0.3)}
/* cta section band */
.cta-band{background:var(--pitch);color:var(--text-light);padding:3.5rem 0;text-align:center;position:relative;overflow:hidden}
.cta-band *{color:inherit}
.cta-band::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(-12deg,transparent,transparent 30px,rgba(255,77,46,0.06) 30px,rgba(255,77,46,0.06) 31px);pointer-events:none}
.cta-band .btn-accent:hover{color:var(--on-accent)}
/* spacer */
.mt-1{margin-top:0.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}
.mb-1{margin-bottom:0.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}
.text-center{text-align:center}
.text-right{text-align:right}
.grid-auto{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2rem}
/* number list */
.num-list{list-style:none;padding:0;counter-reset:nl}
.num-list li{counter-increment:nl;display:flex;gap:1rem;align-items:flex-start;padding:0.85rem 0;border-bottom:1px solid var(--border)}
.num-list li::before{content:counter(nl);font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--accent);line-height:1;flex-shrink:0}
/* inline link row */
.link-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem}
/* two col layout */
.two-col{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:780px){.two-col{grid-template-columns:1fr 1fr;align-items:start}}
/* deprecated compat for any section with bg-pitch used inline in HTML */
[data-dark]{background:var(--pitch);color:var(--text-light)}
[data-dark] *{color:inherit}