@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600&family=Space+Mono:wght@400;700&display=swap');

:root { --bg:#08090b; --panel:#121419; --line:#2b3038; --red:#e1182f; --cyan:#75e8ff; --white:#f6f7f8; --muted:#a8adb6; --gold:#facc37; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 15% 0%,rgba(225,24,47,.12),transparent 28rem),var(--bg); color:var(--white); font-family:'DM Sans',sans-serif; line-height:1.55; }
a { color:inherit; }
.sitebar { position:sticky; top:0; z-index:20; background:rgba(8,9,11,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.sitebar-inner { max-width:1040px; margin:auto; min-height:64px; padding:10px 22px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.brand { text-decoration:none; font:800 1.1rem/1 'Barlow Condensed',sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.brand span { color:var(--red); }
.back { color:var(--muted); text-decoration:none; font:.7rem 'Space Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.back:hover { color:var(--cyan); }
main { max-width:980px; margin:auto; padding:70px 22px 90px; }
.eyebrow { margin:0 0 10px; color:var(--red); font:700 .72rem 'Space Mono',monospace; letter-spacing:.18em; text-transform:uppercase; }
h1,h2,h3 { font-family:'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.04em; }
h1 { max-width:760px; margin:0; font-size:clamp(3rem,8vw,6.5rem); line-height:.88; }
.intro { max-width:680px; color:var(--muted); font-size:1.05rem; }
.chooser { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:38px 0 46px; }
.choice { text-align:left; color:var(--white); background:linear-gradient(145deg,#171a20,#101217); border:1px solid var(--line); padding:24px; cursor:pointer; transition:.2s; }
.choice:hover,.choice.active { border-color:var(--red); transform:translateY(-2px); box-shadow:0 14px 40px rgba(0,0,0,.28); }
.choice strong { display:block; font:800 1.7rem 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.choice span { display:block; margin-top:6px; color:var(--muted); font-size:.86rem; }
.application-panel { display:none; }
.application-panel.active { display:block; }
.form-head { border:1px solid var(--line); border-left:4px solid var(--red); background:var(--panel); padding:26px; margin-bottom:18px; }
.form-head h2 { margin:0 0 8px; font-size:2.25rem; }
.form-head p { margin:6px 0; color:var(--muted); }
.form-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
button,.button { font:700 .72rem 'Space Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.button { display:inline-block; padding:11px 15px; border:1px solid var(--line); color:var(--white); background:#191c22; cursor:pointer; text-decoration:none; }
.button:hover { border-color:var(--cyan); }
.application-form { display:grid; gap:18px; }
fieldset { min-width:0; margin:0; padding:26px; border:1px solid var(--line); background:rgba(18,20,25,.92); }
legend { padding:0 10px; color:var(--cyan); font:700 .76rem 'Space Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.field { display:grid; gap:7px; margin-top:16px; }
.field:first-child { margin-top:0; }
.grid .field { margin-top:0; }
label,.question { font-weight:600; font-size:.92rem; }
.hint { color:var(--muted); font-size:.78rem; font-weight:400; }
.required { color:#ff5a6d; }
input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select { width:100%; border:1px solid #39404a; border-radius:0; background:#090b0e; color:var(--white); padding:12px 13px; font:inherit; }
textarea { min-height:110px; resize:vertical; }
input:focus,textarea:focus,select:focus { outline:2px solid rgba(117,232,255,.35); border-color:var(--cyan); }
.options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 16px; margin-top:8px; }
.options.single { grid-template-columns:1fr; }
.check { display:flex; align-items:flex-start; gap:9px; color:#d8dbe0; font-size:.86rem; font-weight:400; }
.check input { flex:0 0 auto; margin-top:4px; accent-color:var(--red); }
.ack { padding:14px; border:1px solid #373d46; background:#0c0e12; }
.submit-row { border:1px solid var(--line); background:var(--panel); padding:24px; }
.submit { border:0; padding:14px 20px; background:var(--red); color:#fff; cursor:pointer; }
.submit:hover { background:#ff2942; }
.submit:disabled { opacity:.55; cursor:wait; }
.status { display:none; margin:14px 0 0; padding:12px 14px; border:1px solid var(--line); font-size:.9rem; }
.status.error { display:block; border-color:#7c2b35; color:#ff9ba7; background:#281116; }
.status.success { display:block; border-color:#24633f; color:#a8f4c4; background:#0d2115; }
.hp { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.fine { color:var(--muted); font-size:.76rem; }
footer { border-top:1px solid var(--line); padding:28px 22px; text-align:center; color:var(--muted); font:.68rem 'Space Mono',monospace; }
@media (max-width:700px) { .chooser,.grid,.options { grid-template-columns:1fr; } main{padding-top:45px;} fieldset{padding:20px 16px;} }

@media print {
  @page { margin:.55in; }
  body { background:#fff; color:#000; font:10pt Arial,sans-serif; }
  .sitebar,.hero,.chooser,.form-actions,.submit-row,footer { display:none!important; }
  main { max-width:none; padding:0; }
  .application-panel { display:none!important; }
  .application-panel.active { display:block!important; }
  .form-head,fieldset { break-inside:avoid; border:1px solid #777; background:#fff; color:#000; padding:14px; margin-bottom:10px; }
  .form-head h2 { font-size:20pt; }
  .form-head p,.hint,.fine { color:#333; }
  legend { color:#000; font-weight:bold; }
  input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select { border:0; border-bottom:1px solid #444; background:#fff; color:#000; padding:5px 2px; min-height:24px; }
  textarea { min-height:60px; border:1px solid #777; }
  .options { gap:4px 12px; }
  .check { color:#000; font-size:9pt; }
  .ack { border:1px solid #999; background:#fff; padding:8px; }
}
