:root{--ivory:#f2ede7;--card:#fffdfa;--ink:#181617;--mut:#6f6a62;--line:#c9c1b2;--hair:#e6dfd3;--navy:#0b1e3f;--navy2:#16305c;--blue:#889ab2;--blue-lt:#d3dde2;--sage-dk:#5f7052;--sage-bg:#e9eee4;--err:#b3402e;--errbg:#faeeea;--coral:#eb5f47;--req:#b53a24;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",sans-serif;--fs-micro:.75rem;--fs-xs:.8125rem;--fs-sm:.875rem;--fs-md:.9375rem;--fs-base:1rem;--fs-lead:1.0625rem;--fs-lg:1.1875rem;--fs-h2:clamp(1.625rem,6.4vw,1.875rem);--fs-hero:clamp(1.6875rem,6.8vw,2rem);--sp-1:.375rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.375rem;--sp-6:1.625rem;--ctl:2.75rem;--ctl-lg:3.25rem;--dock-h:4.75rem}*{box-sizing:border-box;margin:0}html{background:var(--ivory)}body{font-family:var(--font);background:var(--ivory);color:var(--ink);-webkit-font-smoothing:antialiased;font-size:var(--fs-base);line-height:1.5;overflow-x:hidden;overflow-wrap:break-word}#root{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1.125rem 1.25rem 0;max-width:72.5rem;margin:0 auto;width:100%}.logo-img{height:2.25rem;width:auto;display:block;max-width:60%}.langs{display:flex;gap:2px}.langs button{border:0;background:none;color:var(--mut);font:inherit;font-size:var(--fs-sm);font-weight:600;letter-spacing:.08em;padding:.5em .6em;min-height:var(--ctl);min-width:var(--ctl);cursor:pointer}.langs button.on{color:var(--navy);text-decoration:underline;text-underline-offset:4px}.prog-wrap{max-width:72.5rem;margin:var(--sp-4) auto 0;width:100%;padding:0 1.25rem;display:flex;flex-direction:column;gap:var(--sp-2)}.prog{display:flex;gap:var(--sp-1);width:100%}.prog-seg{position:relative;height:3px;flex:1;border:0;border-radius:2px;background:var(--hair);padding:0;cursor:default}.prog-seg:not(:disabled):after{content:"";position:absolute;left:0;right:0;top:-1.3rem;bottom:-1.3rem}.prog-seg.done{background:var(--navy)}.prog-seg.cur{background:var(--coral)}.prog-seg:not(:disabled){cursor:pointer}.prog-label{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);text-align:center}.main{flex:1;width:100%;max-width:72.5rem;margin:0 auto;padding:var(--sp-5) 1.25rem 9rem}.main.no-dock{padding-bottom:var(--sp-5)}.cols{display:grid;grid-template-columns:1fr;gap:0}.formcol{min-width:0;max-width:40rem;margin:0 auto;width:100%}.sidecol{display:none}h1.scr-title,h2{font-weight:800;font-size:var(--fs-h2);letter-spacing:-.02em;line-height:1.12;color:var(--navy);margin:.875rem 0 var(--sp-2)}.lead{color:var(--mut);font-size:var(--fs-lead);line-height:1.55;margin-bottom:var(--sp-6);max-width:56ch}.sub-h{display:block;font-size:var(--fs-lg);font-weight:700;letter-spacing:-.01em;color:var(--ink);margin:0 0 var(--sp-3)}hr.div{border:0;border-top:1px solid var(--hair);margin:var(--sp-6) 0}.req-note{font-size:var(--fs-sm);color:var(--mut);margin:-1rem 0 var(--sp-4)}.jg{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);margin-bottom:var(--sp-3)}.jf{position:relative;padding:.625rem 2.75rem .625rem .875rem;border-top:1px solid var(--hair);min-height:3.625rem;background:var(--card);display:block}.jf:first-child{border-top:0;border-radius:10px 10px 0 0}.jf:last-child{border-radius:0 0 10px 10px}.jf>span{display:block;font-size:var(--fs-xs);font-weight:600;letter-spacing:.04em;color:var(--mut);margin-bottom:2px}.jf>span b{color:var(--req);font-weight:700}.inp{width:100%;min-width:0;border:0;background:transparent;font:inherit;font-size:var(--fs-base);color:var(--ink);outline:none;padding:2px 0}.inp::placeholder{color:#b7b0a4}.jf:focus-within{box-shadow:inset 0 0 0 2px var(--navy)}.jf.badf{background:var(--errbg)}.inp.err{color:var(--err)}.inp.err::placeholder{color:#c99a90}.mk{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);font-size:var(--fs-base);font-weight:800}.mk.ok{color:var(--sage-dk)}.mk.err{color:var(--err)}select.inp{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%230b1e3f' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:1.625rem}.phone-row{display:flex;gap:0;align-items:center}.phone-row .dial{flex:0 0 8.25rem;width:8.25rem;max-width:45%;border-right:1px solid var(--hair);margin-right:var(--sp-3);padding-right:1.5rem}.errline{color:var(--err);font-size:var(--fs-sm);font-weight:600;margin:-.375rem 2px var(--sp-3)}.hint{color:var(--mut);font-size:var(--fs-sm);margin:-.375rem 2px .875rem}.code-inp{letter-spacing:.3em}.vrow{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);margin:-.25rem 2px var(--sp-4);flex-wrap:wrap}.vbtn{border:1px solid var(--navy);background:var(--card);color:var(--navy);border-radius:9px;padding:.65em 1.1em;font:inherit;font-size:var(--fs-md);font-weight:600;cursor:pointer;min-height:var(--ctl)}.vbtn:hover{background:var(--navy);color:#fff}.vbtn:disabled{border-color:var(--line);color:#b0a99c;cursor:default;background:var(--card)}.sent{color:var(--sage-dk);font-size:var(--fs-sm);font-weight:600}.linkbtn{border:0;background:none;color:var(--navy);font:inherit;font-size:var(--fs-md);font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.5em 0;min-height:var(--ctl)}.linkbtn:disabled{color:#b0a99c;cursor:default;text-decoration:none}.legal{background:var(--blue-lt);border:1px solid var(--blue);color:#33465e;border-radius:10px;padding:.75rem .875rem;font-size:var(--fs-md);line-height:1.5;margin:0 0 1.125rem}.nudge{background:var(--blue-lt);border:1px solid var(--blue);color:#33465e;border-radius:10px;padding:.625rem .8125rem;font-size:var(--fs-md);line-height:1.45;margin:-.25rem 0 var(--sp-4)}.person{border:1px solid var(--line);border-radius:10px;background:var(--card);margin-bottom:var(--sp-3);overflow:hidden}.row-head{display:flex;justify-content:space-between;align-items:center;padding:.625rem var(--sp-2) .625rem .875rem;border-bottom:1px solid var(--hair)}.sub-lbl{font-size:var(--fs-xs);font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}.row-remove{border:0;background:none;color:var(--mut);font-size:1.375rem;line-height:1;cursor:pointer;padding:.35em .55em;border-radius:8px;min-height:var(--ctl);min-width:var(--ctl)}.row-remove:hover{color:var(--coral);background:var(--errbg)}.person .jg{border:0;border-radius:0;margin:0}.person .jf:first-child,.person .jf:last-child{border-radius:0}.person .errline{margin:var(--sp-1) .875rem var(--sp-3)}.addbtn{border:1px dashed var(--line);background:none;color:var(--navy);border-radius:10px;padding:.85em 1.2em;font:inherit;font-size:var(--fs-base);font-weight:600;cursor:pointer;width:100%;margin-bottom:var(--sp-2);min-height:var(--ctl)}.addbtn:hover{border-color:var(--navy)}.kids{margin-bottom:var(--sp-1)}.sigwrap{position:relative;margin-bottom:var(--sp-1);max-width:33rem}.sigcanvas{width:100%;height:13.75rem;background:var(--card);border:1px solid var(--line);border-radius:10px;touch-action:none;display:block}.signote{color:var(--ink);background:var(--card);border:1px solid var(--coral);border-radius:10px;padding:.625rem .875rem;font-size:var(--fs-sm);line-height:1.5;margin:0 0 .875rem;max-width:33rem}.sigline{position:absolute;left:1.5rem;right:1.5rem;bottom:2.375rem;border-bottom:1px dashed var(--blue);pointer-events:none;opacity:.5}.sigx{position:absolute;left:1.5rem;bottom:2.625rem;color:var(--blue);font-size:var(--fs-md);pointer-events:none;opacity:.7}.sigclear{position:absolute;top:.625rem;right:.625rem;border:1px solid var(--line);background:var(--card);color:var(--navy);border-radius:8px;padding:.5em .9em;font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer;min-height:var(--ctl)}.optin{display:flex;gap:var(--sp-3);align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.875rem;margin-bottom:var(--sp-3);cursor:pointer;font-size:var(--fs-md);color:#4c4a45;line-height:1.5}.optin>span{min-width:0}.optin input{width:1.3125rem;height:1.3125rem;flex:none;margin-top:1px;accent-color:var(--navy)}.optin a{color:var(--navy);font-weight:600}.scard{background:var(--card);border:1px solid var(--hair);border-radius:12px;box-shadow:0 6px 20px #0b1e3f12;overflow:hidden;text-align:left}.scard .band{text-align:center;padding:1.125rem var(--sp-4) var(--sp-4);background:var(--navy)}.scard .band .over{display:block;font-size:var(--fs-micro);font-weight:700;letter-spacing:.28em;text-indent:.28em;color:var(--blue-lt);margin-bottom:var(--sp-1)}.scard .band .val{font-weight:700;font-size:var(--fs-lead);letter-spacing:.02em;color:#fff}.scard .in{padding:var(--sp-2) 1.25rem}.kv{display:flex;justify-content:space-between;gap:var(--sp-3);padding:.625rem 2px;font-size:var(--fs-md);border-top:1px solid var(--hair);flex-wrap:wrap}.kv:first-child{border-top:0}.kv span{color:var(--mut)}.kv b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.scard .safe{margin:var(--sp-2) .875rem var(--sp-4);background:var(--sage-bg);color:var(--sage-dk);font-size:var(--fs-sm);font-weight:600;border-radius:8px;padding:.5625rem var(--sp-3);text-align:center}.welcome{max-width:35rem;margin:0 auto;text-align:center}.welcome .hello{font-weight:800;font-size:var(--fs-hero);letter-spacing:-.02em;color:var(--navy);margin:.875rem 0 var(--sp-2)}.welcome .lead{margin:0 auto var(--sp-6)}.welcome .scard{margin-bottom:var(--sp-6)}.cta-start{width:100%;min-height:3.5rem;border:0;border-radius:11px;background:var(--navy);color:#fff;font:inherit;font-size:var(--fs-lead);font-weight:600;letter-spacing:.02em;cursor:pointer;padding:.75em 1.2em}.cta-start:hover{background:var(--navy2)}.plink{display:inline-block;margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--mut)}.plink a{color:var(--navy)}.done-wrap{max-width:35rem;margin:0 auto;text-align:center}.done-ic{width:5.75rem;height:5.75rem;border-radius:50%;background:var(--sage-dk);color:#fff;display:grid;place-items:center;font-size:2.75rem;margin:var(--sp-6) auto var(--sp-1)}.done-wrap h2{text-align:center;margin-top:.625rem}.reassure{color:var(--mut);font-size:var(--fs-base);line-height:1.6;max-width:44ch;margin:0 auto var(--sp-5);background:none;border:0;padding:0;text-align:center}.foot{max-width:72.5rem;margin:0 auto;width:100%;padding:var(--sp-1) 1.25rem 1.25rem;text-align:center;font-size:var(--fs-xs);color:#8f897d;line-height:1.7}#root:has(.dock) .foot{margin-bottom:calc(var(--dock-h) + .75rem)}.foot a{color:var(--navy);white-space:nowrap}.foot-legal{border:0}.dock{position:fixed;left:0;right:0;bottom:0;background:#f2ede7e6;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--hair);padding:var(--sp-3) 1.25rem calc(var(--sp-3) + env(safe-area-inset-bottom));z-index:40}.dock-in{display:flex;align-items:center;gap:.875rem;max-width:72.5rem;margin:0 auto}.dock-ctx{flex:1 1 4rem;min-width:0}.dock-ctx .s1{font-size:var(--fs-micro);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-ctx .s2{font-size:var(--fs-md);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cta{flex:0 1 auto;min-width:0;white-space:nowrap;min-height:var(--ctl-lg);border:0;border-radius:11px;background:var(--navy);color:#fff;font:inherit;font-size:var(--fs-base);font-weight:600;cursor:pointer;padding:.7em clamp(.8em,3vw,1.5em)}.cta:hover{background:var(--navy2)}.cta:disabled{background:#d9d2c4;color:#98917f;cursor:default}.btn-secondary{flex:0 1 auto;min-width:0;white-space:nowrap;min-height:var(--ctl-lg);border:1px solid var(--line);background:var(--card);color:var(--navy);border-radius:11px;padding:.7em clamp(.8em,2.5vw,1.25em);font:inherit;font-size:var(--fs-base);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1)}.btn-secondary:hover{border-color:var(--navy)}.btn-secondary:disabled{opacity:.5;cursor:default}.cookie-banner{position:fixed;left:var(--sp-3);right:var(--sp-3);bottom:calc(var(--dock-h) + var(--sp-3) + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--dock-h) - var(--sp-3) - var(--sp-3) - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;z-index:60;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #18161724;padding:var(--sp-3) .875rem;display:flex;gap:var(--sp-3);align-items:center;justify-content:space-between;flex-wrap:wrap;max-width:42.5rem;margin:0 auto}#root:has(.main.no-dock) .cookie-banner{bottom:calc(var(--sp-3) + env(safe-area-inset-bottom));max-height:calc(100dvh - var(--sp-3) - var(--sp-3) - env(safe-area-inset-bottom))}.cookie-banner span{font-size:var(--fs-sm);color:var(--mut);line-height:1.45;flex:1;min-width:min(12.5rem,100%);max-height:40vh;overflow-y:auto;overscroll-behavior:contain}.cookie-banner button{border:0;background:var(--navy);color:#fff;border-radius:9px;min-height:var(--ctl);padding:.6em 1.1em;font:inherit;font-size:var(--fs-md);font-weight:600;cursor:pointer}.spacer{flex:1}.center{text-align:center}.inp:-webkit-autofill,.inp:-webkit-autofill:hover,.inp:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px var(--card) inset;-webkit-text-fill-color:var(--ink);caret-color:var(--ink)}@media(max-width:18em){.dock-ctx{display:none}.dock-in{gap:var(--sp-2)}.topbar{flex-wrap:wrap;gap:var(--sp-2)}.dock .cta,.dock .btn-secondary{white-space:normal;padding:.6em}}@media(min-width:46.5em){.main{padding-top:1.875rem}.cols{grid-template-columns:1fr 17rem;gap:1.75rem;align-items:start}.formcol{margin:0;max-width:44rem}.sidecol{display:block;position:sticky;top:1.5rem}.welcome{padding-top:3vh}.dock .cta{min-width:38%}.dock .btn-secondary{min-width:20%}}@media(min-width:62em){.cols{grid-template-columns:1fr 21rem;gap:3rem}}@media(min-width:70em){.cols{grid-template-columns:1fr 25rem;gap:4.5rem}.formcol{max-width:46rem}.welcome{padding-top:5vh}}.wifi-form{max-width:26rem;margin:0 auto;text-align:left}.wifi-form .lead{margin-bottom:var(--sp-4)}.wifi-form .errline{margin:0 0 var(--sp-3)}.wifi-form .hint{margin:.125rem 2px var(--sp-4)}.wifi-form .cta-start{margin-top:var(--sp-2)}.wifi-form .cta-start:disabled{opacity:.45;cursor:default}.wifi-form .cta-start:disabled:hover{background:var(--navy)}.wifi-form .reassure{margin-bottom:var(--sp-4)}
