/* ============================================================
   THE HYDRO DRIP BAR — GLUTA HUB
   Brand Colors: Navy #1a3a8a · Periwinkle #7b8fe8 · Cyan #29b6d6 · White
   Fonts: Montserrat (display/headings) · Inter (body)
   ============================================================ */

/* ── TOKENS ─────────────────────────────────────────────── */
:root, [data-theme='light'] {
  --navy:        #1a3a8a;
  --navy-dark:   #0f2460;
  --navy-light:  #2a50b0;
  --periwinkle:  #7b8fe8;
  --periwinkle-bg: #e8ecf8;
  --sky:         #29b6d6;
  --sky-light:   #e0f5fb;
  --sky-mid:     #b3e8f5;

  --color-bg:           #f4f6fd;
  --color-surface:      #ffffff;
  --color-surface-2:    #fafbff;
  --color-surface-off:  #eef0fa;
  --color-border:       #d0d6f0;
  --color-divider:      #dce0f4;
  --color-text:         #0e1b3d;
  --color-text-muted:   #1a2744;
  --color-text-faint:   #6b7a9f;
  --color-text-inv:     #ffffff;

  --color-primary:      var(--navy);
  --color-primary-h:    var(--navy-dark);
  --color-accent:       var(--sky);
  --color-accent-h:     #1fa0bc;

  --radius-sm:  0.375rem;
  --radius-md:  0.625rem;
  --radius-lg:  1rem;
  --radius-xl:  1.5rem;
  --radius-full:9999px;

  --shadow-sm:  0 1px 3px rgba(26,58,138,.06);
  --shadow-md:  0 4px 18px rgba(26,58,138,.10);
  --shadow-lg:  0 12px 40px rgba(26,58,138,.15);

  --font-display: 'Montserrat', 'Helvetica Neue', sans-serif;
  --font-body:    'Inter', 'Helvetica Neue', sans-serif;

  --text-xs:   clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm:   clamp(0.875rem, 0.82rem + 0.3vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg:   clamp(1.125rem, 1rem + 0.65vw, 1.5rem);
  --text-xl:   clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl:  clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-hero: clamp(2.25rem, 0.5rem + 6vw, 5.5rem);

  --sp-1:0.25rem; --sp-2:0.5rem; --sp-3:0.75rem; --sp-4:1rem;
  --sp-5:1.25rem; --sp-6:1.5rem; --sp-8:2rem;  --sp-10:2.5rem;
  --sp-12:3rem;   --sp-16:4rem;  --sp-20:5rem;  --sp-24:6rem;
  --sp-32:8rem;

  --trans: 180ms cubic-bezier(0.16,1,0.3,1);
  --cont-narrow: 720px;
  --cont-default: 1000px;
  --cont-wide: 1280px;
}

[data-theme='dark'] {
  --color-bg:          #080e20;
  --color-surface:     #0d1528;
  --color-surface-2:   #111c34;
  --color-surface-off: #131d35;
  --color-border:      #1e2d52;
  --color-divider:     #192540;
  --color-text:        #cdd4f0;
  --color-text-muted:  #8fa0c8;
  --color-text-faint:  #3d4d70;
  --color-primary:     #5b7edc;
  --color-primary-h:   #4a6acc;
  --color-accent:      #29b6d6;
  --color-accent-h:    #1fa0bc;
  --periwinkle-bg:     #111c34;
  --sky-light:         #0a2535;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.3);
  --shadow-md: 0 4px 18px rgba(0,0,0,.4);
  --shadow-lg: 0 12px 40px rgba(0,0,0,.5);
}
@media (prefers-color-scheme:dark){:root:not([data-theme]){
  --color-bg:#080e20;--color-surface:#0d1528;--color-surface-2:#111c34;
  --color-surface-off:#131d35;--color-border:#1e2d52;--color-divider:#192540;
  --color-text:#cdd4f0;--color-text-muted:#7080a8;--color-text-faint:#3d4d70;
  --color-primary:#5b7edc;--color-primary-h:#4a6acc;
  --color-accent:#29b6d6;--periwinkle-bg:#111c34;--sky-light:#0a2535;
  --shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 4px 18px rgba(0,0,0,.4);
}}

/* ── BASE ────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:80px}
body{min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background:var(--color-bg);line-height:1.65}
img,picture,video,canvas,svg{display:block;max-width:100%}
ul[role='list'],ol[role='list']{list-style:none}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15}
p,li{text-wrap:pretty}
input,button,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:none}
a{color:inherit}
address{font-style:normal}
::selection{background:color-mix(in oklab,var(--color-accent) 25%,transparent);color:var(--color-text)}
:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:var(--radius-sm)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ── LAYOUT ──────────────────────────────────────────────── */
.container{max-width:var(--cont-wide);margin:0 auto;padding:0 clamp(var(--sp-4),5vw,var(--sp-12))}
.container-narrow{max-width:var(--cont-narrow);margin:0 auto;padding:0 clamp(var(--sp-4),5vw,var(--sp-12))}
.section{padding-block:clamp(var(--sp-16),8vw,var(--sp-32))}
.section-header{text-align:center;max-width:640px;margin:0 auto var(--sp-16)}
.section-header h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;margin-block:var(--sp-3) var(--sp-4);color:var(--color-text)}
.section-desc{color:#2d3748;font-size:var(--text-base);max-width:52ch;margin:0 auto}

.eyebrow{display:inline-block;font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);background:var(--sky-light);border:1px solid var(--sky-mid);padding:3px var(--sp-3);border-radius:var(--radius-full);margin-bottom:var(--sp-4)}
[data-theme='dark'] .eyebrow{background:var(--sky-light);border-color:rgba(41,182,214,.25)}
.eyebrow--light{color:rgba(255,255,255,.8);background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;padding:.7em 1.6em;border-radius:var(--radius-full);text-decoration:none;white-space:nowrap;transition:background var(--trans),color var(--trans),box-shadow var(--trans),transform var(--trans);border:2px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}

.btn-book{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-book:hover{background:var(--navy-dark);box-shadow:var(--shadow-md)}

.btn-primary{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-primary:hover{background:var(--navy-dark);box-shadow:var(--shadow-md)}

.btn-hero-primary{background:#fff;color:var(--navy);padding:.9em 2.2em;font-size:var(--text-base)}
.btn-hero-primary:hover{background:#f0f4ff;box-shadow:0 6px 24px rgba(0,0,0,.2)}

.btn-hero-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6);padding:.9em 2.2em;font-size:var(--text-base)}
.btn-hero-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}

.btn-white{background:#fff;color:var(--navy);border-color:#fff}
.btn-white:hover{background:#f0f4ff;box-shadow:var(--shadow-md)}

.btn-location{background:transparent;color:var(--color-primary);border:1.5px solid var(--color-border);padding:.55em 1.3em;font-size:var(--text-xs);margin-top:var(--sp-4);width:100%;justify-content:center}
.btn-location:hover{border-color:var(--color-primary);background:var(--periwinkle-bg)}

.btn-location-featured{background:var(--navy);color:#fff;border:1.5px solid var(--navy);padding:.55em 1.3em;font-size:var(--text-xs);margin-top:var(--sp-4);width:100%;justify-content:center}
.btn-location-featured:hover{background:var(--navy-dark);box-shadow:var(--shadow-sm)}

.btn-full{width:100%;justify-content:center}

/* ── HEADER ──────────────────────────────────────────────── */
.header{position:sticky;top:0;z-index:100;overflow:visible;background:color-mix(in oklab,var(--color-surface) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--color-divider);transition:box-shadow var(--trans)}
.header.scrolled{box-shadow:var(--shadow-md)}

.header-inner{max-width:var(--cont-wide);margin:0 auto;padding:var(--sp-2) clamp(var(--sp-4),5vw,var(--sp-12));display:flex;align-items:center;gap:var(--sp-6);overflow:visible}

/* Logo */
.logo{display:flex;align-items:center;gap:var(--sp-3);text-decoration:none;flex-shrink:0}
.logo-icon{width:52px;height:58px;flex-shrink:0}
.logo-icon svg{width:100%;height:100%}
.logo-text-group{display:flex;flex-direction:column;line-height:1;gap:1px}
.logo-the{font-family:var(--font-display);font-size:.55rem;font-weight:700;letter-spacing:.15em;color:var(--color-text-muted)}
.logo-main{font-family:var(--font-display);font-size:1.1rem;font-weight:900;letter-spacing:.06em;color:var(--navy);line-height:1}
[data-theme='dark'] .logo-main{color:var(--color-text)}
.logo-bar{font-family:var(--font-display);font-size:.85rem;font-weight:800;letter-spacing:.08em;color:var(--sky);line-height:1}
.logo-sub{font-family:var(--font-display);font-size:.5rem;font-weight:600;letter-spacing:.1em;color:var(--color-text-faint);text-transform:uppercase;margin-top:2px}

/* Nav */
.nav{flex:1;display:flex;justify-content:center;overflow:visible}
.nav ul{display:flex;gap:clamp(var(--sp-3),2vw,var(--sp-5));list-style:none;align-items:center;overflow:visible}
.nav-link{font-family:var(--font-display);font-size:clamp(.68rem,.9vw,.8rem);font-weight:600;letter-spacing:.04em;color:var(--color-text-muted);text-decoration:none;display:flex;align-items:center;gap:3px;transition:color var(--trans);padding:var(--sp-2) 0}
.nav-link:hover,.nav-link.active{color:var(--navy)}
[data-theme='dark'] .nav-link:hover,[data-theme='dark'] .nav-link.active{color:var(--color-accent)}
.nav-link svg{opacity:.6}

/* Dropdown */
.nav-dropdown{position:relative;overflow:visible}
/* Invisible bridge fills gap between nav link and menu so hover doesn't break */
.nav-dropdown::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);width:120%;height:24px;background:transparent}
.dropdown-menu{position:absolute;top:calc(100% + 4px);left:50%;transform:translateX(-50%) translateY(-8px);background:#fff;border:1px solid rgba(26,58,138,.12);border-radius:16px;padding:var(--sp-3);min-width:280px;box-shadow:0 8px 32px rgba(26,58,138,.15),0 2px 8px rgba(0,0,0,.06);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:9999;overflow:visible}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu,.nav-dropdown.dd-open .dropdown-menu{opacity:1;pointer-events:all;transform:translateX(-50%) translateY(0)}
.dropdown-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);font-family:var(--font-display);font-size:.78rem;font-weight:700;color:#1a3a8a;text-decoration:none;border-radius:10px;transition:background .15s,color .15s;letter-spacing:.02em}
.dropdown-item-icon{width:32px;height:32px;background:linear-gradient(135deg,rgba(26,58,138,.08),rgba(41,182,214,.12));border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#1a3a8a;transition:background .15s}
.dropdown-item:hover{background:linear-gradient(135deg,#0f2460,#1a3a8a);color:#fff}
.dropdown-item:hover .dropdown-item-icon{background:rgba(255,255,255,.15);color:#fff}
.dropdown-item-text strong{display:block;font-size:.78rem;font-weight:700;line-height:1.2}
.dropdown-item-text span{display:block;font-size:.65rem;font-weight:500;opacity:.65;letter-spacing:.03em;margin-top:1px}
.dropdown-divider{height:1px;background:rgba(26,58,138,.08);margin:var(--sp-2) 0}

.header-actions{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}

.mobile-menu-btn{display:none;flex-direction:column;gap:5px;padding:var(--sp-2);margin-left:auto}
.mobile-menu-btn span{display:block;width:22px;height:2px;background:var(--color-text);border-radius:var(--radius-full);transition:all var(--trans)}
.mobile-menu-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mobile-menu-btn.open span:nth-child(2){opacity:0}
.mobile-menu-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-nav{display:none;padding:20px 24px 24px;border-top:1px solid var(--color-divider);background:#fff;}
.mobile-nav.open{display:block}
.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:0;margin:0;padding:0;}
.mob-link{font-family:var(--font-display);font-size:0.95rem;font-weight:600;color:var(--color-text);text-decoration:none;display:block;padding:10px 0;border-bottom:1px solid #f0f2f8;}
.mob-link:last-child{border-bottom:none;}
/* Treatments group label */
.mob-group-label{font-family:var(--font-display);font-size:0.6rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:#29b6d6;padding:14px 0 4px;display:block;}
/* Sub-items under treatments */
.mob-sub-link{font-family:var(--font-display);font-size:0.82rem;font-weight:600;color:#1a2744;text-decoration:none;display:block;padding:8px 0 8px 14px;border-bottom:1px solid #f0f2f8;position:relative;}
.mob-sub-link::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:4px;border-radius:50%;background:#29b6d6;}
.mob-sub-link:last-child{border-bottom:none;}
/* Primary nav items */
.mob-primary{font-size:0.95rem;font-weight:700;color:#0e1b3d;}
/* Divider between groups */
.mob-divider{height:1px;background:#eaeef6;margin:8px 0;}

/* ── HERO ────────────────────────────────────────────────── */
.hero{position:relative;min-height:85vh;display:flex;align-items:flex-end;overflow:hidden;background:#0f2460}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-img{
  position:absolute;
  right:0;
  top:0;
  height:100%;
  width:auto;
  max-width:55%;
  object-fit:cover;
  object-position:center top;
  z-index:0;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to right,rgba(10,24,80,1) 0%,rgba(10,24,80,.95) 30%,rgba(10,24,80,.7) 50%,rgba(10,24,80,.1) 70%,rgba(10,24,80,0) 100%);
  z-index:1;
}

.hero-content{position:relative;z-index:1;max-width:var(--cont-wide);margin:0 auto;padding:0 clamp(var(--sp-4),5vw,var(--sp-12)) clamp(var(--sp-12),6vh,var(--sp-20));width:100%}
.hero-content>*{max-width:55ch}

.hero-specialty{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--sky);display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-6)}
.specialty-dot{width:6px;height:6px;border-radius:50%;background:var(--sky);flex-shrink:0}

.hero-h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:900;color:#fff;line-height:1.0;letter-spacing:-.01em;margin-bottom:var(--sp-6);text-transform:uppercase;max-width:18ch}
.hero-and{font-weight:400;font-style:italic;font-family:Georgia,serif;font-size:.8em;text-transform:none;letter-spacing:.02em;color:rgba(255,255,255,.85)}

.hero-divider{display:flex;align-items:center;gap:var(--sp-5);margin-bottom:var(--sp-10)}
.hero-line{flex:1;max-width:80px;height:2px;background:var(--sky);opacity:.7}
.hero-sub{font-size:var(--text-base);color:rgba(255,255,255,.82);font-weight:400;white-space:nowrap}
@media(max-width:600px){
  /* Hero container */
  .hero { min-height: 100svh; align-items: center; }

  /* Image — wider, Grace centered in frame */
  .hero-img{ right:0; width:68%; max-width:68%; object-position:15% 28%; }
  .hero-overlay{
    background:
      linear-gradient(to right, rgba(10,24,80,.97) 0%, rgba(10,24,80,.88) 38%, rgba(10,24,80,.3) 65%, rgba(10,24,80,0) 100%),
      linear-gradient(to top, rgba(10,24,80,.75) 0%, rgba(10,24,80,.0) 35%);
  }

  /* Eyebrow — single line, compact */
  .hero-specialty{
    font-size:.58rem;
    letter-spacing:.08em;
    gap:var(--sp-2);
    margin-bottom:var(--sp-3);
    max-width:65%;
    line-height:1.4;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  /* Heading — readable but compact */
  .hero-h1{
    font-size:clamp(1.55rem,7vw,2.1rem);
    max-width:62%;
    margin-bottom:var(--sp-3);
    line-height:1.0;
  }

  /* Divider + subtext */
  .hero-divider{
    flex-wrap:nowrap;
    align-items:flex-start;
    margin-bottom:var(--sp-5);
    max-width:65%;
  }
  .hero-line{ display:none; }
  .hero-sub{
    white-space:normal;
    font-size:.78rem;
    line-height:1.5;
    color:rgba(255,255,255,.85);
    max-width:100%;
  }

  /* Buttons — always side by side, equal size */
  .hero-ctas{
    flex-direction:row !important;
    flex-wrap:nowrap;
    gap:var(--sp-2);
    max-width:70%;
    margin-bottom:var(--sp-6);
  }
  .btn-hero-primary, .btn-hero-outline{
    font-size:.72rem;
    padding:.65em 1.0em;
    flex:1 1 0;
    min-width:0;
    white-space:nowrap;
    text-align:center;
  }

  /* Content positioning — centered vertically */
  .hero-content{
    padding-top: clamp(var(--sp-6),4vh,var(--sp-10));
    padding-bottom: clamp(var(--sp-6),4vh,var(--sp-10));
  }
  .hero-content>*{ max-width:100%; }
}

.hero-ctas{display:flex;flex-wrap:wrap;gap:var(--sp-4);margin-bottom:var(--sp-12)}

.hero-trust{display:flex;flex-wrap:wrap;gap:var(--sp-6)}
.trust-item{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:rgba(255,255,255,.7);font-weight:500}
.trust-item svg{color:var(--sky);flex-shrink:0}

/* ── ELEVATE STRIP ───────────────────────────────────────── */
.elevate-strip{background:var(--navy);color:#fff;padding-block:var(--sp-12);text-align:center}
.elevate-heading{font-family:var(--font-display);font-size:var(--text-xl);font-weight:900;letter-spacing:.06em;color:#fff;margin-bottom:var(--sp-4)}
.elevate-strip p{font-size:var(--text-base);color:rgba(255,255,255,.75);max-width:60ch;margin:0 auto;line-height:1.7}

/* ── GOAL CATEGORIES ─────────────────────────────────────── */
.goals{background:var(--color-bg)}
.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-4)}

.goal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3);transition:box-shadow var(--trans),border-color var(--trans),transform var(--trans)}
.goal-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-3px)}
.goal-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--periwinkle-bg);color:var(--navy);flex-shrink:0}
[data-theme='dark'] .goal-icon{background:rgba(91,126,220,.15);color:var(--color-primary)}
.goal-icon svg{width:20px;height:20px}
.goal-card h4{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--color-text)}
.goal-card p{font-size:var(--text-xs);color:#2d3748;line-height:1.6}

/* ── HERO VISUAL BREAK ───────────────────────────────────── */
.hero-visual-break{position:relative;height:clamp(480px,70vw,700px);overflow:hidden;background:var(--navy)}
.hero-visual-break img{width:100%;height:100%;object-fit:cover;object-position:center 25%;position:relative;z-index:1}
.visual-break-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,24,80,.45),rgba(10,24,80,.6));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--sp-8)}
.visual-break-heading{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;color:#fff;letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--sp-3)}
.visual-break-overlay p{font-size:var(--text-base);color:rgba(255,255,255,.8);font-weight:500;letter-spacing:.06em;text-transform:uppercase}

/* ── IV DRIPS ────────────────────────────────────────────── */
.iv-drips{background:var(--color-bg);padding-top:0}

.drips-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:var(--sp-6)}

.drip-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-4);transition:box-shadow var(--trans),border-color var(--trans),transform var(--trans)}
.drip-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-accent);transform:translateY(-4px)}

.drip-card--featured{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);border-color:var(--navy);color:#fff}
.drip-card--featured:hover{border-color:var(--sky)}

.drip-card--wide{grid-column:span 1}

.drip-card-top{display:flex;align-items:center;justify-content:space-between}

.drip-badge{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px var(--sp-3);border-radius:var(--radius-full);background:var(--periwinkle-bg);color:var(--navy);border:1px solid var(--color-border)}
[data-theme='dark'] .drip-badge{background:rgba(91,126,220,.15);color:var(--color-primary);border-color:rgba(91,126,220,.3)}
.drip-badge--specialty{background:rgba(41,182,214,.15);color:var(--sky);border-color:rgba(41,182,214,.35)}
.drip-badge--popular{background:#fff3;color:#fff;border-color:#fff3}
.drip-badge--beauty{background:#fce4f5;color:#9c27b0;border-color:#e8a8d8}
[data-theme='dark'] .drip-badge--beauty{background:rgba(156,39,176,.15);color:#ce93d8;border-color:rgba(156,39,176,.3)}
.drip-badge--recovery{background:#fff3e0;color:#e65100;border-color:#ffcc80}
[data-theme='dark'] .drip-badge--recovery{background:rgba(230,81,0,.15);color:#ffb74d;border-color:rgba(230,81,0,.3)}
.drip-badge--immune{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}
[data-theme='dark'] .drip-badge--immune{background:rgba(46,125,50,.15);color:#66bb6a;border-color:rgba(46,125,50,.3)}
.drip-badge--relief{background:#e3f2fd;color:#0277bd;border-color:#90caf9}
[data-theme='dark'] .drip-badge--relief{background:rgba(2,119,189,.15);color:#4fc3f7;border-color:rgba(2,119,189,.3)}

.drip-price{font-family:var(--font-display);font-size:var(--text-lg);font-weight:900;color:var(--color-accent)}
.drip-card--featured .drip-price{color:var(--sky)}

.drip-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg);background:var(--periwinkle-bg);color:var(--navy)}
.drip-card--featured .drip-icon{background:rgba(255,255,255,.12);color:rgba(255,255,255,.9)}
[data-theme='dark'] .drip-icon{background:rgba(91,126,220,.15);color:var(--color-primary)}

.drip-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;line-height:1.2}
.drip-card p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7}
.drip-card--featured p{color:rgba(255,255,255,.75)}

.drip-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:auto;padding-top:var(--sp-4);border-top:1px solid var(--color-divider)}
.drip-card--featured .drip-tags{border-color:rgba(255,255,255,.12)}
.drip-tags span{font-size:var(--text-xs);padding:2px var(--sp-3);background:var(--color-surface-off);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted)}
[data-theme='dark'] .drip-tags span{background:rgba(255,255,255,.05);border-color:var(--color-border)}
.drip-card--featured .drip-tags span{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.8)}
.drip-learn-link{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-display);font-size:.75rem;font-weight:700;
  color:var(--sky);text-decoration:none;letter-spacing:.03em;
  margin-top:4px;transition:color .18s;
}
.drip-learn-link:hover{color:#fff;}
.drip-card:not(.drip-card--featured) .drip-learn-link{color:#1a3a8a;}
.drip-card:not(.drip-card--featured) .drip-learn-link:hover{color:#29b6d6;}

/* ── GLUTA FEATURE ───────────────────────────────────────── */
.gluta-feature{background:var(--color-surface-2)}
.gluta-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--sp-12),6vw,var(--sp-24));align-items:center}

.gluta-image-col{position:relative}
.gluta-image-col img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:3/4;object-fit:cover}
.gluta-badge{position:absolute;bottom:var(--sp-6);left:var(--sp-6);right:var(--sp-6);background:linear-gradient(135deg,var(--navy),var(--navy-light));color:#fff;border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);display:flex;align-items:center;gap:var(--sp-3);font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;box-shadow:var(--shadow-md)}
.gluta-badge svg{color:var(--sky);flex-shrink:0}

.gluta-content-col{display:flex;flex-direction:column;gap:var(--sp-4)}
.gluta-content-col h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;margin-block:var(--sp-3) var(--sp-4)}
.gluta-lead{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.75;margin-bottom:var(--sp-6)}

.gluta-benefits{display:flex;flex-direction:column;gap:var(--sp-5)}
.gluta-benefit{display:flex;gap:var(--sp-4);align-items:flex-start}
.gb-dot{width:10px;height:10px;border-radius:50%;background:var(--sky);flex-shrink:0;margin-top:6px}
.gluta-benefit h5{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;margin-bottom:var(--sp-1)}
.gluta-benefit p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.65}

/* ── VITAMIN SHOTS ───────────────────────────────────────── */
.shots{background:var(--color-bg)}
.shots-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--sp-12),6vw,var(--sp-24));align-items:center}
.shots-content{display:flex;flex-direction:column;gap:var(--sp-4)}
.shots-content h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;margin-block:var(--sp-3) var(--sp-4)}
.shots-intro{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.75;margin-bottom:var(--sp-8);max-width:50ch}

.shots-list{display:flex;flex-direction:column;gap:0}
.shot-item{display:flex;gap:var(--sp-5);align-items:flex-start;padding:var(--sp-5) 0;border-bottom:1px solid var(--color-divider)}
.shot-item:last-child{border-bottom:none}
.shot-price-col{min-width:52px;flex-shrink:0}
.shot-price{font-family:var(--font-display);font-size:var(--text-lg);font-weight:900;color:var(--color-accent);line-height:1}
.shot-info h4{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;margin-bottom:var(--sp-1)}
.shot-info p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.65}

.shots-image-col img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:3/4;object-fit:cover}

/* ── PEPTIDES BANNER ─────────────────────────────────────── */
.peptides-banner{background:linear-gradient(135deg,var(--sky) 0%,#1793ad 100%);padding-block:var(--sp-10)}
.peptides-inner{display:flex;align-items:center;gap:var(--sp-8);flex-wrap:wrap}
.peptides-badge{font-family:var(--font-display);font-size:var(--text-xs);font-weight:900;letter-spacing:.12em;background:#fff;color:var(--sky);padding:var(--sp-1) var(--sp-4);border-radius:var(--radius-full);flex-shrink:0}
.peptides-content{flex:1;min-width:240px}
.peptides-content h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;color:#fff;margin-bottom:var(--sp-2)}
.peptides-content p{font-size:var(--text-sm);color:rgba(255,255,255,.85);line-height:1.65}

/* ── MEMBERSHIP ──────────────────────────────────────────── */
.membership{background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 50%,var(--navy-light) 100%);color:#fff}
.membership-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(var(--sp-12),6vw,var(--sp-20));align-items:center}

.membership-content h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;color:#fff;margin-block:var(--sp-3) var(--sp-5)}
.membership-content p{font-size:var(--text-base);color:rgba(255,255,255,.8);line-height:1.75;margin-bottom:var(--sp-6)}
.membership-content strong{color:#fff}

.membership-benefits{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}
.membership-benefit{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--text-sm);color:rgba(255,255,255,.85);font-weight:500}
.membership-benefit svg{color:var(--sky);flex-shrink:0}

/* Membership card */
.membership-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-xl);padding:var(--sp-8);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:var(--sp-5)}
.mc-logo{display:flex;align-items:center;gap:var(--sp-4);color:#fff}
.mc-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.mc-name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:#fff}
.mc-perks{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.mc-perks span{font-size:var(--text-xs);font-family:var(--font-display);font-weight:600;padding:3px var(--sp-3);background:rgba(41,182,214,.2);color:var(--sky);border:1px solid rgba(41,182,214,.3);border-radius:var(--radius-full)}
.mc-app{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-xs);color:rgba(255,255,255,.6);margin-top:var(--sp-2)}
.mc-app strong{color:#fff}
.mc-app svg{color:var(--sky)}

/* ── ABOUT ───────────────────────────────────────────────── */
.about{background:var(--color-surface)}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--sp-12),6vw,var(--sp-24));align-items:center}
.about-image-col img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);aspect-ratio:auto;object-fit:contain;object-position:center center}
.about-content-col{display:flex;flex-direction:column;gap:var(--sp-4)}
.about-content-col h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;margin-block:var(--sp-3) var(--sp-4)}
.about-content-col p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.8}
.about-content-col strong{color:var(--color-text);font-weight:700}

.about-stats{display:flex;gap:var(--sp-8);margin:var(--sp-6) 0;padding:var(--sp-6) 0;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}
.about-stat{display:flex;flex-direction:column;gap:var(--sp-1)}
.about-stat-num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:900;color:var(--navy);line-height:1}
[data-theme='dark'] .about-stat-num{color:var(--color-primary)}
.about-stat-label{font-size:var(--text-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}

/* ── LOCATIONS ───────────────────────────────────────────── */
.locations{background:var(--color-bg)}
.loc-phone-inline{color:var(--color-primary);text-decoration:none;font-weight:600}
.loc-phone-inline:hover{text-decoration:underline}

.locations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6)}

.location-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--sp-8);display:flex;flex-direction:column;gap:var(--sp-3);transition:box-shadow var(--trans),border-color var(--trans),transform var(--trans)}
.location-card:hover{box-shadow:var(--shadow-lg);border-color:var(--color-primary);transform:translateY(-3px)}
.location-card--featured{border-color:var(--navy);box-shadow:var(--shadow-md)}

.location-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}
.location-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--periwinkle-bg);color:var(--navy);border-radius:var(--radius-md)}
[data-theme='dark'] .location-icon{background:rgba(91,126,220,.15);color:var(--color-primary)}
.location-num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:900;color:var(--color-border)}

.location-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800}
.location-note{font-size:var(--text-xs);color:var(--color-text-muted);font-style:italic;min-height:1.4em}
.location-card address{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.8;flex:1}
.location-phone{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--text-sm);font-weight:600;color:var(--color-primary);text-decoration:none;transition:color var(--trans)}
.location-phone:hover{color:var(--navy-dark)}

/* ── CONTACT ─────────────────────────────────────────────── */
.contact{background:var(--color-surface-2)}
.contact-wrapper{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(var(--sp-12),6vw,var(--sp-20));align-items:start}

.contact-info-col{display:flex;flex-direction:column;gap:var(--sp-4)}
.contact-info-col h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:900;margin-block:var(--sp-3) var(--sp-4)}
.contact-info-col>p{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.75;margin-bottom:var(--sp-6)}

.contact-details{display:flex;flex-direction:column;gap:var(--sp-4)}
.contact-detail{display:flex;align-items:flex-start;gap:var(--sp-3);font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:color var(--trans);font-weight:500}
.contact-detail:hover{color:var(--color-primary)}
.contact-detail svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}
.contact-detail small{display:block;font-size:var(--text-xs);color:var(--color-text-faint);font-weight:400}

.social-links{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4)}
.social-link{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-muted);text-decoration:none;transition:all var(--trans)}
.social-link:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--periwinkle-bg)}

/* Form */
.contact-form{display:flex;flex-direction:column;gap:var(--sp-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(var(--sp-8),4vw,var(--sp-12))}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4)}
.form-group{display:flex;flex-direction:column;gap:var(--sp-2)}
.form-group label{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;color:var(--color-text)}
.form-group input,.form-group select,.form-group textarea{padding:var(--sp-3) var(--sp-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:var(--text-sm);transition:border-color var(--trans),box-shadow var(--trans);width:100%}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--color-accent) 15%,transparent);outline:none}
.form-group textarea{resize:vertical;min-height:88px}
.form-disclaimer{font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.7;margin-top:var(--sp-2)}

/* ── FOOTER ──────────────────────────────────────────────── */
.footer{background:var(--navy-dark);color:rgba(255,255,255,.95);padding-block:var(--sp-16) var(--sp-8)}
.footer-top{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(var(--sp-8),4vw,var(--sp-16));margin-bottom:var(--sp-12);padding-bottom:var(--sp-12);border-bottom:1px solid rgba(255,255,255,.08);align-items:start}
.footer-links-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--sp-6) var(--sp-4)}

.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(var(--sp-6),3vw,var(--sp-12));margin-bottom:var(--sp-10);padding-bottom:var(--sp-10);border-bottom:1px solid rgba(255,255,255,.08)}
.footer-logo{height:80px;width:auto;object-fit:contain;display:block;margin-bottom:var(--sp-4);overflow:hidden;border-radius:10px;background:var(--navy-dark)}
.footer-logo-img{height:72px;width:auto;object-fit:contain;display:block;mix-blend-mode:multiply;border-radius:8px}
.footer-logo-the{font-family:var(--font-display);font-size:.5rem;font-weight:700;letter-spacing:.18em;color:rgba(255,255,255,.4);text-transform:uppercase}
.footer-logo-main{font-family:var(--font-display);font-size:1rem;font-weight:900;letter-spacing:.08em;color:#fff;text-transform:uppercase}
.footer-logo-sub{font-family:var(--font-display);font-size:.6rem;font-weight:600;letter-spacing:.1em;color:var(--sky);text-transform:uppercase}
.footer-brand p{font-size:var(--text-xs);color:rgba(255,255,255,.88);line-height:1.75;max-width:32ch;margin-bottom:0}
.footer-social{display:flex;gap:var(--sp-2);margin-top:var(--sp-5);flex-wrap:wrap}
.footer-socials{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:var(--sp-4)}
.footer-socials a{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,.55);border-radius:50%;color:#fff;text-decoration:none;transition:all .2s;flex-shrink:0}
.footer-socials a:hover{border-color:#29b6d6;color:#29b6d6;transform:translateY(-2px)}
.footer-social-link{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:2px solid;border-radius:var(--radius-full);text-decoration:none;transition:all .2s;flex-shrink:0}

/* Instagram — true brand gradient */
.footer-social-link[aria-label="Instagram"]{
  color:#fff;
  border:none;
  background:radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.footer-social-link[aria-label="Instagram"]:hover{opacity:.85;transform:translateY(-2px)}

/* Facebook — true brand blue */
.footer-social-link[aria-label="Facebook"]{color:#fff;border:none;background:#1877f2}
.footer-social-link[aria-label="Facebook"]:hover{background:#0d6efd;transform:translateY(-2px)}

/* TikTok — true brand black with cyan accent */
.footer-social-link[aria-label="TikTok"]{color:#fff;border:none;background:#010101}
.footer-social-link[aria-label="TikTok"]:hover{background:#111;transform:translateY(-2px)}

/* YouTube — true brand red */
.footer-social-link[aria-label="YouTube"]{color:#fff;border:none;background:#ff0000}
.footer-social-link[aria-label="YouTube"]:hover{background:#cc0000;transform:translateY(-2px)}

.footer-col h5{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sky);margin-bottom:var(--sp-5);border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:var(--sp-3)}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:var(--sp-4)}
.footer-col a{font-size:var(--text-xs);color:rgba(255,255,255,.92);text-decoration:none;transition:color var(--trans);white-space:nowrap}
.footer-col a:hover{color:#fff}
.footer-col .footer-contact-item{display:flex;align-items:flex-start;gap:var(--sp-2);margin-bottom:var(--sp-3)}
.footer-col .footer-contact-label{font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:2px}
.footer-col .footer-contact-value{font-size:var(--text-xs);color:rgba(255,255,255,.92)}
.footer-col .footer-contact-value a{font-size:var(--text-xs);color:rgba(255,255,255,.92);white-space:normal}
.footer-col .footer-contact-value a:hover{color:#fff}

.footer-bottom{display:flex;flex-direction:column;gap:var(--sp-3)}
.footer-bottom p:first-child{font-family:var(--font-display);font-size:var(--text-xs);font-weight:600;color:rgba(255,255,255,.75)}
.footer-disclaimer{font-size:var(--text-xs);color:rgba(255,255,255,.92);line-height:1.75;max-width:90ch}

/* ── SUCCESS MODAL ───────────────────────────────────────── */
.success-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);z-index:999;opacity:0;pointer-events:none;transition:opacity var(--trans)}
.success-modal.show{opacity:1;pointer-events:all}
.success-inner{background:var(--color-surface);border-radius:var(--radius-xl);padding:var(--sp-12) var(--sp-16);text-align:center;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);box-shadow:var(--shadow-lg)}
.success-inner svg{color:var(--color-accent)}
.success-inner h3{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800}
.success-inner p{font-size:var(--text-sm);color:var(--color-text-muted)}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media(max-width:1024px){
  .membership-layout{grid-template-columns:1fr}
  .locations-grid{grid-template-columns:repeat(2,1fr)}
  .contact-wrapper{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer-links-group{grid-template-columns:repeat(3,1fr);gap:var(--sp-6) var(--sp-4)}
}
@media(max-width:900px){
  .gluta-layout,.shots-layout,.about-layout{grid-template-columns:1fr}
  .gluta-image-col img,.shots-image-col img{aspect-ratio:16/9}
  .about-image-col img{aspect-ratio:auto;object-fit:contain;object-position:center center}
  .membership-benefits{grid-template-columns:1fr}
  .footer-top{grid-template-columns:1fr}
  .footer-links-group{grid-template-columns:repeat(3,1fr);gap:var(--sp-6) var(--sp-4)}
}
@media(max-width:480px){
  .nav,.header-actions .btn-book{display:none}
  .mobile-menu-btn{display:flex}
  .header-inner{justify-content:space-between;gap:0}
  .header-actions{display:none}
  .footer-top{grid-template-columns:1fr}
  .footer-links-group{grid-template-columns:1fr 1fr;gap:var(--sp-5) var(--sp-4)}
  .locations-grid{grid-template-columns:1fr}
  .goals-grid{grid-template-columns:repeat(2,1fr)}
  .drips-grid{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .hero-trust{gap:var(--sp-4)}
  .hero-stats{display:none}
  .about-stats{flex-wrap:wrap;gap:var(--sp-6)}
  .peptides-inner{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .goals-grid{grid-template-columns:1fr}
  .membership-benefits{grid-template-columns:1fr}
  /* Keep hero buttons side by side even on very small screens */
  .hero-ctas{flex-direction:row !important;align-items:center;flex-wrap:nowrap;}
}

/* ── REAL LOGO (header) ──────────────────────────────────── */
.logo { text-decoration: none; flex-shrink: 0; display: flex; align-items: center; }
.logo-img { height: 88px; width: auto; object-fit: contain; display: block; }

/* ── FOOTER LOGO ─────────────────────────────────────────── */
.footer-logo { margin-bottom: var(--sp-5); overflow:hidden; border-radius:10px; background:var(--navy-dark); display:inline-block; }
.footer-logo-img { height: 72px; width: auto; object-fit: contain; display: block; mix-blend-mode: multiply; border-radius: 8px; }

/* ── MEMBERSHIP CARD LOGO ────────────────────────────────── */
.mc-logo-img { width: 120px; height: auto; object-fit: contain;
  filter: brightness(0) invert(1); opacity: 0.9; margin-bottom: var(--sp-2); }


/* ── GLUTATHIONE AUTHORITY ───────────────────────────────── */
.gluta-authority { background: #fff; overflow: hidden; position: relative; }
.gluta-authority::before {
  content: '';
  position: absolute;
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(41,182,214,.06) 0%, transparent 70%);
  top: -150px; right: -150px;
  pointer-events: none;
}

/* Statement banner */
.ga-statement {
  background: linear-gradient(135deg, #0f2460 0%, #1a3a8a 55%, #1e4db5 100%);
  border-radius: 24px;
  padding: clamp(48px, 6vw, 80px) clamp(28px, 5vw, 80px);
  text-align: center;
  margin-bottom: 56px;
  position: relative;
  overflow: hidden;
}
.ga-statement::before {
  content: '';
  position: absolute;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(41,182,214,.18) 0%, transparent 65%);
  bottom: -200px; left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.ga-statement-inner { position: relative; z-index: 1; max-width: 820px; margin: 0 auto; }
.ga-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(41,182,214,.18);
  border: 1px solid rgba(41,182,214,.4);
  color: #29b6d6;
  font-family: var(--font-display);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 7px 18px;
  border-radius: 100px;
  margin-bottom: 24px;
}
.ga-headline {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.4rem);
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
  margin: 0 0 20px;
  letter-spacing: -.02em;
}
.ga-headline-accent {
  background: linear-gradient(90deg, #29b6d6, #5dd6f0);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.ga-subline {
  font-family: var(--font-body);
  font-size: clamp(.95rem, 2vw, 1.1rem);
  color: rgba(255,255,255,.78);
  line-height: 1.75;
  max-width: 680px;
  margin: 0 auto;
}
.ga-statement-btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 32px;
  padding: 14px 32px;
  background: #29b6d6;
  color: #0f2460;
  font-family: var(--font-display);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .03em;
  border-radius: 100px;
  text-decoration: none;
  transition: background .2s, transform .18s, box-shadow .2s;
  box-shadow: 0 4px 18px rgba(41,182,214,.35);
}
.ga-statement-btn:hover {
  background: #4dc8e4;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(41,182,214,.45);
}

/* Pillars */
.ga-pillars {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
  margin-bottom: 48px;
}
.ga-pillar {
  background: #f8fafc;
  border: 1.5px solid #eaeef6;
  border-radius: 20px;
  padding: 36px 30px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
  transition: box-shadow .2s, transform .2s;
}
.ga-pillar:hover { box-shadow: 0 8px 32px rgba(26,58,138,.1); transform: translateY(-3px); }
.ga-pillar--featured {
  background: linear-gradient(145deg, #2a5ed8, #3d78f0);
  border-color: #4070e8;
  color: #fff;
}
.ga-pillar.ga-pillar--featured h3 { color: #fff !important; font-size: 1.15rem; }
.ga-pillar.ga-pillar--featured p { color: rgba(255,255,255,.97) !important; font-size: .92rem; line-height: 1.75; }
.ga-pillar-crown {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(41,182,214,.3);
  border: 1px solid rgba(41,182,214,.5);
  color: #5dd8f0;
  font-family: var(--font-display);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 5px 13px;
  border-radius: 100px;
  width: fit-content;
  margin-bottom: 4px;
}
.ga-pillar-icon {
  width: 58px; height: 58px;
  background: linear-gradient(135deg, rgba(26,58,138,.1), rgba(41,182,214,.12));
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1a3a8a;
  flex-shrink: 0;
}
.ga-pillar-icon--featured {
  background: rgba(255,255,255,.28);
  box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.3);
  color: #fff;
}
.ga-pillar h3 {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 800;
  color: #0f2460;
  margin: 0;
  line-height: 1.3;
}
.ga-pillar p {
  font-family: var(--font-body);
  font-size: .875rem;
  color: var(--color-text-muted);
  line-height: 1.7;
  margin: 0;
  flex: 1;
}
.ga-pillar-stat {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 6px;
  padding-top: 16px;
  border-top: 1px solid rgba(26,58,138,.1);
}
.ga-pillar--featured .ga-pillar-stat { border-color: rgba(255,255,255,.15); }
.ga-stat-num {
  font-family: var(--font-display);
  font-size: 1.6rem;
  font-weight: 900;
  color: #1a3a8a;
  line-height: 1;
}
.ga-pillar--featured .ga-stat-num { color: #29b6d6; }
.ga-stat-label {
  font-family: var(--font-body);
  font-size: .72rem;
  color: var(--color-text-muted);
  font-weight: 600;
  line-height: 1.3;
}
.ga-pillar--featured .ga-stat-label { color: rgba(255,255,255,.82); }

/* Results strip */
.ga-results {
  background: linear-gradient(135deg, rgba(26,58,138,.04), rgba(41,182,214,.06));
  border: 1.5px solid rgba(41,182,214,.2);
  border-radius: 20px;
  padding: 40px 48px;
  text-align: center;
}
.ga-results-label {
  font-family: var(--font-display);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #29b6d6;
  margin-bottom: 24px;
}
.ga-results-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 24px;
  margin-bottom: 32px;
  text-align: left;
}
.ga-result-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-body);
  font-size: .88rem;
  color: #1a3a8a;
  font-weight: 600;
}
.ga-result-item svg { color: #29b6d6; flex-shrink: 0; }
.ga-cta-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; }
.ga-learn-row { display: flex; align-items: center; justify-content: center; gap: 28px; flex-wrap: wrap; }
.ga-cta-btn { font-size: var(--text-sm) !important; padding: 14px 36px !important; }
.ga-learn-link {
  font-family: var(--font-display);
  font-size: .8rem;
  font-weight: 700;
  color: #1a3a8a;
  text-decoration: none;
  letter-spacing: .04em;
  transition: color .2s;
}
.ga-learn-link:hover { color: #29b6d6; }
.ga-learn-gluta {
  background: rgba(41,182,214,.12);
  border: 1.5px solid rgba(41,182,214,.35);
  border-radius: 6px;
  padding: 8px 18px;
  color: #1a3a8a;
}
.ga-learn-gluta:hover { background: rgba(41,182,214,.22); color: #1a3a8a; }

@media (max-width: 960px) {
  .ga-pillars { grid-template-columns: 1fr 1fr; }
  .ga-results { padding: 32px 24px; }
  .ga-results-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  /* Compact horizontal scroll for pillar cards on mobile */
  .ga-pillars {
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 14px;
    padding-bottom: 12px;
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
    scrollbar-width: none;
  }
  .ga-pillars::-webkit-scrollbar { display: none; }
  .ga-pillar {
    min-width: 260px;
    max-width: 260px;
    scroll-snap-align: start;
    padding: 20px 18px;
    gap: 10px;
    flex-shrink: 0;
  }
  .ga-pillar-icon { width: 40px; height: 40px; border-radius: 10px; }
  .ga-pillar-icon svg { width: 18px; height: 18px; }
  .ga-pillar h3 { font-size: .88rem; }
  .ga-pillar p { font-size: .78rem; line-height: 1.5; }
  .ga-pillar.ga-pillar--featured p { font-size: .78rem; line-height: 1.5; }
  .ga-pillar-stat { padding-top: 10px; margin-top: 4px; }
  .ga-stat-num { font-size: 1.2rem; }
  .ga-stat-label { font-size: .65rem; }
  .ga-pillar-crown { font-size: .58rem; padding: 4px 10px; }
  /* Results strip compact */
  .ga-statement { border-radius: 16px; }
  .ga-results-grid { grid-template-columns: 1fr 1fr; gap: 10px 12px; }
  .ga-results { padding: 24px 18px; }
  .ga-results-label { margin-bottom: 16px; font-size: .62rem; }
  .ga-result-item { font-size: .78rem; gap: 7px; }
  .ga-result-item svg { width: 14px; height: 14px; }
  .ga-cta-wrap { flex-direction: column; gap: 12px; }
  .ga-learn-row { flex-direction: column; gap: 10px; align-items: center; }
}

/* ── HOW IT WORKS ────────────────────────────────────────── */
.how-it-works { background: var(--color-surface-2); }
.steps-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-6); margin-bottom: var(--sp-12); }

.step-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-xl); overflow: hidden; display: flex; flex-direction: column; position: relative; transition: box-shadow var(--trans), border-color var(--trans), transform var(--trans); }
.step-card:hover { box-shadow: var(--shadow-lg); border-color: var(--color-accent); transform: translateY(-4px); }

.step-card-img { position: relative; width: 100%; aspect-ratio: 4/3; overflow: hidden; }
.step-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform .4s ease; }
.step-card:hover .step-card-img img { transform: scale(1.04); }

.step-num { position: absolute; top: var(--sp-3); left: var(--sp-4); font-family: var(--font-display); font-size: 2rem; font-weight: 900; color: #fff; line-height: 1; text-shadow: 0 2px 8px rgba(0,0,0,.45); }

.step-card-body { padding: var(--sp-5) var(--sp-6) var(--sp-6); display: flex; flex-direction: column; gap: var(--sp-2); flex: 1; }
.step-card h4 { font-family: var(--font-display); font-size: var(--text-base); font-weight: 800; color: var(--color-text); }
.step-card p { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.7; }

.steps-cta { display: flex; justify-content: center; gap: var(--sp-4); flex-wrap: wrap; }
.btn-outline-navy { background: transparent; color: var(--navy); border: 2px solid var(--navy); }
.btn-outline-navy:hover { background: var(--periwinkle-bg); box-shadow: var(--shadow-sm); }
[data-theme='dark'] .btn-outline-navy { color: var(--color-primary); border-color: var(--color-primary); }
[data-theme='dark'] .btn-outline-navy:hover { background: rgba(91,126,220,.1); }

/* Responsive for steps */
@media(max-width: 900px) { .steps-grid { grid-template-columns: repeat(2, 1fr); } }
@media(max-width: 480px) { .steps-grid { grid-template-columns: 1fr; } }

/* ── GOAL CARDS — photo version ──────────────────────────── */
.goal-img-wrap {
  width: 100%;
  height: 160px;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--sp-2);
  flex-shrink: 0;
}
.goal-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.4s ease;
  display: block;
}
.goal-card:hover .goal-img-wrap img {
  transform: scale(1.05);
}
/* Tighten card padding now that photo fills the top */
.goal-card { padding: var(--sp-4); gap: var(--sp-2); }
.goal-card h4 { font-size: var(--text-sm); }

/* Explore Services button on goal cards */
.goal-explore-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding: 8px 16px;
  background: var(--navy, #1a3a8a);
  color: #fff;
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 100px;
  border: 1.5px solid transparent;
  transition: background .18s, border-color .18s, transform .18s;
  align-self: flex-start;
}
.goal-explore-btn:hover {
  background: var(--accent, #29b6d6);
  transform: translateX(2px);
}

/* ══ GOOGLE REVIEWS ══════════════════════════════════════════ */
.reviews-section {
  background: #0f2460;
  padding: clamp(3rem, 6vw, 5rem) 0;
}
.reviews-section .section-header { margin-bottom: 0; }
.reviews-section .section-header .eyebrow {
  background: rgba(41,182,214,0.18);
  color: #29b6d6;
  border-color: rgba(41,182,214,0.3);
}
.reviews-section .section-header h2 {
  color: #fff;
}

/* Score badge */
.rv-score-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 20px;
  padding: 18px 36px;
  width: fit-content;
  margin: 1.5rem auto 2.5rem;
  backdrop-filter: blur(6px);
}
.rv-score-g {
  display: flex;
  align-items: center;
  gap: 8px;
}
.rv-score-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.05em;
}
.rv-score-divider {
  width: 1px;
  height: 40px;
  background: rgba(255,255,255,0.2);
}
.rv-score-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.rv-score-num {
  font-family: 'Montserrat', sans-serif;
  font-size: 2.2rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.rv-score-stars {
  color: #FBBC05;
  font-size: 1rem;
  letter-spacing: 2px;
}
.rv-score-sub {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.55);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Cards grid */
.rv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}

.rv-card {
  background: #fff;
  border-radius: 18px;
  padding: 1.75rem 1.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18);
  transition: transform 0.2s, box-shadow 0.2s;
  position: relative;
}
.rv-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(0,0,0,0.25);
}

.rv-quote {
  font-family: Georgia, serif;
  font-size: 3.5rem;
  line-height: 0.6;
  color: #29b6d6;
  font-weight: 700;
  flex-shrink: 0;
}

.rv-text {
  font-size: 0.875rem;
  color: #475569;
  line-height: 1.7;
  margin: 0;
  flex: 1;
}

.rv-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 0.75rem;
  border-top: 1px solid #f0f4f8;
  margin-top: auto;
}

.rv-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #1a3a8a, #29b6d6);
  color: #fff;
  font-weight: 800;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: 'Montserrat', sans-serif;
}

.rv-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rv-name {
  font-size: 0.85rem;
  font-weight: 700;
  color: #1a3a8a;
  font-family: 'Montserrat', sans-serif;
}
.rv-stars {
  color: #FBBC05;
  font-size: 0.75rem;
  letter-spacing: 1px;
}

.rv-gicon {
  flex-shrink: 0;
  opacity: 0.8;
}

@media (max-width: 900px) {
  .rv-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .rv-grid { grid-template-columns: 1fr; }
  .rv-score-badge { padding: 14px 20px; gap: 14px; }
  .rv-score-num { font-size: 1.8rem; }
}

/* ══ STAFF BANNER OVERLAY ════════════════════════════════════ */
.hero-visual-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(10, 28, 90, 0.55);
  text-align: center;
  padding: 2rem;
  pointer-events: none;
  z-index: 2;
}
.hero-visual-overlay h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 900;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  line-height: 1.1;
  margin: 0 0 0.75rem;
  text-shadow: 0 2px 16px rgba(0,0,0,0.4);
}
.hero-visual-overlay p {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(0.75rem, 1.5vw, 1rem);
  font-weight: 600;
  color: rgba(255,255,255,0.88);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  margin: 0;
}

/* Screen-reader only utility */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* Pillar carousel dots — mobile only */
.pillar-dots {
  display: none;
}
@media (max-width: 600px) {
  .pillar-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: -4px;
    margin-bottom: 20px;
  }
  .pillar-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #c8d4ea;
    transition: background 0.3s, transform 0.3s;
  }
  .pillar-dot--active {
    background: #1a3a8a;
    transform: scale(1.3);
  }
}

/* ── GLUTATHIONE PACKAGES ────────────────────────────────── */
.gs-packages-section { background: #f4f7fc; }
.gspkg-group { margin-bottom: 56px; }
.gspkg-group-header { margin-bottom: 24px; }
.gspkg-duration-badge {
  display: inline-block;
  background: linear-gradient(135deg, #1a3a8a, #29b6d6);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 100px;
  margin-bottom: 10px;
}
.gspkg-group-title {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.3rem;
  font-weight: 900;
  color: #0f2460;
  margin: 0 0 6px;
}
.gspkg-group-sub {
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
  color: #1a2744;
  margin: 0;
}
.gspkg-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.gspkg-grid--2 { grid-template-columns: repeat(2, 1fr); }
.gspkg-grid--1 { grid-template-columns: 1fr; max-width: 480px; }
.gspkg-card {
  background: #fff;
  border: 1.5px solid #e2e8f4;
  border-radius: 16px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  transition: box-shadow 0.2s, transform 0.2s;
}
.gspkg-card:hover { box-shadow: 0 8px 32px rgba(26,58,138,0.1); transform: translateY(-2px); }
.gspkg-card--popular {
  border-color: #29b6d6;
  box-shadow: 0 4px 24px rgba(41,182,214,0.15);
}
.gspkg-card--premium {
  border-color: #1a3a8a;
  background: linear-gradient(160deg, #f8faff, #eef3ff);
}
.gspkg-popular-badge {
  display: inline-block;
  background: #29b6d6;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 100px;
  margin-bottom: 4px;
  width: fit-content;
}
.gspkg-sessions {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: #1a2744;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.gspkg-price {
  font-family: 'Montserrat', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  color: #0f2460;
  line-height: 1;
}
.gspkg-save {
  display: inline-block;
  background: rgba(41,182,214,0.12);
  color: #1a3a8a;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 100px;
  width: fit-content;
}
.gspkg-list {
  list-style: none;
  padding: 0;
  margin: 4px 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}
.gspkg-list li {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #2d3748;
  padding-left: 18px;
  position: relative;
}
.gspkg-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: #29b6d6;
  font-weight: 700;
}
.gspkg-valued {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  color: #8a96aa;
  border-top: 1px solid #eaeef6;
  padding-top: 8px;
  margin-top: 4px;
}
.gspkg-free-box {
  background: linear-gradient(135deg, rgba(26,58,138,.06), rgba(41,182,214,.08));
  border: 1px solid rgba(41,182,214,.3);
  border-radius: 10px;
  padding: 12px 14px;
  margin: 4px 0;
}
.gspkg-free-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #1a3a8a;
  text-transform: uppercase;
  display: block;
  margin-bottom: 6px;
}
.gspkg-free-items {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.gspkg-free-items span {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  color: #1a3a8a;
  font-weight: 600;
}
.gspkg-btn {
  display: block;
  text-align: center;
  background: #1a3a8a;
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  padding: 12px 20px;
  border-radius: 100px;
  text-decoration: none;
  margin-top: 8px;
  transition: background 0.2s, transform 0.2s;
}
.gspkg-btn:hover { background: #0f2460; transform: translateY(-1px); }
.gspkg-btn--premium { background: linear-gradient(135deg, #1a3a8a, #29b6d6); }
.gspkg-btn--premium:hover { background: linear-gradient(135deg, #0f2460, #1793ad); }

@media (max-width: 768px) {
  .gspkg-grid { grid-template-columns: 1fr; }
  .gspkg-grid--2 { grid-template-columns: 1fr; }
  .gspkg-grid--1 { max-width: 100%; }
}
@media (max-width: 480px) {
  .gspkg-price { font-size: 1.6rem; }
  .gspkg-card { padding: 22px 18px; }
}

/* ══════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE OPTIMIZATION — v14
   Targets: 768px (tablet), 600px (large phone), 390px (small phone)
   ══════════════════════════════════════════════════════════════ */

/* ── 1. NAV — trigger hamburger at 900px ── */
@media(max-width:900px){
  .nav, .header-actions .btn-book { display: none !important; }
  .mobile-menu-btn { display: flex !important; }
  .header-inner { justify-content: space-between; gap: 0; }
  .header-actions { display: none !important; }
  .logo-img { height: 64px; }
  .footer-logo-img { height: 80px; mix-blend-mode: multiply; }
}

/* ── 2. HERO SECTION ── */
@media(max-width:900px){
  .hero { min-height: 100svh; }
  .hero-h1 { font-size: clamp(1.8rem, 7vw, 2.6rem); max-width: 100%; }
  .hero-sub { font-size: 0.85rem; max-width: 100%; }
  .hero-ctas { flex-wrap: wrap; gap: 10px; }
  .hero-ctas .btn { width: 100%; text-align: center; justify-content: center; }
  .hero-trust { flex-wrap: wrap; gap: 12px; }
  .hero-stats { flex-wrap: wrap; gap: 12px; }
}

/* ── 3. SECTION PADDING — tighter on mobile ── */
@media(max-width:900px){
  .section { padding: 48px 0; }
  .section-header { margin-bottom: 32px; }
  .section-eyebrow { font-size: 0.6rem; }
  .section-title { font-size: clamp(1.4rem, 5vw, 1.9rem); }
  .container { padding-left: 16px; padding-right: 16px; }
}

/* ── 4. TREATMENT / DRIP CARDS ── */
@media(max-width:900px){
  .drips-grid { grid-template-columns: 1fr; gap: 16px; }
  .drip-card { padding: 20px 18px; }
  .drip-card h3 { font-size: 1rem; }
  .drip-card p { font-size: 0.82rem; }
  .drip-price { font-size: 1.2rem; }
}

/* ── 5. MEMBERSHIP CARDS ── */
@media(max-width:900px){
  .membership-layout { grid-template-columns: 1fr; gap: 20px; }
  .membership-card { padding: 24px 20px; }
  .membership-benefits { grid-template-columns: 1fr; }
  .mc-price { font-size: 2rem; }
}

/* ── 6. LOCATIONS GRID ── */
@media(max-width:900px){
  .locations-grid { grid-template-columns: 1fr; gap: 16px; }
  .loc-card { padding: 24px 20px; }
}

/* ── 7. GOAL CARDS ── */
@media(max-width:900px){
  .goals-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}
@media(max-width:420px){
  .goals-grid { grid-template-columns: 1fr; }
}

/* ── 8. FOOTER ── */
@media(max-width:900px){
  .footer-top { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .footer-links-group { grid-template-columns: 1fr 1fr; }
  .footer-brand { text-align: center; grid-column: 1 / -1; }
  .footer-brand .footer-logo-img { margin: 0 auto 12px; height: 64px; mix-blend-mode: multiply; }
  .footer-brand .footer-logo { margin: 0 auto 12px; height: 64px; }
  .footer-tagline { font-size: 0.82rem; max-width: 36ch; margin: 0 auto var(--sp-3); }
  .footer-social { justify-content: center; }
  .footer-socials { justify-content: center; }
}
@media(max-width:600px){
  .footer-top { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-col h4, .footer-col h5, .footer-heading { font-size: 0.65rem; letter-spacing: 0.1em; }
  .footer-col a, .footer-col li a { font-size: 0.8rem; }
}

/* ── 9. HOW IT WORKS STEPS ── */
@media(max-width:900px){
  .steps-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media(max-width:440px){
  .steps-grid { grid-template-columns: 1fr; }
  .step-card-body { padding: 16px; }
}

/* ── 10. SHOTS / VITAMIN SHOTS LAYOUT ── */
@media(max-width:900px){
  .shots-layout { grid-template-columns: 1fr; }
  .shots-image-col img { aspect-ratio: 16/9; }
  .shot-card { padding: 16px 14px; }
}

/* ── 11. WEIGHT LOSS PAGE ── */
@media(max-width:900px){
  .wl-plans-grid { grid-template-columns: 1fr; gap: 20px; }
  .wl-plan-card { padding: 24px 20px; }
  .wl-hero-stats { flex-wrap: wrap; gap: 16px; justify-content: center; }
  .wl-addons-grid { grid-template-columns: 1fr 1fr; }
  .wl-new-client-inner { padding: 28px 20px; }
}
@media(max-width:480px){
  .wl-addons-grid { grid-template-columns: 1fr; }
}

/* ── 12. BLOG PAGE ── */
@media(max-width:900px){
  .blog-grid, .blog-cards-grid { grid-template-columns: 1fr; gap: 16px; }
  .blog-card { padding: 0; }
  .blog-card-body { padding: 18px 16px; }
  .blog-card-title { font-size: 1rem; }
  .blog-hero-stats { flex-wrap: wrap; gap: 16px; }
}

/* ── 13. BLOG POST ARTICLE ── */
@media(max-width:900px){
  .bp-layout { grid-template-columns: 1fr; }
  .bp-sidebar { position: static; }
  .bp-article { padding: 24px 18px; }
  .bp-article h2 { font-size: 1.1rem; }
  .bp-hero h1 { font-size: clamp(1.4rem, 5vw, 2rem); }
  .bp-bottom-cta { padding: 36px 20px; }
  .bp-bottom-cta-btns { flex-direction: column; }
  .bp-bottom-cta-btns .bp-book-btn,
  .bp-bottom-cta-btns .bp-ghost-btn { width: 100%; justify-content: center; }
}

/* ── 14. GLUTATHIONE PAGES ── */
@media(max-width:900px){
  .gs-hero { padding: 90px 0 48px; }
  .gs-hero-title { font-size: clamp(1.6rem, 6vw, 2.4rem); }
  .gs-hero-stats { flex-wrap: wrap; gap: 12px; justify-content: center; }
  .gs-hero-stat { min-width: 100px; }
  .gs-hub-grid { grid-template-columns: 1fr; gap: 16px; }
  .gs-hub-card { padding: 24px 20px; }
  .gs-card-grid, .gs-drip-grid { grid-template-columns: 1fr; }
  .gs-im-grid { grid-template-columns: 1fr; }
  .gs-compare-table { font-size: 0.8rem; }
  .gs-route-group { padding: 20px 16px; }
  .gs-section-title { font-size: clamp(1.3rem, 5vw, 1.8rem); }
  .gspkg-group { padding: 24px 0; }
  .gspkg-grid { grid-template-columns: 1fr; }
  .gspkg-grid--2 { grid-template-columns: 1fr; }
  .gspkg-card { padding: 20px 16px; }
  .gspkg-price { font-size: 1.8rem; }
  .gspkg-group-title { font-size: 1.1rem; }
  .gs-im-card { padding: 20px 16px; }
  .gs-push-card { padding: 20px 16px; }
  .gs-push-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .gs-compare-group { padding: 0; }
}
@media(max-width:480px){
  .gs-push-grid { grid-template-columns: 1fr; }
}

/* ── 15. GENERAL CARDS / BUTTONS ── */
@media(max-width:900px){
  .btn { font-size: 0.72rem; padding: 12px 20px; }
  .btn-book { padding: 11px 18px; font-size: 0.7rem; }
  .section-cta { flex-direction: column; align-items: center; gap: 12px; }
  .section-cta .btn { width: 100%; max-width: 340px; justify-content: center; }
}

/* ── 16. ABOUT / GLUTA AUTHORITY LAYOUT ── */
@media(max-width:900px){
  .gluta-layout { grid-template-columns: 1fr; }
  .gluta-image-col img { aspect-ratio: 16/9; }
  .about-layout { grid-template-columns: 1fr; }
  .ga-pillars { grid-template-columns: 1fr; }
  .ga-results-grid { grid-template-columns: 1fr 1fr; }
  .ga-statement { padding: 32px 20px; border-radius: 16px; }
  .ga-cta-wrap { flex-direction: column; gap: 12px; align-items: center; }
  .ga-cta-wrap .btn { width: 100%; max-width: 320px; justify-content: center; }
}

/* ── 17. OVERFLOW PREVENTION ── */
@media(max-width:900px){
  body { overflow-x: hidden; }
  .container { max-width: 100%; }
  img { max-width: 100%; height: auto; }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* ── 18. FORM / CONTACT ── */
@media(max-width:900px){
  .contact-wrapper { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .contact-info { padding: 24px 20px; }
}

/* ── 19. PRICING / PLAN CARDS ── */
@media(max-width:900px){
  .pricing-grid { grid-template-columns: 1fr; gap: 16px; }
  .pricing-card { padding: 24px 20px; }
}

/* ── 20. MOBILE NAD+ / TREATMENT DETAIL PAGES ── */
@media(max-width:900px){
  .treatment-layout { grid-template-columns: 1fr; }
  .treatment-sidebar { position: static; }
  .treatment-content { padding: 24px 18px; }
  .ingredient-grid { grid-template-columns: 1fr 1fr; }
}
@media(max-width:440px){
  .ingredient-grid { grid-template-columns: 1fr; }
}


/* ── NAV SQUISH FIX — tighter gap at mid-widths ── */
@media(max-width:1100px){
  .header-inner { gap: var(--sp-3); padding-left: clamp(var(--sp-3), 3vw, var(--sp-6)); padding-right: clamp(var(--sp-3), 3vw, var(--sp-6)); }
  .nav ul { gap: clamp(var(--sp-1), 1.2vw, var(--sp-3)); }
  .nav-link { font-size: clamp(.6rem, .75vw, .75rem); letter-spacing: .02em; }
  .btn-book { font-size: .65rem !important; padding: 8px 14px !important; }
}

/* ── PILLAR CARD READ MORE (mobile only) ── */
.ga-read-more {
  display: none; /* hidden on desktop */
}
@media(max-width:600px){
  .ga-pillar-p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: none;
  }
  .ga-pillar-p.expanded {
    display: block;
    -webkit-line-clamp: unset;
    overflow: visible;
  }
  .ga-read-more {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-display);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    color: var(--sky);
    padding: 2px 0 6px;
    text-transform: uppercase;
    transition: opacity .2s;
  }
  .ga-pillar--featured .ga-read-more {
    color: #29b6d6;
  }
  .ga-read-more svg {
    transition: transform .25s;
  }
  .ga-read-more[aria-expanded="true"] svg {
    transform: rotate(180deg);
  }
  .ga-read-more.hidden {
    display: none;
  }
}

/* ── FOOTER MOBILE LAYOUT ── */
@media(max-width:600px){
  .footer { padding-block: var(--sp-10) var(--sp-6); }

  /* Single column overall — footer-top becomes block on mobile */
  .footer-top {
    display: block !important;
    gap: 0 !important;
  }

  /* Brand: centered, compact */
  .footer-brand {
    text-align: center;
    padding-bottom: var(--sp-6);
    border-bottom: 1px solid rgba(255,255,255,.08);
    margin-bottom: var(--sp-6);
  }
  .footer-brand p { max-width: 100%; font-size: .72rem; }
  .footer-logo-img { height: 72px; margin: 0 auto var(--sp-3); display: block; mix-blend-mode: multiply; }
  .footer-logo { height: 64px; margin: 0 auto var(--sp-3); display: block; }
  .footer-social { justify-content: center; gap: var(--sp-3); }
  .footer-socials { justify-content: center; gap: 10px; }

  /* 2-column grid for link groups */
  .footer-links-group,
  .footer-cols-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: var(--sp-5) var(--sp-3) !important;
    width: 100% !important;
  }

  /* Each col: compact text */
  .footer-col h5 {
    font-size: .62rem;
    margin-bottom: var(--sp-3);
    padding-bottom: var(--sp-2);
  }
  .footer-col ul { gap: var(--sp-2); }
  .footer-col a { font-size: .7rem; white-space: normal; line-height: 1.5; }
  .footer-col .footer-contact-item { margin-bottom: var(--sp-2); }
  .footer-col .footer-contact-value,
  .footer-col .footer-contact-value a { font-size: .7rem; }
  .footer-col .footer-contact-label { font-size: .55rem; }

  /* Stacked h5 headings inside same col — smaller gap on mobile */
  .footer-col h5[style*="margin-top"] { margin-top: var(--sp-5) !important; }
}

/* ── MOBILE HEADER — center logo ── */
@media(max-width:900px){
  .header-inner {
    display: grid;
    grid-template-columns: 48px 1fr 48px;
    align-items: center;
    gap: 0;
  }
  /* Empty left cell to balance the hamburger on the right */
  .header-inner::before {
    content: '';
    display: block;
  }
  .logo {
    grid-column: 2;
    justify-self: center;
  }
  .logo-img {
    height: 80px !important;
  }
  .mobile-menu-btn {
    grid-column: 3;
    justify-self: end;
    margin-left: 0;
    padding: var(--sp-2);
  }
}

/* ── MOBILE HERO — tablet/mid breakpoint (900px) ── */
@media(max-width:900px){
  .hero {
    min-height: calc(100svh - 100px);
    align-items: flex-end;
  }
  .hero-content {
    padding-bottom: clamp(var(--sp-8), 5vh, var(--sp-16));
  }
  .hero-h1 {
    font-size: clamp(1.7rem, 7.5vw, 2.4rem);
  }
}
