:root,
[data-theme="light"] {
  --color-bg: #F8FAFC;
  --color-surface: #FFFFFF;
  --color-surface-2: #E5DDD2;
  --color-border: rgba(15, 23, 42, 0.12);
  --color-text: #0F172A;
  --color-text-muted: #475569;
  --color-text-faint: #64748B;
  --color-primary: #2F6BFF;
  --color-primary-hover: #2557D8;
  --color-primary-soft: rgba(47, 107, 255, 0.10);
  --color-accent: #18B6A5;
  --color-accent-soft: rgba(24, 182, 165, 0.10);
  --color-gold: #C7A76C;
  --color-gold-soft: rgba(199, 167, 108, 0.12);
  --color-charcoal: #1F2937;
  --color-success: #18B6A5;
  --shadow-sm: 0 10px 30px rgba(15, 23, 42, 0.06);
  --shadow-lg: 0 24px 60px rgba(15, 23, 42, 0.12);
  --radius-sm: 0.5rem;
  --radius-md: 0.875rem;
  --radius-lg: 1.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --content: min(1120px, calc(100vw - 2rem));
  --font-display: 'Montserrat', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
}
[data-theme="dark"] {
  --color-bg: #0B1120;
  --color-surface: #0F172A;
  --color-surface-2: #1F2937;
  --color-border: rgba(248, 250, 252, 0.10);
  --color-text: #F8FAFC;
  --color-text-muted: #CBD5E1;
  --color-text-faint: #94A3B8;
  --color-primary: #5B8BFF;
  --color-primary-hover: #7FA3FF;
  --color-primary-soft: rgba(91, 139, 255, 0.12);
  --color-accent: #20D0BD;
  --color-accent-soft: rgba(32, 208, 189, 0.12);
  --color-gold: #D4B37A;
  --color-gold-soft: rgba(212, 179, 122, 0.14);
  --color-charcoal: #E2E8F0;
  --color-success: #20D0BD;
  --shadow-sm: 0 10px 28px rgba(0, 0, 0, 0.28);
  --shadow-lg: 0 26px 64px rgba(0, 0, 0, 0.4);
}
*{box-sizing:border-box;} html{scroll-behavior:smooth;} body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;} img,svg{display:block;max-width:100%;} a{color:inherit;text-decoration:none;} button,input,textarea,select{font:inherit;} button{cursor:pointer;} input,textarea,select{width:100%;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.9rem 1rem;} textarea{resize:vertical;} input:focus,textarea:focus,select:focus,button:focus,a:focus{outline:2px solid var(--color-primary);outline-offset:3px;} .container{width:var(--content);margin:0 auto;} .skip-link{position:absolute;left:1rem;top:-100%;background:var(--color-text);color:var(--color-bg);padding:.75rem 1rem;border-radius:var(--radius-sm);z-index:100;} .skip-link:focus{top:1rem;} .site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--color-bg) 86%,transparent);border-bottom:1px solid var(--color-border);} .nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:5rem;} .brand{display:inline-flex;align-items:center;gap:.85rem;color:var(--color-text);} .brand img{width:3rem;height:3rem;border-radius:.9rem;box-shadow:var(--shadow-sm);} .brand-wordmark{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-0.03em;} .main-nav{display:flex;gap:var(--space-5);align-items:center;font-size:.96rem;} .main-nav a,.footer-link,.footer-links a{color:var(--color-text-muted);} .main-nav a:hover,.footer-link:hover,.footer-links a:hover{color:var(--color-text);} .theme-toggle{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);min-width:44px;min-height:44px;border-radius:999px;} .section{padding:clamp(3.5rem,6vw,6rem) 0;} .hero{padding-top:clamp(4.5rem,8vw,7rem);background:radial-gradient(circle at 12% 14%,var(--color-primary-soft),transparent 26%),radial-gradient(circle at 88% 16%,var(--color-gold-soft),transparent 24%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 72%,var(--color-bg)),var(--color-bg));} .hero-grid,.two-col{display:grid;grid-template-columns:1.3fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;} .eyebrow{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.14em;font-size:.75rem;color:var(--color-primary);font-weight:700;} h1,h2,h3{margin:0;line-height:1.05;font-family:var(--font-display);font-weight:700;letter-spacing:-0.04em;} h1{font-size:clamp(3rem,7vw,5.5rem);max-width:11ch;} h2{font-size:clamp(2rem,4vw,3.1rem);max-width:14ch;} h3{font-size:1.35rem;} .lede,.section-copy{color:var(--color-text-muted);font-size:1.06rem;max-width:60ch;} .hero-actions{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:1.75rem;} .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.95rem 1.35rem;min-height:46px;border:1px solid transparent;font-weight:600;transition:transform 160ms ease,background 160ms ease,color 160ms ease,border-color 160ms ease;} .btn:hover{transform:translateY(-1px);} .btn-primary{background:var(--color-primary);color:#F8FAFC;} .btn-primary:hover{background:var(--color-primary-hover);} .btn-secondary{border-color:var(--color-border);background:var(--color-surface);color:var(--color-text);} .btn-wide{width:100%;} .hero-card,.search-panel,.question-card,.form-card,.modal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);} .hero-card{padding:1.5rem;background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 85%,var(--color-primary-soft)),var(--color-surface));} .hero-points{padding-left:1.15rem;color:var(--color-text-muted);} .hero-points li+li{margin-top:.6rem;} .mini-label{margin:0 0 .8rem;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-gold);} .section-head{margin-bottom:1.5rem;} .search-panel{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:1rem;padding:1rem;} .toolbar{margin:1rem auto 1.5rem;} .results-count{margin:0;color:var(--color-text-muted);} .cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;} .question-card{padding:1.25rem;display:flex;flex-direction:column;gap:.85rem;} .question-topline{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;} .code-badge,.round-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:700;} .code-badge{background:var(--color-primary-soft);color:var(--color-primary);} .round-badge{background:var(--color-gold-soft);color:var(--color-charcoal);} .question-title{font-family:var(--font-body);font-size:1.08rem;font-weight:700;line-height:1.35;} .category-line{margin:0;color:var(--color-text-muted);} .answer-block{border-top:1px solid var(--color-border);padding-top:.9rem;} .answer-label{margin:0 0 .4rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent);font-weight:700;} .answer-text,.answer-meta,.microcopy,.form-confirmation{margin:0;} .answer-meta,.microcopy{color:var(--color-text-muted);font-size:.92rem;} .accent-section{background:radial-gradient(circle at top right,color-mix(in srgb,var(--color-primary) 12%,transparent),transparent 28%),linear-gradient(180deg,color-mix(in srgb,var(--color-surface) 75%,var(--color-bg)),var(--color-bg));} .simple-list{padding-left:1.15rem;color:var(--color-text-muted);} .simple-list li+li{margin-top:.55rem;} .field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;} .field-group label,.checkbox-group legend{display:block;margin-bottom:.45rem;font-size:.92rem;font-weight:600;} .field-group+.field-group,.checkbox-group,textarea+.microcopy,.btn-wide+.microcopy{margin-top:1rem;} .form-card{padding:1.4rem;} .checkbox-group{border:none;padding:0;margin-inline:0;} .checkbox-group label{display:flex;align-items:center;gap:.55rem;margin-bottom:.65rem;} .checkbox-group input{width:auto;accent-color:var(--color-primary);} .prose{max-width:760px;} .prose p{color:var(--color-text-muted);} .prose p+p{margin-top:1rem;} .prose .signoff{color:var(--color-text);margin-top:1.4rem;} .site-footer{border-top:1px solid var(--color-border);padding:1.5rem 0 2rem;} .footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--color-text-muted);} .footer-links{display:flex;align-items:center;gap:1rem;} .footer-link{border:0;background:transparent;padding:0;} .modal.hidden,.hidden{display:none!important;} .modal{position:fixed;inset:0;z-index:50;} .modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.6);} .modal-panel{position:relative;width:min(720px,calc(100vw - 2rem));margin:8vh auto 0;padding:1.5rem;z-index:1;} .modal-close{position:absolute;top:1rem;right:1rem;border:1px solid var(--color-border);background:var(--color-surface-2);width:44px;height:44px;border-radius:999px;} .modal-copy p{color:var(--color-text-muted);} .share-row{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin-top:1rem;} .deck-success h3{margin-bottom:.6rem;} .form-confirmation{color:var(--color-success);margin-top:1rem;font-weight:600;} .fireworks{position:relative;min-height:120px;margin-bottom:1rem;} .fireworks span{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:999px;background:var(--color-primary);box-shadow:0 -34px 0 0 var(--color-primary),24px -24px 0 0 var(--color-gold),34px 0 0 0 var(--color-accent),24px 24px 0 0 var(--color-gold),0 34px 0 0 var(--color-primary),-24px 24px 0 0 var(--color-accent),-34px 0 0 0 var(--color-gold),-24px -24px 0 0 var(--color-primary);animation:burst 1.2s ease-out infinite;transform:translate(-50%,-50%) scale(.2);opacity:0;} .fireworks span:nth-child(2){left:28%;top:36%;animation-delay:.15s;} .fireworks span:nth-child(3){left:72%;top:34%;animation-delay:.35s;} .fireworks span:nth-child(4){left:34%;top:72%;animation-delay:.5s;} .fireworks span:nth-child(5){left:62%;top:66%;animation-delay:.7s;} .fireworks span:nth-child(6){left:50%;top:48%;animation-delay:.9s;} @keyframes burst{0%{transform:translate(-50%,-50%) scale(.2);opacity:0;}30%{opacity:1;}100%{transform:translate(-50%,-50%) scale(1);opacity:0;}} @media (max-width:960px){.hero-grid,.two-col,.search-panel,.cards-grid,.field-row,.footer-wrap{grid-template-columns:1fr;display:grid;} .nav-wrap{flex-wrap:wrap;padding:.75rem 0;} .main-nav{order:3;width:100%;overflow-x:auto;padding-bottom:.3rem;} h1{max-width:12ch;}} @media (max-width:640px){.hero-actions,.share-row,.footer-links{flex-direction:column;align-items:stretch;display:flex;} .share-row{display:grid;grid-template-columns:1fr;} .question-card,.form-card,.hero-card{padding:1rem;} .brand-wordmark{font-size:1.02rem;}} @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
