:root {
  --background: #080808;
  --foreground: #f7f5ef;
  --card: #131313;
  --card-foreground: #f7f5ef;
  --popover: #171717;
  --popover-foreground: #f7f5ef;
  --primary: #c9a84c;
  --primary-foreground: #090909;
  --secondary: #202020;
  --secondary-foreground: #f7f5ef;
  --muted: #1a1a1a;
  --muted-foreground: #aaa69d;
  --accent: #242018;
  --accent-foreground: #e8d08a;
  --destructive: #dc625d;
  --border: rgba(201, 168, 76, 0.2);
  --input: rgba(255, 255, 255, 0.14);
  --ring: #d9b85c;
  --radius: 0.9rem;
  --gold: #c9a84c;
  --gold-light: #ead58e;
  --gold-dark: #98772a;
  --black: #080808;
  --silver: #aba79e;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { background: var(--black); scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--foreground); font-family: "Poppins", "Segoe UI", Arial, sans-serif; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; border: none; background: none; }
a { color: inherit; }

.eyebrow { display:inline-flex; align-items:center; gap:.55rem; color:var(--gold-light); border:1px solid rgba(201,168,76,.38); background:rgba(201,168,76,.09); border-radius:999px; padding:.52rem .82rem; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.eyebrow svg { width:14px; height:14px; }
.site-shell { min-height:100svh; background:var(--black); }
.form-panel { position:relative; isolation:isolate; overflow:hidden; min-height:100svh; display:flex; align-items:center; justify-content:center; padding:clamp(1.5rem,4vw,3.5rem); background:radial-gradient(circle at 50% -12%,rgba(201,168,76,.14),transparent 32rem),linear-gradient(145deg,#070707 0%,#0d0d0c 56%,#090909 100%); }
.form-panel::before,.form-panel::after { content:""; position:absolute; z-index:-1; border-radius:50%; pointer-events:none; }
.form-panel::before { width:520px; height:520px; top:-270px; right:-160px; border:1px solid rgba(201,168,76,.12); box-shadow:0 0 0 76px rgba(201,168,76,.018),0 0 0 152px rgba(201,168,76,.012); }
.form-panel::after { width:360px; height:360px; bottom:-250px; left:-110px; background:radial-gradient(circle,rgba(201,168,76,.06),transparent 68%); border:1px solid rgba(201,168,76,.08); }
.form-wrap { position:relative; z-index:1; width:min(780px,100%); padding:clamp(1.5rem,3vw,2.4rem); border:1px solid rgba(201,168,76,.18); border-radius:26px; background:linear-gradient(145deg,rgba(24,24,23,.96),rgba(14,14,14,.94)); box-shadow:0 30px 90px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.045); backdrop-filter:blur(18px); }
.form-wrap::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none; background:linear-gradient(120deg,rgba(201,168,76,.045),transparent 34%,transparent 70%,rgba(201,168,76,.025)); }
.form-brand { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:1.35rem; margin-bottom:1.4rem; border-bottom:1px solid rgba(255,255,255,.075); }
.form-brand a { display:inline-flex; width:fit-content; }
.form-brand img { width:148px; height:auto; display:block; }
.form-brand > span { display:inline-flex; align-items:center; gap:.45rem; color:#969189; font-size:.76rem; font-weight:500; }
.form-brand svg { width:15px; height:15px; color:var(--gold); }
.form-header { margin-bottom:1.6rem; }
.step-tracker { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:0; margin:0; }
.step-tracker li { position:relative; display:flex; flex-direction:column; align-items:center; gap:.5rem; color:#716d66; font-size:.76rem; font-weight:600; text-align:center; }
.step-tracker li:not(:last-child)::after { content:""; position:absolute; z-index:0; top:16px; left:calc(50% + 20px); right:calc(-50% + 20px); height:1px; background:rgba(255,255,255,.1); }
.step-tracker li.is-complete:not(:last-child)::after { background:linear-gradient(90deg,var(--gold),rgba(201,168,76,.35)); }
.step-dot { position:relative; z-index:1; width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#88837b; background:#1b1b1a; border:1px solid rgba(255,255,255,.12); transition:all .25s ease; }
.step-dot svg { width:14px; height:14px; stroke-width:3; }
.step-tracker li.is-active,.step-tracker li.is-complete { color:#e6dfd0; }
.step-tracker li.is-active .step-dot { color:#090909; border-color:var(--gold-light); background:linear-gradient(135deg,var(--gold-dark),var(--gold-light)); box-shadow:0 0 0 5px rgba(201,168,76,.09),0 8px 24px rgba(201,168,76,.18); }
.step-tracker li.is-complete .step-dot { color:var(--gold-light); border-color:rgba(201,168,76,.44); background:rgba(201,168,76,.1); }
.form-step { min-height:0; }
.form-step[hidden] { display:none; }
.step-enter { animation:stepIn .42s ease-out both; }
@keyframes stepIn { from { opacity:0; transform:translateX(16px); } to { opacity:1; transform:translateX(0); } }
.step-heading { display:flex; gap:.85rem; align-items:flex-start; margin-bottom:1.5rem; }
.step-icon { width:40px; height:40px; flex:0 0 auto; border-radius:12px; display:grid; place-items:center; color:var(--gold-light); background:linear-gradient(145deg,rgba(201,168,76,.18),rgba(201,168,76,.045)); border:1px solid rgba(201,168,76,.25); }
.step-icon svg { width:18px; }
.step-heading h2 { margin:0; font-size:clamp(1.4rem,2vw,1.8rem); letter-spacing:-.025em; line-height:1.25; font-weight:700; }
.step-heading p { margin:.35rem 0 0; color:var(--silver); font-size:.875rem; line-height:1.5; }

.choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem; list-style:none; padding:0; margin:0; }
.compact-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.urgency-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.choice-card { position:relative; display:flex; align-items:center; min-height:82px; gap:.8rem; padding:.85rem .95rem; cursor:pointer; border:1px solid rgba(255,255,255,.1); background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.014)); border-radius:14px; transition:border-color .2s ease,transform .2s ease,background .2s ease,box-shadow .2s ease; }
.choice-card:hover { transform:translateY(-2px); border-color:rgba(201,168,76,.45); background:rgba(201,168,76,.055); }
.choice-card input { position:absolute; opacity:0; pointer-events:none; }
.choice-card-selected { border-color:var(--gold); background:linear-gradient(145deg,rgba(201,168,76,.13),rgba(201,168,76,.055)); box-shadow:inset 0 0 0 1px rgba(234,213,142,.12),0 0 0 3px rgba(201,168,76,.055),0 12px 32px rgba(0,0,0,.22); animation:choiceSelect .28s ease-out both; }
@keyframes choiceSelect { from { transform:scale(.985); } to { transform:scale(1); } }
.choice-icon { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border-radius:11px; background:rgba(201,168,76,.1); color:var(--gold-light); }
.choice-icon svg { width:18px; height:18px; }
.choice-title { display:block; color:#f2efe7; font-weight:650; font-size:.9rem; line-height:1.35; }
.choice-description { display:block; color:#969188; font-size:.8rem; line-height:1.45; margin-top:.2rem; }
.choice-check { width:20px; height:20px; flex:0 0 auto; display:grid; place-items:center; border-radius:50%; border:1px solid rgba(255,255,255,.18); color:transparent; transition:transform .2s ease,background .2s ease,border-color .2s ease; }
.choice-check svg { width:12px; height:12px; stroke-width:3; }
.choice-card-selected .choice-check { background:var(--gold); border-color:var(--gold); color:#080808; transform:scale(1.08); }
.compact-choice-grid .choice-card,.urgency-grid .choice-card { min-height:58px; padding:.75rem .85rem; }
.urgency-grid .choice-card { text-align:center; justify-content:center; }
.urgency-grid .choice-check { display:none; }

.field-group { margin-bottom:1.15rem; }
.field-label { display:block; color:#d9d5cc; font-size:.875rem; font-weight:600; margin-bottom:.55rem; }
.field-label span { color:#77736d; font-weight:400; }
.two-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.9rem; }
.premium-input,.premium-select,.premium-textarea { width:100%; color:#f5f2ea; background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.16); border-radius:12px; box-shadow:inset 0 1px 0 rgba(255,255,255,.025); outline:none; transition:border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.premium-input { height:50px; padding:0 .9rem; font-size:.9rem; }
.premium-select { height:50px; padding:0 2.4rem 0 .9rem; font-size:.85rem; appearance:none; background-image:linear-gradient(45deg,transparent 50%,#9c978e 50%),linear-gradient(135deg,#9c978e 50%,transparent 50%); background-position:calc(100% - 18px) 21px,calc(100% - 13px) 21px; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.premium-select option { background:#171717; color:#f5f2ea; }
.premium-textarea { min-height:82px; resize:vertical; padding:.8rem .9rem; font-size:.88rem; }
.premium-input::placeholder,.premium-textarea::placeholder { color:#8b867e; }
.premium-input:focus-visible,.premium-select:focus,.premium-textarea:focus-visible { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,168,76,.12); background-color:rgba(201,168,76,.035); }
.conditional-field { animation:stepIn .3s ease-out both; }
.conditional-field[hidden] { display:none; }
.other-city-field { margin-top:.7rem; }
.consent-row { display:flex; align-items:flex-start; gap:.7rem; cursor:pointer; color:#9b968e; font-size:.8rem; line-height:1.55; margin-top:.4rem; }
.consent-row input { margin-top:3px; accent-color:var(--gold); width:16px; height:16px; flex:0 0 auto; }
.form-error { margin:1rem 0 0; color:#ef9a96; background:rgba(220,98,93,.08); border:1px solid rgba(220,98,93,.25); padding:.72rem .85rem; border-radius:10px; font-size:.78rem; }
.form-actions { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.35rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.065); }
.gold-button { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-width:180px; min-height:52px; border-radius:13px; padding:0 1.45rem; color:#090909; font-weight:750; background:linear-gradient(110deg,var(--gold-dark),var(--gold-light),var(--gold)); box-shadow:0 12px 30px rgba(201,168,76,.19); transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.gold-button svg { width:16px; height:16px; }
.gold-button:hover { background:linear-gradient(110deg,#ad8933,#f0dc98,#d4b55c); transform:translateY(-1px); }
.gold-button:disabled { opacity:.7; cursor:not-allowed; transform:none; }
.submit-button { min-width:260px; }
.back-button { display:inline-flex; align-items:center; gap:.4rem; color:#aaa69d; padding:0 .85rem; height:52px; border-radius:13px; }
.back-button svg { width:16px; height:16px; }
.back-button:hover { color:var(--gold-light); background:rgba(201,168,76,.07); }
.form-footer { display:flex; justify-content:center; align-items:center; gap:1rem; padding-top:1rem; margin-top:1.1rem; color:#817c74; font-size:.75rem; }
.form-footer span { display:flex; gap:.45rem; align-items:center; }
.form-footer svg { width:13px; height:13px; color:var(--gold); }

.spin { animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

.success-card { text-align:center; padding:1.25rem 0 .5rem; }
.success-card[hidden] { display:none; }
.success-icon { width:66px; height:66px; margin:0 auto 1rem; border-radius:50%; display:grid; place-items:center; color:#080808; background:linear-gradient(135deg,var(--gold-dark),var(--gold-light)); box-shadow:0 0 0 8px rgba(201,168,76,.08),0 16px 40px rgba(201,168,76,.18); }
.success-icon svg { width:31px; height:31px; stroke-width:3; }
.eyebrow.centered { margin:0 auto 1rem; }
.success-card h2 { margin:0; font-size:clamp(1.9rem,4vw,2.6rem); letter-spacing:-.04em; }
.success-card > p { color:var(--silver); max-width:560px; margin:.7rem auto 1.1rem; font-size:.92rem; line-height:1.65; }
.success-next-step { max-width:560px; margin:0 auto 1rem; display:flex; align-items:center; gap:.8rem; text-align:left; padding:.85rem .95rem; border:1px solid rgba(201,168,76,.18); border-radius:14px; background:rgba(201,168,76,.055); }
.success-next-step > svg { width:20px; height:20px; flex:0 0 auto; color:var(--gold-light); }
.success-next-step div { display:flex; flex-direction:column; gap:.12rem; }
.success-next-step strong { color:#eee8dc; font-size:.82rem; }
.success-next-step span { color:#99938a; font-size:.78rem; line-height:1.45; }
.success-summary { text-align:left; border:1px solid rgba(201,168,76,.17); border-radius:16px; padding:.3rem 1.1rem; background:rgba(201,168,76,.035); max-width:560px; margin:0 auto; }
.success-summary div { display:flex; justify-content:space-between; gap:1rem; padding:.85rem 0; border-bottom:1px solid rgba(255,255,255,.07); font-size:.78rem; }
.success-summary div:last-child { border-bottom:0; }
.success-summary span { color:#817d76; }
.success-summary strong { text-align:right; color:#e8e3d9; }
.preview-notice { max-width:560px; margin:1rem auto 0; display:flex; text-align:left; gap:.7rem; align-items:flex-start; padding:.8rem .9rem; border-radius:12px; color:#b5ad98; background:rgba(201,168,76,.07); border:1px solid rgba(201,168,76,.16); font-size:.72rem; line-height:1.5; }
.preview-notice[hidden] { display:none; }
.preview-notice svg { width:18px; height:18px; flex:0 0 auto; color:var(--gold); }
.whatsapp-cta { max-width:560px; margin:1.3rem auto 0; display:flex; align-items:center; gap:.85rem; text-decoration:none; padding:1rem 1.15rem; border-radius:16px; background:linear-gradient(135deg,#25d366,#1fb855); box-shadow:0 14px 34px rgba(37,211,102,.28); transition:transform .2s ease,box-shadow .2s ease; animation:whatsappPulse 2.2s ease-in-out infinite; }
.whatsapp-cta:hover { transform:translateY(-1px); box-shadow:0 16px 38px rgba(37,211,102,.38); }
.whatsapp-cta svg { width:30px; height:30px; flex:0 0 auto; color:#06240f; }
.whatsapp-cta span { display:flex; flex-direction:column; gap:.2rem; text-align:left; }
.whatsapp-cta strong { color:#06240f; font-size:.95rem; font-weight:800; }
.whatsapp-cta small { color:rgba(6,36,15,.72); font-size:.74rem; font-weight:600; }
@keyframes whatsappPulse { 0%,100% { box-shadow:0 14px 34px rgba(37,211,102,.28); } 50% { box-shadow:0 14px 34px rgba(37,211,102,.48); } }
.restart-button { margin-top:1.3rem; display:inline-flex; align-items:center; gap:.5rem; height:48px; padding:0 1.3rem; border-radius:13px; border:1px solid rgba(201,168,76,.35); color:var(--gold-light); background:transparent; }
.restart-button:hover { background:rgba(201,168,76,.08); color:var(--gold-light); }

@media (max-width:520px) {
  .whatsapp-cta { padding:.9rem 1rem; }
}

@media (max-width:1040px) {
  .form-panel { padding:2rem; }
}

@media (max-width:780px) {
  .form-panel { min-height:100svh; align-items:flex-start; padding:1rem; background:radial-gradient(circle at 80% 0%,rgba(201,168,76,.11),transparent 20rem),#0b0b0b; }
  .form-panel::before { width:340px; height:340px; top:-210px; right:-190px; }
  .form-wrap { width:100%; padding:1.2rem; border-radius:20px; }
  .form-brand { margin-bottom:1.2rem; padding-bottom:1rem; }
  .form-brand img { width:132px; }
  .form-header { margin-bottom:1.4rem; }
  .form-step { min-height:auto; }
  .choice-grid { grid-template-columns:1fr; }
  .choice-card { min-height:72px; }
  .urgency-grid { grid-template-columns:1fr; }
  .urgency-grid .choice-card { min-height:52px; }
  .form-actions { position:sticky; bottom:0; z-index:5; margin:1rem -1.2rem -1.2rem; padding:.85rem 1.2rem max(.85rem,env(safe-area-inset-bottom)); border-radius:0 0 20px 20px; background:rgba(16,16,15,.94); backdrop-filter:blur(18px); border-top:1px solid rgba(255,255,255,.08); }
  .form-actions .gold-button { flex:1; }
  .submit-button { min-width:0; flex:1; padding:0 .8rem; }
  .form-footer { margin-top:1.8rem; }
}

@media (max-width:520px) {
  .form-panel { padding:0; background:radial-gradient(circle at 88% -8%,rgba(201,168,76,.12),transparent 19rem),#0b0b0b; }
  .form-wrap { min-height:100svh; padding:max(1rem,env(safe-area-inset-top)) 1rem max(1rem,env(safe-area-inset-bottom)); border:0; border-radius:0; box-shadow:none; background:linear-gradient(160deg,rgba(20,20,19,.98),rgba(11,11,11,.98)); }
  .form-brand { padding-bottom:.9rem; margin-bottom:1rem; }
  .form-brand img { width:120px; }
  .form-brand > span { font-size:.7rem; }
  .step-tracker li { font-size:.7rem; }
  .step-dot { width:30px; height:30px; }
  .step-tracker li:not(:last-child)::after { top:15px; }
  .step-heading { gap:.75rem; }
  .step-icon { width:36px; height:36px; }
  .step-heading h2 { font-size:1.3rem; }
  .step-heading p { font-size:.84rem; }
  .two-fields { grid-template-columns:1fr; gap:0; }
  .compact-choice-grid { grid-template-columns:1fr; }
  .compact-choice-grid .choice-card { min-height:54px; }
  .form-actions { gap:.55rem; margin:1rem -1rem -1rem; padding-left:1rem; padding-right:1rem; border-radius:0; }
  .back-button { padding:0 .65rem; }
  .gold-button { min-width:150px; }
  .form-footer { flex-direction:column; align-items:flex-start; }
  .success-summary div { flex-direction:column; gap:.3rem; }
  .success-summary strong { text-align:left; }
}

@media (max-width:360px) {
  .form-brand { justify-content:center; }
  .form-brand > span { display:none; }
  .step-label { font-size:.66rem; }
  .gold-button { min-width:138px; padding:0 1rem; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
