@font-face{font-family:Inter;src:url('./inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#04223d;--purple:#8176ff;--accent:#5548c8;--soft:#f4f3fc;--muted:#586879;--line:#e1e5ed;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#f8f9fc;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 10% 80%,#ece9ff 0,transparent 48%)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}header,main,footer{max-width:1320px;margin:auto}header{padding:34px 40px 20px;display:flex;justify-content:space-between;align-items:center}.logo{width:182px;height:auto}.header-note{font-size:13px;color:var(--muted)}main{padding:32px 40px 28px;display:grid;grid-template-columns:.88fr 1.12fr;gap:65px;align-items:center;min-height:760px}.intro{padding:12px 0}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:750;display:flex;align-items:center;gap:9px;color:var(--accent)}.dot{width:7px;height:7px;background:var(--purple);border-radius:50%}h1{font-size:44px;line-height:1.16;letter-spacing:-1.9px;font-weight:650;margin:24px 0}h1 em{font-style:normal;color:var(--accent)}.intro>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:400px}.intro .intro-foot{font-size:13px;line-height:1.7;margin-top:24px}.illustration{height:210px;position:relative;width:340px;max-width:100%;display:grid;place-items:center}.orbit{width:240px;height:190px;border:1px solid #d8d2f7;border-radius:50%;transform:rotate(-13deg);position:absolute;background:radial-gradient(ellipse,#e8e4fb,transparent 70%)}.orbit:after{content:'';position:absolute;width:10px;height:10px;border-radius:50%;background:var(--purple);right:10px;top:30px;box-shadow:0 0 0 6px #f4f2ff}.townhall{position:relative;width:150px;height:125px;margin-top:0}.roof{position:absolute;top:25px;left:0;width:150px;height:34px;background:var(--ink);clip-path:polygon(50% 0,100% 100%,0 100%)}.building{position:absolute;top:61px;left:10px;width:130px;height:57px;background:#fff;border:1px solid #dbd8ea;display:flex;justify-content:space-evenly;padding:10px 8px}.building i{height:22px;width:10px;background:#b1a9fa;border-radius:5px 5px 0 0}.building b{position:absolute;bottom:0;width:16px;height:27px;background:var(--ink);border-radius:8px 8px 0 0}.steps{position:absolute;width:158px;height:6px;background:#b8afec;left:-4px;bottom:0;border-radius:2px}.flag{position:absolute;left:74px;top:0;height:29px;width:2px;background:var(--ink)}.flag:after{content:'';position:absolute;top:0;left:2px;height:13px;width:25px;background:linear-gradient(90deg,#6d79b6 33%,#fff 33%,#fff 66%,#d999ad 66%);border-radius:0 2px 2px 0}.illus-label{position:absolute;bottom:0;font-size:11px;color:#67758a;letter-spacing:.2px}.form-card{background:#fff;border:1px solid #e7e7f1;border-radius:26px;padding:32px;box-shadow:0 15px 55px #14294d08;min-width:0;min-height:590px;display:flex;flex-direction:column;justify-content:center}.progress{margin-bottom:34px}.progress ol{display:flex;list-style:none;padding:0;margin:0;gap:14px;justify-content:space-between}.progress li{font-size:11px;color:#6b7686;display:flex;align-items:center;gap:6px;white-space:nowrap}.progress li span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f1f2f6;font-size:11px}.progress li[aria-current]{color:var(--accent);font-weight:650}.progress li[aria-current] span{background:var(--accent);color:#fff}fieldset{border:0;margin:0;padding:0;min-width:0}legend{font-size:25px;font-weight:650;letter-spacing:-.7px;line-height:1.25;padding:0;width:100%}.helper{color:var(--muted);font-size:13px;line-height:1.6;margin:12px 0 24px}.choice{position:relative;display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:16px;padding:22px 18px;margin-bottom:13px;min-height:108px;cursor:pointer}.choice:has(input:checked){background:#f5f3ff;border-color:var(--purple);box-shadow:0 0 0 1px var(--purple)}.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.choice:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:4px}.choice strong{font-size:15px;font-weight:650;display:block;margin-bottom:6px}.choice small{font-size:12px;line-height:1.6;color:var(--muted);display:block}.choice-icon{flex:0 0 41px;height:41px;display:grid;place-items:center;background:#f0edff;border-radius:11px;font-size:31px;color:var(--accent)}.people{font-size:26px}.radio-dot{width:20px;height:20px;border:1.5px solid #bbc3d0;border-radius:50%;flex-shrink:0;margin-left:auto}.choice:has(input:checked) .radio-dot{border:6px solid var(--accent);background:white}.soft-note{font-size:11px;color:var(--muted);line-height:1.6;margin:24px 0}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:28px}.primary,.secondary{min-height:52px;border:0;border-radius:12px;padding:14px 19px;font-size:13px;font-weight:600}.primary{background:var(--ink);color:white;display:flex;align-items:center;justify-content:center;gap:20px;margin-left:auto}.primary:hover{background:#123956}.secondary{background:#f1f2f7;color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.shared-note{font-size:10px;line-height:1.5;color:#6a7484;text-align:center;margin:24px 0 0}.shared-note span{color:var(--accent);margin-right:4px}.field{display:block;font-size:12px;font-weight:600;margin-bottom:16px}.field input,.field select,.field textarea{display:block;width:100%;border:1px solid #cdd4df;border-radius:10px;background:#fff;color:var(--ink);font-size:16px;min-height:50px;padding:12px;margin-top:7px;min-width:0;appearance:auto}.field textarea{resize:vertical;line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:#7e8795;font-size:13px;font-weight:400}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.optional{font-size:10px;font-weight:400;color:var(--muted);margin-left:5px}.check{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.6;min-height:48px;cursor:pointer}.check input{height:22px;width:22px;flex-shrink:0;accent-color:var(--accent)}.flexible{background:#f6f5fc;border-radius:10px;padding:10px;margin:15px 0}.consent{margin-top:2px;align-items:flex-start}.consent input{margin-top:3px}.privacy{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0 0}.privacy a{color:var(--accent);text-underline-offset:3px}.slot{display:grid;grid-template-columns:1.1fr 1fr 44px;gap:10px;align-items:end}.slot .field{margin-bottom:10px}.remove-slot{width:44px;height:50px;margin-bottom:10px;border:0;border-radius:10px;background:#f4f4f8;color:var(--muted);font-size:22px}.add-slot{background:transparent;border:1px dashed #b9b1ed;border-radius:10px;min-height:46px;width:100%;font-size:12px;color:var(--accent);font-weight:550}.error{background:#fff2f2;border:1px solid #efcaca;border-radius:10px;padding:12px;font-size:13px;color:#9b2222;line-height:1.5}#success{text-align:center;padding:30px 4px}#success .eyebrow{justify-content:center;margin:28px 0 0}.success-icon{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:#eeebff;color:var(--accent);font-size:32px;margin:auto}h2{font-size:29px;letter-spacing:-.8px;font-weight:650}#success>p{font-size:14px;line-height:1.8;color:var(--muted)}#success .primary{margin:34px auto 20px}#success .privacy{font-size:11px}footer{padding:12px 40px 28px;display:flex;align-items:center;justify-content:space-between;color:#758192;font-size:10px}footer button{min-height:44px;background:transparent;border:0;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}dialog{border:1px solid var(--line);border-radius:20px;padding:28px;max-width:95vw;width:510px;color:var(--ink)}dialog::backdrop{background:#04223d66}dialog p{font-size:14px;line-height:1.6}.honey,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1250px){main{min-height:760px}.form-card{padding:38px}}
@media(max-width:1100px){header{padding:30px 32px 10px}main{gap:30px;padding:25px 32px;grid-template-columns:.8fr 1.2fr}h1{font-size:36px}.intro>p{font-size:14px}.form-card{padding:27px}.progress ol{gap:7px}.progress li{font-size:10px}.choice{padding:18px 14px}.choice-icon{flex-basis:33px}.field-grid{grid-template-columns:1fr}.field{margin-bottom:13px}.field-grid{gap:0}.form-card:has([data-step="2"]:not([hidden])){min-height:750px}}
@media(max-width:900px){header{padding:28px 32px}main{display:block;max-width:720px;min-height:0;padding:12px 32px 24px}.intro{padding:0 4px 24px}.eyebrow{font-size:9px}h1{font-size:37px;line-height:1.15;margin:15px 0}h1 br{display:none}.intro>p{font-size:14px;max-width:540px;margin-bottom:0}.illustration,.intro .intro-foot{display:none}.form-card{min-height:530px;padding:30px}.field-grid{grid-template-columns:1fr 1fr;gap:14px}.form-card:has([data-step="2"]:not([hidden])){min-height:0}footer{max-width:720px;padding:0 32px 22px}.progress{margin-bottom:26px}.progress li{font-size:11px}}
@media(max-width:540px){header{padding:22px 20px 12px}.logo{width:146px}.header-note{font-size:10px;max-width:85px;text-align:right;line-height:1.5}main{padding:12px 16px 20px}.intro{padding-bottom:22px}h1{font-size:30px;letter-spacing:-1.2px}.intro>p{font-size:13px}.form-card{padding:24px 19px;border-radius:20px;min-height:0}legend{font-size:23px}.choice{gap:10px}.choice strong{font-size:14px}.choice small{font-size:11px}.choice-icon{flex-basis:31px}.progress li{font-size:9px;gap:4px}.progress li span{width:23px;height:23px}.progress ol{gap:5px}.field-grid{grid-template-columns:1fr;gap:0}.slot{gap:7px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 36px}.slot .field input,.slot .field select{font-size:14px;padding:10px 7px}.remove-slot{width:36px}.actions{gap:7px}.primary,.secondary{padding:13px;font-size:12px}.primary{gap:9px}.shared-note{font-size:9px}footer{padding:0 20px 20px;flex-direction:column;gap:4px}dialog .actions{flex-direction:column}dialog .primary{margin:0}}

/* Callback flow and iOS native date controls: keep every field within its own track. */
.field,.slot .field{min-width:0;max-width:100%}.slot{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 44px}.slot input,.slot select{max-width:100%;min-inline-size:0}.slot input[type=date]{-webkit-appearance:none;appearance:none;display:block;min-height:50px}.slot input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0}.actions{flex-wrap:wrap}.actions .primary{min-width:0;max-width:100%;white-space:normal;text-align:center}.form-card .choice{min-width:0}.choice>span:not(.choice-icon):not(.radio-dot){min-width:0}
@media(max-width:540px){.slot{grid-template-columns:minmax(0,1fr) 36px;gap:0 8px}.slot:has(.remove-slot[hidden]){grid-template-columns:minmax(0,1fr)}.slot .field{grid-column:1;width:100%;margin-bottom:14px}.slot .remove-slot{grid-column:2;grid-row:1 / span 2;align-self:center;margin:0}.slot .field input,.slot .field select{font-size:16px;min-height:50px}.actions .primary{flex:1}.actions .secondary{flex:0 0 auto}}
@media(max-width:360px){.actions{flex-direction:column}.actions .primary,.actions .secondary{width:100%;margin-left:0}.progress li{white-space:normal}}
