:root{
  --bg:#f4f2ec;
  --surface:#ffffff;
  --surface-2:#faf9f5;
  --surface-3:#f0eee6;
  --ink:#1c1b19;
  --ink-2:#57554e;
  --ink-3:#8a877d;
  --line:#e2dfd5;
  --line-strong:#cfccc0;
  --brand:#0a3d2e;
  --brand-2:#12564032;
  --brand-ink:#0a3d2e;
  --accent:#1f7a5c;
  --accent-bg:#e6f2ec;
  --accent-line:#bfe0d1;
  --info:#185fa5;
  --info-bg:#e6f1fb;
  --info-line:#b5d4f4;
  --success:#3b6d11;
  --success-bg:#eaf3de;
  --warn:#854f0b;
  --warn-bg:#faeeda;
  --warn-line:#f0d49a;
  --danger:#a32d2d;
  --danger-bg:#fcebeb;
  --danger-line:#f0b8b8;
  --radius:10px;
  --radius-lg:16px;
  --shadow:0 1px 2px rgba(28,27,25,.04), 0 8px 30px rgba(28,27,25,.06);
  --font-body:"Inter", system-ui, -apple-system, sans-serif;
  --font-display:"Fraunces", Georgia, serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#14150f;
    --surface:#1e1f18;
    --surface-2:#23241c;
    --surface-3:#2a2b22;
    --ink:#f2f1e9;
    --ink-2:#b6b4a8;
    --ink-3:#87857a;
    --line:#33342a;
    --line-strong:#43443a;
    --brand:#7fd4b3;
    --brand-ink:#a7e3cb;
    --accent:#5dcaa5;
    --accent-bg:#0f2e24;
    --accent-line:#1c4a3a;
    --info:#85b7eb;
    --info-bg:#0c2540;
    --info-line:#1a3a5c;
    --success:#97c459;
    --success-bg:#1a2e0d;
    --warn:#efb45a;
    --warn-bg:#3a2a0a;
    --warn-line:#5c440f;
    --danger:#e88;
    --danger-bg:#3a1414;
    --danger-line:#5c2020;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 30px rgba(0,0,0,.35);
  }
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.wrap{width:100%;max-width:640px;margin:0 auto;padding:0 20px;}
a{color:var(--accent);}
em{font-style:italic;}

.skip-link{position:absolute;left:-9999px;top:0;background:var(--surface);color:var(--ink);padding:10px 16px;border-radius:var(--radius);z-index:20;}
.skip-link:focus{left:16px;top:16px;}

.site-header{border-bottom:1px solid var(--line);background:var(--surface);position:sticky;top:0;z-index:10;}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand-mark{width:32px;height:32px;border-radius:8px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;}
@media (prefers-color-scheme: dark){.brand-mark{color:#14150f;}}
.brand-text{font-weight:600;font-size:17px;letter-spacing:-.01em;}
.brand-sub{color:var(--ink-3);font-weight:500;}
.header-contact{display:flex;align-items:center;gap:14px;font-size:14px;}
.header-officer{color:var(--ink-2);}
.header-phone{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-weight:500;white-space:nowrap;}
.header-phone i{font-size:16px;}
@media (max-width:520px){.header-officer{display:none;}}

.hero{padding:56px 0 20px;text-align:center;}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 18px;}
.hero-title{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,6vw,46px);line-height:1.08;letter-spacing:-.02em;margin:0 auto 18px;max-width:16ch;}
.hero-title em{color:var(--brand-ink);font-style:italic;}
.hero-lede{font-size:17px;color:var(--ink-2);max-width:46ch;margin:0 auto 26px;line-height:1.65;}
.hero-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;font-size:13.5px;color:var(--ink-2);}
.hero-meta span{display:inline-flex;align-items:center;gap:7px;}
.hero-meta i{font-size:17px;color:var(--accent);}

.matcher-section{padding:28px 0 64px;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:24px 24px 20px;}

.app-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.app-kicker{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2);}
.app-kicker i{font-size:15px;color:var(--accent);}
.app-stepcount{font-size:13px;color:var(--ink-3);}

.meter{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin-bottom:18px;}
.meter-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px;}
.meter-label{font-size:13px;color:var(--ink-2);}
.meter-num{font-size:18px;font-weight:600;}
.meter-track{height:8px;background:var(--surface-3);border-radius:99px;overflow:hidden;}
.meter-fill{height:100%;width:0;background:var(--ink-3);border-radius:99px;transition:width .4s ease, background .4s ease;}
.meter-caption{font-size:12px;color:var(--ink-3);margin-top:6px;}

.progress{height:4px;background:var(--surface-3);border-radius:99px;overflow:hidden;margin-bottom:22px;}
.progress-fill{height:100%;width:0;background:var(--accent);transition:width .3s ease;}

.stage{min-height:200px;}

.q-title{font-family:var(--font-display);font-weight:500;font-size:21px;letter-spacing:-.01em;margin:0 0 20px;}
.opts{display:flex;flex-direction:column;gap:9px;}
.opt{display:flex;align-items:center;gap:13px;text-align:left;width:100%;padding:13px 15px;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);font-family:inherit;font-size:15px;color:var(--ink);cursor:pointer;transition:border-color .15s, background .15s, transform .05s;}
.opt:hover{border-color:var(--accent);background:var(--surface-2);}
.opt:active{transform:scale(.995);}
.opt:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-line);border-color:var(--accent);}
.opt i{font-size:20px;color:var(--accent);flex-shrink:0;}
.opt.sel{border-color:var(--accent);background:var(--accent-bg);}
.opt.bad{border-color:var(--danger-line);background:var(--danger-bg);}
.opt.bad i{color:var(--danger);}
.opt .spacer{flex:1;}
.opt .ban{color:var(--danger);font-size:16px;}

.inline-warn{margin-top:12px;display:flex;gap:9px;align-items:flex-start;background:var(--danger-bg);border:1px solid var(--danger-line);color:var(--danger);padding:11px 13px;border-radius:var(--radius);font-size:13px;line-height:1.5;}
.inline-warn i{font-size:18px;flex-shrink:0;}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;font-size:15px;font-weight:500;padding:11px 20px;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .15s, border-color .15s, transform .05s;text-decoration:none;}
.btn:hover{background:var(--surface-2);border-color:var(--line-strong);}
.btn:active{transform:scale(.98);}
.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-line);}
.btn i{font-size:17px;}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;}
@media (prefers-color-scheme: dark){.btn-primary{color:#14150f;}}
.btn-primary:hover{background:var(--accent);border-color:var(--accent);}
.btn-accent{border-color:var(--accent);color:var(--accent);}
.btn-ghost{border:none;background:none;color:var(--ink-2);padding:6px 2px;}
.btn-ghost:hover{background:none;color:var(--ink);}
.btn-block{width:100%;}
.back-link{margin-top:16px;}

.center-screen{text-align:center;padding:20px 6px 6px;display:flex;flex-direction:column;align-items:center;}
.badge-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:28px;}
.badge-info{background:var(--info-bg);color:var(--info);}
.badge-success{background:var(--success-bg);color:var(--success);}
.badge-danger{background:var(--danger-bg);color:var(--danger);}
.screen-title{font-family:var(--font-display);font-weight:500;font-size:23px;letter-spacing:-.01em;margin:0 0 10px;max-width:22ch;}
.screen-lede{font-size:14.5px;color:var(--ink-2);line-height:1.6;max-width:44ch;margin:0 0 8px;}
.screen-sub{font-size:13px;color:var(--ink-3);margin:0 0 20px;}
.checklist{display:flex;flex-direction:column;gap:10px;margin:6px 0 24px;text-align:left;}
.checklist div{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2);}
.checklist i{font-size:18px;color:var(--success);flex-shrink:0;}

.result-head{text-align:center;padding:6px 0 0;}
.result-kicker{font-size:13px;color:var(--ink-2);margin-bottom:4px;}
.result-prog{font-family:var(--font-display);font-weight:500;font-size:23px;margin-bottom:4px;}
.result-code{font-size:12px;color:var(--ink-3);letter-spacing:.04em;margin-bottom:10px;}
.result-why{font-size:14.5px;color:var(--ink-2);line-height:1.6;max-width:46ch;margin:0 auto;}
.result-inelig{background:var(--danger-bg);color:var(--danger);font-size:13px;line-height:1.5;padding:11px 13px;border-radius:var(--radius);max-width:44ch;margin:0 auto;border:1px solid var(--danger-line);}

.flags{margin-top:22px;border-radius:var(--radius);padding:15px 16px;}
.flags.note{background:var(--warn-bg);border:1px solid var(--warn-line);}
.flags.block{background:var(--danger-bg);border:1px solid var(--danger-line);}
.flags-head{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;margin-bottom:11px;}
.flags.note .flags-head{color:var(--warn);}
.flags.block .flags-head{color:var(--danger);}
.flags-head i{font-size:19px;}
.flag-row{display:flex;gap:9px;font-size:13px;color:var(--ink);margin-bottom:9px;line-height:1.5;}
.flag-row:last-child{margin-bottom:0;}
.flag-row i{font-size:16px;flex-shrink:0;margin-top:1px;}
.flag-row.note i{color:var(--warn);}
.flag-row.block i{color:var(--danger);}

.result-actions{display:flex;gap:10px;margin-top:22px;}
.result-actions .btn{flex:1;}
.result-note{font-size:11px;color:var(--ink-3);margin-top:16px;line-height:1.5;text-align:center;}

.form{display:flex;flex-direction:column;gap:13px;max-width:460px;margin:0 auto;}
.field label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:5px;}
.field .optional{color:var(--ink-3);}
.input,.textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px 12px;transition:border-color .15s, box-shadow .15s;}
.input{height:42px;}
.textarea{resize:vertical;min-height:60px;line-height:1.5;}
.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-line);}
.input::placeholder,.textarea::placeholder{color:var(--ink-3);}
.form-err{display:none;font-size:13px;color:var(--danger);align-items:flex-start;gap:6px;line-height:1.5;}
.form-err i{font-size:16px;flex-shrink:0;margin-top:1px;}
.form-err a{color:inherit;text-decoration:underline;}

.btn[disabled]{opacity:.6;pointer-events:none;}
@keyframes qw-spin{to{transform:rotate(360deg);}}
.btn[disabled] .ti-loader-2{animation:qw-spin .8s linear infinite;}

.summary{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px;margin:0 auto 4px;max-width:460px;text-align:left;}
.summary-title{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px;}
.summary-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:3px 0;}
.summary-row .k{color:var(--ink-2);}
.summary-row .v{color:var(--ink);font-weight:500;text-align:right;}

.site-footer{border-top:1px solid var(--line);background:var(--surface);padding:28px 0 40px;}
.footer-inner{font-size:12.5px;color:var(--ink-3);line-height:1.6;}
.footer-disclaimer{margin:0 0 10px;}
.footer-contact{margin:0 0 10px;color:var(--ink-2);}
.footer-legal{margin:0;}

@media (max-width:480px){
  .card{padding:18px 16px 16px;border-radius:12px;}
  .result-actions{flex-direction:column;}
  .hero{padding:40px 0 12px;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important;}
  .btn[disabled] .ti-loader-2{animation:none !important;}
}
