/* ============================================================
   US-VASORYN.COM — css/style.css
   Theme: Slate Teal  #1A6B72   Deep Char  #1C2B30
          Warm Amber  #E8870A   Soft Amber #F5A83A
          Cream       #FFFCF5   Pearl      #F5F0E8
          Teal Light  #E8F5F6   Teal Pale  #F0F9FA
   Fonts: DM Serif Display (headings) + Nunito (body)
   Design: ORGANIC WARM MEDICAL — large serif typography,
           curved wave dividers, amber accent pills,
           warm cream/teal card system, editorial spacing.
   Unique from: mindsaveusa (violet), slimsetus (purple/teal),
   mindsaave (indigo/mint), evoslimusa (rose/white),
   eevoslim (navy/coral/gold), vasorynusa (navy/crimson/blue)
   ============================================================ */

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

:root{
  --teal:    #1A6B72;
  --teal-dk: #124F55;
  --teal-md: #1F7D85;
  --teal-lt: #2A9EA8;
  --teal-xl: #3AB5C0;
  --teal-pal:#E8F5F6;
  --teal-xpl:#F0F9FA;
  --amber:   #E8870A;
  --amber-dk:#C4700A;
  --amber-lt:#F5A83A;
  --amber-xl:#FAC06A;
  --amber-pl:#FFF4E6;
  --char:    #1C2B30;
  --char-md: #2D3F45;
  --char-lt: #3D5058;
  --cream:   #FFFCF5;
  --pearl:   #F5F0E8;
  --pearl-dk:#EDE5D8;
  --white:   #FFFFFF;
  --text-dk: #1C2B30;
  --text-md: #2D4048;
  --text-lt: #5A7076;
  --text-xlt:#8AA0A6;
  --border:  #DDE8EA;
  --border-l:#EEF4F5;

  --fh:'DM Serif Display',Georgia,serif;
  --fb:'Nunito',system-ui,sans-serif;

  --sh-xs:0 1px 4px rgba(26,107,114,.06);
  --sh-sm:0 4px 16px rgba(26,107,114,.08);
  --sh-md:0 10px 34px rgba(28,43,48,.10),0 3px 10px rgba(0,0,0,.04);
  --sh-lg:0 20px 60px rgba(28,43,48,.13),0 6px 22px rgba(0,0,0,.06);
  --sh-t:0 8px 28px rgba(26,107,114,.28);
  --sh-a:0 8px 28px rgba(232,135,10,.30);

  --r-xs:4px; --r-sm:10px; --r-md:16px; --r-lg:24px;
  --r-xl:36px; --r-2xl:54px; --r-p:999px;
  --max:1160px; --pad:clamp(20px,5vw,60px);
}

html{scroll-behavior:smooth}
body{font-family:var(--fb);font-size:16px;color:var(--text-md);background:var(--cream);overflow-x:hidden;line-height:1.78}
h1,h2,h3,h4,h5{font-family:var(--fh);font-weight:400;line-height:1.16;color:var(--text-dk)}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
p{margin-bottom:1rem}p:last-child{margin-bottom:0}

/* ── UTILITY ─────────────────────── */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.chip{display:inline-flex;align-items:center;gap:7px;background:var(--teal-pal);color:var(--teal-dk);font-family:var(--fb);font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:5px 14px;border-radius:var(--r-p);margin-bottom:14px;border:1px solid rgba(26,107,114,.15)}
.chip::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--amber);flex-shrink:0}
.chip-dark{background:rgba(255,255,255,.10);color:rgba(255,255,255,.80);border-color:rgba(255,255,255,.12)}
.chip-dark::before{background:var(--amber-lt)}
.chip-amber{background:var(--amber-pl);color:var(--amber-dk);border-color:rgba(232,135,10,.16)}
.chip-amber::before{background:var(--teal)}
.chip-cream{background:rgba(255,252,245,.15);color:var(--pearl);border-color:rgba(255,252,245,.20)}
.chip-cream::before{background:var(--amber-xl)}
.s-center{text-align:center}.s-center .chip{margin:0 auto 14px}
.s-h2{font-size:clamp(2.0rem,3.4vw,2.9rem);margin-bottom:14px}
.s-h2-lt{font-size:clamp(2.0rem,3.4vw,2.9rem);margin-bottom:14px;color:var(--white)}
.s-sub{font-size:.97rem;color:var(--text-lt);max-width:620px;line-height:1.88}
.s-sub-lt{font-size:.97rem;color:rgba(255,255,255,.56);max-width:620px;line-height:1.88}
.s-sub-c{margin:0 auto 48px;text-align:center}
.ext-link{color:var(--teal);font-weight:700;border-bottom:1px solid rgba(26,107,114,.22);transition:border-color .2s}
.ext-link:hover{border-color:var(--teal)}
.hl-t{color:var(--teal)}
.hl-a{color:var(--amber)}
.hl-c{color:var(--char)}

/* decorative accent bar */
.accent-bar{width:56px;height:4px;background:linear-gradient(90deg,var(--teal),var(--amber));border-radius:var(--r-p);margin-bottom:18px}
.accent-bar-c{margin:0 auto 18px}

/* ── BUTTONS ─────────────────────── */
.btn-teal{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,var(--teal-md),var(--teal-dk));color:var(--white);font-family:var(--fb);font-weight:800;font-size:.92rem;padding:15px 36px;border-radius:var(--r-p);text-decoration:none;box-shadow:var(--sh-t);transition:transform .22s,filter .22s,box-shadow .22s;letter-spacing:.01em}
.btn-teal:hover{transform:translateY(-2px);filter:brightness(1.10);box-shadow:0 16px 44px rgba(26,107,114,.40)}
.btn-amber{display:inline-flex;align-items:center;gap:9px;background:linear-gradient(135deg,var(--amber-lt),var(--amber-dk));color:var(--white);font-family:var(--fb);font-weight:800;font-size:.92rem;padding:15px 36px;border-radius:var(--r-p);text-decoration:none;box-shadow:var(--sh-a);transition:transform .22s,filter .22s}
.btn-amber:hover{transform:translateY(-2px);filter:brightness(1.10)}
.btn-char{display:inline-flex;align-items:center;gap:9px;background:var(--char);color:var(--white);font-family:var(--fb);font-weight:800;font-size:.92rem;padding:15px 36px;border-radius:var(--r-p);text-decoration:none;box-shadow:var(--sh-md);transition:transform .22s,filter .22s}
.btn-char:hover{transform:translateY(-2px);filter:brightness(1.20)}
.btn-white{display:inline-flex;align-items:center;gap:9px;background:var(--white);color:var(--char);font-family:var(--fb);font-weight:800;font-size:.92rem;padding:15px 36px;border-radius:var(--r-p);text-decoration:none;box-shadow:0 4px 18px rgba(255,255,255,.20);border:1.5px solid rgba(255,255,255,.36);transition:transform .2s}
.btn-white:hover{transform:translateY(-2px)}
.btn-outline-t{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--teal);font-family:var(--fb);font-weight:700;font-size:.88rem;padding:13px 28px;border-radius:var(--r-p);border:2px solid rgba(26,107,114,.26);text-decoration:none;transition:all .2s}
.btn-outline-t:hover{border-color:var(--teal);background:var(--teal-pal)}
.btn-outline-lt{display:inline-flex;align-items:center;gap:8px;background:transparent;color:rgba(255,252,245,.72);font-family:var(--fb);font-weight:700;font-size:.88rem;padding:13px 28px;border-radius:var(--r-p);border:2px solid rgba(255,252,245,.22);text-decoration:none;transition:all .2s}
.btn-outline-lt:hover{border-color:rgba(255,252,245,.50);color:var(--cream)}
.btn-lg{font-size:1.0rem;padding:17px 44px}

/* ── NAV ─────────────────────── */
#site-nav{position:sticky;top:0;z-index:1000;background:rgba(28,43,48,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06);padding:0 var(--pad);height:66px;transition:box-shadow .3s}
.nav-inner{max-width:var(--max);margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-mark{width:30px;height:30px;background:linear-gradient(135deg,var(--teal),var(--teal-dk));border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-mark svg{width:16px;height:16px;fill:none;stroke:white;stroke-width:2.5;stroke-linecap:round}
.logo-name{font-family:var(--fh);font-size:1.32rem;color:var(--white);font-weight:400;letter-spacing:.02em}
.logo-name em{color:var(--amber-lt);font-style:normal}
.nav-links{display:flex;align-items:center;gap:2px;list-style:none}
.nav-links a{color:rgba(255,255,255,.50);text-decoration:none;font-family:var(--fb);font-size:.82rem;font-weight:700;padding:7px 13px;border-radius:var(--r-p);transition:all .2s;letter-spacing:.02em}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--white);background:rgba(255,255,255,.08)}
.nav-cta{background:linear-gradient(135deg,var(--teal-md),var(--teal-dk))!important;color:var(--white)!important;font-weight:800!important;box-shadow:0 3px 14px rgba(26,107,114,.32)!important}
.nav-cta:hover{filter:brightness(1.12);color:var(--white)!important}
.nav-ham{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.nav-ham span{width:22px;height:2px;background:rgba(255,255,255,.62);display:block;border-radius:2px;transition:all .3s}
.mob-panel{position:fixed;top:0;right:-110%;width:min(290px,90vw);height:100%;background:var(--char-md);z-index:2000;padding:28px 22px;display:flex;flex-direction:column;gap:10px;transition:right .32s cubic-bezier(.4,0,.2,1);box-shadow:-6px 0 40px rgba(0,0,0,.28);border-left:1px solid rgba(255,255,255,.06)}
.mob-panel.open{right:0}
.mob-x{background:none;border:none;color:rgba(255,255,255,.36);font-size:1.3rem;cursor:pointer;align-self:flex-end;padding:4px;margin-bottom:8px}
.mob-panel a{color:rgba(255,255,255,.62);text-decoration:none;font-family:var(--fb);font-size:.96rem;font-weight:700;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.06);display:block;transition:color .2s}
.mob-panel a:hover{color:var(--teal-xl)}
.mob-cta{background:linear-gradient(135deg,var(--teal-md),var(--teal-dk))!important;color:var(--white)!important;text-align:center;padding:15px!important;border-radius:var(--r-p)!important;font-weight:800!important;margin-top:12px;border:none!important}
.mob-mask{position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:1999;display:none}
.mob-mask.show{display:block}

/* ── REVEAL ─────────────────────── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .54s ease,transform .54s ease}
.reveal.visible{opacity:1;transform:none}

/* ── WAVE DIVIDER ─────────────────────── */
.wave-top{overflow:hidden;line-height:0}
.wave-top svg{display:block;width:100%;height:60px}
.wave-bot{overflow:hidden;line-height:0;transform:rotate(180deg)}
.wave-bot svg{display:block;width:100%;height:60px}

/* ── SECTIONS ─────────────────────── */
.s-cream{background:var(--cream);padding:92px 0}
.s-pearl{background:var(--pearl);padding:92px 0}
.s-white{background:var(--white);padding:92px 0}
.s-teal{background:var(--char);padding:92px 0;position:relative;overflow:hidden}
.s-teal::before{content:'';position:absolute;top:-100px;right:-80px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(26,107,114,.16) 0%,transparent 70%);pointer-events:none}
.s-teal::after{content:'';position:absolute;bottom:-80px;left:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(232,135,10,.08) 0%,transparent 70%);pointer-events:none}
.s-teal-soft{background:linear-gradient(135deg,var(--cream) 0%,var(--teal-xpl) 100%);padding:92px 0}
.s-amber-soft{background:linear-gradient(135deg,var(--cream) 0%,var(--amber-pl) 100%);padding:92px 0}

/* ── HERO — EDITORIAL LARGE SERIF ─────────────────────── */
/* Left: large serif type on cream + product image right floating card */
/* ═══════════════════════════════════════════
   HERO  —  clean 2-column grid
   Only 2 direct grid children: .hero-left + .hero-right
   .hero-bg wrapper is position:absolute so it is
   NOT a grid item and cannot break the layout.
   ═══════════════════════════════════════════ */

.hero {
  background: var(--char);
  position: relative;          /* anchor for .hero-bg */
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;    /* 50/50 left | right card */
  min-height: 100vh;
}

/* ── decorative background: ONE wrapper, fully absolute ── */
.hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.hero-bg-orb1 {
  position: absolute;
  top: -120px; left: -100px;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(26,107,114,.16) 0%, transparent 70%);
}
.hero-bg-orb2 {
  position: absolute;
  bottom: -80px; right: 380px;
  width: 360px; height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(232,135,10,.08) 0%, transparent 70%);
}
.hero-bg-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* ── LEFT column ── */
.hero-left {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: calc(66px + 72px) 52px 72px clamp(24px, calc((100vw - 1160px)/2 + 52px), 120px);
}

.hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 22px;
  background: rgba(26,107,114,.20);
  border: 1px solid rgba(26,107,114,.32);
  border-radius: var(--r-p);
  padding: 6px 16px;
  width: fit-content;
}
.hero-k-pulse {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--amber-lt);
  flex-shrink: 0;
  animation: pulse-a 2.2s infinite;
}
@keyframes pulse-a {
  0%,100% { box-shadow: 0 0 0 0 rgba(232,135,10,.6); }
  70%      { box-shadow: 0 0 0 8px rgba(232,135,10,0); }
}
.hero-k-text {
  font-family: var(--fb);
  font-size: .63rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: rgba(255,255,255,.46);
}

.hero-h1 {
  font-family: var(--fh);
  font-size: clamp(2.4rem, 4vw, 3.8rem);
  color: var(--white);
  font-weight: 400;
  line-height: 1.1;
  margin-bottom: 22px;
  letter-spacing: -.01em;
}
.hero-h1 .hl-t { color: var(--teal-xl); }
.hero-h1 .hl-a { color: var(--amber-xl); }

.hero-lead {
  font-size: 1.0rem;
  color: rgba(255,255,255,.56);
  line-height: 1.86;
  margin-bottom: 28px;
  max-width: 500px;
}

.hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.hbadge {
  display: flex;
  align-items: center;
  gap: 7px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: var(--r-sm);
  padding: 8px 14px;
  font-size: .79rem;
  color: rgba(255,255,255,.66);
  font-family: var(--fb);
  font-weight: 600;
}
.hbadge-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--teal-xl);
  flex-shrink: 0;
}
.hbadge-dot-a { background: var(--amber-lt); }

.hero-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 36px;
}

.hero-counters {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 1px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--r-xl);
  overflow: hidden;
  max-width: 500px;
}
.hcount {
  background: rgba(28,43,48,.65);
  text-align: center;
  padding: 18px 8px;
}
.hcount-n {
  font-family: var(--fh);
  font-size: 1.5rem;
  color: var(--amber-lt);
  display: block;
  line-height: 1;
}
.hcount-l {
  font-size: .60rem;
  color: rgba(255,255,255,.30);
  display: block;
  margin-top: 5px;
  font-family: var(--fb);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ── RIGHT column ── */
.hero-right {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(66px + 48px) 48px 48px 48px;
  background: rgba(255,255,255,.03);
  border-left: 1px solid rgba(255,255,255,.06);
}

/* Product card */
.hero-panel {
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 32px;
  padding: 48px 32px 36px;
  text-align: center;
  position: relative;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.hero-panel-crown {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, var(--amber-lt), var(--amber-dk));
  color: var(--white);
  font-family: var(--fb);
  font-size: .60rem;
  font-weight: 800;
  letter-spacing: .10em;
  text-transform: uppercase;
  padding: 5px 18px;
  border-radius: 999px;
  white-space: nowrap;
  box-shadow: var(--sh-a);
}

/* Product image — clean, no width:200 inline attr fighting CSS */
.hero-prod-link {
  display: block;
  width: 180px;
  margin: 0 auto 20px;
}
.hero-prod-img {
  width: 180px;
  height: auto;
  display: block;
  animation: floatY 5.5s ease-in-out infinite;
  filter: drop-shadow(0 14px 28px rgba(26,107,114,.30));
}
@keyframes floatY {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-11px); }
}

.hero-prod-name {
  font-family: var(--fh);
  font-size: 1.28rem;
  color: var(--white);
  margin-bottom: 4px;
}
.hero-prod-name em { color: var(--teal-xl); font-style: normal; }

.hero-prod-sub {
  font-size: .72rem;
  color: rgba(255,255,255,.38);
  margin-bottom: 16px;
}

.hero-tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: center;
  margin-bottom: 16px;
}
.htag {
  font-size: .64rem;
  font-weight: 800;
  color: var(--char);
  background: var(--amber-xl);
  padding: 4px 13px;
  border-radius: 999px;
  font-family: var(--fb);
}
.htag-t { background: var(--teal-xl); color: #fff; }

.hero-stars {
  color: #F4C430;
  font-size: 1.05rem;
  letter-spacing: 2px;
  margin-bottom: 4px;
}
.hero-rate {
  font-size: .70rem;
  color: rgba(255,255,255,.36);
}

.hero-panel-feats {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.hfeat {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .80rem;
  color: rgba(255,255,255,.62);
  font-family: var(--fb);
  text-align: left;
  line-height: 1.38;
}
.hfeat-icon {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(26,107,114,.22);
  border: 1px solid rgba(26,107,114,.36);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .58rem;
  color: var(--teal-xl);
  flex-shrink: 0;
}

/* ── TRUST BAR ─────────────────────── */
.trust-bar{background:var(--pearl);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0}
.tb-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px}
.tb-item{display:flex;align-items:center;gap:7px;font-size:.76rem;font-weight:700;color:var(--text-md);font-family:var(--fb)}
.tb-icon{font-size:.90rem}
.tb-sep{width:1px;height:16px;background:var(--border)}

/* ── TWO COL SPLIT ─────────────────────── */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.col-img{position:relative}
.col-img a{display:block;width:100%;max-width:520px}
.col-img img{border-radius:var(--r-xl);width:100%;box-shadow:var(--sh-lg)}
.col-float{position:absolute;bottom:-14px;right:-10px;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 18px;box-shadow:var(--sh-md);text-align:center}
.cf-n{font-family:var(--fh);font-size:1.5rem;color:var(--teal);display:block;line-height:1}
.cf-l{font-size:.68rem;color:var(--text-lt);display:block;margin-top:3px;font-family:var(--fb);font-weight:700}
.col-text p{color:var(--text-md);font-size:.96rem;line-height:1.88;margin-bottom:14px}
.tpills{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 28px}
.tpill{font-size:.74rem;font-weight:800;color:var(--char);background:var(--pearl);padding:5px 14px;border-radius:var(--r-p);font-family:var(--fb);border:1px solid var(--border)}

/* ── INGREDIENT PREVIEW CARDS ─────────────────────── */
.ing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:44px}
.ing-c{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:22px 16px;transition:box-shadow .25s,transform .25s;position:relative;overflow:hidden}
.ing-c::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 var(--r-xl) var(--r-xl)}
.ing-c:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.ing-c-t::after{background:linear-gradient(90deg,var(--teal),var(--teal-lt))}
.ing-c-a::after{background:linear-gradient(90deg,var(--amber),var(--amber-lt))}
.ing-icon{width:42px;height:42px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:12px}
.ing-icon-t{background:var(--teal-pal)}
.ing-icon-a{background:var(--amber-pl)}
.ing-num{font-size:.60rem;font-weight:800;color:var(--text-xlt);text-transform:uppercase;letter-spacing:.10em;font-family:var(--fb);margin-bottom:4px}
.ing-name{font-family:var(--fh);font-size:.92rem;color:var(--text-dk);margin-bottom:5px;line-height:1.3}
.ing-role{display:inline-block;font-size:.60rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:var(--r-p);margin-bottom:8px;font-family:var(--fb)}
.ing-role-t{color:var(--teal-dk);background:var(--teal-pal)}
.ing-role-a{color:var(--amber-dk);background:var(--amber-pl)}
.ing-desc{font-size:.82rem;color:var(--text-lt);line-height:1.74;font-weight:400}
.ing-src{font-size:.70rem;color:var(--text-xlt);margin-top:8px;padding-top:7px;border-top:1px solid var(--border-l)}
.ing-src a{color:var(--teal);font-weight:700}

/* ── FULL INGREDIENT ROW ─────────────────────── */
.ing-rows{display:flex;flex-direction:column;gap:22px;margin-top:44px}
.irf{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-xs);transition:box-shadow .25s}
.irf:hover{box-shadow:var(--sh-md)}
.irf-inner{display:grid;grid-template-columns:200px 1fr}
.irf-left{background:var(--pearl);padding:28px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-right:1px solid rgba(26,107,114,.09)}
.irf-icon{font-size:2.4rem;margin-bottom:10px}
.irf-num{font-size:.60rem;font-weight:800;color:var(--text-xlt);text-transform:uppercase;letter-spacing:.10em;font-family:var(--fb);margin-bottom:5px}
.irf-name{font-family:var(--fh);font-size:.96rem;color:var(--text-dk);margin-bottom:4px;line-height:1.3}
.irf-alias{font-size:.68rem;color:var(--text-lt);font-style:italic;margin-bottom:11px;font-family:var(--fb)}
.irf-badge{background:linear-gradient(135deg,var(--teal-md),var(--teal-dk));color:var(--white);font-size:.60rem;font-weight:800;padding:4px 12px;border-radius:var(--r-p);font-family:var(--fb);letter-spacing:.04em}
.irf-badge-a{background:linear-gradient(135deg,var(--amber-lt),var(--amber-dk))}
.irf-badge-c{background:var(--char);color:white}
.irf-right{padding:28px 32px}
.irf-intro{font-size:1.02rem;color:var(--char);font-weight:600;margin-bottom:10px;line-height:1.72;font-family:var(--fb)}
.irf-body{font-size:.90rem;color:var(--text-md);line-height:1.86;margin-bottom:10px}
.irf-why{background:var(--teal-xpl);border-left:3px solid var(--teal);padding:12px 16px;border-radius:0 9px 9px 0;margin:12px 0}
.irf-why strong{color:var(--teal-dk);font-size:.82rem}
.irf-why p{font-size:.82rem;color:var(--text-md);margin:4px 0 0;line-height:1.72}
.irf-refs{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border-l)}
.irf-ref{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--teal-dk);font-weight:800;background:var(--teal-pal);padding:5px 12px;border-radius:var(--r-p);text-decoration:none;transition:background .2s;border:1px solid rgba(26,107,114,.14)}
.irf-ref:hover{background:var(--border)}
@media(max-width:760px){.irf-inner{grid-template-columns:1fr}.irf-left{border-right:none;border-bottom:1px solid rgba(26,107,114,.09);padding:20px}.irf-right{padding:20px}}

/* ── BENEFIT GRID ─────────────────────── */
.ben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.ben-c{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:30px 24px;transition:box-shadow .25s,transform .25s;border-left:4px solid transparent}
.ben-c:hover{box-shadow:var(--sh-md);transform:translateY(-3px)}
.ben-c-t{border-left-color:var(--teal)}
.ben-c-a{border-left-color:var(--amber)}
.ben-c-c{border-left-color:var(--char-lt)}
.ben-icon{width:50px;height:50px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:1.55rem;margin-bottom:14px}
.ben-icon-t{background:var(--teal-pal)}
.ben-icon-a{background:var(--amber-pl)}
.ben-icon-c{background:var(--pearl)}
.ben-c h3{font-family:var(--fh);font-size:1.05rem;color:var(--text-dk);margin-bottom:8px}
.ben-c p{font-size:.84rem;color:var(--text-lt);line-height:1.76}

/* ── STEPS ─────────────────────── */
.steps-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:44px;position:relative}
.steps-row::before{content:'';position:absolute;top:34px;left:calc(16.66%+14px);right:calc(16.66%+14px);height:2px;background:linear-gradient(90deg,var(--teal-pal),var(--amber-pl));z-index:0}
.step-c{text-align:center;position:relative;z-index:1}
.step-num{width:68px;height:68px;border-radius:50%;background:linear-gradient(135deg,var(--teal-md),var(--teal-dk));color:var(--white);font-family:var(--fh);font-size:1.36rem;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:var(--sh-t)}
.step-c h3{font-family:var(--fh);font-size:1.05rem;color:var(--text-dk);margin-bottom:8px}
.step-c p{font-size:.85rem;color:var(--text-lt);line-height:1.74}

/* ── REVIEWS ─────────────────────── */
.rv-summary{display:grid;grid-template-columns:210px 1fr;gap:28px;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px;box-shadow:var(--sh-sm);margin-bottom:32px}
.rv-big-num{font-family:var(--fh);font-size:4.4rem;color:var(--teal);line-height:1}
.rv-big-stars{color:#F4C430;font-size:1.2rem;letter-spacing:2px;margin-bottom:4px}
.rv-big-count{font-size:.74rem;color:var(--text-lt);font-family:var(--fb)}
.star-bar-wrap{display:flex;flex-direction:column;gap:8px}
.star-bar-row{display:flex;align-items:center;gap:10px}
.sbar-label{font-size:.74rem;color:var(--text-dk);font-weight:800;min-width:34px;text-align:right;font-family:var(--fb)}
.sbar-track{flex:1;height:7px;background:var(--pearl);border-radius:var(--r-p);overflow:hidden}
.sbar-fill{height:100%;border-radius:var(--r-p);background:linear-gradient(90deg,var(--teal-lt),var(--amber))}
.sbar-pct{font-size:.70rem;color:var(--text-lt);min-width:30px}
.rv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.rv-c{background:var(--white);border:1px solid var(--border);border-radius:var(--r-xl);padding:28px 24px;position:relative;transition:box-shadow .25s}
.rv-c:hover{box-shadow:var(--sh-md)}
.rv-c-pearl{background:var(--pearl);border-color:var(--pearl-dk)}
.rv-qm{position:absolute;top:14px;right:16px;font-size:3rem;color:rgba(26,107,114,.06);font-family:Georgia,serif;line-height:1;pointer-events:none}
.rv-stars{color:#F4C430;letter-spacing:2px;margin-bottom:8px;font-size:.90rem}
.rv-topic{display:inline-block;font-size:.62rem;font-weight:800;color:var(--teal-dk);background:var(--teal-pal);padding:3px 10px;border-radius:var(--r-p);margin-bottom:8px;font-family:var(--fb);letter-spacing:.04em;text-transform:uppercase;border:1px solid rgba(26,107,114,.14)}
.rv-text{font-size:.88rem;color:var(--text-md);line-height:1.86;margin-bottom:14px;font-style:italic}
.rv-person{display:flex;align-items:center;gap:11px}
.rv-av{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid var(--teal-pal);flex-shrink:0;background:var(--pearl)}
.rv-name{font-family:var(--fh);font-size:.94rem;color:var(--char)}
.rv-role{font-size:.70rem;color:var(--text-lt);margin-top:2px;font-family:var(--fb)}
.rv-badge{display:inline-block;font-size:.60rem;font-weight:800;color:var(--teal-dk);background:var(--teal-pal);padding:2px 9px;border-radius:var(--r-p);margin-top:4px;font-family:var(--fb);border:1px solid rgba(26,107,114,.14)}

/* ── PRICING ─────────────────────── */
.price-img-wrap{display:flex;flex-direction:column;align-items:center;margin-top:40px}
.price-img-wrap a{display:block;width:100%;max-width:820px;margin:0 auto}
.price-img-wrap img{display:block;width:100%;height:auto;border-radius:var(--r-xl);box-shadow:var(--sh-lg)}

/* ── GUARANTEE ─────────────────────── */
.guar-layout{display:grid;grid-template-columns:180px 1fr;gap:44px;align-items:center}
.guar-img{max-width:160px;margin:0 auto;display:block}
.guar-pts{display:flex;flex-direction:column;gap:9px;margin:16px 0 26px}
.gp{display:flex;align-items:center;gap:10px;font-size:.88rem;color:rgba(255,255,255,.72);font-family:var(--fb)}
.gp-ok{width:19px;height:19px;border-radius:50%;background:rgba(26,107,114,.20);border:1px solid rgba(26,107,114,.36);display:flex;align-items:center;justify-content:center;font-size:.58rem;color:var(--teal-xl);flex-shrink:0}

/* ── FAQ ─────────────────────── */
.faq-list{max-width:760px;margin:44px auto 0;display:flex;flex-direction:column;gap:10px}
.faq-item{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:box-shadow .2s}
.faq-item.open{box-shadow:var(--sh-sm);border-color:rgba(26,107,114,.22)}
.faq-q{width:100%;background:none;border:none;text-align:left;padding:17px 20px;font-family:var(--fb);font-size:.96rem;font-weight:700;color:var(--char);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;transition:color .2s}
.faq-q:hover,.faq-item.open .faq-q{color:var(--teal)}
.fq-icon{width:24px;height:24px;border-radius:50%;background:var(--teal-pal);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.80rem;color:var(--teal);transition:transform .3s,background .2s}
.faq-item.open .fq-icon{transform:rotate(45deg);background:var(--teal);color:var(--white);border-color:var(--teal)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item.open .faq-body{max-height:420px}
.faq-ans{padding:0 20px 18px;font-size:.88rem;color:var(--text-md);line-height:1.86}
.faq-ans a{color:var(--teal);font-weight:700;border-bottom:1px solid rgba(26,107,114,.22)}

/* ── REF BOX ─────────────────────── */
.ref-box{background:var(--pearl);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px 26px;margin-top:32px}
.ref-box h4{font-family:var(--fb);font-size:.88rem;color:var(--char);margin-bottom:12px;font-weight:800}
.ref-list{list-style:none;display:flex;flex-direction:column;gap:7px}
.ref-list li{font-size:.74rem;color:var(--text-lt);padding-left:14px;position:relative;line-height:1.60}
.ref-list li::before{content:'↗';position:absolute;left:0;color:var(--teal);font-size:.68rem}
.ref-list a{color:var(--char);font-weight:700;border-bottom:1px solid rgba(28,43,48,.14)}

/* ── BREADCRUMB ─────────────────────── */
.breadcrumb{background:var(--pearl);border-bottom:1px solid var(--border);padding:10px 0}
.bc-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bc-inner a{font-size:.74rem;color:var(--text-lt);transition:color .2s;font-family:var(--fb)}
.bc-inner a:hover{color:var(--teal)}
.bc-sep{color:var(--text-xlt);font-size:.72rem}
.bc-current{font-size:.74rem;color:var(--amber-dk);font-weight:800;font-family:var(--fb)}

/* ── PAGE HERO ─────────────────────── */
.page-hero{background:var(--char);padding:80px 0 64px;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 80% 50%,rgba(26,107,114,.14) 0%,transparent 70%);pointer-events:none}
.page-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 40% 60% at 20% 80%,rgba(232,135,10,.07) 0%,transparent 70%);pointer-events:none}
.page-hero-inner{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.page-hero h1{font-family:var(--fh);font-size:clamp(2.0rem,4vw,3.0rem);color:var(--white);margin-bottom:14px}
.page-hero p{color:rgba(255,252,245,.55);font-size:1.0rem;max-width:600px;line-height:1.84;font-family:var(--fb)}

/* ── FINAL CTA ─────────────────────── */
.final-sect{background:var(--char);padding:92px 0;position:relative;overflow:hidden}
.final-sect::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 60% 50%,rgba(26,107,114,.14) 0%,transparent 70%);pointer-events:none}
.final-sect::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 40% 40% at 20% 70%,rgba(232,135,10,.07) 0%,transparent 70%);pointer-events:none}
.final-inner{position:relative;z-index:1;text-align:center;max-width:660px;margin:0 auto;padding:0 var(--pad)}
.final-h2{font-family:var(--fh);font-size:clamp(2.0rem,4vw,2.9rem);color:var(--white);margin-bottom:14px}
.final-sub{color:rgba(255,252,245,.48);margin-bottom:34px;font-size:.96rem;font-family:var(--fb)}
.final-trust{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin-top:24px}
.ft-item{font-size:.74rem;color:rgba(255,255,255,.32);display:flex;align-items:center;gap:5px;font-family:var(--fb)}

/* ── FOOTER ─────────────────────── */
footer{background:var(--char)}
.foot-top{padding:56px 0 40px}
.foot-grid{max-width:var(--max);margin:0 auto;padding:0 var(--pad);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:34px}
.foot-logo{display:flex;align-items:center;gap:9px;margin-bottom:14px;text-decoration:none}
.fl-mark{width:26px;height:26px;background:linear-gradient(135deg,var(--teal-md),var(--teal-dk));border-radius:7px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fl-mark svg{width:13px;height:13px;fill:none;stroke:white;stroke-width:2.5;stroke-linecap:round}
.fl-name{font-family:var(--fh);font-size:1.22rem;color:var(--white)}
.fl-name em{color:var(--amber-lt);font-style:normal}
.fg-brand p{font-size:.78rem;color:rgba(255,255,255,.30);line-height:1.74;margin-bottom:14px}
.fg-chips{display:flex;flex-wrap:wrap;gap:6px}
.fg-chip{font-size:.64rem;color:rgba(255,255,255,.28);background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);padding:3px 10px;border-radius:var(--r-p);font-family:var(--fb);font-weight:700}
.fg-col h5{font-family:var(--fb);font-size:.72rem;font-weight:800;color:rgba(255,255,255,.74);letter-spacing:.09em;text-transform:uppercase;margin-bottom:12px}
.fg-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.fg-col a{font-size:.78rem;color:rgba(255,255,255,.30);transition:color .2s}
.fg-col a:hover{color:var(--teal-xl)}
.fg-cta{display:inline-block;margin-top:14px;background:linear-gradient(135deg,var(--teal-md),var(--teal-dk));color:var(--white);font-family:var(--fb);font-size:.76rem;font-weight:800;padding:9px 20px;border-radius:var(--r-p);transition:filter .2s;box-shadow:0 3px 12px rgba(26,107,114,.28)}
.fg-cta:hover{filter:brightness(1.12)}
.foot-legal{border-top:1px solid rgba(255,255,255,.05);padding:24px 0}
.foot-legal-inner{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.foot-legal p{font-size:.70rem;color:rgba(255,255,255,.20);line-height:1.74;margin-bottom:6px}
.foot-copy{font-size:.68rem;color:rgba(255,255,255,.16);margin-top:10px}
.foot-copy a{color:rgba(255,255,255,.26)}

/* ── RESPONSIVE ─────────────────────── */

/* Wide tablet: keep 50/50, tighten padding */
@media(max-width:1100px) {
  .hero { grid-template-columns: 1fr 1fr; }
  .hero-left { padding-left: 40px; padding-right: 36px; }
  .hero-right { padding: calc(66px + 40px) 24px 40px 20px; }
}

/* Tablet portrait: single column, hide right card */
@media(max-width:900px) {
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .hero-left {
    padding: calc(66px + 60px) var(--pad) 64px;
  }
  .hero-right { display: none; }

  .two-col        { grid-template-columns: 1fr; gap: 36px; }
  .ben-grid       { grid-template-columns: repeat(2,1fr); }
  .steps-row      { grid-template-columns: 1fr; gap: 22px; }
  .steps-row::before { display: none; }
  .rv-grid        { grid-template-columns: 1fr; }
  .rv-summary     { grid-template-columns: 1fr; }
  .guar-layout    { grid-template-columns: 1fr; text-align: center; gap: 24px; }
  .foot-grid      { grid-template-columns: 1fr 1fr; gap: 24px; }
  .ing-grid       { grid-template-columns: repeat(2,1fr); }
}

/* Mobile */
@media(max-width:640px) {
  .s-cream,.s-pearl,.s-white,.s-teal,.s-teal-soft,.s-amber-soft { padding: 62px 0; }
  .ing-grid       { grid-template-columns: 1fr; }
  .ben-grid       { grid-template-columns: 1fr; }
  .nav-links      { display: none; }
  .nav-ham        { display: flex; }
  .tb-inner       { gap: 14px; }
  .tb-sep         { display: none; }
  .foot-grid      { grid-template-columns: 1fr; }
  .hero-counters  { grid-template-columns: repeat(2,1fr); }
  .hero-left      { padding: calc(66px + 48px) var(--pad) 54px; }
}