/* ═══════════════════════════════════════════════════════════════
   Redi-Medical — premium healthcare + wellness
   Teal #0F3D3E · Wellness Green #7BBE6A · Aqua #38B6A6
   Apple-clean · Mayo-trustworthy · wellness-warm
   ═══════════════════════════════════════════════════════════════ */
:root{
  --teal:#0F3D3E; --teal-700:#13504f; --green:#7BBE6A; --green-600:#5fa54e;
  --aqua:#38B6A6; --aqua-700:#2c9488; --white:#fff; --softgray:#F5F7F5;
  --gray:#6B7280; --ink:#16201d; --line:#e4ebe6; --mist:#eef4ef;
  --r-lg:22px; --r-md:14px; --r-sm:10px;
  --shadow:0 1px 2px rgba(15,61,62,.04),0 18px 50px -22px rgba(15,61,62,.22);
  --shadow-sm:0 8px 28px -14px rgba(15,61,62,.3);
  --grad:linear-gradient(120deg,var(--teal),var(--aqua) 60%,var(--green));
  --maxw:1180px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.serif{font-family:'Fraunces',Georgia,serif}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ── buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:54px;padding:0 30px;border-radius:999px;border:1.6px solid transparent;font-family:inherit;font-size:14.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .2s,background .2s,border-color .2s,color .2s;line-height:1}
.btn-primary{background:var(--grad);color:#fff;box-shadow:0 14px 30px -12px rgba(56,182,166,.6)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 40px -14px rgba(56,182,166,.7)}
.btn-primary .arr{transition:transform .2s}.btn-primary:hover .arr{transform:translateX(4px)}
.btn-ghost{background:#fff;color:var(--teal);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--aqua);background:var(--mist)}
.btn-ghost.on-dark{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.34);backdrop-filter:blur(6px)}
.btn-ghost.on-dark:hover{border-color:#fff;background:rgba(255,255,255,.16)}
.btn-sm{height:46px;padding:0 22px;font-size:13.5px}

/* ── eyebrow ── */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--aqua-700)}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--green);border-radius:2px}

/* ════════ HEADER / NAV ════════ */
header.nav{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
header.nav .wrap{max-width:1320px}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:76px;gap:20px;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:11px;flex-shrink:0;white-space:nowrap}
.brand img{height:42px;width:auto}
.brand .bt{display:flex;flex-direction:column;line-height:1}
.brand .bt b{font-weight:800;font-size:18px;letter-spacing:.02em;color:var(--teal)}
.brand .bt span{font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-600);font-weight:700;margin-top:2px;white-space:nowrap}
.menu{display:flex;align-items:center;gap:22px;flex-wrap:nowrap}
.menu a{font-size:14.5px;font-weight:500;color:#33403b;position:relative;transition:color .15s;white-space:nowrap}
.menu a:hover{color:var(--teal)}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--green);transform:scaleX(0);transition:transform .2s;border-radius:2px}
.menu a:hover::after{transform:scaleX(1)}
.menu .has-d{cursor:pointer}
.nav-cta{display:flex;align-items:center;gap:10px;flex-shrink:0;white-space:nowrap}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--teal);border-radius:2px;transition:.2s}

/* ════════ HERO ════════ */
.hero{position:relative;background:
  radial-gradient(90% 80% at 88% 8%, rgba(123,190,106,.16) 0%, transparent 55%),
  radial-gradient(80% 70% at 0% 100%, rgba(56,182,166,.14) 0%, transparent 55%),
  linear-gradient(180deg,#fbfdfb,#f1f7f2);overflow:hidden}
.hero-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;padding:72px 0 80px}
.hero h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(38px,5.4vw,66px);line-height:1.04;letter-spacing:-.02em;color:var(--teal);margin:20px 0 0}
.hero h1 em{font-style:normal;color:var(--green-600)}
.hero-sub{font-size:clamp(16px,1.7vw,19px);color:#42514b;max-width:48ch;margin:22px 0 32px;line-height:1.65}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-trust{display:flex;gap:26px;margin-top:38px;flex-wrap:wrap}
.hero-trust div{display:flex;flex-direction:column}
.hero-trust .n{font-family:'Fraunces',serif;font-size:26px;font-weight:600;color:var(--teal)}
.hero-trust .l{font-size:12px;color:var(--gray);font-weight:500}
/* hero portrait */
.hero-visual{position:relative}
.hero-portrait{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--shadow);background:var(--mist);aspect-ratio:3/3.4}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-portrait::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(15,61,62,.28))}
.hero-tag{position:absolute;left:-18px;bottom:34px;background:#fff;border-radius:16px;padding:14px 18px;box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:12px;max-width:260px}
.hero-tag .ic{width:42px;height:42px;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.hero-tag .tt{font-weight:700;font-size:13.5px;color:var(--teal)}
.hero-tag .ts{font-size:11.5px;color:var(--gray)}
.hero-badge{position:absolute;right:-12px;top:30px;background:var(--teal);color:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-sm);text-align:center}
.hero-badge .b1{font-family:'Fraunces',serif;font-size:22px;font-weight:600;line-height:1}
.hero-badge .b2{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-top:3px;font-weight:700}

/* ════════ TRUST BAR ════════ */
.trustbar{background:var(--teal);color:#cfe2dc}
.trustbar-row{display:grid;grid-template-columns:repeat(4,1fr)}
.trustbar-item{padding:26px 20px;border-left:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:3px}
.trustbar-item:first-child{border-left:0}
.trustbar-item .t{color:#fff;font-weight:700;font-size:14.5px}
.trustbar-item .d{font-size:12.5px;color:#9cc3b9}

/* ════════ SECTION SCAFFOLD ════════ */
section{padding:clamp(64px,8vw,104px) 0}
.sec-head{max-width:680px;margin:0 auto 56px;text-align:center}
.sec-head h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--teal);margin:16px 0 0}
.sec-head h2 em{font-style:normal;color:var(--green-600)}
.sec-head p{color:var(--gray);font-size:16.5px;margin-top:15px;line-height:1.65}
.center{display:flex;justify-content:center;flex-direction:column;align-items:center}

/* ════════ SERVICES ════════ */
.services{background:var(--softgray)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}
.svc:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.svc::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc:hover::before{transform:scaleX(1)}
.svc .ic{width:58px;height:58px;border-radius:16px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:20px}
.svc h3{font-family:'Fraunces',serif;font-size:23px;font-weight:600;margin-bottom:10px;color:var(--teal)}
.svc p{font-size:14.5px;color:var(--gray);line-height:1.62;margin-bottom:18px}
.svc ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.svc li{display:flex;gap:9px;font-size:13.5px;color:#3a473f;align-items:flex-start}
.svc li::before{content:"✓";color:var(--green-600);font-weight:800;flex-shrink:0}
.svc .more{display:inline-flex;align-items:center;gap:7px;margin-top:20px;font-weight:600;font-size:13.5px;color:var(--aqua-700)}

/* ════════ ABOUT SIMONE ════════ */
.about{background:#fff}
.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
.about-photo{position:relative;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/4.4;background:var(--mist)}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.about-quote{position:absolute;left:20px;right:20px;bottom:20px;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.about-quote .q{font-family:'Fraunces',serif;font-style:italic;font-size:15.5px;color:var(--teal);line-height:1.45}
.about-quote .a{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-600);margin-top:7px}
.about h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.02em;color:var(--teal);margin:14px 0 18px}
.about p{color:#42514b;font-size:16px;line-height:1.72;margin-bottom:16px}
.about .creds{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0 28px}
.cred{display:flex;gap:12px;align-items:flex-start}
.cred .ci{width:38px;height:38px;border-radius:11px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.cred .ct{font-weight:700;font-size:14px;color:var(--teal)}
.cred .cd{font-size:12.5px;color:var(--gray)}

/* ════════ WELLNESS BANNER ════════ */
.wellness{background:linear-gradient(135deg,var(--teal),var(--aqua-700));color:#eaf5f1;position:relative;overflow:hidden}
.wellness::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;opacity:.6}
.wellness-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.wellness h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(28px,3.6vw,42px);color:#fff;line-height:1.1;margin-bottom:16px}
.wellness p{color:#bfe0d7;font-size:16px;line-height:1.7;margin-bottom:26px;max-width:46ch}
.well-list{display:flex;flex-direction:column;gap:13px}
.well-item{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:15px 18px}
.well-item .wi{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0}
.well-item .wt{font-weight:700;font-size:14.5px;color:#fff}
.well-item .wd{font-size:12.5px;color:#bfe0d7}

/* ════════ TESTIMONIALS ════════ */
.testi{background:var(--softgray)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;display:flex;flex-direction:column}
.tcard .stars{color:var(--green);font-size:15px;letter-spacing:2px;margin-bottom:14px}
.tcard .quote{font-size:15px;color:#3a473f;line-height:1.65;flex:1}
.tcard .who{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.tcard .av{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px}
.tcard .wn{font-weight:700;font-size:14px;color:var(--teal)}
.tcard .wr{font-size:12px;color:var(--gray)}

/* ════════ RX KIT CALLOUT ════════ */
.rxkit{background:#fff}
.rxkit-card{background:linear-gradient(135deg,#0F3D3E,#13504f);border-radius:28px;padding:clamp(34px,5vw,60px);color:#eaf5f1;display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;position:relative;overflow:hidden}
.rxkit-card::after{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(123,190,106,.3),transparent 70%)}
.rxkit-card .rc{position:relative;z-index:1}
.rxkit-card h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(28px,3.6vw,42px);color:#fff;line-height:1.1;margin-bottom:14px}
.rxkit-card p{color:#bfe0d7;font-size:16px;line-height:1.7;margin-bottom:24px}
.rx-feats{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative;z-index:1}
.rx-feat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:13px;padding:16px}
.rx-feat .rt{font-weight:700;font-size:14px;color:#fff;margin-bottom:3px}
.rx-feat .rd{font-size:12px;color:#9cc3b9}

/* ════════ ARTICLES ════════ */
.articles{background:var(--softgray)}
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.art{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .2s,box-shadow .2s}
.art:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.art .im{height:170px;background:var(--grad);position:relative;display:flex;align-items:flex-end;padding:16px}
.art .im.v2{background:linear-gradient(135deg,var(--aqua),var(--teal))}
.art .im.v3{background:linear-gradient(135deg,var(--green),var(--aqua-700))}
.art .cat{background:rgba(255,255,255,.92);color:var(--teal);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:5px 11px;border-radius:999px}
.art .ab{padding:22px}
.art h3{font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:var(--teal);line-height:1.25;margin-bottom:9px}
.art p{font-size:13.5px;color:var(--gray);line-height:1.6;margin-bottom:14px}
.art .rd{font-size:13px;font-weight:600;color:var(--aqua-700);display:inline-flex;gap:6px;align-items:center}

/* ════════ SHOP ════════ */
.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.prod{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;transition:transform .2s,box-shadow .2s}
.prod:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.prod .pim{height:150px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:44px}
.prod .pb{padding:16px}
.prod .pcat{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-600)}
.prod .pn{font-weight:600;font-size:14.5px;color:var(--ink);margin:4px 0 8px;line-height:1.3}
.prod .pp{font-family:'Fraunces',serif;font-size:19px;font-weight:600;color:var(--teal)}

/* ════════ CONTACT ════════ */
.contact{background:#fff}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:start}
.contact-info h2{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(28px,3.6vw,42px);color:var(--teal);line-height:1.1;margin:14px 0 16px}
.contact-info p{color:#42514b;font-size:16px;line-height:1.7;margin-bottom:24px}
.ci-row{display:flex;gap:14px;align-items:center;margin-bottom:16px}
.ci-row .ci-ic{width:46px;height:46px;border-radius:13px;background:var(--mist);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.ci-row .ci-l{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);font-weight:600}
.ci-row .ci-v{font-weight:600;font-size:15px;color:var(--teal)}
.form-card{background:var(--softgray);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px}
.fg{margin-bottom:16px}
.fg label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gray);margin-bottom:7px}
.fg input,.fg select,.fg textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:var(--r-sm);font-family:inherit;font-size:14.5px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 4px rgba(56,182,166,.12)}
.fg textarea{resize:vertical;min-height:140px;line-height:1.6}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:560px){.frow{grid-template-columns:1fr}}

/* ════════ FOOTER ════════ */
footer.foot{background:var(--teal);color:#9cc3b9;padding:64px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:44px}
.foot-brand img{height:56px;width:auto;margin-bottom:14px}
.foot-brand .ft{font-family:'Fraunces',serif;font-style:italic;font-size:17px;color:#eaf5f1;margin-bottom:10px}
.foot-brand p{font-size:13.5px;line-height:1.65;max-width:30ch}
.foot-col h4{color:#fff;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;font-weight:700}
.foot-col a{display:block;font-size:14px;margin-bottom:10px;color:#9cc3b9;transition:color .15s}
.foot-col a:hover{color:var(--green)}
.foot-bot{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px}

/* ════════ RESPONSIVE ════════ */
@media(max-width:1000px){
  .hero-inner,.about-grid,.wellness-grid,.rxkit-card,.contact-grid{grid-template-columns:1fr;gap:40px}
  .hero-visual{max-width:440px;margin:0 auto}
  .about-photo{max-width:420px;margin:0 auto}
  .svc-grid,.testi-grid,.art-grid{grid-template-columns:1fr 1fr}
  .shop-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .rxkit-card{text-align:left}
}
/* ── Nav responsive (progressive) ─────────────────────────────────────── */
/* Large desktops: full nav fits comfortably. */
@media(max-width:1340px){
  .menu{gap:20px}
  .nav-inner{gap:16px}
}
@media(max-width:1180px){
  .menu{gap:15px}
  .menu a{font-size:14px}
  .nav-inner{gap:12px}
  .brand .bt span{display:none}            /* drop tagline to reclaim space */
  .nav-cart{padding:8px 12px}
  .nav-acct{padding:8px 10px}
}
/* Smaller laptops/tablets: collapse the full menu to the hamburger. */
@media(max-width:1024px){
  .menu{display:none !important}
  .nav-cta .btn{display:none !important}   /* hide Book Consultation in bar */
  .nav-acct{display:none !important}       /* moved into mobile menu */
  .burger{display:flex !important}
}
/* Keep the cart visible in the bar even when collapsed, but compact. */
@media(max-width:1024px){
  .nav-cart{padding:8px 12px}
}
@media(max-width:760px){
  .trustbar-row{grid-template-columns:1fr 1fr}
  .trustbar-item:nth-child(3){border-left:0}
  .about .creds{grid-template-columns:1fr}
}
@media(max-width:560px){
  .svc-grid,.testi-grid,.art-grid,.shop-grid{grid-template-columns:1fr}
  .trustbar-row{grid-template-columns:1fr}.trustbar-item{border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .trustbar-item:first-child{border-top:0}
  .foot-grid{grid-template-columns:1fr}
  .rx-feats{grid-template-columns:1fr}
}
/* mobile menu */
/* ═══════════════════════════════════════════════════════════════
   RX KIT — 7-step subscription form (Redi-Medical brand)
   ═══════════════════════════════════════════════════════════════ */
.rx-hero{background:linear-gradient(165deg,#0F3D3E,#13504f);color:#eaf5f1;padding:64px 0 120px;position:relative;overflow:hidden}
.rx-hero::after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;opacity:.5}
.rx-hero .wrap{position:relative;z-index:1;text-align:center}
.rx-hero h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(34px,5vw,56px);line-height:1.05;color:#fff;margin:16px 0 14px;letter-spacing:-.02em}
.rx-hero h1 em{font-style:normal;color:var(--green)}
.rx-hero p{color:#bfe0d7;font-size:17px;max-width:54ch;margin:0 auto;line-height:1.6}
.rx-hero .eyebrow{color:#a9e0d4;justify-content:center}

.form-shell{max-width:620px;margin:-80px auto 0;position:relative;z-index:5;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(15,61,62,.45)}
.fs-prog{padding:24px 34px 0}
.fs-prog-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:11px}
.fs-step{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray)}
.fs-step b{color:var(--teal)}
.fs-name{font-family:'Fraunces',serif;font-style:italic;font-size:17px;color:var(--teal)}
.fs-bar{height:8px;background:var(--mist);border-radius:999px;overflow:hidden}
.fs-fill{height:100%;background:linear-gradient(90deg,var(--aqua),var(--green));border-radius:999px;width:14%;transition:width .4s cubic-bezier(.2,.7,.3,1)}

.fs-body{padding:28px 34px 32px}
.rxpanel{display:none}
.rxpanel.on{display:block;animation:rxfade .3s ease}
@keyframes rxfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rxp-head{margin-bottom:22px;text-align:center}
.rxp-head h2{font-family:'Fraunces',serif;font-size:25px;font-weight:600;color:var(--teal)}
.rxp-head p{font-size:14px;color:var(--gray);margin-top:6px}

.rxfg{margin-bottom:16px;min-width:0}
.rxfg label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin-bottom:7px}
.rxfg label .opt{text-transform:none;letter-spacing:0;color:var(--aqua-700);font-weight:500}
.rxfg input,.rxfg select,.rxfg textarea{width:100%;max-width:100%;min-width:0;padding:13px 15px;border:1.5px solid var(--line);border-radius:10px;font-family:inherit;font-size:14.5px;color:var(--ink);background:#fafdfb;outline:none;transition:border-color .15s,box-shadow .15s,background .15s;box-sizing:border-box}
.rxfg input:focus,.rxfg select:focus,.rxfg textarea:focus{border-color:var(--aqua);background:#fff;box-shadow:0 0 0 4px rgba(56,182,166,.12)}
.rxfg textarea{resize:vertical;min-height:120px;line-height:1.6;padding:14px 15px}
.rxfg select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236B7280' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.rxrow2{display:grid;grid-template-columns:1fr;gap:0}
.rxrow3{display:grid;grid-template-columns:1fr;gap:0}
@media(max-width:560px){.rxrow2,.rxrow3{grid-template-columns:1fr}}

.plan-cards{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:18px}
.plan-card{border:1.5px solid var(--line);border-radius:14px;padding:16px;cursor:pointer;transition:.18s;background:#fafdfb}
.plan-card:hover{border-color:var(--aqua)}
.plan-card.on{border-color:var(--teal);background:var(--mist);box-shadow:0 0 0 3px rgba(15,61,62,.08)}
.plan-card .pc-ic{font-size:22px;margin-bottom:8px}
.plan-card .pc-t{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--teal)}
.plan-card .pc-d{font-size:12px;color:var(--gray);margin-top:3px;line-height:1.45}

.picker{position:relative}
.results{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:40;max-height:210px;overflow-y:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.r-group{padding:8px 14px 3px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--aqua-700)}
.r-item{padding:10px 14px;font-size:14px;cursor:pointer}
.r-item:hover{background:var(--mist);color:var(--teal)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px 6px 13px;background:var(--mist);border:1px solid rgba(15,61,62,.18);color:var(--teal);border-radius:999px;font-size:12.5px;font-weight:500}
.chip button{border:0;background:transparent;color:inherit;font-size:15px;cursor:pointer;opacity:.55;line-height:1}
.chip button:hover{opacity:1}

.cond-tag{display:flex;align-items:center;gap:11px;background:var(--mist);border:1px solid rgba(15,61,62,.14);border-radius:14px;padding:12px 16px;margin-bottom:14px}
.cond-tag .l{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--aqua-700);font-weight:700}
.cond-tag .v{font-family:'Fraunces',serif;font-size:17px;font-weight:600;color:var(--teal)}
.cond-tag .chg{margin-left:auto;font-size:12px;font-weight:600;color:var(--teal);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 13px;cursor:pointer}

.kit-list{display:flex;flex-direction:column;gap:9px;max-height:300px;overflow-y:auto;padding-right:4px;margin-bottom:14px}
.kit-item{display:flex;align-items:center;gap:13px;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px;background:#fafdfb;cursor:pointer;transition:.15s;user-select:none}
.kit-item:not(.on){opacity:.5;background:#f0f2f1}
.kit-item:not(.on) .ck{background:#fff;color:transparent;border-color:var(--line)}
.kit-item:not(.on) .ki-name{text-decoration:line-through;color:var(--gray)}
.kit-item.on{border-color:var(--green)}
.kit-item .ck{width:20px;height:20px;border-radius:6px;border:1.5px solid var(--teal);background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}
.kit-item .ki-img{width:42px;height:42px;border-radius:9px;background:var(--mist);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:20px}
.kit-item .ki-name{font-weight:600;font-size:14px;color:var(--ink)}
.kit-item .ki-meta{font-size:12px;color:var(--gray)}
.kit-item .ki-tag{margin-left:auto;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--aqua-700);background:var(--mist);padding:3px 8px;border-radius:6px;flex-shrink:0;font-weight:700}

.rxnote{background:#fafdfb;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.rxnote .nt{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--gray);margin-bottom:7px;font-weight:700}
.rxinfo{background:var(--mist);border:1px solid rgba(15,61,62,.12);border-radius:14px;padding:15px 17px;font-size:13px;color:#3a4a44;line-height:1.7;margin-top:12px}
.rxinfo .ib-t{font-family:'Fraunces',serif;font-weight:600;font-size:15px;color:var(--teal);margin-bottom:6px}
.rxconsent{background:#f3f9f5;border:1px solid rgba(123,190,106,.4);border-radius:10px;padding:13px 15px;font-size:12.5px;color:#3a5340;line-height:1.6;margin-bottom:16px}

.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:14px}
.rev-cell{padding:13px 16px;border-bottom:1px solid var(--line)}
.rev-cell .rl{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--aqua-700);font-weight:700}
.rev-cell .rv{font-size:14px;font-weight:500;margin-top:2px;color:var(--ink)}
@media(max-width:560px){.review-grid{grid-template-columns:1fr}}

.rxnav{display:flex;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.rxnav .btn-next,.rxnav .btn-submit{margin-left:auto}
.rxnav .btn-back{background:#fff;color:var(--teal);border:1.5px solid var(--line)}
.rxnav .btn-back:hover{border-color:var(--teal);background:var(--mist)}

/* ── Nav cart ─────────────────────────────────────────────────────────── */
.nav-cart{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:14px;font-weight:600;color:var(--teal);padding:9px 14px;border-radius:999px;border:1.5px solid var(--line);position:relative;transition:.15s;text-decoration:none}
.nav-cart:hover{border-color:var(--aqua);background:var(--mist)}
.nav-cart-ic{font-size:16px}
.nav-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--green);color:#08220c;font-size:11px;font-weight:800}
@media(max-width:760px){.nav-cart span:not(.nav-cart-count):not(.nav-cart-ic){display:none}}
.nav-acct{display:inline-flex;align-items:center;white-space:nowrap;font-size:14px;font-weight:600;color:var(--teal);text-decoration:none;padding:9px 12px;border-radius:999px;transition:.15s}
.nav-acct:hover{background:var(--mist)}


/* ══════════════════════════════════════════════════════════════════════
   MOBILE NAV — why the burger was falling off the right edge
   ══════════════════════════════════════════════════════════════════════
   .brand carried flex-shrink:0 and white-space:nowrap inside a nav-inner
   with flex-wrap:nowrap. Nothing in the bar could give, so on a 375px phone
   the brand, cart and burger needed roughly 343px of the 327px available and
   the overflow pushed the burger past the screen edge — reachable by nobody.

   Fixed by making the brand the flexible item, since it is the one thing that
   can lose detail without losing function: the logo alone still identifies
   the site, while a burger you cannot tap is simply a missing menu.
   ══════════════════════════════════════════════════════════════════════ */

@media (max-width:1024px){
  /* Let the bar breathe and give the brand permission to yield. */
  .nav-inner{gap:10px}
  .brand{flex-shrink:1 !important;min-width:0;overflow:hidden}
  .brand .bt{min-width:0}
  .brand .bt b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
  /* The burger is the whole point of this breakpoint — it never shrinks. */
  .burger{flex:0 0 auto;margin-left:auto}
  .nav-cart{flex:0 0 auto}
}

@media (max-width:560px){
  .wrap{padding:0 14px}          /* 20px of usable width back */
  .brand-mark{height:34px}
  .brand .bt b{font-size:15px}
  .nav-cart{padding:7px 10px;font-size:13px}
}

/* ── The brand on narrow screens ───────────────────────────────────────
   First attempt hid the wordmark below 400px, which fixed the overflow and
   lost the brand name. Better: swap to logo-full.svg, one artwork carrying
   mark and wordmark together. 620x200 means 34px tall is ~105px wide, against
   ~173px for the mark plus separate text — the brand stays fully visible AND
   the burger has room. Both images are in the markup; CSS shows one. */
.brand-full{display:none}

@media (max-width:640px){
  .brand-mark{display:none !important}
  .brand .bt{display:none !important}
  .brand-full{display:block;height:34px;width:auto;max-width:none}
  .brand{gap:0}
}
@media (max-width:360px){
  .brand-full{height:30px}
}

/* The menu opened 76px down while header.php forces .nav-inner to 62px, so a
   14px strip of the page showed through above it. Match the real height. */
/* A long service list has to scroll, and on a short phone in landscape the
   bottom items were unreachable. */
/* ── General responsiveness the rest of the site was missing ──────────── */
@media (max-width:760px){
  /* Tables were the other thing running off-screen: a price or spec table
     wider than the viewport pushed the whole page sideways, which is why
     everything felt shifted rather than just the nav. */
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  img,video,iframe{max-width:100%;height:auto}
  pre,code{white-space:pre-wrap;word-break:break-word}
  /* Long unbroken strings — order ids, emails — used to force a wider page. */
  body{overflow-wrap:break-word}
}

@media (max-width:560px){
  h1{font-size:clamp(26px,7vw,34px)}
  h2{font-size:clamp(21px,5.5vw,27px)}
  .btn{width:auto;min-height:44px}    /* 44px is the accepted tap target */
  .btn-sm{min-height:40px}
}

/* .burger became a <button> so it is keyboard-reachable and announces state.
   Strip the default chrome a div never had, and give it a real tap target —
   24px of stripes in an 8px pad is under the 44px minimum. */
.burger{background:none;border:0;-webkit-appearance:none;appearance:none;
  min-width:44px;min-height:44px;align-items:center;justify-content:center}
.burger:focus-visible{outline:2px solid var(--teal,#0e4f4b);outline-offset:2px;border-radius:8px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Book Consultation is hidden from the bar at 1024 and lives in the drawer,
   where it should be the LAST thing after the links rather than lost among
   them — it is the action, not a destination. */
/* A phone in landscape is ~360px tall; a 20-item menu needs to scroll and the
   last items were unreachable. */

/* .mobile-menu rules removed on purpose — every one of them now lives in
   includes/header.php, beside the markup it styles. Two files each declaring
   display, position and inset meant whichever loaded last decided, and the
   drawer kept ending up hidden or clipped. One file, one answer. */
