/* ===========================================================
   SodaSlim — Design System
   Concept: "The Fizz." A metabolism supplement sold as a daily
   pour-and-drink ritual. Visual language borrows from soda-
   fountain signage and citrus-crate labels: deep bottle-glass
   teal, a acid-lime fizz accent, a coral pour accent, warm
   cream paper. Bubbles rise as the ambient signature motion.
   =========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,700;0,9..144,900;1,9..144,600&family=Inter:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --cream: #FBF6EA;
  --paper: #FFFFFF;
  --ink: #12241F;
  --ink-soft: #3E5650;
  --teal: #0E3B36;
  --teal-deep: #092723;
  --fizz: #C7F23B;
  --fizz-deep: #9FCB1E;
  --coral: #FF6A4D;
  --coral-deep: #E24F32;
  --mint: #DEEFE4;
  --line: rgba(18,36,31,0.12);

  --display: 'Fraunces', serif;
  --body: 'Inter', sans-serif;
  --mono: 'IBM Plex Mono', monospace;

  --max: 1180px;
  --radius: 22px;
  --radius-sm: 12px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
.container{max-width:var(--max);margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{
  font-family:var(--display);
  color:var(--teal-deep);
  line-height:1.08;
  margin:0 0 .5em;
  font-weight:700;
}
h1{font-size:clamp(2.4rem, 5vw, 4.2rem); font-weight:900; letter-spacing:-.01em;}
h2{font-size:clamp(1.8rem, 3.4vw, 2.7rem); font-weight:900;}
h3{font-size:clamp(1.25rem, 2vw, 1.55rem);}
p{margin:0 0 1.1em;}
.lede{font-size:1.2rem; color:var(--ink-soft);}

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--teal);
  background:var(--mint); border:1px solid var(--line);
  padding:6px 14px; border-radius:999px;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--coral);}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  font-family:var(--body); font-weight:700; font-size:1rem;
  padding:16px 30px; border-radius:999px; border:2px solid transparent;
  cursor:pointer; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.btn-primary{
  background:var(--coral); color:#fff;
  box-shadow:0 10px 24px -8px rgba(226,79,50,.55);
}
.btn-primary:hover{transform:translateY(-2px); box-shadow:0 16px 30px -8px rgba(226,79,50,.6);}
.btn-secondary{
  background:transparent; color:var(--teal-deep); border-color:var(--teal-deep);
}
.btn-secondary:hover{background:var(--teal-deep); color:#fff;}
.btn-fizz{background:var(--fizz); color:var(--teal-deep); box-shadow:0 10px 24px -10px rgba(159,203,30,.7);}
.btn-fizz:hover{transform:translateY(-2px);}
.btn-block{width:100%;}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(251,246,234,.88); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 0;
}
.logo{
  font-family:var(--display); font-weight:900; font-size:1.4rem; color:var(--teal-deep);
  text-decoration:none; display:flex; align-items:center; gap:8px;
}
.logo .fizz-dot{width:9px;height:9px;border-radius:50%;background:var(--fizz); box-shadow:0 0 0 3px var(--mint);}
.nav-links{
  display:flex; gap:28px; list-style:none; margin:0; padding:0;
  font-weight:600; font-size:.95rem;
}
.nav-links a{text-decoration:none; color:var(--ink-soft); transition:color .15s;}
.nav-links a:hover, .nav-links a.active{color:var(--coral-deep);}
.nav-cta{display:flex; align-items:center; gap:18px;}
.nav-toggle{display:none; background:none; border:none; cursor:pointer;}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--teal-deep); margin:5px 0;}

@media (max-width:880px){
  .nav-links{
    position:fixed; inset:64px 16px auto 16px; background:var(--paper);
    flex-direction:column; padding:20px; border-radius:var(--radius-sm);
    box-shadow:0 20px 40px -12px rgba(0,0,0,.2);
    display:none; gap:16px; border:1px solid var(--line);
  }
  .nav-links.open{display:flex;}
  .nav-toggle{display:block;}
}

/* ---------- Hero / bubbles ---------- */
.hero{position:relative; overflow:hidden; padding:64px 0 40px;}
.bubbles{position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0;}
.bubble{
  position:absolute; bottom:-40px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(199,242,59,.85), rgba(199,242,59,.05));
  animation:rise linear infinite;
  opacity:.55;
}
@keyframes rise{
  0%{transform:translateY(0) scale(1); opacity:0;}
  10%{opacity:.6;}
  100%{transform:translateY(-620px) scale(1.15); opacity:0;}
}
@media (prefers-reduced-motion: reduce){
  .bubble{animation:none; display:none;}
  html{scroll-behavior:auto;}
}

.hero-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center;
}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr;}}

.hero-art{
  position:relative; background:var(--teal-deep); border-radius:var(--radius);
  padding:30px; display:flex; align-items:center; justify-content:center;
  min-height:380px;
}
.hero-art img{max-height:440px; width:auto; margin:0 auto; filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));}
.cap-badge{
  position:absolute; top:-18px; right:-14px; width:96px; height:96px; border-radius:50%;
  background:var(--fizz); color:var(--teal-deep); display:flex; align-items:center; justify-content:center;
  text-align:center; font-family:var(--mono); font-size:.68rem; font-weight:600; line-height:1.2;
  transform:rotate(9deg); box-shadow:0 12px 24px -8px rgba(0,0,0,.3); padding:6px;
}

.stat-row{display:flex; gap:28px; margin-top:28px; flex-wrap:wrap;}
.stat b{display:block; font-family:var(--display); font-size:1.8rem; color:var(--teal-deep);}
.stat span{font-size:.82rem; color:var(--ink-soft);}

/* ---------- Sections ---------- */
section{padding:64px 0;}
.section-tight{padding:40px 0;}
.section-teal{background:var(--teal-deep); color:#EFF7F1;}
.section-teal h2, .section-teal h3{color:#fff;}
.section-teal .lede{color:#B9CFC7;}
.section-mint{background:var(--mint);}

.divider-fizz{
  height:14px; width:100%;
  background:repeating-linear-gradient(90deg, var(--fizz) 0 10px, transparent 10px 20px);
  opacity:.6; border-radius:999px; margin:0 0 8px;
}

.section-head{max-width:640px; margin-bottom:40px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

/* ---------- Cards / grids ---------- */
.grid{display:grid; gap:24px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-2{grid-template-columns:repeat(2,1fr);}
@media (max-width:880px){.grid-3, .grid-2{grid-template-columns:1fr;}}

.card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:28px;
}
.card .num{
  font-family:var(--mono); color:var(--coral-deep); font-size:.8rem; font-weight:600;
  display:block; margin-bottom:10px;
}

.icon-tile{
  width:52px; height:52px; border-radius:14px; background:var(--mint);
  display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  font-size:1.4rem;
}

/* ---------- Pricing ---------- */
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; align-items:stretch;}
@media (max-width:920px){.pricing-grid{grid-template-columns:1fr; max-width:420px; margin:0 auto;}}
.price-card{
  background:var(--paper); border:2px solid var(--line); border-radius:var(--radius);
  padding:28px; display:flex; flex-direction:column; text-align:center; position:relative;
}
.price-card.popular{
  border-color:var(--fizz-deep); box-shadow:0 24px 48px -16px rgba(9,39,35,.25); transform:translateY(-10px);
}
.ribbon{
  position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  background:var(--coral); color:#fff; font-family:var(--mono); font-size:.7rem;
  letter-spacing:.08em; text-transform:uppercase; padding:6px 16px; border-radius:999px;
  white-space:nowrap;
}
.price-card img{max-width:210px; margin:10px auto 18px;}
.price-card .plan-name{font-family:var(--mono); text-transform:uppercase; letter-spacing:.1em; font-size:.78rem; color:var(--ink-soft);}
.price-big{font-family:var(--display); font-weight:900; font-size:2.6rem; color:var(--teal-deep); margin:6px 0 0;}
.price-per{color:var(--ink-soft); font-size:.85rem; margin-bottom:14px;}
.price-old{text-decoration:line-through; color:#9AA; font-size:.95rem;}
.price-card ul{list-style:none; margin:14px 0 20px; padding:0; text-align:left; font-size:.92rem; color:var(--ink-soft);}
.price-card li{padding:6px 0 6px 26px; position:relative;}
.price-card li:before{content:"✓"; position:absolute; left:0; color:var(--fizz-deep); font-weight:800;}

/* ---------- Testimonials ---------- */
.quote-card{
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm);
  padding:26px; display:flex; flex-direction:column; gap:12px;
}
.stars{color:var(--fizz-deep); letter-spacing:2px; font-size:1rem;}
.quote-name{font-family:var(--mono); font-size:.8rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em;}

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--line); padding:20px 0;}
.faq-q{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  cursor:pointer; font-family:var(--display); font-weight:700; font-size:1.08rem; color:var(--teal-deep);
}
.faq-q .plus{font-size:1.4rem; color:var(--coral); transition:transform .2s;}
.faq-item.open .plus{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-item.open .faq-a{padding-top:12px;}
.faq-a p{color:var(--ink-soft);}

/* ---------- Footer ---------- */
.site-footer{background:var(--teal-deep); color:#CFE3D9; padding:56px 0 28px; margin-top:40px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px;}
@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr;}}
.site-footer h4{color:#fff; font-size:.95rem; font-family:var(--body); font-weight:700; margin-bottom:14px;}
.site-footer ul{list-style:none; margin:0; padding:0;}
.site-footer li{margin-bottom:9px;}
.site-footer a{color:#B9CFC7; text-decoration:none; font-size:.92rem;}
.site-footer a:hover{color:var(--fizz);}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12); margin-top:36px; padding-top:22px;
  font-size:.8rem; color:#9BB6AC; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
}
.disclaimer-box{
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.12); border-radius:12px;
  padding:18px 20px; font-size:.8rem; color:#9BB6AC; margin-top:28px; line-height:1.6;
}

/* ---------- Content / legal pages ---------- */
.prose{max-width:760px; margin:0 auto;}
.prose h2{margin-top:1.6em;}
.prose h3{margin-top:1.3em; color:var(--teal);}
.prose ul, .prose ol{color:var(--ink-soft); padding-left:1.3em;}
.prose li{margin-bottom:.5em;}
.prose blockquote{
  border-left:4px solid var(--fizz-deep); margin:1.6em 0; padding:.2em 0 .2em 1.2em;
  font-family:var(--display); font-style:italic; font-size:1.15rem; color:var(--teal-deep);
}
.byline{font-family:var(--mono); font-size:.8rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px;}
.page-hero{padding:56px 0 20px;}
.page-hero .eyebrow{margin-bottom:18px;}

.breadcrumb{font-family:var(--mono); font-size:.78rem; color:var(--ink-soft); margin-bottom:14px;}
.breadcrumb a{color:var(--teal); text-decoration:none;}

.blog-card{display:flex; gap:20px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-sm); padding:22px; align-items:flex-start;}
.blog-card .tag{font-family:var(--mono); font-size:.7rem; text-transform:uppercase; color:var(--coral-deep); letter-spacing:.08em;}

.table-ing{width:100%; border-collapse:collapse; margin:1.4em 0;}
.table-ing th, .table-ing td{padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; font-size:.94rem;}
.table-ing th{font-family:var(--mono); text-transform:uppercase; font-size:.72rem; letter-spacing:.06em; color:var(--ink-soft);}

.sticky-cta{
  position:fixed; bottom:18px; left:50%; transform:translateX(-50%); z-index:90;
  background:var(--teal-deep); color:#fff; padding:12px 14px 12px 20px; border-radius:999px;
  display:flex; align-items:center; gap:14px; box-shadow:0 20px 40px -12px rgba(0,0,0,.4);
  font-size:.9rem;
}
@media (max-width:600px){.sticky-cta span{display:none;}}

.guarantee-strip{display:flex; align-items:center; gap:20px; background:var(--mint); border-radius:var(--radius-sm); padding:22px 26px;}
.guarantee-strip .seal{
  width:64px; height:64px; border-radius:50%; background:var(--fizz); flex:none;
  display:flex; align-items:center; justify-content:center; font-family:var(--display); font-weight:900; color:var(--teal-deep); font-size:.85rem; text-align:center;
}
