/* Generated by scripts/learning-hub/build.py: edit assets/learn.css and the site config. */
:root{
  --lc-accent:#f2a900;
  --lc-link:#8a5c00;
  --lc-ink:#1d1d1f;
  --lc-body:#424245;
  --lc-muted:#6e6e73;
  --lc-bg:#f5f5f7;
  --lc-tint:rgba(242,169,0,.11);
}
/* Free learning center: lessons, quizzes, guides, tools, checklists, glossary.
   Builds on the site's own styles.css; only --lc-* tokens differ per site. */
:root{
  --lc-surface:#fff;
  --lc-line:rgba(0,0,0,.09);
  --lc-ok:#1a7f37;
  --lc-ok-bg:#e9f6ec;
  --lc-bad:#c62828;
  --lc-bad-bg:#fdecec;
  --lc-warn:#9a5b00;
  --lc-warn-bg:#fff5e0;
  --lc-info:#1f5fa8;
  --lc-info-bg:#eaf2fb;
  --lc-r:18px;
  --lc-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05);
}

[data-quiz] [hidden],.lc-article [hidden],.lc-tool [hidden]{display:none !important;}

/* ---------- hero additions ---------- */
.lc-crumbs{font-size:.84rem;margin:0 0 14px;color:rgba(255,255,255,.78);}
.lc-crumbs a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.lc-crumbs a:hover{color:#fff;}
.lc-crumbs span[aria-current]{color:#fff;}
.lc-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;list-style:none;padding:0;margin:20px 0 0;}
.lc-chips li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);color:#fff;padding:6px 13px;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.3;}
.lc-hero .hero-cta-row{margin-top:22px;}

/* ---------- layout ---------- */
.lc-body{background:var(--lc-bg);padding-top:44px;padding-bottom:64px;}
.lc-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:32px;align-items:start;}
.lc-article{background:var(--lc-surface);border-radius:22px;padding:clamp(22px,4.2vw,52px);box-shadow:var(--lc-shadow);min-width:0;}
.lc-aside{position:sticky;top:96px;display:flex;flex-direction:column;gap:16px;min-width:0;}
.lc-side-card{background:var(--lc-surface);border-radius:var(--lc-r);padding:20px 22px;box-shadow:var(--lc-shadow);font-size:.92rem;line-height:1.55;color:var(--lc-body);}
.lc-side-card p{margin:0 0 10px;}
.lc-side-card .btn{width:100%;justify-content:center;text-align:center;margin-top:4px;}
.lc-side-title{font-weight:700;color:var(--lc-ink);font-size:1.02rem;line-height:1.35;}
.lc-side-link{display:block;margin-top:12px;font-size:.88rem;color:var(--lc-link);text-decoration:underline;text-underline-offset:2px;}
.lc-price{font-size:1.5rem;font-weight:700;color:var(--lc-ink);}
.lc-price span{font-size:.82rem;font-weight:500;color:var(--lc-muted);}
.lc-toc ol,.lc-toc-m ol,.lc-mini-list{margin:0;padding-left:1.2em;}
.lc-toc li,.lc-toc-m li,.lc-mini-list li{margin:0 0 6px;font-size:.88rem;line-height:1.4;}
.lc-toc a,.lc-toc-m a,.lc-mini-list a{color:var(--lc-body);text-decoration:none;}
.lc-toc a:hover,.lc-toc a.is-active,.lc-mini-list a:hover{color:var(--lc-link);text-decoration:underline;}
.lc-toc a.is-active{font-weight:600;}
.lc-toc-m{display:none;border:1px solid var(--lc-line);border-radius:14px;padding:12px 16px;margin:0 0 24px;}
.lc-toc-m summary{cursor:pointer;font-weight:700;color:var(--lc-ink);}
.lc-toc-m ol{margin-top:10px;}
.lc-kicker{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--lc-link);margin:0 0 8px;}

@media (max-width:980px){
  .lc-layout{grid-template-columns:1fr;}
  .lc-aside{position:static;}
  .lc-aside .lc-toc{display:none;}
  .lc-toc-m{display:block;}
}

/* ---------- prose ---------- */
.lc-prose{color:var(--lc-body);font-size:1.02rem;line-height:1.72;}
.lc-prose > *:first-child{margin-top:0;}
.lc-prose h2{font-size:clamp(1.3rem,2.3vw,1.62rem);line-height:1.25;color:var(--lc-ink);margin:2.1em 0 .6em;letter-spacing:-.01em;scroll-margin-top:100px;}
.lc-prose h3{font-size:1.14rem;line-height:1.35;color:var(--lc-ink);margin:1.7em 0 .5em;scroll-margin-top:100px;}
.lc-prose p{margin:0 0 1em;}
.lc-prose ul,.lc-prose ol{margin:0 0 1.2em;padding-left:1.35em;}
.lc-prose ul{list-style:disc;}
.lc-prose ol{list-style:decimal;}
.lc-prose ul.lc-check,.lc-toc ol,.lc-toc-m ol{list-style:none;}
.lc-toc ol,.lc-toc-m ol{padding-left:0;}
.lc-prose li{margin:0 0 .45em;}
.lc-prose a:not(.btn){color:var(--lc-link);text-decoration:underline;text-underline-offset:2px;}
.lc-prose .lc-pager a{color:var(--lc-ink);text-decoration:none;}
.lc-prose strong{color:var(--lc-ink);}
.lc-prose code{font-family:ui-monospace,Menlo,monospace;font-size:.9em;background:var(--lc-bg);padding:1px 5px;border-radius:5px;}
.lc-table-wrap{overflow-x:auto;margin:1.4em 0;border:1px solid var(--lc-line);border-radius:14px;-webkit-overflow-scrolling:touch;}
.lc-table-wrap table{width:100%;border-collapse:collapse;font-size:.93rem;line-height:1.5;min-width:480px;}
.lc-table-wrap th,.lc-table-wrap td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--lc-line);}
.lc-table-wrap thead th{background:var(--lc-bg);color:var(--lc-ink);font-weight:700;font-size:.86rem;}
.lc-table-wrap tbody tr:last-child td,.lc-table-wrap tbody tr:last-child th{border-bottom:0;}
.lc-table-wrap tbody th{color:var(--lc-ink);font-weight:600;}
.lc-figure{margin:1.6em 0;text-align:center;}
.lc-figure svg{max-width:100%;height:auto;}
.lc-figure figcaption{font-size:.86rem;color:var(--lc-muted);margin-top:8px;}

/* ---------- callouts ---------- */
.lc-callout{border-left:4px solid var(--lc-info);background:var(--lc-info-bg);border-radius:0 14px 14px 0;padding:16px 20px;margin:1.5em 0;}
.lc-callout p:last-child,.lc-callout ul:last-child{margin-bottom:0;}
.lc-callout__title{font-weight:700;color:var(--lc-ink);margin:0 0 6px !important;font-size:.95rem;}
.lc-callout--tip{border-color:var(--lc-ok);background:var(--lc-ok-bg);}
.lc-callout--warn{border-color:var(--lc-bad);background:var(--lc-bad-bg);}
.lc-callout--law{border-color:var(--lc-accent);background:var(--lc-tint);}
.lc-callout--key{border-color:var(--lc-accent);background:var(--lc-tint);}
.lc-callout--example{border-color:#6b4fbb;background:#f2eefb;}
.lc-callout--myth{border-color:var(--lc-warn);background:var(--lc-warn-bg);}

/* ---------- lesson blocks ---------- */
.lc-objectives{background:var(--lc-tint);border-radius:16px;padding:20px 24px;margin:0 0 1.8em;}
.lc-objectives h2{margin:0 0 .5em;font-size:1.2rem;}
.lc-objectives ul{margin:0;}
.lc-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:2.4em 0 0;}
.lc-pager a{display:block;border:1px solid var(--lc-line);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--lc-ink);font-weight:600;line-height:1.35;}
.lc-pager a:hover{border-color:var(--lc-link);}
.lc-pager span{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--lc-muted);margin-bottom:4px;}
.lc-pager__next{text-align:right;}
.lc-related,.lc-sources{margin-top:2.4em;padding-top:1.4em;border-top:1px solid var(--lc-line);}
.lc-related h2,.lc-sources h2{font-size:1.1rem;margin:0 0 .6em;}
.lc-sources li{font-size:.92rem;}
.lc-reviewed{margin-top:2em;font-size:.84rem;color:var(--lc-muted);line-height:1.55;}

/* ---------- quiz ---------- */
.lc-quiz{margin:2.6em 0 0;border:2px solid var(--lc-line);border-radius:22px;padding:clamp(18px,3.5vw,34px);background:var(--lc-surface);scroll-margin-top:90px;}
.lc-quiz-head h2{margin:0 0 .35em;}
.lc-quiz-head p{color:var(--lc-muted);font-size:.95rem;}
.lc-quiz-form{counter-reset:lcq;}
.lc-q{border:0;margin:0 0 26px;padding:0;min-width:0;}
.lc-q[hidden]{display:none;}
.lc-q legend{font-weight:700;color:var(--lc-ink);font-size:1.03rem;line-height:1.45;margin:0 0 12px;padding:0;}
.lc-qn{display:block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--lc-link);margin-bottom:4px;}
.lc-opts{display:grid;gap:8px;}
.lc-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1.5px solid var(--lc-line);border-radius:12px;cursor:pointer;background:var(--lc-surface);font-size:.97rem;line-height:1.5;transition:border-color .15s,background .15s;}
.lc-opt:hover{border-color:var(--lc-link);}
.lc-opt input{margin:4px 0 0;flex:none;width:18px;height:18px;accent-color:var(--lc-link);}
.lc-opt:has(input:checked){border-color:var(--lc-link);background:var(--lc-tint);}
.lc-opt:has(input:focus-visible){outline:3px solid var(--lc-link);outline-offset:2px;}
.lc-q.is-graded .lc-opt{cursor:default;}
.lc-opt.is-right{border-color:var(--lc-ok) !important;background:var(--lc-ok-bg) !important;}
.lc-opt.is-wrong{border-color:var(--lc-bad) !important;background:var(--lc-bad-bg) !important;}
.lc-opt.is-right span::after{content:" \2713  Correct";font-weight:700;color:var(--lc-ok);white-space:nowrap;}
.lc-opt.is-wrong span::after{content:" \2717  Your answer";font-weight:700;color:var(--lc-bad);white-space:nowrap;}
.lc-explain{margin-top:10px;padding:12px 16px;border-radius:12px;background:var(--lc-bg);font-size:.93rem;line-height:1.6;}
.lc-explain p{margin:0 0 6px;}
.lc-explain p:last-child{margin:0;}
.lc-q.is-unanswered legend::after{content:"Not answered";display:inline-block;margin-left:8px;font-size:.72rem;font-weight:700;color:var(--lc-warn);background:var(--lc-warn-bg);padding:2px 8px;border-radius:999px;vertical-align:2px;}
.lc-quiz-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:8px;}
.lc-progress{font-size:.88rem;color:var(--lc-muted);}
.lc-result{margin-top:20px;border-radius:16px;padding:20px 22px;background:var(--lc-bg);}
.lc-result.is-pass{background:var(--lc-ok-bg);}
.lc-result.is-fail{background:var(--lc-warn-bg);}
.lc-score{font-size:2rem;font-weight:800;color:var(--lc-ink);line-height:1.1;margin:0 0 6px;}
.lc-result p{margin:0 0 8px;}
.lc-result .btn{margin:6px 8px 0 0;}
.lc-practice-bar{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 6px;}

/* ---------- cards and hubs ---------- */
.lc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.lc-card{display:flex;flex-direction:column;background:var(--lc-surface);border:1px solid var(--lc-line);border-radius:var(--lc-r);padding:22px 22px 20px;box-shadow:var(--lc-shadow);text-decoration:none;color:var(--lc-body);transition:transform .2s,box-shadow .2s,border-color .2s;}
.lc-card:hover{transform:translateY(-2px);border-color:var(--lc-link);box-shadow:0 12px 32px rgba(0,0,0,.09);}
.lc-card h3{font-size:1.06rem;line-height:1.35;color:var(--lc-ink);margin:0 0 8px;}
.lc-card p{font-size:.92rem;line-height:1.55;margin:0 0 12px;flex:1;}
.lc-card-meta{font-size:.8rem;font-weight:600;color:var(--lc-muted);}
.lc-hub-practice{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-top:28px;background:var(--lc-surface);border:2px solid var(--lc-accent);border-radius:22px;padding:24px 28px;}
.lc-hub-practice h3{margin:0 0 6px;color:var(--lc-ink);}
.lc-hub-practice p{margin:0;color:var(--lc-body);}
.lc-more{text-align:center;margin-top:22px;}
.lc-more a{color:var(--lc-link);font-weight:600;}
.lc-center{justify-content:center;margin-top:28px;}
.lc-compare{max-width:860px;margin:0 auto;background:var(--lc-surface);}
.lc-home .lc-grid{margin-top:8px;}
.lc-faq .faq-list{max-width:820px;margin:0 auto;}

/* ---------- checklists ---------- */
.lc-checkbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 20px;}
.lc-check-count{font-size:.9rem;color:var(--lc-muted);}
.lc-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 24px;margin:0 0 24px;padding:16px 18px;border:1px solid var(--lc-line);border-radius:14px;}
.lc-field-line{display:flex;gap:8px;align-items:flex-end;font-size:.88rem;font-weight:600;color:var(--lc-ink);}
.lc-line{flex:1;border-bottom:1px solid #999;min-height:1.2em;}
.lc-check{list-style:none;padding:0 !important;margin:0 0 1.4em;}
.lc-check li{margin:0 0 6px;}
.lc-check label{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--lc-line);border-radius:10px;cursor:pointer;line-height:1.5;}
.lc-check input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:var(--lc-ok);}
.lc-check label:has(input:checked){background:var(--lc-ok-bg);border-color:var(--lc-ok);}

/* ---------- tools ---------- */
.lc-tool{border:2px solid var(--lc-accent);border-radius:22px;padding:clamp(18px,3.5vw,30px);margin:1.6em 0 2em;background:var(--lc-surface);}
.lc-tool h2{margin-top:0;}
.lc-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 18px;margin:0 0 18px;}
.lc-form label{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600;color:var(--lc-ink);}
.lc-form .lc-hint{font-weight:400;color:var(--lc-muted);font-size:.8rem;}
.lc-form input,.lc-form select,.lc-gloss-search input{font:inherit;font-size:1rem;padding:10px 12px;border:1.5px solid var(--lc-line);border-radius:10px;background:#fff;color:var(--lc-ink);width:100%;box-sizing:border-box;}
.lc-form input:focus,.lc-form select:focus,.lc-gloss-search input:focus{outline:none;border-color:var(--lc-link);box-shadow:0 0 0 3px var(--lc-tint);}
.lc-form fieldset{border:1px solid var(--lc-line);border-radius:12px;padding:12px 14px;grid-column:1/-1;margin:0;}
.lc-form legend{font-weight:700;font-size:.9rem;color:var(--lc-ink);padding:0 4px;}
.lc-form .lc-radio{flex-direction:row;align-items:flex-start;gap:8px;font-weight:500;margin:6px 0;}
.lc-form .lc-radio input{width:auto;margin-top:4px;}
.lc-out{border-radius:16px;background:var(--lc-bg);padding:18px 20px;font-size:.97rem;line-height:1.6;}
.lc-out[hidden]{display:none;}
.lc-out h3{margin:0 0 8px;font-size:1.05rem;}
.lc-out ul{margin:0 0 8px;}
.lc-out .lc-big{font-size:1.7rem;font-weight:800;color:var(--lc-ink);line-height:1.2;display:block;margin:2px 0 6px;}
.lc-out.is-ok{background:var(--lc-ok-bg);}
.lc-out.is-bad{background:var(--lc-bad-bg);}
.lc-out.is-warn{background:var(--lc-warn-bg);}
.lc-pill{display:inline-block;font-size:.78rem;font-weight:700;padding:2px 10px;border-radius:999px;margin-left:6px;}
.lc-pill.ok{background:var(--lc-ok);color:#fff;}
.lc-pill.bad{background:var(--lc-bad);color:#fff;}
.lc-pill.warn{background:var(--lc-warn);color:#fff;}
.lc-steps{counter-reset:lcs;}
.lc-step[hidden]{display:none;}
.lc-step p.lc-qtext{font-weight:700;color:var(--lc-ink);font-size:1.05rem;}
.lc-step .lc-btns{display:flex;flex-wrap:wrap;gap:10px;}

/* ---------- glossary ---------- */
.lc-az{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;}
.lc-az a{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:9px;border:1px solid var(--lc-line);text-decoration:none;font-weight:700;color:var(--lc-ink);}
.lc-az a:hover{border-color:var(--lc-link);color:var(--lc-link);}
.lc-gloss-search{margin:0 0 10px;}
.lc-gloss-search label{display:block;font-weight:700;font-size:.88rem;color:var(--lc-ink);margin-bottom:6px;}
.lc-gloss{margin:0 0 1em;}
.lc-term{padding:12px 0;border-bottom:1px solid var(--lc-line);scroll-margin-top:100px;}
.lc-term:target{background:var(--lc-tint);border-radius:10px;padding:12px;}
.lc-term dt{font-weight:700;color:var(--lc-ink);margin:0 0 4px;}
.lc-term dd{margin:0;}
.lc-term[hidden]{display:none;}

/* ---------- print (checklists and permits) ---------- */
@media print{
  .site-header,.site-footer,.lc-aside,.final-cta,.lc-faq,.lc-noprint,.mode-toggle,.skip-link,.lc-related,.lc-quiz,#tawkchat-container,.lc-crumbs,.lc-chips,.lc-hero .hero-cta-row,.lc-hero .eyebrow{display:none !important;}
  .lc-hero{background:none !important;min-height:0 !important;padding:0 0 10pt !important;}
  .lc-hero::before,.lc-hero::after{display:none !important;}
  .lc-hero .hero-copy{background:none !important;box-shadow:none !important;border:0 !important;padding:0 !important;backdrop-filter:none !important;}
  .lc-hero h1,.lc-hero .hero-lead{color:#000 !important;text-align:left !important;}
  .lc-hero h1{font-size:18pt !important;}
  .lc-hero .hero-lead{font-size:10pt !important;}
  .lc-body{padding:0;background:#fff;}
  .lc-layout{display:block;}
  .lc-article{box-shadow:none;padding:0;border-radius:0;}
  .lc-check label{border:0;padding:3px 0;}
  .lc-check label:has(input:checked){background:none;}
  .lc-prose{font-size:11pt;line-height:1.45;}
  .lc-prose h2{font-size:13pt;margin:14pt 0 6pt;}
  .lc-table-wrap{border:0;overflow:visible;}
  .lc-table-wrap table{min-width:0;}
  a{color:#000 !important;text-decoration:none !important;}
}
@media (prefers-reduced-motion:reduce){.lc-card{transition:none;}.lc-card:hover{transform:none;}}
.lc-small{font-size:.84rem;color:var(--lc-muted);}
