/* Prospect form, thank-you and 404 pages. Builds on styles.css tokens. */
.form-hero{background:var(--navy);color:white;padding:80px var(--gutter) 70px;border-bottom:8px solid var(--red)}
.form-hero .short-rule{background:var(--red)}
.form-hero h1{font-size:clamp(56px,6.35vw,104px);line-height:.95;letter-spacing:-.02em;margin-bottom:26px}
.form-hero .lead{max-width:720px;color:#dce6ef}
.form-hero .button{margin-top:34px}
.thanks-hero{min-height:52vh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.not-found-hero{position:relative;overflow:hidden}
.not-found-hero>*{position:relative}
.not-found-hero:after{content:'404';position:absolute;right:calc(var(--gutter) - .04em);bottom:-.2em;font:800 clamp(180px,30vw,460px)/1 var(--display);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.14);pointer-events:none}
.not-found-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.not-found-hero .not-found-actions .button{margin-top:0}
.button-outline{background:transparent;border-color:white;color:white}
.button-outline:hover{background:white;color:var(--navy)}

.form-section{background:var(--paper);padding:70px var(--gutter) 90px}
.prospect-form{max-width:960px;margin:0 auto;background:white;border-top:6px solid var(--navy);padding:50px 56px 56px}
.form-required-note{font-size:15px;color:var(--muted);margin-bottom:30px}
.form-group{border:0;margin:0 0 44px;padding:0;min-width:0}
.form-group legend{font:700 30px/1.1 var(--display);text-transform:uppercase;letter-spacing:.01em;padding:0 0 18px;margin-bottom:26px;border-bottom:1px solid var(--line);width:100%}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 28px}
.field{display:flex;flex-direction:column;min-width:0}
.field-wide{grid-column:1/-1}
.field label{font-size:16px;font-weight:700;margin-bottom:8px}
.optional{font-weight:400;color:var(--muted)}
.field input,.field textarea{width:100%;border:1px solid #9aa7b3;border-radius:0;background:white;color:var(--ink);padding:14px 16px;font-size:17px;line-height:1.4;transition:border-color .15s}
.field textarea{resize:vertical;min-height:150px}
.field input:hover,.field textarea:hover{border-color:var(--navy)}
.field input:focus-visible,.field textarea:focus-visible,.choice input:focus-visible+span{outline:3px solid var(--blue);outline-offset:2px}
.field-hint{font-size:15px;line-height:1.5;color:var(--muted);margin-top:8px}
.choice-group .field-hint{margin:0 0 18px;max-width:640px;font-size:16px}
.field-error{color:#b3261e;font-size:15px;font-weight:600;line-height:1.45;margin-top:8px}
.field-error:before{content:'! ';font-weight:800}
[aria-invalid=true]{border-color:#b3261e!important;box-shadow:inset 4px 0 0 #b3261e}
p+.field-error,p+.field-hint{margin-top:8px}

.choices{display:flex;gap:14px;flex-wrap:wrap}
.choice{position:relative;cursor:pointer}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:inline-flex;align-items:center;gap:12px;min-width:140px;padding:14px 22px;border:1px solid #9aa7b3;font-weight:700;text-transform:uppercase;letter-spacing:.04em;transition:background .15s,border-color .15s}
.choice span:before{content:'';width:18px;height:18px;border:2px solid var(--navy);border-radius:50%;flex-shrink:0;box-sizing:border-box}
.choice:hover span{border-color:var(--navy)}
.choice input:checked+span{background:var(--navy);border-color:var(--navy);color:white}
.choice input:checked+span:before{border-color:white;background:radial-gradient(circle,white 0 4px,transparent 5px)}
.choice-group.is-invalid .choice span{border-color:#b3261e}

.consent{display:flex;align-items:flex-start;gap:12px;font-size:17px;line-height:1.5;cursor:pointer}
.consent input{width:20px;height:20px;margin:3px 0 0;flex-shrink:0;accent-color:var(--navy)}
.consent input:focus-visible{outline:3px solid var(--blue);outline-offset:2px}

.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.form-submit{border-top:1px solid var(--line);padding-top:34px}
.form-submit .cf-turnstile{margin-bottom:22px;min-height:65px}
.form-submit .button{min-width:260px}
.form-submit .button[disabled]{opacity:.65;cursor:wait}
.form-privacy{font-size:14px;color:var(--muted);margin-top:18px;max-width:620px}

.form-status{padding:18px 22px;margin-bottom:30px;border-left:5px solid #b3261e;background:#fbeeee;color:#5c1510;font-weight:600;outline:none}
.form-status:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.form-notice{padding:18px 22px;margin-bottom:30px;background:var(--paper);border-left:5px solid var(--navy)}
.form-notice a{text-decoration:underline;font-weight:700}

@media(max-width:1000px){html{scroll-padding-top:112px}.form-hero{padding-top:60px;padding-bottom:55px}.prospect-form{padding:40px 36px 44px}}
@media(max-width:700px){.not-found-hero:after{font-size:48vw;right:-.08em}.not-found-actions .button{flex:1 1 100%}.form-hero{padding:48px var(--gutter) 44px}.form-hero h1{font-size:clamp(46px,13vw,64px)}.form-hero .lead{font-size:18px}.form-section{padding:0 0 60px}.prospect-form{padding:34px var(--gutter) 40px;border-top:0}.form-grid{grid-template-columns:1fr;gap:22px}.form-group legend{font-size:26px}.choices{flex-direction:column}.choice span{width:100%}.form-submit .button{width:100%;min-width:0}}
