/* Cadre forms — light, modern, tech-professional. Shared by the apply forms + privacy page. */
:root{
  color-scheme:light;
  --bg:#F5F8FC; --surface:#FFFFFF; --surface-2:#EDF2F9; --field:#FFFFFF;
  --border:#E3E9F2; --border-2:#D4DEEB;
  --text:#0D1726; --muted:#4F5E78; --faint:#8894A8;
  --primary:#2563EB; --primary-600:#1D4ED8; --accent:#0E9FC4;
  --display:"Sora",system-ui,sans-serif; --body:"Inter",system-ui,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}html,body{margin:0}
body{background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--primary)}
.wrap{max-width:780px;margin:0 auto;padding:0 22px}

header.top{position:sticky;top:0;z-index:10;background:rgba(245,248,252,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brandmark{display:flex;align-items:center;gap:11px;font-family:var(--display);font-weight:700;font-size:21px;letter-spacing:.12em;color:var(--text);text-decoration:none}
.brandmark img{height:36px;width:auto;display:block}
.brandmark b{color:var(--primary)}
header.top .back{font-size:14px;color:var(--muted);text-decoration:none}
header.top .back:hover{color:var(--text)}

.intro{padding:34px 0 8px}
.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin:0 0 14px;font-weight:500}
.intro h1{font-family:var(--display);font-weight:600;font-size:clamp(28px,4vw,38px);line-height:1.08;margin:0;max-width:20ch;letter-spacing:-.01em}
.intro p{color:var(--muted);font-size:16px;margin:16px 0 0;max-width:62ch}
.gate{margin:22px 0 0;background:var(--primary-050,#EEF4FF);border:1px solid var(--border-2);border-left:3px solid var(--primary);border-radius:10px;padding:14px 16px;font-size:13.5px;color:var(--muted)}
.gate b{color:var(--text)}

#form-card{margin:24px 0 64px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:28px 30px 26px;box-shadow:0 1px 3px rgba(13,23,38,.04)}
fieldset{border:none;margin:0 0 20px;padding:0}
fieldset legend{font-family:var(--mono);font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--primary);padding:0 0 12px;border-bottom:1px solid var(--border);width:100%;margin-bottom:16px;font-weight:500}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
@media(max-width:620px){.row{grid-template-columns:1fr}}
.field{margin-bottom:14px}
.field.full{grid-column:1 / -1}
label.lab{display:block;font-size:13.5px;color:var(--text);margin-bottom:6px;font-weight:600}
label.lab .req{color:var(--primary);margin-left:3px}
label.lab .hint{display:block;color:var(--faint);font-weight:400;font-size:12px;margin-top:2px}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],select,textarea{
  width:100%;background:var(--field);border:1px solid var(--border-2);border-radius:9px;color:var(--text);
  font-family:var(--body);font-size:14.5px;padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s}
textarea{min-height:84px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--faint) 50%),linear-gradient(135deg,var(--faint) 50%,transparent 50%);background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px}
@media(max-width:620px){.checks{grid-template-columns:1fr}}
.checks.one{grid-template-columns:1fr}
.chk{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;color:var(--muted);cursor:pointer;padding:3px 0}
.chk input{margin-top:3px;accent-color:var(--primary);width:15px;height:15px;flex:none}
.chk.agree{color:var(--text);font-size:14px;align-items:flex-start}

.actions{margin-top:10px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
button[type=submit]{font-family:var(--body);font-size:15px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:9px;padding:13px 26px;cursor:pointer;box-shadow:0 1px 2px rgba(37,99,235,.25)}
button[type=submit]:hover{background:var(--primary-600)}
button[type=submit]:disabled{opacity:.6;cursor:default}
.actions .small{font-size:12.5px;color:var(--faint)}

#fallback{display:none;margin-top:16px;background:#FFF7ED;border:1px solid #FED7AA;border-radius:9px;padding:13px 15px;font-size:13.5px;color:#9A3412}
#fallback a{color:#9A3412;font-weight:600}
#done{display:none;margin:40px 0 80px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px 36px;text-align:center;box-shadow:0 1px 3px rgba(13,23,38,.05)}
#done h2{font-family:var(--display);font-weight:600;font-size:27px;margin:0 0 12px}
#done p{color:var(--muted);max-width:46ch;margin:0 auto}
#done .crest{height:60px;margin:0 auto 18px;display:block}

footer{border-top:1px solid var(--border);padding:28px 0;font-family:var(--mono);font-size:11.5px;color:var(--faint);letter-spacing:.03em;background:var(--surface)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer a{color:var(--faint)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
