/* ============================================================
   /new QUIZ SKIN, wraps the existing assessment engine
   (same DOM contract as root/option pages) in the Codex
   "plot your route" handoff look: navy coordinate rail +
   paper question area + letter answers. Site fonts kept
   (Playfair Display / DM Sans). Squared corners throughout.
   ============================================================ */

:root{
  --qz-navy:#081634; --qz-navy-2:#0b1b3b; --qz-ink:#0b1b3b;
  --qz-paper:#f4f6f7; --qz-panel:#ffffff; --qz-border:#dde4e9; --qz-line:rgba(8,25,52,.16);
  --qz-text:#535d70; --qz-muted:#8791a3;
  --qz-green:#1f8f68; --qz-green-bright:#28c785; --qz-sage:#aebf67;
  --qz-red:#c64d43; --qz-red-light:#faebe7; --qz-red-border:rgba(201,91,79,.45); --qz-red-deep:#8c302a;
  --qz-amber:#c47a2c;
}

/* ---- engine base ---- */
#eta-layout-one .page{display:none}
#eta-layout-one .page.active{display:block}
.hidden{display:none!important}
.eta-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}

/* hide the nav CTAs while inside the assessment (brand stays as the way home) */
body:has(#page-questions.active) #eta-layout-one .eta-links,
body:has(#page-results.active) #eta-layout-one .eta-links{display:none!important}

/* ============ OVERLAYS ============ */
.gate-overlay,.section-intro-overlay,.flag-popup-overlay{
  position:fixed;inset:0;z-index:200;background:rgba(5,15,34,.72);
  display:flex;align-items:center;justify-content:center;padding:22px}
.gate-card,.section-intro-card,.flag-popup-card{
  position:relative;background:var(--qz-panel);color:var(--qz-ink);max-width:520px;width:100%;
  padding:38px 36px;border:1px solid var(--qz-line);box-shadow:0 30px 80px rgba(2,10,26,.45);
  font-family:'DM Sans',sans-serif;max-height:88vh;overflow:auto}
.gate-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:19px;color:var(--qz-muted);cursor:pointer;padding:6px}
.gate-eyebrow{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--qz-green);margin-bottom:12px}
.gate-title{font-family:'Playfair Display',serif;font-size:30px;line-height:1.12;letter-spacing:-.02em;margin-bottom:10px}
.gate-subtitle{font-size:16px;line-height:1.55;color:var(--qz-text);margin-bottom:20px}
.gate-options{display:grid;gap:10px}
.gate-opt{display:block;width:100%;text-align:left;padding:15px 16px;background:var(--qz-paper);
  border:1px solid var(--qz-line);color:var(--qz-ink);font-family:'DM Sans',sans-serif;font-size:16.5px;font-weight:500;
  cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.gate-opt:hover{transform:translateX(4px);border-color:var(--qz-green);background:#eef4f1}
.eta-modal-btn{display:block;width:100%;margin-top:14px;background:var(--qz-green);color:#fff;border:none;
  padding:15px 20px;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:500;cursor:pointer;letter-spacing:.02em}
.eta-modal-btn:hover{background:var(--qz-green-bright)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gate-card input:not(.eta-hp),.cta-box input:not(.eta-hp){
  width:100%;padding:13px 14px;margin-top:10px;background:#fff;border:1px solid var(--qz-border);
  font-family:'DM Sans',sans-serif;font-size:16px;color:var(--qz-ink)}
.gate-card input:focus,.cta-box input:focus{outline:none;border-color:var(--qz-green)}
.form-fine{font-size:13.5px;color:var(--qz-muted);margin-top:10px;line-height:1.45}
#gate-error{min-height:1.2em;color:var(--qz-red)}

/* section intro = the handoff checkpoint card */
.section-intro-card{max-width:560px}
.section-intro-letter{font-family:'Playfair Display',serif;font-size:98px;line-height:.85;color:var(--qz-navy);margin-bottom:14px}
.section-intro-title{font-family:'Playfair Display',serif;font-size:32px;letter-spacing:-.02em;margin-bottom:10px}
.section-intro-desc{font-size:16.5px;line-height:1.6;color:var(--qz-text)}
.section-intro-bullets{list-style:none;padding:0;margin:16px 0 4px;display:grid;gap:9px}
.section-intro-bullets li{border-top:1px solid var(--qz-line);padding-top:9px;font-size:15px;font-weight:500;color:#526071}
.section-intro-timing{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--qz-muted);margin:14px 0 4px}

/* red-flag popup */
.flag-popup-card{border-left:4px solid var(--qz-red)}
.flag-popup-tag{display:inline-block;background:var(--qz-red);color:#fff;font-size:12px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;margin-bottom:14px}
.flag-popup-title{font-family:'Playfair Display',serif;font-size:26px;line-height:1.15;margin-bottom:10px}
.flag-popup-body{font-size:16px;line-height:1.6;color:var(--qz-text)}
.flag-popup-what{background:var(--qz-paper);border:1px solid var(--qz-line);padding:16px;margin-top:16px}
.flag-popup-what-title{font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--qz-green);margin-bottom:7px}
.flag-popup-what p{font-size:15.5px;line-height:1.55;color:var(--qz-text);margin:0}
.flag-popup-cta{display:block;width:100%;margin-top:18px;background:var(--qz-navy);color:#fff;border:none;
  padding:14px 18px;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:500;cursor:pointer}
.flag-popup-cta:hover{background:var(--qz-green)}

/* ============ QUESTIONS PAGE, the assessment shell ============ */
#page-questions{background:var(--qz-paper)}
.questions-layout{display:grid;grid-template-columns:305px minmax(0,1fr);min-height:calc(100vh - 78px)}

/* navy coordinate rail */
.progress-sidebar{position:relative;overflow:hidden;background:var(--qz-navy);color:#fff;padding:38px 30px 150px}
.progress-sidebar::after{content:"";position:absolute;left:-30%;right:-30%;bottom:-8%;height:520px;
  background:url("/assets/eta-approved/analog-topo-map.png") center/cover no-repeat;
  mix-blend-mode:screen;opacity:.55;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 38%,rgba(0,0,0,.85) 62%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 38%,rgba(0,0,0,.85) 62%,#000 100%)}
.progress-sidebar>*{position:relative;z-index:1}
.sidebar-label{font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:12px}
.demo-badge{display:inline-block;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);
  padding:11px 14px;font-size:15.5px;font-weight:500;margin-bottom:32px}
.section-progress{display:grid;gap:0}
.sp-item{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:start;opacity:.55;transition:opacity .25s}
.sp-item.active,.sp-item.done{opacity:1}
.sp-dot{width:46px;height:46px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(174,191,103,.75);background:rgba(7,25,52,.9);color:#f4f1e8;
  font-family:'Playfair Display',serif;font-size:25px}
#sp-earnings .sp-dot:empty::before{content:"E"}
#sp-taxes .sp-dot:empty::before{content:"T"}
#sp-assets .sp-dot:empty::before{content:"A"}
.sp-item.active .sp-dot{background:var(--qz-green-bright);color:var(--qz-navy);border-color:var(--qz-green-bright);
  animation:qzPulse 2.8s cubic-bezier(.22,1,.36,1) infinite}
.sp-item.done .sp-dot{background:var(--qz-sage);color:var(--qz-navy);border-color:var(--qz-sage);font-family:'DM Sans',sans-serif;font-weight:500}
@keyframes qzPulse{0%,100%{box-shadow:0 0 0 0 rgba(40,199,133,0)}50%{box-shadow:0 0 0 8px rgba(40,199,133,.16)}}
.sp-name{font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.88);margin-top:3px}
.sp-status{font-size:14px;font-weight:500;color:rgba(255,255,255,.55);margin-top:3px}
.sp-item.active .sp-status{color:var(--qz-green-bright)}
.sp-item.done .sp-status{color:var(--qz-sage)}
.sp-progress-bar-wrap{height:3px;background:rgba(255,255,255,.16);margin-top:8px}
.sp-progress-bar{height:100%;width:0;background:var(--qz-green-bright);transition:width .3s ease}
.sp-line{width:1px;height:26px;background:rgba(255,255,255,.24);margin-left:23px}
.sidebar-flags{margin-top:30px;display:grid;gap:8px}
.mini-flag{display:flex;align-items:center;gap:9px;font-size:14px;color:rgba(255,255,255,.78);line-height:1.35}
.mini-flag .flag-dot{flex:none;width:8px;height:8px;background:var(--qz-red);transform:rotate(45deg)}
.rail-foot{position:absolute;left:30px;right:30px;bottom:30px;z-index:1;display:grid;gap:12px;
  color:rgba(255,255,255,.62);font-size:13px;letter-spacing:.16em;text-transform:uppercase;line-height:1.5}
.mini-compass{width:22px;height:42px;border-left:1px solid rgba(255,255,255,.55);position:relative}
.mini-compass::before{content:"N";position:absolute;top:-18px;left:-6px;color:#fff;font-family:'Playfair Display',serif;font-size:15px;letter-spacing:0;text-transform:none}
.mini-compass::after{content:"";position:absolute;bottom:0;left:-6px;width:10px;height:10px;border:1px solid var(--qz-green-bright);transform:rotate(45deg)}

/* paper question area */
.question-main{padding:clamp(34px,5vw,64px);
  background:radial-gradient(circle at 90% 8%,rgba(39,149,111,.07),transparent 26%),
  linear-gradient(rgba(8,25,52,.028) 1px,transparent 1px),
  linear-gradient(90deg,rgba(8,25,52,.028) 1px,transparent 1px),var(--qz-paper);
  background-size:auto,18px 18px,18px 18px,auto}
.section-header{margin-bottom:6px}
.section-eyebrow{font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--qz-green)}
#section-title{font-family:'Playfair Display',serif;font-size:19px;letter-spacing:-.01em;color:var(--qz-muted);margin:6px 0 0;font-weight:500}
.section-progress-bar-top{height:3px;background:#e2e8ec;margin:16px 0 30px;max-width:800px}
.section-progress-bar-fill{height:100%;width:0;background:var(--qz-green);transition:width .3s ease}
.q-counter{font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--qz-green);margin-bottom:18px}
.q-text{font-family:'Playfair Display',serif;font-size:clamp(28px,3.2vw,42px);line-height:1.12;letter-spacing:-.02em;
  color:var(--qz-ink);max-width:800px;margin-bottom:28px}
.q-options{display:grid;gap:12px;max-width:800px;counter-reset:qopt}
.opt-btn{counter-increment:qopt;position:relative;display:grid;grid-template-columns:56px 1fr 44px;column-gap:18px;align-items:center;
  min-height:68px;text-align:left;background:rgba(255,255,255,.72);border:1px solid rgba(8,25,52,.22);
  color:var(--qz-ink);font-family:'DM Sans',sans-serif;font-size:17px;font-weight:500;line-height:1.4;cursor:pointer;
  padding:12px 0;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.opt-btn::before{content:counter(qopt,upper-alpha);align-self:stretch;display:flex;align-items:center;justify-content:center;
  border-right:1px solid rgba(8,25,52,.14);font-weight:500;color:var(--qz-navy);font-size:17px}
.opt-btn::after{content:"✓";text-align:center;font-size:21px;color:var(--qz-green);opacity:0;transition:opacity .2s,transform .25s}
.opt-btn>*{grid-column:2;padding:12px 18px 12px 18px}
.opt-btn:hover{transform:translateX(4px);border-color:rgba(31,143,104,.65)}
.opt-btn.selected{background:#eef4ea;border-color:var(--qz-navy)}
.opt-btn.selected::after{opacity:1;transform:translateY(0) scale(1)}

/* inline red-flag callout */
.flag-display{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;max-width:800px;
  margin-top:20px;padding:20px 22px;background:var(--qz-red-light);border:1px solid var(--qz-red-border);
  animation:qzFlagIn .5s cubic-bezier(.22,1,.36,1) both}
@keyframes qzFlagIn{from{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}
.flag-icon-circle{width:30px;height:30px;background:var(--qz-red);position:relative}
.flag-icon-circle::before{content:"⚑";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:17px}
.flag-title{font-size:17px;font-weight:500;color:var(--qz-red-deep);margin-bottom:4px}
.flag-desc{font-size:15.5px;line-height:1.5;color:#9a453d}
.flag-learn-more{display:inline-block;margin-top:8px;font-size:14.5px;font-weight:500;color:var(--qz-red-deep);
  text-decoration:underline;cursor:pointer}

/* controls */
.q-nav{display:grid;grid-template-columns:130px 1fr 190px;gap:18px;align-items:center;max-width:800px;
  margin-top:40px;padding-top:24px;border-top:1px solid var(--qz-line)}
.btn-ghost{height:54px;border:1px solid rgba(8,25,52,.22);background:transparent;color:#7a8494;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.btn-ghost:hover{border-color:var(--qz-navy);color:var(--qz-navy)}
.q-progress-label{text-align:center;color:#87909f;font-size:14px;letter-spacing:.18em;font-weight:500;text-transform:uppercase}
.eta-btn-next{height:54px;border:none;background:var(--qz-navy);color:#fff;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  transition:background .2s}
.eta-btn-next:hover:not(:disabled){background:var(--qz-green)}
.eta-btn-next:disabled{opacity:.45;cursor:not-allowed}

/* ============ RESULTS ============ */
#page-results{background:var(--qz-paper);
  background-image:linear-gradient(rgba(8,25,52,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(8,25,52,.028) 1px,transparent 1px);
  background-size:18px 18px}
.results-layout{max-width:960px;margin:0 auto;padding:clamp(44px,6vw,72px) 22px 80px}
.results-eyebrow{font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--qz-green)}
#results-headline{font-family:'Playfair Display',serif;font-size:clamp(34px,4.5vw,54px);letter-spacing:-.02em;line-height:1.05;color:var(--qz-ink);margin:12px 0 10px}
#results-subhead{font-size:18px;line-height:1.6;color:var(--qz-text);max-width:640px}
.overall-score-card{background:var(--qz-panel);border:1px solid var(--qz-line);box-shadow:0 20px 50px rgba(8,25,52,.08);
  padding:34px 36px;margin:34px 0 26px}
.overall-score-label{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--qz-muted)}
.overall-score-number{font-family:'Playfair Display',serif;font-size:76px;line-height:1;letter-spacing:-.04em;color:var(--qz-green);margin:10px 0 8px}
.overall-score-number span{font-size:28px;color:var(--qz-muted)}
.overall-score-desc{font-size:16.5px;color:var(--qz-text);margin-bottom:18px}
.overall-score-bar-wrap{height:5px;background:#e2e8ec}
.overall-score-bar{height:100%;width:0;transition:width 1s cubic-bezier(.22,1,.36,1)}
.overall-score-bar.green{background:var(--qz-green)}
.overall-score-bar.amber{background:var(--qz-amber)}
.overall-score-bar.red{background:var(--qz-red)}
.scores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.score-card{background:var(--qz-panel);border:1px solid var(--qz-line);border-top:3px solid var(--qz-border);padding:24px}
.score-card.good-card{border-top-color:var(--qz-green)}
.score-card.warn-card{border-top-color:var(--qz-amber)}
.score-card.flag-card{border-top-color:var(--qz-red)}
.score-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--qz-muted)}
.score-label b{font-family:'Playfair Display',serif;font-size:28px;letter-spacing:0;color:var(--qz-navy)}
.score-number{font-family:'Playfair Display',serif;font-size:44px;line-height:1;letter-spacing:-.03em;margin:10px 0 4px;color:var(--qz-ink)}
.score-number.green{color:var(--qz-green)}
.score-number.amber{color:var(--qz-amber)}
.score-number.red{color:var(--qz-red)}
.score-sub{font-size:14.5px;font-weight:500;margin-bottom:2px}
.score-sub.green{color:var(--qz-green)}
.score-sub.amber{color:var(--qz-amber)}
.score-sub.red{color:var(--qz-red)}
.score-exit-label{font-size:14px;color:var(--qz-muted);line-height:1.45;min-height:2.4em;margin-top:4px}
.score-bar-wrap{height:4px;background:#e2e8ec;margin-top:12px}
.score-bar{height:100%;width:0;background:var(--qz-green);transition:width 1s cubic-bezier(.22,1,.36,1)}
.score-bar.amber{background:var(--qz-amber)}
.score-bar.red{background:var(--qz-red)}
.red-flags-section{margin-top:40px}
.section-heading{font-family:'Playfair Display',serif;font-size:28px;letter-spacing:-.02em;color:var(--qz-ink);margin-bottom:6px}
.flags-hint{font-size:15px;color:var(--qz-muted);margin-bottom:16px}
#results-flags{display:grid;gap:10px}
.result-flag{background:var(--qz-panel);border:1px solid var(--qz-line);border-left:4px solid var(--qz-red);padding:18px 20px;cursor:pointer}
.result-flag-header{display:grid;grid-template-columns:30px 1fr auto;gap:14px;align-items:start}
.result-flag-icon{width:22px;height:22px;background:var(--qz-red);position:relative}
.result-flag-icon::before{content:"⚑";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.result-flag-title{font-size:17px;font-weight:500;color:var(--qz-ink)}
.result-flag-desc{font-size:15px;color:var(--qz-text);margin-top:3px;line-height:1.5}
.result-flag-expand{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--qz-green);line-height:1;margin-top:6px;transition:color .2s}
.result-flag:hover .result-flag-expand{color:var(--qz-green-bright)}
.result-flag-education{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--qz-line)}
.result-flag-education.open{display:block}
.result-flag-education p{font-size:15.5px;line-height:1.6;color:var(--qz-text);margin:0 0 10px}
.result-flag-education p strong{color:var(--qz-ink)}
.cta-box{margin-top:44px;background:var(--qz-navy);color:#fff;position:relative;overflow:hidden}
.cta-box::before{content:"";position:absolute;inset:0;
  background:url("/assets/eta-approved/analog-topo-map.png") center/cover no-repeat;
  mix-blend-mode:screen;opacity:.32;pointer-events:none}
.cta-inner{position:relative;padding:clamp(34px,5vw,54px)}
.cta-eyebrow{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--qz-green-bright)}
.cta-title{font-family:'Playfair Display',serif;font-size:clamp(28px,3.4vw,40px);letter-spacing:-.02em;line-height:1.1;color:#fff;margin:12px 0 10px}
.cta-desc{font-size:16.5px;line-height:1.6;color:#c0c9d7;margin-bottom:20px}
.cta-box input:not(.eta-hp){background:rgba(255,255,255,.94);border:1px solid transparent}
.eta-book-btn{display:block;width:100%;margin-top:14px;background:var(--qz-green-bright);color:var(--qz-navy);border:none;
  padding:16px 22px;font-family:'DM Sans',sans-serif;font-size:16px;font-weight:500;cursor:pointer}
.eta-book-btn:hover{background:#3fd695}
.cta-box .form-fine{color:#93a0b4}
.lead-success{text-align:center;padding:26px 8px}
.lead-success .success-icon{width:52px;height:52px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;
  background:var(--qz-green-bright);color:var(--qz-navy);font-size:26px}
.lead-success h3{font-family:'Playfair Display',serif;font-size:26px;margin-bottom:8px}
.lead-success p{font-size:16px;color:#c0c9d7;line-height:1.6}
.retake-box{margin-top:34px;text-align:center;color:var(--qz-muted);font-size:15.5px}
.retake-box p{margin-bottom:12px}
.retake-box .btn-ghost{height:auto;padding:12px 18px}
.retake-btn{display:inline-block;width:auto;padding:12px 20px;margin-top:0;margin-left:8px}

/* ============ CHATBOT ============ */
#chatbot-fab{position:fixed;right:22px;bottom:22px;z-index:180;width:52px;height:52px;
  display:flex;align-items:center;justify-content:center;background:var(--qz-navy);color:var(--qz-green-bright);
  border:1px solid rgba(40,199,133,.4);cursor:pointer;box-shadow:0 12px 30px rgba(2,10,26,.35)}
#chatbot-fab:hover{background:#0d2347}
#chatbot-window{position:fixed;right:22px;bottom:84px;z-index:190;width:min(360px,calc(100vw - 44px));
  background:#fff;border:1px solid var(--qz-line);box-shadow:0 30px 70px rgba(2,10,26,.4);
  display:flex;flex-direction:column;font-family:'DM Sans',sans-serif}
#chatbot-window.hidden{display:none!important}
.chat-header{display:flex;align-items:center;justify-content:space-between;background:var(--qz-navy);color:#fff;padding:14px 16px}
.chat-title{font-size:16px;font-weight:500}
.chat-subtitle{font-size:12.5px;color:#9fabbc;margin-top:2px}
.chat-close{background:none;border:none;color:#9fabbc;font-size:17px;cursor:pointer}
.chat-messages{height:320px;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--qz-paper)}
.chat-msg{display:flex}
.chat-msg.user{justify-content:flex-end}
.msg-bubble{max-width:82%;padding:10px 13px;font-size:15.5px;line-height:1.5}
.chat-msg.bot .msg-bubble{background:#fff;border:1px solid var(--qz-line);color:var(--qz-ink)}
.chat-msg.user .msg-bubble{background:var(--qz-navy);color:#fff}
.msg-bubble.typing{color:var(--qz-muted);font-style:italic}
.chat-input-row{display:flex;gap:8px;padding:12px;border-top:1px solid var(--qz-line);background:#fff}
.chat-input-row input{flex:1;padding:11px 12px;border:1px solid var(--qz-border);font-family:'DM Sans',sans-serif;font-size:15.5px}
.chat-input-row input:focus{outline:none;border-color:var(--qz-green)}
.chat-input-row button{width:42px;border:none;background:var(--qz-green);color:#fff;cursor:pointer}

/* ============ MOBILE ============ */
@media(max-width:900px){
  .questions-layout{grid-template-columns:1fr;min-height:0}
  .progress-sidebar{padding:20px 22px 20px}
  .progress-sidebar::after{display:none}
  .rail-foot{display:none}
  .demo-badge{margin-bottom:16px;padding:8px 11px;font-size:14px}
  .sidebar-label{margin-bottom:8px}
  .section-progress{grid-template-columns:repeat(3,1fr);gap:10px}
  .sp-line{display:none}
  .sp-item{grid-template-columns:34px 1fr;gap:8px}
  .sp-dot{width:34px;height:34px;font-size:19px}
  .sp-name{font-size:12px;letter-spacing:.1em}
  .sp-status{display:none}
  .sp-progress-bar-wrap{margin-top:6px}
  .sidebar-flags{display:none}
  .question-main{padding:28px 20px 44px}
  .q-text{font-size:28px}
  .opt-btn{grid-template-columns:44px 1fr 32px;min-height:60px;font-size:16px}
  .q-nav{grid-template-columns:1fr 1fr;grid-template-areas:"label label" "back next";gap:12px}
  .q-progress-label{grid-area:label}
  .btn-ghost{grid-area:back}
  .eta-btn-next{grid-area:next}
  .scores-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  #chatbot-window{bottom:80px}
}
.lead-success-cal{display:inline-block;width:auto;padding:14px 24px;margin-top:16px;text-decoration:none;text-align:center}
.persona-opt{display:grid;gap:3px}
.persona-opt b{font-size:17px;font-weight:500;color:var(--qz-ink)}
.persona-opt span{font-size:14.5px;color:var(--qz-muted)}
.eta-footer-legal{margin-top:10px}
.eta-footer-legal a{color:#99a5b7;text-decoration:underline;font-size:13px}
.eta-footer-legal a:hover{color:#28c785}

/* ---- footer contact form ---- */
.eta-foot-contact-title{font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:#28c785;margin:0 0 12px}
#contact-form{display:grid;gap:8px}
.eta-foot-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#contact-form input:not(.eta-hp),#contact-form textarea{width:100%;padding:11px 12px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);color:#fff;font-family:'DM Sans',sans-serif;font-size:14.5px;resize:vertical}
#contact-form input::placeholder,#contact-form textarea::placeholder{color:#8a97ab}
#contact-form input:focus,#contact-form textarea:focus{outline:none;border-color:#28c785}
#contact-btn{padding:12px 16px;background:#28c785;color:#081634;border:none;font-family:'DM Sans',sans-serif;
  font-size:14.5px;font-weight:500;cursor:pointer;justify-self:start;transition:background .2s}
#contact-btn:hover{background:#3fd695}
.eta-foot-success{display:flex;align-items:center;gap:9px;font-size:15px;color:#c0c9d7;padding:10px 0}
.eta-foot-success span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:#28c785;color:#081634;font-size:15px;flex:none}
/* consolidated footer: info column left, form right */
.eta-foot-info p{margin:0}
.eta-foot-info .eta-brand{margin-bottom:14px}
.eta-foot-info .eta-foot-kicker{font-size:12px;letter-spacing:.18em;color:#c0c9d7;margin-bottom:6px}
.eta-foot-info .eta-foot-tagline{max-width:330px}
.eta-foot-info .eta-foot-meta{margin-top:22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:12px;line-height:1.65;color:#6d7a90}
.eta-foot-legal-bar{grid-column:1/-1;display:grid;gap:8px;background:#050f21;margin:24px -54px -44px;padding:20px 54px 26px}
.eta-foot-legal-bar p{margin:0;max-width:860px;font-size:12px;line-height:1.65;color:#6d7a90}
.eta-foot-legal-bar a{color:#99a5b7;text-decoration:underline}
.eta-foot-legal-bar a:hover{color:#28c785}
#eta-layout-one .eta-footer{padding:72px 54px 44px;position:relative;z-index:0}
#eta-layout-one .eta-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:#152950;opacity:.55;
  -webkit-mask:url("/assets/gen/footer-topo-mask3.png") center/cover no-repeat;
  mask:url("/assets/gen/footer-topo-mask3.png") center/cover no-repeat}
.eta-foot-contact{max-width:440px;width:100%;justify-self:end;padding-top:14px}
@media(max-width:650px){.eta-foot-row{grid-template-columns:1fr}.eta-foot-contact{max-width:none;justify-self:stretch;padding-top:0}#eta-layout-one .eta-footer{gap:34px;padding:56px 24px 40px}.eta-foot-legal-bar{margin:14px -24px -40px;padding:18px 24px 24px}.eta-foot-info .eta-foot-tagline{max-width:none}}

/* AI chat is opt-in via the admin toggle; /api/settings flips this class on load */
#chatbot-fab,#chatbot-window{display:none!important}
body.eta-chat-on #chatbot-fab{display:flex!important}
body.eta-chat-on #chatbot-window:not(.hidden){display:block!important}

/* ---- Eric content review batch (Aug 17) ---- */
.eta-built-head .eta-exit-def{max-width:760px;margin:18px auto 0;font-size:20px;line-height:1.6;color:#3c4657}
.eta-carry-line strong{color:#0b1b3b}
#eta-layout-one .eta-aud-head{font-size:initial;line-height:normal;text-align:center;padding:64px 22px 46px;background:#fff}
#eta-layout-one .eta-aud-head h2{margin:10px 0 0}
#eta-layout-one .eta-aud-other{font-size:initial;line-height:normal;text-align:center;padding:54px 22px;background:#fff;display:flex;flex-direction:column;align-items:center;gap:16px}
#eta-layout-one .eta-aud-other p{margin:0;font-size:20px;color:#3c4657}
.eta-stat-cite{display:block;margin-top:10px;font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.02em}
.gate-consent{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--qz-muted);margin:12px 0 2px;cursor:pointer;text-align:left}
.gate-consent input{width:17px;height:17px;flex:none;margin-top:1px;accent-color:var(--qz-green)}
.gate-consent a{color:inherit;text-decoration:underline}
.other-about{width:100%;padding:13px 14px;margin-top:10px;background:#fff;border:1px solid var(--qz-border);font-family:'DM Sans',sans-serif;font-size:16px;color:var(--qz-ink);resize:vertical}
#eta-layout-one .eta-faq .eta-faq-col{max-width:820px;margin:0 auto}
#eta-layout-one .eta-faq{background:#fff!important}
/* audit fixes */
.gate-card .gate-consent input[type="checkbox"]{width:17px;height:17px;padding:0;margin:1px 0 0}
#eta-layout-one .eta-aud-intro{background:#fff;text-align:center;padding:64px 22px 46px}
#eta-layout-one .eta-aud-intro h2{margin:10px 0 0}
#eta-layout-one .eta-aud-other .eta-cta{align-self:center;font-family:'DM Sans',sans-serif;border:none;cursor:pointer}
/* Off-the-marked-paths strip: navy, topo-textured, part of the persona flow */
#eta-layout-one .eta-aud-other{position:relative;overflow:hidden;background:#edf1f2;color:#0b1b3b;padding:74px 22px;gap:12px}
#eta-layout-one .eta-aud-other::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:url("/assets/gen/topo-wireframe-crop.jpg") center/cover no-repeat;opacity:.05;mix-blend-mode:multiply}
#eta-layout-one .eta-aud-other>*{position:relative}
#eta-layout-one .eta-aud-other h2{color:#0b1b3b;margin:0;max-width:640px}
#eta-layout-one .eta-aud-other p{color:#3c4657;max-width:560px;font-size:20px;line-height:1.6}
#eta-layout-one .eta-aud-other .eta-kicker{color:#1f8f68}
/* Climb headline on one line at desktop widths */
@media(min-width:1000px){
  #eta-layout-one .eta-life-head{width:auto!important;max-width:calc(100% - 84px)}
  #eta-layout-one .eta-life-head h2{white-space:nowrap}
  #eta-layout-one .eta-life-head p{max-width:560px}
}

/* Mobile climb: markers flow in a grid so every gap is identical */
@media(max-width:650px){
  #eta-layout-one .eta-life{min-height:1080px!important}
  #eta-layout-one .eta-life .eta-camp-markers{position:absolute!important;top:auto!important;left:22px!important;right:22px!important;bottom:26px!important;inset:auto 22px 26px 22px;display:grid;gap:14px}
  #eta-layout-one .eta-life .eta-camp-marker{position:static!important;width:auto!important;min-height:0!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important}
}
/* Cost-of-waiting: payoff line matches FAQ answer typography; headline unbroken on desktop */
#eta-layout-one .eta-proof-a .eta-proof-lead>p{font-family:'DM Sans',sans-serif;font-size:20px!important;font-weight:400;line-height:1.6!important}


/* Weekly rap edits */
#eta-layout-one .eta-intro h2{color:#081634}
