/* ============================================================
   RISHI RATNA AYURVED — MAIN STYLESHEET
   ============================================================
   1.  Fonts & Root Variables
   2.  Reset & Base
   3.  Navigation (Header)
   4.  Buttons
   5.  Hero (General + Small)
   6.  Sections & Headings
   7.  Panels & Columns
   8.  Products (Cards, Grid, Empty)
   9.  Products Page (Choose)
   10. Lightbox
   11. Contact
   12. Footer
   13. Pills
   14. Home Banner Slider
   15. Poster Slides (Dr. S. Kumar)
   16. Our Clinics Section (cards)
   17. Clinic Day Pages (details + CTA)
   18. Review Videos
   19. Hamburger Menu
   20. Responsive
   21. Reduced Motion
   ============================================================ */

/* ============ 1. FONTS & ROOT VARIABLES ============ */
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=Noto+Sans+Devanagari:wght@400;500;700&display=swap");

:root{
  --forest:#1e4d2b;
  --leaf:#3f8a49;
  --moss:#8fb86b;
  --mist:#eef5e4;
  --bark:#5a3e2b;
  --turmeric:#e0a526;
  --ink:#1d2a20;
  --serif:"Roboto","Noto Sans Devanagari",Arial,sans-serif;
  --sans:"Roboto","Noto Sans Devanagari",Arial,sans-serif;
}

/* ============ 2. RESET & BASE ============ */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);color:var(--ink);line-height:1.7;font-size:18px;
  background-color:#dcebc9;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%232f6b3a' fill-opacity='.09'%3E%3Cpath d='M22 70C22 36 50 18 80 14c0 34-18 62-58 56z'/%3E%3Cpath d='M112 168c0-28 22-44 48-48 0 28-14 52-48 48z'/%3E%3Cpath d='M130 40c0-16 12-26 28-28 0 16-8 30-28 28z'/%3E%3C/g%3E%3C/svg%3E"),
    linear-gradient(170deg,#e9f4da 0%,#cfe5bb 55%,#b9d9a3 100%);
  background-attachment:fixed;
}
a{color:inherit}
img{max-width:100%}
:focus-visible{outline:3px solid var(--turmeric);outline-offset:2px}
.wrap{width:min(1100px,92%);margin-inline:auto}

/* ============ 3. NAVIGATION (HEADER) ============ */
header{position:sticky;top:0;z-index:20;background:rgba(30,77,43,.96);backdrop-filter:blur(6px)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:var(--serif);font-weight:700;font-size:1.3rem;letter-spacing:.01em;white-space:nowrap}
.brand img{width:42px;height:42px;border-radius:50%;background:#fff;object-fit:contain}
nav{display:flex;gap:4px;overflow-x:auto}
nav a{color:#e5f1d6;text-decoration:none;padding:8px 12px;border-radius:8px;font-size:1.02rem;font-weight:600;white-space:nowrap}
nav a:hover{background:rgba(255,255,255,.14)}
nav a.active{background:rgba(255,255,255,.18);color:#fff}

/* ============ 4. BUTTONS ============ */
.btn{display:inline-block;padding:13px 24px;border-radius:999px;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-weight:700;font-size:1.02rem;letter-spacing:.01em}
.btn.gold{background:var(--turmeric);color:#2b2105}
.btn.gold:hover{background:#f0b838}
.btn.line{border-color:#cfe5bb;color:#fff}
.btn.line:hover{background:rgba(255,255,255,.14)}
.btn.green{background:var(--forest);color:#fff}
.btn.green:hover{background:var(--leaf)}
.btn.wa{background:#25D366;color:#fff}
.btn.wa:hover{background:#1ebe57}
.btn.map-btn{background:var(--bark);color:#fff}
.btn.map-btn:hover{background:#6e4d36}

/* ============ 5. HERO (GENERAL + SMALL) ============ */
.hero{position:relative;overflow:hidden;color:#fff;padding:84px 0 96px;
  background:
    radial-gradient(circle at 85% 20%,rgba(224,165,38,.28),transparent 45%),
    linear-gradient(135deg,#17401f 0%,#2c6a38 55%,#4f9a50 100%)}
.hero svg.leaf{position:absolute;pointer-events:none}
.hero .l1{right:-60px;bottom:-40px;width:420px;opacity:.16}
.hero .l2{left:-90px;top:-70px;width:320px;opacity:.1;transform:rotate(200deg)}
.hero .in{position:relative;max-width:640px}
.hero h1{font-family:var(--serif);font-weight:700;font-size:clamp(2.4rem,6.5vw,4rem);line-height:1.2;letter-spacing:.01em;text-shadow:0 2px 14px rgba(0,0,0,.25);margin-bottom:16px}
.hero p{font-size:1.2rem;font-weight:500;color:#e7f3d9;margin-bottom:28px}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.hero.small{padding:48px 0 56px}
.hero.small h1{font-size:clamp(2.1rem,5.5vw,3.2rem);margin-bottom:10px}
.hero.small p{margin-bottom:0}
.hero .wrap.in{max-width:none}
.hero .in>*{max-width:640px}

/* ============ 6. SECTIONS & HEADINGS ============ */
section{padding:64px 0}
section.tight{padding:36px 0 0}
h2{font-family:var(--serif);font-weight:700;font-size:clamp(1.9rem,4.5vw,2.8rem);color:var(--forest);margin-bottom:14px;line-height:1.25}
h2::after{content:"";display:block;width:70px;height:5px;border-radius:5px;margin-top:10px;background:linear-gradient(90deg,var(--turmeric),var(--leaf))}
.cta h2::after,.choice h2::after{margin-inline:auto}
.sub{font-size:1.1rem;font-weight:500;color:#41563f;margin-bottom:32px;max-width:60ch}

/* ============ 7. PANELS & COLUMNS ============ */
.panel{background:rgba(255,255,255,.82);border-radius:20px;padding:clamp(22px,4vw,40px);box-shadow:0 10px 30px rgba(30,77,43,.12)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:22px;margin-top:8px}
.cols h3{font-family:var(--serif);font-weight:700;color:var(--forest);font-size:1.45rem;margin-bottom:6px}
.more{margin-top:28px}
.cta{text-align:center}
.cta p{margin:0 auto 20px;max-width:55ch}

/* About / Ayurveda */
.two{display:grid;grid-template-columns:1.5fr 1fr;gap:36px;align-items:center}
.two p{margin-bottom:14px}
.ticks{list-style:none;display:grid;gap:14px}
.ticks li{display:flex;gap:12px;align-items:center;font-weight:600;color:var(--forest)}
.ticks li::before{content:"\2713";flex:none;width:26px;height:26px;border-radius:50%;background:var(--leaf);color:#fff;display:grid;place-items:center;font-size:.9rem}

/* ============ 8. PRODUCTS (CARDS, GRID, EMPTY) ============ */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:22px}
.card{background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 22px rgba(30,77,43,.14)}
.card .pic{aspect-ratio:1/1;background:var(--mist);display:grid;place-items:center}
.card img{width:100%;height:100%;object-fit:contain;padding:10px}
.card .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font-family:var(--serif);font-weight:700;font-size:1.25rem;color:var(--forest)}
.tag{font-size:.9rem;color:var(--bark);font-weight:700}
.card p{font-size:.95rem;color:#3d4f3f}
.meta{font-size:.9rem;color:#2d3f2f}
.card .btn{margin-top:auto;text-align:center;padding:10px 16px;font-size:.95rem}
.grid.big{grid-template-columns:repeat(2,1fr);gap:26px}
.card .pic{display:block;position:relative;width:100%;padding:0;border:0;background:#111;cursor:zoom-in;aspect-ratio:3/2}
.card .pic img{width:100%;height:100%;object-fit:contain;padding:0;display:block}
.card .pic::after{content:"Tap to enlarge";position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.62);color:#fff;font-size:.76rem;padding:3px 11px;border-radius:999px}
.grid.big .card h3{font-size:1.6rem}
.points{list-style:none;display:grid;gap:9px;margin:6px 0 12px}
.points li{position:relative;padding-left:28px;font-size:1.05rem;font-weight:500;line-height:1.5;color:#2a3d2c}
.points li::before{content:"\2713";position:absolute;left:0;top:2px;width:19px;height:19px;border-radius:50%;background:var(--leaf);color:#fff;font-size:.72rem;display:grid;place-items:center}
.empty{grid-column:1/-1;background:rgba(255,255,255,.82);border-radius:18px;padding:28px 22px;text-align:center;display:grid;gap:14px;justify-items:center}
.empty .btn{width:auto}

/* ============ 9. PRODUCTS PAGE (CHOOSE) ============ */
.choose{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.choice{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:38px 24px 32px;border-radius:22px;background:rgba(255,255,255,.92);text-decoration:none;color:var(--ink);border:2px solid transparent;box-shadow:0 10px 30px rgba(30,77,43,.14);transition:transform .25s,border-color .25s}
.choice:hover,.choice:focus-visible{transform:translateY(-6px);border-color:var(--turmeric)}
.choice .ico{width:104px;height:104px;border-radius:50%;display:grid;place-items:center;font-size:3.2rem;background:var(--mist)}
.choice h2{margin-bottom:0}
.choice p{max-width:32ch}
.choice .btn{margin-top:6px}
.back a{font-weight:700;color:var(--forest);text-decoration:none;border-bottom:2px solid var(--turmeric)}

/* ============ 10. LIGHTBOX ============ */
.lightbox{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.9);display:grid;place-items:center;padding:14px;cursor:zoom-out}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}
.lb-close{position:absolute;top:10px;right:12px;z-index:2;width:46px;height:46px;border-radius:50%;border:2px solid rgba(255,255,255,.65);background:rgba(0,0,0,.45);color:#fff;font-size:1.9rem;line-height:1;cursor:pointer;padding-bottom:3px}

/* ============ 11. CONTACT ============ */
.contact{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}
.contact dt{font-weight:600;color:var(--bark);margin-top:14px}
.contact dd a{color:var(--forest)}
.contact dd,.contact dd a,.note,footer a{overflow-wrap:anywhere}
.contact>*{min-width:0}
form{display:grid;gap:12px}
label{font-weight:500;font-size:.95rem}
input,textarea{width:100%;padding:12px 14px;border:1.5px solid #b7cfa3;border-radius:12px;font:inherit;background:#fff}
input:focus,textarea:focus{outline:3px solid rgba(224,165,38,.5);border-color:var(--turmeric)}

/* ============ 12. FOOTER ============ */
footer{background:var(--forest);color:#d9ecc7;padding:40px 0 28px;font-size:1rem}
footer .note{max-width:70ch;margin-bottom:14px}
footer .copy{border-top:1px solid rgba(255,255,255,.18);padding-top:14px;margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between}
footer a{color:#f1d98a}
footer .links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:14px}
footer .links a{color:#d9ecc7;text-decoration:none;font-weight:600}
footer .links a:hover{text-decoration:underline}

/* ============ 13. PILLS ============ */
.pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.pills a{padding:10px 22px;border-radius:999px;background:var(--forest);color:#fff;text-decoration:none;font-weight:600}
.pills a:hover{background:var(--leaf)}
.pills b{background:var(--turmeric);color:#2b2105;border-radius:999px;padding:0 9px;margin-left:6px;font-size:.85rem}

/* ============ 14. HOME BANNER SLIDER ============ */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bn{position:relative;overflow:hidden;background:#17401f}
.bn-track{display:flex;transition:transform .8s cubic-bezier(.65,0,.35,1)}
.bn-slide{flex:0 0 100%;min-width:100%;position:relative;overflow:hidden;display:grid;place-items:center;background:#17401f}
/* side space: fallback = blurred copy of the picture */
.bn-slide::before{content:"";position:absolute;inset:0;background:var(--bg) center/cover no-repeat;filter:blur(26px);transform:scale(1.1)}
/* side space: JS copies the picture's own edge colours (seamless) */
.bn-slide.ed::before{background:linear-gradient(to bottom,var(--gl)) left/50.5% 100% no-repeat,linear-gradient(to bottom,var(--gr)) right/50.5% 100% no-repeat;filter:none;transform:none}
.bn-slide picture{position:relative;z-index:1;display:flex;justify-content:center;width:100%}
/* whole picture always visible: never taller than the screen */
.bn-slide img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 66px);max-height:calc(100svh - 66px)}
.bn-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:rgba(20,60,30,.5);color:#fff;font-size:1.7rem;line-height:1;cursor:pointer;padding-bottom:4px}
.bn-btn:hover{background:rgba(20,60,30,.8)}
.bn-btn.prev{left:12px}.bn-btn.next{right:12px}
.bn-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:10px;z-index:3}
.bn-dots button{width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:transparent;cursor:pointer;padding:0;box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.bn-dots button[aria-current="true"]{background:var(--turmeric);border-color:var(--turmeric)}
.bn.one .bn-btn,.bn.one .bn-dots{display:none}
@media(max-width:700px){.bn-btn{display:none}}
@media (prefers-reduced-motion:reduce){.bn-track{transition:none}}

/* ============ 15. POSTER SLIDES ============ */
.slide.pz{padding:34px 0 66px;text-align:center;color:#1b3a1f;font-family:"Noto Sans Devanagari",var(--sans);flex-direction:column;justify-content:center;align-items:center;text-shadow:none}
.slide.pz>.wrap{display:flex;flex-direction:column;align-items:center;gap:12px}
.slide.s3{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%232f6b3a' fill-opacity='.08'%3E%3Cpath d='M22 70C22 36 50 18 80 14c0 34-18 62-58 56z'/%3E%3Cpath d='M112 168c0-28 22-44 48-48 0 28-14 52-48 48z'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,#f4faea 0%,#d6ebbb 100%)}
.slide.s4{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='%232f6b3a' fill-opacity='.08'%3E%3Cpath d='M22 70C22 36 50 18 80 14c0 34-18 62-58 56z'/%3E%3Cpath d='M112 168c0-28 22-44 48-48 0 28-14 52-48 48z'/%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,#eaf6d8 0%,#c4e2a2 100%)}
.pz-title{font-family:var(--serif);font-weight:700;color:#8a1c1c;font-size:clamp(2rem,5.5vw,3.4rem);line-height:1.2}
.pill{display:inline-block;padding:.2em 1.1em;border-radius:22px;font-weight:700;font-size:clamp(1rem,2.4vw,1.35rem);line-height:1.5}
.pill.green{background:#1e5a2b;color:#fff}
.pill.maroon{background:#8a1c1c;color:#fff}
.pill.navy{background:#1f3b7a;color:#fff}
.pill.purple{background:#7a2a7a;color:#fff}
.pill.cream{background:#fff8dc;color:#1b3a1f;border:2px solid #1e5a2b}
.pill em{font-style:normal;color:#c0141c;font-weight:800}
.pz-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%}
.pz-card{border:2px solid;border-radius:16px;padding:12px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:8px}
.pz-card .txt{font-weight:500;font-size:clamp(.95rem,1.8vw,1.1rem);line-height:1.6}
.pz-card .txt b{font-weight:800}
.pz-card.c1{background:#fff4e2;border-color:#e3b25a}
.pz-card.c2{background:#eaf2ff;border-color:#7d9fe0}
.pz-card.c3{background:#fbeaf7;border-color:#cf82c2}
.pz-spec{background:#ffe94a;color:#8a1c1c;font-weight:800;font-size:clamp(1.05rem,2.6vw,1.6rem);line-height:1.5;border-radius:16px;padding:10px 18px;border:2px solid #d4b800;width:100%}
.pz-chips{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%}
.pz-chips li{background:#1e5a2b;color:#fff;font-weight:700;border-radius:12px;padding:10px 8px;font-size:clamp(.95rem,1.8vw,1.1rem)}
.pz-call{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;background:#8a1c1c;color:#fff;border-radius:999px;padding:8px 24px;font-weight:800;font-size:clamp(1.05rem,2.6vw,1.6rem)}
.pz-call a{color:#ffe94a;text-decoration:none}
.pz-call i{font-style:normal;opacity:.7}

/* ============ 16. OUR CLINICS SECTION (CARDS) ============ */
.clinic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

.clinic-card{
  background:#fff;border-radius:20px;overflow:hidden;
  display:flex;flex-direction:column;
  box-shadow:0 10px 26px rgba(30,77,43,.14);
  transition:transform .25s ease,box-shadow .25s ease;
  border:1px solid rgba(30,77,43,.08);
  color:inherit;text-decoration:none;
}
.clinic-card:hover{transform:translateY(-6px);box-shadow:0 14px 34px rgba(30,77,43,.2)}

.clinic-day{position:relative;text-align:center;padding:24px 18px 20px;color:#fff;font-family:var(--serif);font-weight:700}
.clinic-day h3{font-family:var(--serif);font-weight:700;font-size:1.6rem;line-height:1.3;margin:6px 0 4px}
.clinic-day-en{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.85}
.clinic-icon{font-size:1.9rem;display:block;line-height:1}

.day-mon{background:linear-gradient(135deg,#1f3b7a,#3a63b8)}
.day-thu{background:linear-gradient(135deg,#1e4d2b,#3f8a49)}
.day-sat{background:linear-gradient(135deg,#7a2a7a,#a94fa9)}

.clinic-body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.clinic-body h4{font-family:var(--serif);font-weight:700;color:var(--forest);font-size:1.2rem;line-height:1.35}
.clinic-addr{color:#3d4f3f;font-size:.98rem;line-height:1.6}

.clinic-timing{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--mist);border-left:4px solid var(--leaf);border-radius:10px;padding:10px 14px;margin-top:4px}
.time-label{font-weight:700;color:var(--forest);font-size:.9rem}
.time-val{font-weight:600;color:#2a3d2c;font-size:.95rem}

.clinic-actions{display:flex;gap:10px;margin-top:6px}
.clinic-actions:first-of-type{margin-top:auto;padding-top:12px}
.clinic-actions .btn{flex:1;text-align:center;padding:11px 12px;font-size:.92rem;border-radius:999px}

.clinic-note{margin-top:30px;text-align:center;font-size:1.05rem;background:rgba(255,255,255,.82);border-radius:999px;padding:14px 22px;box-shadow:0 6px 18px rgba(30,77,43,.1);max-width:520px;margin-inline:auto}
.clinic-note a{color:var(--forest);font-weight:700;text-decoration:none}
.clinic-note a:hover{text-decoration:underline}
.clinic-note i{font-style:normal;opacity:.5;margin:0 6px}

/* ============ 17. CLINIC DAY PAGES ============ */
.back-day{margin-bottom:14px;font-size:.95rem}
.back-day a{color:#fff;text-decoration:none;font-weight:600;opacity:.85}
.back-day a:hover{opacity:1;text-decoration:underline}

.day-en{font-size:1rem;font-weight:500;color:#e7f3d9;margin-top:-6px}

/* Coloured hero per day */
.day-mon-hero{background:linear-gradient(135deg,#1f3b7a 0%,#3a63b8 100%) !important}
.day-thu-hero{background:linear-gradient(135deg,#1e4d2b 0%,#3f8a49 100%) !important}
.day-sat-hero{background:linear-gradient(135deg,#7a2a7a 0%,#a94fa9 100%) !important}

/* Clinic details grid */
.clinic-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px;margin-top:8px}
.clinic-info-block h3{font-family:var(--serif);font-weight:700;color:var(--forest);font-size:1.2rem;margin-bottom:6px}
.clinic-info-block p{font-size:1rem;color:#3d4f3f;line-height:1.6}
.clinic-info-block .muted{font-size:.9rem;color:#6a7a6a;font-weight:600}
.clinic-info-block a{color:var(--forest);font-weight:700;text-decoration:none}
.clinic-info-block a:hover{text-decoration:underline}

.clinic-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;padding-top:20px;border-top:1px solid rgba(30,77,43,.12)}
.clinic-cta-row .btn{flex:1 1 180px;text-align:center}

/* ============ 18. REVIEW VIDEOS ============ */
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:8px}

.review-card{
  background:#fff;border-radius:18px;overflow:hidden;
  box-shadow:0 8px 22px rgba(30,77,43,.14);
  display:flex;flex-direction:column;
  transition:transform .25s ease,box-shadow .25s ease;
}
.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(30,77,43,.2)}

.review-video{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.review-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.review-meta{padding:16px 18px 20px;display:flex;flex-direction:column;gap:4px}
.review-meta h4{font-family:var(--serif);font-weight:700;color:var(--forest);font-size:1.15rem}
.review-loc{font-size:.9rem;color:var(--bark);font-weight:600}
.review-text{font-size:.98rem;color:#3d4f3f;font-style:italic;margin-top:6px;line-height:1.55}

/* ============ 19. HAMBURGER MENU ============ */
.menu-btn{display:none;flex:none;width:46px;height:46px;border:2px solid rgba(255,255,255,.5);border-radius:10px;background:transparent;cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.menu-btn:hover{background:rgba(255,255,255,.12)}
.menu-btn span{display:block;width:22px;height:2.5px;background:#fff;border-radius:2px;transition:transform .25s,opacity .2s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ============ 20. RESPONSIVE ============ */
@media(max-width:900px){
  .clinic-grid{grid-template-columns:1fr;gap:20px}
}

@media(max-width:820px){
  body{background-attachment:scroll}
  .bar{flex-wrap:nowrap;justify-content:space-between;gap:10px;padding:8px 0}
  .brand{font-size:1.15rem;min-width:0}
  .menu-btn{display:flex}
  header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:#1e4d2b;padding:6px 4% 10px;box-shadow:0 14px 24px rgba(0,0,0,.28);max-height:calc(100vh - 70px);overflow-x:hidden;overflow-y:auto}
  header nav.open{display:flex}
  header nav a{flex:none;text-align:left;padding:14px 12px;font-size:1.1rem;border-radius:0;border-bottom:1px solid rgba(255,255,255,.14)}
  header nav a:last-child{border-bottom:0}
}

@media(max-width:760px){
  .two{grid-template-columns:1fr}
  .pz-row{grid-template-columns:1fr}
  .pz-card{padding:8px 10px 10px;gap:4px}
  .pz-chips{grid-template-columns:repeat(2,1fr)}
  .slide.pz{padding:26px 0 62px}
  .pz-call{border-radius:22px;padding:8px 16px}
}

@media(max-width:700px){
  body{font-size:17px}
  .choose{grid-template-columns:1fr}
  .grid.big{grid-template-columns:1fr;gap:20px}
  .grid.big .card{border-radius:16px}
  .grid.big .card h3{font-size:1.4rem}
  .grid.big .card .body{padding:14px 16px 18px;gap:6px}
  .grid.big .card .tag{font-size:.85rem}
  .grid.big .card .btn{font-size:1rem;padding:12px 16px;border-radius:999px}
}

@media(max-width:600px){
  section{padding:44px 0}
  section.tight{padding:30px 0 0}
  .clinic-day{padding:20px 14px 16px}
  .clinic-day h3{font-size:1.35rem}
  .clinic-body{padding:16px 18px 20px}
  .clinic-actions{flex-direction:column}
  .clinic-note{border-radius:16px;font-size:1rem;padding:14px 18px}
  .clinic-cta-row{flex-direction:column}
  .clinic-cta-row .btn{flex:none;width:100%}
  .review-grid{grid-template-columns:1fr;gap:18px}
}

@media(max-width:340px){
  .brand{font-size:1rem;gap:8px}
  .brand img{width:36px;height:36px}
  .menu-btn{width:42px;height:42px}
  .panel{padding:18px}
}

/* ============ 21. REDUCED MOTION ============ */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .bn-track,.choice{transition:none}
  .choice:hover{transform:none}
}

/* ============ 22. HOME HERO (text banner) ============ */
.hero.home{padding:72px 0 0}
.hero-grid{position:relative;display:grid;grid-template-columns:1.35fr .65fr;gap:36px;align-items:center}
.hero-badge{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);padding:4px 16px;border-radius:999px;font-weight:600;margin-bottom:16px}
.hero.home h1{font-size:clamp(2.6rem,7vw,4.6rem);margin-bottom:10px}
.hero .hero-hi{font-family:var(--serif);font-weight:700;font-size:clamp(1.3rem,3vw,1.9rem);line-height:1.4;color:#ffe9a8;margin-bottom:14px}
.hero-copy p{max-width:54ch}
/* animated logo: floats up and down, glows, and a dotted gold ring rotates around it */
.hero-logo-wrap{position:relative;justify-self:center;width:min(300px,100%);aspect-ratio:1/1;animation:logo-float 4.5s ease-in-out infinite}
.hero-logo-wrap::before{content:"";position:absolute;inset:-22px;border-radius:50%;border:3px dashed rgba(255,233,168,.85);animation:logo-spin 28s linear infinite}
.hero-logo{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;background:#fff;padding:10px;box-shadow:0 0 0 8px rgba(224,165,38,.55),0 0 50px rgba(224,165,38,.4);animation:logo-glow 3s ease-in-out infinite}
@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes logo-spin{to{transform:rotate(360deg)}}
@keyframes logo-glow{0%,100%{box-shadow:0 0 0 8px rgba(224,165,38,.55),0 0 40px rgba(224,165,38,.35)}50%{box-shadow:0 0 0 8px rgba(224,165,38,.85),0 0 85px rgba(224,165,38,.7)}}
@media (prefers-reduced-motion:reduce){.hero-logo-wrap,.hero-logo-wrap::before,.hero-logo{animation:none}}
.hero-facts{position:relative;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:48px;padding-bottom:36px}
.hero-facts li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:14px 12px;text-align:center;backdrop-filter:blur(4px)}
.hero-facts b{display:block;font-family:var(--serif);font-weight:700;font-size:1.6rem;line-height:1.2;color:#ffe9a8}
.hero-facts span{font-size:.95rem;color:#e7f3d9}
@media(max-width:820px){
  .hero-grid{grid-template-columns:1fr}
  .hero-logo-wrap{order:-1;width:120px;justify-self:start;margin:14px}
  .hero-logo-wrap::before{inset:-12px}
  .hero-facts{grid-template-columns:repeat(2,1fr);margin-top:32px}
}
@media(max-width:600px){.hero.home{padding-top:44px}}