
:root{
  --background: 40 30% 96%;
  --foreground: 200 25% 12%;
  --card: 40 25% 97%;
  --card-foreground: 200 25% 12%;
  --primary: 174 55% 35%;
  --primary-foreground: 40 30% 96%;
  --secondary: 40 35% 90%;
  --muted: 40 20% 92%;
  --muted-foreground: 200 10% 45%;
  --accent: 42 75% 55%;
  --accent-foreground: 200 25% 12%;
  --border: 40 20% 85%;
  --teal: 160 72% 34%;
  --teal-light: 160 62% 54%;
  --teal-dark: 160 78% 21%;
  --gold: 42 75% 55%;
  --gold-light: 42 60% 70%;
  --warm-bg: 40 30% 96%;
  --cream: 40 40% 93%;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: 'DM Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
h1,h2,h3,h4,.serif{ font-family: 'Playfair Display', serif; }
h1,h2,h3{ text-wrap: balance; }
img{max-width:100%;display:block}
.container{ max-width: 1400px; margin: 0 auto; padding: 0 16px; }
.eyebrow{
  font-size: 13px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: hsl(var(--primary));
  font-weight: 600;
  text-align: center;
}
.gold{ color: hsl(var(--accent)); }

/* ---------- HERO ---------- */
.hero{
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 80px 0;
  background: hsl(var(--teal-dark));
  overflow: hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(circle at 50% 45%, hsla(42,75%,55%,.28), transparent 55%);
  filter: blur(24px);
  z-index:1;
  pointer-events:none;
  animation: pulse-glow 4s ease-in-out infinite;
}
.hero::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(135deg, hsl(var(--teal-dark)) 0%, hsl(var(--primary)) 50%, hsl(var(--teal-dark)) 100%);
  pointer-events:none;
}
.particle{
  position:absolute;
  z-index:1;
  border-radius:50%;
  background: hsla(42,75%,55%,.5);
  animation: float 4s ease-in-out infinite;
  pointer-events:none;
}
@keyframes float{
  0%,100%{ transform: translateY(0px); }
  50%{ transform: translateY(-18px); }
}
@keyframes pulse-glow{
  0%,100%{ opacity:.6 }
  50%{ opacity:1 }
}
.hero-grid{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap: 48px;
}
.book-enter{
  opacity:0;
  animation: heroFadeUp .9s cubic-bezier(.16,1,.3,1) forwards;
}
.book-wrap{
  position:relative;
  animation: float 6s ease-in-out infinite;
}
@keyframes heroFadeUp{
  from{ opacity:0; transform: translateY(28px); }
  to{ opacity:1; transform: translateY(0); }
}
.hero-enter{
  opacity:0;
  animation: heroFadeUp .8s cubic-bezier(.16,1,.3,1) forwards;
}
.book-wrap img{
  width: 256px;
  border-radius: 6px;
  box-shadow: 0 40px 80px -20px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.08);
}
@media (min-width:768px){ .book-wrap img{ width:320px; } }
@media (min-width:1024px){ .book-wrap img{ width:384px; } }
.book-glow{
  position:absolute; inset:-30px;
  background: radial-gradient(circle, hsla(42,75%,55%,.35), transparent 70%);
  filter: blur(20px);
  z-index:-1;
  animation: pulse-glow 3s ease-in-out infinite;
}
.hero h1{
  color: hsl(var(--primary-foreground));
  font-size: 36px;
  line-height: 1.15;
  font-weight: 700;
  margin: 24px 0 24px;
}
@media (min-width:768px){ .hero h1{ font-size:48px; } }
@media (min-width:1024px){ .hero h1{ font-size:60px; line-height:1; } }
.hero h1 em{
  color: hsl(var(--accent));
  font-style: italic;
  font-weight: 500;
}
.hero p.lead{
  color: hsla(40,30%,96%,.8);
  font-size: 18px;
  max-width: 540px;
  line-height: 1.5;
  margin: 0 auto 32px;
}
@media (min-width:768px){ .hero p.lead{ font-size:20px; } }
.eyebrow.on-dark{ color: hsl(var(--accent)); text-align:center; }

.offer-row{ display:flex; flex-direction:column; gap:16px; justify-content:center; margin-bottom: 18px; }
@media (min-width:640px){ .offer-row{ flex-direction:row; flex-wrap:wrap; } }
.hero-cta-btn{
  display:inline-flex; align-items:center; justify-content:center;
  background: hsl(var(--accent)); color: hsl(var(--accent-foreground));
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:17px;
  padding:18px 36px; border-radius:12px; text-decoration:none;
  box-shadow: 0 10px 25px -6px hsla(42,75%,55%,.5);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  animation: ctaPulse 2.6s ease-in-out infinite;
}
.hero-cta-btn:hover{ animation-play-state:paused; transform: translateY(-2px) scale(1.03); background: hsl(var(--gold-light)); box-shadow: 0 16px 32px -6px hsla(42,75%,55%,.6); }
@keyframes ctaPulse{
  0%,100%{ transform:scale(1); box-shadow: 0 10px 25px -6px hsla(42,75%,55%,.5); }
  50%{ transform:scale(1.035); box-shadow: 0 12px 30px -6px hsla(42,75%,55%,.7); }
}
@media (prefers-reduced-motion: reduce){ .hero-cta-btn{ animation:none; } }
@media (max-width:639px){ .hero-cta-btn{ width:100%; } }
.offer-card{
  position:relative;
  background: #fff;
  border: 1px solid hsla(200,25%,12%,.08);
  border-radius: var(--r, 12px);
  padding: 16px 20px;
  display:flex; align-items:center; gap:12px;
  min-width: 220px;
  cursor:pointer;
  text-decoration:none;
  box-shadow: 0 10px 25px -8px rgba(0,0,0,.25);
  transition: transform .25s ease, box-shadow .25s ease;
}
.offer-card:hover{ transform: translateY(-3px); box-shadow: 0 16px 32px -8px rgba(0,0,0,.3); }
.offer-card-featured{
  border: 2px solid hsl(var(--accent));
  box-shadow: 0 12px 30px -6px hsla(42,75%,55%,.5);
  transform: scale(1.04);
}
.offer-card-featured:hover{ transform: scale(1.04) translateY(-3px); }
.offer-badge{
  position:absolute; top:-11px; left:16px;
  background: #fff;
  border: 1px solid hsla(42,75%,55%,.5);
  color: hsl(var(--accent));
  font-size: 10px; font-weight:700; letter-spacing:.05em;
  padding: 3px 10px; border-radius: 999px;
  text-transform: uppercase;
}
.offer-icon{ font-size: 22px; }
.offer-title{ color: hsl(var(--muted-foreground)); font-size: 13px; margin-bottom:2px; }
.offer-freeship{ display:block; color: hsl(var(--primary)); font-size:11px; font-weight:700; }
.offer-price{ font-family:'Playfair Display',serif; font-size:22px; font-weight:700; color: hsl(var(--foreground)); }
.offer-price .old{ font-size:13px; text-decoration:line-through; color: hsl(var(--muted-foreground)); font-weight:400; margin-left:6px; }
.offer-price .note{ font-size:12px; font-weight:400; color: hsl(var(--muted-foreground)); margin-left:6px; }
.offer-cta-text{ font-size:14px; font-weight:700; color: hsl(var(--primary)); }

.trust-row{ display:flex; gap:18px; flex-wrap:wrap; justify-content:center; font-size:13px; font-weight:600; color:hsla(40,30%,96%,.95); text-shadow: 0 1px 3px hsla(200,25%,12%,.45); padding: 10px 18px; background: hsla(200,25%,12%,.22); border-radius: 16px; backdrop-filter: blur(4px); }
.trust-row span{ display:flex; align-items:center; gap:6px; }

.scroll-cue{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  color: hsla(40,30%,96%,.6);
  animation: float 2.4s ease-in-out infinite;
  z-index:2;
}

/* ---------- SECTION GENERIC ---------- */
section{ padding: 96px 0; position:relative; }
.section-head{ text-align:center; max-width: 680px; margin: 0 auto 56px; }
.section-head h2{ font-size: 30px; line-height:1.2; font-weight:700; margin-top:10px; }
@media (min-width:768px){ .section-head h2{ font-size:36px; } }
@media (min-width:1024px){ .section-head h2{ font-size:48px; line-height:1.15; } }
.reveal{ opacity:0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.in{ opacity:1; transform:none; }

/* ---------- FEATURES ---------- */
.features-bg{ background: hsl(var(--warm-bg)); }
.feature-grid{ display:grid; grid-template-columns: 1fr; gap:24px; }
@media (min-width:768px){ .feature-grid{ grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px){ .feature-grid{ grid-template-columns: repeat(4,1fr); } }
.feature-card{
  background: hsl(var(--card));
  border:1px solid hsl(var(--border));
  border-radius:16px;
  padding: 32px;
  transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.feature-card:hover{ transform: translateY(-6px); box-shadow: 0 20px 40px -18px hsla(174,55%,35%,.25); border-color: hsla(174,55%,35%,.3); }
.feature-icon{
  width:52px; height:52px; border-radius:12px;
  background: hsla(174,55%,35%,.1);
  color: hsl(var(--primary));
  display:flex; align-items:center; justify-content:center;
  font-size:24px; margin-bottom:18px;
}
.feature-card h3{ font-size:20px; line-height:28px; font-weight:600; margin-bottom:10px; }
.feature-card p{ color: hsl(var(--muted-foreground)); font-size:14.5px; line-height:1.6; }

/* ---------- AUTHOR ---------- */
.author-copy{ text-align:center; max-width: 680px; margin: 0 auto; color: hsl(var(--muted-foreground)); line-height:1.75; font-size:16px; }
.stat-grid{ display:grid; grid-template-columns: repeat(2,1fr); gap:20px; max-width: 820px; margin: 48px auto 0; }
@media (min-width:768px){ .stat-grid{ grid-template-columns: repeat(4,1fr); } }
.stat-card{
  background: hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:14px;
  padding: 26px 14px; text-align:center;
}
.stat-icon{ font-size:22px; color: hsl(var(--primary)); margin-bottom:10px; }
.stat-num{ font-family:'Playfair Display',serif; font-size:28px; font-weight:700; color: hsl(var(--accent)); }
.stat-label{ font-size:12.5px; color: hsl(var(--muted-foreground)); margin-top:4px; }

/* ---------- CURIOSITIES ---------- */
.curio-bg{ background: hsl(var(--cream)); }
.curio-grid{ display:grid; grid-template-columns: 1fr; gap:20px; }
@media (min-width:768px){ .curio-grid{ grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px){ .curio-grid{ grid-template-columns: repeat(3,1fr); } }
.curio-card{
  background: hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:14px;
  padding:22px 22px; display:flex; justify-content:space-between; align-items:flex-start; gap:12px;
  cursor:pointer; transition: border-color .25s ease, transform .25s ease;
}
.curio-card:hover{ transform: translateY(-4px); border-color: hsla(42,75%,55%,.5); }
.curio-card h4{ font-family:'Playfair Display',serif; font-size:16.5px; display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.curio-card p{ font-size:13.5px; color: hsl(var(--muted-foreground)); font-style:italic; }
.curio-arrow{ color: hsl(var(--muted-foreground)); font-size:15px; }

/* ---------- TESTIMONIALS ---------- */
.test-grid{ display:grid; grid-template-columns: 1fr; gap:22px; }
@media (min-width:768px){ .test-grid{ grid-template-columns: repeat(3,1fr); } }
.test-card{
  background: hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:16px;
  padding:26px 24px;
}
.stars{ color: hsl(var(--accent)); font-size:14px; letter-spacing:2px; }
.quote-mark{ float:right; font-family:'Playfair Display',serif; font-size:34px; color: hsla(42,75%,55%,.35); }
.test-text{ font-style: italic; color: hsl(var(--foreground)); line-height:1.65; font-size:14.5px; margin:14px 0 18px; }
.test-name{ font-family:'Playfair Display',serif; font-weight:600; font-size:15px; }
.test-role{ font-size:12.5px; color: hsl(var(--muted-foreground)); }
/* ---------- CARROSSEL DE DEPOIMENTOS ---------- */
.test-carousel{ display:flex; align-items:center; gap:8px; touch-action: pan-y; }
.tc-viewport{ overflow:hidden; flex:1 1 auto; border-radius:16px; }
.tc-track{ display:flex; transition: transform .45s ease; }
.tc-slide{
  flex:0 0 100%; padding:4px;
  background: hsl(var(--card)); border-radius:16px;
  display:flex; align-items:center; justify-content:center;
}
.tc-slide img{
  display:block; width:100%; max-width:420px; height:auto; margin:0 auto;
  aspect-ratio: 9/16; object-fit: contain;
  border-radius:16px; box-shadow: 0 12px 28px -12px rgba(0,0,0,.22);
}
.tc-arrow{
  flex:0 0 auto; width:42px; height:42px; border-radius:50%; border:1px solid hsla(42,75%,55%,.5);
  background:#fff; color: hsl(var(--primary)); font-size:26px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition: background .2s ease, transform .2s ease;
}
.tc-arrow:hover{ background: hsla(42,75%,55%,.15); transform: scale(1.06); }
.tc-dots{ margin-top:16px; }
.tc-dots .dot{ background: hsla(180,25%,25%,.25); }
.tc-dots .dot.active{ background: hsla(42,75%,55%,.9); }

.big-number{ text-align:center; margin-top:56px; }
.big-number .num{ font-family:'Playfair Display',serif; font-size:44px; font-weight:700; color: hsla(42,75%,55%,.5); }
.big-number .lbl{ color: hsl(var(--muted-foreground)); margin-top:4px; }

/* ---------- QUOTE CAROUSEL ---------- */
.quote-section{
  padding: 80px 0;
  background: linear-gradient(to right, hsl(var(--teal-dark)), hsl(var(--primary)), hsl(var(--teal-dark)));
  color: #fff; text-align:center; overflow:hidden;
}
.quote-section .eyebrow{ color: hsla(42,75%,55%,.9); }
.quote-slide{ display:none; }
.quote-slide.active{ display:block; animation: fadeIn .6s ease; }
@keyframes fadeIn{ from{opacity:0; transform: translateY(10px)} to{opacity:1; transform:none} }
.quote-slide blockquote{
  font-family:'Playfair Display',serif; font-style:italic; font-weight:500;
  font-size: 30px; max-width:760px; margin: 30px auto 22px; line-height:1.4;
}
.quote-slide cite{ color: hsl(var(--accent)); font-style:normal; font-size:14px; }
.dots{ display:flex; justify-content:center; gap:8px; margin-top:34px; }
.dot{ width:8px; height:8px; border-radius:999px; background: hsla(255,100%,100%,.3); cursor:pointer; transition: all .3s ease; }
.dot.active{ width:26px; background: hsl(var(--accent)); }

/* ---------- PRICING ---------- */
.offers-image{
  max-width: 320px; margin: 0 auto 40px; text-align:center;
  animation: float 5s ease-in-out infinite;
}
.offers-image img{
  width:100%; height:auto; border-radius:12px;
  box-shadow: 0 30px 60px -20px rgba(0,0,0,.25), 0 0 0 1px rgba(255,255,255,.5);
}
@media (min-width:768px){ .offers-image{ max-width: 420px; margin-bottom: 48px; } }
@media (min-width:1024px){ .offers-image{ max-width: 480px; } }
.price-grid{ display:grid; grid-template-columns: 1fr; gap:26px; max-width: 780px; margin:0 auto; }
@media (min-width:768px){ .price-grid{ grid-template-columns: repeat(2,1fr); } }
.price-card{
  position:relative;
  background: #fff; border:1px solid hsl(var(--border)); border-radius:24px;
  padding: 40px; text-align:center;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,.08), 0 8px 10px -6px rgba(0,0,0,.08);
  transition: transform .3s ease, box-shadow .3s ease;
}
.price-card:hover{ transform: translateY(-6px); }
.price-card.featured{ border: 2px solid hsla(42,75%,55%,.4); box-shadow: 0 24px 50px -24px hsla(42,75%,55%,.5); }
.price-tag{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  background: #fff; border: 1px solid hsla(42,75%,55%,.5); color:hsl(var(--accent));
  font-size:11px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
  padding:5px 16px; border-radius:999px; white-space:nowrap;
}
.price-icon{ font-size:30px; color: hsl(var(--primary)); margin-bottom:14px; }
.price-card h3{ font-size:21px; margin-bottom:4px; }
.price-sub{ color: hsl(var(--muted-foreground)); font-size:13.5px; margin-bottom:18px; }
.price-amount{ font-family:'Playfair Display',serif; font-size:40px; font-weight:700; }
.price-note{ font-size:12.5px; color: hsl(var(--muted-foreground)); margin-bottom:20px; }
.price-list{ list-style:none; text-align:left; display:flex; flex-direction:column; gap:10px; margin-bottom:26px; font-size:14px; }
.price-list li{ display:flex; gap:8px; align-items:center; color: hsl(var(--foreground)); }
.price-list li span.ic{ color: hsl(var(--primary)); }
.btn{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:24px 16px; border-radius:12px; border:none;
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:18px; cursor:pointer;
  text-decoration:none; box-sizing:border-box;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.btn:hover{ transform: scale(1.02); box-shadow: 0 20px 25px -5px rgba(0,0,0,.15), 0 8px 10px -6px rgba(0,0,0,.12); }
.btn-gold{ background: hsl(var(--accent)); color: hsl(var(--accent-foreground)); }
.btn-gold:hover{ background: hsl(var(--gold-light)); }
.btn-teal{ background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.btn-teal:hover{ background: hsl(var(--teal-light)); }

@keyframes ctaPulseSoft{
  0%{ transform:scale(1); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1), 0 0 0 0 rgba(0,0,0,.12); }
  50%{ transform:scale(1.015); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1), 0 0 0 8px rgba(0,0,0,0); }
  100%{ transform:scale(1); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1), 0 0 0 0 rgba(0,0,0,0); }
}
@keyframes ctaPulseStrong{
  0%{ transform:scale(1); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1), 0 0 0 0 hsl(var(--primary) / .35); }
  50%{ transform:scale(1.03); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1), 0 0 0 16px hsl(var(--primary) / 0); }
  100%{ transform:scale(1); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1), 0 0 0 0 hsl(var(--primary) / 0); }
}
.btn-gold{ animation: ctaPulseSoft 3.5s ease-in-out infinite; will-change: transform, box-shadow; }
.btn-teal{ animation: ctaPulseStrong 2.6s ease-in-out infinite; will-change: transform, box-shadow; }
.btn:hover{ animation-play-state: paused; }

/* ---------- FAQ ---------- */
.faq-bg{ background: hsl(var(--warm-bg)); }
.faq-list{ max-width: 720px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.faq-item{ background: hsl(var(--card)); border:1px solid hsl(var(--border)); border-radius:12px; overflow:hidden; }
.faq-q{
  display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding: 18px 22px; cursor:pointer; font-weight:600; font-size:15px;
}
.faq-q .chev{ transition: transform .3s ease; color: hsl(var(--muted-foreground)); flex-shrink:0; }
.faq-item.open .chev{ transform: rotate(180deg); }
.faq-a{ max-height:0; overflow:hidden; transition: max-height .3s ease; }
.faq-a p{ padding: 0 22px 20px; color: hsl(var(--muted-foreground)); font-size:14px; line-height:1.6; }
.faq-item.open .faq-a{ max-height: 220px; }

/* ---------- CTA ---------- */
.cta-section{
  background: linear-gradient(180deg, hsl(var(--background)) 0%, hsl(var(--teal-dark)) 100%);
  text-align:center;
  color: hsl(var(--foreground));
}
.cta-section h2{ font-size:30px; line-height:1.2; font-weight:700; margin-bottom:16px; }
@media (min-width:768px){ .cta-section h2{ font-size:36px; } }
@media (min-width:1024px){ .cta-section h2{ font-size:48px; line-height:1.15; } }
.cta-section p{ max-width:560px; margin:0 auto 34px; color: hsla(200,25%,12%,.65); }
.cta-book{
  position:relative;
  width:160px; margin:0 auto 28px;
  animation: float 5s ease-in-out infinite;
}
.cta-book img{
  width:100%; border-radius:6px;
  box-shadow: 0 30px 60px -18px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.08);
}
.cta-book-glow{
  position:absolute; inset:-24px; z-index:-1;
  background: radial-gradient(circle, hsla(42,75%,55%,.35), transparent 70%);
  filter: blur(16px);
  animation: pulse-glow 3s ease-in-out infinite;
}
.cta-buttons{ display:flex; flex-direction:column; gap:14px; justify-content:center; align-items:center; margin-bottom:26px; }
@media (min-width:640px){ .cta-buttons{ flex-direction:row; flex-wrap:wrap; gap:16px; } }
.cta-buttons .btn{ width:100%; max-width:420px; padding:18px 20px; font-size:18px; }
@media (min-width:640px){ .cta-buttons .btn{ width:auto; min-width:260px; padding:18px 32px; font-size:17px; } }
@media (min-width:1024px){ .cta-buttons .btn{ min-width:300px; font-size:18px; } }
.cta-trust{ display:flex; gap:22px; justify-content:center; font-size:13px; color:hsla(200,25%,12%,.55); flex-wrap:wrap; }

/* ---------- FOOTER ---------- */
footer{ background: hsl(var(--teal-dark)); color: hsla(40,30%,96%,.65); text-align:center; padding: 30px 24px; font-size:12.5px; }

.mute-btn{
  position:fixed; top:20px; right:20px; z-index:50;
  width:40px; height:40px; border-radius:50%;
  background: hsla(200,25%,12%,.35); backdrop-filter: blur(6px);
  border:1px solid hsla(40,30%,96%,.2);
  color:#fff; display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-size:15px;
}

/* ---------- EXIT-INTENT POPUP ---------- */
.exit-overlay{
  position:fixed; inset:0; z-index:100;
  background: hsla(200,25%,8%,.72);
  backdrop-filter: blur(4px);
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  opacity:0; pointer-events:none;
  transition: opacity .3s ease;
}
.exit-overlay.show{ opacity:1; pointer-events:auto; }
.exit-modal{
  position:relative;
  background: hsl(var(--card));
  border-radius:20px;
  max-width:420px; width:100%;
  padding:40px 32px 32px;
  text-align:center;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.5);
  transform: scale(.92) translateY(10px);
  transition: transform .35s cubic-bezier(.16,1,.3,1);
}
.exit-overlay.show .exit-modal{ transform: scale(1) translateY(0); }
.exit-close{
  position:absolute; top:14px; right:14px;
  width:32px; height:32px; border-radius:50%;
  border:none; background: hsl(var(--muted));
  color: hsl(var(--muted-foreground));
  font-size:16px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.exit-close:hover{ background: hsl(var(--border)); }
.exit-badge{
  display:inline-block; background: hsla(0,72%,51%,.12); color: hsl(0 72% 45%);
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 14px; border-radius:999px; margin-bottom:16px;
}
.exit-modal h3{ font-size:26px; font-weight:700; margin-bottom:10px; line-height:1.2; }
.exit-modal p.exit-copy{ color: hsl(var(--muted-foreground)); font-size:14.5px; line-height:1.55; margin-bottom:22px; }
.exit-price-row{ display:flex; align-items:baseline; justify-content:center; gap:10px; margin-bottom:6px; }
.exit-price-old{ font-size:18px; color: hsl(var(--muted-foreground)); text-decoration:line-through; }
.exit-price-new{ font-family:'Playfair Display',serif; font-size:44px; font-weight:700; color: hsl(var(--primary)); }
.exit-modal .exit-note{ font-size:12.5px; color: hsl(var(--muted-foreground)); margin-bottom:24px; }
.exit-cta{
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; padding:18px; border-radius:12px; border:none;
  background: hsl(var(--accent)); color: hsl(var(--accent-foreground));
  font-family:'DM Sans',sans-serif; font-weight:700; font-size:16px;
  text-decoration:none; cursor:pointer;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,.15);
  transition: transform .2s ease, background .2s ease;
}
.exit-cta:hover{ transform: scale(1.02); background: hsl(var(--gold-light)); }
.exit-decline{
  display:block; margin-top:16px; font-size:13px; color: hsl(var(--muted-foreground));
  background:none; border:none; text-decoration:underline; cursor:pointer;
}
@media (max-width:640px){
  .exit-overlay{ align-items:flex-end; padding:0; }
  .exit-modal{
    max-width:100%; width:100%;
    border-radius:24px 24px 0 0;
    padding:28px 20px calc(24px + env(safe-area-inset-bottom));
    transform: translateY(100%);
  }
  .exit-overlay.show .exit-modal{ transform: translateY(0); }
  .exit-modal h3{ font-size:22px; }
  .exit-price-new{ font-size:36px; }
  .exit-cta{ padding:20px; font-size:17px; }
}

@media (max-width: 767px){
  section{ padding:64px 0; }
}
@media (min-width:1024px){
  .hero-grid{ flex-direction:row; text-align:left; align-items:center; gap:80px; }
  .hero-grid > div:last-child{ flex:1; }
  .eyebrow.on-dark{ text-align:left; }
  .offer-row, .trust-row{ justify-content:flex-start; }
}
.cta-buttons, .cta-trust{ justify-content:center; }
@media (prefers-reduced-motion: reduce){
  *{ animation-duration: .001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}
