:root{
  --gold:#d8b886; --gold-2:#c9a86a;
  --text:#eef1f8; --muted:#aab2c8; --faint:#7e879c;
  --glass:rgba(255,255,255,0.045); --glass-2:rgba(255,255,255,0.07);
  --line:rgba(255,255,255,0.12); --line-2:rgba(255,255,255,0.22);
  --radius:16px;
}
*{box-sizing:border-box}
html{background:#05060d}
body{margin:0;background:transparent;color:var(--text);line-height:1.6;
  font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-weight:500;letter-spacing:.2px}

#space{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;display:block}

.lang-switch{position:fixed;top:14px;right:16px;z-index:45;font-size:13px;color:var(--text);cursor:pointer;
  background:rgba(10,14,26,.7);border:1px solid var(--line);border-radius:10px;padding:7px 28px 7px 11px;
  -webkit-appearance:none;appearance:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%23aab2c8' stroke-width='1.5' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center}
.lang-switch option{background:#0c1020;color:var(--text)}

/* hero */
.hero{position:relative;padding:84px 24px 46px;text-align:center;max-width:780px;margin:0 auto}
.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12px;color:var(--gold);margin:0 0 16px}
.hero h1{font-family:Georgia,serif;font-size:clamp(34px,6.5vw,52px);margin:0 0 16px;line-height:1.12;
  color:#fff;text-shadow:0 0 40px rgba(150,170,255,.25)}
.hero .sub{font-size:18px;color:var(--muted);max-width:560px;margin:0 auto 28px}
.cta{display:inline-block;cursor:pointer;border:0;text-decoration:none;font-size:16px;font-weight:500;
  padding:15px 30px;border-radius:12px;color:#1a1407;
  background:linear-gradient(135deg,#e6c98f,#c9a86a);
  box-shadow:0 8px 30px rgba(201,168,106,.32);transition:.18s}
.cta:hover{transform:translateY(-1px);box-shadow:0 12px 38px rgba(201,168,106,.45)}
.cta:active{transform:translateY(0)}
.trust{margin-top:24px;color:var(--gold);font-size:15px;letter-spacing:.5px}
.trust span{color:var(--muted);margin-left:8px}

/* builder */
.builder{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:28px;
  max-width:1060px;margin:24px auto 90px;padding:0 24px;align-items:start}
@media(max-width:860px){.builder{grid-template-columns:1fr}}

.form-pane{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);
  padding:26px 24px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.form-pane h2{font-family:Georgia,serif;font-size:24px;margin:0 0 20px;color:#fff}
.form-pane label{display:block;font-size:13px;color:var(--muted);margin-bottom:14px;letter-spacing:.3px}
.form-pane label span{opacity:.65}
.form-pane input,.form-pane select{display:block;width:100%;margin-top:7px;padding:12px 13px;font-size:15px;
  border:1px solid var(--line);border-radius:10px;background:var(--glass-2);color:var(--text);
  -webkit-appearance:none;appearance:none;transition:.15s}
.form-pane input::placeholder{color:var(--faint)}
.form-pane input:focus,.form-pane select:focus{outline:none;border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(201,168,106,.18);background:rgba(255,255,255,.10)}
.form-pane select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%23aab2c8' stroke-width='1.5' fill='none'/></svg>");
  background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.form-pane select option{background:#0c1020;color:var(--text)}
.form-pane input[type=time]::-webkit-calendar-picker-indicator,
.form-pane input[type=number]::-webkit-inner-spin-button{filter:invert(.7)}
.form-pane .row{display:flex;gap:12px}
.form-pane .row label{flex:1}
.date-row{margin-bottom:14px}
.date-row>*{margin-top:0}
.date-row #f-month{flex:1.6}.date-row #f-day{flex:.9}.date-row #f-year{flex:1.1}
.hint{font-size:13px;color:var(--faint);margin:12px 0 0}

.city-status{display:block;margin-top:6px;font-size:12px;color:#86e0a6}
.city-status.err{color:#ff9090}
.city-field{position:relative}
.suggest{position:absolute;top:100%;left:0;right:0;margin-top:6px;list-style:none;padding:5px;z-index:30;
  background:rgba(14,18,33,.92);border:1px solid var(--line-2);border-radius:12px;max-height:250px;overflow:auto;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 40px rgba(0,0,0,.5)}
.suggest li{padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;color:var(--text)}
.suggest li:hover{background:var(--glass-2)}
.suggest b{font-weight:500}
.suggest .muted{color:var(--faint);font-size:12.5px}

.swatches{display:flex;gap:12px;margin:7px 0 18px}
.swatch{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.25);
  box-shadow:0 0 0 1px rgba(0,0,0,.3);cursor:pointer;padding:0;transition:.15s}
.swatch:hover{transform:scale(1.08)}
.swatch.active{box-shadow:0 0 0 2px var(--gold),0 0 14px rgba(201,168,106,.5);border-color:#fff}
.toggles{display:flex;gap:8px;flex-wrap:wrap;margin:7px 0 20px}
.toggle{font-size:13px;padding:8px 15px;border-radius:22px;cursor:pointer;
  border:1px solid var(--line);background:var(--glass-2);color:var(--muted);transition:.15s}
.toggle.active{background:linear-gradient(135deg,#e6c98f,#c9a86a);color:#1a1407;border-color:transparent}

/* preview */
.preview-pane{position:relative}
.canvas-wrap{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;display:flex;justify-content:center;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
#poster{width:100%;max-width:430px;height:auto;border-radius:6px;box-shadow:0 24px 60px rgba(0,0,0,.55)}

.buybox{margin-top:20px;background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.price-line{display:flex;align-items:baseline;gap:10px}
.price-line .big{font-size:32px;font-weight:500;color:#fff}
.price-line .strike{color:var(--faint);text-decoration:line-through}
.badge{margin-left:auto;font-size:12px;background:rgba(122,210,150,.16);color:#9fe7b8;padding:5px 11px;border-radius:20px}
.incl{font-size:13px;color:var(--gold);margin:10px 0 0}
.reveal{margin:-2px 0 2px;padding:11px;border:1px solid var(--line);border-radius:10px;display:grid;gap:8px;background:rgba(255,255,255,0.03)}
.reveal input,.reveal select{margin-top:0}
.upsells{margin:16px 0;display:grid;gap:9px}
.ups{display:flex;align-items:center;font-size:14px;color:var(--text);gap:9px;
  border:1px solid var(--line);border-radius:10px;padding:11px 12px;cursor:pointer;background:var(--glass-2)}
.ups:hover{border-color:var(--line-2)}
.ups b{margin-left:auto;color:var(--gold)}
.ups input{accent-color:var(--gold-2)}
.total-line{display:flex;justify-content:space-between;font-size:18px;font-weight:500;color:#fff;
  padding:13px 0;border-top:1px solid var(--line);margin-bottom:14px}
.buybox .cta{width:100%;text-align:center}

/* modal */
.modal{position:fixed;inset:0;background:rgba(4,6,14,.7);display:flex;align-items:center;justify-content:center;z-index:50;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.modal-card{background:rgba(16,20,34,.95);border:1px solid var(--line-2);border-radius:18px;
  padding:28px;max-width:350px;text-align:center}
.modal-card h3{margin:0 0 8px;font-family:Georgia,serif;color:#fff}
.modal-card .cta{width:100%;margin:16px 0 8px}
.ghost{background:none;border:0;color:var(--muted);cursor:pointer;font-size:14px}

/* funnel debug */
.funnel{position:fixed;right:16px;bottom:16px;width:230px;z-index:40;font-size:12px;
  background:rgba(10,14,26,.82);color:#cdd6ea;border:1px solid var(--line);border-radius:12px;padding:13px 15px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.funnel b{color:#fff}
.funnel ul{margin:8px 0 0;padding-left:16px;max-height:150px;overflow:auto}
.funnel li{margin:2px 0}
.funnel .ok{color:#9fe1cb}
.funnel-x{position:absolute;top:6px;right:9px;background:none;border:0;color:#aab4cc;font-size:17px;line-height:1;cursor:pointer}
.funnel-x:hover{color:#fff}

@media(max-width:600px){
  .hero{padding:54px 18px 30px}
  .hero .sub{font-size:16px}
  .cta{width:100%;text-align:center}
  .builder{padding:0 16px;gap:20px;margin:14px auto 60px}
  .form-pane,.buybox{padding:20px 18px}
  .canvas-wrap{padding:14px}
  .funnel{width:158px;left:12px;right:auto;bottom:12px;font-size:11px;padding:10px 12px}
  .funnel ul{max-height:90px}
}

.hidden{display:none}
