/* ===== FONTS ===== */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* ===== CSS VARIABLES ===== */
:root {
  --lp-bg: hsl(220,20%,6%);
  --lp-fg: hsl(210,40%,98%);
  --lp-card: hsl(220,18%,10%);
  --lp-primary: hsl(200,100%,50%);
  --lp-primary-fg: hsl(220,20%,6%);
  --lp-secondary: hsl(220,16%,16%);
  --lp-muted: hsl(215,20%,60%);
  --lp-accent: hsl(280,100%,65%);
  --lp-destructive: hsl(0,84.2%,60.2%);
  --lp-border: hsl(220,16%,18%);
  --lp-radius: 0.75rem;
  --lp-gradient-primary: linear-gradient(135deg, hsl(200,100%,50%) 0%, hsl(260,100%,65%) 50%, hsl(280,100%,65%) 100%);
  --lp-gradient-text: linear-gradient(135deg, hsl(200,100%,65%) 0%, hsl(260,100%,72%) 50%, hsl(280,100%,70%) 100%);
  --lp-gradient-hero: linear-gradient(180deg, hsl(220,20%,6%) 0%, hsl(230,25%,4%) 50%, hsl(220,20%,6%) 100%);
  --lp-gradient-mesh: radial-gradient(at 40% 20%, hsla(200,100%,50%,0.08) 0px, transparent 50%), radial-gradient(at 80% 0%, hsla(280,100%,65%,0.06) 0px, transparent 50%), radial-gradient(at 0% 50%, hsla(200,100%,60%,0.05) 0px, transparent 50%), radial-gradient(at 80% 50%, hsla(260,100%,60%,0.04) 0px, transparent 50%);
  --lp-shadow-glass: 0 8px 32px hsla(0,0%,0%,0.12), inset 0 1px 0 hsla(0,0%,100%,0.05);
  --lp-shadow-button: 0 4px 20px hsla(200,100%,50%,0.35), 0 0 40px hsla(260,100%,65%,0.15);
  --lp-shadow-card-hover: 0 4px 16px hsla(0,0%,0%,0.4), 0 16px 48px hsla(0,0%,0%,0.3), 0 0 40px hsla(200,100%,50%,0.08);
}

/* ===== RESET ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100vw; }

/* ===== BASE ===== */
.lp-hero, .lp-section, .lp-footer, .lp-floating-cta, .lp-modal-overlay {
  font-family: 'Plus Jakarta Sans', system-ui, sans-serif;
  color: var(--lp-fg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

/* ===== LAYOUT ===== */
.lp-container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; }
.lp-relative { position: relative; z-index: 2; }
.lp-max-w-2xl { max-width: 42rem; }
.lp-max-w-3xl { max-width: 48rem; margin: 0 auto; }
.lp-max-w-4xl { max-width: 56rem; margin: 0 auto; }
.lp-max-w-5xl { max-width: 64rem; margin: 0 auto; }
.lp-max-w-6xl { max-width: 72rem; margin: 0 auto; }
.lp-mx-auto { margin-left: auto; margin-right: auto; }
.lp-text-center { text-align: center; }
.lp-mb-2 { margin-bottom: 0.5rem; }
.lp-mb-4 { margin-bottom: 1rem; }
.lp-mb-6 { margin-bottom: 1.5rem; }
.lp-mb-8 { margin-bottom: 2rem; }
.lp-mb-10 { margin-bottom: 2.5rem; }
.lp-mb-12 { margin-bottom: 3rem; }
.lp-mb-16 { margin-bottom: 4rem; }
.lp-mt-4 { margin-top: 1rem; }
.lp-mt-6 { margin-top: 1.5rem; }
.lp-mt-12 { margin-top: 3rem; }
.lp-mt-16 { margin-top: 4rem; }

/* ===== TYPOGRAPHY ===== */
.lp-text-xs { font-size: 0.75rem; }
.lp-text-sm { font-size: 0.875rem; }
.lp-text-lg { font-size: 1.125rem; }
.lp-text-xl { font-size: 1.25rem; }
.lp-text-2xl { font-size: 1.5rem; }
.lp-bold { font-weight: 700; }
.lp-bold-sm { font-weight: 600; }
.lp-text-foreground { color: var(--lp-fg); }
.lp-text-muted { color: var(--lp-muted); }
.lp-text-primary { color: var(--lp-primary); }
.lp-text-red { color: hsla(0,84.2%,60.2%,0.8); }
.lp-text-gradient {
  background: var(--lp-gradient-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.lp-strikethrough { text-decoration: line-through; text-decoration-color: hsla(0,84.2%,60.2%,0.3); }
.lp-section-title { font-size: clamp(1.75rem, 3vw + 0.5rem, 3.25rem); font-weight: 700; line-height: 1.2; }

/* ===== GLASS & CARDS ===== */
.lp-glass {
  background: hsla(220,18%,10%,0.6);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 1px solid hsla(0,0%,100%,0.06);
  box-shadow: var(--lp-shadow-glass);
}
.lp-glass-subtle {
  background: hsla(220,18%,10%,0.4);
  backdrop-filter: blur(12px) saturate(150%);
  -webkit-backdrop-filter: blur(12px) saturate(150%);
  border: 1px solid hsla(0,0%,100%,0.04);
}
.lp-border-gradient { position: relative; border: none !important; }
.lp-border-gradient::before {
  content: ''; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
  background: linear-gradient(135deg, hsla(200,100%,50%,0.3), hsla(280,100%,65%,0.15), transparent);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none;
}
.lp-card-premium { transition: transform 0.5s cubic-bezier(0.16,1,0.3,1), box-shadow 0.5s cubic-bezier(0.16,1,0.3,1); }
.lp-card-premium:hover { transform: translateY(-6px) scale(1.02); box-shadow: var(--lp-shadow-card-hover); }

/* ===== NOISE TEXTURE ===== */
.lp-noise-bg { position: relative; }
.lp-noise-bg::before {
  content: ''; position: absolute; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");
  background-repeat: repeat; background-size: 256px; pointer-events: none; z-index: 0;
}

/* ===== SECTION DIVIDER ===== */
.lp-section-divider::after {
  content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 60%; max-width: 400px; height: 1px;
  background: linear-gradient(90deg, transparent, hsla(200,100%,50%,0.3), hsla(280,100%,65%,0.2), transparent);
}

/* ===== BADGE ===== */
.lp-badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 1.25rem; border-radius: 9999px; font-size: 0.875rem;
}
.lp-icon-primary { color: var(--lp-primary); }

/* ===== BUTTONS ===== */
.lp-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
  font-family: inherit; font-weight: 700; border: none; cursor: pointer;
  border-radius: 0.75rem; text-decoration: none; white-space: normal; text-align: center;
  transition: all 0.3s cubic-bezier(0.34,1.56,0.64,1); max-width: 100%;
}
.lp-btn-hero {
  background: var(--lp-gradient-primary); color: var(--lp-primary-fg);
  box-shadow: var(--lp-shadow-button); padding: 1rem 2.5rem; font-size: 1.125rem;
}
.lp-btn-hero:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 8px 40px hsla(200,100%,50%,0.45), 0 0 80px hsla(260,100%,65%,0.2); }
.lp-btn-cta {
  background: var(--lp-gradient-primary); color: var(--lp-primary-fg);
  box-shadow: var(--lp-shadow-button); padding: 0.625rem 1rem; font-size: 0.875rem;
}
.lp-btn-lift:hover { transform: translateY(-3px); }
.lp-btn-lift:active { transform: translateY(-1px) scale(0.98); }

/* ===== GLOW PULSE ===== */
.lp-glow-pulse { animation: lpGlowPulse 3s ease-in-out infinite; }
@keyframes lpGlowPulse {
  0%,100% { box-shadow: 0 0 20px hsla(200,100%,50%,0.15), 0 0 60px hsla(200,100%,50%,0.05); }
  50% { box-shadow: 0 0 40px hsla(200,100%,50%,0.25), 0 0 80px hsla(200,100%,50%,0.1); }
}

/* ===== SCROLL REVEAL ===== */
.lp-scroll-reveal {
  opacity: 0; transform: translateY(40px);
  transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.lp-scroll-reveal.lp-revealed { opacity: 1; transform: translateY(0); }

/* ===== HERO ===== */
.lp-hero {
  position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center;
  overflow: hidden; background: var(--lp-gradient-hero); padding: 2rem 0 4rem;
}
.lp-mesh-gradient { position: absolute; inset: 0; background: var(--lp-gradient-mesh); z-index: 0; }
.lp-hero-orbs { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.lp-orb { position: absolute; border-radius: 50%; }
.lp-orb-1 {
  top: 25%; left: 25%; width: 500px; height: 500px; filter: blur(100px);
  background: radial-gradient(circle, hsla(200,100%,50%,0.12) 0%, transparent 70%);
  animation: lpPulseSlow 4s ease-in-out infinite;
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.lp-orb-2 {
  bottom: 25%; right: 25%; width: 400px; height: 400px; filter: blur(100px);
  background: radial-gradient(circle, hsla(280,100%,65%,0.1) 0%, transparent 70%);
  animation: lpPulseSlow 4s ease-in-out infinite 2s;
  transition: transform 0.6s cubic-bezier(0.16,1,0.3,1);
}
.lp-orb-3 {
  top: 50%; left: 50%; transform: translate(-50%,-50%); width: 700px; height: 700px;
  background: radial-gradient(circle, hsla(200,100%,50%,0.04) 0%, transparent 60%);
}
.lp-grid-overlay {
  position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(rgba(255,255,255,0.015) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.015) 1px, transparent 1px);
  background-size: 72px 72px;
}
.lp-light-flare {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 800px; height: 300px;
  background: radial-gradient(ellipse at center, hsla(200,100%,50%,0.06) 0%, transparent 70%); z-index: 0;
}
.lp-vignette::after {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at center, transparent 50%, hsla(220,20%,4%,0.6) 100%);
  pointer-events: none; z-index: 1;
}
.lp-hero-content { position: relative; z-index: 10; }
.lp-hero-inner { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 56rem; margin: 0 auto; gap: 2rem; }
.lp-hero-title { font-size: clamp(1.75rem, 4vw + 0.5rem, 4.5rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; word-break: break-word; }
.lp-hero-subtitle { font-size: 1.125rem; color: var(--lp-muted); max-width: 42rem; line-height: 1.7; }
.lp-hero-subtitle strong { color: var(--lp-fg); font-weight: 500; }
.lp-hero-cta { display: flex; flex-direction: column; align-items: center; gap: 1rem; padding-top: 1rem; }
.lp-hero-price { font-size: 0.875rem; color: var(--lp-muted); }
.lp-trust-indicators { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1.5rem; padding-top: 2rem; font-size: 0.875rem; color: var(--lp-muted); }
.lp-trust-item { display: flex; align-items: center; gap: 0.5rem; }
.lp-dot { width: 8px; height: 8px; border-radius: 50%; }
.lp-dot-green { background: #22c55e; box-shadow: 0 0 8px hsla(142,76%,36%,0.6); }
.lp-scroll-indicator { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); animation: bounce 2s infinite; z-index: 10; }
.lp-scroll-pill { width: 24px; height: 40px; border-radius: 9999px; border: 2px solid hsla(215,20%,60%,0.2); display: flex; align-items: flex-start; justify-content: center; padding: 8px; }
.lp-scroll-dot { width: 6px; height: 10px; border-radius: 9999px; background: hsla(215,20%,60%,0.4); animation: pulse 2s infinite; }
.lp-hide-mobile { display: none; }
@media(min-width:640px){ .lp-hide-mobile { display: inline; } .lp-hero-cta { flex-direction: row; } .lp-hero-subtitle { font-size: 1.25rem; } }

/* ===== ANIMATIONS ===== */
@keyframes lpPulseSlow { 0%,100%{opacity:0.5}50%{opacity:1} }
@keyframes bounce { 0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)} }
@keyframes pulse { 0%,100%{opacity:1}50%{opacity:0.5} }
.lp-animate-fade-in { animation: lpFadeIn 0.8s cubic-bezier(0.16,1,0.3,1) forwards; }
.lp-animate-slide-up { animation: lpSlideUp 0.8s cubic-bezier(0.16,1,0.3,1) forwards; }
@keyframes lpFadeIn { from{opacity:0} to{opacity:1} }
@keyframes lpSlideUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }

/* ===== SECTIONS ===== */
.lp-section { position: relative; overflow: hidden; padding: 5rem 0 7rem; background: var(--lp-bg); }
.lp-section-story { background: linear-gradient(to bottom, var(--lp-bg), var(--lp-card), var(--lp-bg)); }
.lp-section-proof { background: linear-gradient(to bottom, var(--lp-card), var(--lp-bg), var(--lp-bg)); }
.lp-section-testimonials { background: linear-gradient(to bottom, var(--lp-bg), var(--lp-card), var(--lp-bg)); }
.lp-section-faq { background: linear-gradient(to bottom, var(--lp-bg), var(--lp-card)); }
.lp-story-orb-1 { top:0;right:0;width:500px;height:500px;filter:blur(120px);background:radial-gradient(circle,hsla(200,100%,50%,0.06)0%,transparent 70%); }
.lp-story-orb-2 { bottom:0;left:0;width:400px;height:400px;filter:blur(120px);background:radial-gradient(circle,hsla(280,100%,65%,0.05)0%,transparent 70%); }
.lp-showcase-glow-top { position:absolute;inset:0;background:radial-gradient(ellipse at top,hsla(200,100%,50%,0.06)0%,transparent 60%);z-index:0; }

/* ===== GRIDS ===== */
.lp-grid-2 { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media(min-width:640px){ .lp-grid-2 { grid-template-columns: 1fr 1fr; gap: 1.5rem; } }

/* ===== PROBLEM CARDS ===== */
.lp-problem-card { display: flex; align-items: flex-start; gap: 1rem; padding: 1.25rem 1.5rem; border-radius: 0.75rem; }
.lp-problem-card p { color: hsla(210,40%,98%,0.9); line-height: 1.6; padding-top: 0.25rem; }
.lp-icon-box { flex-shrink: 0; width: 40px; height: 40px; border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; }
.lp-icon-box-red { background: hsla(0,84.2%,60.2%,0.1); color: var(--lp-destructive); }
.lp-icon-box-blue { background: hsla(200,100%,50%,0.1); }

/* ===== STORY ===== */
.lp-story-text { display: flex; flex-direction: column; gap: 1.5rem; font-size: 1.125rem; color: var(--lp-muted); line-height: 1.7; margin-top: 2rem; }
.lp-insight-box { position: relative; margin: 3rem 0; padding: 1.5rem 2rem; padding-top: 2.5rem; border-radius: 1rem; }
.lp-insight-badge {
  position: absolute; top: -14px; left: 1.5rem; padding: 0.25rem 1rem; border-radius: 9999px;
  background: var(--lp-gradient-primary); color: var(--lp-primary-fg); font-size: 0.875rem; font-weight: 500;
  box-shadow: var(--lp-shadow-button); z-index: 2;
}
.lp-insight-text { font-size: 1.25rem; font-weight: 600; color: var(--lp-fg); line-height: 1.5; padding-top: 0.5rem; }
.lp-key-insight { display: flex; flex-direction: column; align-items: center; gap: 1.5rem; padding: 1.5rem; border-radius: 0.75rem; margin-top: 2rem; }
.lp-key-insight-icon { flex-shrink: 0; width: 64px; height: 64px; border-radius: 0.75rem; background: hsla(200,100%,50%,0.1); display: flex; align-items: center; justify-content: center; }
@media(min-width:768px){
  .lp-key-insight { flex-direction: row; }
  .lp-insight-text { font-size: 1.5rem; }
}

/* ===== PRODUCT ===== */
.lp-product-grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media(min-width:768px){ .lp-product-grid { grid-template-columns: 1fr 1fr; } }
.lp-emoji-icon { display: inline-flex; width: 32px; height: 32px; border-radius: 0.5rem; background: hsla(200,100%,50%,0.1); align-items: center; justify-content: center; font-size: 1rem; vertical-align: middle; margin-right: 0.5rem; }
.lp-learn-list { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; }
.lp-learn-list li { display: flex; align-items: flex-start; gap: 0.75rem; color: var(--lp-muted); line-height: 1.6; list-style: none; }
.lp-bullet { flex-shrink: 0; width: 20px; height: 20px; border-radius: 50%; background: hsla(200,100%,50%,0.2); display: flex; align-items: center; justify-content: center; margin-top: 2px; }
.lp-bullet::after { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--lp-primary); }
.lp-book-display { display: flex; align-items: center; justify-content: center; }
.lp-book-wrapper { position: relative; width: 260px; }
@media(min-width:768px){ .lp-book-wrapper { width: 320px; } }
.lp-book-glow { position: absolute; inset: 0; background: var(--lp-gradient-primary); border-radius: 0.75rem; filter: blur(48px); opacity: 0.2; animation: lpPulseSlow 4s ease-in-out infinite; }
.lp-book-glow-pulse { position: absolute; inset: -16px; background: radial-gradient(circle,hsla(200,100%,50%,0.1)0%,transparent 70%); animation: lpGlowPulse 3s ease-in-out infinite; border-radius: 1rem; }
.lp-book-img { position: relative; width: 100%; height: auto; border-radius: 0.75rem; box-shadow: 0 10px 20px hsla(0,0%,0%,0.2), 0 6px 6px hsla(0,0%,0%,0.25); transition: transform 0.7s ease-out; }
.lp-book-img:hover { transform: scale(1.05) rotate(1deg); }
.lp-benefits-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media(min-width:640px){ .lp-benefits-grid { grid-template-columns: 1fr 1fr; } }
@media(min-width:1024px){ .lp-benefits-grid { grid-template-columns: 1fr 1fr 1fr; } }
.lp-benefit-card { padding: 1.5rem; border-radius: 0.75rem; }
.lp-benefit-icon { width: 48px; height: 48px; border-radius: 0.75rem; background: hsla(200,100%,50%,0.1); display: flex; align-items: center; justify-content: center; margin-bottom: 1rem; transition: background 0.3s; }
.lp-benefit-card:hover .lp-benefit-icon { background: hsla(200,100%,50%,0.2); }
.lp-benefit-card h4 { color: var(--lp-fg); font-size: 1.125rem; margin-bottom: 0.5rem; }

/* ===== SHOWCASE ===== */
.lp-showcase-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: 3rem; }
@media(min-width:768px){ .lp-showcase-grid { grid-template-columns: 1fr 1fr; gap: 2rem; } }
.lp-showcase-card { position: relative; border-radius: 1rem; overflow: hidden; }
.lp-showcase-badge { position: absolute; top: 1rem; left: 1rem; z-index: 20; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; font-weight: 600; background: hsla(200,100%,50%,0.2); color: var(--lp-primary); backdrop-filter: blur(12px); border: 1px solid hsla(200,100%,50%,0.2); }
.lp-showcase-img-wrap { position: relative; overflow: hidden; aspect-ratio: 4/5; }
.lp-showcase-img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: top; transition: transform 1.5s ease-out; }
.lp-showcase-card:hover .lp-showcase-img-wrap img { transform: scale(1.05); }
.lp-showcase-overlay { position: absolute; inset: 0; background: linear-gradient(to top, hsla(220,20%,6%,0.9), hsla(220,20%,6%,0.2), transparent); opacity: 0.6; transition: opacity 0.5s; }
.lp-showcase-card:hover .lp-showcase-overlay { opacity: 0.8; }
.lp-showcase-hover-icon { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.5s; }
.lp-showcase-hover-icon svg { width: 24px; height: 24px; }
.lp-showcase-card:hover .lp-showcase-hover-icon { opacity: 1; }
.lp-showcase-title-bar { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.25rem; background: linear-gradient(to top, var(--lp-bg), hsla(220,20%,6%,0.95), transparent); }
.lp-showcase-title-bar h3 { font-size: 1.125rem; font-weight: 700; color: var(--lp-fg); }

/* ===== PROOF ===== */
.lp-proof-card { padding: 1.5rem 2rem; border-radius: 1rem; height: 100%; }
.lp-proof-header { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1.5rem; }
.lp-check-list, .lp-x-list { display: flex; flex-direction: column; gap: 1rem; list-style: none; }
.lp-check-list li, .lp-x-list li { display: flex; align-items: center; gap: 0.75rem; }
.lp-check-list li span { color: hsla(210,40%,98%,0.9); }
.lp-x-list li span { color: var(--lp-muted); }
.lp-proof-bottom { padding: 1.5rem 2rem; border-radius: 1rem; }

/* ===== TESTIMONIALS ===== */
.lp-testimonials-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media(min-width:768px){ .lp-testimonials-grid { grid-template-columns: 1fr 1fr; } }
@media(min-width:1024px){ .lp-testimonials-grid { grid-template-columns: 1fr 1fr 1fr; } }
.lp-testimonial-card { padding: 1.5rem; border-radius: 1rem; display: flex; flex-direction: column; height: 100%; }
.lp-quote-icon { margin-bottom: 1rem; }
.lp-testimonial-text { color: hsla(210,40%,98%,0.9); margin-bottom: 1.5rem; line-height: 1.7; flex-grow: 1; }
.lp-stars { color: #eab308; font-size: 1rem; letter-spacing: 2px; margin-bottom: 1rem; }
.lp-testimonial-author { display: flex; align-items: center; gap: 0.75rem; }
.lp-avatar {
  width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: var(--lp-gradient-primary); color: var(--lp-primary-fg); font-weight: 700; font-size: 0.875rem;
  box-shadow: var(--lp-shadow-button); flex-shrink: 0;
}
.lp-stats-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media(min-width:768px){ .lp-stats-grid { grid-template-columns: repeat(4, 1fr); } }
.lp-stat-card { text-align: center; padding: 1.5rem; border-radius: 0.75rem; }
.lp-stat-number { font-size: clamp(1.875rem,3vw,2.25rem); font-weight: 700; margin-bottom: 0.5rem; }

/* ===== OFFER ===== */
.lp-offer-box { position: relative; padding: 2rem; border-radius: 1.5rem; overflow: hidden; }
@media(min-width:768px){ .lp-offer-box { padding: 3rem; } }
.lp-offer-border-gradient {
  position: absolute; inset: 0; border-radius: 1.5rem; pointer-events: none;
  background: linear-gradient(135deg, hsla(200,100%,50%,0.3), hsla(280,100%,65%,0.15), transparent 60%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; padding: 1px;
}
.lp-offer-glow-1 { position: absolute; top: 0; right: 0; width: 192px; height: 192px; background: var(--lp-gradient-primary); opacity: 0.05; filter: blur(48px); }
.lp-offer-glow-2 { position: absolute; bottom: 0; left: 0; width: 192px; height: 192px; background: radial-gradient(circle,hsla(280,100%,65%,0.08),transparent); filter: blur(48px); }

/* Countdown */
.lp-countdown-wrapper { border-radius: 1rem; overflow: hidden; margin-bottom: 2rem; padding: 1.5rem; border: 1px solid hsla(0,84.2%,60.2%,0.2); }
.lp-countdown-wrapper .lp-glass { background: transparent; }
.lp-countdown-bg { position: absolute; inset: 0; background: hsla(0,84.2%,60.2%,0.03); animation: pulse 4s ease-in-out infinite; }
.lp-countdown-label { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin-bottom: 1rem; color: var(--lp-destructive); font-weight: 700; font-size: 1.125rem; text-transform: uppercase; letter-spacing: 0.05em; }
.lp-countdown-blocks { display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
@media(min-width:768px){ .lp-countdown-blocks { gap: 1rem; } }
.lp-time-block { display: flex; flex-direction: column; align-items: center; }
.lp-time-value {
  width: 64px; height: 64px; border-radius: 0.75rem; display: flex; align-items: center; justify-content: center;
  font-size: 1.5rem; font-weight: 800; color: var(--lp-fg); font-variant-numeric: tabular-nums;
  background: hsla(220,18%,10%,0.6); backdrop-filter: blur(20px); border: 1px solid hsla(0,84.2%,60.2%,0.3);
  box-shadow: var(--lp-shadow-glass);
}
@media(min-width:768px){ .lp-time-value { width: 80px; height: 80px; font-size: 1.875rem; } }
.lp-time-label { font-size: 0.75rem; color: var(--lp-muted); margin-top: 0.5rem; text-transform: uppercase; letter-spacing: 0.1em; font-weight: 500; }
.lp-time-sep { font-size: 1.5rem; font-weight: 700; color: hsla(0,84.2%,60.2%,0.6); animation: pulse 2s infinite; margin-top: -24px; }
@media(min-width:768px){ .lp-time-sep { font-size: 1.875rem; } }

/* Includes */
.lp-includes-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media(min-width:640px){ .lp-includes-grid { grid-template-columns: 1fr 1fr; } }
.lp-include-item { display: flex; align-items: center; gap: 1rem; padding: 1rem; border-radius: 0.75rem; }
.lp-include-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 0.5rem; background: hsla(200,100%,50%,0.1); display: flex; align-items: center; justify-content: center; }
.lp-include-item span { color: var(--lp-fg); font-weight: 500; }

/* Price */
.lp-price-box { padding: 1.5rem 2rem; border-radius: 1rem; }
.lp-price-row { display: flex; align-items: center; justify-content: center; gap: 0.75rem; margin-bottom: 1rem; }
.lp-price-old { font-size: 1.5rem; color: var(--lp-muted); text-decoration: line-through; opacity: 0.6; }
.lp-price-new { font-size: clamp(3rem,5vw,3.75rem); font-weight: 800; }

/* Comparison */
.lp-comparison-list { display: flex; flex-direction: column; gap: 1rem; }
.lp-comparison-item { display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-radius: 0.75rem; }
.lp-comp-left, .lp-comp-right { display: flex; align-items: center; gap: 0.75rem; }
.lp-shield-row { display: flex; align-items: center; justify-content: center; gap: 0.5rem; }

/* ===== FAQ ===== */
.lp-faq-list { display: flex; flex-direction: column; gap: 1rem; }
.lp-faq-item { border-radius: 0.75rem; padding: 0 1.5rem; overflow: hidden; box-shadow: 0 1px 3px hsla(0,0%,0%,0.3), 0 1px 2px hsla(0,0%,0%,0.4); transition: box-shadow 0.3s; }
.lp-faq-trigger {
  display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1.25rem 0;
  background: none; border: none; cursor: pointer; font-family: inherit; font-size: 1rem;
  font-weight: 600; color: var(--lp-fg); text-align: left; transition: color 0.3s;
}
.lp-faq-trigger:hover { color: var(--lp-primary); }
.lp-faq-chevron { font-size: 1.25rem; transition: transform 0.3s; display: inline-block; }
.lp-faq-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease-out, padding 0.3s; }
.lp-faq-content p { color: var(--lp-muted); line-height: 1.7; }
.lp-faq-active .lp-faq-chevron { transform: rotate(90deg); }
.lp-faq-active .lp-faq-content { max-height: 300px; padding-bottom: 1.25rem; }
.lp-faq-active { box-shadow: 0 4px 6px hsla(0,0%,0%,0.25), 0 2px 4px hsla(0,0%,0%,0.3); }

/* ===== FOOTER ===== */
.lp-footer { padding: 3rem 0; background: var(--lp-card); border-top: 1px solid hsla(220,16%,18%,0.3); }
.lp-footer-disclaimer { font-size: 0.75rem; color: var(--lp-muted); max-width: 42rem; margin-left: auto; margin-right: auto; line-height: 1.6; text-transform: uppercase; font-weight: 600; }
.lp-footer-text { font-size: 0.75rem; color: var(--lp-muted); max-width: 42rem; margin-left: auto; margin-right: auto; line-height: 1.6; }
.lp-footer-links { display: flex; align-items: center; justify-content: center; gap: 1.5rem; font-size: 0.875rem; }
.lp-footer-links button { background: none; border: none; color: var(--lp-muted); cursor: pointer; font-family: inherit; font-size: inherit; transition: color 0.3s; }
.lp-footer-links button:hover { color: var(--lp-primary); }
.lp-footer-dot { width: 4px; height: 4px; border-radius: 50%; background: hsla(215,20%,60%,0.3); }

/* ===== FLOATING CTA ===== */
.lp-floating-cta {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; padding: 1rem;
  background: hsla(220,18%,10%,0.6); backdrop-filter: blur(20px); border-top: 1px solid hsla(220,16%,18%,0.3);
  transform: translateY(100%); opacity: 0; transition: transform 0.5s, opacity 0.5s;
}
.lp-float-visible { transform: translateY(0); opacity: 1; }
.lp-floating-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lp-floating-info { flex: 1; min-width: 0; }
.lp-floating-info p:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media(min-width:768px){ .lp-floating-cta { display: none; } }

/* ===== MODALS ===== */
.lp-modal-overlay {
  display: none; position: fixed; inset: 0; z-index: 100; background: hsla(0,0%,0%,0.7); backdrop-filter: blur(4px);
  align-items: center; justify-content: center; padding: 1rem;
}
.lp-modal {
  background: var(--lp-card); border-radius: 1rem; max-width: 42rem; width: 100%; max-height: 80vh;
  overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--lp-border);
  box-shadow: 0 25px 50px hsla(0,0%,0%,0.5);
}
.lp-modal-header { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem; border-bottom: 1px solid var(--lp-border); flex-shrink: 0; }
.lp-modal-header h2 { font-size: 1.5rem; }
.lp-modal-close { background: none; border: none; color: var(--lp-muted); font-size: 1.5rem; cursor: pointer; padding: 0.5rem; transition: color 0.3s; }
.lp-modal-close:hover { color: var(--lp-fg); }
.lp-modal-body { padding: 1.5rem; overflow-y: auto; font-size: 0.875rem; color: var(--lp-muted); line-height: 1.7; }
.lp-modal-body h3 { font-size: 1rem; font-weight: 700; color: var(--lp-primary); margin-top: 1.5rem; margin-bottom: 0.5rem; }
.lp-modal-body p { margin-bottom: 0.75rem; }
.lp-modal-body ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 0.75rem; }
.lp-modal-body li { margin-bottom: 0.25rem; }
