/* License Cram — site stylesheet (W2 quality pass rebuild) */
:root{
  --ink:#0a1628;--ink-2:#152844;--ink-3:#28425e;
  --paper:#f7f5ef;--paper-2:#ffffff;
  --accent:#ffb800;--accent-deep:#e69500;--accent-ink:#2a1a00;
  --hi:#1f7a3a;--hi-tint:#e6f4ea;
  --muted:#5a6b80;--rule:#e2dfd5;--rule-2:#d6d2c4;
  --card:#ffffff;--card-2:#fbf8ee;
  --shadow-sm:0 1px 2px rgba(10,22,40,0.06),0 1px 1px rgba(10,22,40,0.04);
  --shadow-md:0 4px 14px rgba(10,22,40,0.08),0 2px 4px rgba(10,22,40,0.05);
  --shadow-lg:0 18px 40px rgba(10,22,40,0.18),0 6px 12px rgba(10,22,40,0.08);
  --radius:10px;--radius-lg:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
a{color:var(--ink-2);text-decoration:underline;text-decoration-color:rgba(21,40,68,0.25);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:color .15s,text-decoration-color .15s;}
a:hover{color:var(--accent-deep);text-decoration-color:var(--accent);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,label:focus-visible{outline:3px solid var(--accent-deep);outline-offset:2px;}
::selection{background:var(--accent);color:var(--accent-ink);}
.container{max-width:1100px;margin:0 auto;padding:28px 22px;}
.narrow{max-width:760px;}


/* TOPBAR */
.topbar{background:var(--ink);color:#cfd8e6;font-size:12px;letter-spacing:.3px;}
.topbar .container{padding:6px 22px;display:flex;justify-content:center;text-align:center;}
.topbar a{color:#cfd8e6;}

/* HEADER */
header.site{position:sticky;top:0;z-index:50;background:rgba(247,245,239,0.92);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--rule);}
header.site .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;padding:14px 22px;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);}
.brand:hover{color:var(--ink);}
.brand-mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,var(--ink) 0%,var(--ink-2) 100%);display:grid;place-items:center;color:var(--accent);font:800 18px/1 "Inter",sans-serif;letter-spacing:-0.5px;box-shadow:var(--shadow-sm),inset 0 1px 0 rgba(255,255,255,0.08);}
.brand-mark img{width:28px;height:28px;display:block;border-radius:6px;background:transparent;}
.brand-text{display:flex;flex-direction:column;line-height:1.1;}
.brand .name{font:800 19px/1.1 "Inter",sans-serif;letter-spacing:-0.3px;color:var(--ink);}
.brand .tag{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:600;margin-top:3px;}
nav.primary{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
nav.primary a{font:600 14px/1 "Inter",sans-serif;text-decoration:none;color:var(--ink-3);padding:9px 14px;border-radius:8px;transition:background .15s,color .15s;}
nav.primary a:hover{color:var(--ink);background:rgba(21,40,68,0.06);}
nav.primary a.nav-cta{background:var(--ink);color:var(--accent);}
nav.primary a.nav-cta:hover{background:var(--ink-2);color:var(--accent);}
.nav-toggle{position:absolute;opacity:0;pointer-events:none;}
.nav-toggle-label{display:none;cursor:pointer;font-size:20px;line-height:1;padding:8px 12px;border-radius:8px;border:1px solid var(--rule-2);color:var(--ink);}


/* HERO (home + hub bands) */
.hero{position:relative;overflow:visible;background:radial-gradient(ellipse at 20% 0%,#1f3a64 0%,var(--ink-2) 45%,var(--ink) 100%);color:#f4f1e7;border-bottom:1px solid var(--ink);}
.hero::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,transparent 0 60px,rgba(255,184,0,0.12) 60px 90px,transparent 90px 150px);bottom:0;top:auto;height:6px;}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:rgba(255,184,0,0.4);}
.hero .container{padding:72px 22px 84px;display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:center;}
.hero.hero-compact .container{padding:36px 22px 44px;grid-template-columns:1.3fr 1fr;gap:32px;}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);background:rgba(255,184,0,0.12);border:1px solid rgba(255,184,0,0.3);padding:7px 12px;border-radius:999px;margin-bottom:18px;}
.hero .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px rgba(255,184,0,0.25);}
.hero h1{font:800 clamp(28px,5vw,52px)/1.1 "Inter",sans-serif;letter-spacing:-1.2px;margin:0 0 16px;color:#ffffff;}
.hero h1 .accent{color:var(--accent);}
.hero p.sub{font-size:18px;line-height:1.55;color:#cfd8e6;margin:0 0 20px;max-width:52ch;}
.hero .crumbs.light{color:#a8b3c5;margin:0 0 14px;}
.hero .crumbs.light a{color:#cfd8e6;}
.hero .crumbs.light a:hover{color:var(--accent);}
.hero .crumbs.light .sep{color:#5f6f88;}
.hero .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.hero .stats{display:flex;gap:28px;margin-top:22px;flex-wrap:wrap;}
.hero .stat{display:flex;flex-direction:column;}
.hero .stat .num{font:800 24px/1 "Inter",sans-serif;color:var(--accent);letter-spacing:-0.5px;}
.hero .stat .lbl{font-size:12px;color:#a8b3c5;text-transform:uppercase;letter-spacing:1px;margin-top:5px;font-weight:600;}
.hero-art{position:relative;min-height:1px;}
.hero-art img{width:100%;height:auto;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,0.1);box-shadow:var(--shadow-lg);display:block;}
.hero.hero-compact .hero-art img{max-height:260px;object-fit:cover;}
.hero-art .badge{position:absolute;bottom:-14px;left:-14px;background:var(--accent);color:var(--accent-ink);font:800 12px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:1px;padding:10px 14px;border-radius:8px;box-shadow:var(--shadow-md);}
@media (max-width:820px){.hero .container{grid-template-columns:1fr;padding:40px 22px 32px;gap:24px;overflow:visible;} .hero-art{order:-1;} .hero-art .badge{left:auto;right:-8px;} .hero.hero-compact .hero-art img{max-height:160px;}}


/* DETAIL BANNER (record-detail pages: compact scene image beside title) */
.detail-head{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap-reverse;margin:4px 0 8px;}
.detail-head .detail-title{flex:1;min-width:240px;}
.detail-banner{flex:0 0 220px;max-width:220px;}
.detail-banner img{width:100%;height:140px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--rule);box-shadow:var(--shadow-sm);display:block;}
@media (max-width:640px){.detail-banner{flex-basis:100%;max-width:100%;} .detail-banner img{height:140px;}}

.cta{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--accent-ink);font:700 15px/1 "Inter",sans-serif;padding:14px 22px;border-radius:10px;text-decoration:none;box-shadow:0 6px 16px rgba(255,184,0,0.35),inset 0 1px 0 rgba(255,255,255,0.4);transition:transform .12s,box-shadow .15s,background .15s;}
.cta:hover{background:#ffc426;color:var(--accent-ink);transform:translateY(-1px);box-shadow:0 10px 22px rgba(255,184,0,0.45),inset 0 1px 0 rgba(255,255,255,0.5);}
.cta:active{transform:translateY(0);}
.cta-ghost{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,0.25);color:#f4f1e7;padding:13px 18px;border-radius:10px;text-decoration:none;font:600 15px/1 "Inter",sans-serif;background:rgba(255,255,255,0.04);transition:background .15s,border-color .15s;}
.cta-ghost:hover{background:rgba(255,255,255,0.1);color:#fff;border-color:rgba(255,255,255,0.4);}

/* TYPOGRAPHY */
h1,h2,h3,h4{color:var(--ink);font-family:"Inter",-apple-system,sans-serif;line-height:1.2;letter-spacing:-0.4px;}
h1{font-size:clamp(26px,3.5vw,38px);font-weight:800;margin:0 0 16px;letter-spacing:-0.8px;}
h2{font-size:24px;font-weight:700;margin:40px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--rule);position:relative;}
h2::before{content:"";position:absolute;bottom:-1px;left:0;width:48px;height:2px;background:var(--accent);}
h3{font-size:18px;font-weight:700;margin:24px 0 8px;}
h4{font-size:14px;font-weight:700;}
p{margin:0 0 14px;}
small,.small{font-size:0.85rem;}
.lede{font-size:18px;line-height:1.55;color:var(--ink-3);margin:0 0 28px;max-width:68ch;}


/* CARD GRID (text + small tags only — no per-card images) */
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.grid.tight{gap:10px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
.card{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;flex-direction:column;gap:6px;overflow:hidden;}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);opacity:0;transition:opacity .15s;}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--rule-2);color:var(--ink);}
.card:hover::before{opacity:1;}
.card h3{margin:0;font-size:16px;font-weight:700;letter-spacing:-0.2px;}
.card p{margin:0;font-size:13.5px;color:var(--muted);line-height:1.5;}
.card .meta{margin-top:auto;padding-top:10px;font-size:12px;color:var(--ink-3);text-transform:uppercase;letter-spacing:1px;font-weight:600;display:inline-flex;align-items:center;gap:6px;}
.card .meta::after{content:"\2192";transition:transform .15s;}
.card:hover .meta::after{transform:translateX(3px);}

/* SECTION HEADERS */
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:40px 0 18px;flex-wrap:wrap;}
.section-head h2{margin:0;border:none;padding:0;}
.section-head h2::before{display:none;}
.section-head .meta{font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:1px;}
.section-head a.more{font:600 14px/1 "Inter",sans-serif;color:var(--ink-2);text-decoration:none;padding:8px 14px;border:1px solid var(--rule-2);border-radius:8px;transition:background .15s,border-color .15s;}
.section-head a.more:hover{background:var(--paper-2);border-color:var(--ink-3);}


/* QUESTION CARD */
.q{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:26px 28px;margin:22px 0;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;}
.q::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-deep) 100%);}
.q .qhead{font:600 12px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.q .qhead .pill{background:var(--ink);color:var(--accent);padding:5px 9px;border-radius:5px;font-size:11px;letter-spacing:1px;}
.q .qtext{font-size:20px;line-height:1.4;font-weight:700;color:var(--ink);margin:6px 0 18px;letter-spacing:-0.3px;}
.q ul.opts{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:8px;}
.q ul.opts li{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--rule);border-radius:8px;background:#fdfcf7;font-size:15px;line-height:1.45;transition:border-color .12s,background .12s;}
.q ul.opts li .letter{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--paper);border:1px solid var(--rule-2);color:var(--ink-3);font:700 12px/1 "Inter",sans-serif;display:grid;place-items:center;letter-spacing:0;}
.q ul.opts li.correct{background:var(--hi-tint);border-color:#9ad1a6;color:var(--ink);}
.q ul.opts li.correct .letter{background:var(--hi);border-color:var(--hi);color:#fff;}
.q ul.opts li.correct::after{content:"\2713";margin-left:auto;color:var(--hi);font-weight:700;font-size:18px;}
.q .answer{display:flex;align-items:center;gap:10px;margin:18px 0 10px;padding:12px 14px;background:var(--hi-tint);border-radius:8px;border-left:3px solid var(--hi);font-weight:700;color:#0e5024;font-size:14.5px;}
.q .answer::before{content:"\2713";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--hi);color:#fff;font-size:13px;}
.q .why{margin:8px 0 0;color:var(--ink);font-size:15px;line-height:1.6;}
.q .why strong{color:var(--ink);font-weight:700;}


/* BREADCRUMBS */
.crumbs{font:500 13px/1.4 "Inter",sans-serif;color:var(--muted);margin:4px 0 22px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.crumbs a{color:var(--muted);text-decoration:none;padding:2px 0;border-bottom:1px solid transparent;transition:color .15s,border-color .15s;}
.crumbs a:hover{color:var(--ink);border-bottom-color:var(--accent);}
.crumbs .sep{color:var(--rule-2);}

/* TIP / CALLOUT */
.tip{background:linear-gradient(180deg,#fff8e0 0%,#fff3cc 100%);border:1px solid #f0d77a;border-left:4px solid var(--accent-deep);padding:14px 18px;border-radius:8px;margin:18px 0;font-size:15px;color:var(--ink);}
.tip strong{color:var(--ink);}

/* TABLE (zebra, sticky first column, horizontal scroll) */
.table-wrap{width:100%;overflow-x:auto;margin:18px 0;border-radius:var(--radius);}
table.facts{width:100%;min-width:360px;border-collapse:separate;border-spacing:0;margin:0;font-size:15px;background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);}
table.facts th,table.facts td{padding:12px 16px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top;}
table.facts tr:last-child th,table.facts tr:last-child td{border-bottom:none;}
table.facts tr:nth-child(even){background:var(--card-2);}
table.facts th{background:var(--card-2);font:600 13px/1.3 "Inter",sans-serif;text-transform:uppercase;letter-spacing:0.8px;color:var(--ink-3);width:40%;position:sticky;left:0;}

/* TOC */
.toc{column-count:2;column-gap:32px;font-size:14px;line-height:1.55;margin:18px 0;}
.toc li{break-inside:avoid;margin-bottom:6px;}
.toc a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid transparent;}
.toc a:hover{color:var(--accent-deep);border-bottom-color:var(--accent);}
@media (max-width:640px){.toc{column-count:1;}}


/* FOOTER (4 columns: brand/about, tests hub, states hub, about+contact) */
footer.site{margin-top:60px;background:linear-gradient(180deg,var(--ink) 0%,#06101f 100%);color:#cfd8e6;border-top:3px solid var(--accent);}
footer.site .container{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px;padding:48px 22px 28px;}
footer.site h4{margin:0 0 14px;font:700 12px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);}
footer.site p{font-size:14px;line-height:1.6;color:#a8b3c5;margin:0;}
footer.site ul{list-style:none;margin:0;padding:0;font-size:14px;}
footer.site li{margin:0 0 8px;}
footer.site a{color:#cfd8e6;text-decoration:none;transition:color .15s;}
footer.site a:hover{color:var(--accent);}
footer.site .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,0.1);padding-top:20px;margin-top:8px;font-size:12.5px;line-height:1.6;color:#7e8a9e;}
footer.site .brand-line{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
footer.site .brand-line .brand-mark{width:34px;height:34px;}
footer.site .brand-line .name{font:800 17px/1 "Inter",sans-serif;color:#fff;letter-spacing:-0.3px;}
@media (max-width:780px){footer.site .container{grid-template-columns:1fr 1fr;}}
@media (max-width:480px){footer.site .container{grid-template-columns:1fr;}}

/* CONTENT TWEAKS */
main article p, main .container p{max-width:72ch;}
hr{border:none;border-top:1px solid var(--rule);margin:28px 0;}


/* MOBILE NAV (CSS-only, closed by default) */
@media (max-width:768px){
  .nav-toggle-label{display:inline-flex;order:2;}
  header.site .container{position:relative;}
  nav.primary{flex-basis:100%;order:3;display:none;flex-direction:column;align-items:stretch;gap:2px;padding-top:6px;border-top:1px solid var(--rule);margin-top:10px;}
  nav.primary a{padding:12px 14px;}
  .nav-toggle:checked ~ .container nav.primary,
  .nav-toggle:checked + label + .container nav.primary{display:flex;}
}
@media (min-width:769px){
  .nav-toggle-label{display:none;}
  nav.primary{display:flex;}
}

/* RESPONSIVE BREAKPOINTS: 360 / 768 / 1200 */
@media (max-width:360px){
  .container{padding:18px 12px;}
  .hero h1{font-size:26px;}
  .hero .stats{gap:16px;}
}
@media (max-width:520px){
  .container{padding:22px 16px;}
  .q{padding:20px 18px;}
  .q .qtext{font-size:18px;}
}
@media (min-width:1200px){
  .container{max-width:1180px;}
}

/* REDUCED MOTION */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *{transition:none !important;animation:none !important;}
}

/* PRINT */
@media print{
  header.site,footer.site,.topbar,.nav-toggle-label,.hero-art,.tip,#qsearch,.hero .actions{display:none !important;}
  .hero{background:none !important;color:var(--ink) !important;border:none;}
  .hero .container{grid-template-columns:1fr;padding:0;}
  body{background:#fff;}
  a{text-decoration:none;color:var(--ink);}
  table.facts{box-shadow:none;border:1px solid #999;}
}


/* PRACTICE TEST ENGINE (used on /practice) */
.setup-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:26px 28px;box-shadow:var(--shadow-sm);margin:24px 0;}
.setup-row{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0;}
.setup-field{display:flex;flex-direction:column;gap:6px;min-width:220px;flex:1;}
.setup-field label{font:600 12px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:1px;color:var(--ink-3);}
.setup-field select{padding:11px 12px;border:1px solid var(--rule-2);border-radius:8px;font:500 15px/1.4 "Inter",sans-serif;color:var(--ink);background:var(--paper-2);}
.best-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;}
.best-pill{font:600 12px/1 "Inter",sans-serif;background:var(--hi-tint);color:#0e5024;border-radius:999px;padding:6px 12px;}
.progress-bar{height:8px;border-radius:999px;background:var(--rule);overflow:hidden;margin:0 0 20px;}
.progress-bar > span{display:block;height:100%;background:linear-gradient(90deg,var(--accent) 0%,var(--accent-deep) 100%);transition:width .2s;}
.quiz-opts{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:8px;}
.quiz-opts li{padding:0;}
.quiz-opts button{width:100%;text-align:left;display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1px solid var(--rule);border-radius:8px;background:#fdfcf7;font:inherit;font-size:15px;line-height:1.45;cursor:pointer;transition:border-color .12s,background .12s;color:var(--ink);}
.quiz-opts button:hover:not(:disabled){border-color:var(--accent-deep);}
.quiz-opts button:disabled{cursor:default;}
.quiz-opts button .letter{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--paper);border:1px solid var(--rule-2);color:var(--ink-3);font:700 12px/1 "Inter",sans-serif;display:grid;place-items:center;}
.quiz-opts button.correct{background:var(--hi-tint);border-color:#9ad1a6;}
.quiz-opts button.correct .letter{background:var(--hi);border-color:var(--hi);color:#fff;}
.quiz-opts button.wrong{background:#fdeceb;border-color:#e8a49d;}
.quiz-opts button.wrong .letter{background:#c0392b;border-color:#c0392b;color:#fff;}
.quiz-feedback{margin:0 0 18px;padding:12px 14px;border-radius:8px;font-size:14.5px;line-height:1.6;}
.quiz-feedback.ok{background:var(--hi-tint);border-left:3px solid var(--hi);color:#0e5024;}
.quiz-feedback.no{background:#fdeceb;border-left:3px solid #c0392b;color:#7a271f;}
.quiz-actions{display:flex;justify-content:flex-end;}
.score-hero{text-align:center;padding:30px 20px;}
.score-hero .big{font:800 56px/1 "Inter",sans-serif;color:var(--ink);letter-spacing:-1.5px;}
.score-hero .big .pct{color:var(--accent-deep);}
.score-hero .verdict{font:700 15px/1 "Inter",sans-serif;text-transform:uppercase;letter-spacing:1px;margin-top:10px;}
.score-hero .verdict.pass{color:var(--hi);}
.score-hero .verdict.fail{color:#c0392b;}
.miss-list{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:8px;}
.miss-list li{border:1px solid var(--rule);border-radius:8px;padding:12px 14px;font-size:14px;}
.miss-list a{font-weight:600;}
.hidden{display:none !important;}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;}
.btn-secondary{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule-2);color:var(--ink);padding:12px 18px;border-radius:10px;text-decoration:none;font:600 14px/1 "Inter",sans-serif;background:var(--paper-2);cursor:pointer;transition:background .15s,border-color .15s;}
.btn-secondary:hover{background:var(--paper);border-color:var(--ink-3);}
