:root {
  --ink:#0b1416;
  --panel:#101c1f;
  --teal:#12a594;
  --teal-dark:#0e8377;
  --text:#172422;
  --muted:#5b6b69;
  --bg:#f7faf9;
  --paper:#fff;
  --line:#dfe9e7;
  --danger:#a6372f;
}
* { box-sizing:border-box; margin:0; }
body {
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
a { color:var(--teal-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:3px solid #79d3c8;
  outline-offset:3px;
}
header { background:var(--ink); color:#fff; padding:16px 24px; }
.header-inner { max-width:1040px; margin:auto; display:flex; align-items:center; gap:22px; }
.logo { color:#fff; display:flex; align-items:center; gap:9px; font-weight:800; font-size:20px; text-decoration:none; }
.logo span { color:var(--teal); }
.back { margin-left:auto; color:#b5c2c3; text-decoration:none; font-size:14px; font-weight:650; }
.back:hover { color:#fff; }
main { max-width:1040px; margin:auto; padding:54px 24px 72px; }
.layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr); gap:48px; align-items:start; }
.eyebrow { color:var(--teal-dark); font-weight:800; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:14px 0 18px; color:var(--ink); font-size:clamp(38px,5vw,56px); line-height:1.04; letter-spacing:-.035em; }
.intro { color:var(--muted); font-size:18px; }
.expect { margin-top:28px; padding:20px; background:#edf8f6; border-left:4px solid var(--teal); border-radius:8px; }
.expect strong { display:block; margin-bottom:6px; color:var(--ink); }
.fallback { margin-top:24px; color:var(--muted); font-size:14px; }
.fallback a { font-weight:700; }
.form-card { background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:30px; box-shadow:0 14px 44px rgba(13,35,32,.08); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1 / -1; }
label { color:var(--ink); font-weight:700; font-size:14px; }
.optional { color:var(--muted); font-weight:500; }
input, select, textarea {
  width:100%; border:1px solid #b9c8c5; border-radius:7px; background:#fff; color:var(--text);
  padding:11px 12px; font:inherit;
}
textarea { min-height:130px; resize:vertical; }
.hint { color:var(--muted); font-size:12.5px; }
.sensitive { color:#7b4e20; background:#fff7e8; border-radius:7px; padding:11px 12px; }
.hp { display:none!important; }
.protection { min-height:66px; display:flex; align-items:center; }
button {
  border:0; border-radius:7px; background:var(--teal-dark); color:#fff; padding:13px 22px;
  font-family:inherit; font-size:15px; font-weight:750; line-height:1; cursor:pointer;
}
button:hover { background:var(--ink); }
button:disabled { cursor:not-allowed; opacity:.58; }
.consent { color:var(--muted); font-size:13px; }
.status { display:none; border-radius:8px; padding:13px 14px; font-size:14px; }
.status.visible { display:block; }
.status.success { background:#e9f7ef; color:#185f3b; }
.status.error { background:#fff0ee; color:var(--danger); }
noscript p { margin-top:16px; padding:13px; background:#fff0ee; color:var(--danger); border-radius:8px; }
footer { background:var(--ink); color:#899697; text-align:center; padding:26px 20px; font-size:13px; }
footer b { color:#fff; }
footer div { margin-top:8px; display:flex; justify-content:center; gap:16px; }
footer a { color:#b5c2c3; }
@media (max-width:820px) {
  .layout { grid-template-columns:1fr; gap:30px; }
  main { padding-top:38px; }
}
@media (max-width:560px) {
  header { padding:12px 14px; }
  .logo { font-size:17px; }
  main { padding:30px 14px 52px; }
  .form-card { padding:22px 18px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
  button { width:100%; }
}
