/* Self-hosted fonts (no Google request) — files live in ../fonts/ */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('../fonts/dmsans.woff2') format('woff2')}
@font-face{font-family:'DM Serif Display';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/dmserif.woff2') format('woff2')}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --blue:#185FA5;--blue-lt:#E6F1FB;--blue-mid:#85B7EB;--blue-dk:#0C447C;
  --green:#1D9E75;--green-lt:#E1F5EE;--green-dk:#085041;
  --amber:#BA7517;--amber-lt:#FAEEDA;
  --red:#A32D2D;--red-lt:#FCEBEB;
  --bg:#F4F3F0;--border:#DDD9D0;--border-lt:rgba(0,0,0,0.07);
  --text:#1A1A18;--text-sec:#5F5E5A;--text-ter:#777572;
  --white:#fff;--r:10px;--rlg:16px;
}
body{font-family:'DM Sans',sans-serif;background:var(--bg);min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:2.5rem 1rem 4rem}
.shell{width:100%;max-width:600px}
.logo-bar{text-align:center;margin-bottom:1.75rem}
.logo-name{font-family:'DM Serif Display',serif;font-size:22px;color:var(--text)}
.logo-divider{width:32px;height:1px;background:var(--border);margin:8px auto}
.logo-tag{font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-ter)}
.card{background:var(--white);border-radius:var(--rlg);border:0.5px solid var(--border-lt);padding:2rem 2.25rem;box-shadow:0 2px 16px rgba(0,0,0,0.07)}
.progress{display:flex;gap:5px;margin-bottom:1.75rem}
.pdot{height:3px;flex:1;border-radius:2px;background:#E8E6E1;transition:background 0.3s}
.pdot.active{background:var(--blue)}
.pdot.done{background:var(--green)}
.step-counter{font-size:10.5px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-ter);margin-bottom:10px}
.step-q{font-size:20px;font-weight:500;color:var(--text);line-height:1.35;margin-bottom:8px}
.step-hint{font-size:13px;color:var(--text-sec);line-height:1.65;margin-bottom:1.75rem}
.step-hint em{font-style:italic;color:var(--text-ter)}
.options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.options.single{grid-template-columns:1fr}
.opt{padding:13px 16px;border:1px solid var(--border);border-radius:var(--r);cursor:pointer;background:var(--white);text-align:left;transition:border-color 0.15s,background 0.15s;width:100%}
.opt:hover{border-color:var(--blue);background:var(--blue-lt)}
.opt.sel{border-color:var(--blue);background:var(--blue-lt)}
.opt-main{font-size:14px;font-weight:500;color:var(--text);line-height:1.3}
.opt-sub{font-size:12px;color:var(--text-sec);margin-top:3px;line-height:1.4}
.opt.sel .opt-main{color:var(--blue-dk)}
.opt.sel .opt-sub{color:var(--blue)}
.inp-wrap{position:relative}
.inp-sym{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px;color:var(--text-sec);pointer-events:none}
.inp{width:100%;height:50px;font-size:16px;font-family:'DM Sans',sans-serif;padding:0 14px;border:1px solid var(--border);border-radius:var(--r);outline:none;color:var(--text);background:var(--white);transition:border-color 0.2s,box-shadow 0.2s}
.inp:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(24,95,165,0.1)}
.inp.has-sym{padding-left:28px}
.inp.error{border-color:var(--red)}
.inp-label{font-size:13px;font-weight:500;color:var(--text-sec);margin-bottom:6px;display:block}
.inp-group{margin-bottom:1rem}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem}
.btn-back{background:none;border:1px solid var(--border);padding:11px 22px;border-radius:var(--r);font-size:14px;font-family:'DM Sans',sans-serif;cursor:pointer;color:var(--text-sec)}
.btn-back:hover{border-color:#AAA;color:var(--text)}
.btn-next{background:var(--blue);border:none;padding:12px 30px;border-radius:var(--r);font-size:14px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;color:var(--white)}
.btn-next:hover{background:var(--blue-dk)}
/* Results */
.res-eyebrow{font-size:10.5px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-ter);text-align:center;margin-bottom:10px}
.res-range{font-family:'DM Serif Display',serif;font-size:38px;color:var(--blue);text-align:center;margin-bottom:6px;line-height:1.1}
.res-basis{font-size:13px;color:var(--text-sec);text-align:center;line-height:1.6;padding-bottom:1.5rem;border-bottom:0.5px solid var(--border);margin-bottom:1.5rem}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.75rem}
.metric{background:var(--bg);border-radius:var(--r);padding:14px 16px}
.m-label{font-size:10.5px;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-ter);margin-bottom:5px}
.m-val{font-size:20px;font-weight:500;color:var(--text)}
.m-sub{font-size:12px;color:var(--text-sec);margin-top:3px}
.sec-label{font-size:10.5px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-ter);margin-bottom:12px}
.insight{border:0.5px solid var(--border);border-radius:var(--r);padding:15px 17px;margin-bottom:10px}
.ins-tag{display:inline-block;font-size:10px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:3px 8px;border-radius:5px;margin-bottom:7px}
.ins-tag.pos{background:var(--green-lt);color:var(--green-dk)}
.ins-tag.neg{background:var(--red-lt);color:var(--red)}
.ins-tag.neu{background:var(--amber-lt);color:var(--amber)}
.ins-title{font-size:14px;font-weight:500;color:var(--text);margin-bottom:5px;line-height:1.35}
.ins-body{font-size:13px;color:var(--text-sec);line-height:1.65}
.score-bar-track{height:6px;background:#E8E6E1;border-radius:3px;overflow:hidden;margin:8px 0 4px}
.score-bar-fill{height:100%;border-radius:3px;transition:width 0.8s ease}
.score-labels{display:flex;justify-content:space-between;font-size:10.5px;color:var(--text-ter);margin-top:5px}
/* CTA / contact */
.cta-box{background:var(--blue-dk);border-radius:var(--rlg);padding:1.5rem 1.75rem;margin-top:1.75rem}
.cta-headline{color:#E6F1FB;font-size:16px;font-weight:500;margin-bottom:4px}
.cta-sub{color:var(--blue-mid);font-size:13px;line-height:1.55;margin-bottom:1.25rem}
.cta-contacts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-card{background:rgba(255,255,255,0.08);border:0.5px solid rgba(255,255,255,0.15);border-radius:var(--r);padding:16px;text-decoration:none;display:block;transition:background 0.15s}
.contact-card:hover{background:rgba(255,255,255,0.14)}
.cc-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid rgba(255,255,255,0.25);margin-bottom:10px;display:block}
.cc-role{font-size:10px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--blue-mid);margin-bottom:4px}
.cc-name{font-size:15px;font-weight:500;color:#E6F1FB;margin-bottom:2px}
.cc-email{font-size:11.5px;color:var(--blue-mid);margin-bottom:10px}
.cc-btn{display:inline-block;font-size:12px;font-weight:500;color:#E6F1FB;background:rgba(255,255,255,0.12);padding:6px 14px;border-radius:6px}
/* Lead form */
.lead-form{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--rlg);padding:1.5rem 1.75rem;margin-top:1.75rem}
.lead-form-title{font-size:15px;font-weight:500;color:var(--text);margin-bottom:4px}
.lead-form-sub{font-size:13px;color:var(--text-sec);margin-bottom:1.25rem;line-height:1.55}
.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.lead-inp{width:100%;height:44px;font-size:14px;font-family:'DM Sans',sans-serif;padding:0 14px;border:1px solid var(--border);border-radius:var(--r);outline:none;color:var(--text);background:var(--white)}
.lead-inp:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(24,95,165,0.1)}
.lead-inp.error{border-color:var(--red)}
.lead-submit{width:100%;height:44px;background:var(--blue);border:none;border-radius:var(--r);font-size:14px;font-weight:500;font-family:'DM Sans',sans-serif;color:var(--white);cursor:pointer;margin-top:4px}
.lead-submit:hover{background:var(--blue-dk)}
.lead-success{text-align:center;padding:1rem 0}
.lead-success-icon{font-size:32px;margin-bottom:8px}
.lead-success-title{font-size:15px;font-weight:500;color:var(--green-dk);margin-bottom:4px}
.lead-success-sub{font-size:13px;color:var(--text-sec)}
/* Disclaimer */
.disclaimer{font-size:13px;color:var(--text-sec);line-height:1.75;margin-top:1.5rem;padding-top:1rem;border-top:0.5px solid var(--border)}
.disclaimer strong{color:var(--text);font-weight:500}
.restart-wrap{text-align:center;margin-top:1.5rem}
.urgent-cta{background:var(--green-lt);border:1px solid var(--green);border-radius:var(--r);padding:14px 18px;margin-top:1rem;margin-bottom:0.5rem}
.urgent-cta-text{font-size:13.5px;color:var(--green-dk);line-height:1.6}
.urgent-cta-text strong{font-weight:600}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.anim{animation:fadeIn 0.3s ease}

/* ── Print fallback ──
   The report normally prints via jwPrintReport() in a dedicated full-width window
   (pixel-identical to screen). This block only matters if someone Cmd+P's the tool
   iframe directly; keep it minimal so it never reflows the self-contained report. */
@media print{
  *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }
  body>.shell{ display:none !important; }
  .jw-report-toolbar{ display:none !important; }
  #report-overlay{ position:static !important; height:auto !important; overflow:visible !important; background:#fff !important; }
  .jw-report-page--break{ page-break-before:always; }
}

/* ── Brand buttons + accents ── match the main website (gold CTA, navy ghost,
   teal focus). Overrides the tool's original blue palette. Brand tokens:
   gold #C78A3B / gold-hover #B77610, navy #051223, teal #007B66, offwhite #F7F7F4,
   radius 4px, DM Sans 600 / 0.9rem / 0.04em. */
.btn-next{
  background:#C78A3B; color:#fff; border:1.5px solid #C78A3B;
  font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.9rem; letter-spacing:0.04em; line-height:1;
  padding:0.75rem 2rem; border-radius:4px; cursor:pointer;
  transition:background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.btn-next:hover{ background:#B77610; border-color:#B77610; box-shadow:0 8px 24px rgba(199,138,59,0.30); transform:translateY(-2px); }
.btn-back{
  background:transparent; color:#051223; border:1.5px solid #051223;
  font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.9rem; letter-spacing:0.04em; line-height:1;
  padding:0.75rem 1.6rem; border-radius:4px; cursor:pointer;
  transition:background 0.2s ease, color 0.2s ease;
}
.btn-back:hover{ background:#051223; color:#fff; border-color:#051223; }
.lead-submit{
  width:100%; height:auto; background:#C78A3B; color:#fff; border:1.5px solid #C78A3B;
  font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.95rem; letter-spacing:0.04em;
  padding:0.85rem 2rem; border-radius:4px; cursor:pointer; margin-top:4px;
  transition:background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.lead-submit:hover{ background:#B77610; border-color:#B77610; box-shadow:0 8px 24px rgba(199,138,59,0.30); transform:translateY(-2px); }
/* Option tiles + inputs → brand navy selection, teal focus (was blue) */
.opt:hover{ border-color:#051223; background:#F7F7F4; }
.opt.sel{ border-color:#051223; background:#F7F7F4; }
.opt.sel .opt-main{ color:#051223; }
.opt.sel .opt-sub{ color:#5F5E5A; }
.inp:focus,.lead-inp:focus{ border-color:#007B66; box-shadow:0 0 0 3px rgba(0,123,102,0.12); }
/* Progress bar → brand navy (current) + teal (done), was blue/green */
.pdot.active{ background:#051223; }
.pdot.done{ background:#007B66; }
/* Results CTA + advisor boxes → site navy #051223 w/ white text (was #0C447C) */
.cta-box{ background:#051223; }
.cta-headline{ color:#fff; }
.cta-sub{ color:rgba(255,255,255,0.72); }
.contact-card{ background:rgba(255,255,255,0.06); border-color:rgba(255,255,255,0.12); }
.cc-name{ color:#fff; }
.cc-role,.cc-email{ color:rgba(255,255,255,0.6); }
.cc-btn{ color:#fff; background:rgba(255,255,255,0.12); }
