@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  --ams-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --ams-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --ams-text: #111;
  --ams-muted: rgba(17,17,17,.68);
  --ams-border: #ededed;
  --ams-bg: #0e0f10;
  --ams-card: #fff;
}

.ams-root{
  max-width: 980px;
  margin: 28px auto;
  padding: 34px 14px;
  border-radius: 24px;
  background: radial-gradient(1000px 480px at 20% -10%, rgba(255,255,255,.14), transparent 60%),
              radial-gradient(900px 420px at 90% 0%, rgba(255,255,255,.10), transparent 55%),
              var(--ams-bg);
  color:#fff;
}

.ams-shell{ max-width: 980px; margin: 0 auto; }
.ams-top{ margin-bottom: 18px; }
.ams-kicker{
  font-family: var(--ams-sans);
  text-transform: uppercase;
  letter-spacing: .10em;
  font-weight: 800;
  font-size: 12px;
  opacity: .78;
}
.ams-title{
  margin: 10px 0 8px;
  font-family: var(--ams-serif);
  font-weight: 800;
  letter-spacing: -0.01em;
  font-size: clamp(28px, 4.5vw, 44px);
}
.ams-sub{
  font-family: var(--ams-sans);
  font-size: 14px;
  opacity: .86;
  max-width: 58ch;
  line-height: 1.5;
}

.ams-card{
  background: var(--ams-card);
  color: var(--ams-text);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 18px 60px rgba(0,0,0,.35);
}

.ams-h2{
  font-family: var(--ams-serif);
  font-weight: 800;
  font-size: 20px;
  margin: 6px 0 12px;
}

.ams-grid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 760px){ .ams-grid{ grid-template-columns: 1fr; } }

.ams-field label{ display:block; font-family: var(--ams-sans); font-weight: 700; margin-bottom: 6px; }
.ams-field input, .ams-field select{
  width:100%; height:44px; padding:0 12px;
  border:1px solid #d9d9d9; border-radius:12px;
  font-family: var(--ams-sans); font-size:15px; box-sizing:border-box; outline:none;
}
.ams-field input:focus, .ams-field select:focus{
  border-color:#111; box-shadow: 0 0 0 3px rgba(0,0,0,.08);
}
.ams-radio{
  display:flex; align-items:center; gap:18px;
  height:44px; padding:0 12px;
  border:1px solid #d9d9d9; border-radius:12px; box-sizing:border-box; background:#fff;
}
.ams-radio label{ display:flex; align-items:center; gap:8px; cursor:pointer; font-family: var(--ams-sans); font-weight: 500; margin:0; }
.ams-radio input{ margin:0; }

.ams-hint{ margin-top:6px; font-size:12px; color: var(--ams-muted); font-family: var(--ams-sans); }

.ams-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:14px; flex-wrap:wrap; }
.ams-actions--split{ justify-content:space-between; }

.ams-btn, a.ams-btn{
  display:inline-flex; align-items:center; justify-content:center;
  height:40px; padding:0 18px; border-radius:12px;
  font-family: var(--ams-sans); font-weight: 900; font-size:14px; line-height:1;
  border:1px solid #111; background:#fff; color:#111; text-decoration:none;
  cursor:pointer; transition: transform .06s ease, opacity .12s ease, background-color .12s ease, color .12s ease, border-color .12s ease;
}
.ams-btn:hover{ background:#111; color:#fff; transform: translateY(-1px); }
.ams-btn--primary{ background:#111; color:#fff; border-color:#111; }
.ams-btn--primary:hover{ opacity:.92; transform: translateY(-1px); }
.ams-btn.is-disabled{opacity:.65;cursor:not-allowed;}

.ams-msg{ margin-top:10px; font-family: var(--ams-sans); font-weight:700; color:#b00020; white-space:pre-line; }

.ams-profile{ font-family: var(--ams-serif); font-weight:800; font-size:22px; margin-bottom:6px; }
.ams-lead{ font-family: var(--ams-sans); color: rgba(17,17,17,.86); line-height:1.55; margin-bottom:12px; }

.ams-cards{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:10px; margin: 10px 0 12px; }
@media (max-width: 760px){ .ams-cards{ grid-template-columns: 1fr; } }

.ams-mini{ border:1px solid var(--ams-border); border-radius:14px; padding:12px; background:#fafafa; }
.ams-mini__lbl{
  font-family: var(--ams-sans);
  text-transform: uppercase; letter-spacing:.08em;
  font-weight:800; font-size:11px; color: var(--ams-muted);
}
.ams-mini__val{ margin-top:6px; font-family: var(--ams-sans); font-weight:900; font-size:18px; }

.ams-bullets{ margin:0; padding-left:18px; font-family: var(--ams-sans); line-height:1.55; }
.ams-bullets li{ margin:6px 0; }

.ams-disclaimer{ margin-top:12px; font-size:12px; color: var(--ams-muted); font-family: var(--ams-sans); }

