:root {
  --ink:#202B3A; --ink-soft:#2E3B4E; --paper:#EFEEE5; --accent:#C4703B; --accent-soft:#D98A57;
  --light:#ECEAE1; --dim:#A9B2BE; --text:#212B36; --text-dim:#5B6470; --danger:#9d3f34; --ok:#35635d;
  --display:"Fraunces",serif; --body:"Inter",sans-serif; --mono:"IBM Plex Mono",monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--body); background:var(--paper); color:var(--text); line-height:1.55; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { width:min(1080px,100%); margin:auto; padding:0 32px; }
nav { background:rgba(32,43,58,.97); border-bottom:1px solid rgba(236,234,225,.1); }
nav .wrap { height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { font:500 19px var(--display); color:var(--light); text-decoration:none; }
.brand span { color:var(--accent-soft); }
.back { font:13px var(--mono); color:var(--light); text-decoration:none; border:1px solid rgba(236,234,225,.35); padding:8px 14px; white-space:nowrap; }
.back:hover { background:rgba(236,234,225,.08); }
.page { min-height:calc(100vh - 64px); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.intro { min-width:0; background:linear-gradient(155deg,var(--ink),var(--ink-soft)); color:var(--light); padding:clamp(56px,5vw,92px) clamp(32px,5vw,96px); display:flex; flex-direction:column; justify-content:center; }
.intro>div { width:100%; max-width:610px; margin-left:auto; }
.eyebrow { font:12px var(--mono); letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin-bottom:20px; }
.intro h1 { font:500 clamp(38px,4vw,62px)/1.08 var(--display); letter-spacing:-.015em; word-break:normal; overflow-wrap:normal; }
.intro h1 em { font-style:normal; color:var(--accent-soft); }
.lead { font-size:17px; color:var(--dim); max-width:520px; margin-top:24px; }
.reassure { margin-top:44px; border-top:1px solid rgba(236,234,225,.15); padding-top:26px; display:grid; gap:17px; }
.reassure div { display:flex; gap:13px; color:var(--light); font-size:14px; }
.reassure span { flex:0 0 auto; font:12px var(--mono); color:var(--accent-soft); padding-top:2px; }
.micro { margin-top:28px; color:var(--dim); font-size:13px; max-width:480px; }
.form-side { min-width:0; padding:clamp(56px,5vw,92px) clamp(32px,5vw,96px); display:flex; align-items:center; }
.form-card { width:100%; max-width:620px; margin-right:auto; }
.form-card h2 { font:500 clamp(28px,3vw,38px)/1.18 var(--display); margin-bottom:10px; }
.form-intro { color:var(--text-dim); margin-bottom:30px; max-width:570px; }
.grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
.field { min-width:0; margin-bottom:20px; }
.field.full { grid-column:1/-1; }
label { display:block; font:500 12px var(--mono); letter-spacing:.055em; text-transform:uppercase; margin-bottom:8px; color:var(--ink); }
.optional { text-transform:none; letter-spacing:0; color:var(--text-dim); font-family:var(--body); font-weight:400; }
input,select,textarea { width:100%; min-width:0; border:1px solid rgba(32,43,58,.24); background:rgba(255,255,255,.45); color:var(--text); font:15px var(--body); padding:14px 15px; border-radius:2px; transition:border .2s,box-shadow .2s,background .2s; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--accent); box-shadow:0 0 0 3px rgba(196,112,59,.12); background:rgba(255,255,255,.72); }
textarea { min-height:145px; resize:vertical; }
.counter { text-align:right; color:var(--text-dim); font-size:12px; margin-top:5px; }
.check { display:flex; gap:10px; align-items:flex-start; margin:4px 0 22px; color:var(--text-dim); font-size:13px; }
.check input { width:17px; height:17px; margin-top:2px; accent-color:var(--accent); flex:0 0 auto; }
.check a { text-decoration:underline; }
.submit { width:100%; border:0; background:var(--accent); color:#201206; font:600 15px var(--body); padding:16px 22px; cursor:pointer; border-radius:2px; transition:.2s; }
.submit:hover { background:var(--accent-soft); transform:translateY(-1px); }
.submit:disabled { opacity:.65; cursor:wait; }
.under-submit { text-align:center; font-size:12px; color:var(--text-dim); margin-top:12px; }
.alert { padding:14px 16px; margin-bottom:22px; border-left:3px solid; font-size:14px; }
.alert.ok { background:rgba(63,110,104,.1); border-color:var(--ok); color:#294d48; }
.alert.error { background:rgba(157,63,52,.08); border-color:var(--danger); color:#743128; }
.hp { position:absolute!important; left:-9999px!important; }
.switch-link { margin-top:24px; padding-top:22px; border-top:1px solid rgba(32,43,58,.15); font-size:14px; color:var(--text-dim); }
.switch-link a { color:var(--ink); font-weight:600; }
footer { background:var(--ink); color:var(--dim); font:12px var(--mono); text-align:center; padding:24px; }
:focus-visible { outline:2px solid var(--accent-soft); outline-offset:3px; }
@media (max-width:900px) {
  .page { grid-template-columns:1fr; }
  .intro { padding:58px 28px; }
  .intro>div,.form-card { max-width:720px; margin:0 auto; }
  .form-side { padding:48px 28px 60px; }
  .reassure { margin-top:30px; }
}
@media (max-width:560px) {
  .wrap { padding:0 16px; }
  .brand { font-size:14px; line-height:1.15; }
  .back { font-size:10px; padding:7px 8px; }
  .grid { grid-template-columns:1fr; gap:0; }
  .intro { padding:48px 20px; }
  .form-side { padding:40px 20px 52px; }
  .intro h1 { font-size:39px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none!important; } }
