.funnel-body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);min-height:100svh}.funnel-shell{min-height:100svh;display:flex;flex-direction:column;padding:clamp(18px,4vw,34px) var(--side);gap:clamp(20px,4vh,40px);max-width:1000px;margin:0 auto}.funnel-top{display:grid;gap:14px}.funnel-brand{font-family:var(--script);font-size:clamp(1.5rem,4vw,2rem);color:var(--ink);text-decoration:none;line-height:1}.funnel-meta{display:flex;align-items:center;justify-content:space-between;gap:16px}.funnel-back{font-family:var(--body);font-size:.9rem;color:var(--ink-soft);background:none;border:0;padding:6px 2px;cursor:pointer;transition:color .2s var(--ease)}.funnel-back:hover{color:var(--ink)}.funnel-count{font-variant-numeric:tabular-nums;color:var(--ink-soft)}.funnel-progress{height:2px;background:var(--line-soft);border-radius:2px;overflow:hidden}.funnel-progress i{display:block;height:100%;width:12.5%;background:var(--ink);transform-origin:left;transition:width .5s var(--ease-soft)}.funnel-stage{flex:1;display:flex;align-items:center}.step{width:100%;max-width:760px;display:none}.step.is-active{display:block}.step.is-entering{animation:step-in .5s var(--ease-soft) both}@keyframes step-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.step-eyebrow{display:block;margin-bottom:clamp(12px,2vh,20px);color:var(--blue)}.step-question{font-family:var(--display);font-weight:400;font-size:clamp(2rem,6.4vw,3.9rem);line-height:1.02;letter-spacing:-.01em;text-wrap:balance;margin:0 0 clamp(20px,4vh,36px)}.step-hint{color:var(--ink-soft);font-size:1rem;margin:-10px 0 26px;max-width:46ch}.options{display:grid;gap:10px}.options.is-grid{grid-template-columns:repeat(2,1fr)}.option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;font-family:var(--sans-display);font-size:clamp(1rem,2.4vw,1.15rem);font-weight:500;color:var(--ink);background:transparent;border:1px solid var(--line);padding:clamp(15px,2.4vw,20px) clamp(16px,2.6vw,22px);cursor:pointer;overflow:hidden;transition:border-color .2s var(--ease),color .2s var(--ease)}.option:before{content:"";position:absolute;inset:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-soft);z-index:-1}.option:hover,.option:focus-visible{border-color:var(--ink);outline:none}.option:hover:before,.option:focus-visible:before{transform:scaleX(1)}.option:hover,.option:focus-visible{color:var(--paper)}.option .tick{font-size:.85rem;opacity:0;transform:translate(-6px);transition:opacity .2s var(--ease),transform .2s var(--ease)}.option:hover .tick,.option:focus-visible .tick{opacity:1;transform:none}.option.is-chosen{background:var(--ink);color:var(--paper);border-color:var(--ink)}.option.is-chosen .tick{opacity:1;transform:none}.other-reveal{margin-top:14px;animation:step-in .35s var(--ease-soft) both}.field{display:grid;gap:8px;margin-bottom:18px}.field label{font:inherit}.field-input{font-family:var(--sans-display);font-size:clamp(1.15rem,3vw,1.5rem);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 2px;width:100%;transition:border-color .2s var(--ease)}.field-input::placeholder{color:var(--ink-soft);opacity:.7}.field-input:focus{outline:none;border-color:var(--ink)}.field-error{color:#c0442e;font-size:.85rem;min-height:1em}.hp{position:absolute;left:-9999px;opacity:0}.step-actions{margin-top:clamp(20px,4vh,34px);display:flex;align-items:center;gap:18px}.btn{font-family:var(--sans-display);font-size:1rem;font-weight:600;color:var(--paper);background:var(--ink);border:1px solid var(--ink);padding:14px 26px;cursor:pointer;transition:opacity .2s var(--ease),transform .2s var(--ease)}.btn:hover{opacity:.9}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--ink-soft);border-color:transparent;padding:14px 4px}.btn-ghost:hover{color:var(--ink);opacity:1}.booking-embed{border:1px dashed var(--line);padding:clamp(24px,6vw,60px);text-align:center;color:var(--ink-soft);display:grid;gap:14px;place-items:center}.cal-embed{width:100%;min-height:580px}.confirm{text-align:left}.confirm .step-question{color:var(--ink)}.funnel-foot{color:var(--ink-soft)}@media(max-width:560px){.options.is-grid{grid-template-columns:1fr}.step-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.step.is-entering{animation:none}.option:before{transition:none}}