/* ============================================================
   Parijatha Healthcare — Design System
   Grounded in the parijata (coral jasmine): petal white,
   botanical green, saffron center.
   ============================================================ */

:root{
  /* Palette */
  --ink:      #16241f;   /* text — deep green-black */
  --pine:     #123a32;   /* primary brand — deep botanical green */
  --leaf:     #2f6e5f;   /* secondary — links, buttons */
  --leaf-dk:  #255a4d;   /* button hover */
  --sage:     #dce7e0;   /* pale green fills */
  --sage-2:   #eef3ef;   /* softer green wash */
  --paper:    #fbfbf8;   /* page background — petal white */
  --card:     #ffffff;
  --saffron:  #e4972b;   /* parijata corolla accent */
  --saffron-dk:#c47e18;
  --line:     #dbe3dd;   /* hairline borders */
  --muted:    #5c6b64;   /* secondary text */

  /* Type */
  --display: "Fraunces", Georgia, "Times New Roman", serif;
  --body: "Mulish", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Scale */
  --step--1: clamp(0.83rem, 0.8rem + 0.15vw, 0.9rem);
  --step-0:  clamp(1rem, 0.96rem + 0.2vw, 1.08rem);
  --step-1:  clamp(1.2rem, 1.1rem + 0.5vw, 1.4rem);
  --step-2:  clamp(1.45rem, 1.25rem + 1vw, 1.9rem);
  --step-3:  clamp(1.8rem, 1.4rem + 2vw, 2.7rem);
  --step-4:  clamp(2.3rem, 1.7rem + 3vw, 3.8rem);

  /* Layout */
  --wrap: 1140px;
  --gap: clamp(1.25rem, 0.9rem + 1.6vw, 2rem);
  --radius: 14px;
  --radius-lg: 22px;
  --shadow: 0 1px 2px rgba(18,58,50,.04), 0 12px 34px -18px rgba(18,58,50,.28);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

body{
  margin:0;
  font-family:var(--body);
  font-size:var(--step-0);
  line-height:1.65;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:var(--leaf); text-decoration:none; }
a:hover{ color:var(--leaf-dk); }

h1,h2,h3,h4{
  font-family:var(--display);
  font-weight:500;
  line-height:1.12;
  color:var(--pine);
  letter-spacing:-.01em;
  margin:0 0 .5em;
  font-optical-sizing:auto;
}
h1{ font-size:var(--step-4); font-weight:400; }
h2{ font-size:var(--step-3); }
h3{ font-size:var(--step-1); }
p{ margin:0 0 1rem; }

/* ---- Layout helpers ---- */
.wrap{ width:min(100% - 2.4rem, var(--wrap)); margin-inline:auto; }
.section{ padding:clamp(3.2rem, 2rem + 6vw, 6rem) 0; }
.section--sage{ background:var(--sage-2); }
.section--pine{ background:var(--pine); color:#eaf2ee; }
.section--pine h2,.section--pine h3{ color:#fff; }
.eyebrow{
  font-family:var(--body);
  font-weight:800;
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--leaf);
  display:inline-flex; align-items:center; gap:.55rem;
  margin:0 0 1rem;
}
.eyebrow::before{
  content:""; width:20px; height:1px; background:var(--saffron);
}
.section--pine .eyebrow{ color:var(--saffron); }
.lede{ font-size:var(--step-1); color:var(--muted); font-weight:400; max-width:60ch; }
.center{ text-align:center; }
.center .eyebrow{ justify-content:center; }
.center .lede{ margin-inline:auto; }

/* ---- Buttons ---- */
.btn{
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--body); font-weight:800; font-size:.95rem;
  padding:.85rem 1.5rem; border-radius:100px;
  border:1.5px solid transparent; cursor:pointer;
  transition:transform .15s ease, background .15s ease, box-shadow .15s ease;
  line-height:1;
}
.btn:hover{ transform:translateY(-2px); }
.btn svg{ width:18px; height:18px; flex:none; }
.btn--primary{ background:var(--leaf); color:#fff; box-shadow:0 10px 24px -12px rgba(47,110,95,.7); }
.btn--primary:hover{ background:var(--leaf-dk); color:#fff; }
.btn--saffron{ background:var(--saffron); color:#2a1c00; }
.btn--saffron:hover{ background:var(--saffron-dk); color:#2a1c00; }
.btn--ghost{ background:transparent; color:var(--pine); border-color:var(--line); }
.btn--ghost:hover{ background:#fff; border-color:var(--leaf); color:var(--pine); }
.section--pine .btn--ghost{ color:#eaf2ee; border-color:rgba(255,255,255,.35); }
.section--pine .btn--ghost:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* ---- Parijata mark ---- */
.mark{ display:inline-block; vertical-align:middle; }
.mark--sm{ width:26px; height:26px; }

/* ============================================================
   Header
   ============================================================ */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(251,251,248,.85);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; gap:1.5rem;
  padding:.7rem 0; min-height:64px;
}
.brand{ display:flex; align-items:center; gap:.6rem; font-family:var(--display); }
.brand__name{ color:var(--pine); font-size:1.28rem; font-weight:500; letter-spacing:-.01em; line-height:1; }
.brand__sub{ display:block; font-family:var(--body); font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--leaf); font-weight:800; margin-top:3px; }
.nav__links{ display:flex; align-items:center; gap:.35rem; margin-left:auto; }
.nav__links a{
  color:var(--ink); font-weight:700; font-size:.92rem;
  padding:.5rem .7rem; border-radius:8px;
}
.nav__links a:hover,.nav__links a[aria-current="page"]{ background:var(--sage); color:var(--pine); }
.nav__cta{ margin-left:.5rem; }
.nav__toggle{
  display:none; margin-left:auto;
  background:none; border:1.5px solid var(--line); border-radius:10px;
  width:44px; height:44px; cursor:pointer; color:var(--pine);
  align-items:center; justify-content:center;
}
.nav__toggle svg{ width:22px; height:22px; }

@media (max-width:880px){
  .nav__toggle{ display:inline-flex; }
  .nav__links{
    position:fixed; inset:64px 0 auto 0;
    flex-direction:column; align-items:stretch; gap:.15rem;
    background:var(--paper); border-bottom:1px solid var(--line);
    padding:1rem 1.2rem 1.5rem; margin:0;
    box-shadow:var(--shadow);
    transform:translateY(-12px); opacity:0; pointer-events:none;
    transition:opacity .2s ease, transform .2s ease;
  }
  .nav__links.open{ transform:translateY(0); opacity:1; pointer-events:auto; }
  .nav__links a{ padding:.8rem .6rem; font-size:1.05rem; }
  .nav__cta{ margin:.6rem 0 0; }
  .nav__cta .btn{ width:100%; justify-content:center; }
}

/* ============================================================
   Hero
   ============================================================ */
.hero{ position:relative; overflow:hidden; padding:clamp(2.6rem,1.5rem+5vw,5rem) 0 clamp(2.6rem,1.5rem+4vw,4.5rem); }
.hero__grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,1rem+3vw,3.5rem); align-items:center; }
.hero h1{ margin-bottom:.4em; }
.hero .lede{ margin-bottom:1.8rem; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:1.6rem; }
.hero__chips{ display:flex; flex-wrap:wrap; gap:.5rem 1.2rem; padding-top:1.2rem; border-top:1px solid var(--line); }
.chip{ display:inline-flex; align-items:center; gap:.5rem; font-size:.85rem; color:var(--muted); font-weight:700; }
.chip svg{ width:17px; height:17px; color:var(--leaf); flex:none; }

/* Hero art card */
.hero__art{
  position:relative; aspect-ratio:4/5;
  border-radius:var(--radius-lg); overflow:hidden;
  background:
    radial-gradient(120% 90% at 70% 10%, #1a5145 0%, var(--pine) 60%);
  box-shadow:var(--shadow);
  display:grid; place-items:center;
}
.hero__art .bloom{ width:74%; height:auto; opacity:.96; }
.hero__art .photo-note{
  position:absolute; left:14px; bottom:14px; right:14px;
  font-size:.7rem; color:rgba(255,255,255,.6); font-weight:700;
  letter-spacing:.04em; text-align:center;
}
.hero__badge{
  position:absolute; top:16px; left:16px;
  background:rgba(251,251,248,.95); color:var(--pine);
  font-weight:800; font-size:.72rem; letter-spacing:.05em;
  padding:.45rem .8rem; border-radius:100px;
  display:inline-flex; align-items:center; gap:.4rem;
}

@media (max-width:820px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__art{ order:-1; aspect-ratio:16/12; max-height:340px; }
  .hero__art .bloom{ width:48%; }
}

/* ============================================================
   Trust bar
   ============================================================ */
.trustbar{ background:var(--pine); color:#dcebe4; }
.trustbar__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:rgba(255,255,255,.12); }
.trustbar__item{ background:var(--pine); padding:1.1rem 1.2rem; display:flex; align-items:center; gap:.75rem; }
.trustbar__item svg{ width:22px; height:22px; color:var(--saffron); flex:none; }
.trustbar__item b{ display:block; color:#fff; font-size:.95rem; }
.trustbar__item span{ font-size:.78rem; color:#a9c6bb; }
@media (max-width:720px){ .trustbar__grid{ grid-template-columns:1fr 1fr; } }

/* ============================================================
   Specialty cards
   ============================================================ */
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:900px){ .grid-3{ grid-template-columns:1fr; } }

.spec-card{
  background:var(--card); border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:1.8rem;
  display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  position:relative; overflow:hidden;
}
.spec-card::after{
  content:""; position:absolute; inset:0 0 auto 0; height:4px;
  background:linear-gradient(90deg,var(--leaf),var(--saffron));
  opacity:0; transition:opacity .2s ease;
}
.spec-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow); border-color:transparent; }
.spec-card:hover::after{ opacity:1; }
.spec-card__ic{
  width:52px; height:52px; border-radius:14px; display:grid; place-items:center;
  background:var(--sage); color:var(--pine); margin-bottom:1.1rem;
}
.spec-card__ic svg{ width:28px; height:28px; }
.spec-card h3{ margin-bottom:.35rem; }
.spec-card__role{ font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--saffron-dk); margin-bottom:.8rem; }
.spec-card p{ color:var(--muted); font-size:.96rem; }
.spec-card ul{ list-style:none; padding:0; margin:.4rem 0 1.4rem; }
.spec-card ul li{ font-size:.9rem; padding:.28rem 0 .28rem 1.4rem; position:relative; color:var(--ink); }
.spec-card ul li::before{ content:""; position:absolute; left:0; top:.85em; width:7px; height:7px; border-radius:50%; background:var(--leaf); }
.spec-card__link{ margin-top:auto; font-weight:800; font-size:.9rem; display:inline-flex; align-items:center; gap:.4rem; }
.spec-card__link svg{ width:16px; height:16px; transition:transform .15s ease; }
.spec-card:hover .spec-card__link svg{ transform:translateX(3px); }

/* ============================================================
   Split / feature rows
   ============================================================ */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,1rem+3vw,3.5rem); align-items:center; }
@media (max-width:820px){ .split{ grid-template-columns:1fr; } }
.figure-card{
  border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line);
  background:var(--card); box-shadow:var(--shadow);
}
.figure-card .ph{
  aspect-ratio:4/3; display:grid; place-items:center; text-align:center;
  background:linear-gradient(135deg,var(--sage) 0%, #cfe0d7 100%);
  color:var(--pine); padding:1.5rem;
}
.figure-card .ph .mark{ width:56px; height:56px; margin-bottom:.6rem; opacity:.8; }
.figure-card .ph span{ font-weight:800; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; opacity:.7; }

/* Story / values list */
.values{ list-style:none; padding:0; margin:1.4rem 0 0; display:grid; gap:1.1rem; }
.values li{ display:flex; gap:.9rem; }
.values .vi{ flex:none; width:40px; height:40px; border-radius:12px; background:var(--sage); display:grid; place-items:center; color:var(--pine); }
.values .vi svg{ width:20px; height:20px; }
.values b{ display:block; color:var(--pine); font-family:var(--display); font-size:1.1rem; font-weight:500; }
.values p{ margin:.15rem 0 0; color:var(--muted); font-size:.92rem; }

/* ============================================================
   Conditions columns
   ============================================================ */
.cond-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:900px){ .cond-grid{ grid-template-columns:1fr; } }
.cond-col{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:1.5rem 1.6rem; }
.cond-col h3{ font-size:1.15rem; display:flex; align-items:center; gap:.55rem; margin-bottom:1rem; }
.cond-col h3 svg{ width:20px; height:20px; color:var(--saffron-dk); }
.cond-col ul{ columns:1; list-style:none; padding:0; margin:0; }
.cond-col li{ font-size:.92rem; padding:.34rem 0 .34rem 1.3rem; position:relative; border-bottom:1px dashed var(--line); color:var(--ink); }
.cond-col li:last-child{ border-bottom:0; }
.cond-col li::before{ content:""; position:absolute; left:0; top:.85em; width:6px; height:6px; border-radius:50%; background:var(--saffron); }

/* ============================================================
   Steps
   ============================================================ */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; counter-reset:step; }
@media (max-width:820px){ .steps{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .steps{ grid-template-columns:1fr; } }
.step{ position:relative; padding-top:1rem; }
.step__n{
  font-family:var(--display); font-size:2rem; color:var(--saffron);
  font-weight:500; line-height:1; margin-bottom:.5rem;
}
.step h3{ font-size:1.08rem; margin-bottom:.3rem; }
.step p{ font-size:.9rem; color:var(--muted); margin:0; }

/* ============================================================
   FAQ
   ============================================================ */
.faq{ max-width:820px; margin-inline:auto; }
.faq details{ border:1px solid var(--line); border-radius:var(--radius); background:var(--card); margin-bottom:.7rem; overflow:hidden; }
.faq summary{
  list-style:none; cursor:pointer; padding:1.1rem 1.3rem;
  font-weight:800; color:var(--pine); font-size:1.02rem;
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary .pm{ flex:none; width:24px; height:24px; position:relative; }
.faq summary .pm::before,.faq summary .pm::after{ content:""; position:absolute; background:var(--leaf); border-radius:2px; transition:transform .2s ease; }
.faq summary .pm::before{ inset:11px 4px auto; height:2px; }
.faq summary .pm::after{ inset:4px 11px; width:2px; }
.faq details[open] summary .pm::after{ transform:scaleY(0); }
.faq details[open] summary{ color:var(--leaf); }
.faq .faq__a{ padding:0 1.3rem 1.2rem; color:var(--muted); }
.faq .faq__a p{ margin:0; }

/* ============================================================
   Contact / CTA
   ============================================================ */
.cta-band{ background:linear-gradient(135deg,var(--pine),#0d2e28); color:#eaf2ee; border-radius:var(--radius-lg); padding:clamp(2rem,1.4rem+3vw,3.4rem); text-align:center; }
.cta-band h2{ color:#fff; }
.cta-band .lede{ color:#b6cec4; margin-inline:auto; }
.cta-band__row{ display:flex; flex-wrap:wrap; gap:.8rem; justify-content:center; margin-top:1.6rem; }
.cta-band .btn--ghost{ color:#eaf2ee; border-color:rgba(255,255,255,.4); }
.cta-band .btn--ghost:hover{ background:rgba(255,255,255,.1); color:#fff; }

.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.5rem,1rem+3vw,3rem); }
@media (max-width:820px){ .contact-grid{ grid-template-columns:1fr; } }
.info-list{ list-style:none; padding:0; margin:1.5rem 0 0; display:grid; gap:1.1rem; }
.info-list li{ display:flex; gap:.9rem; align-items:flex-start; }
.info-list .ii{ flex:none; width:42px; height:42px; border-radius:12px; background:var(--sage); display:grid; place-items:center; color:var(--pine); }
.info-list .ii svg{ width:20px; height:20px; }
.info-list b{ display:block; color:var(--pine); font-size:.98rem; }
.info-list a,.info-list span{ color:var(--muted); font-size:.95rem; }
.map-embed{ border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; min-height:340px; background:var(--sage-2); }
.map-embed iframe{ width:100%; height:100%; min-height:340px; border:0; display:block; }
.map-ph{ min-height:340px; display:grid; place-items:center; text-align:center; color:var(--pine); padding:2rem; }
.map-ph .mark{ width:44px; height:44px; margin-bottom:.6rem; opacity:.7; }

/* Simple form */
.form{ display:grid; gap:.9rem; }
.form label{ font-weight:800; font-size:.85rem; color:var(--pine); display:block; margin-bottom:.3rem; }
.form input,.form select,.form textarea{
  width:100%; font-family:var(--body); font-size:.98rem; color:var(--ink);
  padding:.75rem .9rem; border:1.5px solid var(--line); border-radius:10px; background:#fff;
}
.form input:focus,.form select:focus,.form textarea:focus{ outline:2px solid var(--leaf); outline-offset:1px; border-color:var(--leaf); }
.form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
@media (max-width:520px){ .form .row2{ grid-template-columns:1fr; } }

/* ============================================================
   Breadcrumb + page hero
   ============================================================ */
.page-hero{ background:var(--sage-2); border-bottom:1px solid var(--line); padding:clamp(2rem,1.4rem+3vw,3.4rem) 0; }
.crumb{ font-size:.82rem; color:var(--muted); font-weight:700; margin-bottom:.8rem; }
.crumb a{ color:var(--leaf); }
.crumb span{ color:var(--muted); }
.page-hero h1{ font-size:var(--step-3); margin-bottom:.3em; }
.page-hero .lede{ font-size:var(--step-1); }
.doc-role{ display:inline-flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--line); border-radius:100px; padding:.4rem .9rem; font-weight:800; font-size:.8rem; color:var(--pine); margin-bottom:1rem; }
.doc-role svg{ width:16px; height:16px; color:var(--saffron-dk); }

/* Prose */
.prose{ max-width:70ch; }
.prose h2{ margin-top:2.2rem; }
.prose h3{ margin-top:1.6rem; }
.prose ul{ padding-left:1.2rem; }
.prose li{ margin:.35rem 0; }

/* Pills */
.pills{ display:flex; flex-wrap:wrap; gap:.5rem; margin:1rem 0 0; }
.pill{ background:var(--sage); color:var(--pine); font-weight:700; font-size:.85rem; padding:.4rem .85rem; border-radius:100px; }

/* ============================================================
   Footer
   ============================================================ */
.site-footer{ background:var(--ink); color:#c3d3cc; padding:clamp(2.8rem,2rem+3vw,4rem) 0 2rem; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2rem; }
@media (max-width:820px){ .footer-grid{ grid-template-columns:1fr 1fr; gap:1.8rem; } }
@media (max-width:520px){ .footer-grid{ grid-template-columns:1fr; } }
.site-footer .brand__name{ color:#fff; }
.site-footer h4{ color:#fff; font-family:var(--body); font-weight:800; font-size:.8rem; letter-spacing:.1em; text-transform:uppercase; margin:0 0 1rem; }
.site-footer ul{ list-style:none; padding:0; margin:0; display:grid; gap:.5rem; }
.site-footer a{ color:#c3d3cc; font-size:.92rem; }
.site-footer a:hover{ color:#fff; }
.site-footer p{ font-size:.9rem; color:#9fb4ac; }
.foot-note{ margin-top:2.5rem; padding-top:1.4rem; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; justify-content:space-between; font-size:.82rem; color:#8ba49b; }
.social{ display:flex; gap:.6rem; margin-top:1rem; }
.social a{ width:38px; height:38px; border-radius:10px; border:1px solid rgba(255,255,255,.16); display:grid; place-items:center; color:#c3d3cc; }
.social a:hover{ background:rgba(255,255,255,.08); color:#fff; }
.social svg{ width:18px; height:18px; }

/* Floating actions */
.fab{ position:fixed; right:16px; bottom:16px; z-index:40; display:flex; flex-direction:column; gap:.6rem; }
.fab a{ width:52px; height:52px; border-radius:50%; display:grid; place-items:center; box-shadow:var(--shadow); color:#fff; }
.fab .wa{ background:#25d366; }
.fab .call{ background:var(--leaf); }
.fab svg{ width:26px; height:26px; }

/* Utilities */
.mt-0{ margin-top:0; } .mb-0{ margin-bottom:0; }
.disclaimer{ background:var(--sage-2); border:1px solid var(--line); border-left:4px solid var(--saffron); border-radius:10px; padding:1rem 1.2rem; font-size:.88rem; color:var(--muted); }
.disclaimer b{ color:var(--pine); }
.skip{ position:absolute; left:-999px; }
.skip:focus{ left:12px; top:12px; background:#fff; padding:.6rem 1rem; border-radius:8px; z-index:100; box-shadow:var(--shadow); }

/* ============================================================
   v2 — botanical backgrounds, doctor photos, feature sections
   ============================================================ */

/* Subtle page wash */
body{
  background:
    radial-gradient(80% 40% at 100% 0%, #f0f5f1 0%, rgba(240,245,241,0) 60%),
    var(--paper);
}

/* Decorative inline botanical background (used in hero + CTA) */
.bg-botanical{ position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }

/* ---------- HERO (dark botanical) ---------- */
.hero{ position:relative; overflow:hidden; background:#0f342c; color:#e9f2ed;
  padding:clamp(2.8rem,1.6rem+5vw,5.2rem) 0 clamp(2.8rem,1.6rem+4vw,4.8rem); }
.hero .wrap{ position:relative; z-index:1; }
.hero__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.8rem,1rem+4vw,3.6rem); align-items:center; }
.hero h1{ color:#fff; margin-bottom:.45em; letter-spacing:-.015em; }
.hero .lede{ color:#c8ddd4; margin-bottom:1.8rem; max-width:52ch; }
.hero .hl{ color:#f6d59a; position:relative; white-space:nowrap; }
.hero .hl::after{ content:""; position:absolute; left:0; right:0; bottom:.04em; height:.14em; background:rgba(228,151,43,.45); border-radius:2px; z-index:-1; }
.eyebrow--light{ color:#f4c986; }
.eyebrow--light::before{ background:#f4c986; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:1.6rem; }
.hero__chips{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; padding-top:1.3rem; border-top:1px solid rgba(255,255,255,.16); }
.hero .chip{ color:#bcd6cc; }
.hero .chip svg{ color:#7fb6a3; }
.btn--ghost-light{ background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.4); }
.btn--ghost-light:hover{ background:rgba(255,255,255,.14); color:#fff; border-color:#fff; }

/* Hero doctor chips */
.hero__docs{ position:relative; display:flex; flex-direction:column; gap:1.1rem; }
.hero__doc{ display:flex; align-items:center; gap:1rem;
  background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18);
  border-radius:20px; padding:.85rem 1.3rem .85rem .85rem; width:min(360px,100%);
  box-shadow:0 18px 40px -24px rgba(0,0,0,.7); backdrop-filter:blur(3px); }
.hero__doc--offset{ margin-left:auto; }
.hero__doc img{ width:76px; height:76px; border-radius:50%; object-fit:cover; flex:none;
  border:2px solid rgba(244,201,134,.7); background:#12433a; }
.hero__doc b{ color:#fff; font-size:1.02rem; display:block; line-height:1.2; }
.hero__doc span{ color:#bcd6cc; font-size:.82rem; }
.hero__seal{ display:inline-flex; align-items:center; gap:.45rem; align-self:flex-start;
  background:rgba(228,151,43,.16); color:#f4c986; border:1px solid rgba(228,151,43,.35);
  padding:.4rem .9rem; border-radius:100px; font-weight:800; font-size:.78rem; letter-spacing:.05em; }
.hero__seal svg{ width:16px; height:16px; }
@media (max-width:820px){
  .hero__grid{ grid-template-columns:1fr; }
  .hero__doc--offset{ margin-left:0; }
  .hero__docs{ margin-top:.5rem; }
}

/* ---------- 2-col grids ---------- */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
@media (max-width:820px){ .grid-2{ grid-template-columns:1fr; } }
.spec-card--psy .spec-card__ic{ background:#e4eef0; color:#22525c; }
.spec-card--ped .spec-card__ic{ background:#e8f0e2; color:#3a6b2f; }

/* ---------- Doctor cards (with photos) ---------- */
.doc-card{ display:flex; gap:1.4rem; align-items:center;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  padding:1.6rem; box-shadow:var(--shadow); }
.doc-card__photo img{ width:134px; height:134px; border-radius:50%; object-fit:cover;
  border:3px solid var(--sage); display:block; }
.doc-card__body h3{ margin:0 0 .15rem; }
.doc-card__qual{ font-weight:800; color:var(--saffron-dk); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; margin:0 0 .25rem; }
.doc-card__role{ color:var(--muted); font-size:.94rem; margin:0 0 .5rem; }
.doc-card__line{ font-style:italic; color:var(--pine); font-size:.95rem; margin:0 0 .7rem; }
@media (max-width:520px){ .doc-card{ flex-direction:column; text-align:center; } }

/* Doctor feature (specialty pages) */
.doc-feature{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg);
  box-shadow:var(--shadow); padding:0 1.8rem 1.8rem; text-align:center; position:relative; overflow:hidden; }
.doc-feature::before{ content:""; display:block; height:88px; margin:0 -1.8rem 0;
  background:radial-gradient(120% 140% at 70% 0%, #2f6e5f, #123a32); }
.doc-feature img{ width:154px; height:154px; border-radius:50%; object-fit:cover;
  border:5px solid #fff; margin:-77px auto .8rem; display:block; box-shadow:var(--shadow); position:relative; }
.doc-feature h3{ margin:.2rem 0 .15rem; }
.doc-feature__qual{ font-weight:800; color:var(--saffron-dk); font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; margin:0 0 .25rem; }
.doc-feature__role{ color:var(--muted); font-size:.94rem; margin:0; }
.doc-feature__line{ font-style:italic; color:var(--pine); font-size:.95rem; margin:.7rem 0 0; }

/* ---------- Feature sections (anxiety / hormones) ---------- */
.feature--psy{ background:linear-gradient(180deg,#f3f7f4 0%, #e9f1ec 100%); }
.feature--ped{ background:linear-gradient(180deg,#fbf7ef 0%, #f5eede 100%); }
.split--rev{ direction:ltr; }
.feature__tag{ display:inline-flex; align-items:center; gap:.5rem; font-weight:800; font-size:.74rem;
  letter-spacing:.09em; text-transform:uppercase; color:var(--leaf); background:#fff;
  border:1px solid var(--line); padding:.45rem .95rem; border-radius:100px; margin-bottom:1.1rem; }
.feature__tag svg{ width:16px; height:16px; }
.feature__tag--ped{ color:#3a6b2f; }
.feature__sub{ font-weight:800; color:var(--pine); margin:1.1rem 0 .6rem; }
.tagrow{ display:flex; flex-wrap:wrap; gap:.5rem; }
.tagrow span{ background:#fff; border:1px solid var(--line); color:var(--muted);
  font-size:.85rem; font-weight:700; padding:.38rem .85rem; border-radius:100px; }

/* Mini info cards */
.mini-card{ background:linear-gradient(160deg,#16463c,#0f342c); color:#e9f2ed;
  border-radius:var(--radius-lg); padding:1.9rem; box-shadow:var(--shadow); align-self:start; }
.mini-card--ped{ background:linear-gradient(160deg,#2f6e5f,#1c4a3f); }
.mini-card h4{ color:#fff; font-family:var(--display); font-size:1.35rem; font-weight:500; margin:0 0 1.1rem; }
.ticks{ list-style:none; padding:0; margin:0; display:grid; gap:.65rem; }
.ticks li{ display:flex; align-items:center; gap:.65rem; font-size:.95rem; color:#dcece5; }
.ticks svg{ width:18px; height:18px; color:#8fd9b6; flex:none; }
.mini-card__note{ margin:1.2rem 0 0; padding-top:1rem; border-top:1px solid rgba(255,255,255,.16);
  font-style:italic; color:#f4c986; font-size:.92rem; }

/* Bloom panel (story / about) */
.figure-card--bloom{ border:0; box-shadow:none; background:transparent; overflow:visible; }
.bloom-panel{ position:relative; overflow:hidden; border-radius:var(--radius-lg);
  background:radial-gradient(130% 110% at 72% 8%, #1c5548, #0f342c); color:#fff;
  aspect-ratio:4/3; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:2rem; box-shadow:var(--shadow); }
.bloom-panel::after{ content:""; position:absolute; width:340px; height:340px; right:-120px; bottom:-140px;
  background:radial-gradient(closest-side, rgba(228,151,43,.22), transparent); }
.bloom-panel__mark{ width:92px; height:92px; color:#fff; opacity:.96; margin-bottom:1rem; position:relative; }
.bloom-panel p{ font-family:var(--display); font-size:1.4rem; line-height:1.3; color:#fff; max-width:20ch; margin:0 0 .5rem; position:relative; }
.bloom-panel span{ font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:#f4c986; font-weight:800; position:relative; }

/* Two-column condition list */
.cond-two{ columns:2; column-gap:2.6rem; list-style:none; padding:0; margin:0; }
@media (max-width:600px){ .cond-two{ columns:1; } }
.cond-two li{ break-inside:avoid; font-size:.95rem; padding:.42rem 0 .42rem 1.4rem; position:relative; border-bottom:1px dashed var(--line); color:var(--ink); }
.cond-two li::before{ content:""; position:absolute; left:0; top:.85em; width:7px; height:7px; border-radius:50%; background:var(--saffron); }

.steps--2{ grid-template-columns:1fr 1fr; }
@media (max-width:480px){ .steps--2{ grid-template-columns:1fr; } }

/* Page hero upgrade */
.page-hero{ position:relative; overflow:hidden; background:linear-gradient(160deg,#eef4f0 0%, #e3ede7 100%); }
.page-hero .wrap{ position:relative; z-index:1; }
.page-hero__bloom{ position:absolute; right:-46px; top:-46px; width:230px; height:230px; color:var(--leaf); opacity:.09; z-index:0; }
.page-hero__bloom svg{ width:100%; height:100%; }

/* CTA band with botanical bg */
.cta-band{ position:relative; overflow:hidden; background:#0f342c; }
.cta-band__inner{ position:relative; z-index:1; }
.cta-band .bg-botanical{ opacity:.55; }

/* Contact specialists note */
.contact-docs{ margin-top:1.7rem; padding-top:1.3rem; border-top:1px solid var(--line); font-size:.94rem; color:var(--muted); line-height:1.8; }
.contact-docs span{ display:block; font-weight:800; color:var(--pine); text-transform:uppercase; letter-spacing:.08em; font-size:.72rem; margin-bottom:.4rem; }
.contact-docs b{ color:var(--pine); }

/* ============================================================
   v3 — Phase 1 platform: doctors, services, reviews, blog
   ============================================================ */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:900px){ .grid-3{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .grid-3{ grid-template-columns:1fr; } }

/* Clickable hero doctor chips */
a.hero__doc{ text-decoration:none; transition:transform .18s ease, background .18s ease; }
a.hero__doc:hover{ transform:translateY(-3px); background:rgba(255,255,255,.14); }

/* Stars */
.stars{ display:inline-flex; gap:2px; color:var(--saffron); vertical-align:middle; }
.stars svg{ width:17px; height:17px; }

/* ---------- Reviews ---------- */
.reviews-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:900px){ .reviews-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .reviews-grid{ grid-template-columns:1fr; } }
.review-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.6rem; box-shadow:var(--shadow); display:flex; flex-direction:column; }
.review-card__top{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; margin-bottom:.8rem; }
.review-card__svc{ font-size:.72rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--saffron-dk); text-align:right; }
.review-card__text{ color:var(--ink); font-size:.98rem; margin:0 0 1.2rem; }
.review-card__who{ display:flex; align-items:center; gap:.7rem; margin-top:auto; }
.review-card__ava{ width:40px; height:40px; border-radius:50%; background:var(--pine); color:#fff; display:grid; place-items:center; font-weight:800; font-family:var(--display); }
.review-card__who b{ color:var(--pine); display:block; font-size:.95rem; }
.review-card__who span{ color:var(--muted); font-size:.82rem; }

/* ---------- Doctor profile hero ---------- */
.doc-hero{ background:linear-gradient(160deg,#eef4f0 0%, #e2ede7 100%); position:relative; overflow:hidden; padding:clamp(2rem,1.4rem+3vw,3.4rem) 0; }
.doc-hero__grid{ display:grid; grid-template-columns:300px 1fr; gap:clamp(1.5rem,1rem+3vw,3rem); align-items:center; }
@media (max-width:820px){ .doc-hero__grid{ grid-template-columns:1fr; text-align:left; } }
.doc-hero__photo img{ width:100%; max-width:300px; aspect-ratio:1; object-fit:cover; border-radius:24px; border:5px solid #fff; box-shadow:var(--shadow); }
.doc-hero h1{ margin:.3rem 0 .2rem; }
.doc-hero__qual{ font-weight:800; color:var(--saffron-dk); font-size:.95rem; margin:0 0 .6rem; }
.doc-hero__line{ font-style:italic; color:var(--pine); font-size:1.05rem; margin:0 0 1rem; }
.doc-hero__meta{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; margin-bottom:1.3rem; }
.doc-hero__meta span{ display:inline-flex; align-items:center; gap:.45rem; font-weight:700; font-size:.88rem; color:var(--muted); }
.doc-hero__meta svg{ width:17px; height:17px; color:var(--leaf); }

/* Side cards (doctor + service) */
.side-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.5rem; box-shadow:var(--shadow); margin-bottom:1.2rem; }
.side-card h3{ font-size:1.1rem; display:flex; align-items:center; gap:.5rem; margin:0 0 1rem; }
.side-card h3 svg{ width:20px; height:20px; color:var(--saffron-dk); }
.side-card__note{ font-size:.85rem; color:var(--muted); margin:.4rem 0 1rem; }
.side-card__role{ color:var(--muted); font-size:.9rem; }
.side-card--doc{ text-align:center; }
.side-card--doc img{ width:120px; height:120px; border-radius:50%; object-fit:cover; border:3px solid var(--sage); margin:0 auto .8rem; display:block; }
.side-card--doc h3{ justify-content:center; margin-bottom:.2rem; }
.side-card--doc p{ margin:.1rem 0; }
.timings{ display:grid; gap:.6rem; margin-bottom:.4rem; }
.timing{ display:flex; justify-content:space-between; gap:1rem; padding:.55rem .8rem; background:var(--sage-2); border-radius:10px; }
.timing b{ color:var(--pine); font-size:.9rem; } .timing span{ color:var(--muted); font-size:.9rem; }
.chip-links{ display:flex; flex-direction:column; gap:.5rem; }
.chip-link{ display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.6rem .9rem; background:var(--sage-2); border-radius:10px; font-weight:700; font-size:.9rem; color:var(--pine); }
.chip-link:hover{ background:var(--sage); color:var(--pine); }
.chip-link svg{ width:16px; height:16px; color:var(--leaf); }
.ticks--dark li{ color:var(--ink); }
.ticks{ list-style:none; padding:0; margin:.6rem 0 0; display:grid; gap:.55rem; }
.ticks li{ display:flex; align-items:flex-start; gap:.6rem; font-size:.96rem; }
.ticks li svg{ width:18px; height:18px; color:var(--leaf); flex:none; margin-top:2px; }

/* ---------- Service detail info columns ---------- */
.svc-cat{ margin-bottom:2.6rem; }
.svc-cat__h{ font-size:1.5rem; padding-bottom:.6rem; border-bottom:2px solid var(--sage); margin-bottom:1.4rem; }
.info-cols{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:820px){ .info-cols{ grid-template-columns:1fr; } }
.info-col{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); padding:1.6rem; box-shadow:var(--shadow); }
.info-col h3{ font-size:1.12rem; display:flex; align-items:center; gap:.55rem; margin:0 0 1rem; }
.info-col h3 svg{ width:22px; height:22px; color:var(--saffron-dk); }
.info-col ul{ list-style:none; padding:0; margin:0; }
.info-col li{ font-size:.94rem; padding:.42rem 0 .42rem 1.5rem; position:relative; border-bottom:1px dashed var(--line); color:var(--ink); }
.info-col li:last-child{ border-bottom:0; }
.info-col li::before{ content:""; position:absolute; left:0; top:.85em; width:7px; height:7px; border-radius:50%; background:var(--saffron); }

/* ---------- Blog ---------- */
.blog-toolbar{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; align-items:center; margin-bottom:2rem; }
.cat-chips{ display:flex; flex-wrap:wrap; gap:.5rem; }
.cat-chip{ padding:.5rem 1rem; border-radius:100px; border:1px solid var(--line); background:#fff; font-weight:700; font-size:.88rem; color:var(--pine); }
.cat-chip:hover{ border-color:var(--leaf); color:var(--pine); }
.cat-chip.is-active{ background:var(--pine); color:#fff; border-color:var(--pine); }
.blog-search{ display:flex; align-items:center; gap:.5rem; background:#fff; border:1.5px solid var(--line); border-radius:100px; padding:.5rem 1rem; }
.blog-search svg{ width:18px; height:18px; color:var(--muted); }
.blog-search input{ border:0; outline:0; font-family:var(--body); font-size:.95rem; background:transparent; min-width:180px; }
.posts-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.6rem; }
@media (max-width:900px){ .posts-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .posts-grid{ grid-template-columns:1fr; } }
.post-card{ background:var(--card); border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow); display:flex; flex-direction:column; transition:transform .18s ease; }
.post-card:hover{ transform:translateY(-4px); }
.post-card__img{ display:block; aspect-ratio:16/10; overflow:hidden; background:var(--sage); }
.post-card__img img{ width:100%; height:100%; object-fit:cover; }
.post-card__body{ padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.post-card__cat{ display:inline-flex; align-items:center; gap:.4rem; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--saffron-dk); margin-bottom:.6rem; }
.post-card__cat svg{ width:14px; height:14px; }
.post-card h3{ font-size:1.2rem; margin:0 0 .5rem; line-height:1.25; }
.post-card h3 a{ color:var(--pine); }
.post-card p{ color:var(--muted); font-size:.92rem; margin:0 0 1rem; }
.post-card__meta{ margin-top:auto; font-size:.8rem; color:var(--muted); }
.no-results{ text-align:center; color:var(--muted); padding:2rem; }

/* ---------- Article ---------- */
.article__head{ background:linear-gradient(160deg,#eef4f0,#e2ede7); padding:clamp(2rem,1.4rem+3vw,3.2rem) 0; }
.article__head-in{ max-width:760px; }
.article__head h1{ font-size:var(--step-3); margin:.6rem 0 1rem; }
.article__meta{ display:flex; align-items:center; gap:.7rem; }
.article__ava{ width:44px; height:44px; border-radius:50%; background:var(--pine); color:#fff; display:grid; place-items:center; font-weight:800; font-family:var(--display); }
.article__meta b{ color:var(--pine); display:block; } .article__meta span{ color:var(--muted); font-size:.85rem; }
.article__body{ max-width:760px; padding-top:2.5rem; padding-bottom:2.5rem; font-size:1.05rem; color:var(--ink); }
.article__body h2{ margin:2rem 0 .8rem; font-size:1.5rem; }
.article__body h3{ margin:1.6rem 0 .6rem; }
.article__body p{ margin:0 0 1.1rem; line-height:1.75; }
.article__body ul{ margin:0 0 1.2rem; padding-left:1.3rem; }
.article__body li{ margin:.4rem 0; }
.article__body em{ color:var(--muted); }
.article__cta{ margin-top:2rem; padding:1.6rem; background:var(--sage-2); border:1px solid var(--line); border-left:4px solid var(--saffron); border-radius:var(--radius); }
.article__cta p{ margin:0 0 1rem; }

/* Brand logo image (real clinic logo) */
.brand__logo{ height:46px; width:46px; object-fit:contain; display:block; flex:none; }
.site-footer .brand__logo{ height:42px; width:42px; }
@media (max-width:520px){ .brand__logo{ height:40px; width:40px; } }

/* ============================================================
   v4 — platform: conditions, E-E-A-T, search, consent, legal
   ============================================================ */
/* E-E-A-T trust block */
.eeat{ display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; padding:.9rem 1.1rem; margin:0 0 1.6rem;
  background:var(--sage-2); border:1px solid var(--line); border-radius:12px; font-size:.86rem; color:var(--muted); }
.eeat span{ display:inline-flex; align-items:center; gap:.45rem; }
.eeat svg{ width:16px; height:16px; color:var(--leaf); flex:none; }
.eeat b{ color:var(--pine); font-weight:700; }

/* Condition detail */
.cond-body h2{ font-size:1.4rem; margin:1.8rem 0 .7rem; }
.cond-body > h2:first-of-type{ margin-top:.4rem; }
.cond-sec{ margin:1.4rem 0; }
.cond-sec h2{ display:flex; align-items:center; gap:.55rem; font-size:1.25rem; }
.cond-sec h2 svg{ width:22px; height:22px; color:var(--saffron-dk); flex:none; }
.cond-list{ list-style:none; padding:0; margin:.6rem 0 0; display:grid; gap:.5rem; }
.cond-list li{ position:relative; padding:.4rem 0 .4rem 1.4rem; border-bottom:1px dashed var(--line); font-size:.97rem; }
.cond-list li::before{ content:""; position:absolute; left:0; top:.85em; width:7px; height:7px; border-radius:50%; background:var(--saffron); }
.cond-aside{ display:flex; flex-direction:column; gap:0; }
@media (max-width:820px){ .cond-aside{ margin-top:1.5rem; } }

/* Condition cards / chips */
.cond-card-grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:700px){ .cond-card-grid{ grid-template-columns:1fr; } }
.cond-card{ display:flex; align-items:center; gap:.9rem; background:var(--card); border:1px solid var(--line);
  border-radius:14px; padding:1rem 1.1rem; box-shadow:var(--shadow); }
.cond-card:hover{ border-color:var(--leaf); transform:translateY(-2px); }
.cond-card__ic{ width:44px; height:44px; border-radius:12px; background:var(--sage); color:var(--leaf); display:grid; place-items:center; flex:none; }
.cond-card__ic svg{ width:22px; height:22px; }
.cond-card b{ color:var(--pine); display:block; }
.cond-card small{ color:var(--muted); font-size:.84rem; display:block; margin-top:.15rem; }
.cond-card > svg:last-child{ width:18px; height:18px; color:var(--leaf); margin-left:auto; flex:none; }
.cond-group{ margin-bottom:2.6rem; }
.cond-chips-wrap, .chip-links .cond-chip{ }
.cond-chips-wrap{ display:flex; flex-wrap:wrap; gap:.6rem; }
.cond-chip{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .95rem; border-radius:100px;
  background:var(--sage-2); border:1px solid var(--line); font-weight:700; font-size:.9rem; color:var(--pine); }
.cond-chip:hover{ background:var(--sage); }
.cond-chip svg{ width:15px; height:15px; color:var(--leaf); }

/* Planned specialties */
.planned-row{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }
.planned-chip{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.1rem; border-radius:100px;
  background:#fff; border:1px dashed var(--leaf); color:var(--muted); font-weight:700; font-size:.9rem; }
.planned-chip svg{ width:18px; height:18px; color:var(--leaf); }

/* Legal pages */
.legal-meta{ margin-top:2rem; padding-top:1rem; border-top:1px solid var(--line); font-size:.85rem; color:var(--muted); }
.foot-legal{ display:flex; flex-wrap:wrap; gap:1.1rem; }
.foot-legal a{ color:rgba(255,255,255,.75); font-size:.84rem; }
.foot-legal a:hover{ color:#fff; }

/* Cookie consent */
.consent{ position:fixed; left:1rem; right:1rem; bottom:1rem; z-index:60; max-width:640px; margin:0 auto;
  background:#0f342c; color:#e9f2ed; border:1px solid rgba(255,255,255,.16); border-radius:16px;
  padding:1.1rem 1.3rem; box-shadow:0 20px 50px -20px rgba(0,0,0,.6); display:flex; flex-wrap:wrap; gap:.9rem; align-items:center; justify-content:space-between; }
.consent p{ margin:0; font-size:.9rem; flex:1 1 320px; color:#cfe0d9; }
.consent a{ color:#f4c986; text-decoration:underline; }
.consent__btns{ display:flex; gap:.6rem; flex:0 0 auto; }
.consent .btn{ padding:.55rem 1.1rem; }
#consent-decline{ background:transparent; color:#fff; border:1px solid rgba(255,255,255,.4); }

/* Search page */
.blog-search--lg{ width:100%; padding:.9rem 1.3rem; font-size:1.05rem; margin-bottom:1.2rem; }
.blog-search--lg input{ font-size:1.05rem; width:100%; }
.search-filters{ display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.6rem; }
.search-filters .cat-chip{ cursor:pointer; }
.search-results{ display:grid; gap:.8rem; }
.search-hit{ display:block; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:1rem 1.2rem; box-shadow:var(--shadow); }
.search-hit:hover{ border-color:var(--leaf); }
.search-hit__t{ display:inline-block; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--saffron-dk); margin-bottom:.3rem; }
.search-hit b{ display:block; color:var(--pine); font-size:1.05rem; }
.search-hit small{ color:var(--muted); font-size:.86rem; }
.consent[hidden]{ display:none !important; }

/* Doctor focus areas (superspecialty pillars) */
.focus-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
@media (max-width:900px){ .focus-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .focus-grid{ grid-template-columns:1fr; } }
.focus-card{ background:var(--card); border:1px solid var(--line); border-radius:16px; padding:1.4rem; box-shadow:var(--shadow); }
.focus-card__ic{ width:52px; height:52px; border-radius:14px; background:var(--pine); color:#fff; display:grid; place-items:center; margin-bottom:.9rem; }
.focus-card__ic svg{ width:26px; height:26px; }
.focus-card h3{ font-size:1.08rem; margin:0 0 .4rem; color:var(--pine); }
.focus-card p{ font-size:.9rem; color:var(--muted); margin:0; }
.focus-quote{ margin:1.8rem 0 0; background:var(--pine); color:#eaf3ef; border-radius:18px; padding:1.6rem 1.8rem; position:relative; }
.focus-quote svg{ width:30px; height:30px; color:var(--saffron); opacity:.9; }
.focus-quote p{ font-family:var(--font-display); font-size:1.2rem; line-height:1.5; margin:.4rem 0 .6rem; color:#fff; }
.focus-quote cite{ font-style:normal; font-weight:700; color:var(--saffron); font-size:.9rem; }
