/* SEAG Answers - shared styles (station 29, 27 Oct 2026).
   WHY one shared file rather than styles inside each page (the rest of the site's habit):
   there will be 60 to 100+ answer pages. One file means a colour fix is one edit, and a
   parent's phone downloads it once, then every other answer opens faster.
   Colours are the house palette from the live pages (navy, amber, green). */

:root{--navy:#1f2d3c;--navy2:#26374a;--amber:#f7d850;--green:#14783a;
      --bg:#eef1f4;--card:#fff;--ink:#22303c;--mut:#5f6f80;--line:#e2e8ee;
      --cream:#fdf3e1;--creamline:#eccf8a;--mint:#e6f3ea}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
     background:var(--bg);color:var(--ink);line-height:1.6;font-size:17px}
a{color:var(--navy)}
img{max-width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:8px;z-index:50;background:#fff;padding:8px 12px;border-radius:8px}
:focus-visible{outline:3px solid #1d6fd6;outline-offset:2px}
.muted{color:var(--mut)}
.small{font-size:14px}

/* Staging only: so nobody mistakes a draft for the live page */
.draftbar{background:#b3261e;color:#fff;text-align:center;font-size:14px;font-weight:600;padding:6px 12px}

/* Header: the navy bar, then the breadcrumb and the search that stays with you */
header.top{background:var(--navy);color:#fff;position:sticky;top:0;z-index:20}
.bar{display:flex;align-items:center;gap:14px;min-height:60px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-weight:700;letter-spacing:.6px}
.logo img{height:28px;width:auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:14.5px}
.nav a{color:#d6dee6;text-decoration:none}
.nav a.on{color:#fff;font-weight:700;border-bottom:2px solid var(--amber);padding-bottom:3px}
.nav a.ask{background:var(--amber);color:#2c2400;font-weight:700;padding:8px 16px;border-radius:999px}
.sub{background:var(--navy2)}
.subbar{display:flex;align-items:center;gap:16px;min-height:56px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.crumbs{font-size:14px;color:#c9d3dd}
.crumbs a{color:#c9d3dd;text-decoration:none}
.crumbs span{color:#fff;font-weight:600}
.search{margin-left:auto;position:relative;width:min(100%,360px)}
.search input{width:100%;font:inherit;font-size:15px;padding:10px 14px 10px 38px;border-radius:8px;border:0;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235f6f80' stroke-width='2'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l4 4'/%3E%3C/svg%3E") 13px 50% no-repeat}
.results{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;color:var(--ink);border-radius:10px;
  box-shadow:0 10px 30px rgba(0,0,0,.18);max-height:70vh;overflow:auto;z-index:30}
.results a{display:block;padding:11px 14px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink)}
.results a[aria-selected="true"],.results a:hover{background:#f1f5f9}
.results .rq{font-weight:600;font-size:15px}
.results .ra{font-size:14px;color:var(--mut);display:block}
.results .none{padding:14px;font-size:14.5px}

/* Two columns on a desk, one on a phone */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;padding-top:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px}
.article{padding:30px 34px 34px}
.chips{margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:14px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.c-stage{background:#e7eef6;color:#26374a}.c-cat{background:var(--mint);color:#14592c}.c-door{background:#fbf0d2;color:#7a5a00}
h1{font-size:32px;line-height:1.18;margin:4px 0 12px;letter-spacing:-.3px}
h2{font-size:22px;line-height:1.25;margin:30px 0 8px}
.byline{display:flex;align-items:center;gap:9px;font-size:14px;color:var(--mut);margin:0 0 20px}
.byline img{width:34px;height:34px;border-radius:50%;object-fit:cover}
.kicker{font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#8a6600;margin:0 0 6px}
.kicker.grey{color:var(--mut)}
.short-answer{background:var(--mint);border-left:5px solid var(--green);border-radius:10px;padding:18px 22px}
.short-answer .kicker{color:var(--green)}
.short-answer p{font-size:18px;margin:0 0 8px}.short-answer p.kicker{font-size:14px}.short-answer p:last-child{margin:0}
.body ul{padding-left:22px}.body li{margin:4px 0}
.body table{border-collapse:collapse;width:100%;font-size:15px}
.body th,.body td{border:1px solid var(--line);padding:7px 10px;text-align:left}

.tip{display:flex;gap:16px;background:var(--cream);border:1px solid var(--creamline);border-radius:14px;padding:20px 22px;margin:30px 0}
.tip-photo{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 56px}
.tip h2{font-size:19px;margin:0 0 8px}
.tip p{margin:0 0 8px}
.say{background:#fff;border-left:4px solid var(--amber);border-radius:8px;margin:8px 0;padding:10px 14px;font-weight:600}
.tip-sign{font-size:14px;color:var(--mut);margin-top:10px!important}

.video{display:flex;gap:18px;background:#f1f4f7;border-radius:14px;padding:16px;margin:26px 0;align-items:center}
.vthumb{position:relative;border:0;padding:0;border-radius:10px;overflow:hidden;width:160px;flex:0 0 160px;cursor:pointer;background:var(--navy)}
.vthumb .play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;color:#fff}

.related ul{list-style:none;padding:0;margin:0}
.related li{border-bottom:1px solid var(--line)}
.related a{display:block;padding:12px 4px;text-decoration:none;font-weight:600}
.related a::after{content:" \203A";color:var(--mut)}

.checked{background:#f3f5f8;border-radius:10px;padding:14px 18px;margin:26px 0;font-size:14.5px}
.checked p{margin:0 0 6px}.checked ul{margin:4px 0 0;padding-left:20px}

.cta{display:flex;gap:18px;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--navy2),var(--navy));
     color:#fff;border-radius:14px;padding:24px 26px;margin-top:26px}
.cta h2{margin:0 0 6px;color:#fff}.cta p{margin:0;color:#d3dbe4}.cta .kicker{color:var(--amber)}
.btn{display:inline-block;background:var(--amber);color:#2c2400;font-weight:700;text-decoration:none;padding:12px 20px;border-radius:10px;white-space:nowrap}
.btn.dark{background:var(--navy);color:#fff}

.side{display:flex;flex-direction:column;gap:16px;position:sticky;top:130px}
.side-box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:14px}
.side-box ul{list-style:none;margin:0;padding:0}
.side-box li{margin:6px 0}
.side-box a{text-decoration:none}
.toc ul{border-left:2px solid var(--line);padding-left:10px}
.side-cta{background:var(--navy);color:#fff;border-radius:14px;padding:18px}
.side-cta h3{margin:0 0 6px;font-size:18px}.side-cta p{color:#d3dbe4;font-size:14px;margin:0 0 12px}
.side-cta .kicker{color:var(--amber)}.side-cta .btn{display:block;text-align:center}

.didnt{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--cream);border:1px solid var(--creamline);
       border-radius:14px;padding:18px 22px;margin:26px 0}
.didnt h2{margin:0;font-size:18px}.didnt p{margin:2px 0 0;color:var(--mut)}

ul.all{padding-left:20px}ul.all li{margin:6px 0}

.foot{background:var(--navy);color:#c6d0da;margin-top:30px;padding:24px 0}
.footbar{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:14px}
.footbar p{margin:0}.foot nav{display:flex;gap:18px}.foot a{color:#c6d0da;text-decoration:none}
.foot .small{color:#93a3b4;margin-top:12px}

/* Phones: one column, big tap targets, 17px text (most parents arrive from Facebook on a phone) */
@media (max-width:860px){
  .layout{grid-template-columns:1fr}
  .side{position:static}
  .side .toc,.side .side-cta{display:none}   /* the same offer sits at the foot of the answer */
  .nav a:not(.ask){display:none}           /* phone: just the logo and Ask Sam, as in the phone mock-up */
  .logo span{font-size:15px}
  .nav a.ask{padding:7px 14px;font-size:14px}
  .search{width:100%;margin-left:0}
  .article{padding:20px 18px 24px}
  h1{font-size:26px}
  .cta,.didnt{flex-direction:column;align-items:flex-start}
  .tip{flex-direction:column}
  .video{flex-direction:column;align-items:flex-start}
}

/* Ask Sam page */
.askpage{max-width:720px;margin:22px auto 0}
.notyet{background:#fff4f2;border:1.5px solid #b3261e;border-radius:10px;padding:10px 14px;font-size:14.5px}
.fld{margin:0 0 16px}
.fld label{display:block;font-weight:600;font-size:15px;margin-bottom:5px}
.fld .opt{font-weight:400;color:var(--mut)}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;font-size:16px;padding:11px 13px;border:1.5px solid #cbd8e3;border-radius:10px;background:#fff;color:var(--ink)}
.fld textarea{min-height:110px;resize:vertical}
.fld .hint{font-size:14px;color:var(--mut);margin:5px 0 0}
.fld.tick{display:flex;gap:10px;align-items:flex-start}
.fld.tick input{width:22px;height:22px;flex:0 0 22px;margin-top:2px}
.fld.tick label{font-weight:400;font-size:14.5px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.btn[disabled]{background:#9aa8b6;cursor:default}

/* ---------- Hub pages: home, Start here, stages, doors (29 Oct) ---------- */
.narrow{max-width:900px}
.lead{font-size:18px;color:var(--mut);margin:0 0 14px}
.qlist{list-style:none;padding:0;margin:0 0 10px}
.qlist li{border-bottom:1px solid var(--line)}
.qlist a{display:block;padding:12px 4px;text-decoration:none;font-weight:600}
.qlist a::after{content:" \203A";color:var(--mut)}
.matters{background:var(--mint);border-left:5px solid var(--green);border-radius:10px;padding:14px 20px;margin:18px 0}
.matters h2{margin:0 0 6px;font-size:18px}.matters ul{margin:0;padding-left:20px}
.back{margin-top:22px;font-size:14.5px}
main > .wrap > .card.article{margin-top:22px}

.hero{background:linear-gradient(180deg,var(--navy2),var(--navy));color:#fff;padding:44px 0 90px}
.hero.small{padding:30px 0 34px}
.hero .center{text-align:center}
.hero h1{font-size:44px;line-height:1.1;margin:12px 0}
.hero h1 span{color:var(--amber);display:block}
.hero.small h1{font-size:34px}
.hero .lead{color:#d3dbe4;max-width:640px;margin:0 auto 6px}
.hero.small p{color:#d3dbe4;max-width:640px}
.hero .by{color:#9fb0c2;font-size:14px}
.badge{display:inline-block;background:var(--amber);color:#2c2400;font-size:14px;font-weight:700;letter-spacing:1px;
       text-transform:uppercase;padding:5px 12px;border-radius:999px;margin:0;vertical-align:middle}
h2 .badge{font-size:14px;padding:3px 9px;margin-left:8px}
.search.big{width:min(100%,600px);margin:22px auto 0;display:flex;gap:8px;background:#fff;border-radius:12px;padding:6px}
.search.big input{flex:1;font-size:17px;padding:12px 14px 12px 40px}
.search.big .results{text-align:left}
.herobtns{margin:22px 0 10px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn.ghost{background:transparent;border:1.5px solid #6d8098;color:#fff}
.hchips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:8px 0 0}
.hchip{border:1px solid #4b5f74;background:#2b3d51;color:#dbe3ea;border-radius:999px;padding:6px 13px;font-size:14px;text-decoration:none}

.doors{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-60px}
.door{padding:22px}
.door h2{margin:12px 0 4px;font-size:20px}
.dicon{display:flex;width:44px;height:44px;border-radius:10px;background:#eaf0f6;align-items:center;justify-content:center;font-size:22px;object-fit:cover}
img.dicon{border-radius:50%}
.doorlist{list-style:none;padding:0;margin:12px 0}
.doorlist li{border-top:1px solid var(--line)}
.doorlist a{display:block;padding:9px 0;text-decoration:none;font-size:14.5px}
.dall{font-weight:700;text-decoration:none;font-size:14.5px}

.restile{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;margin:22px 0;text-decoration:none;color:var(--ink)}
.restile h2{margin:0 0 4px}
.popular{margin:34px 0}
.popular > h2{margin:0}
.popgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.pop{padding:16px 18px;text-decoration:none;color:var(--ink)}
.pop h3{font-size:16px;margin:10px 0 6px}
.pop p{font-size:14px;margin:0}
.who{display:flex;gap:22px;align-items:center;padding:24px;margin:26px 0}
.who img{width:120px;height:120px;border-radius:12px;object-fit:cover;flex:0 0 120px}
.whoq{font-size:19px;margin:0 0 8px}

.tabs{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:116px;z-index:5}
.tabs .wrap{display:flex;gap:8px;overflow-x:auto;padding-top:10px;padding-bottom:10px}
.tab{white-space:nowrap;background:#eef1f4;border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none;color:var(--ink)}
.tab span{display:inline-block;width:20px;height:20px;border-radius:50%;background:#fff;text-align:center;font-size:14px;margin-right:6px;line-height:20px}
.timeline{list-style:none;padding:0;margin:24px 0;position:relative}
.timeline::before{content:"";position:absolute;left:15px;top:10px;bottom:10px;width:2px;background:var(--amber)}
.stage{position:relative;padding-left:52px;margin-bottom:16px;scroll-margin-top:180px}
.stage .dot{position:absolute;left:0;top:18px;width:32px;height:32px;border-radius:50%;background:var(--navy);color:#fff;
            display:flex;align-items:center;justify-content:center;font-weight:700}
.stagecard{padding:20px 22px;position:relative}
.stage.hot .stagecard{border:2px solid var(--amber)}
.stagecard h2{margin:2px 0 4px;font-size:22px}
.seeall{position:absolute;right:20px;top:20px;font-size:14px;font-weight:700;text-decoration:none}
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}
.qbox{background:#eef1f4;border-radius:8px;padding:10px 12px;font-size:14.5px;font-weight:600;text-decoration:none;color:var(--ink)}
.nextstep{display:inline-block;background:var(--mint);color:var(--green);font-weight:700;font-size:14px;border-radius:999px;padding:5px 12px;text-decoration:none}
.nextstep.grey{background:#eef1f4;color:var(--navy)}

@media (max-width:860px){
  .hero{padding:30px 0 70px}.hero h1{font-size:32px}.hero.small h1{font-size:27px}
  .doors,.popgrid{grid-template-columns:1fr}
  .qgrid{grid-template-columns:1fr}
  .seeall{position:static;display:block;margin-bottom:6px}
  .who{flex-direction:column;align-items:flex-start}
  .restile{flex-direction:column;align-items:flex-start}
  .tabs{top:60px}
  .search.big{flex-wrap:wrap}.search.big .btn{width:100%}
}

/* ---------- Grok's fix brief, 29 Oct ---------- */
.dicon svg{color:var(--navy)}
.restile h2{font-size:20px}
.latest{margin:-10px 0 26px}
.who{display:grid;grid-template-columns:120px 1fr 230px;gap:22px;align-items:center}
.reviews{display:flex;flex-direction:column;align-items:center;gap:4px;background:#f3f5f8;border-radius:12px;padding:18px;text-decoration:none;color:var(--ink);text-align:center}
.reviews strong{font-size:19px}
.samnote{display:inline-block;background:#fff4f2;border:1px solid #b3261e;color:#b3261e;font-size:14px;font-weight:700;border-radius:6px;padding:2px 8px;margin:2px 0 6px}
.guide{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:center;background:linear-gradient(135deg,var(--navy2),var(--navy));color:#fff;border-radius:14px;padding:28px;margin:26px 0}
.guide h2{color:#fff;margin:0 0 6px}.guide p{color:#d3dbe4;margin:0 0 10px}.guide .kicker{color:var(--amber)}
.ticks{list-style:none;padding:0;margin:0}.ticks li{color:#e4eaf0;margin:4px 0}.ticks li::before{content:"\2713  ";color:var(--amber);font-weight:700}
.guidebox{background:#fff;border-radius:12px;padding:20px;text-align:center}
.guidebox .btn{display:block}.guidebox .small{color:var(--mut);margin-top:10px}
.suggest{background:#f3f5f8;border-radius:10px;padding:12px 16px;margin:14px 0}
@media (max-width:860px){
  .who{grid-template-columns:1fr}
  .guide{grid-template-columns:1fr}
}

/* ---------- Grok round 2 (29 Oct) ---------- */
/* Phone menu: a <details> box, so it opens with or without JavaScript. Hidden on desks,
   where the full nav shows. */
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;color:#fff;border:1.5px solid #6d8098;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);
          padding:8px 0;min-width:220px;z-index:40;display:flex;flex-direction:column}
.menu nav a{color:var(--ink);text-decoration:none;padding:12px 18px;font-size:16px}
.menu nav a:hover,.menu nav a:focus{background:#f1f5f9}
@media (max-width:860px){
  .bar{gap:10px}
  .menu{display:block}
}
/* Phone header on one line: logo, Ask Sam and Menu never wrap. */
.nav a.ask,.menu summary{white-space:nowrap}
@media (max-width:420px){
  .logo{gap:7px}
  .logo span{font-size:14px;letter-spacing:.3px;white-space:nowrap}
  .logo img{height:24px}
  .nav{gap:8px}
  .nav a.ask{padding:6px 12px;font-size:14px}
  .menu summary{padding:5px 12px;font-size:14px}
}
/* About Sam (3A, 31 Oct): his colour photo, round, beside the bio line. */
.about-photo{float:right;border-radius:50%;margin:0 0 12px 16px}
@media (max-width:480px){.about-photo{float:none;display:block;margin:0 0 12px}}
/* Form controls and buttons ignore the page text size unless told; Chrome draws them at
   13.3px. 02 (31 Oct): nothing smaller than 14px. Class rules above (e.g. .fld input) still win. */
button,input,select,textarea{font-size:14px}
