:root{
  --lp-bg-1:#150a0d; --lp-bg-2:#2b0f18; --lp-panel:rgba(255,255,255,.05); --lp-border:rgba(232,193,90,.22);
  --lp-ink:#f7ece7; --lp-ink-soft:#cbaba3; --lp-accent:#ff2d55; --lp-accent-bright:#ff6083; --lp-gold:#e8c15a;
}

*{box-sizing:border-box;}

body.landing-body{
  display:block; margin:0; padding:0; align-items:initial; justify-content:initial;
  color:var(--lp-ink); font-family:'EB Garamond',Georgia,serif;
  background:
    radial-gradient(60rem 40rem at 15% -10%, rgba(255,45,85,.20), transparent 60%),
    radial-gradient(50rem 40rem at 110% 10%, rgba(232,193,90,.12), transparent 55%),
    linear-gradient(180deg, var(--lp-bg-1), var(--lp-bg-2) 45%, var(--lp-bg-1));
  position:relative;
  overflow-x:hidden;
}

body.landing-body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.5;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><path d='M60 34c-9-16-38-11-38 9 0 19 24 32 38 46 14-14 38-27 38-46 0-20-29-25-38-9z' fill='%23ff2d55' opacity='0.05'/></svg>");
  background-size:120px 120px;
  animation:drift 40s linear infinite;
}
@keyframes drift{ from{ background-position:0 0; } to{ background-position:-120px -400px; } }

h1,h2{ font-family:'Playfair Display',Georgia,serif; text-wrap:balance; }
em{ font-style:italic; background:linear-gradient(100deg, var(--lp-gold), var(--lp-accent-bright)); -webkit-background-clip:text; background-clip:text; color:transparent; }

.lp-header{
  position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.5rem; background:rgba(15,7,9,.65); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--lp-border);
}
.lp-logo{ display:flex; align-items:center; }
.lp-logo img{ height:2.5rem; display:block; }
.lp-cta-small{
  position:relative; font-family:'Jost',sans-serif; font-size:.85rem; font-weight:600; color:var(--lp-ink);
  border:1.5px solid transparent; border-radius:999px; padding:.55rem 1.15rem; text-decoration:none;
  background:linear-gradient(var(--lp-bg-1),var(--lp-bg-1)) padding-box, linear-gradient(120deg, var(--lp-gold), var(--lp-accent)) border-box;
  transition:transform .15s, box-shadow .2s;
}
.lp-cta-small:hover{ transform:translateY(-2px); box-shadow:0 6px 20px rgba(255,45,85,.35); }

.lp-hero{ position:relative; z-index:1; max-width:46rem; margin:5rem auto 4rem; padding:0 1.5rem; text-align:center; }
.lp-hero h1{
  font-size:clamp(2.4rem,6vw,3.6rem); margin:0 0 1.2rem; color:var(--lp-ink);
  text-shadow:0 0 40px rgba(255,45,85,.25);
}
.lp-sub{ font-size:1.2rem; color:var(--lp-ink-soft); line-height:1.7; margin-bottom:2.2rem; }

.lp-cta{
  display:inline-block; font-family:'Jost',sans-serif; font-weight:600; font-size:1.1rem; color:#fff;
  background:linear-gradient(120deg, var(--lp-accent), var(--lp-accent-bright) 60%, var(--lp-gold));
  background-size:180% 180%;
  border-radius:999px; padding:1.05rem 2.1rem; text-decoration:none;
  box-shadow:0 0 0 rgba(255,45,85,.5), 0 16px 40px rgba(255,45,85,.35);
  animation:glow 2.6s ease-in-out infinite;
  transition:transform .18s;
}
.lp-cta:hover{ transform:translateY(-3px) scale(1.02); }
@keyframes glow{
  0%,100%{ box-shadow:0 0 0 rgba(255,45,85,.45), 0 16px 40px rgba(255,45,85,.35); background-position:0% 50%; }
  50%{ box-shadow:0 0 34px rgba(232,193,90,.55), 0 16px 46px rgba(255,45,85,.45); background-position:100% 50%; }
}
.lp-note{ font-family:'Jost',sans-serif; font-size:.8rem; color:var(--lp-ink-soft); margin-top:1rem; opacity:.8; }
.lp-payment-trust{ font-family:'Jost',sans-serif; font-size:.78rem; color:var(--lp-ink-soft); margin-top:.5rem; opacity:.75; }
.lp-payment-trust strong{ color:var(--lp-gold); font-weight:600; }

.lp-themes,.lp-steps,.lp-features,.lp-testimonials,.lp-faq{ position:relative; z-index:1; max-width:62rem; margin:5rem auto; padding:0 1.5rem; }
.lp-themes h2,.lp-steps h2,.lp-features h2,.lp-testimonials h2,.lp-faq h2{
  text-align:center; font-size:1.8rem; margin-bottom:2rem;
  background:linear-gradient(100deg, var(--lp-ink), var(--lp-gold)); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lp-testimonials h2{ margin-bottom:.5rem; }
.lp-testi-note{ text-align:center; font-family:'Jost',sans-serif; font-size:.78rem; color:var(--lp-ink-soft); opacity:.65; margin:0 0 2rem; }

.lp-faq{ max-width:44rem; }
.lp-faq-list{ display:flex; flex-direction:column; gap:.8rem; }
.lp-faq-item{
  background:var(--lp-panel); border:1px solid var(--lp-border); border-radius:14px;
  padding:1.1rem 1.4rem; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.lp-faq-item summary{
  cursor:pointer; font-family:'Jost',sans-serif; font-weight:600; font-size:.98rem; color:var(--lp-ink);
  list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.lp-faq-item summary::-webkit-details-marker{ display:none; }
.lp-faq-item summary::after{
  content:'+'; font-size:1.4rem; color:var(--lp-gold); flex-shrink:0; line-height:1; transition:transform .2s ease;
}
.lp-faq-item[open] summary::after{ transform:rotate(45deg); }
.lp-faq-item p{ margin:.9rem 0 0; color:var(--lp-ink-soft); font-size:.92rem; line-height:1.6; }

.lp-testi-slider{
  position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.lp-testi-track{
  display:flex; gap:1.2rem; width:max-content;
  animation:testi-scroll 32s linear infinite;
}
.lp-testi-slider:hover .lp-testi-track{ animation-play-state:paused; }
@keyframes testi-scroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
.lp-testi-card{
  flex:0 0 min(82vw,22rem); background:var(--lp-panel); border:1px solid var(--lp-border);
  border-radius:18px; padding:1.6rem; margin:0; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
}
.lp-testi-card p{ font-family:'EB Garamond',serif; font-style:italic; font-size:1.1rem; line-height:1.6; color:var(--lp-ink); margin:0 0 .9rem; }
.lp-testi-card cite{ font-family:'Jost',sans-serif; font-style:normal; font-size:.85rem; color:var(--lp-gold); }
@media (prefers-reduced-motion: reduce){
  .lp-testi-track{ animation:none; }
}

.lp-live-label{ text-align:center; font-family:'Jost',sans-serif; font-size:.85rem; color:var(--lp-ink-soft); opacity:.75; margin:2.5rem 0 1rem; }
.lp-live-slider{
  position:relative; overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.lp-live-track{ display:flex; gap:1.1rem; width:max-content; animation:live-scroll 26s linear infinite; }
.lp-live-slider:hover .lp-live-track{ animation-play-state:paused; }
@keyframes live-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.lp-live-card{
  position:relative; flex:0 0 auto; width:180px; height:250px; border-radius:16px; overflow:hidden;
  border:1px solid var(--lp-border); background:#0a0507; box-shadow:0 14px 32px rgba(0,0,0,.35);
}
.lp-live-frame{
  position:absolute; top:0; left:0; width:400px; height:560px; border:0; pointer-events:none;
  transform:scale(.45); transform-origin:top left;
}
.lp-live-caption{
  position:absolute; left:0; right:0; bottom:0; padding:.5rem .4rem; text-align:center;
  font-family:'Jost',sans-serif; font-size:.72rem; color:var(--lp-ink);
  background:linear-gradient(0deg, rgba(0,0,0,.65), transparent);
}
@media (prefers-reduced-motion: reduce){ .lp-live-track{ animation:none; } }

.lp-theme-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:720px){ .lp-theme-grid{ grid-template-columns:1fr; } }
.lp-theme-card{
  background:var(--lp-panel); border:1px solid var(--lp-border); border-radius:18px; padding:1.6rem;
  text-align:center; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.lp-theme-card:hover{ transform:translateY(-6px); border-color:var(--lp-gold); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.lp-theme-card strong{ font-family:'Jost',sans-serif; display:block; margin:.7rem 0 .4rem; color:var(--lp-ink); }
.lp-theme-card span{ font-size:.9rem; color:var(--lp-ink-soft); }
.lp-font-preview{
  background:var(--paper); border-radius:12px; padding:1rem 1.1rem; margin-top:1.1rem; text-align:left;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.lp-font-preview .salutation{ font-size:1.4rem; margin:0 0 .5rem; }
.lp-font-preview .question{ font-size:.95rem; margin:0; }

.lp-swatches{ display:flex; justify-content:center; gap:.4rem; }
.lp-swatches i{ width:1.5rem; height:1.5rem; border-radius:50%; display:inline-block; box-shadow:0 0 0 1px rgba(255,255,255,.15), 0 0 14px rgba(255,255,255,.08); }

.lp-steps ol{ list-style:none; counter-reset:step; padding-left:0; display:flex; flex-direction:column; gap:1.4rem; font-size:1.08rem; line-height:1.7; color:var(--lp-ink-soft); }
.lp-steps li{ counter-increment:step; position:relative; padding-left:3.4rem; }
.lp-steps li::before{
  content:counter(step); position:absolute; left:0; top:-.15rem; width:2.5rem; height:2.5rem; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-weight:700; color:#fff;
  background:linear-gradient(135deg, var(--lp-accent), var(--lp-gold)); box-shadow:0 6px 18px rgba(255,45,85,.3);
}
.lp-steps strong{ color:var(--lp-ink); }

.lp-feature-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:720px){ .lp-feature-grid{ grid-template-columns:1fr; } }
.lp-feature-grid > div{
  background:var(--lp-panel); border:1px solid var(--lp-border); border-radius:18px; padding:1.4rem;
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.lp-feature-grid > div:hover{ transform:translateY(-6px); border-color:var(--lp-gold); box-shadow:0 18px 40px rgba(0,0,0,.35); }
.lp-feature-grid strong{ font-family:'Jost',sans-serif; display:block; margin-bottom:.5rem; color:var(--lp-gold); }
.lp-feature-grid span{ font-size:.92rem; color:var(--lp-ink-soft); line-height:1.6; }

.lp-footer{ position:relative; z-index:1; padding:4.5rem 1.5rem 2rem; border-top:1px solid var(--lp-border); margin-top:3rem; }

.lp-footer-grid{
  max-width:62rem; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:2.5rem;
  text-align:left;
}
@media (max-width:720px){
  .lp-footer-grid{ grid-template-columns:1fr; text-align:center; gap:2rem; }
}
.lp-footer-col h3{
  font-family:'Jost',sans-serif; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--lp-gold); margin:0 0 1rem;
}
.lp-footer-col{ display:flex; flex-direction:column; }
.lp-footer-col a{
  font-family:'Jost',sans-serif; font-size:.9rem; color:var(--lp-ink-soft); text-decoration:none;
  margin-bottom:.7rem; width:fit-content; border-bottom:1px solid transparent; transition:color .15s, border-color .15s;
}
@media (max-width:720px){ .lp-footer-col a{ margin:0 auto .7rem; } }
.lp-footer-col a:hover{ color:var(--lp-gold); border-color:var(--lp-gold); }

.lp-footer-banner{
  width:100%; max-width:12rem; border-radius:12px; margin-bottom:.8rem; display:block;
  box-shadow:0 12px 28px rgba(0,0,0,.35); border:1px solid var(--lp-border);
}
@media (max-width:720px){ .lp-footer-banner{ margin-left:auto; margin-right:auto; } }
.lp-footer-tagline{ font-family:'Playfair Display',Georgia,serif; font-style:italic; color:var(--lp-ink-soft); font-size:.92rem; margin:0 0 1.1rem; }

.lp-footer-social{ display:flex; gap:.8rem; }
@media (max-width:720px){ .lp-footer-social{ justify-content:center; } }
.lp-footer-social a{
  display:flex; align-items:center; justify-content:center; width:2.3rem; height:2.3rem; border-radius:50%;
  border:1.5px solid var(--lp-border); color:var(--lp-ink-soft); transition:border-color .15s, color .15s, transform .15s;
}
.lp-footer-social a:hover{ border-color:var(--lp-gold); color:var(--lp-gold); transform:translateY(-2px); }
.lp-footer-social svg{ width:1.1rem; height:1.1rem; }

.lp-footer-payments{ display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1rem; }
@media (max-width:720px){ .lp-footer-payments{ justify-content:center; } }
.lp-pay-badge{
  display:flex; align-items:center; justify-content:center; background:#fff; border-radius:8px;
  padding:.5rem .7rem; height:2.2rem; box-shadow:0 4px 14px rgba(0,0,0,.25);
}
.lp-pay-badge img{ height:1.05rem; width:auto; display:block; }
.lp-footer-stripe{
  display:flex; align-items:center; gap:.4rem; font-family:'Jost',sans-serif; font-size:.85rem;
  color:var(--lp-ink-soft); margin:0;
}
@media (max-width:720px){ .lp-footer-stripe{ justify-content:center; } }
.lp-footer-stripe img{ height:.95rem; width:auto; }

.lp-footer-pitch{
  text-align:center; font-family:'Playfair Display',Georgia,serif; font-size:1.15rem; color:var(--lp-ink);
  max-width:36rem; margin:3rem auto 0; padding-top:2rem; border-top:1px solid var(--lp-border);
}

.lp-footer-bar{
  display:flex; justify-content:center; gap:1.5rem; flex-wrap:wrap;
  font-family:'Jost',sans-serif; font-size:.78rem; color:var(--lp-ink-soft); opacity:.65; margin-top:1.5rem;
}
.lp-footer-bar p{ margin:0; }
.lp-footer-bar a{ color:inherit; text-decoration:none; }
.lp-footer-bar a:hover{ color:var(--lp-gold); }

/* ================= "see it in action" video placeholder ================= */
.lp-demo{ position:relative; z-index:1; max-width:52rem; margin:5rem auto; padding:0 1.5rem; }
.lp-demo h2{
  text-align:center; font-size:1.8rem; margin-bottom:.5rem;
  background:linear-gradient(100deg, var(--lp-ink), var(--lp-gold)); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lp-demo-frame{
  position:relative; aspect-ratio:16/9; border-radius:20px; overflow:hidden; margin-top:1.5rem;
  border:1px solid var(--lp-border); background:linear-gradient(135deg, var(--lp-bg-2), var(--lp-bg-1));
}
.lp-demo-frame video, .lp-demo-frame iframe{ width:100%; height:100%; border:0; display:block; object-fit:cover; }

/* ================= exit-intent popup ================= */
.lv-popup-overlay{
  position:fixed; inset:0; z-index:200; background:rgba(5,2,3,.72); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:1.5rem;
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.lv-popup-overlay.lv-visible{ opacity:1; pointer-events:auto; }
.lv-popup-card{
  position:relative; max-width:24rem; width:100%; text-align:center;
  background:linear-gradient(180deg, var(--lp-bg-2), var(--lp-bg-1)); border:1px solid var(--lp-border);
  border-radius:20px; padding:2.4rem 2rem 2rem; transform:translateY(14px) scale(.96); transition:transform .3s ease;
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
.lv-popup-overlay.lv-visible .lv-popup-card{ transform:translateY(0) scale(1); }
.lv-popup-close{
  position:absolute; top:.7rem; right:.8rem; background:none; border:none; color:var(--lp-ink-soft);
  font-size:1.5rem; line-height:1; cursor:pointer; padding:.4rem; opacity:.7;
}
.lv-popup-close:hover{ color:var(--lp-gold); opacity:1; }
.lv-popup-emoji{ font-size:2.4rem; display:block; margin-bottom:.6rem; }
.lv-popup-card h3{ font-family:'Playfair Display',Georgia,serif; font-size:1.5rem; margin:0 0 .8rem; color:var(--lp-ink); }
.lv-popup-card p{ font-family:'EB Garamond',serif; font-size:1.02rem; color:var(--lp-ink-soft); line-height:1.6; margin:0 0 1.5rem; }
.lv-popup-cta{
  display:inline-block; font-family:'Jost',sans-serif; font-weight:600; color:#fff; text-decoration:none;
  background:linear-gradient(120deg, var(--lp-accent), var(--lp-accent-bright) 60%, var(--lp-gold));
  border-radius:999px; padding:.9rem 1.9rem; box-shadow:0 12px 28px rgba(255,45,85,.35); transition:transform .15s;
}
.lv-popup-cta:hover{ transform:translateY(-2px); }

/* ================= cookie banner ================= */
.lv-cookie-bar{
  position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:190; max-width:40rem; margin:0 auto;
  background:rgba(15,7,9,.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border:1px solid var(--lp-border); border-radius:16px; padding:1.1rem 1.3rem;
  display:flex; flex-wrap:wrap; align-items:center; gap:1rem; justify-content:space-between;
  transform:translateY(140%); transition:transform .4s ease; box-shadow:0 20px 50px rgba(0,0,0,.4);
}
.lv-cookie-bar.lv-visible{ transform:translateY(0); }
.lv-cookie-bar p{ font-family:'Jost',sans-serif; font-size:.82rem; color:var(--lp-ink-soft); margin:0; flex:1 1 16rem; }
.lv-cookie-accept{
  font-family:'Jost',sans-serif; font-weight:600; font-size:.85rem; color:#fff; white-space:nowrap;
  background:linear-gradient(120deg, var(--lp-accent), var(--lp-gold)); border:none; border-radius:999px;
  padding:.6rem 1.3rem; cursor:pointer; transition:transform .15s;
}
.lv-cookie-accept:hover{ transform:translateY(-2px); }
