/* ======================================================
   DUA — dark companion-app theme
   Palette:
   --bg-void:     #0a0710  (base background)
   --bg-deep:     #140a1e  (panel background)
   --pink:        #ff6fb0  (signature accent)
   --pink-soft:   #ffb8d9  (secondary accent / glow)
   --white-warm:  #fdf6f9  (headings / hero text)
   --lavender:    #9b8aa8  (body text)
   ====================================================== */

:root{
  --bg-void:#0a0710;
  --bg-deep:#140a1e;
  --bg-panel:#1a0f26;
  --pink:#ff6fb0;
  --pink-soft:#ffb8d9;
  --pink-deep:#d94f8e;
  --white-warm:#fdf6f9;
  --lavender:#9b8aa8;
  --lavender-dim:#6e5f7e;
  --font-display:'Playfair Display', serif;
  --font-body:'Poppins', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}

html{overflow-x:hidden; width:100%;}

/* Hide default browser scrollbar everywhere — scrolling still works normally */
html, body{
  scrollbar-width:none; /* Firefox */
  -ms-overflow-style:none; /* IE / old Edge */
}
html::-webkit-scrollbar, body::-webkit-scrollbar{
  display:none; /* Chrome, Safari, Edge, Opera */
  width:0;
  height:0;
}

body{
  background:var(--bg-void);
  color:var(--white-warm);
  font-family:var(--font-body);
  overflow-x:hidden;
  max-width:100vw;
  position:relative;
}

/* Reliable scroll lock for modal — works on mobile/iOS unlike overflow:hidden alone */
html.scroll-locked, body.scroll-locked{
  overflow:hidden !important;
  height:100% !important;
  touch-action:none;
}

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

::selection{background:var(--pink-deep); color:var(--white-warm);}

/* ============== CURSOR FLOWER ============== */
.cursor-flower{
  position:fixed;
  top:0; left:0;
  width:34px; height:34px;
  margin:-17px 0 0 -17px;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
  z-index:9998;
  transform:translate(-100px,-100px);
  will-change:transform;
  opacity:0;
  transition:opacity 0.4s ease;
}
.cursor-flower.cursor-visible{ opacity:1; }
.cursor-flower-glow{
  position:absolute;
  width:46px; height:46px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,111,176,0.55) 0%, rgba(255,111,176,0.18) 45%, transparent 75%);
  filter:blur(6px);
  animation:cursorGlowPulse 1.8s ease-in-out infinite;
}
@keyframes cursorGlowPulse{
  0%,100%{ transform:scale(0.9); opacity:0.75; }
  50%{ transform:scale(1.25); opacity:1; }
}
.cursor-flower-emoji{
  position:relative;
  font-size:1.1rem;
  line-height:1;
  filter:drop-shadow(0 0 8px rgba(255,111,176,0.7));
  animation:cursorFlowerSpin 6s linear infinite;
}
@keyframes cursorFlowerSpin{ to{ transform:rotate(360deg); } }

@media (max-width:900px), (hover:none){
  .cursor-flower{ display:none; }
}


/* ============== PAGE TRANSITIONS ============== */
html.duaa-page-transition body{ opacity:0; }
html.duaa-page-transition body, body{ transition:opacity .22s ease, transform .22s ease; }
html.duaa-page-leave body{ opacity:0; transform:translateY(4px); }
@media (prefers-reduced-motion: reduce){ html.duaa-page-transition body, body{ transition:none; } }

/* ============== LOADER ============== */
#loader{
  position:fixed; inset:0; z-index:9999;
  background:radial-gradient(circle at 50% 45%, #150c1f 0%, #0a0710 70%);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:30px; /* reduced gap */
  transition:opacity 0.7s ease, visibility 0.7s ease;
}
#loader.loader-hide{opacity:0; visibility:hidden; pointer-events:none;}

.loader-glow{
  position:absolute;
  top:50%; left:50%;
  width:220px; height:220px;
  margin:-110px 0 0 -110px;
  background:radial-gradient(circle, rgba(255,111,176,0.05) 0%, transparent 70%);
  filter:blur(8px);
  animation:loaderPulse 3.2s ease-in-out infinite;
}
@keyframes loaderPulse{
  0%,100%{transform:scale(1); opacity:0.35;}
  50%{transform:scale(1.08); opacity:0.55;}
}

.loader-flower{
  position:relative;
  width:60px; height:60px; /* slightly smaller */
  display:flex; align-items:center; justify-content:center;
}
.loader-emoji{
  font-size:2.5rem; /* smaller */
  line-height:1;
  display:inline-block;
  filter:drop-shadow(0 0 6px rgba(255,111,176,0.2));
  animation:loaderSpin 1s linear infinite;
}
@keyframes loaderSpin{ to{ transform:rotate(360deg); } }

.loader-text{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:500; /* lighter */
  font-size:1.1rem; /* smaller from 1.5rem */
  letter-spacing:0.3px;
  color:var(--pink-soft);
  text-shadow:0 0 6px rgba(255,111,176,0.15);
}
.dots span{ animation:dotFade 1.4s infinite; opacity:0; }
.dots span:nth-child(1){ animation-delay:0s; }
.dots span:nth-child(2){ animation-delay:0.2s; }
.dots span:nth-child(3){ animation-delay:0.4s; }
@keyframes dotFade{
  0%,100%{ opacity:0; }
  50%{ opacity:1; }
}

/* ============== AMBIENT GLOWS (page-wide) ============== */
.ambient-glow{
  position:fixed;
  width:560px; height:560px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  filter:blur(40px);
  opacity:0;
  transition:opacity 2.5s ease;
  transform:translateZ(0);
  will-change:opacity;
}
.ambient-glow.glow-visible{ opacity:1; }
.glow-top-left{
  top:-220px; left:-220px;
  background:radial-gradient(circle, rgba(255,111,176,0.32) 0%, transparent 70%);
}
.glow-bottom-right{
  bottom:-220px; right:-220px;
  background:radial-gradient(circle, rgba(255,184,217,0.28) 0%, transparent 70%);
}

/* ============== NAV ============== */
.site-nav{
  position:fixed; top:0; left:0; right:0;
  width:100%;
  max-width:100vw;
  z-index:50;
  background:rgba(10,7,16,0.82);
  border-bottom:1px solid rgba(255,184,217,0.08);
  transform:translateZ(0);
  will-change:transform;
}
.nav-inner{
  max-width:1200px; margin:0 auto;
  width:100%;
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding:18px 32px;
  box-sizing:border-box;
}
.nav-logo{
  font-family:var(--font-display);
  font-weight:700; font-size:1.4rem;
  color:var(--white-warm);
  letter-spacing:0.5px;
  white-space:nowrap;
  flex-shrink:1;
  min-width:0;
  overflow:hidden;
}
.nav-dot{
  color:var(--pink);
  display:inline-block;
  animation:navDotSway 4s ease-in-out infinite;
}
@keyframes navDotSway{
  0%,100%{ transform:rotate(-8deg); }
  50%{ transform:rotate(8deg); }
}
.nav-cta{
  font-size:0.85rem; font-weight:600;
  color:var(--bg-void);
  background:linear-gradient(135deg, var(--pink-soft), var(--pink));
  padding:10px 22px;
  border-radius:30px;
  text-decoration:none;
  letter-spacing:0.3px;
  white-space:nowrap;
  flex-shrink:0;
  position:relative;
  overflow:hidden;
  transition:transform 0.3s ease, box-shadow 0.3s ease;
  box-shadow:0 4px 18px rgba(255,111,176,0.3);
}
.nav-cta::after{
  content:'';
  position:absolute;
  top:0; left:-75%;
  width:50%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.65), transparent);
  transform:skewX(-20deg);
  animation:navCtaShimmer 2.6s ease-in-out infinite;
}
@keyframes navCtaShimmer{
  0%{ left:-75%; }
  50%{ left:130%; }
  100%{ left:130%; }
}
.nav-cta:hover{ transform:translateY(-2px); box-shadow:0 6px 24px rgba(255,111,176,0.5); }

/* ============== HERO ============== */
.hero{
  position:relative;
  min-height:100vh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:120px 24px 60px;
  z-index:1;
}

.eyebrow{
  font-size:0.8rem;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--lavender);
  margin-bottom:18px;
}

.hero-title{
  position:relative;
  font-family:var(--font-display);
  font-weight:800;
  font-style:italic;
  font-size:clamp(4.5rem, 14vw, 9rem);
  line-height:1;
  margin-bottom:26px;
}
.title-shimmer{
  background:linear-gradient(100deg,
    var(--white-warm) 0%,
    var(--white-warm) 35%,
    var(--pink-soft) 48%,
    var(--pink) 55%,
    var(--white-warm) 68%,
    var(--white-warm) 100%);
  background-size:280% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:shimmerMove 5s ease-in-out infinite;
  text-shadow:0 0 50px rgba(255,111,176,0.25);
}
@keyframes shimmerMove{
  0%{ background-position:0% 50%; }
  50%{ background-position:100% 50%; }
  100%{ background-position:0% 50%; }
}



.hero-sub{
  max-width:560px;
  font-size:1.05rem;
  line-height:1.7;
  color:var(--lavender);
  margin-bottom:50px;
}

.hero-arrow{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  text-decoration:none;
  color:var(--pink-soft);
}
.arrow-line{
  width:1px; height:44px;
  background:linear-gradient(to bottom, transparent, var(--pink-soft));
  position:relative;
  overflow:hidden;
}
.arrow-line::after{
  content:'';
  position:absolute; top:-100%; left:0;
  width:100%; height:100%;
  background:linear-gradient(to bottom, transparent, var(--pink), transparent);
  animation:arrowFall 1.8s ease-in-out infinite;
}
@keyframes arrowFall{
  0%{ top:-100%; }
  100%{ top:100%; }
}
.arrow-label{
  font-size:0.7rem;
  letter-spacing:2px;
  text-transform:uppercase;
}

/* ============== SCROLL REVEALS ============== */
.reveal, .reveal-left, .reveal-right, .reveal-up{
  opacity:0;
  transition:opacity 0.9s cubic-bezier(.2,.7,.2,1), transform 0.9s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--delay, 0s);
}
.reveal{ transform:translateY(24px); }
.reveal-left{ transform:translateX(-50px); }
.reveal-right{ transform:translateX(50px); }
.reveal-up{ transform:translateY(40px); }

.reveal.in-view, .reveal-left.in-view, .reveal-right.in-view, .reveal-up.in-view{
  opacity:1; transform:translate(0,0);
}

/* Hero intro elements — sequenced manually after the loader hides (not scroll-driven) */
.hero-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--delay, 0s);
}
.hero-reveal.in-view{
  opacity:1;
  transform:translateY(0);
}

/* ============== SECTION SHARED ============== */
section{
  position:relative;
  z-index:1;
  padding:110px 6vw;
}
.section-eyebrow{
  display:block;
  font-size:0.8rem;
  letter-spacing:3px;
  text-transform:uppercase;
  color:var(--pink-soft);
  margin-bottom:14px;
}
.section-eyebrow.center{ text-align:center; }
h2{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.2;
  color:var(--white-warm);
  margin-bottom:22px;
}
h2.center{ text-align:center; }
section p.sub.center{
  text-align:center;
  max-width:560px;
  margin:0 auto 0;
}
/* ============== SPLIT SECTIONS (about / personality / video) ============== */
.split-section{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:80px;
  align-items:center;
  max-width:1200px;
  margin:0 auto;
}
.split-section.reverse .split-card{ order:2; }
.split-section.reverse .split-text{ order:1; }

.split-card{
  position:relative;
  aspect-ratio:1/1;
  width:100%;
  max-width:340px;
  margin:0 auto;
  border-radius:50%;
  background:linear-gradient(160deg, var(--bg-panel), var(--bg-deep));
  border:1px solid rgba(255,184,217,0.12);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Ambient "ambilight" glow — an absolutely-positioned pseudo-element that
   sits just outside the card's own box. position:absolute means it can
   NEVER affect the card's layout size (unlike overflow:visible + box-shadow
   directly on the card, which was making the card read as visually bigger
   than its actual box on some viewports). The card itself keeps
   overflow:hidden so the image clips and sizes exactly like before. */
.split-card::after{
  content:'';
  position:absolute;
  inset:-14px;
  border-radius:50%;
  z-index:-1;
  pointer-events:none;
  box-shadow:0 0 55px 8px rgba(255,111,176,0.45),
             0 0 100px 20px rgba(255,111,176,0.22);
  animation:ambilightGlow 4s ease-in-out infinite;
  will-change:transform, opacity;
}

.card-glow,
.card-glow.alt{
  display:none;
}

.glow-paused::after{
  animation-play-state:paused;
}

/* Animates only transform + opacity (compositor-only, GPU-accelerated)
   instead of box-shadow directly — box-shadow keyframes force a repaint
   every frame, which is what was causing jank while scrolling. The
   box-shadow itself is now static; only its visual intensity is faked
   via scale + opacity. */
@keyframes ambilightGlow{
  0%,100%{
    opacity:0.55;
    transform:scale(0.92);
  }
  50%{
    opacity:1;
    transform:scale(1);
  }
}

/* IMAGE - card clips it to rounded corners via overflow:hidden above,
   exactly like the original */
.card-img{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:50%;
  opacity:0.92;
  transform:scale(1.05);
}



.split-text p{
  color:var(--lavender);
  font-size:1.02rem;
  line-height:1.8;
  margin-bottom:16px;
  max-width:480px;
}

.feature-list{
  list-style:none;
  display:flex; flex-direction:column; gap:16px;
  margin-top:8px;
}
.feature-list li{
  position:relative;
  padding-left:28px;
  color:var(--lavender);
  font-size:1rem;
  line-height:1.6;
  max-width:480px;
}
.feature-list li::before{
  content:'🌸';
  position:absolute; left:0; top:-2px;
  font-size:0.9rem;
}

/* ============== FUNCTIONS GRID ============== */
.functions-section{ max-width:1200px; margin:0 auto; }
.functions-section .sub{ color:var(--lavender); margin-bottom:80px; }

.functions-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:14px;
}
.func-pill{
  display:flex; align-items:center; gap:12px;
  background:linear-gradient(160deg, var(--bg-panel), var(--bg-deep));
  border:1px solid rgba(255,184,217,0.1);
  border-radius:16px;
  padding:16px 18px;
  opacity:0;
  transform:translateY(16px);
  transition:opacity 0.6s ease, transform 0.6s ease, border-color 0.3s ease, background 0.3s ease;
}
.func-pill.in-view{ opacity:1; transform:translateY(0); }
.func-pill:hover{
  border-color:rgba(255,111,176,0.4);
  background:linear-gradient(160deg, #25132f, var(--bg-deep));
}
.func-num{
  font-family:var(--font-display);
  font-weight:700; font-style:italic;
  font-size:0.95rem;
  color:var(--pink);
  min-width:24px;
}
.func-name{
  font-size:0.88rem;
  color:var(--white-warm);
  font-weight:500;
}

/* ============== VIDEO SECTION ============== */
.video-card{
  position:relative;
  aspect-ratio:1/1;
  width:100%;
  max-width:340px;
  max-height:none;
  margin:0 auto;
  border-radius:50%;
  background:var(--bg-panel);
  border:1px solid rgba(255,184,217,0.14);
  display:flex; align-items:center; justify-content:center;
}
.video-card::after{
  content:'';
  position:absolute;
  inset:-14px;
  border-radius:50%;
  z-index:-1;
  pointer-events:none;
  box-shadow:0 0 55px 8px rgba(255,111,176,0.45),
             0 0 100px 20px rgba(255,111,176,0.22);
  animation:ambilightGlow 4s ease-in-out infinite;
  will-change:transform, opacity;
}
.video-card video{
  width:100%; height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}
.video-glow{
  position:absolute; inset:0;
  border-radius:50%;
  box-shadow:inset 0 0 80px rgba(255,111,176,0.15);
  pointer-events:none;
}
.play-btn{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  width:74px; height:74px;
  border-radius:50%;
  border:none;
  background:rgba(253,246,249,0.92);
  color:var(--pink-deep);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow:0 0 0 0 rgba(255,111,176,0.6), 0 8px 30px rgba(0,0,0,0.4);
  animation:playPulse 2.4s ease-in-out infinite;
  transition:transform 0.3s ease, opacity 0.4s ease;
  z-index:3;
}
.play-btn:hover{ transform:translate(-50%,-50%) scale(1.08); }
.play-btn.is-playing{ opacity:0; pointer-events:none; }
@keyframes playPulse{
  0%{ box-shadow:0 0 0 0 rgba(255,111,176,0.5), 0 8px 30px rgba(0,0,0,0.4); }
  70%{ box-shadow:0 0 0 22px rgba(255,111,176,0), 0 8px 30px rgba(0,0,0,0.4); }
  100%{ box-shadow:0 0 0 0 rgba(255,111,176,0), 0 8px 30px rgba(0,0,0,0.4); }
}

/* ============== HOW TO SETUP — SLIDER ============== */
.setup-section{ max-width:1200px; margin:0 auto; }
.setup-section p.sub.center{ color:var(--lavender); margin-bottom:56px; }

.setup-slider{
  position:relative;
  max-width:820px;
  margin:0 auto;
  border-radius:28px;
  border:1px solid rgba(255,184,217,0.14);
  background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-deep) 100%);
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,0.35);
}

.setup-track{
  display:flex;
  width:100%;
  transition:transform 0.6s cubic-bezier(.4,0,.2,1);
  will-change:transform;
  touch-action:pan-y;
}

.setup-slide{
  flex:0 0 100%;
  display:flex;
  flex-direction:column;
}

.setup-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:radial-gradient(circle at 50% 40%, #1c0f28 0%, #0c0713 80%);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.setup-frame img{
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
}

.setup-copy{
  padding:26px 34px 32px;
  text-align:center;
}
.setup-step{
  display:inline-block;
  font-size:0.72rem;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:600;
  color:var(--bg-void);
  background:linear-gradient(135deg, var(--pink-soft), var(--pink));
  padding:6px 16px;
  border-radius:20px;
  margin-bottom:14px;
}
.setup-copy p{
  color:var(--lavender);
  font-size:0.98rem;
  line-height:1.7;
  max-width:520px;
  margin:0 auto;
}

.setup-arrow{
  position:absolute;
  top:calc((100% - 88px) / 2); /* roughly centers on the frame, above the dots/copy row */
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid rgba(255,184,217,0.25);
  background:rgba(15,8,22,0.55);
  backdrop-filter:blur(6px);
  color:var(--white-warm, #fff);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:2;
  transition:background 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.setup-arrow:hover{
  background:linear-gradient(135deg, var(--pink-soft), var(--pink));
  border-color:transparent;
  color:var(--bg-void, #150a1c);
}
.setup-arrow:active{ transform:translateY(-50%) scale(0.92); }
.setup-arrow-left{ left:16px; }
.setup-arrow-right{ right:16px; }

@media (max-width:640px){
  .setup-arrow{ width:36px; height:36px; }
  .setup-arrow-left{ left:10px; }
  .setup-arrow-right{ right:10px; }
}

.setup-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 0 22px;
}
.setup-dot{
  width:8px; height:8px;
  border-radius:50%;
  border:none;
  padding:0;
  background:rgba(255,184,217,0.25);
  cursor:pointer;
  transition:background 0.3s ease, transform 0.3s ease, width 0.3s ease;
}
.setup-dot.active{
  background:linear-gradient(135deg, var(--pink-soft), var(--pink));
  width:22px;
  border-radius:5px;
}

/* ============== CHECKOUT MODAL — COMPACT MODERN LAYOUT ============== */
.checkout-content{
  max-width:760px;
  width:min(760px,94vw);
  text-align:left;
  padding:26px 28px 24px;
  max-height:92vh;
  overflow-y:auto;
}
.checkout-content-modern .popup-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.checkout-kicker{
  display:block;
  color:var(--pink);
  font-size:.62rem;
  letter-spacing:.18em;
  font-weight:800;
  margin-bottom:6px;
}
.checkout-subtitle{ color:var(--lavender-dim); font-size:.78rem; line-height:1.45; margin-top:5px; }
.checkout-access-options{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 13px; }
.checkout-access-card{
  position:relative; text-align:left; min-height:150px; padding:18px 17px 15px;
  border:1px solid rgba(255,184,217,.14); border-radius:18px;
  background:linear-gradient(160deg,rgba(255,255,255,.025),rgba(255,111,176,.025));
  color:var(--white-warm); cursor:pointer; transition:.25s ease; font-family:var(--font-body);
}
.checkout-access-card:hover{ transform:translateY(-2px); border-color:rgba(255,111,176,.42); }
.checkout-access-card.active{ border-color:rgba(255,111,176,.7); background:linear-gradient(160deg,rgba(255,111,176,.12),rgba(255,255,255,.025)); box-shadow:0 0 0 1px rgba(255,111,176,.12),0 14px 30px rgba(255,111,176,.08); }
.checkout-access-badge{ display:inline-block; font-size:.56rem; letter-spacing:.1em; font-weight:800; color:var(--bg-void); background:linear-gradient(135deg,var(--pink-soft),var(--pink)); padding:4px 8px; border-radius:999px; margin-bottom:9px; }
.checkout-access-badge.ghost{ color:var(--pink-soft); background:rgba(255,111,176,.08); border:1px solid rgba(255,111,176,.22); }
.checkout-access-title{ display:block; font-size:.92rem; font-weight:700; margin-bottom:5px; }
.checkout-access-card strong{ display:block; color:var(--white-warm); font-size:1.35rem; line-height:1.1; }
.checkout-access-recurring{ display:block; color:var(--pink-soft); font-size:.72rem; font-weight:700; margin-top:4px; }
.checkout-access-card small{ display:block; color:var(--lavender-dim); font-size:.68rem; line-height:1.45; margin-top:9px; }

.checkout-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; }
.checkout-field{ margin:0; min-width:0; }
.checkout-field-full{ grid-column:1/-1; }
.checkout-field label{ display:block; font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; color:var(--lavender); margin-bottom:6px; font-weight:700; }
.checkout-field input{ width:100%; padding:10px 12px; height:40px; border-radius:10px; border:1px solid rgba(255,184,217,.16); background:var(--bg-void); color:var(--white-warm); font-family:var(--font-body); font-size:.82rem; outline:none; transition:.2s ease; }
.checkout-field input:focus{ border-color:var(--pink); box-shadow:0 0 0 3px rgba(255,111,176,.12); }
.checkout-field input::placeholder{ color:var(--lavender-dim); }
.checkout-methods{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.checkout-method-btn{ min-width:0; padding:9px 12px; border-radius:10px; border:1px solid rgba(255,184,217,.16); background:var(--bg-void); color:var(--lavender); font-family:var(--font-body); font-size:.74rem; font-weight:600; cursor:pointer; transition:.2s ease; }
.checkout-method-btn.active{ background:linear-gradient(135deg,var(--pink-soft),var(--pink)); color:var(--bg-void); border-color:transparent; }
.checkout-account-box{ margin:0; background:rgba(255,111,176,.045); border:1px dashed rgba(255,111,176,.25); border-radius:11px; padding:9px 12px; }
.checkout-account-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; font-size:.7rem; padding:3px 0; color:var(--lavender); }
.checkout-account-row strong{ color:var(--white-warm); font-weight:600; text-align:right; overflow-wrap:anywhere; }
.checkout-note{ font-size:.67rem; color:var(--lavender-dim); line-height:1.5; margin:12px 0 10px; }
.checkout-submit-btn,.checkout-contact-btn{ width:100%; border:none; cursor:pointer; min-height:44px; }
.checkout-legal-consent{ display:flex; align-items:flex-start; gap:9px; margin:9px 0 12px; padding:9px 11px; border:1px solid rgba(255,184,217,.1); border-radius:11px; background:rgba(255,111,176,.025); color:var(--lavender); font-size:.64rem; line-height:1.5; }
.checkout-legal-consent input{ margin-top:2px; accent-color:var(--pink); width:14px; height:14px; flex:0 0 auto; }
.checkout-legal-consent a{ color:var(--pink-soft); text-decoration:none; }
.checkout-success{ text-align:center; padding:18px 8px 6px; }
.checkout-success-flower{ display:inline-block; font-size:2rem; margin-bottom:10px; filter:drop-shadow(0 0 12px rgba(255,111,176,.35)); }
.checkout-success h3{ font-family:var(--font-display); font-weight:700; font-style:italic; font-size:1.45rem; color:var(--white-warm); margin-bottom:9px; }
.checkout-success p{ color:var(--lavender); font-size:.82rem; line-height:1.55; max-width:470px; margin:0 auto 18px; }

@media (max-width:680px){
  .checkout-content{ width:calc(100vw - 24px); max-height:92vh; padding:20px 16px 18px; border-radius:22px; }
  .checkout-access-options,.checkout-form-grid{ grid-template-columns:1fr; }
  .checkout-access-card{ min-height:0; padding:15px; }
  .checkout-field-full{ grid-column:auto; }
    .checkout-methods{ grid-template-columns:1fr 1fr; }
}

/* ============== SETUP GUIDE LAUNCH CARD ============== */
.setup-guide-card{
  position:relative;
  max-width:520px;
  margin:0 auto;
  text-align:center;
  border-radius:32px;
  border:1px solid rgba(255,184,217,0.16);
  background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-deep) 100%);
  padding:56px 40px 48px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,0.35);
}
.setup-guide-glow{
  position:absolute;
  top:-90px; left:50%;
  transform:translateX(-50%);
  width:260px; height:260px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,111,176,0.28) 0%, transparent 70%);
  filter:blur(10px);
  pointer-events:none;
}
.setup-guide-ring{
  position:relative;
  width:70px; height:70px;
  margin:0 auto 20px;
  border-radius:50%;
  border:1px dashed rgba(255,111,176,0.4);
  display:flex; align-items:center; justify-content:center;
  animation:setupRingSpin 12s linear infinite;
}
@keyframes setupRingSpin{ to{ transform:rotate(360deg); } }
.setup-guide-ring span{
  display:inline-block;
  font-size:1.5rem;
  filter:drop-shadow(0 0 14px rgba(255,111,176,0.4));
  animation:setupRingCounterSpin 12s linear infinite;
}
@keyframes setupRingCounterSpin{ to{ transform:rotate(-360deg); } }
.setup-guide-card h3{
  position:relative;
  font-family:var(--font-display);
  font-weight:600;
  font-style:italic;
  font-size:1.7rem;
  letter-spacing:0.3px;
  line-height:1.3;
  background:linear-gradient(135deg, var(--white-warm) 30%, var(--pink-soft) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  margin-bottom:16px;
}
.setup-guide-card p{
  position:relative;
  color:var(--lavender);
  font-size:0.98rem;
  line-height:1.75;
  max-width:400px;
  margin:0 auto 30px;
}
.setup-guide-stats{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin-bottom:34px;
}
.setup-guide-stat{
  padding:16px 10px;
  border-radius:16px;
  background:rgba(255,111,176,0.06);
  border:1px solid rgba(255,111,176,0.15);
  transition:all 0.3s ease;
}
.setup-guide-stat:hover{
  background:rgba(255,111,176,0.12);
  border-color:rgba(255,111,176,0.35);
  transform:translateY(-3px);
}
.setup-guide-stat-icon{ font-size:1.2rem; margin-bottom:8px; display:block; }
.setup-guide-stat b{ display:block; font-size:0.82rem; color:var(--white-warm); font-weight:600; margin-bottom:2px; }
.setup-guide-stat span{ font-size:0.7rem; color:var(--lavender-dim); }
.setup-guide-btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-family:var(--font-body);
  font-weight:500;
  font-size:0.95rem;
  letter-spacing:0.3px;
  color:var(--bg-void);
  background:linear-gradient(135deg, var(--pink-soft), var(--pink) 60%, var(--pink-deep));
  padding:15px 30px;
  border-radius:30px;
  box-shadow:0 8px 26px rgba(255,111,176,0.35);
  overflow:hidden;
  transition:transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}
.setup-guide-btn::after{
  content:'';
  position:absolute;
  top:0; left:-75%;
  width:50%; height:100%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,0.65), transparent);
  transform:skewX(-20deg);
  animation:setupGuideShimmer 2.6s ease-in-out infinite;
}
@keyframes setupGuideShimmer{
  0%{ left:-75%; }
  50%{ left:130%; }
  100%{ left:130%; }
}
.setup-guide-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 34px rgba(255,111,176,0.5);
  filter:brightness(1.06);
}
.setup-guide-btn:active{ transform:translateY(0); }
.setup-guide-btn svg{ position:relative; transition:transform 0.3s ease; }
.setup-guide-btn:hover svg{ transform:translateX(3px); }

@media (max-width:640px){
  .setup-guide-card{ padding:44px 26px 38px; border-radius:26px; }
  .setup-section p.sub.center{ margin-bottom:40px; }
  .setup-guide-card h3{ font-size:1.3rem; }
  .setup-guide-btn{ padding:13px 24px; font-size:0.88rem; }
  .setup-guide-stats{ gap:8px; }
  .setup-guide-stat{ padding:12px 6px; }
  .setup-guide-stat-icon{ font-size:1rem; margin-bottom:6px; }
  .setup-guide-stat b{ font-size:0.72rem; }
  .setup-guide-stat span{ font-size:0.62rem; }
}

/* ============== PLANS ============== */
.plans-section{ max-width:1200px; margin:0 auto; }
.plans-section .sub{ color:var(--lavender); margin-bottom:80px; }

.plans-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
    align-items:start;
}

.plan-card{
  position:relative;
  background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-deep) 100%);
  border:1px solid rgba(255,184,217,0.14);
  border-radius:26px;
  padding:38px 30px 34px;
 
  overflow:hidden;
  transition:transform 0.45s cubic-bezier(.2,.8,.2,1), box-shadow 0.45s ease, border-color 0.45s ease;
}
.plan-card:hover{
  transform:translateY(-10px);
  border-color:rgba(255,111,176,0.45);
  box-shadow:0 20px 50px rgba(255,111,176,0.18);
}
.plan-card.featured{
  border-color:rgba(255,111,176,0.55);
  background:linear-gradient(165deg, #2a1430 0%, var(--bg-deep) 100%);
}

.plan-bloom{
  position:absolute;
  top:-60px; right:-60px;
  width:200px; height:200px;
  background:radial-gradient(circle, rgba(255,111,176,0.22) 0%, transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.plan-medal{ font-size:1.8rem; margin-bottom:6px; display:block; }
.plan-badge{
  position:absolute; top:28px; right:28px;
  font-size:0.65rem; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--bg-void);
  background:linear-gradient(135deg, var(--pink-soft), var(--pink));
  padding:5px 12px; border-radius:20px;
  font-weight:600;
}
.plan-card h3{
  font-family:var(--font-display);
  font-style:italic;
  font-size:1.7rem;
  color:var(--white-warm);
  margin-bottom:4px;
}
.plan-tag{
  color:var(--pink-soft);
  font-size:0.85rem;
  margin-bottom:18px;
}
.plan-price{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1rem;
  color:var(--lavender);
  margin-bottom:24px;
}
.plan-price span{
  font-size:2.6rem;
  color:var(--white-warm);
}
.plan-features{
  list-style:none;
  display:flex; flex-direction:column; gap:10px;
  margin-bottom:22px;
  flex-grow:1;
}
.plan-features li{
  font-size:0.86rem;
  line-height:1.55;
  color:var(--lavender);
  padding-left:18px;
  position:relative;
}
.plan-features li::before{
  content:'·';
  position:absolute; left:0; top:0;
  color:var(--pink);
  font-weight:700;
}
.plan-features li strong{ color:var(--white-warm); font-weight:600; }

.plan-best{
  font-size:0.78rem;
  color:var(--lavender-dim);
  line-height:1.5;
  margin-bottom:22px;
  font-style:italic;
}

.plan-btn{
  width:100%;
  padding:14px 0;
  border:none;
  border-radius:14px;
  background:linear-gradient(135deg, var(--pink-soft), var(--pink) 60%, var(--pink-deep));
  color:#1a0a14;
  font-family:var(--font-body);
  font-weight:600;
  font-size:0.92rem;
  letter-spacing:0.3px;
  cursor:pointer;
  transition:transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  box-shadow:0 6px 22px rgba(255,111,176,0.28);
}
.plan-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 30px rgba(255,111,176,0.45);
  filter:brightness(1.06);
}
.plan-btn:active{ transform:translateY(0); }

.plan-details-btn{
  width:100%;
  margin-top:10px;
  padding:12px 0;
  border:1px solid rgba(255,111,176,0.35);
  border-radius:14px;
  background:transparent;
  color:var(--pink-soft);
  font-family:var(--font-body);
  font-weight:500;
  font-size:0.84rem;
  letter-spacing:0.3px;
  cursor:pointer;
  transition:background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.plan-details-btn:hover{
  background:rgba(255,111,176,0.1);
  border-color:rgba(255,111,176,0.6);
  transform:translateY(-2px);
}
.plan-details-btn:active{ transform:translateY(0); }

/* ============== SINGLE UNIFIED PLAN CARD ============== */
.single-plan-card{
  position:relative;
  max-width:760px;
  margin:0 auto;
  background:linear-gradient(165deg, #291111 0%, var(--bg-deep) 100%);
  border:1px solid rgba(255,111,176,0.3);
  border-radius:28px;
  padding:42px 38px 36px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(255,111,176,0.1);
}

.single-plan-head{ text-align:center; margin-bottom:34px; position:relative; z-index:1; }
.single-plan-head .plan-medal{ font-size:2rem; }
.single-plan-head h3{
  font-family:var(--font-display);
  font-style:italic;
  font-weight:700;
  font-size:2rem;
  color:var(--white-warm);
  margin-bottom:8px;
}
.single-plan-head .plan-tag{
  color:var(--pink-soft);
  font-size:0.95rem;
  margin-bottom:0;
}

.single-plan-features{
  position:relative; z-index:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:34px;
}

.feature-category{
  border:1px solid rgba(255,184,217,0.14);
  border-radius:14px;
  background:rgba(255,184,217,0.03);
  overflow:hidden;
  transition:border-color 0.3s ease, background 0.3s ease;
}
.feature-category.open{
  border-color:rgba(255,111,176,0.35);
  background:rgba(255,111,176,0.06);
}

.feature-category-title{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-family:var(--font-body);
  font-weight:500;
  font-size:0.88rem;
  color:var(--white-warm);
  background:none;
  border:none;
  cursor:pointer;
  padding:13px 16px;
  text-align:left;
}
.cat-title-left{ display:flex; align-items:center; gap:9px; }
.cat-spark{
  color:var(--pink);
  font-size:0.75rem;
  flex-shrink:0;
}
.cat-meta{
  display:flex; align-items:center; gap:9px;
  flex-shrink:0;
}
.cat-count{
  font-size:0.7rem;
  font-weight:600;
  color:var(--pink-soft);
  background:rgba(255,111,176,0.12);
  padding:2px 9px;
  border-radius:20px;
}
.cat-chevron{
  color:var(--lavender);
  transition:transform 0.3s ease, color 0.3s ease;
  flex-shrink:0;
}
.feature-category.open .cat-chevron{ transform:rotate(180deg); color:var(--pink-soft); }

.feature-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.35s ease;
}

.feature-points{
  list-style:none;
  margin:0;
  padding:2px 16px 16px;
  column-count:2;
  column-gap:24px;
}
.feature-points li{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:6px 0;
  break-inside:avoid;
}
.point-spark{
  color:var(--pink);
  font-size:0.7rem;
  line-height:1.5;
  flex-shrink:0;
}
.point-name{
  font-size:0.85rem;
  color:var(--white-warm);
  font-weight:400;
  line-height:1.5;
}

.single-plan-footer{
  position:relative; z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
  padding-top:32px;
  border-top:1px solid rgba(255,184,217,0.12);
}
.single-plan-price{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:6px;
}
.price-strike{
  font-family:var(--font-body);
  font-weight:400;
  font-size:0.82rem;
  color:var(--lavender-dim);
  text-decoration:line-through;
}
.price-save{
  font-family:var(--font-body);
  font-weight:500;
  font-size:0.72rem;
  letter-spacing:0.4px;
  text-transform:uppercase;
  color:#9fe1cb;
  margin-bottom:2px;
}
.price-amount{
  font-family:var(--font-body);
  font-weight:700;
  font-size:2.3rem;
  letter-spacing:-0.5px;
  color:#ffffff;
}
.single-plan-price em{
  display:block;
  font-style:normal;
  font-family:var(--font-body);
  font-weight:500;
  font-size:0.86rem;
  color:var(--pink-soft);
  margin-top:6px;
}
.single-plan-btn{
  max-width:340px;
  width:100%;
}

/* ============== REVIEWS SLIDER ============== */
.reviews-section{ max-width:1200px; margin:0 auto; overflow:hidden; }
.reviews-section p.sub.center{ margin-bottom:70px; }

.reviews-viewport{
  position:relative;
  width:100%;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.reviews-track{
  display:flex;
  width:max-content;
  gap:22px;
  animation:reviewsScroll 42s linear infinite;
}
.reviews-viewport:hover .reviews-track{ animation-play-state:paused; }

@keyframes reviewsScroll{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-50%); }
}

.review-card{
  position:relative;
  flex:0 0 auto;
  width:320px;
  background:linear-gradient(165deg, var(--bg-panel) 0%, var(--bg-deep) 100%);
  border:1px solid rgba(255,184,217,0.14);
  border-radius:22px;
  padding:26px 26px 24px;
  transition:border-color 0.35s ease, transform 0.35s ease;
}
.review-card:hover{
  border-color:rgba(255,111,176,0.4);
  transform:translateY(-4px);
}

.review-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.review-avatar{
  width:44px; height:44px;
  border-radius:50%;
  flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display);
  font-style:italic;
  font-weight:700;
  font-size:1.05rem;
  color:var(--bg-void);
  background:linear-gradient(135deg, var(--pink-soft), var(--pink));
}
.review-who{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.review-name{
  font-family:var(--font-display);
  font-weight:700;
  font-size:0.98rem;
  color:var(--white-warm);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.review-loc{
  font-size:0.74rem;
  color:var(--lavender-dim);
  letter-spacing:0.3px;
}

.stars{
  position:relative;
  display:inline-block;
  font-size:0.92rem;
  line-height:1;
  letter-spacing:2px;
  margin-bottom:12px;
  color:rgba(255,184,217,0.18);
}
.stars::before{ content:'★★★★★'; }
.stars-fill{
  position:absolute;
  top:0; left:0;
  overflow:hidden;
  white-space:nowrap;
  color:var(--pink);
}
.stars-fill::before{ content:'★★★★★'; }

.review-text{
  font-size:0.9rem;
  line-height:1.7;
  color:var(--lavender);
}
.review-text strong{ color:var(--pink-soft); font-weight:600; }

.review-quote-mark{
  position:absolute;
  top:18px; right:22px;
  font-family:var(--font-display);
  font-style:italic;
  font-size:2.6rem;
  color:rgba(255,111,176,0.14);
  line-height:1;
  pointer-events:none;
}

@media(max-width:640px){
  .review-card{ width:270px; padding:22px 20px 20px; }
  .reviews-section p.sub.center{ margin-bottom:44px; }
}

/* ============== FOOTER ============== */
.site-footer{
  text-align:center;
  padding:60px 24px 50px;
  color:var(--lavender-dim);
  font-size:0.85rem;
}
.footer-legal-links{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  margin-top:14px;
  font-size:.72rem;
}
.footer-legal-links a{color:var(--lavender);text-decoration:none;transition:color .2s ease;}
.footer-legal-links a:hover{color:var(--pink-soft);}

.footer-flower{
  display:block;
  font-size:1.6rem;
  margin-bottom:14px;
  opacity:0.7;
  animation:footerSway 4s ease-in-out infinite;
}
@keyframes footerSway{
  0%,100%{ transform:rotate(-8deg); }
  50%{ transform:rotate(8deg); }
}

/* (responsive rules consolidated at end of file) */






/* ============== FUNCTIONS WRAPPER ============== */
.functions-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}

.functions-card {
  position: relative;
  aspect-ratio: 4/5;
  border-radius: 28px;
  background: linear-gradient(160deg, var(--bg-panel), var(--bg-deep));
  border: 1px solid rgba(255, 184, 217, 0.12);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.functions-card::after{
  content:'';
  position:absolute;
  inset:-14px;
  border-radius:34px;
  z-index:-1;
  pointer-events:none;
  box-shadow:0 0 55px 8px rgba(255,111,176,0.45),
             0 0 100px 20px rgba(255,111,176,0.22);
  animation:ambilightGlow 4s ease-in-out infinite;
  will-change:transform, opacity;
}

.functions-card .card-img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.92;
}

/* ============== GIFT BOX ============== */
.gift-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  gap: 10px;
}

.gift-box {
  position: relative;
  width: 200px;
  height: 220px;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.gift-box:hover {
  transform: scale(1.05);
}

.gift-body {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 170px;
  background: linear-gradient(145deg, #ff6fb0, #d94f8e);
  border-radius: 0 0 20px 20px;
  box-shadow: 0 10px 40px rgba(255, 111, 176, 0.3);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.gift-lid {
  position: absolute;
  top: 0;
  left: -10px;
  width: 220px;
  height: 50px;
  background: linear-gradient(145deg, #ff8bc4, #e05a9e);
  border-radius: 12px 12px 0 0;
  transform: rotate(-2deg);
  box-shadow: 0 -5px 20px rgba(255, 111, 176, 0.2);
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.gift-box.open .gift-lid {
  transform: rotate(-2deg) translateY(-80px) scale(1.1);
}

.gift-ribbon {
  position: absolute;
  top: -5px;
  left: 50%;
  width: 20px;
  height: 180px;
  background: linear-gradient(180deg, #ffd700, #ffb800);
  transform: translateX(-50%);
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
}

.gift-bow {
  font-size: 3rem;
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(0 4px 15px rgba(255, 215, 0, 0.5));
  animation: bowFloat 2s ease-in-out infinite;
}

@keyframes bowFloat {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-5deg); }
  50% { transform: translateX(-50%) translateY(-10px) rotate(5deg); }
}

.gift-label {
  color: #fff;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.8;
  margin-top: 5px;
}

/* ============== SPARKLES ============== */
.sparkles-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: visible;
  z-index: 10;
}

.sparkle {
  position: absolute;
  font-size: 1.2rem;
  animation: sparkleBurst 1s ease-out forwards;
  pointer-events: none;
  will-change: transform, opacity;
}

@keyframes sparkleBurst {
  0% {
    transform: translate(0, 0) scale(0) rotate(0deg);
    opacity: 1;
  }
  100% {
    transform: translate(var(--tx), var(--ty)) scale(1.5) rotate(720deg);
    opacity: 0;
  }
}

/* ============== POPUP MODAL ============== */
.popup-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 7, 16, 0.92);
  backdrop-filter: blur(8px);
  z-index: 1000;
  display: none;
  justify-content: center;
  align-items: center;
  animation: fadeIn 0.4s ease;
  will-change: opacity;
}

.popup-modal.active {
  display: flex;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

.popup-content {
  background: linear-gradient(160deg, #1a0f26, #0a0710);
  border: 1px solid rgba(255, 184, 217, 0.2);
  border-radius: 30px;
  padding: 40px 35px;
  max-width: 800px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  touch-action: pan-y;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.8), 0 0 60px rgba(255, 111, 176, 0.1);
  animation: popupSlide 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
  
  /* Hide scrollbar but keep scroll ability */
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
}

/* Hide scrollbar for Chrome, Safari and Opera */
.popup-content::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}

@keyframes popupSlide {
  from { transform: translateY(40px) scale(0.9); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

.popup-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 184, 217, 0.1);
  /* Remove sticky and background */
  position: relative;
  background: transparent;
  backdrop-filter: none;
  margin: 0 0 30px 0;
  padding: 0 0 20px 0;
  border-radius: 0;
}

.popup-header h2 {
  margin: 0;
  font-size: 1.8rem;
  color: var(--white-warm);
}

.popup-icon {
  font-size: 2rem;
}

.popup-close {
  font-size: 1.5rem;
  color: var(--lavender);
  cursor: pointer;
  transition: color 0.3s ease, transform 0.3s ease;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
}

.popup-close:hover {
  color: var(--white-warm);
  transform: rotate(90deg);
  background: rgba(255, 111, 176, 0.15);
}

.popup-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  padding-top: 5px;
}

.popup-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(160deg, var(--bg-panel), var(--bg-deep));
  border: 1px solid rgba(255, 184, 217, 0.08);
  border-radius: 14px;
  padding: 14px 16px;
  transition: all 0.3s ease;
  animation: pillIn 0.4s ease backwards;
}

.popup-pill:hover {
  border-color: rgba(255, 111, 176, 0.4);
  transform: translateX(4px);
  background: linear-gradient(160deg, #25132f, var(--bg-deep));
}

@keyframes pillIn {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.popup-pill .func-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-style: italic;
  font-size: 0.85rem;
  color: var(--pink);
  min-width: 22px;
}

.popup-pill .func-name {
  font-size: 0.82rem;
  color: var(--white-warm);
  font-weight: 400;
}

/* (responsive rules consolidated at end of file) */


/* ============== GIFT TITLE ============== */
.gift-title-wrapper {
  text-align: center;
  margin-bottom: 30px;
  width: 100%;
}

.gift-title-wrapper .section-eyebrow {
  display: block;
  font-size: 0.8rem;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--pink-soft);
  margin-bottom: 14px;
}

.gift-title-wrapper h2 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.2;
  color: var(--white-warm);
  margin-bottom: 16px;
}

.gift-title-wrapper .sub {
  color: var(--lavender);
  font-size: 1.02rem;
  line-height: 1.8;
  max-width: 480px;
  margin: 0 auto;
}



/* Add this to your style.css file */

.plans-section .sub {
  color: var(--lavender);
  margin-bottom: 50px; /* Increase this value for more space */
}

/* Or if you want more specific control */
.plans-section p.sub.center {
  text-align: center;
  max-width: 560px;
  margin: 0 auto 50px; /* bottom margin of 50px */
}

/* ======================================================
   NEW: HERO CTA + STATS
   ====================================================== */
.hero-cta-row{
  display:flex; align-items:center; justify-content:center; gap:22px;
  flex-wrap:wrap;
  margin-bottom:38px;
}
.hero-secondary-cta{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-body);
  font-size:0.92rem; font-weight:500;
  color:var(--white-warm);
  text-decoration:none;
  background:rgba(255,184,217,0.06);
  border:1px solid rgba(255,184,217,0.3);
  padding:13px 28px;
  border-radius:40px;
  letter-spacing:0.2px;
  transition:color 0.3s ease, border-color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}
.hero-secondary-cta svg{ transition:transform 0.3s ease; }
.hero-secondary-cta:hover{
  color:var(--pink-soft);
  border-color:rgba(255,111,176,0.5);
  background:rgba(255,111,176,0.08);
  transform:translateY(-2px);
}
.hero-secondary-cta:hover svg{ transform:translateX(3px); }

.hero-stats{
  display:flex; align-items:center; justify-content:center; gap:22px;
  flex-wrap:wrap;
  margin-bottom:46px;
}
.hero-stat{ display:flex; flex-direction:column; align-items:center; gap:3px; }
.hero-stat strong{
  font-family:var(--font-body);
  font-weight:600; font-size:1.15rem;
  letter-spacing:0.2px;
  color:var(--white-warm);
}
.hero-stat span{
  font-family:var(--font-body);
  font-size:0.68rem; letter-spacing:1.2px; text-transform:uppercase;
  font-weight:400;
  color:var(--lavender);
}
.hero-stat-divider{
  width:1px; height:24px;
  background:rgba(255,184,217,0.2);
}

/* ======================================================
   NEW: TRUST BAR
   ====================================================== */
.trust-bar{
  position:relative; z-index:1;
  max-width:1100px; margin:0 auto;
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap;
  gap:14px;
  padding:22px 6vw 60px;
  opacity:0; transform:translateY(24px);
  transition:opacity 0.9s ease, transform 0.9s ease;
}
.trust-bar.in-view{ opacity:1; transform:translateY(0); }
.trust-item{
  display:flex; align-items:center; gap:8px;
  font-size:0.82rem; font-weight:500;
  color:var(--lavender);
  background:rgba(255,184,217,0.06);
  border:1px solid rgba(255,184,217,0.14);
  padding:10px 18px;
  border-radius:30px;
  white-space:nowrap;
}
.trust-ico{ font-size:0.95rem; }

/* ======================================================
   NEW: COMPARISON TABLE
   ====================================================== */
.compare-section{ max-width:1120px; margin:0 auto; }
/* higher specificity than the global "section p.sub.center{ margin:0 auto 0; }"
   rule so the gap below the subtext actually renders */
.compare-section p.sub.center{ margin-bottom:60px; }

/* ======================================================
   COMPARE TABLE — v3 "Featured Card" REDESIGN
   3 vertical cards side by side (pricing-table style).
   Duaa card floats above the others, glowing border,
   ribbon badge. Same structure scales to mobile stack.
   ====================================================== */

.cmp3-wrap{ max-width:1120px; margin:0 auto; }
.cmp3-wrap .sub{ margin-bottom:60px; }

.cmp3-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  max-width:820px;
  margin:0 auto;
  gap:22px;
  align-items:start;
  opacity:0; transform:translateY(40px);
  transition:opacity 0.9s ease, transform 0.9s ease;
}
.cmp3-grid.in-view{ opacity:1; transform:translateY(0); }

.cmp3-card{
  position:relative;
  background:linear-gradient(170deg, #1e1128 0%, var(--bg-deep) 55%, #180c22 100%);
  border:1px solid rgba(255,184,217,0.1);
  border-radius:26px;
  padding:30px 24px 26px;
  box-shadow:0 18px 40px rgba(255,111,176,0.08);
  transition:transform 0.35s cubic-bezier(.2,.8,.2,1), border-color 0.35s ease, box-shadow 0.35s ease;
}
.cmp3-card:not(.cmp3-featured):hover{
  border-color:rgba(255,184,217,0.25);
  box-shadow:0 20px 44px rgba(255,111,176,0.14);
  transform:translateY(-4px);
}

/* -------- featured / Duaa card -------- */
.cmp3-card.cmp3-featured{
  background:linear-gradient(170deg, #2b1330 0%, #1c0e29 55%, #200f27 100%);
  border:1px solid rgba(255,111,176,0.45);
  box-shadow:0 20px 46px rgba(255,111,176,0.16), 0 0 0 1px rgba(255,111,176,0.08) inset;
  z-index:2;
}
.cmp3-card.cmp3-featured:hover{ box-shadow:0 22px 50px rgba(255,111,176,0.2), 0 0 0 1px rgba(255,111,176,0.08) inset; transform:translateY(-4px); }
.cmp3-ribbon{
  position:absolute;
  top:-14px; left:50%;
  transform:translateX(-50%);
  display:inline-flex; align-items:center; gap:6px;
  background:linear-gradient(135deg, var(--pink), var(--pink-deep));
  color:#2a0f1e;
  font-size:0.68rem; font-weight:700; letter-spacing:0.5px;
  text-transform:uppercase;
  padding:7px 16px;
  border-radius:20px;
  box-shadow:0 10px 24px rgba(255,111,176,0.45);
  white-space:nowrap;
}

/* -------- card header -------- */
.cmp3-head{ text-align:center; margin-bottom:22px; }
.cmp3-avatar{
  width:56px; height:56px;
  margin:0 auto 14px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem;
  background:rgba(255,184,217,0.06);
  border:1px solid rgba(255,184,217,0.15);
}
.cmp3-featured .cmp3-avatar{
  background:radial-gradient(circle, rgba(255,111,176,0.35), rgba(255,111,176,0.08));
  border:1px solid rgba(255,111,176,0.5);
  box-shadow:0 0 24px rgba(255,111,176,0.4);
}
.cmp3-name{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.25rem;
  color:var(--white-warm);
  margin-bottom:4px;
}
.cmp3-tagline{
  font-size:0.78rem;
  color:var(--lavender);
  line-height:1.4;
}
.cmp3-featured .cmp3-tagline{ color:var(--pink-soft); }

.cmp3-divider{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,184,217,0.18), transparent);
  margin-bottom:18px;
}

/* -------- feature rows inside each card -------- */
.cmp3-feature{
  display:flex; align-items:center; gap:10px;
  padding:10px 2px;
  border-bottom:1px solid rgba(255,184,217,0.06);
}
.cmp3-feature:last-child{ border-bottom:none; }
.cmp3-feature-emoji{ font-size:0.9rem; flex-shrink:0; width:20px; text-align:center; }
.cmp3-feature-text{
  flex:1;
  font-size:0.82rem;
  color:var(--lavender);
  line-height:1.4;
}
.cmp3-featured .cmp3-feature-text{ color:#e6d7e2; }

.cmp3-status{
  flex-shrink:0;
  width:24px; height:24px;
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
}
.cmp3-status svg{ width:12px; height:12px; }
.cmp3-status.yes{
  background:rgba(255,111,176,0.18);
  box-shadow:0 0 0 1px rgba(255,111,176,0.4) inset, 0 0 12px rgba(255,111,176,0.35);
  color:var(--pink-soft);
}
.cmp3-status.no{
  background:rgba(255,255,255,0.03);
  box-shadow:0 0 0 1px rgba(155,138,168,0.22) inset;
  color:var(--lavender-dim);
}
.cmp3-status.partial{
  width:auto; border-radius:20px;
  padding:3px 9px;
  font-size:0.62rem; font-style:italic;
  color:var(--lavender);
  border:1px dashed rgba(155,138,168,0.4);
  background:none;
}

/* -------- score strip under featured card -------- */
.cmp3-score{
  margin-top:20px;
  text-align:center;
  font-size:0.78rem;
  color:var(--pink-soft);
  background:rgba(255,111,176,0.1);
  border:1px solid rgba(255,111,176,0.25);
  border-radius:14px;
  padding:9px 10px;
  font-weight:600;
}

/* ================= MOBILE / TABLET ================= */
@media (max-width:900px){
  .cmp3-grid{ grid-template-columns:1fr; gap:20px; }
  .cmp3-card.cmp3-featured{ order:-1; }
  .cmp3-card:hover{ transform:translateY(-2px); }
}
@media (max-width:640px){
  .cmp3-wrap .sub{ margin-bottom:40px; }
  .cmp3-card{ border-radius:22px; padding:24px 20px 22px; }
  .cmp3-name{ font-size:1.1rem; }
}


/* ======================================================
   NEW: URGENCY BANNER
   ====================================================== */
.urgency-banner{
  max-width:640px; margin:0 auto 34px;
  display:flex; align-items:center; justify-content:center; gap:10px;
  flex-wrap:wrap;
  text-align:center;
  font-size:0.85rem;
  color:var(--pink-soft);
  background:rgba(255,111,176,0.08);
  border:1px solid rgba(255,111,176,0.25);
  padding:12px 22px;
  border-radius:30px;
  opacity:0; transform:translateY(24px);
  transition:opacity 0.9s ease, transform 0.9s ease;
}
.urgency-banner.in-view{ opacity:1; transform:translateY(0); }
.urgency-banner strong{ color:var(--white-warm); }
.urgency-dot{
  width:8px; height:8px; border-radius:50%;
  background:var(--pink);
  box-shadow:0 0 8px rgba(255,111,176,0.8);
  animation:urgencyPulse 1.4s ease-in-out infinite;
  flex-shrink:0;
}
@keyframes urgencyPulse{
  0%,100%{ transform:scale(1); opacity:1; }
  50%{ transform:scale(1.4); opacity:0.5; }
}

/* ======================================================
   NEW: PRICING CARD EXTRAS (badge / strike price / guarantee)
   ====================================================== */
.single-plan-ribbon{
  position:absolute;
  top:22px; right:-38px;
  background:linear-gradient(135deg, var(--pink-soft), var(--pink));
  color:var(--bg-void);
  font-size:0.72rem; font-weight:700;
  letter-spacing:0.5px;
  padding:6px 44px;
  transform:rotate(40deg);
  box-shadow:0 4px 14px rgba(255,111,176,0.4);
  z-index:2;
}
.price-strike{
  font-family:var(--font-body);
  font-size:0.82rem;
  font-weight:400;
  color:var(--lavender-dim);
  text-decoration:line-through;
  text-decoration-color:rgba(155,138,168,0.6);
}
.price-save{
  display:block;
  font-size:0.72rem; font-weight:500;
  letter-spacing:0.4px;
  text-transform:uppercase;
  color:#7dffb0;
  margin-bottom:2px;
}
.plan-guarantee{
  margin-top:16px;
  text-align:center;
  font-size:0.82rem;
  color:var(--lavender);
}
.plan-guarantee span{ filter:drop-shadow(0 0 4px rgba(255,111,176,0.4)); }
.plan-payments{
  margin-top:10px;
  text-align:center;
  font-size:0.78rem;
  color:var(--lavender-dim);
}
.plan-payments span{ color:var(--lavender); }

/* ======================================================
   NEW: FAQ SECTION
   ====================================================== */
.faq-section{ max-width:820px; margin:0 auto; }
.faq-section p.sub.center{ margin-bottom:60px; }
.faq-list{
  display:flex; flex-direction:column; gap:14px;
  opacity:0; transform:translateY(40px);
  transition:opacity 0.9s ease, transform 0.9s ease;
}
.faq-list.in-view{ opacity:1; transform:translateY(0); }
.faq-item{
  background:rgba(255,184,217,0.04);
  border:1px solid rgba(255,184,217,0.12);
  border-radius:16px;
  padding:4px 22px;
  transition:border-color 0.3s ease, background 0.3s ease;
}
.faq-item[open]{
  border-color:rgba(255,111,176,0.35);
  background:rgba(255,111,176,0.06);
}
.faq-item summary{
  list-style:none;
  cursor:pointer;
  display:flex; align-items:center; justify-content:space-between;
  gap:16px;
  padding:18px 0;
  font-size:0.98rem; font-weight:500;
  color:var(--white-warm);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-toggle{
  flex-shrink:0;
  width:26px; height:26px;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:rgba(255,111,176,0.12);
  color:var(--pink-soft);
  font-size:1.1rem;
  transition:transform 0.3s ease, background 0.3s ease;
}
.faq-item[open] .faq-toggle{ transform:rotate(45deg); background:var(--pink); color:var(--bg-void); }
.faq-item p{
  color:var(--lavender);
  font-size:0.9rem;
  line-height:1.7;
  padding-bottom:20px;
}

/* ======================================================
   NEW: CONTACT CARD (after FAQ)
   ====================================================== */
.contact-section{
  max-width:720px; margin:0 auto; padding-top:0;
  position:relative; z-index:2;
}
.contact-section::before{
  content:'';
  position:absolute;
  inset:-120px -60px;
  background:radial-gradient(circle at 50% 55%, rgba(37,211,102,0.16) 0%, rgba(10,7,16,0.92) 52%, transparent 74%);
  filter:blur(24px);
  pointer-events:none;
  z-index:-1;
}

.contact-card{
  position:relative;
  text-align:center;
  background:linear-gradient(170deg, #1e1128 0%, var(--bg-deep) 60%, #180c22 100%);
  border:1px solid rgba(120,220,160,0.16);
  border-radius:28px;
  padding:50px 32px;
  overflow:hidden;
  opacity:0; transform:translateY(40px);
  transition:opacity 0.9s ease, transform 0.9s ease;
  box-shadow:0 25px 70px rgba(0,0,0,0.45), 0 0 55px -12px rgba(37,211,102,0.22);
}
.contact-card.in-view{ opacity:1; transform:translateY(0); }
.contact-card::before{
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(circle at 50% -10%, rgba(37,211,102,0.14), transparent 60%);
  pointer-events:none;
}
.contact-card-flower{ font-size:2.4rem; margin-bottom:16px; display:block; }
.contact-card h3{
  font-family:var(--font-display);
  font-weight:700;
  font-size:1.6rem;
  color:var(--white-warm);
  margin-bottom:10px;
}
.contact-card p{
  color:var(--lavender);
  font-size:0.92rem;
  line-height:1.6;
  margin-bottom:26px;
  max-width:380px;
  margin-left:auto; margin-right:auto;
}
.contact-wa-btn{
  position:relative;
  display:inline-flex; align-items:center; gap:10px;
  background:linear-gradient(135deg, #25D366, #1DA851);
  color:#0c2415; font-weight:700; font-size:0.92rem;
  padding:14px 30px; border-radius:40px; text-decoration:none;
  box-shadow:0 14px 32px rgba(37,211,102,0.35);
  transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.contact-wa-btn:hover{ transform:translateY(-2px); box-shadow:0 18px 38px rgba(37,211,102,0.45); }
.contact-wa-btn svg{ width:20px; height:20px; }



/* ======================================================
   RESPONSIVE — ANDROID / MOBILE / TABLET
   Single consolidated source of truth for all breakpoints.
   Tiers: ≤900px (tablet/large phone landscape),
          ≤640px (standard Android phones),
          ≤400px (small/narrow phones)
   ====================================================== */

/* ---------- TABLET / LARGE PHONE (≤900px) ---------- */
@media (max-width:900px){
  .nav-inner{ padding:16px 22px; }
  .nav-logo{ font-size:1.25rem; }
  .nav-cta{ padding:9px 18px; font-size:0.8rem; }

  .hero{ padding:110px 22px 50px; }
  .hero-sub{ max-width:90%; font-size:1rem; }

  section{ padding:90px 6vw; }

  .split-section{ grid-template-columns:1fr; gap:46px; }
  .split-section.reverse .split-card{ order:1; }
  .split-section.reverse .split-text{ order:2; }
  .split-card{ aspect-ratio:1/1; max-width:300px; margin:0 auto; width:100%; }
  .split-text{ text-align:center; }
  .split-text p{ max-width:100%; margin-left:auto; margin-right:auto; }
  .feature-list{ align-items:center; }
  .feature-list li{ text-align:left; max-width:420px; }

  .functions-wrapper{ grid-template-columns:1fr; gap:40px; }
  .functions-card{ aspect-ratio:5/4; max-width:480px; margin:0 auto; width:100%; }

  .video-card{ aspect-ratio:1/1; max-width:300px; margin:0 auto; width:100%; }

  .plans-grid{ grid-template-columns:1fr; max-width:480px; margin:0 auto; gap:22px; }
  .plan-card.featured{ transform:scale(1); }
  .plan-card.featured:hover{ transform:translateY(-6px); }

  .setup-slider{ max-width:520px; }
  .setup-frame{ aspect-ratio:4/3; }
  .setup-copy{ padding:22px 24px 28px; }

  .single-plan-card{ max-width:560px; padding:38px 28px 32px; }

  .hero-cta-row{ gap:16px; }
  .hero-secondary-cta{ padding:12px 24px; font-size:0.85rem; }
  .hero-stats{ gap:16px; }
  .trust-bar{ gap:10px; padding:18px 6vw 50px; }
  .trust-item{ font-size:0.76rem; padding:8px 14px; }
  .single-plan-ribbon{ top:18px; right:-42px; font-size:0.66rem; padding:5px 46px; }
}

/* ---------- STANDARD ANDROID PHONES (≤640px) ---------- */
@media (max-width:640px){
  .nav-inner{ padding:14px 18px; }
  .nav-logo{ font-size:1.1rem; }
  .nav-cta{ padding:8px 16px; font-size:0.75rem; }

  .hero{ padding:100px 18px 44px; min-height:92vh; }
  .eyebrow{ font-size:0.7rem; letter-spacing:2px; margin-bottom:14px; }
  .hero-title{ font-size:clamp(3rem, 16vw, 4.5rem); margin-bottom:18px; }
  .hero-sub{ font-size:0.95rem; line-height:1.65; margin-bottom:38px; max-width:100%; }
  .hero-arrow{ gap:8px; }
  .arrow-line{ height:36px; }

  section{ padding:64px 5vw; }
  .section-eyebrow{ font-size:0.72rem; letter-spacing:2px; margin-bottom:10px; }
  h2{ font-size:clamp(1.6rem, 7vw, 2.2rem); margin-bottom:16px; }
  section p.sub.center{ font-size:0.92rem; max-width:100%; }

  .split-section{ gap:34px; }
  .split-card{ aspect-ratio:1/1; max-width:240px; border-radius:50%; }
  .functions-card{ aspect-ratio:4/5; max-width:340px; border-radius:22px; }
  .split-card::after{ border-radius:50%; }
  .functions-card::after{ border-radius:28px; }
  .split-text p{ font-size:0.94rem; line-height:1.65; margin-bottom:12px; }
  .feature-list{ gap:12px; }
  .feature-list li{ font-size:0.92rem; padding-left:24px; max-width:100%; }

  .functions-section .sub, .plans-section .sub{ margin-bottom:40px; }
  .gift-container{ min-height:auto; }
  .gift-title-wrapper{ margin-bottom:22px; }
  .gift-title-wrapper .sub{ font-size:0.92rem; max-width:100%; }
  .ambient-glow{ width:380px; height:380px; }
  .glow-top-left{ top:-160px; left:-160px; }
  .glow-bottom-right{ bottom:-160px; right:-160px; }
  .gift-box{ width:150px; height:165px; }
  .gift-body{ height:128px; }
  .gift-lid{ width:165px; height:36px; }
  .gift-ribbon{ height:136px; width:16px; }
  .gift-bow{ font-size:2.3rem; top:-26px; }
  .gift-label{ font-size:0.7rem; }

  .video-card{ aspect-ratio:1/1; max-width:240px; border-radius:50%; }
  .play-btn{ width:60px; height:60px; }

  .plans-grid{ max-width:100%; gap:18px; }
  .plan-card{ padding:30px 24px 26px; border-radius:22px; }
  .plan-card h3{ font-size:1.45rem; }
  .plan-price span{ font-size:2.2rem; }
  .plan-features li{ font-size:0.84rem; }
  .plan-best{ font-size:0.74rem; }
  .plan-btn{ font-size:0.86rem; padding:12px 0; }
  .plan-badge{ top:22px; right:22px; font-size:0.6rem; padding:4px 10px; }

  .setup-slider{ max-width:100%; border-radius:22px; }
  .setup-frame{ aspect-ratio:4/3.4; }
  .setup-copy{ padding:18px 18px 24px; }
  .setup-step{ font-size:0.66rem; padding:5px 13px; }
  .setup-copy p{ font-size:0.9rem; }
  .setup-dots{ padding-bottom:18px; }

  .single-plan-card{ max-width:100%; padding:30px 20px 26px; border-radius:24px; }
  .single-plan-head h3{ font-size:1.5rem; }
  .feature-category-title{ font-size:0.82rem; padding:11px 13px; }
  .cat-count{ font-size:0.64rem; padding:2px 7px; }
  .feature-points{ column-count:1; padding:2px 13px 13px; }
  .point-name{ font-size:0.8rem; }
  .price-amount{ font-size:1.85rem; }
  .single-plan-btn{ max-width:100%; }

  /* Popup modal — fit small viewports without overflow */
  .popup-modal{ padding:16px; align-items:flex-start; padding-top:40px; }
  .popup-content{ width:100%; max-width:100%; padding:26px 20px; max-height:85vh; border-radius:22px; }
  .popup-header h2{ font-size:1.3rem; }
  .popup-icon{ font-size:1.5rem; }
  .popup-close{ width:34px; height:34px; font-size:1.2rem; }
  .popup-grid{ grid-template-columns:repeat(auto-fill, minmax(135px, 1fr)); gap:10px; }
  .popup-pill{ padding:11px 12px; }
  .popup-pill .func-name{ font-size:0.76rem; }

  .site-footer{ padding:46px 20px 40px; font-size:0.8rem; }

  .hero-cta-row{ flex-direction:column; gap:10px; margin-bottom:26px; align-items:stretch; }
  .hero-primary-cta,.hero-secondary-cta{ width:100%; justify-content:center; padding:14px 22px; font-size:.9rem; }
  .hero-stats{ gap:12px; margin-bottom:34px; }
  .hero-stat strong{ font-size:1.1rem; }
  .hero-stat span{ font-size:0.62rem; }

  .trust-bar{ gap:8px; padding:14px 5vw 40px; }
  .trust-item{ font-size:0.7rem; padding:7px 12px; }

  .urgency-banner{ font-size:0.76rem; padding:10px 16px; }

  .single-plan-ribbon{ top:14px; right:-46px; font-size:0.6rem; padding:4px 48px; }

  .faq-section p.sub.center{ margin-bottom:44px; }
  .faq-item summary{ font-size:0.9rem; padding:15px 0; gap:10px; }
  .faq-item p{ font-size:0.86rem; padding-bottom:16px; }

  .contact-card{ padding:38px 22px; border-radius:22px; }
  .contact-card-flower{ font-size:2rem; margin-bottom:12px; }
  .contact-card h3{ font-size:1.3rem; }
  .contact-card p{ font-size:0.88rem; margin-bottom:22px; }
  .contact-wa-btn{ padding:13px 24px; font-size:0.88rem; }
}

/* ---------- SMALL / NARROW PHONES (≤400px) ---------- */
@media (max-width:400px){
  .nav-logo{ font-size:1rem; }
  .nav-cta{ padding:7px 14px; font-size:0.7rem; }

  .hero-title{ font-size:clamp(2.6rem, 17vw, 3.6rem); }
  .hero-sub{ font-size:0.88rem; }

  h2{ font-size:clamp(1.4rem, 7.5vw, 1.9rem); }

  .split-card{ max-width:200px; }
  .functions-card{ max-width:280px; }
  .split-text p, .feature-list li{ font-size:0.86rem; }

  .gift-box{ width:130px; height:145px; }
  .gift-body{ height:112px; }
  .gift-lid{ width:145px; height:32px; }
  .gift-ribbon{ height:118px; width:14px; }
  .gift-bow{ font-size:2rem; }

  .plan-card{ padding:26px 20px 22px; }
  .plan-price span{ font-size:1.9rem; }

  .popup-grid{ grid-template-columns:repeat(auto-fill, minmax(115px, 1fr)); }

  .setup-frame{ aspect-ratio:1/1.05; }
  .price-amount{ font-size:1.65rem; }
}

/* Landscape phones: shrink hero so content isn't taller than the viewport */
@media (max-height:480px) and (orientation:landscape){
  .hero{ min-height:auto; padding:90px 22px 40px; }
}


@media (max-width:768px){

    .video-card{
        width:100%;
        max-width:260px;
        aspect-ratio:1/1;
        margin:0 auto;
        padding:0;
        border-radius:50%;
    }

    .video-card video{
        display:block;
        width:100%;
        height:100%;
        max-width:none;
        margin:0;
        border-radius:50%;
        object-fit:cover;
    }

    .play-btn{
        left:50%;
        top:50%;
        transform:translate(-50%,-50%);
    }

}

/* Customer-facing capability descriptions — keeps the plan premium and readable
   while avoiding exposure of the internal feature inventory. */
.feature-category-description {
  margin: 0;
  padding: 0 22px 20px 22px;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.92rem;
  line-height: 1.65;
  max-width: 900px;
}
.feature-category.open .feature-category-description {
  animation: capabilityFadeIn 0.22s ease both;
}
@keyframes capabilityFadeIn {
  from { opacity: 0; transform: translateY(-4px); }
  to { opacity: 1; transform: translateY(0); }
}
.cat-chevron-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* -------- Refined customer-facing capability accordion -------- */
.single-plan-features{ gap:12px; }
.feature-category{
  border:1px solid rgba(255,184,217,0.13);
  border-radius:16px;
  background:rgba(255,184,217,0.025);
}
.feature-category.open{
  border-color:rgba(255,111,176,0.34);
  background:linear-gradient(180deg,rgba(255,111,176,0.055),rgba(255,184,217,0.025));
}
.feature-category-title{
  padding:16px 18px;
  min-height:56px;
  font-size:.95rem;
}
.cat-title-left{ gap:11px; }
.cat-spark{ font-size:.68rem; }
.feature-panel{
  padding:0 18px;
}
.feature-lead{
  margin:0;
  padding:4px 0 15px;
  color:var(--white-warm);
  font-size:1rem;
  line-height:1.55;
  font-weight:600;
  max-width:820px;
}
.feature-how{
  display:grid;
  grid-template-columns:minmax(112px,auto) 1fr;
  gap:14px;
  align-items:start;
  padding:15px 0 16px;
  border-top:1px solid rgba(255,184,217,.09);
}
.feature-mini-label{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:5px 9px;
  border:1px solid rgba(255,111,176,.22);
  border-radius:999px;
  background:rgba(255,111,176,.08);
  color:var(--pink-soft);
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
}
.feature-how p{
  margin:0;
  color:#d9c9d5;
  font-size:.88rem;
  line-height:1.65;
}
.feature-highlights{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:0 0 16px;
}
.feature-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,184,217,.10);
  color:#eadce6;
  font-size:.73rem;
  line-height:1;
}
.feature-chip span{ color:var(--pink); font-size:.58rem; }
.feature-example{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start;
  margin:0 0 18px;
  padding:13px 14px;
  border-radius:12px;
  background:rgba(255,111,176,.055);
  border:1px solid rgba(255,111,176,.13);
}
.feature-example strong{
  color:var(--pink-soft);
  font-size:.78rem;
  white-space:nowrap;
  padding-top:1px;
}
.feature-example p{
  margin:0;
  color:#d8c8d4;
  font-size:.82rem;
  line-height:1.55;
}
@media (max-width:700px){
  .feature-panel{ padding:0 14px; }
  .feature-category-title{ padding:14px; font-size:.88rem; }
  .feature-how{ grid-template-columns:1fr; gap:9px; }
  .feature-example{ grid-template-columns:1fr; gap:5px; }
  .feature-lead{ font-size:.92rem; }
}

/* ============== COMPACT PLAN CARD + FULL CAPABILITY VIEW ============== */
.compact-plan-card{
  position:relative;
  max-width:760px;
  margin:0 auto;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,111,176,.28);
  background:
    radial-gradient(circle at 90% 10%, rgba(255,111,176,.09), transparent 34%),
    linear-gradient(145deg, #211026 0%, #100b13 72%);
  box-shadow:0 24px 70px rgba(0,0,0,.28), 0 0 0 1px rgba(255,184,217,.025) inset;
}
.compact-plan-ribbon{
  position:absolute;
  top:18px;
  right:20px;
  z-index:2;
  padding:6px 11px;
  border-radius:999px;
  border:1px solid rgba(255,111,176,.25);
  background:rgba(255,111,176,.08);
  color:var(--pink-soft);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.compact-plan-glow{
  position:absolute;
  width:260px;
  height:260px;
  right:-120px;
  top:-130px;
  border-radius:50%;
  background:rgba(255,111,176,.08);
  filter:blur(35px);
  pointer-events:none;
}
.compact-plan-content{ position:relative; z-index:1; padding:34px 34px 28px; }
.compact-plan-title-row{ display:flex; align-items:flex-start; gap:14px; padding-right:120px; }
.compact-plan-sparkle{ color:var(--pink); font-size:1.35rem; line-height:1.1; margin-top:2px; }
.compact-plan-title-row h3{
  margin:0 0 5px;
  font-family:var(--font-display);
  font-size:1.8rem;
  font-weight:700;
  color:var(--white-warm);
}
.compact-plan-title-row p{ margin:0; color:var(--lavender); font-size:.88rem; line-height:1.5; }
.compact-plan-list{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:12px; }
.compact-plan-list li{ display:flex; align-items:flex-start; gap:11px; color:#e8dce5; font-size:.91rem; line-height:1.45; }
.compact-check{
  flex:0 0 21px;
  width:21px; height:21px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:#171018;
  font-size:.65rem;
  margin-top:1px;
  box-shadow:0 2px 10px rgba(0,0,0,.16);
}
.compact-plan-divider{ height:1px; margin:25px 0 22px; background:linear-gradient(90deg, rgba(255,184,217,.16), rgba(255,184,217,.06), transparent); }

.compact-plan-options{ display:grid; grid-template-columns:1fr 1fr; gap:11px; margin-top:22px; }
.compact-price-option{ position:relative; padding:15px 16px; border:1px solid rgba(255,184,217,.12); border-radius:16px; background:rgba(255,255,255,.02); }
.compact-price-option.featured{ border-color:rgba(255,111,176,.38); background:linear-gradient(145deg,rgba(255,111,176,.10),rgba(255,255,255,.02)); }
.compact-price-option strong{ display:block; color:var(--white-warm); font-size:1.35rem; line-height:1.1; }
.compact-price-option span{ display:block; color:var(--pink-soft); font-size:.72rem; font-weight:700; margin-top:4px; }
.compact-price-option small{ display:block; color:var(--lavender-dim); font-size:.68rem; margin-top:7px; }
.compact-option-badge{ position:absolute!important; top:10px; right:10px; width:auto!important; padding:3px 6px; border-radius:999px; background:rgba(255,111,176,.14); color:var(--pink-soft)!important; font-size:.5rem!important; letter-spacing:.06em; text-transform:uppercase; }
.compact-plan-price-new span{ color:var(--lavender); font-size:.78rem; line-height:1.45; }

.compact-plan-bottom{ display:grid; grid-template-columns:1fr auto; gap:24px; align-items:end; }
.compact-plan-price{ display:flex; flex-direction:column; gap:3px; }
.compact-plan-price .price-strike{ align-self:flex-start; }
.compact-plan-price .price-save{ align-self:flex-start; }
.compact-plan-price strong{ font-size:2rem; line-height:1.05; color:#fff; }
.compact-plan-price em{ font-style:normal; color:var(--pink-soft); font-size:.78rem; }
.compact-plan-actions{ display:flex; flex-direction:column; align-items:stretch; gap:9px; width:220px; }
.compact-view-btn,
.compact-order-btn{ width:100%; min-height:46px; }
.compact-view-btn{
  border:1px solid rgba(255,111,176,.35);
  border-radius:13px;
  background:rgba(255,111,176,.08);
  color:var(--pink-soft);
  font-family:var(--font-body);
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.compact-view-btn span{ margin-left:6px; font-size:1rem; }
.compact-view-btn:hover{ transform:translateY(-2px); background:rgba(255,111,176,.13); border-color:rgba(255,111,176,.55); }
.compact-plan-guarantee{ margin-top:20px; padding-top:15px; border-top:1px solid rgba(255,184,217,.08); color:var(--lavender-dim); font-size:.76rem; text-align:center; }
.compact-plan-guarantee span{ margin-right:5px; }

.capability-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .24s ease, visibility .24s ease;
}
.capability-modal.active{ visibility:visible; opacity:1; pointer-events:auto; }
.capability-backdrop{ position:absolute; inset:0; background:rgba(7,4,9,.78); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); }
.capability-dialog{
  position:relative;
  width:min(920px, 100%);
  max-height:min(88vh, 900px);
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid rgba(255,111,176,.3);
  border-radius:28px;
  background:linear-gradient(165deg, #241129 0%, #100a13 100%);
  box-shadow:0 30px 100px rgba(0,0,0,.55), 0 0 60px rgba(255,111,176,.08);
  transform:translateY(14px) scale(.985);
  transition:transform .28s ease;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,111,176,.35) transparent;
}
.capability-modal.active .capability-dialog{ transform:translateY(0) scale(1); }
.capability-close{
  position:sticky;
  float:right;
  top:16px;
  z-index:5;
  margin:16px 16px 0 0;
  width:38px; height:38px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,184,217,.16);
  border-radius:50%;
  background:rgba(15,9,17,.72);
  color:var(--white-warm);
  font-size:1.5rem;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.capability-close:hover{ background:rgba(255,111,176,.12); border-color:rgba(255,111,176,.4); transform:rotate(4deg); }
.capability-dialog-head{ padding:42px 42px 26px; text-align:center; clear:both; }
.capability-dialog-head .plan-medal{ display:block; font-size:1.7rem; color:var(--pink); margin-bottom:8px; }
.capability-dialog-head .section-eyebrow{ display:block; margin-bottom:9px; }
.capability-dialog-head h2{ margin:0 0 9px; font-family:var(--font-display); font-size:2rem; color:var(--white-warm); }
.capability-dialog-head p{ max-width:690px; margin:0 auto; color:var(--lavender); font-size:.88rem; line-height:1.6; }
.capability-feature-list{ padding:0 34px 24px; margin-bottom:0; }
.capability-dialog .feature-category{ background:rgba(255,184,217,.025); }
.capability-dialog-footer{ padding:4px 34px 30px; text-align:center; }
.capability-close-btn{
  border:1px solid rgba(255,111,176,.3);
  border-radius:12px;
  padding:10px 18px;
  background:rgba(255,111,176,.07);
  color:var(--pink-soft);
  font-family:var(--font-body);
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
}
body.capability-modal-open{ overflow:hidden; }

@media (max-width:720px){
  /* Price option cards — compact on mobile */
  .compact-plan-options{ gap:8px; margin-top:12px; }
  .compact-price-option{ min-height:0 !important; padding:10px 13px !important; border-radius:13px; display:block; }
  .compact-price-option strong{ font-size:1.18rem !important; line-height:1.1; }
  .compact-price-option span{ font-size:.68rem !important; margin-top:3px; }
  .compact-price-option small{ font-size:.62rem !important; margin-top:3px; }
  .compact-option-badge{ top:8px; right:8px; font-size:.48rem !important; padding:2px 5px; }
  .compact-plan-content{ padding:20px 18px 18px; }
  .compact-plan-ribbon{ top:12px; right:12px; font-size:.58rem; padding:5px 12px; }
  .compact-plan-title-row{ padding-right:70px; gap:10px; }
  .compact-plan-title-row h3{ font-size:1.35rem; margin-bottom:3px; }
  .compact-plan-title-row p{ font-size:.8rem; }
  .compact-plan-sparkle{ font-size:1.1rem; }
  .compact-plan-list{ gap:8px; margin-top:16px; }
  .compact-plan-list li{ font-size:.8rem; gap:8px; line-height:1.4; }
  .compact-check{ width:18px; height:18px; font-size:.6rem; flex:0 0 18px; }
  .compact-plan-divider{ margin:16px 0 14px; }
  .compact-plan-options{ grid-template-columns:1fr; gap:8px; margin-top:14px; }
  .compact-price-option{ padding:12px 13px; border-radius:13px; }
  .compact-price-option strong{ font-size:1.2rem; }
  .compact-price-option span{ font-size:.68rem; }
  .compact-price-option small{ font-size:.64rem; margin-top:4px; }
  .compact-plan-bottom{ grid-template-columns:1fr; gap:14px; margin-top:4px; }
  .compact-plan-actions{ width:100%; gap:8px; }
  .compact-view-btn{ padding:11px 18px; font-size:.8rem; }
  .compact-order-btn{ padding:13px 18px; font-size:.86rem; }
  .compact-plan-guarantee{ margin-top:14px; padding-top:11px; font-size:.72rem; }
  .compact-plan-price{ align-items:center; text-align:center; }
  .compact-plan-price .price-strike,.compact-plan-price .price-save{ align-self:center; }
  .capability-modal{ padding:10px; }
  .capability-dialog{ max-height:94vh; border-radius:22px; }
  .capability-dialog-head{ padding:34px 22px 20px; }
  .capability-dialog-head h2{ font-size:1.55rem; }
  .capability-feature-list{ padding:0 14px 18px; }
  .capability-dialog-footer{ padding:0 14px 22px; }
}


/* ============== LEGAL LINKS / CONSENT ============== */
.plan-legal-note{
  max-width:760px;
  margin:18px auto 0;
  padding:12px 16px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:9px;
  color:var(--lavender-dim);
  font-size:.72rem;
  line-height:1.6;
  text-align:center;
}
.plan-legal-note a,.checkout-legal-consent a{color:var(--pink-soft);text-decoration:none;border-bottom:1px solid rgba(255,184,217,.35);}
.plan-legal-note a:hover,.checkout-legal-consent a:hover{color:var(--white-warm);border-color:var(--pink);}
.plan-legal-check{color:var(--pink);font-size:.8rem;line-height:1.5;flex:0 0 auto;}
.checkout-legal-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:13px 0 4px;
  padding:11px 12px;
  border:1px solid rgba(255,184,217,.12);
  border-radius:13px;
  background:rgba(255,111,176,.035);
  color:var(--lavender);
  font-size:.74rem;
  line-height:1.55;
}
.checkout-legal-consent input{margin-top:3px;accent-color:var(--pink);width:15px;height:15px;flex:0 0 auto;}

/* ============== LEGAL PAGES ============== */
.legal-page{min-height:100vh;background:var(--bg-void);}
.legal-nav{position:sticky;top:0;z-index:20;background:rgba(10,7,16,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,184,217,.09);}
.legal-nav-inner{max-width:1120px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.legal-brand{color:var(--white-warm);font-weight:700;font-size:1.05rem;text-decoration:none;letter-spacing:-.02em;}
.legal-brand span{color:var(--pink);margin-left:4px;}
.legal-back{color:var(--lavender);text-decoration:none;font-size:.78rem;padding:9px 13px;border:1px solid rgba(255,184,217,.13);border-radius:999px;transition:.2s ease;}
.legal-back:hover{color:var(--white-warm);border-color:rgba(255,111,176,.45);background:rgba(255,111,176,.06);}
.legal-shell{max-width:960px;margin:0 auto;padding:74px 24px 90px;}
.legal-kicker{color:var(--pink);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:13px;}
.legal-title{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,4.4rem);line-height:1.02;letter-spacing:-.035em;color:var(--white-warm);margin-bottom:14px;}
.legal-lead{max-width:760px;color:var(--lavender);font-size:.95rem;line-height:1.85;margin-bottom:12px;}
.legal-updated{color:var(--lavender-dim);font-size:.72rem;margin-bottom:44px;}
.legal-toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:50px;padding:18px;border:1px solid rgba(255,184,217,.1);border-radius:18px;background:rgba(255,255,255,.018);}
.legal-toc a{color:var(--lavender);text-decoration:none;font-size:.7rem;padding:8px 11px;border-radius:999px;background:rgba(255,111,176,.045);border:1px solid rgba(255,184,217,.08);}
.legal-toc a:hover{color:var(--white-warm);border-color:rgba(255,111,176,.35);}
.legal-section{padding:28px 0;border-top:1px solid rgba(255,184,217,.09);}
.legal-section h2{font-family:var(--font-display);font-size:1.45rem;color:var(--white-warm);margin-bottom:12px;}
.legal-section h3{font-size:.92rem;color:var(--pink-soft);margin:22px 0 8px;}
.legal-section p,.legal-section li{color:var(--lavender);font-size:.84rem;line-height:1.85;}
.legal-section ul{padding-left:21px;margin:10px 0;}
.legal-section li{margin:5px 0;}
.legal-callout{padding:18px 20px;margin:16px 0;border:1px solid rgba(255,111,176,.18);border-radius:16px;background:linear-gradient(135deg,rgba(255,111,176,.07),rgba(255,255,255,.015));}
.legal-callout strong{color:var(--white-warm);}
.legal-footer{max-width:960px;margin:0 auto;padding:0 24px 50px;display:flex;justify-content:space-between;gap:20px;color:var(--lavender-dim);font-size:.72rem;}
.legal-footer a{color:var(--lavender);text-decoration:none;}
.legal-footer a:hover{color:var(--pink-soft);}
@media(max-width:640px){
  .legal-shell{padding:54px 18px 65px;}
  .legal-nav-inner{padding:14px 18px;}
  .legal-title{font-size:2.6rem;}
  .legal-lead{font-size:.86rem;}
  .legal-section p,.legal-section li{font-size:.8rem;}
  .legal-footer{padding:0 18px 36px;flex-direction:column;}
  .plan-legal-note{font-size:.68rem;padding-left:10px;padding-right:10px;}
}

/* ================= RESOURCE / COMPANY PAGES ================= */
.resource-page{min-height:100vh;background:var(--bg-void);color:var(--white-warm);}
.resource-nav{position:sticky;top:0;z-index:30;background:rgba(10,7,16,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,184,217,.09);}
.resource-nav-inner{max-width:1120px;margin:0 auto;padding:15px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.resource-brand{color:var(--white-warm);text-decoration:none;font-weight:700;font-size:1.05rem;letter-spacing:-.02em;}
.resource-brand span{margin-left:4px;color:var(--pink);}
.resource-nav-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
.resource-nav-links a{color:var(--lavender);text-decoration:none;font-size:.72rem;padding:8px 11px;border:1px solid rgba(255,184,217,.09);border-radius:999px;}
.resource-nav-links a:hover{color:var(--white-warm);border-color:rgba(255,111,176,.4);background:rgba(255,111,176,.06);}
.resource-shell{max-width:1120px;margin:0 auto;padding:72px 24px 90px;}
.resource-hero{text-align:center;max-width:820px;margin:0 auto 54px;}
.resource-eyebrow{display:inline-block;color:var(--pink);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;}
.resource-title{font-family:var(--font-display);font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.02;letter-spacing:-.04em;margin:0 0 16px;}
.resource-lead{color:var(--lavender);font-size:.95rem;line-height:1.85;margin:0 auto;max-width:760px;}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;}
.resource-card{padding:24px;border:1px solid rgba(255,184,217,.11);border-radius:22px;background:linear-gradient(145deg,rgba(255,111,176,.055),rgba(255,255,255,.015));box-shadow:0 18px 50px rgba(0,0,0,.12);}
.resource-card h2,.resource-card h3{font-family:var(--font-display);color:var(--white-warm);margin:0 0 10px;font-size:1.25rem;}
.resource-card p,.resource-card li{color:var(--lavender);font-size:.82rem;line-height:1.8;}
.resource-card ul{padding-left:19px;margin:10px 0 0;}
.resource-section{padding:34px 0;border-top:1px solid rgba(255,184,217,.09);}
.resource-section h2{font-family:var(--font-display);font-size:1.8rem;margin:0 0 12px;}
.resource-section h3{font-size:.95rem;color:var(--pink-soft);margin:24px 0 8px;}
.resource-section p,.resource-section li{color:var(--lavender);font-size:.84rem;line-height:1.85;}
.resource-section ul{padding-left:20px;}
.resource-callout{margin:22px 0;padding:20px 22px;border:1px solid rgba(255,111,176,.18);border-radius:18px;background:linear-gradient(135deg,rgba(255,111,176,.08),rgba(255,255,255,.018));}
.resource-callout strong{color:var(--white-warm);}
.resource-steps{display:grid;gap:12px;margin-top:22px;}
.resource-step{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:17px;border:1px solid rgba(255,184,217,.09);border-radius:17px;background:rgba(255,255,255,.015);}
.resource-step-num{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:rgba(255,111,176,.11);color:var(--pink-soft);font-weight:700;font-size:.78rem;}
.resource-step h3{margin:2px 0 5px;color:var(--white-warm);font-family:var(--font-display);font-size:1.05rem;}
.resource-step p{margin:0;}
.resource-table{width:100%;border-collapse:collapse;margin-top:18px;overflow:hidden;border:1px solid rgba(255,184,217,.09);border-radius:16px;}
.resource-table th,.resource-table td{padding:13px 14px;text-align:left;border-bottom:1px solid rgba(255,184,217,.07);font-size:.78rem;line-height:1.6;}
.resource-table th{color:var(--white-warm);background:rgba(255,111,176,.06);}
.resource-table td{color:var(--lavender);}
.resource-table tr:last-child td{border-bottom:0;}
.resource-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px;}
.resource-btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border-radius:999px;text-decoration:none;font-size:.76rem;font-weight:600;border:1px solid rgba(255,111,176,.28);color:var(--white-warm);background:rgba(255,111,176,.1);}
.resource-btn:hover{background:rgba(255,111,176,.18);}
.resource-btn.secondary{background:transparent;color:var(--lavender);border-color:rgba(255,184,217,.12);}
.resource-footer{border-top:1px solid rgba(255,184,217,.08);padding:36px 24px 44px;max-width:1120px;margin:0 auto;color:var(--lavender-dim);font-size:.7rem;}
.resource-footer-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:28px;margin-bottom:30px;}
.resource-footer h4{margin:0 0 11px;color:var(--white-warm);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;}
.resource-footer a{display:block;color:var(--lavender);text-decoration:none;margin:7px 0;}
.resource-footer a:hover{color:var(--pink-soft);}
.resource-footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid rgba(255,184,217,.07);}
@media(max-width:800px){.resource-grid{grid-template-columns:1fr 1fr;}.resource-footer-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.resource-nav-links a:nth-child(n+4){display:none;}.resource-shell{padding:52px 18px 70px;}.resource-grid{grid-template-columns:1fr;}.resource-footer-grid{grid-template-columns:1fr 1fr;gap:20px;}.resource-footer-bottom{flex-direction:column;}.resource-title{font-size:2.7rem;}}

/* ================= HOMEPAGE WHY DUAA / EXPANDED FOOTER ================= */
.why-duaa-section{padding:100px 6vw;background:linear-gradient(180deg,rgba(255,111,176,.018),rgba(255,255,255,.008));}
.why-duaa-section .sub{max-width:760px;margin:0 auto;color:var(--lavender);line-height:1.8;}
.why-duaa-points{max-width:1050px;margin:38px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.why-duaa-points>div{padding:20px;border:1px solid rgba(255,184,217,.09);border-radius:18px;background:rgba(255,255,255,.014);}
.why-duaa-points strong{display:block;color:var(--white-warm);font-family:var(--font-display);font-size:1.08rem;margin-bottom:5px;}
.why-duaa-points span{display:block;color:var(--lavender);font-size:.76rem;line-height:1.7;}
.site-footer-expanded{max-width:1180px;margin:0 auto;padding:70px 28px 44px;}
.footer-expanded-grid{display:grid;grid-template-columns:1.45fr repeat(4,1fr);gap:30px;text-align:left;margin-bottom:38px;}
.footer-expanded-grid h4{color:var(--white-warm);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin:0 0 13px;}
.footer-expanded-grid a{display:block;color:var(--lavender);text-decoration:none;font-size:.72rem;margin:8px 0;}
.footer-expanded-grid a:hover{color:var(--pink-soft);}
.footer-brand-block .footer-flower{margin:0 0 8px;text-align:left;display:inline-block;}
.footer-brand-block h3{font-family:var(--font-display);font-size:1.5rem;margin:0 0 7px;}
.footer-brand-block p{color:var(--lavender-dim);font-size:.72rem;line-height:1.7;max-width:250px;margin:0;}
.footer-bottom-expanded{border-top:1px solid rgba(255,184,217,.08);padding-top:20px;display:flex;justify-content:space-between;gap:20px;color:var(--lavender-dim);font-size:.68rem;}
@media(max-width:800px){.why-duaa-points{grid-template-columns:1fr 1fr;}.footer-expanded-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){
  .why-duaa-points{grid-template-columns:1fr;}
  .site-footer-expanded{padding:44px 20px 36px;}
  .footer-expanded-grid{grid-template-columns:1fr 1fr;gap:20px 18px;}
  .footer-brand-block{
    grid-column:1/-1;
    text-align:center;
    display:flex; flex-direction:column; align-items:center;
  }
  .footer-brand-block .footer-flower{text-align:center;margin:0 0 8px;}
  .footer-brand-block h3{margin-bottom:6px;}
  .footer-brand-block p{max-width:280px; text-align:center;}
  .footer-expanded-grid > div:not(.footer-brand-block){
    text-align:left;
  }
  .footer-bottom-expanded{flex-direction:column;align-items:center;text-align:center;gap:6px;}
}

/* ======================================================
   FINAL VISUAL PASS — HOME / PLAN / REVIEWS / CHECKOUT
   Keeps the original theme while correcting spacing, scale,
   edge-to-edge testimonials and compact purchase flow.
   ====================================================== */

/* Hero: clear primary + secondary action hierarchy */
.hero-cta-row{ gap:12px; margin-bottom:34px; }
.hero-primary-cta,
.hero-secondary-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-width:148px;
  min-height:48px;
  padding:12px 22px;
  border-radius:999px;
  font-family:var(--font-body);
  font-size:.84rem;
  font-weight:700;
  text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.hero-primary-cta{
  color:#170d15;
  background:linear-gradient(135deg,var(--pink-soft),var(--pink));
  box-shadow:0 10px 28px rgba(255,111,176,.22);
}
.hero-primary-cta:hover{ transform:translateY(-2px); box-shadow:0 14px 34px rgba(255,111,176,.32); }
.hero-primary-cta svg,.hero-secondary-cta svg{ transition:transform .25s ease; }
.hero-primary-cta:hover svg,.hero-secondary-cta:hover svg{ transform:translateX(3px); }

/* Meet Duaa — the three visual entry points replacing the old heavy opening blocks */
.meet-duaa-section{ max-width:1320px; margin:0 auto; padding-top:86px; padding-bottom:92px; }
.meet-duaa-heading{ max-width:680px; margin:0 auto 42px; text-align:center; }
.meet-duaa-heading .sub{ color:var(--lavender); }
.meet-duaa-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.meet-duaa-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-height:520px;
  border:1px solid rgba(255,184,217,.12);
  border-radius:28px;
  background:linear-gradient(160deg,rgba(34,16,39,.96),rgba(14,9,17,.98));
  box-shadow:0 22px 60px rgba(0,0,0,.24);
  transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.meet-duaa-card:hover{ transform:translateY(-7px); border-color:rgba(255,111,176,.35); box-shadow:0 30px 80px rgba(0,0,0,.34),0 0 42px rgba(255,111,176,.08); }
.meet-card-visual,.meet-card-video{
  position:relative;
  height:245px;
  overflow:hidden;
  background:radial-gradient(circle at 50% 30%,rgba(255,111,176,.16),transparent 55%),#100a14;
}
.meet-card-visual img{ width:100%; height:100%; object-fit:cover; object-position:center 28%; opacity:.92; transition:transform .7s ease; }
.meet-duaa-card:hover .meet-card-visual img{ transform:scale(1.045); }
.meet-card-visual::after,.meet-card-video::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top,rgba(10,7,16,.72),transparent 55%);
}
.meet-card-badge,.meet-live-badge{
  position:absolute; z-index:2; left:18px; top:16px;
  padding:7px 10px; border-radius:999px;
  background:rgba(10,7,16,.64); border:1px solid rgba(255,184,217,.18);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  color:var(--pink-soft); font-size:.58rem; font-weight:800; letter-spacing:.1em;
}
.meet-live-badge{ left:auto; right:16px; color:#fff; }
.meet-live-badge:first-letter{ color:var(--pink); }
.meet-card-body{ display:flex; flex:1; flex-direction:column; padding:25px 25px 24px; }
.meet-card-kicker{ display:block; color:var(--pink-soft); font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; }
.meet-card-body h3{ margin:0 0 12px; font-family:var(--font-display); font-size:1.55rem; line-height:1.2; color:var(--white-warm); }
.meet-card-body p{ margin:0; color:var(--lavender); font-size:.86rem; line-height:1.7; }
.meet-card-link{
  margin-top:auto; padding-top:20px;
  display:inline-flex; align-items:center; gap:7px;
  width:max-content; max-width:100%;
  border:0; background:none; color:var(--pink-soft);
  font-family:var(--font-body); font-size:.78rem; font-weight:700; text-decoration:none; cursor:pointer;
}
.meet-card-link span{ transition:transform .2s ease; }
.meet-card-link:hover span{ transform:translateX(4px); }
.meet-card-icon{
  width:66px; height:66px; margin:28px 25px 0;
  display:flex; align-items:center; justify-content:center;
  border-radius:20px;
  background:rgba(255,111,176,.09); border:1px solid rgba(255,111,176,.2);
  color:var(--pink); font-size:1.8rem; box-shadow:0 0 35px rgba(255,111,176,.08);
}
.meet-mini-highlights{ display:flex; flex-wrap:wrap; gap:8px; margin-top:5px; }
.meet-mini-highlights span{ padding:7px 9px; border-radius:999px; background:rgba(255,184,217,.055); border:1px solid rgba(255,184,217,.1); color:#d9cbd7; font-size:.62rem; line-height:1.2; }
.meet-card-video video{ width:100%; height:100%; object-fit:cover; display:block; }
.meet-video-play{
  position:absolute; z-index:3; left:50%; top:50%; transform:translate(-50%,-50%);
  width:68px; height:68px; border:1px solid rgba(255,255,255,.28); border-radius:50%;
  display:flex; align-items:center; justify-content:center; padding-left:3px;
  background:rgba(15,8,18,.66); color:#fff; cursor:pointer;
  box-shadow:0 0 35px rgba(255,111,176,.22); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  transition:transform .25s ease,background .25s ease;
}
.meet-video-play:hover{ transform:translate(-50%,-50%) scale(1.07); background:rgba(255,111,176,.24); }

.why-duaa-strip{ max-width:1320px; margin:0 auto; padding-top:20px; padding-bottom:92px; }
.why-duaa-inner{
  display:flex; align-items:center; justify-content:space-between; gap:40px;
  padding:30px 34px; border:1px solid rgba(255,184,217,.11); border-radius:24px;
  background:linear-gradient(120deg,rgba(255,111,176,.065),rgba(255,255,255,.015));
}
.why-duaa-inner h2{ margin:0; font-size:clamp(1.8rem,3vw,2.6rem); }
.why-duaa-steps{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:9px; color:var(--pink-soft); font-size:.76rem; font-weight:700; }
.why-duaa-steps i{ color:var(--lavender-dim); font-style:normal; }

/* Plan: larger, balanced card; prices stay prominent, actions sit centered below them */
.compact-plan-card{ max-width:960px; }
.compact-plan-content{ padding:38px 40px 30px; }
.compact-plan-options{ gap:14px; margin-top:24px; }
.compact-price-option{ min-height:108px; padding:19px 20px; display:flex; flex-direction:column; justify-content:center; }
.compact-price-option strong{ font-size:1.58rem; }
.compact-price-option span{ font-size:.78rem; }
.compact-price-option small{ font-size:.7rem; }
.compact-plan-bottom{ display:flex; justify-content:center; align-items:center; margin-top:22px; }
.compact-plan-actions{ flex-direction:row; align-items:center; justify-content:center; gap:12px; width:auto; }
.compact-view-btn,.compact-order-btn{ width:270px; min-height:54px; }
.compact-view-btn{ font-size:.84rem; border-radius:14px; }
.compact-order-btn{ font-size:.9rem; border-radius:14px; }
.compact-plan-guarantee{ margin-top:22px; }

/* Testimonials: true edge-to-edge track, no oversized empty side margins, no reveal clipping */
.reviews-section{
  width:100%; max-width:none; margin:0; padding-left:0; padding-right:0; overflow:hidden;
}
.reviews-section > .section-eyebrow,
.reviews-section > h2,
.reviews-section > p.sub{ width:min(1200px,88vw); margin-left:auto; margin-right:auto; }
.reviews-section p.sub.center{ margin-bottom:56px; }
.reviews-viewport{
  width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  overflow:hidden; opacity:1 !important; transform:none !important;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 4%,#000 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,#000 4%,#000 96%,transparent 100%);
}
.reviews-track{ gap:24px; animation-duration:48s; }
.review-card{ width:420px; min-height:235px; padding:28px 28px 26px; }
.review-text{ font-size:.9rem; line-height:1.7; }

/* Checkout: compact enough to fit on desktop without an ugly internal scroll */
.checkout-content{
  width:min(700px,92vw); max-width:700px; max-height:88vh; overflow:hidden;
  padding:22px 24px 20px; border-radius:24px;
}
.checkout-content-modern .popup-header{ margin-bottom:13px; }
.checkout-subtitle{ font-size:.72rem; }
.checkout-access-options{ gap:10px; margin-bottom:10px; }
.checkout-access-card{ min-height:126px; padding:14px 15px 13px; border-radius:16px; }
.checkout-access-title{ font-size:.84rem; }
.checkout-access-card strong{ font-size:1.25rem; }
.checkout-access-card small{ font-size:.63rem; margin-top:7px; }
.checkout-access-badge{ margin-bottom:7px; padding:3px 7px; }
.checkout-form-grid{ gap:9px 12px; }
.checkout-field label{ font-size:.59rem; margin-bottom:4px; }
.checkout-field input{ height:36px; padding:8px 10px; font-size:.76rem; border-radius:9px; }
.checkout-method-btn{ padding:8px 10px; font-size:.69rem; }
.checkout-account-box{ padding:7px 10px; border-radius:9px; }
.checkout-account-row{ font-size:.65rem; padding:2px 0; }
.checkout-note{ font-size:.62rem; margin:8px 0 7px; }
.checkout-legal-consent{ margin:7px 0 9px; padding:7px 9px; font-size:.59rem; line-height:1.4; }
.checkout-submit-btn,.checkout-contact-btn{ min-height:42px; font-size:.8rem; }

@media (max-width:900px){
  .meet-duaa-section{ padding-left:5vw; padding-right:5vw; }
  .meet-duaa-grid{ grid-template-columns:1fr; max-width:650px; margin:0 auto; }
  .meet-duaa-card{ min-height:0; }
  .meet-card-visual,.meet-card-video{ height:250px; }
  .why-duaa-strip{ padding-left:5vw; padding-right:5vw; }
  .why-duaa-inner{ flex-direction:column; align-items:flex-start; }
  .why-duaa-steps{ justify-content:flex-start; }
  .review-card{ width:360px; }
}

@media (max-width:680px){
  .hero-cta-row{ width:100%; gap:10px; flex-direction:column; align-items:stretch; }
  .hero-primary-cta,.hero-secondary-cta{ min-width:0; width:100%; flex:none; padding:14px 20px; font-size:.9rem; text-align:center; justify-content:center; }
  .meet-duaa-section{ padding-top:70px; padding-bottom:70px; }
  .meet-duaa-heading{ margin-bottom:28px; }
  .meet-card-body{ padding:22px 21px 21px; }
  .meet-card-body h3{ font-size:1.4rem; }
  .why-duaa-strip{ padding-bottom:70px; }
  .why-duaa-inner{ padding:24px 22px; }
  .why-duaa-steps{ gap:7px; font-size:.68rem; }
  .reviews-section > .section-eyebrow,
  .reviews-section > h2,
  .reviews-section > p.sub{ width:88vw; }
  .reviews-section p.sub.center{ margin-bottom:42px; }
  .review-card{ width:min(320px,78vw); min-height:220px; padding:22px 20px 20px; }
  .checkout-content{ width:calc(100vw - 20px); max-height:92vh; padding:18px 15px 16px; }
  .checkout-access-options{ grid-template-columns:1fr; }
  .checkout-access-card{ min-height:0; }
  .checkout-form-grid{ grid-template-columns:1fr; }
  .checkout-field-full{ grid-column:auto; }
    .compact-plan-content{ padding:28px 22px 23px; }
  .compact-plan-options{ grid-template-columns:1fr; }
  .compact-plan-bottom{ margin-top:18px; }
  .compact-plan-actions{ width:100%; flex-direction:column; }
  .compact-view-btn,.compact-order-btn{ width:100%; min-height:50px; }
}


/* =========================================================
   FINAL POLISH — MEET DUAA + WHY DUAA PROCESS TIMELINE
   ========================================================= */

/* Keep the three cards visually identical in structure:
   IMAGE → VIDEO → IMAGE */
.meet-duaa-grid{ align-items:stretch; }
.meet-duaa-card{ min-height:560px; }
.meet-card-visual,.meet-card-video{
  height:245px;
  flex:0 0 245px;
}
.meet-card-visual-third{
  background:
    radial-gradient(circle at 50% 45%, rgba(255,111,176,.16), transparent 58%),
    #100a14;
}
.meet-card-visual-third img{
  object-fit:cover;
  object-position:center;
}
.meet-card-badge-right{
  left:auto;
  right:18px;
}
.meet-visual-orbit{
  position:absolute;
  z-index:2;
  left:18px;
  bottom:16px;
  padding:7px 10px;
  border-radius:999px;
  color:var(--pink-soft);
  background:rgba(10,7,16,.62);
  border:1px solid rgba(255,184,217,.16);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  font-size:.56rem;
  font-weight:800;
  letter-spacing:.09em;
}
.meet-card-video{
  background:#100a14;
}
.meet-card-video video{
  object-position:center;
}
.meet-video-glass{
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,111,176,.09), transparent 46%),
    linear-gradient(180deg, rgba(8,5,12,.04), rgba(8,5,12,.45));
}
.meet-video-caption{
  position:absolute;
  z-index:2;
  right:16px;
  bottom:16px;
  color:rgba(255,255,255,.84);
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.meet-card-video::after{
  z-index:1;
}
.meet-video-play{ z-index:4; }

/* =========================================================
   WHY DUAA — animated horizontal process timeline
   ========================================================= */
.why-duaa-timeline{
  width:min(1320px,90vw);
  margin:0 auto;
  padding:10px 0 100px;
}
.why-timeline-heading{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:0;
  margin-bottom:48px;
}
.why-timeline-heading h2{
  margin:10px 0 0;
  font-family:var(--font-display);
  font-size:clamp(2.1rem,4vw,3.35rem);
  line-height:1.05;
  color:var(--white-warm);
}
.why-timeline-heading h2 em{
  color:var(--pink-soft);
  font-style:normal;
}
.duaa-process-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
  padding-top:36px;
}
.duaa-timeline-line{
  position:absolute;
  top:63px;
  left:8%;
  right:8%;
  height:2px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,184,217,.10);
}
.duaa-timeline-line span{
  position:absolute;
  inset:0 auto 0 -35%;
  width:35%;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,111,176,.9),transparent);
  filter:blur(.2px);
  animation:duaaTimelineSweep 4.8s ease-in-out infinite;
}
@keyframes duaaTimelineSweep{
  0%{ transform:translateX(0); opacity:.2; }
  18%{ opacity:1; }
  70%{ opacity:1; }
  100%{ transform:translateX(390%); opacity:.15; }
}
.duaa-process-step{
  position:relative;
  z-index:2;
  min-width:0;
}
.duaa-step-node{
  width:56px;
  height:56px;
  margin:0 auto 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  color:var(--pink-soft);
  background:radial-gradient(circle at 50% 45%,rgba(255,111,176,.18),rgba(20,10,24,.98) 66%);
  border:1px solid rgba(255,111,176,.35);
  box-shadow:0 0 0 7px rgba(255,111,176,.035),0 0 30px rgba(255,111,176,.08);
  animation:duaaNodePulse 3.6s ease-in-out infinite;
}
.duaa-process-step:nth-of-type(2) .duaa-step-node{ animation-delay:.45s; }
.duaa-process-step:nth-of-type(3) .duaa-step-node{ animation-delay:.9s; }
.duaa-process-step:nth-of-type(4) .duaa-step-node{ animation-delay:1.35s; }
.duaa-process-step:nth-of-type(5) .duaa-step-node{ animation-delay:1.8s; }
@keyframes duaaNodePulse{
  0%,100%{ transform:scale(1); box-shadow:0 0 0 7px rgba(255,111,176,.035),0 0 25px rgba(255,111,176,.07); }
  45%{ transform:scale(1.08); box-shadow:0 0 0 11px rgba(255,111,176,.025),0 0 38px rgba(255,111,176,.18); }
}
.duaa-step-node span{
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
}
.duaa-step-content{
  min-height:174px;
  padding:22px 20px 20px;
  border:1px solid rgba(255,184,217,.10);
  border-radius:20px;
  background:linear-gradient(160deg,rgba(34,16,39,.78),rgba(14,9,17,.92));
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.duaa-process-step:hover .duaa-step-content{
  transform:translateY(-5px);
  border-color:rgba(255,111,176,.32);
  box-shadow:0 20px 50px rgba(0,0,0,.25),0 0 30px rgba(255,111,176,.06);
}
.duaa-step-label{
  color:var(--pink-soft);
  font-size:.59rem;
  font-weight:800;
  letter-spacing:.14em;
}
.duaa-step-content h3{
  margin:9px 0 8px;
  color:var(--white-warm);
  font-family:var(--font-display);
  font-size:1.12rem;
  line-height:1.2;
}
.duaa-step-content p{
  margin:0;
  color:var(--lavender);
  font-size:.72rem;
  line-height:1.65;
}

@media (max-width:1000px){
  .duaa-process-timeline{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    padding-top:12px;
  }
  .duaa-timeline-line{ display:none; }
  .duaa-step-node{ margin-left:auto; margin-right:auto; margin-bottom:14px; }
}
@media (max-width:900px){
  .meet-duaa-card{ min-height:0; }
  .meet-card-visual,.meet-card-video{ height:250px; flex-basis:250px; }
}
@media (max-width:620px){
  .meet-card-visual,.meet-card-video{ height:220px; flex-basis:220px; }
  .why-duaa-timeline{ width:92vw; padding-bottom:60px; }
  .why-timeline-heading{ margin-bottom:28px; }
  .why-timeline-heading h2{ font-size:1.85rem; }
  .duaa-process-timeline{ grid-template-columns:1fr; gap:10px; padding-top:8px; }
  /* Compact horizontal card: number badge left, content right */
  .duaa-process-step{ display:flex; align-items:flex-start; gap:14px; }
  .duaa-step-node{
    flex:0 0 40px; width:40px; height:40px; min-width:40px;
    margin:0; margin-top:2px;
    box-shadow:0 0 0 5px rgba(255,111,176,.04);
  }
  .duaa-step-node span{ font-size:.58rem; }
  .duaa-step-content{
    flex:1; min-height:0; padding:14px 16px;
    border-radius:16px;
  }
  .duaa-step-content h3{ font-size:.98rem; margin:6px 0 5px; }
  .duaa-step-content p{ font-size:.72rem; line-height:1.55; }
  .duaa-step-label{ font-size:.56rem; }
}

/* ============== CHECKOUT SCROLL FIX ==============
   The checkout uses the modal itself as the scroll container. This keeps the
   page behind the modal locked while allowing the complete order form to
   scroll naturally on desktop, trackpads, mouse wheels, touch and mobile. */
.checkout-modal{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  align-items:flex-start !important;
  justify-content:center;
  padding:clamp(18px,4vh,48px) 16px;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  touch-action:pan-y;
}
.checkout-modal .checkout-content{
  flex:0 0 auto;
  width:min(760px, calc(100vw - 32px));
  max-height:none !important;
  height:auto;
  overflow:visible !important;
  margin:0 auto;
  touch-action:auto;
}
@media (max-width:680px){
  .checkout-modal{
    padding:18px 12px 28px;
  }
  .checkout-modal .checkout-content{
    width:calc(100vw - 24px);
    max-height:none !important;
    overflow:visible !important;
    margin:0 auto;
  }
}

/* =========================================================
   HOME — EXPLORE DUAA HUB
   ========================================================= */
.explore-duaa-section{
  position:relative;max-width:1180px;margin:0 auto;padding:112px 5vw 118px;
}
.explore-duaa-section::before{
  content:"";position:absolute;width:620px;height:330px;left:50%;top:52%;
  transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(255,111,176,.08),transparent 68%);
  pointer-events:none;
}
.explore-heading{position:relative;z-index:1;max-width:760px;margin:0 auto 48px;text-align:center}
.explore-heading h2{margin-bottom:15px}.explore-heading h2 em{font-family:var(--font-display);font-weight:500}.explore-heading .sub{max-width:700px;margin-left:auto;margin-right:auto}
.explore-hub{
  position:relative;z-index:1;max-width:1060px;margin:0 auto;padding:34px 36px 31px;
  border:1px solid rgba(255,184,217,.14);border-radius:30px;
  background:linear-gradient(145deg,rgba(34,17,40,.97),rgba(12,8,16,.99));
  box-shadow:0 25px 80px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;isolation:isolate;
}
.explore-hub::before{
  content:"";position:absolute;width:330px;height:330px;right:-90px;top:-150px;
  background:radial-gradient(circle,rgba(255,111,176,.15),transparent 68%);pointer-events:none;z-index:-1;
}
.explore-hub::after{
  content:"";position:absolute;left:8%;right:8%;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,184,217,.25),transparent);opacity:.8;
}
.explore-hub-top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.explore-hub-kicker{display:block;color:var(--pink-soft);font-size:.58rem;font-weight:800;letter-spacing:.16em;margin-bottom:9px}
.explore-hub h3{font-family:var(--font-display);font-size:2rem;font-weight:600;color:var(--white-warm);margin:0;line-height:1.1}
.explore-hub-orb{
  flex:0 0 auto;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  color:var(--pink-soft);font-size:1.15rem;border:1px solid rgba(255,184,217,.18);background:rgba(255,111,176,.06);
  box-shadow:0 0 28px rgba(255,111,176,.08);animation:exploreOrbFloat 3.2s ease-in-out infinite;
}
@keyframes exploreOrbFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-4px) rotate(6deg)}}
.explore-hub-copy{max-width:780px;color:var(--lavender);font-size:.82rem;line-height:1.75;margin:17px 0 28px}
.explore-hub-links{display:flex;flex-wrap:wrap;gap:10px}
.explore-nav-pill{
  position:relative;display:inline-flex;align-items:center;gap:9px;padding:11px 14px;border-radius:999px;
  color:var(--white-warm);text-decoration:none;background:rgba(255,184,217,.045);
  border:1px solid rgba(255,184,217,.13);font-size:.67rem;font-weight:600;letter-spacing:.01em;
  overflow:hidden;transition:transform .55s cubic-bezier(.22,1,.36,1),background .4s ease,border-color .4s ease,box-shadow .5s ease,color .4s ease;
}
.explore-nav-pill::after{
  content:"";position:absolute;top:0;bottom:0;left:-55%;width:38%;transform:skewX(-20deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .7s ease;pointer-events:none;
}
.explore-nav-pill span{color:rgba(255,184,217,.5);font-size:.55rem;letter-spacing:.1em}
.explore-nav-pill b{color:var(--pink-soft);font-size:.8rem;font-weight:500;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.explore-nav-pill:hover{transform:translateY(-4px);background:rgba(255,111,176,.10);border-color:rgba(255,111,176,.34);box-shadow:0 12px 28px rgba(0,0,0,.2),0 0 24px rgba(255,111,176,.06);color:var(--pink-soft)}
.explore-nav-pill:hover::after{left:125%}.explore-nav-pill:hover b{transform:translate(2px,-2px)}
@media(max-width:700px){
 .explore-duaa-section{padding:82px 18px 88px}.explore-hub{padding:27px 21px 24px;border-radius:24px}.explore-hub h3{font-size:1.65rem}.explore-hub-orb{width:45px;height:45px}.explore-hub-copy{font-size:.78rem;margin-bottom:23px}.explore-hub-links{gap:8px}.explore-nav-pill{font-size:.62rem;padding:10px 12px}
}

/* =========================================================
   EXPLORE DUAA — STAGGERED WAVE BUTTONS
   Layout: chequerboard — row-top (odd) + row-bot (even)
   Each row has 11 slots; odd slots have buttons, even are
   invisible spacers — so the two rows interleave perfectly.
   ========================================================= */
.expl-wave-wrap{
  position:relative;
  width:100%;
  margin-top:20px;
  overflow:visible;
}
.expl-wave-canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  display:block;
  z-index:1;
}

/* Stage holds both rows, stacked */
.expl-stage{
  position:relative;
  z-index:2;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:0;
  padding:10px 0 10px;
}

/* Each row is a flex of equal slots */
.expl-row{
  display:flex;
  flex-direction:row;
  align-items:center;
  width:100%;
  gap:0;
}
.expl-row-top{ padding-bottom:4px; }
.expl-row-bot{ padding-top:4px;    }

/* Every slot is equal width — button or empty */
.expl-slot{
  flex:1;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 4px;
}
.expl-slot-empty{
  pointer-events:none;
  visibility:hidden;  /* takes space, invisible */
}

/* Pill button */
.expl-pill{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,184,217,.2);
  background:rgba(255,255,255,.035);
  color:rgba(255,184,217,.75);
  font-family:var(--font-body);
  font-size:.58rem;
  font-weight:600;
  letter-spacing:.045em;
  white-space:nowrap;
  text-decoration:none;
  cursor:pointer;
  width:100%;
  justify-content:center;
  transition:border-color .35s, color .35s, background .35s, box-shadow .35s, transform .25s;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.expl-num{
  display:none;
}
.expl-label{ white-space:nowrap; }
.expl-arr{
  font-size:.7rem;
  font-weight:500;
  color:var(--pink-soft);
  opacity:.4;
  transition:opacity .3s, transform .3s;
}

/* Lit state */
.expl-pill.expl-lit{
  border-color:rgba(255,111,176,.75);
  color:#fff;
  background:rgba(255,111,176,.12);
  box-shadow:0 0 22px rgba(255,111,176,.22), inset 0 0 10px rgba(255,130,200,.07);
  transform:translateY(-2px);
}
.expl-pill.expl-lit .expl-arr{ opacity:1; transform:translate(2px,-2px); }

/* Hover */
.expl-pill:hover{
  border-color:rgba(255,111,176,.5);
  color:var(--white-warm);
  background:rgba(255,111,176,.08);
  box-shadow:0 0 16px rgba(255,111,176,.13);
  transform:translateY(-3px);
}
.expl-pill:hover .expl-arr{ opacity:.85; transform:translate(2px,-2px); }

/* Shimmer */
.expl-shimmer{
  position:absolute;
  top:0; left:-120%;
  width:55%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,184,230,.38),transparent);
  pointer-events:none;
}
.expl-pill.expl-lit .expl-shimmer{
  animation:explShimmer .65s ease forwards;
}
@keyframes explShimmer{ from{left:-120%} to{left:150%} }

/* Mobile grid — shown only on small screens */
.expl-mobile-grid{ display:none; }

@media(max-width:699px){
  .expl-wave-wrap{ margin-top:12px; }
  .expl-wave-canvas{ display:none !important; }
  .expl-stage{ display:none !important; }
  .expl-mobile-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:4px 0 8px;
  }
  .expl-pill-mob{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    gap:6px;
    padding:13px 14px;
    border-radius:999px;
    border:1px solid rgba(255,184,217,.18);
    background:rgba(255,255,255,.035);
    color:rgba(255,184,217,.8);
    font-family:var(--font-body);
    font-size:.62rem;
    font-weight:600;
    letter-spacing:.04em;
    white-space:nowrap;
    text-decoration:none;
    transition:border-color .3s, color .3s, background .3s;
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    justify-content:center;
  }
  .expl-pill-mob span{
    display:none;
  }
  .expl-pill-mob b{
    font-size:.68rem;
    color:var(--pink-soft);
    opacity:.5;
    margin-left:auto;
    font-weight:500;
  }
  .expl-pill-mob:active{
    border-color:rgba(255,111,176,.55);
    color:#fff;
    background:rgba(255,111,176,.1);
  }
  .expl-pill-mob--full{
    grid-column:1 / -1;
  }
}

/* =========================================================
   HOME — DUAA DASHBOARD AUTO SLIDER
   ========================================================= */
.dashboard-preview-section{
  position:relative;
  max-width:1180px;
  margin:0 auto;
  padding:112px 5vw 118px;
}
.dashboard-preview-section::before{
  content:"";
  position:absolute;
  width:680px;height:360px;
  left:50%;top:54%;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse,rgba(255,111,176,.075),transparent 68%);
  pointer-events:none;
}
.dashboard-preview-heading{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 auto 48px;
  text-align:center;
}
.dashboard-preview-heading h2{margin-bottom:15px}
.dashboard-preview-heading h2 em{font-family:var(--font-display);font-weight:500}
.dashboard-preview-heading .sub{max-width:700px;margin-left:auto;margin-right:auto}
.dashboard-slider{
  position:relative;
  z-index:1;
  width:min(100%,900px);
  margin:0 auto;
}
.dashboard-slider-frame{
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(255,184,217,.16);
  background:#0c0811;
  box-shadow:0 28px 85px rgba(0,0,0,.34),0 0 60px rgba(255,111,176,.055);
  isolation:isolate;
}
.dashboard-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.018);
  transition:opacity .65s ease,transform .9s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.dashboard-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.dashboard-slide img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.dashboard-slider-frame::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(7,4,11,.05),transparent 62%,rgba(7,4,11,.22));
  z-index:3;
}
.dashboard-slider-shine{
  position:absolute;
  z-index:4;
  top:0;left:-35%;
  width:24%;height:100%;
  pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.08),transparent);
  transform:skewX(-18deg);
  animation:dashboardShine 5.5s ease-in-out infinite;
}
@keyframes dashboardShine{
  0%,55%{left:-35%;opacity:0}
  65%{opacity:1}
  88%,100%{left:120%;opacity:0}
}
.dashboard-slider-bottom{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:18px;
}
.dashboard-slider-dots{display:flex;align-items:center;gap:7px}
.dashboard-dot{
  width:7px;height:7px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,184,217,.25);
  cursor:pointer;
  transition:width .45s cubic-bezier(.22,1,.36,1),background .35s ease,box-shadow .35s ease;
}
.dashboard-dot.is-active{
  width:25px;
  border-radius:99px;
  background:var(--pink-soft);
  box-shadow:0 0 14px rgba(255,111,176,.3);
}
.dashboard-slider-status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:rgba(255,184,217,.48);
  font-size:.55rem;
  font-weight:800;
  letter-spacing:.14em;
}
.dashboard-slider-status i{
  width:5px;height:5px;
  border-radius:50%;
  background:var(--pink-soft);
  box-shadow:0 0 10px rgba(255,111,176,.7);
  animation:dashboardPulse 1.4s ease-in-out infinite;
}
/* ---- Dashboard video (replaces image slider) ---- */
.dashboard-video-frame{cursor:pointer;-webkit-tap-highlight-color:transparent}
.dashboard-video-frame:focus-visible{outline:2px solid var(--pink-soft);outline-offset:4px}
.dashboard-video{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  background:#0c0811;
}
.dashboard-video-toggle{
  position:absolute;
  z-index:5;
  top:50%;left:50%;
  width:68px;height:68px;
  display:grid;place-items:center;
  border-radius:50%;
  background:rgba(12,8,17,.55);
  border:1px solid rgba(255,184,217,.28);
  box-shadow:0 0 30px rgba(255,111,176,.25);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transform:translate(-50%,-50%) scale(.85);
  opacity:0;
  pointer-events:none;
  transition:opacity .3s ease,transform .35s cubic-bezier(.22,1,.36,1);
}
.dashboard-video-toggle svg{width:28px;height:28px;fill:var(--pink-soft)}
.dashboard-video-toggle .icon-pause{display:none}
.dashboard-video-frame.is-paused .dashboard-video-toggle,
.dashboard-video-frame.show-toggle .dashboard-video-toggle{opacity:1;transform:translate(-50%,-50%) scale(1)}
.dashboard-video-frame:not(.is-paused) .icon-play{display:none}
.dashboard-video-frame:not(.is-paused) .icon-pause{display:block}
.dashboard-video-frame.is-paused .dashboard-slider-shine{animation-play-state:paused;opacity:0}
.dashboard-slider-status b{font-weight:inherit}
.dashboard-video-frame.is-paused ~ .dashboard-slider-bottom .dashboard-slider-status i{animation:none;opacity:.4}
@media(max-width:600px){.dashboard-video-toggle{width:54px;height:54px}.dashboard-video-toggle svg{width:22px;height:22px}}

@keyframes dashboardPulse{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
@media(max-width:600px){
  .dashboard-preview-section{padding:82px 18px 88px}
  .dashboard-preview-heading{margin-bottom:32px}
  .dashboard-slider-frame{border-radius:20px}
  .dashboard-slider-bottom{margin-top:13px}
}

/* ============== DUAA WORKFLOW FLOW ============== */
.duaa-flow-section{max-width:1180px;margin:0 auto;padding:92px 5vw 96px;position:relative;overflow:hidden}
.duaa-flow-head{max-width:720px;margin:0 auto 46px;text-align:center}
.duaa-flow-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.duaa-flow-card{position:relative;min-height:220px;padding:26px 22px 22px;border:1px solid rgba(255,184,217,.13);border-radius:22px;background:linear-gradient(155deg,rgba(34,16,39,.94),rgba(14,9,17,.98));box-shadow:0 18px 50px rgba(0,0,0,.2);transition:transform .65s cubic-bezier(.16,1,.3,1),border-color .4s ease,background .4s ease,box-shadow .65s cubic-bezier(.16,1,.3,1);overflow:hidden}
.duaa-flow-card::before{content:"";position:absolute;inset:auto -25% -55% 20%;height:130px;background:radial-gradient(circle,rgba(255,111,176,.16),transparent 68%);pointer-events:none;transition:transform .65s cubic-bezier(.16,1,.3,1),opacity .4s ease}
.duaa-flow-card:hover{transform:translateY(-9px);border-color:rgba(255,111,176,.34);background:linear-gradient(155deg,rgba(43,19,46,.98),rgba(17,9,20,.99));box-shadow:0 28px 70px rgba(0,0,0,.3),0 0 36px rgba(255,111,176,.07)}
.duaa-flow-card:hover::before{transform:translate(-20px,-18px);opacity:1}
.duaa-flow-no{font-size:.6rem;letter-spacing:.14em;color:var(--pink-soft);font-weight:800}
.duaa-flow-icon{width:42px;height:42px;margin:20px 0 18px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(255,111,176,.08);border:1px solid rgba(255,184,217,.14);color:var(--pink-soft);font-size:1.05rem;transition:transform .6s cubic-bezier(.16,1,.3,1),background .4s ease}
.duaa-flow-card:hover .duaa-flow-icon{transform:translateY(-3px) rotate(-4deg);background:rgba(255,111,176,.13)}
.duaa-flow-card h3{margin:0 0 9px;font-family:var(--font-display);font-size:1.35rem;color:var(--white-warm)}
.duaa-flow-card p{margin:0;color:var(--lavender);font-size:.78rem;line-height:1.7}
.duaa-flow-connector{position:absolute;top:88px;left:calc(25% - 8px);right:calc(25% - 8px);height:1px;background:linear-gradient(90deg,rgba(255,111,176,.0),rgba(255,111,176,.28),rgba(255,111,176,.0));pointer-events:none}
.duaa-flow-connector::after{content:"";position:absolute;top:-2px;left:0;width:6px;height:6px;border-radius:50%;background:var(--pink-soft);box-shadow:0 0 14px rgba(255,111,176,.7);animation:duaaFlowTravel 4s linear infinite}
@keyframes duaaFlowTravel{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
.duaa-flow-link{display:inline-flex;margin-top:18px;align-items:center;gap:7px;color:var(--pink-soft);font-size:.64rem;font-weight:700;letter-spacing:.06em;text-decoration:none;opacity:.88}
.duaa-flow-link b{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.duaa-flow-card:hover .duaa-flow-link b{transform:translateX(4px)}
@media(max-width:900px){.duaa-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duaa-flow-connector{display:none}}
@media(max-width:600px){
  .duaa-flow-section{padding:72px 5vw}
  .duaa-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .duaa-flow-card{min-height:0;padding:15px 12px 13px;border-radius:17px}
  .duaa-flow-no{font-size:.49rem;letter-spacing:.10em}
  .duaa-flow-icon{width:32px;height:32px;margin:12px 0 11px;border-radius:10px;font-size:.82rem}
  .duaa-flow-card h3{margin:0 0 6px;font-size:1.02rem}
  .duaa-flow-card p{font-size:.64rem;line-height:1.48}
  .duaa-flow-link{margin-top:11px;gap:5px;font-size:.53rem;letter-spacing:.035em}
}

/* ============== THE DUAA SYSTEM (ORBIT) ============== */
.duaa-swarm-section{ padding:100px 6vw 104px; position:relative; overflow:visible; }
.duaa-swarm-head{ max-width:640px; margin:0 auto 48px; text-align:center; }
.duaa-swarm-head h2{ font-family:var(--font-display); font-size:2.3rem; color:var(--white-warm); margin:14px 0 12px; }
.duaa-swarm-head h2 em{ color:var(--pink-soft); font-style:italic; }
.duaa-swarm-head p.sub{ color:var(--lavender); font-size:.92rem; line-height:1.7; max-width:560px; margin:0 auto; }

/* ---------- layout: stage + live feed, side by side on desktop ---------- */
.dswarm-wrap{
  max-width:900px;
  margin:0 auto;
  display:flex;
  justify-content:center;
}

.dswarm-stage-card{
  position:relative;
  width:100%;
  background:none;
  border:none;
  overflow:visible;
}
.dswarm-stage{ position:relative; width:100%; aspect-ratio:760/480; }
.dswarm-svg{ position:absolute; inset:0; width:100%; height:100%; display:block; }

/* Dua's core */
.dswarm-dua-core{ filter:drop-shadow(0 0 18px rgba(255,111,176,.55)) drop-shadow(0 0 44px rgba(255,111,176,.22)); }
.dswarm-dua-halo{
  fill:rgba(255,184,217,.30);
  opacity:0;
  transform-origin:380px 222px;
  transition:opacity .35s ease;
}
.dswarm-dua-halo.is-reporting{ opacity:1; animation:dswarmBreathe 1s ease-in-out infinite; }
@keyframes dswarmBreathe{
  0%,100%{ transform:scale(1); opacity:.55; }
  50%{ transform:scale(1.18); opacity:.9; }
}
.dswarm-dua-label{
  font-family:var(--font-display); font-style:italic; font-weight:600;
  font-size:13px; fill:var(--pink-soft);
}

/* ---------- agent orbs ---------- */
.dswarm-node{ cursor:default; }
.dswarm-node-circle{
  fill:var(--bg-deep);
  stroke:var(--c, var(--lavender-dim));
  stroke-width:1.8;
  transition:filter .4s ease, opacity .4s ease;
  opacity:.62;
  filter:saturate(.6);
}
.dswarm-node-icon{
  stroke:var(--c, var(--lavender));
  fill:none;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:var(--c, var(--lavender));
  opacity:.7;
  pointer-events:none;
  transition:stroke .4s ease, color .4s ease, opacity .4s ease;
}
.dswarm-node-label{
  font-family:var(--font-body); font-weight:600; font-size:11px;
  fill:rgba(255,255,255,.82);
  text-anchor:middle;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
  transition:fill .3s ease;
  pointer-events:none; user-select:none;
}
.dswarm-node.is-active .dswarm-node-circle{
  opacity:1; filter:saturate(1) drop-shadow(0 0 10px var(--c));
}
.dswarm-node.is-active .dswarm-node-icon{ opacity:1; }
.dswarm-node.is-active .dswarm-node-label{ fill:var(--c); }
.dswarm-node.is-pulse .dswarm-pulse-ring{
  animation:dswarmPulseRing 1.1s ease-out;
}
.dswarm-pulse-ring{ fill:none; stroke:var(--c, var(--pink)); stroke-width:1.4; opacity:0; }
@keyframes dswarmPulseRing{
  0%{ transform-box:fill-box; transform-origin:center; transform:scale(.85); opacity:.9; }
  100%{ transform-box:fill-box; transform-origin:center; transform:scale(1.6); opacity:0; }
}

/* ---------- transient travel line + packet ---------- */
.dswarm-travel-line{ stroke-width:1.7; stroke-linecap:round; opacity:0; }
.dswarm-travel-dot{ filter:drop-shadow(0 0 6px currentColor); }

/* ---------- chat bubble over the receiving orb ---------- */
.dswarm-bubble{
  transform-origin:center bottom;
  animation:dswarmBubbleIn .28s ease forwards;
}
@keyframes dswarmBubbleIn{
  from{ opacity:0; transform:translateY(6px) scale(.9); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.dswarm-bubble-bg{
  fill:rgba(10,7,16,.94);
  stroke:var(--c, var(--pink));
  stroke-width:1;
}
.dswarm-bubble-text{
  fill:var(--white-warm);
  font-family:var(--font-body); font-weight:500; font-size:11px;
  text-anchor:middle; dominant-baseline:central;
}

@media(prefers-reduced-motion:reduce){
  .dswarm-dua-halo.is-reporting,
  .dswarm-pulse-ring{ animation:none !important; }
}

@media(max-width:760px){
  .duaa-swarm-section{ padding:80px 5vw 88px; }
  .duaa-swarm-head h2{ font-size:1.8rem; }
  .dswarm-node-label{ font-size:12.5px; }
  .dswarm-node-initial{ font-size:13px; }
}
@media(max-width:480px){
  .dswarm-node-label{ font-size:14px; }
  .dswarm-node-initial{ font-size:14px; }
}


/* Contact section: remove the colored pink/green shadows from the two columns.
   Keep only a very subtle neutral shadow on the columns themselves. */
.contact-section > .container > .row > [class*="col"],
.contact-section .contact-grid > [class*="col"],
.contact-section .contact-columns > [class*="col"],
.contact-section [class*="contact-col"] {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.035) !important;
}

/* FINAL COMPACT PASS — PLANS SECTION ONLY */
.compact-plan-card{ max-width:820px; border-radius:24px; }
.compact-plan-content{ padding:28px 30px 23px; }
.compact-plan-ribbon{ top:15px; right:16px; padding:5px 9px; font-size:.61rem; }
.compact-plan-title-row{ gap:11px; padding-right:105px; }
.compact-plan-sparkle{ font-size:1.15rem; }
.compact-plan-title-row h3{ font-size:1.55rem; margin-bottom:4px; }
.compact-plan-title-row p{ font-size:.8rem; line-height:1.4; }
.compact-plan-list{ margin-top:20px; gap:8px; }
.compact-plan-list li{ gap:9px; font-size:.82rem; line-height:1.35; }
.compact-check{ flex-basis:18px; width:18px; height:18px; font-size:.56rem; }
.compact-plan-divider{ margin:19px 0 17px; }
.compact-plan-options{ gap:10px; margin-top:17px; }
.compact-price-option{ min-height:88px; padding:14px 15px; border-radius:14px; }
.compact-price-option strong{ font-size:1.3rem; }
.compact-price-option span{ font-size:.68rem; margin-top:3px; }
.compact-price-option small{ font-size:.62rem; margin-top:5px; }
.compact-option-badge{ top:8px; right:8px; padding:2px 5px; font-size:.46rem!important; }
.compact-plan-bottom{ margin-top:17px; }
.compact-plan-actions{ gap:10px; }
.compact-view-btn,.compact-order-btn{ width:245px; min-height:48px; }
.compact-view-btn{ font-size:.76rem; border-radius:12px; }
.compact-order-btn{ font-size:.82rem; border-radius:12px; }
.compact-plan-guarantee{ margin-top:17px; padding-top:12px; font-size:.68rem; }
.plan-legal-note{ font-size:.68rem; margin-top:16px; }

@media(max-width:680px){
  .compact-plan-content{ padding:22px 18px 19px; }
  .compact-plan-title-row{ padding-right:75px; gap:9px; }
  .compact-plan-title-row h3{ font-size:1.3rem; }
  .compact-plan-title-row p{ font-size:.74rem; }
  .compact-plan-list{ margin-top:15px; gap:7px; }
  .compact-plan-list li{ font-size:.74rem; }
  .compact-plan-options{ margin-top:13px; }
  .compact-price-option{ min-height:0; padding:12px 13px; }
  .compact-plan-guarantee{ font-size:.64rem; }
}


/* =========================================================
   MOBILE POLISH — EXPLORE DUAA + WHY DUAA
   Keeps desktop layout untouched.
   ========================================================= */
@media (max-width:620px){

  /* Explore Duaa: compact, centered 2-column buttons.
     Mobile intentionally mirrors the desktop button language:
     no numbers/arrows, same pill treatment, subtle motion. */
  .expl-mobile-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 8px;
    padding:3px 0 6px;
  }

  .expl-pill-mob{
    min-width:0;
    min-height:38px;
    height:38px;
    padding:8px 8px;
    border-radius:999px;
    justify-content:center;
    text-align:center;
    gap:0;
    font-size:.56rem;
    line-height:1;
    letter-spacing:.035em;
    font-weight:650;
    color:rgba(255,184,217,.82);
    background:rgba(255,255,255,.028);
    border-color:rgba(255,184,217,.16);
    box-shadow:none;
    transition:
      transform .3s cubic-bezier(.22,1,.36,1),
      border-color .3s ease,
      background .3s ease,
      box-shadow .3s ease,
      color .3s ease;
  }

  .expl-pill-mob b{
    display:none !important;
  }

  .expl-pill-mob::after{
    content:"";
    position:absolute;
    top:0;
    bottom:0;
    left:-70%;
    width:42%;
    transform:skewX(-20deg);
    background:linear-gradient(90deg,transparent,rgba(255,184,230,.25),transparent);
    pointer-events:none;
    animation:explMobileShimmer 4.8s ease-in-out infinite;
  }

  .expl-pill-mob:nth-child(2)::after{ animation-delay:.25s; }
  .expl-pill-mob:nth-child(3)::after{ animation-delay:.5s; }
  .expl-pill-mob:nth-child(4)::after{ animation-delay:.75s; }
  .expl-pill-mob:nth-child(5)::after{ animation-delay:1s; }
  .expl-pill-mob:nth-child(6)::after{ animation-delay:1.25s; }
  .expl-pill-mob:nth-child(7)::after{ animation-delay:1.5s; }
  .expl-pill-mob:nth-child(8)::after{ animation-delay:1.75s; }
  .expl-pill-mob:nth-child(9)::after{ animation-delay:2s; }
  .expl-pill-mob:nth-child(10)::after{ animation-delay:2.25s; }
  .expl-pill-mob:nth-child(11)::after{ animation-delay:2.5s; }

  @keyframes explMobileShimmer{
    0%,62%{ left:-70%; }
    78%,100%{ left:145%; }
  }

  .expl-pill-mob:active,
  .expl-pill-mob:hover{
    transform:translateY(-1px);
    border-color:rgba(255,111,176,.42);
    color:#fff;
    background:rgba(255,111,176,.075);
    box-shadow:0 7px 18px rgba(0,0,0,.14),0 0 14px rgba(255,111,176,.055);
  }

  .expl-pill-mob--full{
    grid-column:1 / -1;
    min-height:38px;
  }

  /* Why Duaa: compact mobile step/button cards.
     Small number badge + tight aligned content; removes the
     oversized desktop card feeling on narrow screens. */
  .why-duaa-timeline{
    width:94vw;
    padding-bottom:48px;
  }

  .why-timeline-heading{
    margin-bottom:22px;
  }

  .why-timeline-heading h2{
    font-size:1.55rem;
    line-height:1.08;
  }

  .duaa-process-timeline{
    gap:8px;
    padding-top:2px;
  }

  .duaa-process-step{
    display:flex;
    align-items:center;
    gap:8px;
  }

  .duaa-step-node{
    flex:0 0 32px;
    width:32px;
    height:32px;
    min-width:32px;
    margin:0;
    border-radius:50%;
    box-shadow:0 0 0 3px rgba(255,111,176,.035),0 0 12px rgba(255,111,176,.07);
  }

  .duaa-step-node span{
    font-size:.5rem;
    letter-spacing:.04em;
  }

  .duaa-step-content{
    flex:1;
    min-width:0;
    min-height:0;
    padding:9px 11px 10px;
    border-radius:12px;
    background:linear-gradient(160deg,rgba(34,16,39,.68),rgba(14,9,17,.88));
    box-shadow:none;
  }

  .duaa-step-label{
    font-size:.48rem;
    letter-spacing:.11em;
    line-height:1;
  }

  .duaa-step-content h3{
    font-size:.84rem;
    line-height:1.12;
    margin:4px 0 3px;
  }

  .duaa-step-content p{
    font-size:.61rem;
    line-height:1.4;
  }

  .duaa-process-step:hover .duaa-step-content{
    transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(0,0,0,.16);
  }
}

/* =========================================================
   FINAL MOBILE COMPACT PASS — PLAN + FOOTERS
   Desktop remains unchanged.
   ========================================================= */
@media (max-width: 620px){
  /* What You Get / plan card: shorter, tighter and balanced. */
  .compact-plan-card{
    border-radius:18px;
  }
  .compact-plan-content{
    padding:17px 14px 15px;
  }
  .compact-plan-ribbon{
    top:10px;
    right:10px;
    padding:3px 7px;
    font-size:.48rem;
  }
  .compact-plan-title-row{
    padding-right:58px;
    gap:7px;
    align-items:center;
  }
  .compact-plan-sparkle{font-size:.9rem;margin-top:0;}
  .compact-plan-title-row h3{
    font-size:1.05rem;
    line-height:1.1;
    margin-bottom:2px;
  }
  .compact-plan-title-row p{
    font-size:.62rem;
    line-height:1.3;
  }
  .compact-plan-list{
    margin-top:11px;
    gap:5px;
  }
  .compact-plan-list li{
    gap:6px;
    font-size:.62rem;
    line-height:1.25;
  }
  .compact-check{
    flex-basis:14px;
    width:14px;
    height:14px;
    font-size:.43rem;
  }
  .compact-plan-divider{
    margin:11px 0 9px;
  }
  .compact-plan-options{
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:9px;
  }
  .compact-price-option{
    min-height:61px;
    padding:8px 7px;
    border-radius:10px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .compact-price-option strong{font-size:.88rem;line-height:1.05;}
  .compact-price-option span{font-size:.52rem;margin-top:2px;line-height:1.15;}
  .compact-price-option small{font-size:.48rem;margin-top:3px;line-height:1.15;}
  .compact-option-badge{
    top:5px;
    right:5px;
    padding:1px 3px;
    font-size:.36rem!important;
  }
  .compact-plan-bottom{
    margin-top:10px;
  }
  .compact-plan-actions{
    width:100%;
    flex-direction:row;
    gap:6px;
  }
  .compact-view-btn,.compact-order-btn{
    width:100%;
    min-height:36px;
    padding:7px 8px;
    border-radius:9px;
    font-size:.58rem;
    line-height:1.1;
  }
  .compact-view-btn span{font-size:.55rem;}
  .compact-plan-guarantee{
    margin-top:9px;
    padding-top:8px;
    font-size:.52rem;
    line-height:1.25;
  }
  .plan-legal-note{
    font-size:.52rem;
    line-height:1.35;
    margin-top:10px;
  }

  /* Homepage footer: brand centered, then all 4 link sections in ONE row. */
  .site-footer-expanded{
    padding:28px 12px 22px;
  }
  .footer-expanded-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:20px;
    text-align:center;
  }
  .footer-brand-block{
    grid-column:1/-1;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:3px;
  }
  .footer-brand-block .footer-flower{
    margin:0 0 3px;
    font-size:.82rem;
  }
  .footer-brand-block h3{
    font-size:1.05rem;
    margin:0 0 3px;
  }
  .footer-brand-block p{
    max-width:290px;
    font-size:.54rem;
    line-height:1.35;
    text-align:center;
  }
  .footer-expanded-grid > div:not(.footer-brand-block){
    min-width:0;
    text-align:center;
  }
  .footer-expanded-grid h4{
    font-size:.48rem;
    letter-spacing:.06em;
    margin:0 0 5px;
    line-height:1.15;
  }
  .footer-expanded-grid a{
    font-size:.46rem;
    line-height:1.2;
    margin:4px 0;
    overflow-wrap:anywhere;
  }
  .footer-bottom-expanded{
    padding-top:10px;
    gap:3px;
    font-size:.46rem;
    line-height:1.2;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    text-align:center;
  }

  /* Same mobile footer standard on resource/sub pages. */
  .resource-footer{
    padding:28px 12px 22px;
    font-size:.52rem;
  }
  .resource-footer-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin-bottom:20px;
    text-align:center;
  }
  .resource-footer-grid > div:first-child{
    grid-column:1/-1;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-bottom:3px;
  }
  .resource-footer-grid > div:first-child > div{
    font-size:1.02rem !important;
    margin-bottom:3px !important;
  }
  .resource-footer-grid > div:first-child p{
    max-width:290px !important;
    font-size:.54rem;
    line-height:1.35 !important;
    text-align:center;
  }
  .resource-footer h4{
    font-size:.48rem;
    margin:0 0 5px;
    letter-spacing:.06em;
    line-height:1.15;
  }
  .resource-footer a{
    font-size:.46rem;
    line-height:1.2;
    margin:4px 0;
    overflow-wrap:anywhere;
  }
  .resource-footer-bottom{
    padding-top:10px;
    gap:3px;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    text-align:center;
    font-size:.46rem;
    line-height:1.2;
  }
}

/* FINAL COMPACT PASS — Choose Your Access cards */
.checkout-access-options{
  gap:9px;
  margin-bottom:9px;
}
.checkout-access-card{
  min-height:104px;
  padding:11px 13px 10px;
  border-radius:14px;
}
.checkout-access-badge{
  font-size:.50rem;
  padding:3px 6px;
  margin-bottom:5px;
}
.checkout-access-title{
  font-size:.78rem;
  line-height:1.15;
  margin-bottom:3px;
}
.checkout-access-card strong{
  font-size:1.08rem;
  line-height:1.05;
}
.checkout-access-recurring{
  font-size:.62rem;
  margin-top:2px;
}
.checkout-access-card small{
  font-size:.57rem;
  line-height:1.32;
  margin-top:5px;
}

@media (max-width:680px){
  .checkout-content-modern .popup-header{ margin-bottom:9px; }
  .checkout-access-options{ gap:7px; margin-bottom:8px; }
  .checkout-access-card{
    min-height:0;
    padding:9px 11px 8px;
    border-radius:13px;
  }
  .checkout-access-badge{ font-size:.47rem; padding:2px 6px; margin-bottom:4px; }
  .checkout-access-title{ font-size:.72rem; margin-bottom:2px; }
  .checkout-access-card strong{ font-size:1rem; }
  .checkout-access-recurring{ font-size:.58rem; margin-top:1px; }
  .checkout-access-card small{ font-size:.53rem; line-height:1.25; margin-top:4px; }
}

/* =========================================================
   USER REQUEST — ACCESS UI FINAL REFINEMENT
   Compact plans, cleaner footer branding, and a wider desktop
   checkout composition with two compact access choices.
   ========================================================= */

/* Main "What You Get" card — keep the popular badge inside its own space. */
.compact-price-option.featured{
  padding-top:28px;
}
.compact-price-option.featured .compact-option-badge{
  top:8px;
  right:8px;
}

/* Footer brand block: brighter and clearly separated from the 4 link columns. */
.footer-brand-block,
.footer-brand-block .footer-flower,
.footer-brand-block h3,
.footer-brand-block p{
  opacity:1 !important;
}
.footer-brand-block .footer-flower{
  margin-bottom:11px !important;
  filter:drop-shadow(0 0 10px rgba(255,111,176,.20));
}
.footer-brand-block h3{
  color:var(--white-warm) !important;
  margin-bottom:10px !important;
}
.footer-brand-block p{
  color:var(--lavender) !important;
}

/* Desktop checkout: deliberately wide/landscape, with the access choices and
   selected-plan summary arranged beside each other to cut modal height. */
@media (min-width:901px){
  .checkout-modal .checkout-content{
    width:min(720px, calc(100vw - 56px));
    max-width:720px;
    padding:24px 28px 22px;
    border-radius:26px;
    background:
      radial-gradient(circle at 12% 8%, rgba(255,111,176,.08), transparent 34%),
      linear-gradient(145deg, rgba(30,15,38,.98), rgba(11,8,16,.99));
    border:1px solid rgba(255,184,217,.16);
    box-shadow:0 35px 100px rgba(0,0,0,.72), 0 0 55px rgba(255,111,176,.08);
  }
  .checkout-content-modern .popup-header{
    margin-bottom:16px;
    padding-bottom:15px;
    align-items:center;
  }
  .checkout-content-modern .popup-header > div:first-child{
    min-width:0;
  }
  .checkout-content-modern .popup-header h2{
    font-size:1.65rem;
  }
  .checkout-content-modern .popup-icon{font-size:1.65rem;}
  .checkout-subtitle{max-width:650px;}

  .checkout-access-options{
    width:100%;
    max-width:none;
    margin: 0 0 14px;
    gap: 12px;
  }
  .checkout-access-card{
    min-height:102px;
    padding:10px 12px 9px;
    border-radius:14px;
  }
  .checkout-access-badge{font-size:.47rem;padding:2px 6px;margin-bottom:4px;}
  .checkout-access-title{font-size:.77rem;margin-bottom:2px;}
  .checkout-access-card strong{font-size:1.08rem;}
  .checkout-access-recurring{font-size:.59rem;margin-top:2px;}
  .checkout-access-card small{font-size:.54rem;line-height:1.25;margin-top:4px;}

  .checkout-form-grid{
    width:100%;
    max-width:none;
    margin:0;
    gap:8px 12px;
  }
  .checkout-field label{font-size:.57rem;margin-bottom:3px;}
  .checkout-field input{height:35px;padding:7px 10px;font-size:.74rem;}
  .checkout-method-btn{padding:7px 10px;font-size:.67rem;}
  .checkout-account-box{padding:6px 10px;}
  .checkout-note{font-size:.60rem;margin:7px 0 6px;}
  .checkout-legal-consent{margin:6px 0 8px;padding:7px 9px;font-size:.57rem;line-height:1.35;}
  .checkout-submit-btn,.checkout-contact-btn{min-height:40px;font-size:.78rem;}
}

/* Android/mobile: keep both access choices in one compact row. */
@media (max-width:680px){
  .compact-price-option.featured{
    padding-top:24px;
  }
  .compact-price-option.featured .compact-option-badge{
    top:5px;
    right:5px;
  }

  .footer-brand-block{
    margin-bottom:15px !important;
  }
  .footer-brand-block .footer-flower{
    margin-bottom:8px !important;
  }
  .footer-brand-block h3{
    margin-bottom:8px !important;
  }

  .checkout-modal{
    padding:12px 8px 22px;
  }
  .checkout-modal .checkout-content{
    width:calc(100vw - 16px);
    padding:16px 11px 14px;
    border-radius:20px;
  }
  .checkout-content-modern .popup-header{
    margin-bottom:10px;
    padding-bottom:11px;
  }
  .checkout-content-modern .popup-header h2{
    font-size:1.25rem;
  }
  .checkout-content-modern .popup-icon{font-size:1.3rem;}
  .checkout-subtitle{font-size:.63rem;line-height:1.35;}

  .checkout-access-options{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:6px !important;
    margin-bottom:7px !important;
  }
  .checkout-access-card{
    min-width:0;
    min-height:0 !important;
    height:96px;
    padding:7px 7px 6px !important;
    border-radius:11px !important;
  }
  .checkout-access-badge{
    font-size:.39rem !important;
    padding:2px 4px !important;
    margin-bottom:3px !important;
    letter-spacing:.06em;
  }
  .checkout-access-title{
    font-size:.58rem !important;
    line-height:1.08;
    margin-bottom:2px !important;
  }
  .checkout-access-card strong{
    font-size:.83rem !important;
    line-height:1.05;
  }
  .checkout-access-recurring{
    font-size:.45rem !important;
    margin-top:1px !important;
    line-height:1.05;
  }
  .checkout-access-card small{
    font-size:.40rem !important;
    line-height:1.15 !important;
    margin-top:3px !important;
  }


  .checkout-form-grid{gap:7px 9px;}
  .checkout-field label{font-size:.50rem;margin-bottom:3px;}
  .checkout-field input{height:34px;padding:7px 9px;font-size:.69rem;border-radius:8px;}
  .checkout-method-btn{padding:7px 8px;font-size:.61rem;border-radius:8px;}
  .checkout-account-box{padding:6px 8px;border-radius:8px;}
  .checkout-account-row{font-size:.57rem;padding:2px 0;}
  .checkout-note{font-size:.55rem;margin:6px 0 5px;line-height:1.35;}
  .checkout-legal-consent{margin:5px 0 7px;padding:6px 7px;font-size:.51rem;line-height:1.3;}
  .checkout-submit-btn,.checkout-contact-btn{min-height:38px;font-size:.70rem;}
}


