
:root{
  --bg:#f7f9fc;
  --ink:#0d2238;
  --muted:#5f7183;
  --brand:#0d63d7;
  --brand2:#094aa5;
  --card:#ffffff;
  --line:#dce5ee;
  --success:#0b7a55;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.5}
button,input,select{font:inherit}
.topbar{max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:20px 24px}
.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:900;font-size:24px}.brand-name{font-weight:850;font-size:19px}.brand-sub{font-size:12px;color:var(--muted)}
.secure-note{font-size:13px;color:var(--muted)}
.hero{max-width:980px;margin:26px auto 42px;padding:68px 28px;text-align:center;background:linear-gradient(180deg,#fff 0,#f4f8ff 100%);border:1px solid var(--line);border-radius:28px;box-shadow:0 20px 55px rgba(13,34,56,.08)}
.eyebrow{font-size:13px;font-weight:900;letter-spacing:.13em;color:var(--brand);margin-bottom:14px}
h1{font-size:clamp(40px,7vw,76px);line-height:.98;margin:0 0 24px;letter-spacing:-.045em}h1 span{color:var(--brand)}
.lead{max-width:760px;margin:0 auto 28px;font-size:20px;color:#31475e}
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:760px;margin:0 auto 30px;text-align:left}.benefits div{background:#fff;border:1px solid var(--line);padding:14px 16px;border-radius:12px;font-weight:650}
.primary,.secondary,.choice{border:0;border-radius:13px;cursor:pointer;transition:.18s ease}
.primary{background:var(--brand);color:white;padding:15px 22px;font-weight:850}.primary:hover{background:var(--brand2);transform:translateY(-1px)}
.large{font-size:17px;padding:18px 28px}.micro{font-size:12px;color:var(--muted);margin-top:14px}.hidden{display:none!important}
.funnel{max-width:760px;margin:18px auto 54px;padding:0 20px}
.progress-wrap{margin-bottom:18px}.progress-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:7px}.progress{height:7px;background:#e7edf4;border-radius:99px;overflow:hidden}.progress div{height:100%;width:8%;background:var(--brand);transition:width .25s}
.step{display:none;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:0 16px 42px rgba(13,34,56,.07)}.step.active{display:block}
.step h2{font-size:clamp(28px,4vw,40px);line-height:1.08;margin:0 0 10px;letter-spacing:-.03em}.helper{color:var(--muted);margin:0 0 24px}
.choices{display:grid;gap:11px}.choice{width:100%;padding:16px 17px;background:#f8fafc;border:1px solid var(--line);color:var(--ink);font-weight:750;text-align:left}.choice:hover,.choice.selected{border-color:var(--brand);background:#eff6ff}.choice.featured{background:#eef5ff;border-color:#b9d3f5}
.field-label{display:block;font-size:13px;font-weight:800;margin:18px 0 7px}input,select{width:100%;padding:15px;border:1px solid #cbd7e3;border-radius:12px;background:#fff;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(13,99,215,.1)}
.step>.primary{margin-top:22px;width:100%}.money-input{display:flex;align-items:center;border:1px solid #cbd7e3;border-radius:12px;padding-left:14px}.money-input input{border:0}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checkbox-grid label,.consent{display:flex;gap:10px;align-items:flex-start;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fafcff}.checkbox-grid input,.consent input{width:auto;margin-top:4px}
.option-card{background:#f3f8ff;border:1px solid #cbdff7;border-radius:16px;padding:22px;margin-bottom:18px}.option-card h2{font-size:32px}.notice{font-size:13px;color:#41566a;background:#fff;padding:14px;border-radius:10px}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consent{margin-top:20px;font-size:12px;color:#536679}.error{color:#b42318;font-weight:700}
.back-wrap{text-align:center;margin-top:12px}.back{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:10px}
.result-card{text-align:center}.success-icon{width:64px;height:64px;border-radius:50%;background:#e8f7f0;color:var(--success);display:grid;place-items:center;margin:0 auto 16px;font-size:32px;font-weight:900}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;margin:25px 0}.compare-box{border:1px solid var(--line);padding:18px;border-radius:14px;background:#fafcff}.compare-box h3{margin-top:0}.compare-box ul{padding-left:20px}.result-headline{font-size:27px;margin:28px 0 18px}.button-link{display:block;text-decoration:none;margin:10px 0}.secondary{padding:15px 22px;border:1px solid var(--brand);color:var(--brand);font-weight:800;background:#fff}
.trust{max-width:1100px;margin:30px auto 70px;padding:0 24px}.trust h2{text-align:center;font-size:32px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.trust article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.trust strong,.trust span{display:block}.trust span{margin-top:8px;color:var(--muted)}
footer{border-top:1px solid var(--line);max-width:1100px;margin:auto;padding:26px 24px 40px;color:#66788a;font-size:12px}
@media(max-width:700px){
  .topbar{padding:14px 16px}.secure-note{display:none}.hero{margin:8px 12px 28px;padding:42px 18px;border-radius:20px}.lead{font-size:17px}.benefits,.checkbox-grid,.two-col,.comparison,.trust-grid{grid-template-columns:1fr}.step{padding:24px 18px}.funnel{padding:0 12px}.option-card h2{font-size:27px}.trust{padding:0 14px}
}

.honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.confirmation-page{margin-top:40px}.confirmation-page .compare-box{margin-top:28px}.confirmation-page .button-link{margin-top:20px}
#bookingFrame{width:100%;min-height:880px;border:0;background:#fff}button:disabled{opacity:.65;cursor:wait}h2:focus{outline:none}a:focus-visible,button:focus-visible{outline:3px solid #0d2238;outline-offset:3px}
@media(max-width:700px){#bookingFrame{min-height:980px}.large{padding:18px 16px;font-size:16px}}

.person-row{border:1px solid var(--line);border-radius:14px;padding:16px;margin:0 0 16px;text-align:left}.person-row legend{font-weight:800;padding:0 6px}.person-row .field-label{margin-top:0}.person-row .remove-person{padding:8px 0;margin-top:8px}.person-row button[hidden]{display:none}#addPerson{margin-bottom:4px}
