/* IfICantSpeak — theme "Lamplight"
   Deep harbor ink, warm paper, lamplight gold. Built for readers 50+:
   19px base type, generous spacing, high contrast everywhere.
   Cascade architecture (audited): flavor rules paint text on section
   descendants at (0,1,2); every light component re-paints its own text
   at (0,2,2)+ so a light panel can never inherit a dark section's ink. */

:root{
  --ink:#24313B;
  --ink-deep:#15222C;
  --ink-soft:#46565F;
  --paper:#FBF8F0;
  --alt:#F1EADA;
  --card:#FFFDF7;
  --line:#D9CFB8;
  --gold:#8A5A00;
  --gold-soft:#F2CE84;
  --lamp:#E9B44C;
  --rust:#96431C;
  --hero-help:#D9DEE2;
}

*{box-sizing:border-box}
html{font-size:19px}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.62;
}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.22;color:var(--ink)}
h1{font-size:2.35rem;margin:.2em 0 .45em}
h2{font-size:1.65rem;margin:0 0 .55em}
h3{font-size:1.22rem;margin:0 0 .45em}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.35em}
li{margin-bottom:.4em}
a{color:var(--rust)}
a:hover{text-decoration-thickness:2px}
.wrap{max-width:1060px;margin:0 auto;padding:0 22px}
section{padding:52px 0}
section.alt{background:var(--alt)}
section.dark{background:var(--ink-deep);color:var(--paper)}
section.hero{background:linear-gradient(160deg,#1B2B38 0%,var(--ink-deep) 62%);color:var(--paper);padding:58px 0 46px}
section.dark h1,section.dark h2,section.dark h3,section.dark p,section.dark li,
section.hero h1,section.hero h2,section.hero h3,section.hero p,section.hero li{color:var(--paper)}
section.dark a,section.hero a{color:var(--gold-soft)}
.tagline{font-size:1.16rem;max-width:34em}
.lede{font-size:1.12rem;max-width:38em}
.small{font-size:.88rem;color:var(--ink-soft)}
section.dark .small,section.hero .small{color:var(--hero-help)}

/* ---------- wordmark lockup: ONE lockup, identical everywhere ---------- */
.wm{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:1.28rem;letter-spacing:.01em;text-decoration:none;display:inline-block}
.wm .wm-1{color:var(--ink)}
.wm .wm-2{color:var(--gold)}
.wm .wm-3{color:var(--rust)}
.plate{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 18px;display:inline-block}

/* ---------- header / nav ---------- */
header{background:var(--paper);border-bottom:1px solid var(--line)}
.header-in{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding:16px 0}
nav.main{display:flex;flex-wrap:wrap;gap:6px 22px;margin-left:auto}
nav.main a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.98rem;padding:6px 2px}
nav.main a:hover{color:var(--rust);text-decoration:underline}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;background:var(--lamp);color:var(--ink);
  font-weight:700;font-size:1.02rem;text-decoration:none;
  padding:14px 26px;border-radius:10px;border:2px solid #C08F24;
  cursor:pointer;font-family:inherit;line-height:1.3;
}
.btn:hover{background:#F0C05C}
.buyrow{margin:4px 0 12px}
section.dark a.btn,section.dark button.btn,
section.hero a.btn,section.hero button.btn{background:var(--lamp);color:var(--ink)}
.card a.btn,.panel a.btn,.result a.btn,.lock-panel a.btn,.kitband a.btn{background:var(--lamp);color:var(--ink)}
.btn-quiet{background:transparent;border-color:var(--gold);color:var(--gold)}
section.dark a.btn-quiet,section.hero a.btn-quiet{background:transparent;color:var(--gold-soft);border-color:var(--gold-soft)}

/* ---------- kit band (ONLY under the completed test, on the test pages —
   balance rule: kit visible, checker never blocked) ---------- */
.kitband{background:var(--alt);border-top:3px solid var(--lamp);border-bottom:1px solid var(--line);padding:30px 0}
.kitband h2{margin-bottom:.3em}
.kitband p{color:var(--ink)}
.kitband .price{font-weight:700;color:var(--rust)}

/* ---------- light components (identical in every flavor) ---------- */
.card,.panel,.notice,.result,.lock-panel{
  background:var(--card);color:var(--ink);
  border:1px solid var(--line);border-radius:14px;padding:26px 28px;margin:0 0 22px;
}
.card h3,.card p,.card li,.card a,
.panel h3,.panel p,.panel li,
.notice h3,.notice p,.notice li,
.result h3,.result p,.result li,
.lock-panel h3,.lock-panel p,.lock-panel li{color:var(--ink)}
section.dark .card h3,section.dark .card p,section.dark .card li,
section.dark .panel h3,section.dark .panel p,section.dark .panel li,
section.dark .notice h3,section.dark .notice p,section.dark .notice li,
section.dark .result h3,section.dark .result p,section.dark .result li,
section.dark .lock-panel h3,section.dark .lock-panel p,section.dark .lock-panel li,
section.hero .card h3,section.hero .card p,section.hero .card li,
section.hero .panel h3,section.hero .panel p,section.hero .panel li,
section.hero .notice h3,section.hero .notice p,section.hero .notice li,
section.hero .result h3,section.hero .result p,section.hero .result li,
section.hero .lock-panel h3,section.hero .lock-panel p,section.hero .lock-panel li{color:var(--ink)}
section.dark .card a,section.dark .panel a,section.dark .notice a,
section.dark .result a,section.dark .lock-panel a,
section.hero .card a,section.hero .panel a,section.hero .notice a,
section.hero .result a,section.hero .lock-panel a{color:var(--rust)}
section.dark .card a.btn,section.dark .panel a.btn,section.dark .notice a.btn,
section.dark .result a.btn,section.dark .lock-panel a.btn,
section.hero .card a.btn,section.hero .panel a.btn,section.hero .notice a.btn,
section.hero .result a.btn,section.hero .lock-panel a.btn{background:var(--lamp);color:var(--ink)}
.lock-panel{border:2px dashed var(--gold)}
.lockline{font-weight:700;color:var(--gold)}
section.dark .lock-panel .lockline,section.hero .lock-panel .lockline{color:var(--gold)}
.notice{background:#F6EFDD}

/* ---------- the checker form ---------- */
form.tool{color:var(--ink)}
form.tool fieldset.q{
  border:1px solid var(--line);border-radius:12px;
  padding:20px 22px;margin:0 0 18px;background:transparent;
}
form.tool legend{font-weight:700;font-size:1.06rem;padding:0 6px;color:var(--ink)}
form.tool label{color:var(--ink)}
form.tool .qhelp{color:var(--ink-soft);font-size:.94rem;margin:.2em 0 .7em}
form.tool .opts{display:flex;flex-wrap:wrap;gap:10px 26px}
form.tool .opts label{
  font-size:1.02rem;display:inline-flex;align-items:center;gap:9px;
  padding:9px 14px;border:1px solid var(--line);border-radius:9px;cursor:pointer;background:var(--card);
}
form.tool input[type="radio"]{width:21px;height:21px;accent-color:var(--gold)}
section.dark form.tool,section.hero form.tool{color:var(--paper)}
section.dark form.tool legend,section.hero form.tool legend{color:var(--paper)}
section.dark form.tool label,section.hero form.tool label{color:var(--paper)}
section.dark form.tool .qhelp,section.hero form.tool .qhelp{color:var(--hero-help)}
section.dark form.tool .opts label,section.hero form.tool .opts label{color:var(--ink);background:var(--card);border-color:var(--line)}
.warn{
  background:#F9E8C9;color:var(--ink);border:1px solid var(--gold);
  border-radius:10px;padding:14px 18px;margin:0 0 18px;font-weight:600;
}
section.dark .warn,section.hero .warn{color:var(--ink)}

/* ---------- result panel ---------- */
.result-hours{font-family:Georgia,serif;font-size:2rem;font-weight:700;margin-bottom:.2em;color:var(--ink)}
section.dark .result .result-hours,section.hero .result .result-hours{color:var(--ink)}
.gaplist .gapsec{color:var(--ink-soft)}
section.dark .result .gapsec,section.hero .result .gapsec{color:var(--ink-soft)}

/* ---------- grids / cards row ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.grid .card{margin:0}

/* ---------- kit worksheets ---------- */
table.sheet{width:100%;border-collapse:collapse;margin:0 0 22px;background:var(--card)}
table.sheet th,table.sheet td{border:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:top;font-size:.97rem}
table.sheet th{background:var(--alt);color:var(--ink);font-weight:700}
table.sheet td.fill{height:44px}
table.sheet input[type="text"]{
  width:100%;border:none;border-bottom:1px solid var(--line);
  font:inherit;font-size:.97rem;background:transparent;color:var(--ink);padding:2px 0;
}
textarea.fillin{
  width:100%;min-height:96px;border:1px solid var(--line);border-radius:8px;
  font:inherit;font-size:.97rem;background:var(--card);color:var(--ink);padding:10px 12px;
}
.checkline{list-style:none;padding-left:0}
.checkline li{padding-left:1.7em;position:relative}
.checkline li::before{content:"☐";position:absolute;left:0;color:var(--gold);font-weight:700}
.railbox{
  background:#F6EFDD;border:1px solid var(--gold);border-radius:12px;
  padding:20px 24px;margin:0 0 24px;color:var(--ink);
}
.railbox p,.railbox li{color:var(--ink)}

/* ---------- footer ---------- */
footer{background:var(--ink-deep);color:var(--paper);padding:44px 0 34px;margin-top:0}
footer p,footer li{color:var(--paper)}
footer a{color:var(--gold-soft)}
footer .plate a{color:var(--rust)}
footer nav.foot{display:flex;flex-wrap:wrap;gap:8px 22px;margin:18px 0}
footer nav.foot a{text-decoration:none;font-weight:600}
.foot-note{font-size:.9rem;color:var(--hero-help)}

/* ---------- misc ---------- */
.crumb{font-size:.92rem;color:var(--ink-soft);margin-bottom:8px}
section.dark .crumb,section.hero .crumb{color:var(--hero-help)}
.kicker{font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;color:var(--gold);margin:0 0 .5em}
section.dark .kicker,section.hero .kicker{color:var(--gold-soft)}
[hidden]{display:none !important}
.toc{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px 26px;margin:0 0 26px}
.toc a{color:var(--rust)}

@media (max-width:760px){
  html{font-size:18px}
  h1{font-size:1.9rem}
  section{padding:38px 0}
  section.hero{padding:40px 0 30px}
  .header-in{gap:10px 16px}
  nav.main{gap:4px 16px;margin-left:0}
  nav.main a{font-size:.94rem;padding:8px 2px}
  .btn{display:inline-block;padding:14px 22px}
  table.sheet th,table.sheet td{padding:9px 8px;font-size:.92rem}
}

@media print{
  header,footer,.noprint{display:none !important}
  body{background:#fff}
  section{padding:10px 0}
  .card,.panel,.notice,.result,.lock-panel,.railbox,.toc{border-color:#999;break-inside:avoid}
  table.sheet{break-inside:avoid}
}
