/* americantransdata.com v05 pages: the restyle of the pages that still wore the old dark theme
   (services, the legal pages, the order and quote pages, the Learning Center and its courses).
   It loads AFTER v05.css and only adds to it: every colour, size and font comes from v05's tokens
   (--paper, --ink, --accent, --rule ...), so light and dark both follow v05. Words, links, forms and
   scripts on these pages are unchanged; this file is the look only.

   Sections: 0 theme default · 1 tokens the old markup still names · 2 shared chrome · 3 page heads ·
   4 services · 5 legal reading layout · 6 order and form pages · 7 Learning Center template ·
   8 Learning Center FAQ · 9 courses · 11 top-level pages that keep their markup · 12+ Learning Center
   pages · 10 print (last) */

/* Theme: follow the device until the visitor picks; the pick is saved. Each page's inline pre-paint script
   uses the saved toggle (localStorage 'atd-theme') and otherwise prefers-color-scheme. Nothing here sets it. */

/* ── 1. TOKENS THE OLD MARKUP STILL NAMES ───────────────────────────────────────────────────────
   Inline styles and page scripts on these pages say var(--text-muted), var(--green) and so on.
   They are mapped onto v05's tokens here, so that markup can stay as it is. --blue and --red are
   v05's own (logo blue and logo red) and are not touched. Status colours (green, amber) exist only
   for status (a passed quiz, a cancelled checkout): v05 has no green or amber of its own. */
:root{
  --bg:var(--paper); --surface:var(--card); --surface2:var(--paper-2); --surface3:var(--rule-soft);
  --border:var(--rule); --border-light:var(--rule-soft);
  --text:var(--ink); --text-muted:var(--ink-2); --text-dim:var(--ink-3); --silver:var(--ink-3); --muted:var(--ink-2);
  --blue-bright:var(--accent); --blue-light:var(--accent); --blue-400:var(--accent); --blue-500:var(--accent); --blue-600:var(--blue);
  --orange:var(--accent); --orange-dark:var(--blue-dark);   /* old pages use it as a text accent; the one fill is re-pointed (9) */
  --blue-dim:rgba(0,92,203,.08); --orange-dim:rgba(0,92,203,.08); --red-dim:rgba(200,16,46,.08);
  --purple:var(--ink-2); --purple-dim:var(--paper-2); --shadow:0 22px 44px -30px rgba(11,31,63,.45);
  --green:var(--accent); --green-dim:var(--blue-dim);   /* old "done/success" green is v05 blue here */
  --yellow:#8a5a00; --yellow-dim:rgba(138,90,0,.1);     /* status only (a warning); 5.9:1 on white */
  /* Quiz feedback only: a right answer is green, a wrong one v05's red text, and each also gets a check
     or cross icon (v05-pages.js), so colour is never the only cue. */
  --quiz-ok:#18794e; --quiz-ok-bg:rgba(24,121,78,.08);
}
html[data-theme="dark"]{
  --blue-dim:rgba(128,182,255,.12); --orange-dim:rgba(128,182,255,.12); --red-dim:rgba(255,138,152,.12);
  --yellow:#e3b341; --yellow-dim:rgba(227,179,65,.12);  /* 9.5:1 on --paper */
  --quiz-ok:#3fb370; --quiz-ok-bg:rgba(63,179,112,.12);
}

/* ── 2. SHARED CHROME ──────────────────────────────────────────────────────────────────────────── */
button,input,select,textarea{font-family:var(--sans)}
em{font-style:normal;font-weight:600}   /* v05 has no italic face: emphasis is weight, never a slanted fake */
/* v05 tracks headings at -.022em, made for display sizes; at about 24px and below it closes up word
   spaces ("1. Acceptance"), so small headings set it to 0 */
h3,h4{letter-spacing:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}

/* site.js (still loaded on the top-level pages) writes inline display values onto .icon-moon/.icon-sun,
   inverted from v05's toggle. These put v05's rule back: moon in light, sun in dark. */
.theme-toggle .icon-moon{display:block!important}
.theme-toggle .icon-sun{display:none!important}
html[data-theme="dark"] .theme-toggle .icon-moon{display:none!important}
html[data-theme="dark"] .theme-toggle .icon-sun{display:block!important}

nav a[aria-current="page"]{color:var(--ink)}

/* Order, order-success, onboarding and ready-to-file carry no call bar (it covers the submit button and
   the keyboard on phones), so they don't need the space v05.css reserves for it. */
@media (max-width:767px){body.no-callbar{padding-bottom:0}}

/* Breadcrumb bar under the letterhead (Learning Center pages): the breadcrumb, then either the Learning
   Center's own section nav (learn/ pages, the same links learn/assets/layout.js shows there today) or a
   course's progress (learn/courses/ pages). */
.crumbbar{background:var(--paper-2);border-bottom:1px solid var(--rule)}
.crumbbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:10px 28px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-width:0;font-size:.92rem;line-height:1.4;color:var(--ink-2)}
.crumbs a{color:var(--accent);font-weight:600}
.crumbs a:hover{text-decoration:underline}
.crumbs [aria-current="page"]{color:var(--ink);font-weight:600;min-width:0;overflow-wrap:anywhere}
.crumbs .sep{color:var(--ink-3)}
.lc-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;font-size:.92rem;line-height:1.4}
.lc-nav a{color:var(--ink-2);font-weight:500}
.lc-nav a:hover{color:var(--accent)}
.lc-nav a[aria-current="page"]{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:.4em}
.lc-nav .lc-nav-cta{color:var(--accent);font-weight:700}
.lc-nav .sep{width:1px;height:16px;background:var(--rule)}
@media (max-width:1000px){.lc-nav{flex-wrap:nowrap;width:100%;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}}
.lc-nav.fade-r{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent)}
.lc-nav.fade-l{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px);mask-image:linear-gradient(90deg,transparent,#000 48px)}
.lc-nav.fade-lr{-webkit-mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,transparent,#000 48px,#000 calc(100% - 48px),transparent)}

/* Buttons the old markup names (v05.css already gives .btn and .btn-primary the v05 look) */
.btn-outline,.btn-ghost{color:var(--accent);background:transparent;border-color:var(--blue)}
html[data-theme="dark"] .btn-outline,html[data-theme="dark"] .btn-ghost{border-color:var(--accent)}
.btn-outline:hover,.btn-ghost:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-sm{padding:11px 18px;font-size:.95rem}
.btn:disabled{opacity:.55;cursor:not-allowed}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px}
.prose a,.link{color:var(--accent);text-decoration:underline;text-underline-offset:.16em}

/* A small label, e.g. "Early Access" (the v05 tag look) */
.svc-tag{display:inline-block;font:700 .64rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);padding:5px 7px 4px;border-radius:3px;vertical-align:middle;white-space:nowrap}

/* ── 3. PAGE HEADS ────────────────────────────────────────────────────────────────────────────────
   .subhero (photo) is v05.css's, as on title-transfer.html. .pagehead is the plain version for pages
   that are a task, not a pitch. */
.subhero .actions{margin-top:26px}
.pagehead{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:64px 0 56px}
.pagehead h1{font-size:clamp(2rem,3.8vw,2.9rem);max-width:18em}
.pagehead .lede{margin-top:16px}
.pagehead .kicker{display:block;margin-bottom:12px}
.pagehead.is-center{text-align:center}   /* short status pages: one message, one action */
.pagehead.is-center h1,.pagehead.is-center .lede{margin-left:auto;margin-right:auto}
.pagehead.is-center .actions{justify-content:center}
@media (max-width:640px){.pagehead{padding:44px 0 40px}}

/* Section heads in content pages: a kicker, a heading (sometimes a <div>), a line of description */
.section-label{display:block;font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px}
.section-title{font:800 clamp(1.8rem,3.1vw,2.5rem)/1.14 var(--sans);letter-spacing:-.022em;color:var(--ink)}
.section-desc{color:var(--ink-2);max-width:36em;margin-top:12px}

/* ── 4. SERVICES ─────────────────────────────────────────────────────────────────────────────────
   The six service cards use the v05 card (index.html's .trade: card, rule, 8px radius) in a grid,
   with v05's dotted item lists. One primary button per section. */
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media (max-width:1100px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.svc-grid{grid-template-columns:1fr}}
.svc-card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:26px 26px 24px}
.svc-card h2{font-size:1.3rem;line-height:1.25;letter-spacing:0;margin:18px 0 14px}
.svc-card--cta h2{margin-top:0}
.svc-card h2 .svc-tag{margin-left:8px;position:relative;top:-2px}
.svc-card ul.items{columns:1;margin-bottom:6px}
.svc-card p{color:var(--ink-2)}
.svc-card .actions{margin-top:auto;padding-top:16px}
.svc-card--cta{background:var(--paper-2);border-color:var(--rule)}
.svc-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:var(--paper-2);border:1px solid var(--rule);color:var(--accent)}
.svc-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.panel{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:36px 36px 30px;box-shadow:0 22px 44px -30px rgba(11,31,63,.45)}
.panel h2{font-size:clamp(1.5rem,2.4vw,1.9rem);margin:10px 0 12px}
.panel > p{color:var(--ink-2);max-width:40em}
.panel ul.items{margin-top:20px;font-size:1rem;column-gap:36px;max-width:680px}
.panel ul.items li{margin-bottom:8px}
@media (max-width:640px){.panel{padding:26px 22px 22px}.panel ul.items{columns:1}}

.ops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:36px}
@media (max-width:900px){.ops-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ops-grid{grid-template-columns:1fr}}
.ops-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.ops-card img{width:100%;aspect-ratio:16/10;object-fit:cover}
.ops-card .tb{padding:16px 18px 20px}
.ops-card h3{font-size:1.08rem;line-height:1.3;letter-spacing:0}
.ops-card p{color:var(--ink-2);font-size:.94rem;margin-top:6px}

.cta-band{text-align:center;max-width:720px;margin:0 auto}
.cta-band h2{font-size:clamp(1.7rem,2.8vw,2.3rem)}
.cta-band p{color:var(--ink-2);margin:14px auto 0;max-width:34em}
.cta-band .actions{justify-content:center}

/* ── 5. LEGAL READING LAYOUT (privacy, terms, cancellation) ──────────────────────────────────────
   One column at about 68 characters, h2/h3 only, no hero and no card. Prints cleanly (section 10). */
.legal{padding:56px 0 8px}
.legal-doc{max-width:calc(68ch + 48px);margin:0 auto}   /* with .wrap's 24px each side: a 68ch measure */
.legal-doc .eyebrow{font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.legal-doc h1{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1;margin:12px 0 18px}
.legal-doc h1 + p{color:var(--ink-2);font-size:.98rem;padding-bottom:22px;margin-bottom:8px;border-bottom:1px solid var(--rule)}
.legal-doc h2{font-size:1.28rem;line-height:1.3;letter-spacing:0;margin:38px 0 10px}
.legal-doc h3{font-size:1.06rem;line-height:1.35;letter-spacing:0;margin:26px 0 8px}
.legal-doc p{margin:0 0 14px}
.legal-doc ul{margin:0 0 16px;padding-left:22px}
.legal-doc li{margin:0 0 7px;padding-left:4px}
.legal-doc li::marker{color:var(--ink-3)}
.legal-doc strong{font-weight:700}
.legal-doc a{color:var(--accent);text-decoration:underline;text-underline-offset:.16em;overflow-wrap:anywhere}

/* ── 6. ORDER AND FORM PAGES (order, order-success, onboarding, ready-to-file) ─────────────────── */
.page-form .section{padding:56px 0}
.page-status + footer{margin-top:0}   /* a status page's head sits on the footer: no empty band */
/* ...and on a tall window the status block's tint runs down to the footer instead of leaving bare page */
.pg-404,.pg-order,.pg-order-success,.pg-pricing,.pg-onboarding{display:flex;flex-direction:column;min-height:100vh}
.page-status{flex:1 0 auto;background:var(--paper-2)}
.page-status .pagehead{border-bottom:0}
.pagehead-note{color:var(--ink-2);font-size:.95rem;margin-top:22px}
.page-form .card,.notice{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:18px 22px}
.page-form .lede{max-width:36em}

/* ── 7. LEARNING CENTER TEMPLATE (the landing, the tools, the courses) ───────────────────────────
   A breadcrumb bar, one reading column, and on desktop a contents list of the column's h2s (built by
   v05-pages.js; it shows only when a page has two or more). Nothing sits above the column's first
   child, so a block can later go there without moving anything. */
.lc-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;padding-top:44px;padding-bottom:16px}
.lc-col{min-width:0;width:100%;max-width:780px;margin:0 auto}
.lc-toc{display:none}
@media (min-width:1100px){
  .lc-layout.has-toc{grid-template-columns:minmax(0,1fr) 250px}
  .lc-layout.has-toc .lc-col{margin:0}
  .lc-layout.has-toc .lc-toc:not([hidden]){display:block;position:sticky;top:28px;align-self:start;max-height:calc(100vh - 56px);overflow:auto}
}
.lc-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--rule)}
.lc-toc li{margin:0}
.lc-toc a{display:block;margin-left:-2px;padding:7px 0 7px 16px;border-left:2px solid transparent;font-size:.9rem;line-height:1.4;color:var(--ink-2);text-decoration:none}
.lc-toc a:hover{color:var(--accent);border-left-color:var(--accent)}

/* The column's own head (the old #hero): kicker, heading, one line */
.lc-head{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid var(--rule)}
.lc-head .hero-badge{display:block;font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.lc-head h1{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1;margin:12px 0 14px}
.lc-head .hero-sub{color:var(--ink-2);font-size:1.1rem;max-width:36em}
.lc-col h2,.lc-col h3{scroll-margin-top:20px}

/* ── 8. LEARNING CENTER: FAQ (search, chips, accordion) ──────────────────────────────────────── */
/* Search box and chips (the v05 VIN field, in page colours) */
.lc-faq .search-row{display:flex;gap:12px 16px;align-items:center;flex-wrap:wrap}
.lc-faq .search-wrap{position:relative;flex:1 1 300px;min-width:0}
.lc-faq .search-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--ink-3);line-height:0;pointer-events:none}
.lc-faq .search-box{width:100%;padding:13px 16px 13px 42px;border:2px solid var(--rule);border-radius:6px;background:var(--card);color:var(--ink);font:500 1rem/1.3 var(--sans)}
.lc-faq .search-box::placeholder{color:var(--ink-3)}
.lc-faq .search-box:focus{border-color:var(--accent);outline:none}
.lc-faq .search-box:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.lc-faq .count-badge{font-size:.92rem;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.lc-faq .count-badge b{color:var(--ink);font-weight:700}
.lc-faq .cat-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.lc-faq .chip{display:inline-flex;align-items:center;padding:7px 13px;border:1px solid var(--rule);border-radius:999px;background:var(--card);color:var(--ink-2);font:600 .86rem/1.2 var(--sans);cursor:pointer;user-select:none}
.lc-faq .chip:hover{border-color:var(--accent);color:var(--ink)}
.lc-faq .chip.active{background:var(--blue);border-color:var(--blue);color:#fff}

.lc-faq .controls{padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--rule)}
@media (min-width:700px){.lc-faq .controls{position:sticky;top:0;z-index:5;background:var(--paper);padding-top:14px}}
.lc-faq .faq-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;margin-bottom:10px;overflow:hidden}
.lc-faq .faq-card:hover{border-color:var(--ink-3)}
.lc-faq .faq-card.expanded{border-color:var(--accent)}
.lc-faq .faq-card.hidden{display:none}
.lc-faq .faq-header{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;user-select:none}
.lc-faq .faq-num{min-width:26px;font:700 .82rem/1 var(--sans);color:var(--ink-3);font-variant-numeric:tabular-nums}
.lc-faq .faq-question{flex:1;font-weight:700;font-size:1rem;line-height:1.4;color:var(--ink)}
.lc-faq .faq-cat{flex:none;font:600 .7rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:5px 9px;white-space:nowrap}
/* The chevron: the page's glyph stays in the text; a drawn chevron replaces it on screen */
.lc-faq .faq-chevron{flex:none;width:9px;height:9px;font-size:0;line-height:0;color:transparent;overflow:hidden;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(-45deg);transition:transform .2s}
.lc-faq .faq-card.expanded .faq-chevron{transform:rotate(45deg);border-color:var(--accent)}
.lc-faq .faq-body{display:none;padding:0 18px 18px 56px}
.lc-faq .faq-card.expanded .faq-body{display:block}
.lc-faq .faq-answer{color:var(--ink-2);font-size:.98rem;line-height:1.75;margin-bottom:14px}
.lc-faq .faq-answer strong{color:var(--ink);font-weight:700}
.lc-faq .faq-courses{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.lc-faq .faq-course-link{display:inline-flex;align-items:center;padding:5px 11px;border:1px solid var(--rule);border-radius:999px;font:600 .8rem/1.3 var(--sans);color:var(--accent);text-decoration:none}
.lc-faq .faq-course-link:hover{border-color:var(--accent)}
.lc-faq .faq-helpful{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:12px;border-top:1px solid var(--rule-soft)}
.lc-faq .faq-helpful-label{font-size:.86rem;color:var(--ink-3)}
.lc-faq .helpful-btn{padding:5px 12px;border:1px solid var(--rule);border-radius:6px;background:transparent;color:var(--ink-2);font:600 .85rem/1.2 var(--sans);cursor:pointer}
.lc-faq .helpful-btn:hover{border-color:var(--accent);color:var(--ink)}
.lc-faq .helpful-btn.voted{border-color:var(--accent);color:var(--accent);background:var(--blue-dim)}
.lc-faq .helpful-btn.voted-down{border-color:var(--red-text);color:var(--red-text);background:var(--red-dim)}
.lc-faq .empty-state{text-align:center;padding:56px 16px;color:var(--ink-2)}
@media (max-width:640px){
  .lc-faq .faq-header{padding:14px;gap:10px}
  .lc-faq .faq-body{padding:0 14px 16px}
  .lc-faq .faq-cat,.lc-faq .faq-num{display:none}
}

/* ── 9. COURSES (one page, five views drawn by the page's script into #app) ──────────────────── */
/* Course progress, in the breadcrumb bar (the script updates #hdr-progress and #hdr-progress-text) */
.lc-course .header-progress{display:flex;align-items:center;gap:10px;flex:none}
.lc-course .header-progress-bar{width:120px;height:6px;border-radius:3px;background:var(--rule);overflow:hidden}
.lc-course .header-progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s}
.lc-course .header-progress-text{font-size:.84rem;font-weight:600;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
/* On phones the course's code and title leave the bar (still read out); the page heading carries it */
@media (max-width:640px){
  :is(.lc-course,.lc-course-b) .crumbbar .course-title-sm{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  :is(.lc-course,.lc-course-b) .crumbbar .sep:has(+ .course-title-sm){display:none}
}

/* Landing view: the course head, then the module list in the v05 list style (the routing slip) */
.lc-course .landing-hero{padding-bottom:30px;border-bottom:1px solid var(--rule)}
.lc-course .course-badge{font:700 .76rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.lc-course .landing-hero h1{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1;margin:12px 0 14px}
.lc-course .landing-hero > p{color:var(--ink-2);font-size:1.1rem;max-width:36em}
.lc-course .landing-meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}
.lc-course .meta-pill{padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--card);font:600 .86rem/1.2 var(--sans);color:var(--ink-2);font-variant-numeric:tabular-nums}
.lc-course .start-btn,.lc-course .quiz-btn,.lc-course .quiz-next,.lc-course .result-btn.primary{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:15px 24px;border-radius:6px;border:2px solid var(--blue);background:var(--blue);color:#fff;font:700 1rem/1 var(--sans);cursor:pointer}
.lc-course .start-btn:hover,.lc-course .quiz-btn:hover,.lc-course .quiz-next:hover,.lc-course .result-btn.primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.lc-course .result-btn.secondary,.lc-course .mod-nav-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:6px;border:2px solid var(--rule);background:transparent;color:var(--ink);font:700 .95rem/1 var(--sans);cursor:pointer}
.lc-course .result-btn.secondary:hover,.lc-course .mod-nav-btn:hover{border-color:var(--accent);color:var(--accent)}

.lc-course .curriculum{margin-top:34px}
.lc-course .curriculum h2{font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
.lc-course .module-list{background:var(--card);border:1px solid var(--rule);box-shadow:0 18px 40px -30px rgba(11,31,63,.5)}
.lc-course .module-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:0 16px;min-height:64px;padding:12px 18px 12px 0;border-bottom:1px solid var(--rule-soft)}
.lc-course .module-item:last-child{border-bottom:0}
.lc-course .module-num{justify-self:center;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--rule);font:700 .85rem/1 var(--sans);color:var(--accent);font-variant-numeric:tabular-nums}
.lc-course .module-num.done{border-color:var(--green);background:var(--green-dim);color:var(--green)}
.lc-course .module-item-title{font-weight:700;line-height:1.35}
.lc-course .module-item-sub{font-size:.9rem;color:var(--ink-2);line-height:1.45;margin-top:2px}
.lc-course .module-item-time{font-size:.86rem;font-weight:600;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.lc-course .module-score{font-size:.86rem;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums}
@media (max-width:560px){.lc-course .module-item{grid-template-columns:44px minmax(0,1fr);padding-right:14px}.lc-course .module-item > div:last-child{grid-column:2;text-align:left!important}}

/* Module view */
.lc-course .module-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:22px;font-size:.92rem;color:var(--ink-3)}
.lc-course .module-nav a{color:var(--accent);font-weight:600;text-decoration:none}
.lc-course .module-nav a:hover{text-decoration:underline}
.lc-course .module-nav span{color:var(--ink-2)}
.lc-course .module-header{padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--rule)}
.lc-course .mod-num-badge{font:700 .76rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-variant-numeric:tabular-nums}
.lc-course .module-header h1{font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.12;margin:10px 0 10px}
.lc-course .module-header p{color:var(--ink-2);font-size:1.05rem}

.lc-course .content-area{font-size:1.02rem;line-height:1.75;color:var(--ink)}
.lc-course .content-area h2{font-size:1.38rem;line-height:1.25;letter-spacing:0;margin:38px 0 12px}
.lc-course .content-area h2:first-child{margin-top:0}
.lc-course .content-area h3{font-size:1.12rem;letter-spacing:0;margin:26px 0 8px}
.lc-course .content-area p{margin:0 0 16px}
.lc-course .content-area ul,.lc-course .content-area ol{margin:0 0 18px;padding-left:22px}
.lc-course .content-area li{margin-bottom:8px;padding-left:2px}
.lc-course .content-area li::marker{color:var(--accent)}
.lc-course .content-area strong{font-weight:700}
.lc-course .content-area a{color:var(--accent)}
.lc-course .content-area table{display:block;max-width:100%;overflow-x:auto;margin:0 0 22px;border:1px solid var(--rule);border-collapse:collapse;font-size:.93rem;line-height:1.5}
.lc-course .content-area table > tbody,.lc-course .content-area table > thead{display:table;width:100%;border-collapse:collapse}
.lc-course .content-area th{background:var(--navy);color:#fff;font:700 .72rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-align:left;padding:12px 14px}
html[data-theme="dark"] .lc-course .content-area th{background:#081120}
.lc-course .content-area td{padding:11px 14px;border-top:1px solid var(--rule);vertical-align:top;background:var(--card)}
.lc-course .content-area td:first-child{min-width:7.5em}   /* keeps form numbers like "PL 739-A" on one line */

.lc-course .key-numbers{margin:34px 0 0;padding:24px;background:var(--paper-2);border:1px solid var(--rule);border-radius:8px}
.lc-course .key-numbers h3{font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:16px}
.lc-course .kn-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.lc-course .kn-item{background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}
.lc-course .kn-num{font:800 1.15rem/1.25 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.lc-course .kn-label{font-size:.86rem;color:var(--ink-2);line-height:1.45;margin-top:3px}
.lc-course .atd-callout{margin:24px 0 0;padding:16px 18px;border-left:3px solid var(--accent);background:var(--card);border-top:1px solid var(--rule);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:.98rem}
.lc-course .atd-callout strong{color:var(--ink)}
.lc-course .atd-callout a{color:var(--accent);font-weight:700}
.lc-course .sources-box{margin:30px 0 0;padding:16px 18px;border-left:3px solid var(--rule);background:var(--paper-2);font-size:.9rem;line-height:1.65;color:var(--ink-2)}
.lc-course .sources-box h4{font:700 .72rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 8px}
.lc-course .sources-box ul{margin:0;padding-left:18px}
.lc-course .sources-box li{margin-bottom:4px}
.lc-course .quiz-btn{width:100%;margin-top:28px}
.lc-course .mod-nav-btns{display:flex;gap:10px;margin-top:14px}
.lc-course .mod-nav-btn{flex:1}
/* The "module complete" note is drawn with inline styles in var(--green) (v05 blue here); its button
   reads the same token as a background behind white text, so it gets v05's button blue in both themes. */
.lc-course .module-view > div:not([class]) > button{--green:var(--blue);--orange:var(--blue);--purple:var(--blue)}

/* Quiz view */
.lc-course .quiz-header h2{font-size:1.35rem;line-height:1.3;letter-spacing:0}
.lc-course .quiz-header p{color:var(--ink-2);margin-top:6px}
.lc-course .quiz-progress{height:6px;margin:18px 0 14px;border-radius:3px;background:var(--rule);overflow:hidden}
.lc-course .quiz-progress-fill{height:100%;background:var(--accent);transition:width .3s}
.lc-course .quiz-q-num{font-size:.88rem;font-weight:600;color:var(--ink-3);font-variant-numeric:tabular-nums;margin-bottom:10px}
.lc-course .quiz-q-text{font-size:1.12rem;font-weight:600;line-height:1.55;margin-bottom:18px}
.lc-course .choices{display:grid;gap:10px}
.lc-course .choice{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:14px 16px;border:2px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink);font:500 1rem/1.45 var(--sans);cursor:pointer}
.lc-course .choice:hover:not(:disabled){border-color:var(--accent)}
.lc-course .choice:disabled{cursor:default}
.lc-course .choice.correct{border-color:var(--quiz-ok);background:var(--quiz-ok-bg);color:var(--ink)}
.lc-course .choice.wrong{border-color:var(--red-text);background:var(--red-dim);color:var(--ink)}
.lc-course .choice-mark{flex:none}
.lc-course .choice.correct .choice-mark{color:var(--quiz-ok)}
.lc-course .choice.wrong .choice-mark{color:var(--red-text)}
.lc-course .exp-box{display:none;margin-top:14px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--paper-2);font-size:.96rem;line-height:1.65}
.lc-course .exp-box.show{display:block}
.lc-course .quiz-next{display:none;margin-top:18px}
.lc-course .quiz-next.show{display:inline-flex}

/* Results and completion */
.lc-course .quiz-results,.lc-course .complete-view{text-align:center;padding:24px 0 8px}
.lc-course .score-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;width:124px;height:124px;margin:0 auto 20px;border-radius:50%;border:4px solid var(--accent)}
.lc-course .score-pct{font:800 2rem/1 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.lc-course .score-lbl{font-size:.8rem;color:var(--ink-2);margin-top:4px;font-variant-numeric:tabular-nums}
.lc-course .quiz-results h2{font-size:1.45rem;letter-spacing:0;margin-bottom:8px}
.lc-course .quiz-results p,.lc-course .complete-view > p{color:var(--ink-2);max-width:32em;margin:0 auto 22px}
.lc-course .result-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.lc-course .complete-view h1{font-size:clamp(1.9rem,3.4vw,2.5rem);margin-bottom:12px}
.lc-course .cert-box{max-width:520px;margin:0 auto 28px;padding:30px 30px 24px;background:var(--card);border:1px solid var(--rule);border-radius:8px;box-shadow:0 22px 44px -26px rgba(11,31,63,.55);text-align:left}
.lc-course .cert-box h2{font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
.lc-course .cert-name{font:800 1.4rem/1.2 var(--sans)}
.lc-course .cert-course{color:var(--ink-2);margin-top:4px}
.lc-course .cert-date{font-size:.88rem;color:var(--ink-3);margin-top:6px;font-variant-numeric:tabular-nums}
.lc-course .score-summary{margin-top:16px;border-top:1px solid var(--rule)}
.lc-course .score-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--rule-soft);font-size:.9rem}
.lc-course .score-row:last-child{border-bottom:0}
.lc-course .score-row .mod-name{color:var(--ink-2)}
.lc-course .score-row .mod-pct{font-weight:700;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.lc-course .complete-icon{display:none}   /* a trophy emoji two courses draw on completion: decoration, no words */

/* ── 9b. THE SECOND COURSE ENGINE (insurance-carriers: its own classes, same template) ──────────── */
.lc-course-b .course-hero{padding-bottom:30px;border-bottom:1px solid var(--rule)}
.lc-course-b .course-badge{font:700 .76rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.lc-course-b .course-hero h1{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1;margin:12px 0 14px}
.lc-course-b .course-hero > p{color:var(--ink-2);font-size:1.1rem;max-width:36em}
.lc-course-b .course-meta{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}
.lc-course-b .meta-item{padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:var(--card);font-size:.86rem;color:var(--ink-2)}
.lc-course-b .meta-item strong{font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}
.lc-course-b .progress-row{display:flex;align-items:center;gap:12px;margin:0 0 22px}
.lc-course-b .progress-bar{flex:1;height:6px;border-radius:3px;background:var(--rule);overflow:hidden}
.lc-course-b .progress-fill{height:100%;background:var(--accent);border-radius:3px;transition:width .4s}
.lc-course-b .progress-label{font-size:.86rem;font-weight:600;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.lc-course-b .start-btn,.lc-course-b .take-quiz-btn,.lc-course-b .nav-btn.primary{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:6px;border:2px solid var(--blue);background:var(--blue);color:#fff;font:700 1rem/1 var(--sans);cursor:pointer}
.lc-course-b .start-btn:hover,.lc-course-b .take-quiz-btn:hover,.lc-course-b .nav-btn.primary:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.lc-course-b .resume-btn,.lc-course-b .nav-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:6px;border:2px solid var(--rule);background:transparent;color:var(--ink);font:700 .95rem/1 var(--sans);cursor:pointer}
.lc-course-b .resume-btn{margin-left:10px;border-color:var(--blue);color:var(--accent)}
.lc-course-b .nav-btn:hover,.lc-course-b .resume-btn:hover{border-color:var(--accent);color:var(--accent)}
.lc-course-b .take-quiz-btn{width:100%;margin-top:24px}
.lc-course-b .modules-preview{margin-top:34px}
.lc-course-b .modules-preview h2{font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
.lc-course-b .module-item{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:0 16px;min-height:64px;padding:12px 18px 12px 0;background:var(--card);border:1px solid var(--rule);border-top:0;cursor:pointer}
.lc-course-b .module-item:first-of-type{border-top:1px solid var(--rule)}
.lc-course-b .module-item:hover{background:var(--paper-2)}
.lc-course-b .mod-num{justify-self:center;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:2px solid var(--rule);font:700 .85rem/1 var(--sans);color:var(--accent);font-variant-numeric:tabular-nums}
.lc-course-b .module-item.done .mod-num{border-color:var(--accent);background:var(--blue-dim)}
.lc-course-b .mod-title{font-weight:700;line-height:1.35}
.lc-course-b .mod-sub{font-size:.9rem;color:var(--ink-2);line-height:1.45;margin-top:2px}
.lc-course-b .mod-score{font-size:.86rem;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums}
.lc-course-b .mod-lock{font-size:.86rem;font-weight:600;color:var(--ink-3);white-space:nowrap}
@media (max-width:560px){.lc-course-b .module-item{grid-template-columns:44px minmax(0,1fr);padding-right:14px}.lc-course-b .module-item > :last-child{grid-column:2}}
.lc-course-b .module-header{padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid var(--rule)}
.lc-course-b .module-header > div{font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.lc-course-b .module-header h2{font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.12;margin:10px 0}
.lc-course-b .module-header p{color:var(--ink-2);font-size:1.05rem}
.lc-course-b .module-body{font-size:1.02rem;line-height:1.75}
.lc-course-b .module-body h3{font-size:1.3rem;line-height:1.25;margin:36px 0 12px}
.lc-course-b .module-body h3:first-child{margin-top:0}
.lc-course-b .module-body p{margin:0 0 16px}
.lc-course-b .module-body ul{margin:0 0 18px;padding-left:22px}
.lc-course-b .module-body li{margin-bottom:8px}
.lc-course-b .module-body li::marker{color:var(--accent)}
.lc-course-b .module-body strong{font-weight:700}
.lc-course-b .module-body a{color:var(--accent);font-weight:700}
.lc-course-b .callout{margin:24px 0 0;padding:16px 18px;border-left:3px solid var(--accent);background:var(--card);border-top:1px solid var(--rule);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:.98rem}
.lc-course-b .key-nums{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin:18px 0 22px}
.lc-course-b .num-chip{background:var(--paper-2);border:1px solid var(--rule);border-radius:6px;padding:12px 14px}
.lc-course-b .num-chip strong{display:block;font:800 1.15rem/1.25 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.lc-course-b .num-chip span{display:block;font-size:.86rem;color:var(--ink-2);line-height:1.45;margin-top:3px}
.lc-course-b .quiz-header{margin-bottom:18px}
.lc-course-b .quiz-header h2{font-size:1.35rem;line-height:1.3;letter-spacing:0}
.lc-course-b .quiz-progress{font-size:.88rem;font-weight:600;color:var(--ink-3);margin-top:6px;font-variant-numeric:tabular-nums}
.lc-course-b .q-card{margin-bottom:18px}
.lc-course-b .q-text{font-size:1.12rem;font-weight:600;line-height:1.55;margin-bottom:18px}
.lc-course-b .options{display:grid;gap:10px}
.lc-course-b .opt{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:14px 16px;border:2px solid var(--rule);border-radius:8px;background:var(--card);color:var(--ink);font:500 1rem/1.45 var(--sans);cursor:pointer}
.lc-course-b .opt:hover:not(:disabled){border-color:var(--accent)}
.lc-course-b .opt:disabled{cursor:default}
.lc-course-b .opt.selected{border-color:var(--accent)}
.lc-course-b .opt.correct{border-color:var(--quiz-ok);background:var(--quiz-ok-bg)}
.lc-course-b .opt.wrong{border-color:var(--red-text);background:var(--red-dim)}
.lc-course-b .opt.correct .choice-mark{color:var(--quiz-ok)}
.lc-course-b .opt.wrong .choice-mark{color:var(--red-text)}
.lc-course-b .explanation{margin-top:14px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--paper-2);font-size:.96rem;line-height:1.65;color:var(--ink)}
.lc-course-b .nav-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.lc-course-b .result-card,.lc-course-b .cert-card{text-align:center;padding:24px 0 8px}
.lc-course-b .result-score{font:800 3.2rem/1 var(--sans);font-variant-numeric:tabular-nums;margin-bottom:8px}
.lc-course-b .result-score.pass{color:var(--accent)}
.lc-course-b .result-score.fail{color:var(--red-text)}
.lc-course-b .result-label{font-size:1.05rem;color:var(--ink-2);margin-bottom:22px}
.lc-course-b .result-breakdown{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:22px}
.lc-course-b .rb-item,.lc-course-b .cs-item{min-width:110px;padding:12px 16px;border:1px solid var(--rule);border-radius:6px;background:var(--card);font-size:.86rem;color:var(--ink-2)}
.lc-course-b .rb-item strong,.lc-course-b .cs-item strong{display:block;font:800 1.25rem/1.2 var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:2px}
.lc-course-b .cert-card{max-width:620px;margin:0 auto 24px;padding:34px 30px 28px;background:var(--card);border:1px solid var(--rule);border-radius:8px;box-shadow:0 22px 44px -26px rgba(11,31,63,.55)}
.lc-course-b .cert-card h2{font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:14px}
.lc-course-b .cert-card p{color:var(--ink-2);margin-bottom:12px}
.lc-course-b .cert-scores{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:18px 0}

/* ── 11. TOP-LEVEL PAGES THAT KEEP THEIR MARKUP ─────────────────────────────────────────────────
   contact, carb-testing, ready-to-file, order-success and onboarding are functional pages: their ids,
   names, data-track, scripts and form endpoints must not move, so rather than new markup their old
   class names are drawn here in the v05 look. Scoped to .pg (the top-level pages' body class). */
.pg .section-divider{display:none}
.pg .page-content > .section{padding:64px 0}   /* long pages: v05's 88px per side stacks into 176px gaps */
.pg .section-inner{max-width:1180px;margin:0 auto;padding:0 24px}
.pg .page-hero{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:64px 0 56px;text-align:center}
.pg .page-hero .hero-inner{max-width:780px;margin:0 auto;padding:0 24px}
.pg .hero-badge{display:block;font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:12px}
.pg .badge-icon{display:none}
.pg .page-hero h1{font-size:clamp(2rem,3.8vw,2.9rem);line-height:1.1}
.pg .hero-sub{font-size:1.15rem;line-height:1.6;color:var(--ink-2);max-width:36em;margin:16px auto 0}
.pg .btn:not(.btn-primary):not(.hx-ghost){color:var(--accent)}
.pg .grid{display:grid;gap:20px}
.pg .grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.pg .grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.pg .grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.pg .grid.two{grid-template-columns:1fr}}
@media (max-width:600px){.pg .grid.three{grid-template-columns:1fr}}
.pg .card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:26px;min-width:0}
.pg .card.accent-info,.pg .card.accent-success{background:var(--paper-2)}
.pg .card h2{font-size:1.4rem;line-height:1.25;letter-spacing:0;margin-bottom:8px}
.pg .card h3{font-size:1.12rem;line-height:1.3;margin-bottom:6px}
.pg .card p{margin:0 0 10px}
.pg .card ul{margin:0;padding-left:20px}
.pg .card li{margin-bottom:6px;color:var(--ink-2)}
.pg .card li::marker{color:var(--accent)}
.pg .eyebrow{display:block;font:700 .76rem/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}
.pg .service-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;border:1px solid var(--rule);color:var(--accent);margin-bottom:14px}
.pg .service-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pg .how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.pg .how-step{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:22px 22px 24px}
.pg .step-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);font:700 .9rem/1 var(--sans);font-variant-numeric:tabular-nums;margin-bottom:14px}
.pg .step-title{font-weight:700;font-size:1.05rem;line-height:1.35;color:var(--ink)}
.pg .step-desc{color:var(--ink-2);font-size:.95rem;margin-top:6px}
.pg .cta-box{text-align:center;max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:44px 32px;box-shadow:0 22px 44px -30px rgba(11,31,63,.45)}
.pg .cta-box h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:12px}
.pg .cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.pg .stat-chip{display:inline-flex;align-items:center;flex-wrap:wrap;padding:8px 14px;border:1px solid var(--rule);border-radius:999px;background:var(--card);font-size:.95rem;color:var(--ink-2)}
.pg .stat-chip strong{color:var(--ink)}
.pg .stat-chip a{font-weight:600}
@media (max-width:640px){.pg .page-hero{padding:44px 0 40px}.pg .cta-box{padding:32px 20px}.pg .card{padding:22px}}

/* Forms: the v05 VIN field (2px rule, 6px radius, Inter 1rem). The CARB form's two selects carry their own
   inline styles (old tokens); the !important lines only align their border, radius, fill and size. */
.pg .form{display:grid;gap:14px}
.pg .form label{display:grid;gap:6px;font:600 .92rem/1.3 var(--sans);color:var(--ink)}
.pg .form input,.pg .form select,.pg .form textarea{width:100%;padding:12px 14px;border:2px solid var(--rule);border-radius:6px;background:var(--card);color:var(--ink);font:500 1rem/1.4 var(--sans)}
.pg .form select{border:2px solid var(--rule)!important;border-radius:6px!important;background:var(--card)!important;font-size:1rem!important;padding:12px 14px!important}
.pg .form input::placeholder,.pg .form textarea::placeholder{color:var(--ink-3)}
.pg .form input:focus,.pg .form select:focus,.pg .form textarea:focus{border-color:var(--accent)!important;outline:none}
.pg .form input:focus-visible,.pg .form select:focus-visible,.pg .form textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pg .form textarea{resize:vertical}
.pg .form .btn{justify-self:start}

/* Status blocks: order-success (its own .notfound markup) and onboarding (a moved-page stub) */
.pg .notfound-wrap{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:56px 24px 64px}
.pg .notfound-card{margin:0 auto;text-align:center;box-shadow:0 22px 44px -30px rgba(11,31,63,.45)}
.pg .notfound-card h1{font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1.15;margin-bottom:14px}
.pg .notfound-card .actions{margin-top:18px}
.pg-onboarding .stub{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:0 0 64px}
.pg-onboarding .stub h1{font-size:clamp(2rem,3.8vw,2.9rem);line-height:1.1}
.pg-onboarding .stub p{margin:0}
.pg-onboarding .stub .btn{margin-top:4px}

/* ready-to-file: its own <style> stays (it names old tokens); the fields take the v05 VIN look */
.pg-ready .rtf-field input:not([type="checkbox"]),.pg-ready .rtf-field select{padding:12px 14px;border:2px solid var(--rule);border-radius:6px;background:var(--card);color:var(--ink);font:500 1rem/1.4 var(--sans)}
.pg-ready .rtf-field input:not([type="checkbox"]):focus,.pg-ready .rtf-field select:focus{border-color:var(--accent);outline:none}
.pg-ready .rtf-field input:focus-visible,.pg-ready .rtf-field select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.pg-ready .rtf-field label{font-weight:600;color:var(--ink)}
.pg-ready .rtf-card{border-radius:8px;padding:28px}
.pg-ready .rtf-vinrow .btn{padding:13px 20px}
.pg-ready .rtf-error{color:var(--red-text)}
.pg-ready .rtf-results h3{font-size:1.2rem}
@media (max-width:640px){.pg-ready .rtf-vinrow{flex-wrap:wrap}.pg-ready .rtf-vinrow .rtf-field{flex-basis:100%}.pg-ready .rtf-card{padding:20px}}

/* ── 12. LEARNING CENTER TOOLS: each page's own styles, re-skinned ─────────────────────────────
   The landing, glossary, state guide, careers, checklists, advisor, assessment, calculator and calendar
   each had a dark <style> block. Its layout and state rules (what the page scripts show, hide and toggle)
   are kept as they were; colour, type, radius and shadow are mapped onto v05's tokens, decorative glows,
   gradients and animations are gone, and every rule is scoped to the page's body class. Section 13 then
   fits the old heads and sections into the Learning Center template. */

/* index.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-index .lc-col *){margin:0;padding:0}
.lc-index #hero{padding:80px 24px 64px;text-align:center;position:relative;overflow:hidden;background:var(--blue-dim)}
.lc-index .hero-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}
.lc-index .hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:5px 16px;font-size:0.78rem;color:var(--accent);margin-bottom:24px}
.lc-index h1{font-size:clamp(2rem, 5vw, 3rem);font-weight:800;line-height:1.15;margin-bottom:20px;letter-spacing:-0.02em}
.lc-index .hero-sub{font-size:1.1rem;color:var(--ink-2);max-width:580px;margin:0 auto 32px;line-height:1.7}
.lc-index .hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:48px}
.lc-index :where(.lc-col) .btn-primary{padding:13px 30px;border-radius:8px;font-size:0.95rem;font-weight:700;color:#fff;transition:all 0.25s;border:none;cursor:pointer;position:relative;overflow:hidden;background:var(--blue)}
.lc-index :where(.lc-col) .btn-primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:transparent;transition:left 0.6s}
.lc-index :where(.lc-col) .btn-primary:hover::before{left:100%}
.lc-index :where(.lc-col) .btn-primary:hover{text-decoration:none}
.lc-index :where(.lc-col) .btn-primary:active{transform:translateY(0)}
.lc-index .btn-secondary{padding:13px 30px;background:var(--card);border:1px solid var(--rule);border-radius:8px;font-size:0.95rem;color:var(--ink);transition:all 0.25s}
.lc-index .btn-secondary:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.lc-index .hero-stats{display:flex;gap:0;justify-content:center;border-radius:8px;overflow:hidden;max-width:620px;margin:0 auto;position:relative;background:var(--card);border:1px solid var(--rule)}
.lc-index .stat-item{flex:1;padding:18px 14px;text-align:center;border-right:1px solid var(--rule);transition:background 0.2s}
.lc-index .stat-item:hover{background:var(--blue-dim)}
.lc-index .stat-item:last-child{border-right:none}
.lc-index .stat-num{font-size:1.5rem;font-weight:800;color:var(--accent);display:block}
.lc-index .stat-lbl{font-size:0.7rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:0.08em;margin-top:2px}
.lc-index .section{padding:64px 24px}
.lc-index .section-inner{max-width:1200px;margin:0 auto}
.lc-index .section-header{margin-bottom:40px}
.lc-index .section-label{font-size:0.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;margin-bottom:8px}
.lc-index .section-title{font-size:1.6rem;font-weight:700;margin-bottom:10px}
.lc-index .section-desc{color:var(--ink-2);font-size:0.95rem;max-width:560px}
.lc-index .track-block{margin-bottom:64px}
.lc-index .track-header{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding:16px 20px;border-radius:8px;background:var(--card);border:1px solid var(--rule)}
.lc-index .track-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}
.lc-index .track-icon.fleet{background:var(--blue-dim)}
.lc-index .track-icon.producer{background:var(--paper-2)}
.lc-index .track-icon.digest{background:var(--blue-dim)}
.lc-index .track-info h2{font-size:1.2rem;font-weight:700}
.lc-index .track-info p{font-size:0.85rem;color:var(--ink-2);margin-top:2px}
.lc-index .track-badge{margin-left:auto;padding:4px 12px;border-radius:8px;font-size:0.72rem;font-weight:600;white-space:nowrap}
.lc-index .track-badge.fleet{background:var(--blue-dim);color:var(--accent);border:1px solid var(--rule)}
.lc-index .track-badge.producer{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}
.lc-index .track-badge.digest{background:var(--blue-dim);color:var(--accent);border:1px solid var(--rule)}
.lc-index .course-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:18px}
.lc-index .course-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:24px;display:flex;flex-direction:column;gap:0;transition:all 0.3s cubic-bezier(0.4,0,0.2,1);position:relative;overflow:hidden}
.lc-index .course-card:hover{border-color:var(--rule)}
.lc-index .course-card.featured{border-color:var(--rule);background:var(--card)}
.lc-index .course-card.featured::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--red-text)}
.lc-index .card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:14px}
.lc-index .card-code{font-size:0.7rem;color:var(--ink-3)}
.lc-index .status-badge{padding:3px 10px;border-radius:8px;font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;white-space:nowrap;flex-shrink:0}
.lc-index .status-badge.live{background:var(--green-dim);color:var(--green);border:1px solid var(--rule)}
.lc-index .status-badge.coming-soon{background:var(--paper-2);color:var(--ink-3);border:1px solid var(--rule)}
.lc-index .status-badge.phase-2{background:var(--blue-dim);color:var(--accent);border:1px solid var(--rule)}
.lc-index .status-badge.phase-3{background:var(--yellow-dim);color:var(--yellow);border:1px solid var(--rule)}
.lc-index .status-badge.free{background:var(--blue-dim);color:var(--accent);border:1px solid var(--rule)}
.lc-index .card-title{font-size:1.05rem;font-weight:700;line-height:1.3;margin-bottom:6px}
.lc-index .card-subtitle{font-size:0.8rem;color:var(--accent);margin-bottom:10px;font-weight:500}
.lc-index .card-desc{font-size:0.85rem;color:var(--ink-2);line-height:1.6;margin-bottom:16px;flex:1}
.lc-index .card-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.lc-index .meta-chip{background:var(--paper-2);border:1px solid var(--rule);border-radius:4px;padding:3px 8px;font-size:0.72rem;color:var(--ink-2)}
.lc-index .meta-chip.audience{border-color:var(--rule);color:var(--ink-2)}
.lc-index .card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:14px;border-top:1px solid var(--rule)}
.lc-index .card-price{font-size:1rem;font-weight:700;color:var(--ink)}
.lc-index .card-price .included{font-size:0.75rem;color:var(--green);font-weight:500;display:block}
.lc-index .card-price .orig{font-size:0.75rem;color:var(--ink-3);text-decoration:line-through}
.lc-index .card-btn{padding:9px 18px;border-radius:8px;font-size:0.82rem;font-weight:600;cursor:pointer;border:none;transition:all 0.25s;white-space:nowrap;position:relative;overflow:hidden}
.lc-index .card-btn.primary{background:var(--blue);color:#fff}
.lc-index .card-btn.primary::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:transparent;transition:left 0.5s}
.lc-index .card-btn.primary:hover::before{left:100%}
.lc-index .card-btn.secondary{background:var(--card);border:1px solid var(--rule);color:var(--ink)}
.lc-index .card-btn.secondary:hover{border-color:var(--rule);color:var(--accent)}
.lc-index .card-btn.ghost{background:none;border:1px solid var(--rule);color:var(--ink-2)}
.lc-index .card-btn.ghost:hover{border-color:var(--rule);color:var(--ink)}
.lc-index .card-launch{font-size:0.82rem;font-weight:600;color:var(--ink-2);white-space:nowrap}
.lc-index #how-it-works{background:var(--card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.lc-index .how-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:32px}
.lc-index .how-step{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:8px;background:var(--card);border:1px solid var(--rule);transition:all 0.3s}
.lc-index .how-step:hover{background:var(--blue-dim);border-color:var(--rule)}
.lc-index .step-num{width:38px;height:38px;border-radius:50%;background:var(--blue-dim);border:1px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:700;color:var(--accent);flex-shrink:0}
.lc-index .step-title{font-size:1rem;font-weight:700}
.lc-index .step-desc{font-size:0.85rem;color:var(--ink-2);line-height:1.6}
.lc-index #atd-cta{background:var(--blue-dim)}
.lc-index .cta-box{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:52px;text-align:center;max-width:700px;margin:0 auto;position:relative;overflow:hidden}
.lc-index .cta-box::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:var(--blue-dim)}
.lc-index .cta-box h2{font-size:1.7rem;font-weight:800;margin-bottom:12px}
.lc-index .cta-box p{color:var(--ink-2);font-size:0.95rem;margin-bottom:28px;line-height:1.7}
.lc-index .cta-features{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:32px}
.lc-index .cta-feat{display:flex;align-items:center;gap:6px;font-size:0.82rem;color:var(--ink-2)}
.lc-index .cta-feat::before{content:'';width:1em;height:1em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/contain no-repeat;color:var(--green)}
.lc-index .cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
@media (max-width: 768px){
.lc-index .hero-stats{flex-wrap:wrap}
.lc-index .stat-item{flex:1 0 40%}
.lc-index .cta-box{padding:32px 20px}
}

/* glossary.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-glossary .lc-col *){margin:0;padding:0}
.lc-glossary #hero{padding:60px 24px 40px;text-align:center;background:var(--blue-dim)}
.lc-glossary .hero-inner{max-width:760px;margin:0 auto}
.lc-glossary .hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:4px 14px;font-size:0.78rem;color:var(--accent);margin-bottom:20px}
.lc-glossary h1{font-size:clamp(1.8rem, 4vw, 2.6rem);font-weight:800;line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}
.lc-glossary h1 span{color:var(--accent)}
.lc-glossary .hero-sub{font-size:1rem;color:var(--ink-2);max-width:560px;margin:0 auto 24px;line-height:1.7}
.lc-glossary .course-xref{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:14px 20px;max-width:600px;margin:0 auto;font-size:0.82rem;color:var(--ink-2);line-height:1.6}
.lc-glossary .course-xref strong{color:var(--accent);font-weight:600}
.lc-glossary .controls{padding:0 24px;position:sticky;top:60px;z-index:90;background:var(--card);border-bottom:1px solid var(--rule)}
.lc-glossary .controls-inner{max-width:1200px;margin:0 auto;padding:16px 0}
.lc-glossary .search-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.lc-glossary .search-box{flex:1;padding:10px 16px 10px 40px;background:var(--card);border:1px solid var(--rule);border-radius:8px;color:var(--ink);font-size:0.95rem;outline:none;transition:border-color 0.15s}
.lc-glossary .search-box:focus{border-color:var(--accent)}
.lc-glossary .search-wrap{position:relative;flex:1}
.lc-glossary .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-3);font-size:0.9rem;pointer-events:none}
.lc-glossary .count-badge{background:var(--paper-2);border:1px solid var(--rule);border-radius:6px;padding:6px 14px;font-size:0.82rem;color:var(--ink-2);white-space:nowrap;flex-shrink:0}
.lc-glossary .count-badge b{color:var(--accent)}
.lc-glossary .alpha-bar{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:10px}
.lc-glossary .alpha-btn{width:34px;height:30px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--rule);border-radius:4px;color:var(--ink-2);font-size:0.78rem;font-weight:600;cursor:pointer;transition:all 0.12s}
.lc-glossary .alpha-btn:hover, .lc-glossary .alpha-btn.active{background:var(--blue);color:#fff;border-color:var(--accent)}
.lc-glossary .alpha-btn.disabled{opacity:0.3;cursor:default}
.lc-glossary .alpha-btn.disabled:hover{background:var(--card);color:var(--ink-2);border-color:var(--rule)}
.lc-glossary .cat-chips{display:flex;flex-wrap:wrap;gap:6px}
.lc-glossary .chip{padding:4px 12px;border-radius:8px;font-size:0.78rem;font-weight:500;cursor:pointer;border:1px solid var(--rule);background:var(--card);color:var(--ink-2);transition:all 0.12s}
.lc-glossary .chip:hover{border-color:var(--accent);color:var(--ink)}
.lc-glossary .chip.active{background:var(--blue-dim);border-color:var(--accent);color:var(--accent)}
.lc-glossary .terms-section{padding:24px}
.lc-glossary .terms-inner{max-width:1200px;margin:0 auto}
.lc-glossary .letter-group{margin-bottom:32px}
.lc-glossary .letter-heading{font-size:1.4rem;font-weight:800;color:var(--accent);padding-bottom:8px;border-bottom:2px solid var(--rule);margin-bottom:12px;display:flex;align-items:baseline;gap:10px}
.lc-glossary .letter-count{font-size:0.72rem;font-weight:400;color:var(--ink-3)}
.lc-glossary .term-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;margin-bottom:6px;overflow:hidden;transition:border-color 0.15s}
.lc-glossary .term-card:hover{border-color:var(--rule)}
.lc-glossary .term-card.expanded{border-color:var(--rule)}
.lc-glossary .term-header{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;user-select:none}
.lc-glossary .term-name{font-weight:700;font-size:0.95rem;flex:1}
.lc-glossary .term-cat{font-size:0.68rem;padding:2px 8px;border-radius:8px;font-weight:500;white-space:nowrap}
.lc-glossary .cat-compliance{background:var(--blue-dim);color:var(--accent)}
.lc-glossary .cat-insurance{background:var(--paper-2);color:var(--ink-2)}
.lc-glossary .cat-operations{background:var(--green-dim);color:var(--green)}
.lc-glossary .cat-financial{background:var(--yellow-dim);color:var(--yellow)}
.lc-glossary .cat-licensing{background:var(--blue-dim);color:var(--accent)}
.lc-glossary .cat-california{background:var(--red-dim);color:var(--red-text)}
.lc-glossary .term-short{font-size:0.85rem;color:var(--ink-2);flex:2}
.lc-glossary .term-toggle{color:var(--ink-3);font-size:0.8rem;transition:transform 0.2s;flex-shrink:0}
.lc-glossary .term-card.expanded .term-toggle{transform:rotate(180deg)}
.lc-glossary .term-body{display:none;padding:0 16px 14px;border-top:1px solid var(--rule)}
.lc-glossary .term-card.expanded .term-body{display:block;padding-top:14px}
.lc-glossary .term-full{font-size:0.88rem;color:var(--ink-2);line-height:1.7;margin-bottom:10px}
.lc-glossary .term-meta{display:flex;flex-wrap:wrap;gap:16px;font-size:0.78rem}
.lc-glossary .term-related{color:var(--ink-3)}
.lc-glossary .term-related a{color:var(--accent);font-size:0.78rem}
.lc-glossary .term-courses{color:var(--ink-3)}
.lc-glossary .term-courses a{color:var(--accent);font-size:0.78rem}
.lc-glossary .no-results{text-align:center;padding:60px 24px;color:var(--ink-2)}
.lc-glossary .no-results h3{font-size:1.1rem;margin-bottom:8px;color:var(--ink)}
@media (max-width: 768px){
.lc-glossary .term-header{flex-wrap:wrap}
.lc-glossary .term-short{flex-basis:100%;order:3;margin-top:4px}
.lc-glossary .alpha-btn{width:28px;height:26px;font-size:0.7rem}
.lc-glossary .search-row{flex-direction:column}
.lc-glossary .count-badge{align-self:flex-end}
}

/* state-guide.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-state-guide .lc-col *){margin:0;padding:0}
.lc-state-guide #hero{padding:60px 24px 40px;text-align:center;background:var(--blue-dim)}
.lc-state-guide .hero-inner{max-width:760px;margin:0 auto}
.lc-state-guide .hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:4px 14px;font-size:0.78rem;color:var(--accent);margin-bottom:20px}
.lc-state-guide h1{font-size:clamp(1.8rem, 4vw, 2.6rem);font-weight:800;line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}
.lc-state-guide h1 span{color:var(--accent)}
.lc-state-guide .hero-sub{font-size:1rem;color:var(--ink-2);max-width:620px;margin:0 auto 24px;line-height:1.7}
.lc-state-guide .controls{max-width:1200px;margin:0 auto;padding:0 24px 24px}
.lc-state-guide .search-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.lc-state-guide .search-input{flex:1;min-width:240px;padding:10px 16px;background:var(--card);border:1px solid var(--rule);border-radius:8px;color:var(--ink);font-size:0.9rem;outline:none}
.lc-state-guide .search-input:focus{border-color:var(--accent)}
.lc-state-guide .search-input::placeholder{color:var(--ink-3)}
.lc-state-guide .compare-btn{padding:10px 20px;background:var(--card);border:1px solid var(--rule);border-radius:8px;color:var(--ink-2);font-size:0.85rem;cursor:pointer;transition:all 0.15s;white-space:nowrap}
.lc-state-guide .compare-btn:hover{border-color:var(--accent);color:var(--accent)}
.lc-state-guide .compare-btn.active{background:var(--blue-dim);border-color:var(--accent);color:var(--accent)}
.lc-state-guide .compare-count{background:var(--blue);color:#fff;font-weight:700;border-radius:8px;padding:0 7px;font-size:0.75rem;margin-left:6px}
.lc-state-guide .filter-chips{display:flex;gap:8px;flex-wrap:wrap}
.lc-state-guide .chip{padding:6px 14px;background:var(--card);border:1px solid var(--rule);border-radius:8px;font-size:0.8rem;color:var(--ink-2);cursor:pointer;transition:all 0.15s;user-select:none}
.lc-state-guide .chip:hover{border-color:var(--rule);color:var(--ink)}
.lc-state-guide .chip.active{background:var(--blue-dim);border-color:var(--accent);color:var(--accent)}
.lc-state-guide .state-grid{max-width:1200px;margin:0 auto;padding:0 24px 40px}
.lc-state-guide .region-group{margin-bottom:28px}
.lc-state-guide .region-label{font-size:0.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;margin-bottom:10px;padding-left:4px}
.lc-state-guide .state-buttons{display:flex;flex-wrap:wrap;gap:8px}
.lc-state-guide .state-btn{width:60px;height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--rule);border-radius:8px;cursor:pointer;transition:all 0.15s;position:relative}
.lc-state-guide .state-btn:hover{border-color:var(--accent)}
.lc-state-guide .state-btn.selected{background:var(--blue-dim);border-color:var(--accent)}
.lc-state-guide .state-btn.compare-selected{background:var(--blue-dim);border-color:var(--accent)}
.lc-state-guide .state-btn.compare-selected.selected{background:var(--blue-dim);border-color:var(--accent)}
.lc-state-guide .state-btn .abbr{font-weight:700;font-size:0.95rem;color:var(--ink);line-height:1}
.lc-state-guide .state-btn .mini{font-size:0.55rem;color:var(--ink-3);line-height:1;margin-top:2px}
.lc-state-guide .state-btn.hidden{display:none}
.lc-state-guide .state-btn .check-mark{position:absolute;top:2px;right:3px;font-size:0.6rem;color:var(--accent);display:none}
.lc-state-guide .state-btn.compare-selected .check-mark{display:block}
.lc-state-guide #detail-panel{max-width:1200px;margin:0 auto;padding:0 24px 60px;display:none}
.lc-state-guide #detail-panel.visible{display:block}
.lc-state-guide .detail-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.lc-state-guide .detail-state-name{font-size:1.8rem;font-weight:800}
.lc-state-guide .detail-state-name span{color:var(--accent)}
.lc-state-guide .detail-close{margin-left:auto;padding:6px 14px;background:var(--card);border:1px solid var(--rule);border-radius:6px;cursor:pointer;color:var(--ink-2);font-size:0.85rem;transition:all 0.15s}
.lc-state-guide .detail-close:hover{border-color:var(--red-text);color:var(--red-text)}
.lc-state-guide .key-facts{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:12px;margin-bottom:32px}
.lc-state-guide .fact-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:16px;text-align:center}
.lc-state-guide .fact-value{font-size:1.2rem;font-weight:800;color:var(--accent);display:block;margin-bottom:4px}
.lc-state-guide .fact-label{font-size:0.72rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.06em}
.lc-state-guide .fact-card.highlight{border-color:var(--green);background:var(--green-dim)}
.lc-state-guide .fact-card.highlight .fact-value{color:var(--green)}
.lc-state-guide .fact-card.warning{border-color:var(--yellow);background:var(--yellow-dim)}
.lc-state-guide .fact-card.warning .fact-value{color:var(--yellow)}
.lc-state-guide .section-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;margin-bottom:16px;overflow:hidden}
.lc-state-guide .section-card-header{padding:16px 20px;display:flex;align-items:center;gap:12px;cursor:pointer;user-select:none}
.lc-state-guide .section-card-header:hover{background:var(--paper-2)}
.lc-state-guide .section-icon{font-size:1.1rem;width:28px;text-align:center;flex-shrink:0}
.lc-state-guide .section-card-title{font-weight:700;font-size:1rem}
.lc-state-guide .section-chevron{margin-left:auto;color:var(--ink-3);transition:transform 0.2s;font-size:0.85rem}
.lc-state-guide .section-card.open .section-chevron{transform:rotate(180deg)}
.lc-state-guide .section-card-body{padding:0 20px 20px;display:none}
.lc-state-guide .section-card.open .section-card-body{display:block}
.lc-state-guide .data-table{width:100%;border-collapse:collapse;margin-top:8px}
.lc-state-guide .data-table th{text-align:left;font-size:0.72rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.06em;padding:8px 12px;border-bottom:1px solid var(--rule)}
.lc-state-guide .data-table td{padding:8px 12px;font-size:0.88rem;border-bottom:1px solid var(--rule)}
.lc-state-guide .data-table tr:last-child td{border-bottom:none}
.lc-state-guide .data-table .label-cell{color:var(--ink-2);font-size:0.82rem;white-space:nowrap}
.lc-state-guide .data-table .value-cell{font-weight:600}
.lc-state-guide .data-table .value-cell.green{color:var(--green)}
.lc-state-guide .data-table .value-cell.orange{color:var(--accent)}
.lc-state-guide .data-table .value-cell.yellow{color:var(--yellow)}
.lc-state-guide .data-table .value-cell.red{color:var(--red-text)}
.lc-state-guide .note-box{background:var(--paper-2);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;padding:10px 14px;margin-top:12px;font-size:0.85rem;color:var(--ink-2);line-height:1.6}
.lc-state-guide .special-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;margin-left:8px}
.lc-state-guide .tag-green{background:var(--green-dim);color:var(--green)}
.lc-state-guide .tag-yellow{background:var(--yellow-dim);color:var(--yellow)}
.lc-state-guide .tag-red{background:var(--red-dim);color:var(--red-text)}
.lc-state-guide .tag-blue{background:var(--blue-dim);color:var(--accent)}
.lc-state-guide .tag-purple{background:var(--paper-2);color:var(--ink-2)}
.lc-state-guide #compare-panel{max-width:1200px;margin:0 auto;padding:0 24px 60px;display:none}
.lc-state-guide #compare-panel.visible{display:block}
.lc-state-guide .compare-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}
.lc-state-guide .compare-title{font-size:1.4rem;font-weight:800}
.lc-state-guide .compare-close{margin-left:auto;padding:6px 14px;background:var(--card);border:1px solid var(--rule);border-radius:6px;cursor:pointer;color:var(--ink-2);font-size:0.85rem}
.lc-state-guide .compare-close:hover{border-color:var(--red-text);color:var(--red-text)}
.lc-state-guide .compare-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:8px;overflow:hidden;border:1px solid var(--rule)}
.lc-state-guide .compare-table th{padding:12px 16px;font-size:0.72rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.06em;border-bottom:1px solid var(--rule);text-align:left;background:var(--paper-2)}
.lc-state-guide .compare-table th:first-child{width:200px}
.lc-state-guide .compare-table td{padding:10px 16px;font-size:0.85rem;border-bottom:1px solid var(--rule)}
.lc-state-guide .compare-table tr:last-child td{border-bottom:none}
.lc-state-guide .compare-table .cat-row td{background:var(--paper-2);font-weight:700;font-size:0.78rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.06em}
.lc-state-guide .disclaimer{max-width:1200px;margin:0 auto;padding:20px 24px 40px;text-align:center;font-size:0.78rem;color:var(--ink-3);line-height:1.6}
.lc-state-guide .disclaimer a{color:var(--ink-2)}
@media print{
.lc-state-guide .controls, .lc-state-guide .state-grid, .lc-state-guide .compare-btn, .lc-state-guide .detail-close, .lc-state-guide .compare-close, .lc-state-guide .disclaimer, .lc-state-guide .filter-chips, .lc-state-guide .search-row{display:none !important}
.lc-state-guide #detail-panel, .lc-state-guide #compare-panel{display:block !important;padding:0}
.lc-state-guide .section-card{border:1px solid #ccc;break-inside:avoid}
.lc-state-guide .section-card-body{display:block !important}
.lc-state-guide .fact-card{border:1px solid #ccc;background:#f5f5f5}
.lc-state-guide .fact-value{color:#c55a11}
.lc-state-guide .data-table td, .lc-state-guide .data-table th{border-bottom:1px solid #ccc}
.lc-state-guide .compare-table{border:1px solid #ccc}
.lc-state-guide .compare-table th{background:#eee}
.lc-state-guide .note-box{background:#f9f9f9;border-left-color:#c55a11}
.lc-state-guide h1, .lc-state-guide h1 span, .lc-state-guide .detail-state-name span{color:#c55a11 !important}
}
@media (max-width: 768px){
.lc-state-guide .state-btn{width:52px;height:46px}
.lc-state-guide .state-btn .abbr{font-size:0.85rem}
.lc-state-guide .key-facts{grid-template-columns:repeat(2, 1fr)}
.lc-state-guide .compare-table{font-size:0.78rem}
.lc-state-guide .compare-table th, .lc-state-guide .compare-table td{padding:8px 10px}
.lc-state-guide .detail-state-name{font-size:1.4rem}
}
@media (max-width: 480px){
.lc-state-guide .state-btn{width:46px;height:42px}
.lc-state-guide .key-facts{grid-template-columns:1fr 1fr}
.lc-state-guide .search-row{flex-direction:column}
}

/* careers.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-careers .lc-col *){margin:0;padding:0}
.lc-careers #hero{padding:60px 24px 48px;text-align:center;background:var(--blue-dim)}
.lc-careers .hero-inner{max-width:760px;margin:0 auto}
.lc-careers .hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:4px 14px;font-size:0.78rem;color:var(--accent);margin-bottom:24px}
.lc-careers h1{font-size:clamp(2rem, 5vw, 2.8rem);font-weight:800;line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}
.lc-careers h1 span{color:var(--accent)}
.lc-careers .hero-sub{font-size:1.05rem;color:var(--ink-2);max-width:600px;margin:0 auto;line-height:1.7}
.lc-careers .section{padding:48px 24px}
.lc-careers .section-inner{max-width:1200px;margin:0 auto}
.lc-careers .section-label{font-size:0.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;margin-bottom:8px}
.lc-careers .section-title{font-size:1.5rem;font-weight:700;margin-bottom:8px}
.lc-careers .section-desc{color:var(--ink-2);font-size:0.92rem;max-width:560px;margin-bottom:24px}
.lc-careers .career-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(240px, 1fr));gap:12px;margin-bottom:16px}
.lc-careers .career-card{background:var(--card);border:2px solid var(--rule);border-radius:8px;padding:16px;cursor:pointer;transition:border-color 0.2s, background 0.2s, transform 0.15s;user-select:none;position:relative}
.lc-careers .career-card:hover{border-color:var(--rule);background:var(--paper-2)}
.lc-careers .career-card.selected{border-color:var(--accent);background:var(--blue-dim)}
.lc-careers .career-card.selected::after{content:'\2713';position:absolute;top:10px;right:12px;background:var(--blue);color:#fff;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700}
.lc-careers .career-card-icon{width:40px;height:40px;border-radius:8px;background:var(--blue-dim);border:1px solid var(--rule);display:inline-flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:10px}
.lc-careers .career-card-icon svg{width:22px;height:22px}
.lc-careers .career-card.selected .career-card-icon{background:var(--blue-dim);border-color:var(--accent);color:var(--ink)}
.lc-careers .career-card-title{font-weight:700;font-size:0.92rem;margin-bottom:4px}
.lc-careers .career-card-snippet{font-size:0.78rem;color:var(--ink-2);line-height:1.4}
.lc-careers .selection-hint{font-size:0.82rem;color:var(--ink-2);margin-bottom:20px}
.lc-careers .selection-hint strong{color:var(--accent)}
.lc-careers .compare-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:var(--blue);border:none;border-radius:8px;font-size:0.95rem;font-weight:700;color:#fff;cursor:pointer;transition:background 0.15s, opacity 0.2s;margin-top:8px}
.lc-careers .compare-btn:hover{background:var(--blue)}
.lc-careers .compare-btn:disabled{opacity:0.4;cursor:not-allowed}
.lc-careers .clear-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;background:var(--card);border:1px solid var(--rule);border-radius:8px;font-size:0.88rem;color:var(--ink-2);cursor:pointer;transition:border-color 0.15s, color 0.15s;margin-left:8px}
.lc-careers .clear-btn:hover{border-color:var(--accent);color:var(--accent)}
.lc-careers #comparison{display:none}
.lc-careers #comparison.visible{display:block}
.lc-careers .comp-category{margin-bottom:32px}
.lc-careers .comp-cat-header{display:flex;align-items:center;gap:10px;padding:10px 0;margin-bottom:2px;border-bottom:2px solid var(--accent)}
.lc-careers .comp-cat-header h3{font-size:1.1rem;font-weight:700;color:var(--accent)}
.lc-careers .comp-table{width:100%;border-collapse:separate;border-spacing:0;font-size:0.88rem}
.lc-careers .comp-table th, .lc-careers .comp-table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}
.lc-careers .comp-table th{background:var(--card);color:var(--ink-2);font-weight:600;font-size:0.82rem;white-space:nowrap;width:160px;min-width:140px;position:sticky;left:0;z-index:2}
.lc-careers .comp-table td{background:var(--paper);min-width:200px}
.lc-careers .comp-table thead th{background:var(--paper-2);color:var(--ink);font-weight:700;font-size:0.9rem;border-bottom:2px solid var(--rule);position:sticky;top:60px;z-index:3}
.lc-careers .comp-table thead th:first-child{z-index:4}
.lc-careers .comp-table tbody tr:hover td{background:var(--card)}
.lc-careers .comp-table tbody tr:hover th{background:var(--paper-2)}
.lc-careers .table-scroll{overflow-x:auto;border:1px solid var(--rule);border-radius:8px}
.lc-careers .rating-bar{display:flex;align-items:center;gap:8px}
.lc-careers .rating-pips{display:flex;gap:3px}
.lc-careers .rating-pip{width:20px;height:8px;border-radius:2px;background:var(--paper-2)}
.lc-careers .rating-pip.filled{background:var(--green)}
.lc-careers .rating-pip.filled.warn{background:var(--yellow)}
.lc-careers .rating-pip.filled.danger{background:var(--red-text)}
.lc-careers .rating-label{font-size:0.78rem;color:var(--ink-2)}
.lc-careers .pill{display:inline-block;padding:2px 8px;border-radius:4px;font-size:0.76rem;font-weight:600;line-height:1.5}
.lc-careers .pill-green{background:var(--green-dim);color:var(--green)}
.lc-careers .pill-yellow{background:var(--yellow-dim);color:var(--yellow)}
.lc-careers .pill-red{background:var(--red-dim);color:var(--red-text)}
.lc-careers .pill-blue{background:var(--blue-dim);color:var(--accent)}
.lc-careers .pill-purple{background:var(--paper-2);color:var(--ink-2)}
.lc-careers .risk-factors{list-style:none;padding:0;margin:0}
.lc-careers .risk-factors li{font-size:0.82rem;color:var(--ink-2);padding:2px 0}
.lc-careers .risk-factors li::before{content:'\26A0';margin-right:6px;font-size:0.7rem}
.lc-careers .skills-list{display:flex;flex-wrap:wrap;gap:4px}
.lc-careers .money{color:var(--green);font-weight:600}
.lc-careers .money-range{font-size:0.82rem;color:var(--ink-2)}
.lc-careers .cell-note{font-size:0.78rem;color:var(--ink-3);margin-top:4px}
.lc-careers .best-for-section{margin-top:48px}
.lc-careers .best-for-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));gap:16px}
.lc-careers .best-for-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:20px}
.lc-careers .best-for-card h4{font-size:1rem;font-weight:700;margin-bottom:10px}
.lc-careers .best-for-card p{font-size:0.88rem;color:var(--ink-2);line-height:1.6;margin-bottom:12px}
.lc-careers .best-for-card .next-step{display:inline-flex;align-items:center;gap:6px;font-size:0.85rem;color:var(--accent);font-weight:600}
@media print{
.lc-careers #selector, .lc-careers .compare-btn, .lc-careers .clear-btn, .lc-careers .best-for-section{display:none !important}
.lc-careers .comp-table th, .lc-careers .comp-table td{border:1px solid #ccc;background:var(--card);color:#fff}
.lc-careers .comp-table thead th{background:#f0f0f0}
.lc-careers .comp-cat-header h3{color:var(--accent)}
.lc-careers .pill{border:1px solid #999}
.lc-careers #comparison{display:block !important}
.lc-careers .rating-pip{border:1px solid #999}
.lc-careers .rating-pip.filled{background:#333;border-color:#333}
.lc-careers .section{padding:16px 0}
.lc-careers .table-scroll{overflow:visible;border:none}
}
@media (max-width: 768px){
.lc-careers .career-grid{grid-template-columns:1fr 1fr;gap:8px}
.lc-careers .career-card{padding:12px}
.lc-careers .career-card-icon{width:32px;height:32px}
.lc-careers .career-card-icon svg{width:18px;height:18px}
.lc-careers .comp-table th{width:120px;min-width:110px;font-size:0.78rem;padding:8px 10px}
.lc-careers .comp-table td{min-width:160px;font-size:0.82rem;padding:8px 10px}
.lc-careers .best-for-grid{grid-template-columns:1fr}
}
@media (max-width: 480px){
.lc-careers .career-grid{grid-template-columns:1fr}
.lc-careers h1{font-size:1.6rem}
.lc-careers .hero-sub{font-size:0.92rem}
}

/* checklists.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-checklists .lc-col *){margin:0;padding:0}
.lc-checklists .hero{padding:64px 24px 48px;text-align:center;background:var(--blue-dim)}
.lc-checklists .hero-inner{max-width:760px;margin:0 auto}
.lc-checklists .hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:4px 14px;font-size:0.78rem;color:var(--accent);margin-bottom:20px}
.lc-checklists .hero h1{font-size:clamp(1.8rem, 4vw, 2.6rem);font-weight:800;line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}
.lc-checklists .hero h1 span{color:var(--accent)}
.lc-checklists .hero-sub{font-size:1.05rem;color:var(--ink-2);max-width:580px;margin:0 auto 28px;line-height:1.7}
.lc-checklists .hero-stats{display:flex;gap:0;justify-content:center;background:var(--card);border:1px solid var(--rule);border-radius:8px;overflow:hidden;max-width:500px;margin:0 auto}
.lc-checklists .stat-item{flex:1;padding:14px 12px;text-align:center;border-right:1px solid var(--rule)}
.lc-checklists .stat-item:last-child{border-right:none}
.lc-checklists .stat-num{font-size:1.3rem;font-weight:800;color:var(--accent);display:block}
.lc-checklists .stat-lbl{font-size:0.7rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.06em}
.lc-checklists .filters{padding:0 24px;margin-bottom:32px}
.lc-checklists .filters-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.lc-checklists .filter-chip{padding:7px 16px;border-radius:8px;font-size:0.82rem;font-weight:500;background:var(--card);border:1px solid var(--rule);color:var(--ink-2);cursor:pointer;transition:all 0.15s;user-select:none}
.lc-checklists .filter-chip:hover{border-color:var(--accent);color:var(--ink)}
.lc-checklists .filter-chip.active{background:var(--blue-dim);border-color:var(--accent);color:var(--accent);font-weight:600}
.lc-checklists .grid{padding:0 24px 64px}
.lc-checklists .grid-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));gap:20px}
.lc-checklists .card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:24px;cursor:pointer;transition:border-color 0.2s, transform 0.15s, box-shadow 0.2s;display:flex;flex-direction:column;gap:12px}
.lc-checklists .card:hover{border-color:var(--accent)}
.lc-checklists .card-cat{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600}
.lc-checklists .card-cat[data-cat="getting-started"]{color:var(--green)}
.lc-checklists .card-cat[data-cat="compliance"]{color:var(--accent)}
.lc-checklists .card-cat[data-cat="operations"]{color:var(--yellow)}
.lc-checklists .card-cat[data-cat="hiring"]{color:var(--ink-2)}
.lc-checklists .card-cat[data-cat="financial"]{color:var(--accent)}
.lc-checklists .card h3{font-size:1.05rem;font-weight:700;line-height:1.35}
.lc-checklists .card-desc{font-size:0.85rem;color:var(--ink-2);line-height:1.55;flex:1}
.lc-checklists .card-meta{display:flex;justify-content:space-between;align-items:center;font-size:0.78rem;color:var(--ink-3);padding-top:8px;border-top:1px solid var(--rule)}
.lc-checklists .card-count{font-weight:600}
.lc-checklists .card-progress{display:flex;align-items:center;gap:6px}
.lc-checklists .progress-bar{width:60px;height:4px;background:var(--paper-2);border-radius:2px;overflow:hidden}
.lc-checklists .progress-fill{height:100%;background:var(--green);border-radius:2px;transition:width 0.3s}
.lc-checklists .progress-pct{font-size:0.72rem;color:var(--green);font-weight:600}
.lc-checklists .card.hidden{display:none}
.lc-checklists .overlay{display:none;position:fixed;inset:0;background:var(--card);z-index:200;overflow-y:auto}
.lc-checklists .overlay.open{display:block}
.lc-checklists .checklist-view{max-width:800px;margin:40px auto;background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:0;animation:slideUp 0.25s ease-out}
@keyframes slideUp { from { transform: translateY(24px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.lc-checklists .cl-header{padding:32px 36px 24px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.lc-checklists .cl-header-left{flex:1}
.lc-checklists .cl-cat{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;margin-bottom:8px}
.lc-checklists .cl-title{font-size:1.4rem;font-weight:800;line-height:1.3;margin-bottom:8px}
.lc-checklists .cl-subtitle{font-size:0.9rem;color:var(--ink-2);line-height:1.6}
.lc-checklists .cl-close{width:36px;height:36px;border-radius:8px;border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-2);font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.15s;flex-shrink:0}
.lc-checklists .cl-close:hover{border-color:var(--red-text);color:var(--red-text);background:var(--red-dim)}
.lc-checklists .cl-actions{padding:16px 36px;border-bottom:1px solid var(--rule);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.lc-checklists .cl-progress-summary{flex:1;font-size:0.85rem;color:var(--ink-2)}
.lc-checklists .cl-progress-summary strong{color:var(--green)}
.lc-checklists .btn-print{padding:8px 18px;border-radius:8px;font-size:0.82rem;font-weight:600;background:var(--paper-2);border:1px solid var(--rule);color:var(--ink);cursor:pointer;transition:all 0.15s;display:flex;align-items:center;gap:6px}
.lc-checklists .btn-print:hover{border-color:var(--accent);color:var(--accent)}
.lc-checklists .btn-reset{padding:8px 14px;border-radius:8px;font-size:0.82rem;font-weight:500;background:transparent;border:1px solid var(--rule);color:var(--ink-3);cursor:pointer;transition:all 0.15s}
.lc-checklists .btn-reset:hover{border-color:var(--red-text);color:var(--red-text)}
.lc-checklists .cl-body{padding:24px 36px 16px}
.lc-checklists .cl-section-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;font-weight:600;color:var(--ink-3);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.lc-checklists .cl-section-label:first-child{margin-top:0}
.lc-checklists .cl-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:8px;transition:background 0.1s;cursor:pointer;user-select:none}
.lc-checklists .cl-item:hover{background:var(--paper-2)}
.lc-checklists .cl-item.checked .cl-text{color:var(--ink-3);text-decoration:line-through}
.lc-checklists .cl-item.checked .cl-check{background:var(--green);border-color:var(--green)}
.lc-checklists .cl-item.checked .cl-check::after{opacity:1}
.lc-checklists .cl-check{width:20px;height:20px;border:2px solid var(--rule);border-radius:5px;flex-shrink:0;position:relative;transition:all 0.15s;margin-top:1px}
.lc-checklists .cl-check::after{content:'';position:absolute;top:2px;left:6px;width:5px;height:10px;border:solid var(--rule);border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity 0.15s}
.lc-checklists .cl-item:hover .cl-check{border-color:var(--accent)}
.lc-checklists .cl-text{flex:1;font-size:0.9rem;line-height:1.5}
.lc-checklists .cl-note{font-size:0.78rem;color:var(--ink-3);display:block;margin-top:2px}
.lc-checklists .cl-footer{padding:20px 36px 28px;border-top:1px solid var(--rule);margin-top:8px;font-size:0.75rem;color:var(--ink-3);text-align:center;line-height:1.5}
@media (max-width: 600px){
.lc-checklists .grid-inner{grid-template-columns:1fr}
.lc-checklists .cl-header, .lc-checklists .cl-actions, .lc-checklists .cl-body, .lc-checklists .cl-footer{padding-left:20px;padding-right:20px}
.lc-checklists .checklist-view{margin:16px;border-radius:8px}
.lc-checklists .hero h1{font-size:1.6rem}
.lc-checklists .hero-stats{flex-direction:column}
.lc-checklists .stat-item{border-right:none;border-bottom:1px solid var(--rule)}
.lc-checklists .stat-item:last-child{border-bottom:none}
}
@media print{
.lc-checklists .hero, .lc-checklists .filters, .lc-checklists .grid, .lc-checklists .cl-close, .lc-checklists .cl-actions, .lc-checklists .overlay{display:none !important}
.lc-checklists .print-target{display:block !important;position:static !important;background:var(--card);border:none;box-shadow:none}
.lc-checklists .print-target .cl-header{border-bottom:2px solid #111;padding:0 0 12px}
.lc-checklists .print-target .cl-title{color:#111;font-size:16pt}
.lc-checklists .print-target .cl-subtitle{color:#555}
.lc-checklists .print-target .cl-cat{color:#333}
.lc-checklists .print-target .cl-body{padding:12px 0}
.lc-checklists .print-target .cl-item{padding:4px 0}
.lc-checklists .print-target .cl-item:hover{background:none}
.lc-checklists .print-target .cl-check{border-color:#333;print-color-adjust:exact;-webkit-print-color-adjust:exact}
.lc-checklists .print-target .cl-item.checked .cl-check{background:#111;border-color:#111}
.lc-checklists .print-target .cl-item.checked .cl-text{text-decoration:line-through;color:#888}
.lc-checklists .print-target .cl-text{color:#111}
.lc-checklists .print-target .cl-note{color:#666}
.lc-checklists .print-target .cl-section-label{color:#333;border-bottom-color:#ccc}
.lc-checklists .print-target .cl-footer{display:block !important;border-top:1px solid #ccc;padding:12px 0;font-size:9pt;color:#888}
.lc-checklists .print-checklist{page-break-inside:avoid}
}

/* advisor.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-advisor .lc-col *){margin:0;padding:0}
.lc-advisor main{max-width:800px;margin:0 auto;padding:32px 24px 64px}
.lc-advisor .intro{text-align:center;padding:48px 24px 16px}
.lc-advisor .intro-badge{display:inline-flex;align-items:center;gap:8px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:6px 16px;font-size:0.78rem;color:var(--accent);font-weight:600;margin-bottom:18px}
.lc-advisor .intro h1{font-size:clamp(1.8rem, 4vw, 2.6rem);font-weight:800;letter-spacing:-0.02em;margin-bottom:14px}
.lc-advisor .intro h1 span{color:var(--accent)}
.lc-advisor .intro p{color:var(--ink-2);font-size:1rem;max-width:560px;margin:0 auto 32px;line-height:1.6}
.lc-advisor .start-btn, .lc-advisor .next-btn{background:var(--blue);color:#fff;border:none;border-radius:8px;padding:13px 32px;font-size:0.95rem;font-weight:700;cursor:pointer;transition:all 0.15s}
.lc-advisor .start-btn:hover, .lc-advisor .next-btn:hover{background:var(--blue)}
.lc-advisor .start-btn:disabled, .lc-advisor .next-btn:disabled{opacity:0.4;cursor:not-allowed;transform:none}
.lc-advisor .progress-bar{height:4px;background:var(--paper-2);border-radius:2px;margin-bottom:32px;overflow:hidden}
.lc-advisor .progress-fill{height:100%;background:var(--blue);border-radius:2px;transition:width 0.3s ease}
.lc-advisor .progress-text{font-size:0.78rem;color:var(--ink-3);margin-bottom:24px;text-align:center}
.lc-advisor .question-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:32px}
.lc-advisor .question-eyebrow{font-size:0.72rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;margin-bottom:8px}
.lc-advisor .question-title{font-size:1.4rem;font-weight:700;margin-bottom:8px;color:var(--ink)}
.lc-advisor .question-sub{color:var(--ink-2);font-size:0.92rem;margin-bottom:24px}
.lc-advisor .options{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.lc-advisor .option{background:var(--paper-2);border:2px solid var(--rule);border-radius:8px;padding:14px 18px;cursor:pointer;transition:all 0.15s;text-align:left;color:var(--ink);font-size:0.94rem}
.lc-advisor .option:hover{border-color:var(--accent);background:var(--blue-dim)}
.lc-advisor .option.selected{border-color:var(--accent);background:var(--blue-dim)}
.lc-advisor .option-label{font-weight:600}
.lc-advisor .option-sub{color:var(--ink-3);font-size:0.82rem;margin-top:4px;font-weight:400}
.lc-advisor .back-btn{background:transparent;color:var(--ink-2);border:1px solid var(--rule);border-radius:8px;padding:10px 20px;font-size:0.88rem;cursor:pointer}
.lc-advisor .back-btn:hover{border-color:var(--rule);color:var(--ink)}
.lc-advisor .back-btn:disabled{opacity:0.3;cursor:not-allowed}
.lc-advisor .roadmap-header{text-align:center;margin-bottom:32px;padding:8px 0}
.lc-advisor .roadmap-eyebrow{font-size:0.72rem;color:var(--green);text-transform:uppercase;letter-spacing:0.1em;font-weight:600;margin-bottom:8px}
.lc-advisor .roadmap-header h2{font-size:1.8rem;font-weight:800;letter-spacing:-0.01em;margin-bottom:10px}
.lc-advisor .roadmap-header p{color:var(--ink-2);font-size:0.95rem;max-width:560px;margin:0 auto}
.lc-advisor .roadmap-summary{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:20px 24px;margin-bottom:24px;font-size:0.9rem;color:var(--ink-2)}
.lc-advisor .roadmap-summary strong{color:var(--ink)}
.lc-advisor .phase{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:24px;margin-bottom:16px}
.lc-advisor .phase-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--rule)}
.lc-advisor .phase-title{font-size:1.1rem;font-weight:700;color:var(--ink)}
.lc-advisor .phase-timing{font-size:0.78rem;color:var(--accent);text-transform:uppercase;letter-spacing:0.08em;font-weight:600}
.lc-advisor .step{padding:14px 0;border-bottom:1px solid var(--rule);display:flex;gap:16px;align-items:flex-start}
.lc-advisor .step:last-child{border-bottom:none;padding-bottom:0}
.lc-advisor .step-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--blue-dim);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:0.78rem;font-weight:700;color:var(--accent)}
.lc-advisor .step-body{flex:1}
.lc-advisor .step-title{font-size:0.98rem;font-weight:600;color:var(--ink);margin-bottom:4px}
.lc-advisor .step-desc{font-size:0.88rem;color:var(--ink-2);line-height:1.6;margin-bottom:8px}
.lc-advisor .step-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.lc-advisor .pill{display:inline-flex;align-items:center;gap:4px;border-radius:8px;padding:3px 10px;font-size:0.76rem;font-weight:500}
.lc-advisor .pill.atd{background:var(--green-dim);color:var(--green);border:1px solid var(--rule)}
.lc-advisor .pill.course{background:var(--blue-dim);color:var(--accent);border:1px solid var(--rule)}
.lc-advisor .pill.cost{background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}
.lc-advisor .pill a{color:inherit;text-decoration:none}
.lc-advisor .pill a:hover{text-decoration:underline}
.lc-advisor .courses-block{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:24px;margin-bottom:16px}
.lc-advisor .courses-block h3{font-size:1rem;font-weight:700;margin-bottom:4px}
.lc-advisor .courses-block p{font-size:0.88rem;color:var(--ink-2);margin-bottom:16px}
.lc-advisor .courses-list{list-style:none}
.lc-advisor .courses-list li{padding:10px 0;border-bottom:1px solid var(--rule);display:flex;gap:12px;align-items:center}
.lc-advisor .courses-list li:last-child{border-bottom:none}
.lc-advisor .courses-list a{font-size:0.92rem;font-weight:600}
.lc-advisor .cta-block{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:24px;text-align:center}
.lc-advisor .cta-block h3{font-size:1.15rem;font-weight:700;margin-bottom:8px}
.lc-advisor .cta-block p{color:var(--ink-2);font-size:0.92rem;margin-bottom:18px}
.lc-advisor .cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.lc-advisor .cta-buttons a{background:var(--blue);color:#fff;padding:11px 22px;border-radius:8px;font-weight:600;font-size:0.9rem;text-decoration:none;transition:background 0.15s}
.lc-advisor .cta-buttons a:hover{background:var(--blue);text-decoration:none}
.lc-advisor .cta-buttons a.secondary{background:transparent;color:var(--ink);border:1px solid var(--rule)}
.lc-advisor .cta-buttons a.secondary:hover{border-color:var(--accent);color:var(--accent)}
.lc-advisor .reset-link{text-align:center;margin-top:24px;font-size:0.85rem;color:var(--ink-3)}
.lc-advisor .reset-link a{color:var(--ink-3)}
.lc-advisor .reset-link a:hover{color:var(--accent)}
.lc-advisor .disclaimer{font-size:0.78rem;color:var(--ink-3);text-align:center;margin-top:32px;padding:16px 20px;background:var(--card);border:1px solid var(--rule);border-radius:8px;line-height:1.6}
@media (max-width: 600px){
.lc-advisor .intro{padding:24px 8px}
.lc-advisor .question-card, .lc-advisor .phase, .lc-advisor .courses-block, .lc-advisor .cta-block{padding:20px}
.lc-advisor .phase-header{flex-direction:column;align-items:flex-start;gap:4px}
}

/* assessment.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-assessment .lc-col *){margin:0;padding:0}
.lc-assessment .container{max-width:760px;margin:0 auto;padding:0 24px}
.lc-assessment .screen{display:none}
.lc-assessment .screen.active{display:block}
.lc-assessment .intro{padding:64px 0 48px;text-align:center}
.lc-assessment .intro-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:4px 14px;font-size:0.78rem;color:var(--accent);margin-bottom:20px}
.lc-assessment .intro h1{font-size:clamp(1.8rem, 4vw, 2.5rem);font-weight:800;line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}
.lc-assessment .intro h1 span{color:var(--accent)}
.lc-assessment .intro p{font-size:1.05rem;color:var(--ink-2);max-width:540px;margin:0 auto 32px;line-height:1.7}
.lc-assessment .intro-features{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.lc-assessment .intro-feat{display:flex;align-items:center;gap:8px;font-size:0.88rem;color:var(--ink-2)}
.lc-assessment .intro-feat .ic{color:var(--green);font-size:1.1rem}
.lc-assessment :where(.lc-col) .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;border:none;transition:all 0.2s}
.lc-assessment :where(.lc-col) .btn-primary{background:var(--blue);color:#fff}
.lc-assessment :where(.lc-col) .btn-primary:hover{background:var(--blue)}
.lc-assessment .btn-secondary{background:var(--card);border:1px solid var(--rule);color:var(--ink)}
.lc-assessment .btn-secondary:hover{border-color:var(--accent);color:var(--accent)}
.lc-assessment .btn-sm{padding:10px 20px;font-size:0.9rem}
.lc-assessment :where(.lc-col) .btn:disabled{opacity:0.4;cursor:not-allowed}
.lc-assessment .progress-wrap{padding:24px 0 8px}
.lc-assessment .progress-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.lc-assessment .progress-label{font-size:0.8rem;color:var(--ink-2)}
.lc-assessment .progress-cat{font-size:0.8rem;color:var(--accent);font-weight:600}
.lc-assessment .progress-bar{width:100%;height:6px;background:var(--paper-2);border-radius:3px;overflow:hidden}
.lc-assessment .progress-fill{height:100%;background:var(--blue);border-radius:3px;transition:width 0.4s ease}
.lc-assessment .profile-section{padding:0 0 64px}
.lc-assessment .profile-section h2{font-size:1.5rem;font-weight:700;margin-bottom:8px}
.lc-assessment .profile-section .sub{color:var(--ink-2);font-size:0.95rem;margin-bottom:32px}
.lc-assessment .form-group{margin-bottom:24px}
.lc-assessment .form-group label{display:block;font-size:0.88rem;font-weight:600;margin-bottom:8px;color:var(--ink)}
.lc-assessment .form-group select{width:100%;padding:12px 16px;background:var(--card);border:1px solid var(--rule);border-radius:8px;color:var(--ink);font-size:0.95rem;appearance:none;background-repeat:no-repeat;background-position:right 16px center;cursor:pointer;transition:border-color 0.2s}
.lc-assessment .form-group select:focus{outline:none;border-color:var(--accent)}
.lc-assessment .form-group select option{background:var(--card);color:var(--ink)}
.lc-assessment .profile-actions{display:flex;justify-content:flex-end;padding-top:12px}
.lc-assessment .question-section{padding:0 0 64px}
.lc-assessment .q-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:36px 32px}
.lc-assessment .q-number{font-size:0.78rem;color:var(--ink-3);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:12px}
.lc-assessment .q-text{font-size:1.15rem;font-weight:600;margin-bottom:28px;line-height:1.5}
.lc-assessment .q-options{display:flex;flex-direction:column;gap:10px}
.lc-assessment .q-option{display:flex;align-items:flex-start;gap:14px;padding:14px 18px;background:var(--paper);border:1px solid var(--rule);border-radius:8px;cursor:pointer;transition:all 0.2s;position:relative}
.lc-assessment .q-option:hover{border-color:var(--accent);background:var(--blue-dim)}
.lc-assessment .q-option.selected{border-color:var(--accent);background:var(--blue-dim)}
.lc-assessment .q-option .radio{width:20px;height:20px;border:2px solid var(--rule);border-radius:50%;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;transition:all 0.2s}
.lc-assessment .q-option.selected .radio{border-color:var(--accent)}
.lc-assessment .q-option.selected .radio::after{content:'';width:10px;height:10px;background:var(--blue);border-radius:50%}
.lc-assessment .q-option .opt-text{font-size:0.95rem;line-height:1.5;color:var(--ink-2)}
.lc-assessment .q-option.selected .opt-text{color:var(--ink)}
.lc-assessment .q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:28px}
.lc-assessment .results-section{padding:48px 0 80px}
.lc-assessment .results-section h2{font-size:1.5rem;font-weight:700;margin-bottom:32px;text-align:center}
.lc-assessment .score-hero{text-align:center;margin-bottom:48px;padding:48px 0}
.lc-assessment .score-circle-wrap{position:relative;width:220px;height:220px;margin:0 auto 24px}
.lc-assessment .score-circle-wrap svg{transform:rotate(-90deg)}
.lc-assessment .score-bg{fill:none;stroke:var(--ink);stroke-width:10}
.lc-assessment .score-fg{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.5s ease, stroke 0.5s}
.lc-assessment .score-value{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);text-align:center}
.lc-assessment .score-num{font-size:3.5rem;font-weight:800;line-height:1}
.lc-assessment .score-of{font-size:0.85rem;color:var(--ink-2)}
.lc-assessment .score-rating{font-size:1.2rem;font-weight:700;margin-bottom:8px}
.lc-assessment .score-tagline{font-size:0.95rem;color:var(--ink-2);max-width:420px;margin:0 auto}
.lc-assessment .cat-breakdown{margin-bottom:48px}
.lc-assessment .cat-breakdown h3{font-size:1.1rem;font-weight:700;margin-bottom:20px}
.lc-assessment .cat-row{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.lc-assessment .cat-name{width:140px;font-size:0.85rem;color:var(--ink-2);flex-shrink:0}
.lc-assessment .cat-bar-wrap{flex:1;height:10px;background:var(--paper-2);border-radius:5px;overflow:hidden}
.lc-assessment .cat-bar-fill{height:100%;border-radius:5px;transition:width 1s ease}
.lc-assessment .cat-grade{width:32px;text-align:center;font-size:0.85rem;font-weight:700}
.lc-assessment .cat-pct{width:44px;text-align:right;font-size:0.85rem;color:var(--ink-2)}
.lc-assessment .comparison{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:28px 32px;margin-bottom:48px;display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.lc-assessment .comp-item{flex:1;min-width:180px;text-align:center}
.lc-assessment .comp-label{font-size:0.78rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px}
.lc-assessment .comp-score{font-size:2rem;font-weight:800}
.lc-assessment .comp-divider{width:1px;height:60px;background:var(--card)}
.lc-assessment .comp-note{font-size:0.82rem;color:var(--ink-2);text-align:center;margin-top:-36px;margin-bottom:48px}
.lc-assessment .issues-section{margin-bottom:48px}
.lc-assessment .issues-section h3{font-size:1.1rem;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.lc-assessment .issue-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:20px 24px;margin-bottom:12px;border-left:3px solid transparent}
.lc-assessment .issue-card.critical{border-left-color:var(--red-text)}
.lc-assessment .issue-card.warning{border-left-color:var(--yellow)}
.lc-assessment .issue-card.strong{border-left-color:var(--green)}
.lc-assessment .issue-card .issue-q{font-size:0.92rem;font-weight:600;margin-bottom:6px}
.lc-assessment .issue-card .issue-detail{font-size:0.85rem;color:var(--ink-2);line-height:1.6}
.lc-assessment .issue-card .issue-risk{color:var(--red-text);font-size:0.82rem;margin-top:6px}
.lc-assessment .issue-card .issue-course{margin-top:8px}
.lc-assessment .issue-card .issue-course a{font-size:0.82rem}
.lc-assessment .atd-callout{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:6px;padding:4px 10px;font-size:0.78rem;color:var(--accent);margin-top:8px}
.lc-assessment .action-plan{margin-bottom:48px}
.lc-assessment .action-plan h3{font-size:1.1rem;font-weight:700;margin-bottom:16px}
.lc-assessment .action-step{display:flex;gap:16px;margin-bottom:16px}
.lc-assessment .action-num{width:28px;height:28px;background:var(--blue);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;color:#fff;flex-shrink:0;margin-top:2px}
.lc-assessment .action-body{flex:1}
.lc-assessment .action-title{font-size:0.92rem;font-weight:600;margin-bottom:4px}
.lc-assessment .action-desc{font-size:0.85rem;color:var(--ink-2)}
.lc-assessment .email-capture{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:32px;text-align:center;margin-bottom:48px}
.lc-assessment .email-capture h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}
.lc-assessment .email-capture p{font-size:0.9rem;color:var(--ink-2);margin-bottom:20px}
.lc-assessment .email-row{display:flex;gap:10px;max-width:440px;margin:0 auto}
.lc-assessment .email-row input{flex:1;padding:12px 16px;background:var(--paper);border:1px solid var(--rule);border-radius:8px;color:var(--ink);font-size:0.95rem}
.lc-assessment .email-row input:focus{outline:none;border-color:var(--accent)}
.lc-assessment .email-success{display:none;color:var(--green);font-size:0.9rem;margin-top:12px}
.lc-assessment .results-cta{text-align:center;padding:48px 0;border-top:1px solid var(--rule)}
.lc-assessment .results-cta h3{font-size:1.3rem;font-weight:700;margin-bottom:12px}
.lc-assessment .results-cta p{font-size:0.95rem;color:var(--ink-2);margin-bottom:24px;max-width:480px;margin-left:auto;margin-right:auto}
@media print{
.lc-assessment .email-capture, .lc-assessment .results-cta, .lc-assessment :where(.lc-col) .btn{display:none !important}
.lc-assessment .score-hero, .lc-assessment .cat-breakdown, .lc-assessment .issues-section, .lc-assessment .action-plan, .lc-assessment .comparison{break-inside:avoid}
.lc-assessment .issue-card, .lc-assessment .cat-row{border-color:#ccc}
.lc-assessment .score-num{color:#fff !important}
}
@media (max-width: 640px){
.lc-assessment .container{padding:0 16px}
.lc-assessment .q-card{padding:24px 20px}
.lc-assessment .q-option{padding:12px 14px}
.lc-assessment .comparison{flex-direction:column;gap:20px}
.lc-assessment .comp-divider{width:60px;height:1px}
.lc-assessment .email-row{flex-direction:column}
.lc-assessment .cat-name{width:100px;font-size:0.78rem}
.lc-assessment .intro-features{flex-direction:column;align-items:center}
.lc-assessment .score-circle-wrap{width:180px;height:180px}
.lc-assessment .score-num{font-size:2.8rem}
}
.lc-assessment .slide-enter{animation:slideIn 0.3s ease}
@keyframes slideIn { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
.lc-assessment .slide-exit{animation:slideOut 0.2s ease}
@keyframes slideOut { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(-30px); } }

/* calculator.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-calculator .lc-col *){margin:0;padding:0}
.lc-calculator .back-btn{background:none;border:1px solid var(--rule);color:var(--ink-2);padding:5px 12px;border-radius:6px;cursor:pointer;font-size:0.8rem;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.lc-calculator .back-btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.lc-calculator main{max-width:1100px;margin:0 auto;padding:32px 20px 80px}
.lc-calculator .calc-hero{text-align:center;padding:32px 0 40px}
.lc-calculator .calc-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:4px 14px;font-size:0.75rem;color:var(--accent);margin-bottom:16px}
.lc-calculator .calc-hero h1{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;letter-spacing:-0.02em;margin-bottom:8px}
.lc-calculator .calc-hero h1 span{color:var(--accent)}
.lc-calculator .calc-hero p{color:var(--ink-2);font-size:0.95rem;max-width:560px;margin:0 auto}
.lc-calculator .stepper{display:flex;align-items:center;justify-content:center;gap:0;margin:0 auto 36px;max-width:600px}
.lc-calculator .step-item{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:0.82rem;color:var(--ink-3);transition:all 0.3s;cursor:default}
.lc-calculator .step-item.active{color:var(--accent);font-weight:600}
.lc-calculator .step-item.done{color:var(--green)}
.lc-calculator .step-num{width:24px;height:24px;border-radius:50%;border:2px solid var(--rule);display:flex;align-items:center;justify-content:center;font-size:0.72rem;font-weight:700;transition:all 0.3s;flex-shrink:0}
.lc-calculator .step-item.active .step-num{border-color:var(--accent);color:var(--accent);background:var(--blue-dim)}
.lc-calculator .step-item.done .step-num{border-color:var(--green);color:var(--green);background:var(--green-dim)}
.lc-calculator .step-connector{width:40px;height:2px;background:var(--card);transition:background 0.3s}
.lc-calculator .step-connector.done{background:var(--green)}
.lc-calculator .panel{display:none;animation:fadeSlide 0.4s ease}
.lc-calculator .panel.active{display:block}
@keyframes fadeSlide{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
.lc-calculator .path-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:24px}
.lc-calculator .path-card{background:var(--card);border:2px solid var(--rule);border-radius:8px;padding:24px 20px;cursor:pointer;transition:all 0.25s;position:relative;overflow:hidden}
.lc-calculator .path-card:hover{border-color:var(--accent)}
.lc-calculator .path-card.selected{border-color:var(--accent);background:var(--card)}
.lc-calculator .path-card.selected::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue)}
.lc-calculator .path-icon{font-size:2rem;margin-bottom:12px;display:block}
.lc-calculator .path-card h3{font-size:1rem;font-weight:700;margin-bottom:6px}
.lc-calculator .path-card p{font-size:0.82rem;color:var(--ink-2);line-height:1.5;margin-bottom:12px}
.lc-calculator .path-range{display:inline-block;background:var(--paper-2);border:1px solid var(--rule);border-radius:6px;padding:4px 10px;font-size:0.75rem;color:var(--ink-2)}
.lc-calculator .path-range strong{color:var(--accent);font-weight:600}
.lc-calculator .path-check{position:absolute;top:12px;right:12px;width:22px;height:22px;border-radius:50%;border:2px solid var(--rule);display:flex;align-items:center;justify-content:center;transition:all 0.2s;font-size:0.7rem;color:transparent}
.lc-calculator .path-card.selected .path-check{border-color:var(--accent);background:var(--blue);color:#fff}
.lc-calculator .config-section{margin-bottom:28px}
.lc-calculator .config-section h3{font-size:0.95rem;font-weight:700;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:8px}
.lc-calculator .config-section h3 .icon{font-size:1rem}
.lc-calculator .form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.lc-calculator .form-group{display:flex;flex-direction:column;gap:6px}
.lc-calculator .form-group label{font-size:0.8rem;font-weight:600;color:var(--ink-2)}
.lc-calculator .form-group .hint{font-size:0.72rem;color:var(--ink-3)}
.lc-calculator select, .lc-calculator input[type="range"]{width:100%;background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:8px 12px;color:var(--ink);font-size:0.88rem;outline:none;transition:border-color 0.2s}
.lc-calculator select:focus{border-color:var(--accent)}
.lc-calculator select{cursor:pointer;-webkit-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 10px center}
.lc-calculator input[type="range"]{-webkit-appearance:none;appearance:none;height:6px;border:none;border-radius:3px;background:var(--paper-2);padding:0;cursor:pointer}
.lc-calculator input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--blue);border:2px solid var(--rule);cursor:pointer}
.lc-calculator input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--blue);border:2px solid var(--rule);cursor:pointer}
.lc-calculator .range-display{display:flex;justify-content:space-between;align-items:center}
.lc-calculator .range-value{font-size:0.88rem;font-weight:700;color:var(--accent);min-width:80px;text-align:right}
.lc-calculator .checkbox-grid{display:flex;flex-wrap:wrap;gap:8px}
.lc-calculator .checkbox-chip{display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:6px 12px;cursor:pointer;font-size:0.82rem;color:var(--ink-2);transition:all 0.2s;user-select:none}
.lc-calculator .checkbox-chip:hover{border-color:var(--accent)}
.lc-calculator .checkbox-chip.checked{border-color:var(--accent);color:var(--accent);background:var(--blue-dim)}
.lc-calculator .checkbox-chip input{display:none}
.lc-calculator .option-cards{display:flex;gap:10px;flex-wrap:wrap}
.lc-calculator .option-card{flex:1;min-width:100px;background:var(--card);border:2px solid var(--rule);border-radius:8px;padding:12px;text-align:center;cursor:pointer;transition:all 0.2s}
.lc-calculator .option-card:hover{border-color:var(--accent)}
.lc-calculator .option-card.selected{border-color:var(--accent);background:var(--blue-dim)}
.lc-calculator .option-card .opt-label{font-size:0.82rem;font-weight:600;display:block;margin-bottom:4px}
.lc-calculator .option-card .opt-range{font-size:0.72rem;color:var(--ink-3)}
.lc-calculator :where(.lc-col) .btn{padding:10px 24px;border-radius:8px;font-size:0.88rem;font-weight:600;cursor:pointer;border:none;transition:all 0.15s}
.lc-calculator .btn-back{background:var(--card);border:1px solid var(--rule);color:var(--ink-2)}
.lc-calculator .btn-back:hover{border-color:var(--accent);color:var(--accent)}
.lc-calculator .btn-next{background:var(--blue);color:#fff}
.lc-calculator .btn-next:hover{background:var(--blue)}
.lc-calculator .btn-next:disabled{opacity:0.4;cursor:not-allowed}
.lc-calculator .results-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}
.lc-calculator .result-card{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:20px;transition:border-color 0.3s}
.lc-calculator .result-card.full{grid-column:1/-1}
.lc-calculator .result-card h3{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-2);margin-bottom:14px;display:flex;align-items:center;gap:8px}
.lc-calculator .result-card h3 .card-icon{font-size:1rem}
.lc-calculator .summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:28px}
.lc-calculator .metric-box{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:16px;text-align:center}
.lc-calculator .metric-box .label{font-size:0.72rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:6px}
.lc-calculator .metric-box .value{font-size:1.4rem;font-weight:800;display:block}
.lc-calculator .metric-box .sub{font-size:0.72rem;color:var(--ink-3);margin-top:4px}
.lc-calculator .metric-box.green .value{color:var(--green)}
.lc-calculator .metric-box.orange .value{color:var(--accent)}
.lc-calculator .metric-box.blue .value{color:var(--accent)}
.lc-calculator .metric-box.yellow .value{color:var(--yellow)}
.lc-calculator .metric-box.red .value{color:var(--red-text)}
.lc-calculator .cost-table{width:100%;border-collapse:collapse}
.lc-calculator .cost-table th{text-align:left;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-3);padding:6px 8px;border-bottom:1px solid var(--rule)}
.lc-calculator .cost-table th:last-child{text-align:right}
.lc-calculator .cost-table td{padding:8px;font-size:0.88rem;border-bottom:1px solid rgba(48,54,61,0.5)}
.lc-calculator .cost-table td:last-child{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.lc-calculator .cost-table tr.subtotal td{border-top:2px solid var(--rule);font-weight:700;color:var(--accent);padding-top:10px}
.lc-calculator .cost-table tr.section-head td{font-size:0.78rem;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:0.04em;padding-top:14px;border-bottom:none}
.lc-calculator .cost-table .note{font-size:0.75rem;color:var(--ink-3);font-weight:400}
.lc-calculator .scenario-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lc-calculator .scenario-col{background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;padding:16px;text-align:center}
.lc-calculator .scenario-col.highlight{border-color:var(--green);background:var(--green-dim)}
.lc-calculator .scenario-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-2);margin-bottom:10px;font-weight:600}
.lc-calculator .scenario-col.highlight .scenario-label{color:var(--green)}
.lc-calculator .scenario-line{margin-bottom:8px}
.lc-calculator .scenario-line .s-label{font-size:0.75rem;color:var(--ink-3);display:block}
.lc-calculator .scenario-line .s-value{font-size:1rem;font-weight:700}
.lc-calculator .scenario-line .s-value.positive{color:var(--green)}
.lc-calculator .scenario-line .s-value.negative{color:var(--red-text)}
.lc-calculator .breakeven-bar{height:24px;background:var(--paper-2);border-radius:8px;overflow:hidden;margin:10px 0 6px;position:relative}
.lc-calculator .breakeven-fill{height:100%;border-radius:8px;transition:width 0.6s ease;position:relative}
.lc-calculator .breakeven-fill.green{background:var(--green)}
.lc-calculator .breakeven-fill.yellow{background:var(--yellow)}
.lc-calculator .breakeven-fill.red{background:var(--red-text)}
.lc-calculator .breakeven-months{font-size:0.82rem;color:var(--ink-2)}
.lc-calculator .related-courses{margin-top:32px}
.lc-calculator .related-courses h3{font-size:0.9rem;font-weight:700;margin-bottom:14px}
.lc-calculator .course-links{display:flex;flex-wrap:wrap;gap:10px}
.lc-calculator .course-link{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:12px 16px;font-size:0.85rem;color:var(--ink);transition:all 0.2s;display:flex;align-items:center;gap:8px}
.lc-calculator .course-link:hover{border-color:var(--accent);text-decoration:none}
.lc-calculator .course-link .cl-icon{font-size:1rem}
.lc-calculator .disclaimer{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:16px 20px;margin-top:32px;font-size:0.8rem;color:var(--ink-3);line-height:1.6}
.lc-calculator .disclaimer strong{color:var(--ink-2)}
@media print{
.lc-calculator .stepper, .lc-calculator .disclaimer, .lc-calculator .related-courses, .lc-calculator .back-btn{display:none!important}
.lc-calculator .result-card, .lc-calculator .metric-box, .lc-calculator .scenario-col{border:1px solid #ccc;background:#f9f9f9;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.lc-calculator .cost-table td, .lc-calculator .cost-table th{border-bottom:1px solid #ccc}
.lc-calculator main{padding:0}
.lc-calculator .results-grid{display:block}
.lc-calculator .result-card{page-break-inside:avoid;margin-bottom:16px}
.lc-calculator .metric-box .value, .lc-calculator .cost-table tr.subtotal td{color:#c65d00!important}
.lc-calculator .scenario-line .s-value.positive{color:#1a8a32!important}
.lc-calculator .scenario-line .s-value.negative{color:#c41e1e!important}
}
@media(max-width:700px){
.lc-calculator .results-grid{grid-template-columns:1fr}
.lc-calculator .scenario-grid{grid-template-columns:1fr}
.lc-calculator .summary-row{grid-template-columns:repeat(2,1fr)}
.lc-calculator .form-grid{grid-template-columns:1fr}
.lc-calculator .path-grid{grid-template-columns:1fr}
.lc-calculator .stepper .step-text{display:none}
.lc-calculator .step-item{padding:8px}
}

/* calendar.html: its own styles, re-skinned to v05 tokens (layout and state rules as they were) */
:where(.lc-calendar .lc-col *){margin:0;padding:0}
.lc-calendar .back-btn{background:none;border:1px solid var(--rule);color:var(--ink-2);padding:5px 12px;border-radius:6px;cursor:pointer;font-size:0.8rem;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.lc-calendar .back-btn:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}
.lc-calendar main{max-width:1200px;margin:0 auto;padding:0 20px 80px}
.lc-calendar .hero{text-align:center;padding:40px 0 32px}
.lc-calendar .hero-badge{display:inline-flex;align-items:center;gap:6px;background:var(--blue-dim);border:1px solid var(--rule);border-radius:8px;padding:4px 14px;font-size:0.75rem;color:var(--accent);margin-bottom:16px}
.lc-calendar .hero h1{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;letter-spacing:-0.02em;margin-bottom:10px}
.lc-calendar .hero h1 span{color:var(--accent)}
.lc-calendar .hero p{color:var(--ink-2);font-size:0.95rem;max-width:620px;margin:0 auto}
.lc-calendar .upcoming{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:20px 24px;margin-bottom:28px}
.lc-calendar .upcoming-title{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent);font-weight:600;margin-bottom:14px}
.lc-calendar .upcoming-list{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px}
.lc-calendar .upcoming-card{flex:0 0 auto;min-width:200px;background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;padding:14px 16px;cursor:pointer;transition:all 0.2s}
.lc-calendar .upcoming-card:hover{border-color:var(--accent)}
.lc-calendar .upcoming-card .uc-days{font-size:1.6rem;font-weight:800;line-height:1}
.lc-calendar .upcoming-card .uc-days.urgent{color:var(--red-text)}
.lc-calendar .upcoming-card .uc-days.warning{color:var(--yellow)}
.lc-calendar .upcoming-card .uc-days.ok{color:var(--green)}
.lc-calendar .upcoming-card .uc-label{font-size:0.7rem;color:var(--ink-3);margin-bottom:6px}
.lc-calendar .upcoming-card .uc-name{font-size:0.85rem;font-weight:600;margin-bottom:2px}
.lc-calendar .upcoming-card .uc-date{font-size:0.75rem;color:var(--ink-2)}
.lc-calendar .controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:24px;padding:14px 18px;background:var(--card);border:1px solid var(--rule);border-radius:8px}
.lc-calendar .ctrl-group{display:flex;gap:6px;align-items:center}
.lc-calendar .ctrl-group label{font-size:0.78rem;color:var(--ink-2);margin-right:4px}
.lc-calendar .ctrl-select{background:var(--paper-2);border:1px solid var(--rule);color:var(--ink);padding:6px 10px;border-radius:6px;font-size:0.82rem;cursor:pointer}
.lc-calendar .ctrl-select:focus{outline:none;border-color:var(--accent)}
.lc-calendar .view-btn{padding:6px 14px;border-radius:6px;font-size:0.78rem;font-weight:600;border:1px solid var(--rule);background:var(--paper-2);color:var(--ink-2);cursor:pointer;transition:all 0.15s}
.lc-calendar .view-btn:hover{border-color:var(--accent);color:var(--ink)}
.lc-calendar .view-btn.active{background:var(--blue);color:#fff;border-color:var(--accent)}
.lc-calendar .filter-chip{padding:5px 12px;border-radius:8px;font-size:0.75rem;font-weight:500;border:1px solid var(--rule);background:transparent;color:var(--ink-2);cursor:pointer;transition:all 0.15s}
.lc-calendar .filter-chip:hover{border-color:var(--accent);color:var(--ink)}
.lc-calendar .filter-chip.active{background:var(--blue-dim);border-color:var(--accent);color:var(--accent)}
.lc-calendar .ctrl-spacer{flex:1;min-width:10px}
.lc-calendar .export-btn{padding:6px 16px;border-radius:6px;font-size:0.78rem;font-weight:600;border:none;background:var(--blue);color:#fff;cursor:pointer;transition:background 0.15s;white-space:nowrap}
.lc-calendar .export-btn:hover{background:var(--blue)}
.lc-calendar .cal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lc-calendar .cal-month{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:14px;transition:border-color 0.2s}
.lc-calendar .cal-month.current{border-color:var(--accent)}
.lc-calendar .cal-month-name{font-size:0.85rem;font-weight:700;text-align:center;margin-bottom:10px;color:var(--ink)}
.lc-calendar .cal-month.current .cal-month-name{color:var(--accent)}
.lc-calendar .cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:4px}
.lc-calendar .cal-weekdays span{text-align:center;font-size:0.6rem;color:var(--ink-3);text-transform:uppercase;padding:2px 0}
.lc-calendar .cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.lc-calendar .cal-day{text-align:center;font-size:0.72rem;padding:4px 2px;border-radius:4px;cursor:default;position:relative;color:var(--ink-2);min-height:28px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lc-calendar .cal-day.empty{visibility:hidden}
.lc-calendar .cal-day.today{background:var(--blue-dim);color:var(--accent);font-weight:700;border-radius:50%;aspect-ratio:1}
.lc-calendar .cal-day.has-deadline{cursor:pointer;font-weight:600;color:var(--ink)}
.lc-calendar .cal-day.has-deadline:hover{background:var(--paper-2)}
.lc-calendar .cal-dots{display:flex;gap:2px;margin-top:1px}
.lc-calendar .cal-dot{width:4px;height:4px;border-radius:50%}
.lc-calendar .cat-federal{background:var(--blue)}
.lc-calendar .cat-ifta{background:var(--green)}
.lc-calendar .cat-insurance{background:var(--paper-2)}
.lc-calendar .cat-state{background:var(--yellow)}
.lc-calendar .cat-tax{background:var(--red-text)}
.lc-calendar .legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;justify-content:center}
.lc-calendar .legend-item{display:flex;align-items:center;gap:5px;font-size:0.72rem;color:var(--ink-2)}
.lc-calendar .legend-dot{width:8px;height:8px;border-radius:50%}
/* the category in TEXT beside its dot (WCAG 1.4.1), on the upcoming cards and the single-deadline popup */
.lc-calendar .cat-label{display:flex;align-items:center;gap:5px;font-size:0.72rem;color:var(--ink-2);margin-top:4px}
.lc-calendar .modal-body .mb-cat{margin:-6px 0 12px}
.lc-calendar .list-view{display:none}
.lc-calendar .list-month-group{margin-bottom:24px}
.lc-calendar .list-month-label{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent);font-weight:600;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--rule)}
.lc-calendar .list-item{display:flex;align-items:flex-start;gap:14px;padding:12px 16px;background:var(--card);border:1px solid var(--rule);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all 0.15s}
.lc-calendar .list-item:hover{border-color:var(--accent)}
.lc-calendar .list-date-box{text-align:center;flex:0 0 52px;background:var(--paper-2);border-radius:6px;padding:6px 4px}
.lc-calendar .list-date-box .ldb-month{font-size:0.6rem;text-transform:uppercase;color:var(--ink-3);font-weight:600}
.lc-calendar .list-date-box .ldb-day{font-size:1.1rem;font-weight:800;line-height:1.2}
.lc-calendar .list-date-box.urgent .ldb-day{color:var(--red-text)}
.lc-calendar .list-date-box.warning .ldb-day{color:var(--yellow)}
.lc-calendar .list-date-box.ok .ldb-day{color:var(--green)}
.lc-calendar .list-info{flex:1;min-width:0}
.lc-calendar .list-info h4{font-size:0.9rem;font-weight:600;margin-bottom:3px}
.lc-calendar .list-info p{font-size:0.78rem;color:var(--ink-2);margin-bottom:5px}
.lc-calendar .list-tags{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.lc-calendar .tag{padding:2px 8px;border-radius:8px;font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em}
.lc-calendar .tag-federal{background:var(--blue-dim);color:var(--accent)}
.lc-calendar .tag-ifta{background:var(--green-dim);color:var(--green)}
.lc-calendar .tag-insurance{background:var(--paper-2);color:var(--ink-2)}
.lc-calendar .tag-state{background:var(--yellow-dim);color:var(--yellow)}
.lc-calendar .tag-tax{background:var(--red-dim);color:var(--red-text)}
.lc-calendar .penalty-text{font-size:0.7rem;color:var(--red-text)}
.lc-calendar .timeline-view{display:none;overflow-x:auto;padding-bottom:16px}
.lc-calendar .timeline-track{position:relative;min-width:1200px;height:320px;margin:20px 0}
.lc-calendar .timeline-axis{position:absolute;bottom:60px;left:0;right:0;height:3px;background:var(--card);border-radius:2px}
.lc-calendar .timeline-month-label{position:absolute;bottom:30px;font-size:0.72rem;color:var(--ink-2);font-weight:600;transform:translateX(-50%)}
.lc-calendar .timeline-month-tick{position:absolute;bottom:58px;width:2px;height:10px;background:var(--card);transform:translateX(-50%)}
.lc-calendar .timeline-marker{position:absolute;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);cursor:pointer;transition:all 0.2s;z-index:1}
.lc-calendar .timeline-marker:hover{z-index:10}
.lc-calendar .timeline-marker.m-federal{background:var(--blue)}
.lc-calendar .timeline-marker.m-ifta{background:var(--green)}
.lc-calendar .timeline-marker.m-insurance{background:var(--paper-2)}
.lc-calendar .timeline-marker.m-state{background:var(--yellow)}
.lc-calendar .timeline-marker.m-tax{background:var(--red-text)}
.lc-calendar .timeline-tooltip{position:absolute;background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:10px 14px;font-size:0.78rem;pointer-events:none;z-index:100;max-width:280px;opacity:0;transition:opacity 0.15s}
.lc-calendar .timeline-tooltip.visible{opacity:1}
.lc-calendar .timeline-tooltip h5{font-weight:700;margin-bottom:3px}
.lc-calendar .timeline-tooltip p{color:var(--ink-2);font-size:0.72rem}
.lc-calendar .modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--card);z-index:300;align-items:center;justify-content:center;padding:20px}
.lc-calendar .modal-overlay.open{display:flex}
.lc-calendar .modal{background:var(--card);border:1px solid var(--rule);border-radius:8px;max-width:520px;width:100%;max-height:80vh;overflow-y:auto}
.lc-calendar .modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 0;gap:12px}
.lc-calendar .modal-header h3{font-size:1.1rem;font-weight:700}
.lc-calendar .modal-close{background:none;border:none;color:var(--ink-2);font-size:1.3rem;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}
.lc-calendar .modal-close:hover{background:var(--paper-2);color:var(--ink)}
.lc-calendar .modal-body{padding:16px 24px 24px}
.lc-calendar .modal-body .mb-date{font-size:0.85rem;color:var(--accent);font-weight:600;margin-bottom:12px}
.lc-calendar .modal-body .mb-desc{font-size:0.88rem;color:var(--ink-2);line-height:1.6;margin-bottom:14px}
.lc-calendar .modal-body .mb-section{margin-bottom:14px}
.lc-calendar .modal-body .mb-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-3);font-weight:600;margin-bottom:4px}
.lc-calendar .modal-body .mb-value{font-size:0.85rem;line-height:1.5}
.lc-calendar .modal-body .mb-penalty{color:var(--red-text);font-weight:500}
.lc-calendar .modal-body .mb-applies{color:var(--ink-2)}
.lc-calendar .modal-add-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:0.82rem;font-weight:600;border:1px solid var(--accent);background:var(--blue-dim);color:var(--accent);cursor:pointer;transition:all 0.15s;margin-top:8px}
.lc-calendar .modal-add-btn:hover{background:var(--blue);color:#fff}
@media(max-width:900px){
.lc-calendar .cal-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
.lc-calendar .cal-grid{grid-template-columns:1fr}
.lc-calendar .controls{flex-direction:column;align-items:stretch}
.lc-calendar .ctrl-group{flex-wrap:wrap}
.lc-calendar .ctrl-spacer{display:none}
.lc-calendar .upcoming-list{flex-direction:column}
.lc-calendar .upcoming-card{min-width:auto}
.lc-calendar .hero h1{font-size:1.5rem}
}

/* ── 13. LEARNING CENTER TOOLS IN THE TEMPLATE ──────────────────────────────────────────────────
   The tools' old centred heroes become the article head (kicker, ink heading, one line, a rule below),
   and their full-width sections sit in the reading column. Two-tone headings are one ink heading. */
.lc #hero,.lc .lc-col > .hero,.lc .lc-col .intro{padding:0 0 28px;margin:0 0 28px;background:none;border:0;border-bottom:1px solid var(--rule);border-radius:0;text-align:left;overflow:visible;box-shadow:none}
.lc #hero .hero-inner,.lc .lc-col > .hero .hero-inner{max-width:none;margin:0;text-align:left}
.lc .hero-badge,.lc .intro-badge{display:block;width:auto;background:none;border:0;border-radius:0;padding:0;box-shadow:none;margin:0 0 12px;font:700 .76rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.lc .lc-col h1{font-size:clamp(2rem,3.6vw,2.75rem);line-height:1.1;letter-spacing:-.022em;font-weight:800;color:var(--ink);margin:0 0 14px}
.lc .lc-col h1 span{color:inherit}
.lc .hero-sub,.lc #hero > .hero-inner > p,.lc .lc-col > .hero > p,.lc .lc-col .intro > p{font-size:1.1rem;line-height:1.6;color:var(--ink-2);max-width:36em;margin:0}
.lc .lc-col .section{padding:40px 0}
.lc .lc-col .section-inner{max-width:none;margin:0;padding:0}
.lc .lc-col .section-label{color:var(--ink-2)}
.lc .lc-col .section-title{font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.15;letter-spacing:-.02em;font-weight:800}
/* Tools that lay out wide tables and grids use the full width of the page */
.lc-index .lc-col,.lc-calendar .lc-col,.lc-state-guide .lc-col,.lc-careers .lc-col,.lc-checklists .lc-col,.lc-calculator .lc-col,.lc-glossary .lc-col{max-width:none}

/* ── 14. LEARNING CENTER TOOLS: per-page tuning ─────────────────────────────────────────────────── */
/* Landing: its badge is a sentence, not a label; one primary in the head; the catalog's cards act as links */
.lc-index .hero-badge{text-transform:none;letter-spacing:0;font-size:1.02rem;font-weight:600;line-height:1.45;color:var(--ink-2);max-width:42em}
.lc-index .hero-actions{justify-content:flex-start;margin:24px 0 28px}
.lc-index .hero-stats{margin:0;max-width:400px}
.lc-index .stat-item{padding:14px 12px}
.lc-index .stat-num{font-variant-numeric:tabular-nums}
.lc-index .course-card.featured::before{background:var(--accent)}
.lc-index .card-code{font-weight:700;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.lc-index .card-btn.primary{background:transparent;border:2px solid var(--blue);color:var(--accent);font-weight:700}
html[data-theme="dark"] .lc-index .card-btn.primary{border-color:var(--accent)}
.lc-index .card-btn.primary:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.lc-index #how-it-works,.lc-index #atd-cta{background:none;border:0}
.lc-index .track-header{background:var(--paper-2)}
/* Glossary and checklists: categories are labels, not colours */
.lc-glossary .course-xref{max-width:none;margin:18px 0 0;text-align:left}
.lc-glossary .cat-compliance,.lc-glossary .cat-insurance,.lc-glossary .cat-operations,.lc-glossary .cat-financial,.lc-glossary .cat-licensing,.lc-glossary .cat-california{background:var(--paper-2);color:var(--ink-2)}
.lc-checklists .card-cat[data-cat]{color:var(--ink-2)}
.lc-checklists .hero-stats{margin:22px 0 0;max-width:460px}
.lc-checklists .filters-inner{justify-content:flex-start}
.lc-checklists .grid-inner{max-width:none}
.lc-checklists .filters,.lc-checklists .grid{padding-left:0;padding-right:0}
/* Assessment: the intro sits in the article head's left edge */
.lc-assessment .intro{text-align:left}
.lc-assessment .intro-features{justify-content:flex-start}
@media (max-width:768px){.lc-assessment .intro-features{align-items:flex-start}}
/* Sticky parts sat under the old 60px sticky header; the v05 letterhead scrolls away, so they stick at the top */
.lc-careers .comp-table thead th{top:0}
.lc-glossary .controls{top:0;padding:14px 0;background:var(--paper)}
.lc-glossary .terms-section{padding:24px 0}
.lc-glossary .search-box{width:100%}   /* the field fills its row instead of sitting at the input's default width */
@media (max-width:768px){.lc-glossary .search-wrap{align-self:stretch}}
/* Calendar: five deadline categories need five marks a reader can tell apart. The plain token mapping left
   Federal and IFTA/IRP the same blue and put Insurance on --paper-2, invisible on the card. v05 colours only
   (blue, ink, grey, amber, red); each is at least 4.6:1 on the card in both themes. */
.lc-calendar{--cat-federal:var(--blue);--cat-ifta:var(--ink);--cat-insurance:var(--ink-3);--cat-state:var(--yellow);--cat-tax:var(--red-text)}
html[data-theme="dark"] .lc-calendar{--cat-federal:var(--accent)}
.lc-calendar .cat-federal,.lc-calendar .timeline-marker.m-federal{background:var(--cat-federal)}
.lc-calendar .cat-ifta,.lc-calendar .timeline-marker.m-ifta{background:var(--cat-ifta)}
.lc-calendar .cat-insurance,.lc-calendar .timeline-marker.m-insurance{background:var(--cat-insurance)}
.lc-calendar .cat-state,.lc-calendar .timeline-marker.m-state{background:var(--cat-state)}
.lc-calendar .cat-tax,.lc-calendar .timeline-marker.m-tax{background:var(--cat-tax)}
/* The tools' old page-width containers now sit inside the padded column: no second gutter */
.lc-calendar main.lc-col,.lc-advisor main.lc-col,.lc-calculator main.lc-col{padding:0 0 40px}
.lc-advisor .intro{padding-left:0;padding-right:0}
.lc-assessment .container{padding-left:0;padding-right:0;max-width:none}
.lc-state-guide .controls,.lc-state-guide .state-grid,.lc-state-guide #detail-panel,.lc-state-guide #compare-panel,.lc-state-guide .disclaimer{padding-left:0;padding-right:0}
.lc-state-guide #compare-panel{overflow-x:auto}
/* Calculator: its own head becomes the article head */
.lc-calculator .calc-hero{text-align:left;padding:0 0 28px;margin:0 0 28px;border-bottom:1px solid var(--rule)}
.lc-calculator .calc-badge{display:block;background:none;border:0;border-radius:0;padding:0;margin:0 0 12px;font:700 .76rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.lc-calculator .calc-hero p{margin:0;max-width:36em;font-size:1.1rem;line-height:1.6;color:var(--ink-2)}
.lc-calculator .stepper{justify-content:flex-start;margin:0 0 30px}

/* ── 10. PRINT ─────────────────────────────────────────────────────────────────────────────────
   Paper gets the document: the letterhead's name and mark, then the page. No nav, call bar, theme
   toggle, breadcrumb, contents list or footer; dark-theme tokens are reset so text prints black. */
@media print{
  :root,html[data-theme="dark"]{--paper:#fff;--paper-2:#fff;--card:#fff;--ink:#000;--ink-2:#222;--ink-3:#444;--rule:#999;--rule-soft:#bbb;--accent:#000;--red-text:#000;color-scheme:light}
  body{background:#fff;color:#000;font-size:11pt;line-height:1.5;padding:0!important}
  .letterhead{background:#fff!important;box-shadow:none;border-bottom:2px solid #000}
  .letterhead nav,.callbar,.theme-toggle,.crumbbar,.lc-toc,footer,.controls{display:none!important}
  .legal{padding:14pt 0 0}
  .legal-doc{max-width:none;padding:0}
  .legal-doc h1{font-size:22pt}
  .legal-doc h2{font-size:14pt;margin-top:20pt}
  h1,h2,h3{break-after:avoid;page-break-after:avoid}
  p,li{orphans:3;widows:3}
  a{color:#000!important}
  .js .reveal{opacity:1!important;transform:none!important}
}
