:root{
  --ink:#15140f; --ink-soft:#5c5a52; --paper:#ffffff; --line:rgba(21,20,15,0.12);
  --teal:#0f6e56; --teal-bg:#e1f5ee; --teal-text:#04342c;
  --indigo:#1d3461; --indigo-bg:#e7ecf5; --indigo-text:#0c1830;
  --accent:#0f6e56; --accent-bg:#e1f5ee; --accent-text:#04342c;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
.wrap{max-width:640px;margin:0 auto;padding:2.5rem 1.5rem 4rem;}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;margin:0;}
p{margin:0;}
a{color:var(--accent);}

header{display:flex;align-items:center;gap:14px;margin-bottom:2rem;}
.mark{width:40px;height:40px;flex-shrink:0;}
.wordmark{font-size:14px;letter-spacing:0.04em;color:var(--ink-soft);text-transform:uppercase;}
.wordmark b{color:var(--ink);}

.hero h1{font-size:32px;line-height:1.15;margin-bottom:.5rem;}
.hero p{font-size:16px;color:var(--ink-soft);margin-bottom:1.75rem;}

.cards{display:flex;flex-direction:column;gap:12px;margin-top:1.5rem;}
.card{
  display:block;padding:20px;border-radius:14px;border:1px solid var(--line);
  text-decoration:none;color:var(--ink);transition:border-color .15s;
}
.card:hover{border-color:var(--accent);}
.card h2{font-size:18px;margin-bottom:4px;}
.card p{font-size:14px;color:var(--ink-soft);}
.card.soon{opacity:.5;pointer-events:none;}

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

.question{margin-bottom:1.5rem;}
.question label{display:block;font-size:14px;font-weight:500;margin-bottom:10px;}
.options{display:flex;flex-wrap:wrap;gap:8px;}
.opt{
  padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--paper);
  font-family:'Inter',sans-serif;font-size:13px;color:var(--ink);cursor:pointer;transition:all .15s;
}
.opt:hover{border-color:var(--accent);}
.opt.selected{background:var(--accent);border-color:var(--accent);color:#fff;}

.cta{
  width:100%;padding:14px;border-radius:10px;border:none;background:var(--accent);color:#fff;
  font-family:'Inter',sans-serif;font-size:15px;font-weight:600;cursor:pointer;margin-top:.5rem;
  transition:opacity .15s;
}
.cta:disabled{opacity:.35;cursor:not-allowed;}

.result{margin-top:2rem;padding:1.5rem;border-radius:14px;background:var(--accent-bg);border:1px solid var(--line);display:none;}
.result.show{display:block;}
.result .eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-text);opacity:.7;margin-bottom:8px;}
.result p{font-size:15px;color:var(--accent-text);}
.loading{display:flex;gap:6px;align-items:center;color:var(--accent-text);font-size:14px;}
.dot{width:6px;height:6px;border-radius:50%;background:var(--accent-text);animation:pulse 1.2s infinite ease-in-out;}
.dot:nth-child(2){animation-delay:.2s;} .dot:nth-child(3){animation-delay:.4s;}
@keyframes pulse{0%,80%,100%{opacity:.25;}40%{opacity:1;}}

.leadform{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--line);}
.leadform h3{font-size:16px;margin-bottom:4px;}
.leadform .hint{font-size:13px;color:var(--ink-soft);margin-bottom:1rem;}
.field{margin-bottom:10px;}
.field input{
  width:100%;padding:11px 12px;border-radius:8px;border:1px solid var(--line);
  font-family:'Inter',sans-serif;font-size:14px;background:var(--paper);color:var(--ink);
}
.field input:focus{outline:2px solid var(--accent);outline-offset:1px;}

.confirm{display:none;text-align:center;padding:1.5rem 0;}
.confirm.show{display:block;}
.confirm .check{width:36px;height:36px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;font-size:18px;}
.confirm p{color:var(--ink-soft);font-size:14px;}

footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);}
footer .note{font-size:12px;color:var(--ink-soft);}
footer a{color:var(--ink-soft);}
