:root {
  --bg: #07111f;
  --surface: rgba(11, 25, 43, .94);
  --surface-raised: rgba(16, 33, 55, .96);
  --text: #f4f6f9;
  --muted: #b1bfd0;
  --line: rgba(213, 185, 118, .25);
  --accent: #d5b976;
  --accent-strong: #f0d79a;
  --focus: #8cc8ff;
  --ok: #76d4a8;
  --err: #ff9e9e;
}

html { color-scheme: dark; scroll-behavior: smooth; }
body { background: radial-gradient(circle at 50% -10%, #1b426b 0, #0b2038 32%, var(--bg) 72%) fixed; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

.language-switcher {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  padding: .25rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
}
.language-switcher button {
  min-width: 2.55rem;
  padding: .42rem .68rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.language-switcher button[aria-pressed="true"] {
  background: var(--accent);
  color: #111827;
  box-shadow: 0 4px 16px rgba(213,185,118,.22);
}

.landing-toolbar { display:flex; justify-content:flex-end; margin-bottom: .75rem; position:relative; z-index:2; }
.hero { border-radius: 28px !important; padding: clamp(1.25rem, 4vw, 3.2rem) !important; }
.hero-head { max-width: 820px; margin-inline:auto; }
.hero-brand {
  width:min(390px, 82%) !important;
  margin:.35rem auto 1rem;
  filter:brightness(1.28) contrast(1.12) drop-shadow(0 10px 24px rgba(0,0,0,.32));
}
.brand-logo {
  height:82px !important;
  max-width:280px;
  padding:.32rem .55rem;
  border-radius:12px;
  background:rgba(255,255,255,.045);
  filter:brightness(1.3) contrast(1.12) drop-shadow(0 6px 12px rgba(0,0,0,.28));
}
.hero h1 { max-width: 850px; margin-inline:auto; font-size:clamp(1.8rem, 4.5vw, 3.35rem) !important; line-height:1.14 !important; text-wrap:balance; }
.hero .lead { max-width: 780px; margin:.85rem auto !important; font-size:1.04rem !important; line-height:1.72 !important; }
.hero .flow { margin:2rem auto 0; max-width:900px; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:.7rem; }
.hero .flow .step {
  min-height:112px;
  padding:1rem !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:.8rem;
  line-height:1.42;
  border-color:rgba(213,185,118,.28);
  background:linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
}
.step-number {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2.15rem;
  height:2.15rem;
  border-radius:50%;
  background:rgba(213,185,118,.14);
  border:1px solid rgba(213,185,118,.42);
  color:var(--accent-strong);
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.05em;
}
.action-zone {
  max-width:900px;
  margin:1rem auto 0;
  padding:1rem;
  display:grid;
  grid-template-columns:minmax(190px, .7fr) minmax(0, 1.3fr);
  gap:1rem;
  align-items:stretch;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
}
.action-zone .cta {
  margin:0;
  display:grid;
  align-content:center;
  gap:.6rem;
}
.action-zone .cta button { width:100%; }
.resume-panel {
  padding:.9rem 1rem;
  border-radius:14px;
  background:rgba(4,13,24,.38);
  border:1px solid rgba(168,182,202,.18);
}
.resume-title { margin-bottom:.65rem; color:var(--text); font-size:.92rem; font-weight:700; }
.action-zone .resume { margin:0 !important; display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:.6rem; }
.action-zone .resume input { min-width:0; width:100%; }
.action-zone .mini { margin-top:.65rem; text-align:left; }
.hero .cta, .hero .resume { justify-content:center; }
.hero button { min-height:46px; }
.hero .cta button:first-child { background:var(--accent); color:#111827; border-color:var(--accent); }
.hero .resume { margin-top:1.3rem !important; }
.hero .resume input { min-height:46px; }
.hero .mini { text-align:center; }

.survey-layout { gap:1.2rem !important; }
.panel-card, .card { border-color:var(--line) !important; background:var(--surface) !important; }
.card { border-radius:20px !important; padding:clamp(1.05rem, 3vw, 2rem) !important; }
.card h1 { font-size:clamp(1.25rem, 2.5vw, 1.75rem) !important; line-height:1.35; }
.goal { font-size:.95rem !important; line-height:1.58; }
.science-note { padding:.75rem .85rem !important; font-size:.88rem !important; line-height:1.55 !important; }
.opt { min-height:52px; padding:.78rem .82rem !important; transition:border-color .16s, background .16s, transform .16s; }
.opt:hover { border-color:rgba(213,185,118,.56) !important; background:rgba(255,255,255,.065) !important; transform:translateY(-1px); }
.opt:has(input:checked) { border-color:var(--accent) !important; background:rgba(213,185,118,.12) !important; }
.opt input { margin-top:.2rem; accent-color:var(--accent); }
textarea, input[type="text"], input[type="email"], input[type="tel"], select { min-height:48px; font-size:1rem !important; }
textarea { min-height:110px !important; }
.nav { position:sticky; bottom:.65rem; padding:.75rem; margin:1.2rem -.55rem -.65rem !important; border:1px solid var(--line); border-radius:14px; background:rgba(7,17,31,.92); backdrop-filter:blur(14px); }
.nav button { min-width:112px; min-height:46px; }
.nav .primary { background:var(--accent) !important; color:#111827 !important; }
.email-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:.55rem 1rem;
  border:1px solid var(--accent);
  border-radius:8px;
  background:var(--accent);
  color:#111827;
  font-weight:700;
  text-decoration:none;
}
.progress { height:6px !important; position:sticky; top:0; z-index:4; background:#26384d !important; }
.progress > i { background:linear-gradient(90deg, #927438, var(--accent-strong)) !important; }
.module-card.current { border-color:var(--accent) !important; background:rgba(213,185,118,.1) !important; }

@media (max-width: 720px) {
  .shell { padding:.75rem !important; }
  .hero { border-radius:18px !important; }
  .hero::before, .hero::after { width:46px !important; height:46px !important; }
  .hero .flow { grid-template-columns:1fr 1fr; }
  .action-zone { grid-template-columns:1fr; }
  .action-zone .cta { grid-template-columns:1fr 1fr; }
  .hero .resume { align-items:stretch; }
  .hero .resume input { min-width:0 !important; flex:1 1 100%; }
  header { padding:.8rem .8rem .45rem !important; }
  .brand-logo { height:64px !important; max-width:220px; }
  .survey-layout { padding-inline:.7rem !important; }
  .left-panel { display:none; }
  .warm-banner { margin-inline:.7rem !important; }
  .mod-nav { padding-inline:.7rem !important; overflow-x:auto; flex-wrap:nowrap !important; scrollbar-width:none; }
  .mod-nav::-webkit-scrollbar { display:none; }
  .mod-nav a { min-width:46px; text-align:center; }
  .card { border-radius:16px !important; }
  .nav { bottom:4.5rem; }
}

@media (max-width: 460px) {
  .hero .flow { grid-template-columns:1fr; }
  .action-zone .cta, .action-zone .resume { grid-template-columns:1fr; }
  .action-zone .mini { text-align:center; }
  .session-chip-wrap { display:none !important; }
  .nav button { flex:1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
