/* Sonic Funnel: full-page funnel. One screen, no scroll, Back only. Colors/fonts come from :root --sf-* vars (config). */
html,body{height:100%;margin:0}
body.sf-funnel-page{font-family:var(--sf-body);color:var(--sf-ink);background:var(--sf-bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
.js body.sf-funnel-page{overflow:hidden}
.sf-funnel-page *,.sf-funnel-page *::before,.sf-funnel-page *::after{box-sizing:border-box}
.sf-funnel-page h1,.sf-funnel-page h2,.sf-funnel-page p,.sf-funnel-page dl,.sf-funnel-page dd{margin:0}
.sf-funnel-page :focus-visible{outline:3px solid var(--sf-cta);outline-offset:3px;border-radius:4px}
.sf-icon{width:20px;height:20px;flex-shrink:0}
.sf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.sf-page{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr)}
.js .sf-page{height:100vh;height:100dvh}
.sf-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 28px;border-bottom:1px solid var(--sf-muted)}
.sf-back{justify-self:start;display:inline-flex;align-items:center;gap:6px;background:none;border:0;font:600 14px var(--sf-body);color:var(--sf-muted-ink);cursor:pointer;padding:10px 0;min-height:44px}
.sf-back:hover{color:var(--sf-ink)}
.sf-back .sf-icon{width:16px;height:16px}
.sf-brand{font-family:var(--sf-display);font-size:17px;letter-spacing:.02em;text-align:center}
.sf-brand img{max-height:40px;width:auto;display:block}
.sf-call{justify-self:end;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 16px;border-radius:99px;background:var(--sf-ink);color:#fff;font-weight:700;font-size:14.5px;text-decoration:none;white-space:nowrap}
.sf-call:hover{background:var(--sf-primary)}
.sf-call .sf-icon{width:17px;height:17px;color:var(--sf-cta)}
.sf-call-label{display:none}
.sf-bar{height:4px;background:var(--sf-muted)}
.sf-bar i{display:block;height:100%;width:0;background:var(--sf-accent);transition:width .4s ease}

.sf-stage{display:flex;align-items:center;justify-content:center;padding:20px 24px;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.sf-stage>#sf-form{margin:auto 0}
#sf-form{width:100%;max-width:620px}
.sf-notice{background:#fff6d6;border:1px solid var(--sf-cta);border-radius:10px;padding:10px 14px;font-size:14px;text-align:center;margin-bottom:16px}
.sf-step{border:0;margin:0;padding:0;min-width:0}
.js .sf-step{display:none}
.js .sf-step.on{display:block;animation:sf-in .3s ease}
.sf-step+.sf-step{margin-top:56px}
.js .sf-step+.sf-step{margin-top:0}
@keyframes sf-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.sf-step legend,.sf-step h2{display:block;width:100%;padding:0;text-align:center;font-family:var(--sf-display);font-size:clamp(22px,2.4vw,30px);font-weight:800;letter-spacing:-.02em;line-height:1.15}
.sf-hint{text-align:center;color:var(--sf-muted-ink);font-size:14.5px;margin:8px 0 22px!important;line-height:1.5}

.sf-opts-col{display:grid;gap:12px;max-width:520px;margin:0 auto}
.sf-o{position:relative}
.sf-o input{position:absolute;opacity:0;pointer-events:none}
.sf-o label{display:flex;align-items:center;gap:12px;border:1.5px solid var(--sf-line);border-radius:14px;padding:16px 18px;font-size:15.5px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s;min-height:66px}
.sf-o label small{display:block;font-weight:400;font-size:13px;color:var(--sf-muted-ink);margin-top:3px}
.sf-o label em{width:26px;height:26px;color:var(--sf-accent);flex-shrink:0;display:grid}
.sf-o label em .sf-icon{width:26px;height:26px}
.sf-o label::after{content:"";margin-left:auto;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--sf-line);flex-shrink:0}
.sf-o label:hover{border-color:var(--sf-accent);background:var(--sf-tint)}
.sf-o input:checked+label{border-color:var(--sf-accent);background:var(--sf-tint);box-shadow:inset 0 0 0 1px var(--sf-accent)}
.sf-o input:checked+label::after{border:6px solid var(--sf-accent)}
.sf-o input:focus-visible+label{outline:3px solid var(--sf-cta);outline-offset:2px}

.sf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.sf-fld label{display:block;font-size:13px;font-weight:600;margin-bottom:6px}
.sf-fld input{width:100%;border:1.5px solid var(--sf-line);border-radius:12px;padding:13px 14px;font:400 16px var(--sf-body);color:var(--sf-ink);background:#fff}
.sf-fld input:focus{outline:none;border-color:var(--sf-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--sf-accent) 22%,transparent)}
.sf-err{display:none;color:#b42318;font-size:12.5px;margin-top:5px}
.sf-fld.bad input{border-color:#b42318}.sf-fld.bad .sf-err{display:block}
.sf-fld.good input{border-color:#146c43}
.sf-full{grid-column:1/-1}
.sf-btn{display:flex;align-items:center;justify-content:center;background:var(--sf-cta);color:var(--sf-cta-ink);padding:16px 28px;border-radius:12px;font:800 16px var(--sf-body);border:0;cursor:pointer;width:100%;margin-top:18px;min-height:52px;transition:transform .15s,opacity .15s}
.sf-btn:hover{transform:translateY(-2px)}
.sf-btn.is-waiting{opacity:.55;transform:none}
.sf-btn[disabled]{opacity:.7;cursor:progress}
.sf-fine{font-size:12px;color:var(--sf-muted-ink);text-align:center;margin-top:10px!important}

.sf-done{text-align:center}
.sf-done:focus{outline:none}
.sf-ok{width:60px;height:60px;border-radius:50%;background:#d9f0e4;color:#146c43;display:grid;place-items:center;margin:0 auto 18px}
.sf-ok .sf-icon{width:28px;height:28px;stroke-width:2.2}
.sf-done p{color:var(--sf-muted-ink);font-size:15.5px;line-height:1.6;margin:10px auto 0!important;max-width:440px}
.sf-summary{margin:22px auto 0;max-width:420px;text-align:left;border-top:1px solid var(--sf-muted);padding-top:16px;display:grid;gap:8px;font-size:14px}
.sf-summary div{display:flex;justify-content:space-between;gap:16px}
.sf-summary dt{color:var(--sf-muted-ink)}
.sf-summary dd{font-weight:700;text-align:right}
.sf-home{display:inline-block;margin-top:24px;color:var(--sf-accent);font-weight:700;font-size:14.5px}

.sf-strip{background:var(--sf-ink);color:#fff;padding:14px 28px}
.sf-strip-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.sf-proof{display:flex;gap:26px}
.sf-proof div{display:flex;align-items:baseline;gap:7px;white-space:nowrap}
.sf-proof b{font-family:var(--sf-display);font-size:20px;font-weight:800;color:var(--sf-cta)}
.sf-proof span{font-size:12.5px;opacity:.8}
.sf-promise{display:flex;gap:20px;font-size:13px;opacity:.9}
.sf-promise div{display:flex;align-items:center;gap:8px;white-space:nowrap}
.sf-promise div::before{content:"";width:12px;height:2px;background:var(--sf-cta)}

@media (max-height:760px){.sf-top{padding:8px 28px}.sf-stage{padding:12px 24px}.sf-hint{margin:6px 0 16px!important}.sf-o label{min-height:58px;padding:12px 16px}.sf-fld input{padding:11px 13px}.sf-btn{padding:14px;margin-top:14px}}
@media (max-width:1180px){.sf-promise{display:none}}
@media (max-width:640px){
  .sf-top{padding:6px 16px}.sf-brand{font-size:14px}
  .sf-call-num{display:none}.sf-call-label{display:inline}.sf-call{padding:9px 14px}
  .sf-stage{align-items:flex-start;padding:18px 16px}
  .sf-opts-col{gap:10px}.sf-o label{min-height:56px;padding:12px 14px}
  .sf-grid{grid-template-columns:1fr;gap:10px}.sf-fld input{padding:11px 12px}
  .sf-strip{padding:10px 16px}.sf-strip-in{justify-content:center}
  .sf-proof{width:100%;justify-content:space-around;gap:8px}.sf-proof div{flex-direction:column;align-items:center;gap:2px}.sf-proof b{font-size:17px}.sf-proof span{font-size:10.5px}
}

@media (prefers-reduced-motion:reduce){.js .sf-step.on{animation:none}.sf-bar i,.sf-btn{transition:none}.sf-btn:hover{transform:none}}
