:root {
  --bg: #050605;
  --text: #f4f2ed;
  --muted: rgba(244, 242, 237, 0.68);
  --soft: rgba(244, 242, 237, 0.5);
  --line: rgba(255, 255, 255, 0.09);
  --field: rgba(255, 255, 255, 0.035);
  --field-border: rgba(255, 255, 255, 0.12);
  --field-focus: rgba(216, 111, 47, 0.55);
  --accent: #d86f2f;
  --accent-hover: #e17a3a;
  --danger: #e08a74;
  --ease: cubic-bezier(0.22, 0.72, 0.18, 1);
}

*,*::before,*::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  color: var(--text);
  background: radial-gradient(circle at 50% -10%, rgba(255,255,255,.035), transparent 36rem), linear-gradient(180deg,#090a09 0%,#050605 32%,#040504 100%);
  font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; }
.shell { width: min(760px, calc(100% - 64px)); margin-inline: auto; }
.nav { position: sticky; top: 0; z-index: 20; background: linear-gradient(180deg, rgba(5,6,5,.97), rgba(5,6,5,.72) 70%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.nav-inner { min-height: 86px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:block; width:180px; flex:0 0 auto; }
.brand img { display:block; width:100%; height:auto; }
.nav-link { position:relative; padding:8px 0; color:rgba(255,255,255,.7); font-size:10px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; text-decoration:none; transition:color .35s var(--ease); }
.nav-link:hover,.nav-link:focus-visible { color:#fff; }
.nav-link:focus-visible { outline:2px solid #fff; outline-offset:4px; }
main { padding:48px 0 96px; }
.intro { margin-bottom:48px; }
.program { margin-bottom:22px; color:rgba(255,255,255,.6); font-size:10.5px; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.page-heading { margin:0; max-width:15ch; font-size:clamp(2.55rem,5vw,3.75rem); line-height:1.01; letter-spacing:-.052em; font-weight:600; text-wrap:balance; }
.page-support { max-width:40rem; margin:22px 0 0; color:var(--muted); font-size:clamp(1.05rem,1.4vw,1.18rem); line-height:1.68; letter-spacing:-.012em; }
.form-panel { display:grid; gap:42px; }
.section { padding-top:34px; border-top:1px solid var(--line); }
.section-heading { margin:0 0 22px; color:rgba(255,255,255,.9); font-size:1.05rem; font-weight:600; letter-spacing:-.018em; }
.section-lede { margin:-8px 0 28px; max-width:36rem; color:var(--soft); font-size:.98rem; line-height:1.65; }
.section-featured { padding-top:40px; }
.field { display:grid; gap:10px; margin-bottom:22px; }
.field:last-child { margin-bottom:0; }
.field-featured { margin-bottom:28px; }
.field-featured label { font-size:1.05rem; font-weight:600; }
.field-featured textarea { min-height:168px; padding:18px; border-color:rgba(255,255,255,.16); background:rgba(255,255,255,.045); }
.label-row { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
label,.fieldset-legend { color:rgba(255,255,255,.9); font-size:.95rem; font-weight:500; letter-spacing:-.012em; }
.optional { color:var(--soft); font-size:12px; font-weight:500; letter-spacing:.02em; }
.hint { margin:0; color:var(--soft); font-size:13px; line-height:1.5; }
.char-count { color:var(--soft); font-size:12px; text-align:right; }
.char-count.is-near { color:rgba(224,138,116,.9); }
input[type="text"],input[type="email"],select,textarea { width:100%; margin:0; padding:14px 16px; border:1px solid var(--field-border); border-radius:8px; background:var(--field); color:var(--text); font:inherit; font-size:1rem; line-height:1.45; transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background-color .25s var(--ease); }
textarea { min-height:132px; resize:vertical; }
select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.55) 50%),linear-gradient(135deg,rgba(255,255,255,.55) 50%,transparent 50%); background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px); background-size:6px 6px,6px 6px; background-repeat:no-repeat; padding-right:40px; }
select option { background:#111; color:#fff; }
input::placeholder,textarea::placeholder { color:rgba(244,242,237,.35); }
input:hover,select:hover,textarea:hover { border-color:rgba(255,255,255,.2); }
input:focus-visible,select:focus-visible,textarea:focus-visible { outline:none; border-color:var(--field-focus); box-shadow:0 0 0 3px rgba(216,111,47,.18); background:rgba(255,255,255,.05); }
.field.is-invalid input,.field.is-invalid select,.field.is-invalid textarea { border-color:rgba(224,138,116,.7); }
.error { margin:0; color:var(--danger); font-size:13px; line-height:1.45; }
.error[hidden],.form-error[hidden] { display:none; }
.ack { display:flex; align-items:flex-start; gap:12px; margin:0; padding:16px; border:1px solid var(--field-border); border-radius:8px; background:var(--field); }
.ack input { margin-top:3px; flex:0 0 auto; accent-color:var(--accent); }
.ack span { color:var(--muted); font-size:.95rem; line-height:1.55; }
.submit-block { display:grid; gap:16px; padding-top:12px; }
.legal { margin:0; color:var(--soft); font-size:13px; line-height:1.65; }
.form-error { margin:0; padding:12px 14px; border:1px solid rgba(224,138,116,.35); border-radius:8px; background:rgba(224,138,116,.08); color:var(--danger); font-size:14px; line-height:1.5; }
.cta-button { display:inline-flex; align-items:center; justify-content:center; width:fit-content; min-width:220px; min-height:58px; padding:0 30px; border:1px solid var(--accent); border-radius:8px; background:var(--accent); color:#090705; box-shadow:0 10px 28px rgba(216,111,47,.15); font-size:15px; font-weight:600; letter-spacing:.005em; cursor:pointer; transition:transform .4s var(--ease),background-color .4s var(--ease),box-shadow .4s var(--ease),opacity .3s var(--ease); }
.cta-button:hover:not(:disabled) { transform:translateY(-2px); background:var(--accent-hover); box-shadow:0 17px 38px rgba(216,111,47,.23); }
.cta-button:active:not(:disabled) { transform:translateY(0); }
.cta-button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.cta-button:disabled { opacity:.72; cursor:not-allowed; transform:none; }
.hp { position:absolute !important; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.success { display:none; max-width:36rem; padding:8px 0 40px; }
.success.is-visible { display:block; }
.success-heading { margin:0; font-size:clamp(2.2rem,4.4vw,3.15rem); line-height:1.06; letter-spacing:-.048em; font-weight:600; text-wrap:balance; }
.success-body { margin:22px 0 0; color:var(--muted); font-size:1.08rem; line-height:1.7; }
.success-note { margin:18px 0 0; color:var(--soft); font-size:.98rem; line-height:1.65; }
footer { padding:26px 0 34px; border-top:1px solid var(--line); color:rgba(255,255,255,.43); }
.footer-inner { display:flex; justify-content:space-between; gap:20px; font-size:10.5px; letter-spacing:.075em; }
@media(max-width:760px){.shell{width:min(100% - 36px,760px)}.nav-inner{min-height:74px}.brand{width:148px}main{flex:1;padding:48px 0 96px}.intro{margin-bottom:34px}.form-panel{gap:34px}.cta-button{width:100%;max-width:360px}.footer-inner{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta-button,input,select,textarea{transition:none}}
