/* S&S intake forms — same tokens as the site; no framework, no external requests. */

:root{--ink:#0E1418;--ink2:#2A343B;--muted:#5C6B77;--line:#D9DEE2;--stone:#F1F0EC;
--paper:#fff;--water:#1B6FA8;--sky:#2FA2DC;--act:#C6382B;--act2:#A82E22;--ok:#1E7A45;
--disp:'Libre Franklin',system-ui,sans-serif;--read:'Literata',Georgia,serif;--mono:'IBM Plex Mono',monospace}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--disp);background:var(--stone);color:var(--ink);-webkit-font-smoothing:antialiased}
.ss-form{background:var(--paper);border:1px solid var(--line);border-top:5px solid var(--act);max-width:720px;margin:0 auto}
.ss-form .fh{padding:30px 34px 0}
.ss-form .fk{font-family:var(--mono);font-size:13px;letter-spacing:0.121em;text-transform:uppercase;color:var(--water);font-weight:700}
.ss-form h2{font-size:clamp(22px,3vw,29px);font-weight:800;letter-spacing:-.035em;line-height:1.12;margin-top:9px}
.ss-form .fsub{font-family:var(--read);font-size:17px;line-height:1.55;color:var(--ink2);margin-top:11px;max-width:56ch}
.ss-form .fb{padding:26px 34px 34px}
.fg{margin-top:22px}
.fg:first-child{margin-top:0}
.fg label,.fg .lg{display:block;font-weight:700;font-size:15.5px;letter-spacing:-.01em}
.fg .hint{font-size:14px;color:var(--muted);font-weight:400;margin-top:3px;line-height:1.45}
.fg .opt{font-family:var(--mono);font-size:13px;letter-spacing:0.077em;text-transform:uppercase;color:var(--muted);font-weight:400;margin-left:7px}
.fg input[type=text],.fg input[type=email],.fg input[type=tel],.fg input[type=date],.fg select,.fg textarea{
width:100%;font-family:var(--disp);font-size:16.5px;color:var(--ink);background:var(--paper);
border:1.5px solid var(--line);border-radius:2px;padding:13px 15px;margin-top:9px;transition:border-color .12s,box-shadow .12s}
.fg textarea{font-family:var(--read);font-size:16.5px;line-height:1.55;min-height:118px;resize:vertical}
.fg select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath fill='%235C6B77' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
.fg input:focus,.fg select:focus,.fg textarea:focus{outline:0;border-color:var(--water);box-shadow:0 0 0 3px rgba(27,111,168,.13)}
.fg input:invalid:not(:placeholder-shown){border-color:var(--act)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.two>.fg{margin-top:22px}
.two>.fg:first-child{margin-top:22px}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:11px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.chip span{display:block;border:1.5px solid var(--line);border-radius:2px;padding:10px 15px;font-size:15px;
font-weight:600;line-height:1.3;cursor:pointer;transition:.12s;background:var(--paper);user-select:none}
.chip input:checked+span{border-color:var(--act);background:var(--act);color:#fff}
.chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(27,111,168,.25)}
.chip span:hover{border-color:var(--water)}
.radios{display:grid;gap:10px;margin-top:11px}
.rad{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--line);border-radius:2px;padding:13px 15px;cursor:pointer;transition:.12s;background:var(--paper);font-weight:400}
.rad:hover{border-color:var(--water)}
.rad input{margin-top:3px;width:17px;height:17px;accent-color:var(--act);flex:0 0 auto}
.rad b{display:block;font-size:15.5px;font-weight:700}
.rad em{display:block;font-style:normal;font-weight:400;font-size:14px;color:var(--muted);margin-top:2px;line-height:1.4}
.rad:has(input:checked){border-color:var(--act);background:#FDF6F5}
.consent{margin-top:28px;background:var(--stone);border-left:4px solid var(--water);padding:18px 20px}
.consent label{display:flex;gap:13px;align-items:flex-start;cursor:pointer;font-weight:400}
.consent input{margin-top:3px;width:19px;height:19px;accent-color:var(--act);flex:0 0 auto}
.consent .t{font-size:15px;line-height:1.5;color:var(--ink2)}
.consent .t b{font-weight:700;color:var(--ink)}
.consent .fine{font-family:var(--mono);font-size:13px;letter-spacing:0.051em;color:var(--muted);margin-top:11px;line-height:1.7}
.consent a{color:var(--water);border-bottom:1px solid var(--sky)}
.submit{margin-top:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.submit button{background:var(--act);color:#fff;font-family:var(--disp);font-weight:800;font-size:17px;
border:0;border-radius:2px;padding:16px 32px;cursor:pointer;transition:background .12s}
.submit button:hover{background:var(--act2)}
.submit button:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.submit .after{font-size:14.5px;color:var(--muted);line-height:1.45;max-width:34ch}
.privline{font-family:var(--mono);font-size:13px;letter-spacing:0.081em;text-transform:uppercase;color:var(--muted);margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.upl-unused{border:2px dashed var(--line);border-radius:2px;padding:26px;text-align:center;margin-top:11px;background:var(--stone);cursor:pointer;transition:.12s}
.upl:hover{border-color:var(--water);background:#fff}
.upl .ic{font-size:23px;color:var(--water)}
.upl b{display:block;font-size:15.5px;margin-top:7px}
.upl em{display:block;font-style:normal;font-size:13.5px;color:var(--muted);margin-top:4px}
@media(max-width:640px){
 .ss-form .fh{padding:24px 20px 0}.ss-form .fb{padding:20px 20px 28px}
 .two{grid-template-columns:1fr;gap:0}.two .fg{margin-top:22px}
 .submit{flex-direction:column;align-items:stretch}.submit button{width:100%}
}

.hpw{position:absolute;left:-9999px;top:auto;height:1px;overflow:hidden}
.fstatus{display:none;margin-top:22px;border:1.5px solid var(--line);border-left:4px solid var(--ok);background:#F4FAF6;padding:18px 20px;font-size:15.5px;line-height:1.55}
.fstatus.err{border-left-color:var(--act);background:#FDF6F5}
.fstatus b{display:block;font-family:var(--disp);font-weight:800;font-size:17px;margin-bottom:5px}
.sending{opacity:.55;pointer-events:none}
.fg .ferr{display:none;color:var(--act);font-size:13.5px;font-weight:600;margin-top:6px}
.fg.bad .ferr{display:block}
.fg.bad input,.fg.bad textarea,.fg.bad select{border-color:var(--act)}
.hd{background:#0E1418;color:#fff;padding:26px 0}
.wrap{max-width:1080px;margin:0 auto;padding:0 26px}
.hd .k{font-family:var(--mono);font-size:13px;letter-spacing:0.169em;color:#2FA2DC;text-transform:uppercase;font-weight:700}
.hd h1{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:8px}
.hd p{color:#C9D4DC;font-size:16px;margin-top:8px;max-width:70ch;line-height:1.5}
.tabs{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:9;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs .wrap{display:flex;gap:0}
.tb{background:none;border:0;border-bottom:3px solid transparent;font-family:var(--disp);font-weight:700;font-size:14.5px;
padding:15px 18px;cursor:pointer;color:var(--muted);white-space:nowrap;flex:0 0 auto}
.tb.on{color:var(--ink);border-bottom-color:var(--act)}
.pane{display:none;padding:34px 0 60px}
.pane.on{display:block}
.pd{font-family:var(--mono);font-size:13px;letter-spacing:0.105em;text-transform:uppercase;color:var(--muted);text-align:center;margin-bottom:20px}

/* Optional chip - baseline alignment fix. .opt is also the snapshot answer
   button in pages.css (.opts/.opt/.opt:hover); its border, background and
   14px 16px padding bled onto this text chip, making its box 43px tall so it
   overflowed the 25.11px label line and overlapped the input. The chip stays
   inside the label; it is aligned on the label baseline and shrinks to fit.
   Typography, colour and wording unchanged. */
.fg label:has(> .opt),.fg .lg:has(> .opt){display:flex;align-items:baseline;flex-wrap:nowrap}
.fg .opt,.fg .opt:hover{flex:0 0 auto;white-space:nowrap;padding:0;border:0;background:none}
