/* TLS Pedagogy Prep — shared styles. Deep teal + sand/amber palette. */
:root{
  --teal:#0b4f4a; --teal-dark:#07332f; --teal-mid:#12736b;
  --sand:#f6efe1; --sand-dark:#eadfc6; --amber:#d99a2b; --amber-dark:#b57f1d;
  --ink:#1d2422; --muted:#5a6663; --line:#ddd3bd;
  --good:#1e7d46; --good-bg:#e7f4ec; --bad:#b3372f; --bad-bg:#fbeae8;
  --card:#ffffff; --radius:12px;
  --shadow:0 2px 10px rgba(7,51,47,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);background:#fbf9f4;line-height:1.55;font-size:16px}
a{color:var(--teal-mid)}
img{max-width:100%}
.wrap{max-width:1060px;margin:0 auto;padding:0 18px}

/* Header / nav */
.site-header{background:var(--teal-dark);position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}
.nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 18px;max-width:1060px;margin:0 auto}
.brand{color:#fff;font-weight:800;font-size:1.12rem;text-decoration:none;letter-spacing:.2px}
.brand span{color:var(--amber)}
.nav-links{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.nav-links a{color:#eaf3f1;text-decoration:none;padding:7px 10px;border-radius:8px;font-size:.95rem}
.nav-links a:hover,.nav-links a:focus{background:rgba(255,255,255,.12);color:#fff}
.nav details{position:relative}
.nav summary{color:#eaf3f1;cursor:pointer;padding:7px 10px;border-radius:8px;font-size:.95rem;list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav summary:hover{background:rgba(255,255,255,.12)}
.nav details .dropdown{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:var(--shadow);min-width:290px;padding:8px;z-index:60}
.nav details .dropdown a{display:block;color:var(--ink);padding:7px 9px;border-radius:7px}
.nav details .dropdown a:hover{background:var(--sand);color:var(--ink)}
.nav details .dropdown a small{color:var(--muted)}

/* Hero */
.hero{background:linear-gradient(160deg,var(--teal-dark),var(--teal) 60%,var(--teal-mid));color:#fff;padding:52px 0 44px}
.hero h1{font-size:2.15rem;line-height:1.18;margin:0 0 14px;max-width:760px}
.hero p.lede{font-size:1.13rem;max-width:720px;margin:0 0 18px;color:#eaf3f1}
.hero .badges{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 4px}
.badge{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:999px;
  padding:5px 12px;font-size:.86rem;color:#fff}
.trust{background:var(--sand);border-bottom:1px solid var(--sand-dark);padding:12px 0;font-size:.97rem}
.trust strong{color:var(--teal-dark)}

/* Sections & cards */
section{padding:34px 0}
h2{font-size:1.55rem;color:var(--teal-dark);margin:0 0 12px}
h3{color:var(--teal-dark)}
.grid{display:grid;gap:14px}
.grid.cols-2{grid-template-columns:1fr}
.grid.cols-3{grid-template-columns:1fr}
@media(min-width:720px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card h3{margin-top:0}
.muted{color:var(--muted)}
.small{font-size:.88rem}

/* Buttons */
.btn{display:inline-block;background:var(--amber);color:#231a05;font-weight:700;text-decoration:none;
  padding:12px 22px;border-radius:10px;border:0;cursor:pointer;font-size:1rem}
.btn:hover{background:var(--amber-dark);color:#fff}
.btn.teal{background:var(--teal);color:#fff}
.btn.teal:hover{background:var(--teal-mid)}
.btn.ghost{background:transparent;border:2px solid var(--teal);color:var(--teal)}
.btn.ghost:hover{background:var(--teal);color:#fff}
.btn[disabled]{opacity:.55;cursor:not-allowed}

/* Pricing */
.price-card{border:2px solid var(--amber);text-align:left}
.price{font-size:2.4rem;font-weight:800;color:var(--teal-dark)}
.price small{font-size:1rem;color:var(--muted);font-weight:600}
.price-card ul{padding-left:20px}
.price-card li{margin:6px 0}

/* Quiz */
.quiz{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}
.quiz-top{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.timer{font-variant-numeric:tabular-nums;font-weight:800;color:var(--teal-dark);background:var(--sand);
  border:1px solid var(--sand-dark);padding:5px 12px;border-radius:999px}
.timer.low{color:var(--bad);border-color:var(--bad)}
.progress{height:8px;background:var(--sand-dark);border-radius:99px;overflow:hidden;margin:8px 0 16px}
.progress>i{display:block;height:100%;background:var(--teal-mid);width:0;transition:width .3s}
.stem{font-size:1.08rem;font-weight:600;margin:0 0 14px}
.options{display:grid;gap:10px}
.option{display:flex;gap:10px;align-items:flex-start;text-align:left;width:100%;background:#fff;border:2px solid var(--line);
  border-radius:10px;padding:12px 14px;cursor:pointer;font-size:1rem;color:var(--ink)}
.option:hover{border-color:var(--teal-mid)}
.option .letter{font-weight:800;color:var(--teal);min-width:22px}
.option.correct{border-color:var(--good);background:var(--good-bg)}
.option.wrong{border-color:var(--bad);background:var(--bad-bg)}
.option.reveal-correct{border-color:var(--good);background:var(--good-bg)}
.option[disabled]{cursor:default;opacity:.92}
.feedback{margin-top:14px;border-radius:10px;padding:14px 16px;display:none}
.feedback.show{display:block}
.feedback.ok{background:var(--good-bg);border:1px solid var(--good)}
.feedback.no{background:var(--bad-bg);border:1px solid var(--bad)}
.feedback h4{margin:0 0 6px}
.feedback ul{margin:6px 0 0;padding-left:20px}
.quiz-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap}
.score-big{font-size:2rem;font-weight:800;color:var(--teal-dark)}
.review-item{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:10px 0;background:#fff}
.review-item summary{cursor:pointer;font-weight:700}

/* Gate */
.gate{background:var(--sand);border:2px dashed var(--amber);border-radius:var(--radius);padding:22px;text-align:center}
.gate input{padding:11px 12px;border:2px solid var(--line);border-radius:9px;font-size:1rem;max-width:280px;width:100%}
.gate .row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.msg{margin-top:10px;font-weight:600}
.msg.err{color:var(--bad)} .msg.ok{color:var(--good)}

/* Domain list */
.domain-card a.title{font-weight:700;font-size:1.05rem;color:var(--teal-dark);text-decoration:none}
.domain-card a.title:hover{text-decoration:underline}
.count-chip{background:var(--sand);border:1px solid var(--sand-dark);border-radius:999px;padding:2px 10px;font-size:.82rem;font-weight:700;color:var(--teal-dark)}

/* FAQ */
.faq-item{border-bottom:1px solid var(--line);padding:14px 0}
.faq-item h3{margin:0 0 6px;font-size:1.08rem}
.faq-item p{margin:0}

/* Footer */
.site-footer{background:var(--teal-dark);color:#cfe0dc;margin-top:20px;padding:28px 0;font-size:.92rem}
.site-footer a{color:#fff}
.site-footer .cols{display:flex;gap:26px;flex-wrap:wrap;justify-content:space-between}

.notice{background:#fff7e6;border:1px solid var(--amber);border-radius:10px;padding:12px 14px}
.hidden{display:none!important}
.center{text-align:center}
