:root{ --bg:#0f0f0d; --ink:#1e1e1c; --paper:#ffffff; --gold:#c6a15b; --line:#e6e3da; --muted:#6b6b64; }
*{ box-sizing:border-box; }
body{ margin:0; font-family:'Helvetica Neue',Arial,sans-serif; background:var(--bg); color:var(--ink); line-height:1.6; }
.wrap{ max-width:680px; margin:0 auto; padding:0 18px 60px; }
header{ padding:34px 18px 26px; text-align:center; border-bottom:3px solid var(--gold); }
header .eyebrow{ color:var(--gold); letter-spacing:3px; font-size:12px; font-weight:bold; text-transform:uppercase; }
header h1{ color:#fff; font-size:26px; margin:10px 0 6px; }
header p{ color:#c9c7bf; font-size:14px; margin:0; }
.card{ background:var(--paper); border-radius:12px; margin-top:26px; padding:26px 22px; }
.lead{ font-size:14px; color:#3a3a37; margin:0 0 18px; }
.choices{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:560px){ .choices{ grid-template-columns:1fr; } }
.choice{ position:relative; text-align:left; border:1px solid var(--line); background:#fff; border-radius:14px;
  padding:22px 20px 18px; cursor:pointer; font:inherit; color:inherit;
  transition:border-color .15s, box-shadow .15s, transform .15s; }
.choice:hover{ border-color:var(--gold); box-shadow:0 8px 24px rgba(0,0,0,.08); transform:translateY(-2px); }
.choice:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.choice.active{ border-color:var(--gold); border-width:2px; padding:21px 19px 17px; background:#fdf9f0; }
.choice .ic{ width:44px; height:44px; border-radius:50%; background:var(--bg); display:flex; align-items:center; justify-content:center; margin-bottom:14px; }
.choice .ic svg{ width:22px; height:22px; stroke:var(--gold); fill:none; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.choice b{ display:block; font-size:15.5px; color:var(--ink); margin-bottom:6px; line-height:1.3; }
.choice span{ display:block; font-size:12.5px; color:var(--muted); line-height:1.55; }
.choice .pick{ display:inline-block; margin-top:14px; font-size:12px; font-weight:bold; letter-spacing:.02em; color:var(--gold); }
.choice .pick::after{ content:"Elegir este \2192"; }
.choice.active .pick::after{ content:"Seleccionado"; }
.choice .chk{ position:absolute; top:14px; right:14px; width:22px; height:22px; border-radius:50%; background:var(--gold); color:#0f0f0d; font-size:13px; font-weight:bold; line-height:22px; text-align:center; display:none; }
.choice.active .chk{ display:block; }
form{ margin-top:22px; display:none; }
form.show{ display:block; }
fieldset{ border:none; padding:0; margin:0 0 6px; }
legend{ font-weight:bold; font-size:14px; margin:16px 0 8px; color:var(--ink); width:100%; border-top:1px solid var(--line); padding-top:14px; }
legend:first-of-type{ border-top:none; padding-top:0; margin-top:0; }
label{ display:block; font-size:13px; font-weight:bold; margin:12px 0 4px; }
label .opt{ color:var(--muted); font-weight:normal; }
input[type=text], input[type=email], input[type=date], input[type=tel], textarea, select, input[type=file]{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:8px; font:inherit; background:#fff; }
textarea{ min-height:64px; resize:vertical; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.consent{ display:flex; gap:10px; align-items:flex-start; margin:18px 0 6px; font-size:13px; }
.consent input{ margin-top:3px; }
.note{ font-size:12px; color:var(--muted); margin:10px 0 0; }
.radio-row{ display:flex; gap:18px; margin-top:6px; font-size:13px; font-weight:normal; }
.radio-row label{ display:flex; gap:6px; align-items:center; margin:0; font-weight:normal; }
button.send{ margin-top:20px; width:100%; background:var(--gold); color:#0f0f0d; border:none; border-radius:8px;
  padding:14px; font-size:15px; font-weight:800; cursor:pointer; }
button.send:disabled{ opacity:.55; cursor:not-allowed; }
.status{ margin-top:14px; font-size:14px; padding:12px 14px; border-radius:8px; display:none; }
.status.ok{ display:block; background:#eef7ee; color:#245c27; }
.status.err{ display:block; background:#fdecec; color:#a12626; }
.foot{ text-align:center; color:#8f8d84; font-size:12px; margin-top:26px; }
.foot a{ color:#c9c7bf; }
