/* ═══════════════════════════════════════════════════════════
   BUDDING HORMONES CENTRE — PREMIUM v5
   Dr. Vaishnavi Agrawal · Pediatric Endocrinologist · Indore
   ═══════════════════════════════════════════════════════════ */
:root {
  --rose:    #C8545A;
  --rose-h:  #b04549;
  --rose-l:  #E8888B;
  --rose-ll: #FEF2F2;
  --teal:    #4A96BE;
  --teal-l:  #A8D4E8;
  --teal-ll: #EEF7FC;
  --ink:     #0E1729;
  --ink-m:   #1C2E4A;
  --stone:   #F8F6F3;
  --white:   #FFFFFF;
  --body:    #3D4E63;
  --muted:   #7A8899;
  --border:  #E5EAF0;
  --wa:      #25D366;
  --ice:     #F0F7FC;
  --cream:   #F8F6F3;
  --serif:   'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:    'Inter',-apple-system,sans-serif;
  --deva:    'Noto Sans Devanagari',sans-serif;
  --gap:     clamp(72px,9vw,120px);
  --s2:      0 4px 20px rgba(14,23,41,.08);
  --s3:      0 16px 48px rgba(14,23,41,.12);
  --s4:      0 32px 80px rgba(14,23,41,.16);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%;scroll-padding-top:96px;}
body{font-family:var(--sans);background:#fff;color:var(--body);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
ul,ol{list-style:none;}

/* ── LAYOUT ── */
.w{max-width:1240px;margin:0 auto;padding:0 clamp(22px,4vw,64px);}
.sec{padding:var(--gap) 0;}

/* ── TYPOGRAPHY ── */
.label{font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rose);}
.label-teal{color:var(--teal);}
.label-muted{color:var(--muted);}
.h1{font-family:var(--serif);font-size:clamp(44px,5.5vw,78px);font-weight:300;line-height:1.02;color:#fff;letter-spacing:-.03em;}
.h1 em{font-style:italic;color:var(--rose-l);}
.h2{font-family:var(--serif);font-size:clamp(32px,3.8vw,52px);font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-.02em;}
.h2 em{font-style:italic;color:var(--rose);}
.h2-white{color:#fff;}
.h2-white em{color:var(--rose-l);}
.h3{font-family:var(--serif);font-size:clamp(22px,2.5vw,30px);font-weight:400;line-height:1.25;color:var(--ink);}
.body{font-size:15px;line-height:1.85;color:var(--body);font-weight:300;}
.small{font-size:13px;color:var(--muted);line-height:1.65;}
.hi{font-family:var(--deva);font-size:.88em;color:var(--muted);display:block;margin-top:4px;line-height:1.6;}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 34px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .25s;white-space:nowrap;border:none;}
.btn-rose{background:var(--rose);color:#fff;}
.btn-rose:hover{background:var(--rose-h);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,84,90,.3);}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{background:#3a7da0;transform:translateY(-2px);box-shadow:0 8px 24px rgba(74,150,190,.25);}
.btn-ink{background:var(--ink);color:#fff;}
.btn-ink:hover{background:var(--ink-m);transform:translateY(-2px);}
.btn-white-outline{border:1.5px solid rgba(255,255,255,.4);color:#fff;}
.btn-white-outline:hover{border-color:#fff;background:rgba(255,255,255,.1);}
.btn-rose-outline{border:1.5px solid var(--rose);color:var(--rose);}
.btn-rose-outline:hover{background:var(--rose-ll);}
.btn-sm{padding:11px 24px;font-size:11px;}
.btn-lg{padding:18px 44px;font-size:13px;}

/* ══ PRELOADER ══ */
#pl{position:fixed;inset:0;z-index:99999;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;transition:opacity .6s,visibility .6s;}
#pl.out{opacity:0;visibility:hidden;pointer-events:none;}
.pl-ring{width:68px;height:68px;position:relative;display:flex;align-items:center;justify-content:center;}
.pl-ring::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid var(--border);border-top-color:var(--rose);border-right-color:var(--teal);animation:spin .9s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.pl-ring img{width:44px;height:44px;object-fit:contain;border-radius:50%;}
.pl-name{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);}

/* ══ NAV ══ */
.topbar{background:var(--ink);padding:9px 0;}
.tb-row{display:flex;justify-content:space-between;align-items:center;}
.tb-contacts{display:flex;gap:24px;}
.tb-contacts a{display:flex;align-items:center;gap:7px;font-size:11.5px;color:rgba(255,255,255,.88);transition:color .2s;font-weight:400;}
.tb-contacts a:hover{color:#fff;}
.tb-contacts svg{opacity:.7;}
.tb-social{display:flex;gap:7px;}
.tb-social a{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;}
.tb-social a:hover{background:var(--rose);border-color:var(--rose);}
.tb-social svg{stroke:rgba(255,255,255,.85);fill:rgba(255,255,255,.85);}

.nav{background:#fff;position:sticky;top:0;z-index:200;transition:box-shadow .3s;}
.nav.on{box-shadow:0 2px 28px rgba(14,23,41,.08);}
.nav-row{height:78px;display:flex;align-items:center;gap:0;}
.nav-logo{flex-shrink:0;margin-right:auto;display:flex;align-items:center;}
.nav-logo img{height:52px;width:auto;display:block;}
.nav-links{display:flex;gap:4px;margin-right:28px;}
.nav-links a{padding:8px 16px;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);transition:color .2s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:4px;left:16px;right:16px;height:1.5px;background:var(--rose);transform:scaleX(0);transition:transform .25s;transform-origin:left;}
.nav-links a:hover,.nav-links a.on{color:var(--rose);}
.nav-links a:hover::after,.nav-links a.on::after{transform:scaleX(1);}
.nav-cta-btn{display:inline-block;background:var(--rose);color:#fff;padding:13px 26px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:background .2s,box-shadow .2s,transform .15s;flex-shrink:0;}
.nav-cta-btn:hover{background:var(--rose-h);box-shadow:0 4px 14px rgba(200,84,90,.28);transform:translateY(-1px);}
.ham{display:none;flex-direction:column;gap:5px;padding:6px;margin-left:14px;flex-shrink:0;}
.ham span{display:block;width:22px;height:1.5px;background:var(--ink);transition:all .3s;}
.ham.on span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.ham.on span:nth-child(2){opacity:0;}
.ham.on span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mob{display:none;flex-direction:column;background:#fff;border-top:1px solid var(--border);}
.mob.on{display:flex;}
.mob a{padding:14px 28px;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--border);transition:background .15s,color .15s;}
.mob a:hover{background:var(--rose-ll);color:var(--rose);}
.mob .nav-cta-btn{margin:16px 28px 12px;text-align:center;}

/* ══ HERO ══ */
.hero{position:relative;overflow:hidden;background:var(--ink);display:grid;grid-template-columns:55% 45%;min-height:100vh;}
.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 80% 70% at 60% 50%,rgba(74,150,190,.13) 0%,transparent 55%),radial-gradient(ellipse 50% 60% at 15% 90%,rgba(200,84,90,.08) 0%,transparent 55%),linear-gradient(160deg,#0d1528 0%,#172645 55%,#0e1f3a 100%);}
.hero-bg::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:72px 72px;}
/* LEFT side */
.hero-l{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:80px clamp(28px,4vw,72px) 80px clamp(28px,5vw,80px);}
.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;margin-bottom:28px;}
.hero-eyebrow-line{width:36px;height:1px;background:linear-gradient(90deg,var(--rose-l),var(--teal-l));}
.hero-eyebrow span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72);}
.hero-hl{margin-bottom:6px;}
.hero-hi{font-family:var(--deva);font-size:clamp(17px,2vw,24px);color:rgba(255,255,255,.72);margin-bottom:36px;line-height:1.5;}
.hero-rule{width:56px;height:1px;background:linear-gradient(90deg,var(--rose),var(--teal));margin-bottom:24px;}
.hero-name{font-size:22px;font-weight:700;color:#fff;margin-bottom:8px;letter-spacing:.01em;}
.hero-quals{font-size:13px;color:rgba(255,255,255,.88);letter-spacing:.04em;line-height:1.9;}
.hero-role{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-l);opacity:1;margin-bottom:30px;}
.hero-body{font-size:15px;color:rgba(255,255,255,.82);line-height:1.85;max-width:430px;font-weight:300;margin-bottom:36px;}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:52px;}
/* Stats */
.hero-stats{border-top:1px solid rgba(255,255,255,.15);padding-top:28px;display:grid;grid-template-columns:repeat(3,1fr);}
.hs{padding:0 8px 0 0;border-right:1px solid rgba(255,255,255,.15);}
.hs:first-child{padding-left:0;}
.hs:last-child{border-right:none;}
.hs-val{font-family:var(--serif);font-size:36px;font-weight:400;color:#fff;line-height:1;margin-bottom:5px;}
.hs-val sup{font-size:20px;color:var(--rose-l);}
.hs-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.70);}
/* RIGHT side — photo */
.hero-r{position:relative;z-index:2;overflow:hidden;}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;filter:brightness(.88) contrast(1.02);}
.hero-photo-veil{position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) 0%,rgba(13,21,40,.15) 25%,transparent 50%),linear-gradient(0deg,rgba(13,21,40,.6) 0%,transparent 30%);}
/* Floating card on photo */
.hero-fc{display:none;}

/* ══ CRED STRIP ══ */
.cred-strip{background:var(--ink-m);border-top:1px solid rgba(255,255,255,.04);}
.cs-row{display:flex;overflow-x:auto;scrollbar-width:none;}
.cs-row::-webkit-scrollbar{display:none;}
.cs-item{flex:1;min-width:150px;padding:20px 26px;border-right:1px solid rgba(255,255,255,.05);transition:background .2s;cursor:default;}
.cs-item:last-child{border-right:none;}
.cs-item:hover{background:rgba(255,255,255,.03);}
.cs-t{font-size:13px;font-weight:600;color:var(--teal-l);margin-bottom:3px;}
.cs-s{font-size:11px;color:rgba(255,255,255,.65);line-height:1.5;}

/* ══ ABOUT ══ */
.about-grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(40px,6vw,96px);align-items:center;}
.about-imgs{position:relative;height:580px;}
.ai-main{position:absolute;top:0;left:0;width:67%;height:450px;object-fit:cover;object-position:center top;display:block;}
.ai-secondary{position:absolute;bottom:0;right:0;width:55%;height:340px;object-fit:cover;display:block;border:6px solid #fff;box-shadow:var(--s3);}
.ai-accent{position:absolute;bottom:28px;left:0;width:36%;padding-top:36%;background:linear-gradient(135deg,var(--rose-ll),var(--teal-ll));z-index:-1;}
.ai-badge{position:absolute;top:38px;right:6px;z-index:4;background:var(--ink);padding:18px 22px;box-shadow:var(--s3);text-align:center;}
.ai-badge-n{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--teal-l);line-height:1;}
.ai-badge-l{font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:5px;line-height:1.5;}
.about-label{margin-bottom:14px;}
.about-title{margin-bottom:8px;}
.about-role{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);font-weight:600;margin-bottom:18px;}
.about-rule{width:40px;height:1px;background:linear-gradient(90deg,var(--rose),var(--teal));margin-bottom:22px;}
.about-p{font-size:15px;line-height:1.85;color:var(--body);font-weight:300;margin-bottom:13px;}
.about-p strong{font-weight:600;color:var(--ink);}
.about-quote{margin:24px 0;padding:22px 26px;background:var(--stone);border-left:3px solid var(--rose);}
.about-quote p{font-family:var(--serif);font-size:16px;font-style:italic;color:var(--ink);line-height:1.7;font-weight:400;}
.about-quote cite{display:block;margin-top:10px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);font-style:normal;}
.cred-pills{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0;}
.cpill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:var(--stone);border:1px solid var(--border);font-size:11px;font-weight:600;color:var(--ink);transition:all .2s;}
.cpill::before{content:'✓';font-size:10px;color:var(--teal);}
.cpill:hover{border-color:var(--rose);background:var(--rose-ll);color:var(--rose);}

/* ══ SERVICES ══ */
.svc-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);}
.svc{background:#fff;padding:34px 18px 28px;text-align:center;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;transition:background .2s,transform .2s;}
.svc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2.5px;background:linear-gradient(90deg,var(--rose),var(--teal));transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.svc:hover{background:var(--rose-ll);transform:translateY(-6px);}
.svc:hover::after{transform:scaleX(1);}
.svc-ico{width:70px;height:70px;border-radius:50%;background:var(--stone);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px;transition:border-color .2s,transform .25s;}
.svc:hover .svc-ico{border-color:var(--rose);transform:scale(1.1) rotate(-4deg);}
.svc-name{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);margin-bottom:4px;line-height:1.4;}
.svc-hi{font-family:var(--deva);font-size:11.5px;color:var(--muted);}
.svc-cta{margin-top:10px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rose);opacity:0;transition:opacity .2s;}
.svc:hover .svc-cta{opacity:1;}

/* ══ PROCESS ══ */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,48px);position:relative;margin-top:clamp(40px,5vw,72px);}
.process-grid::before{content:'';position:absolute;top:52px;left:12%;right:12%;height:1px;background:linear-gradient(90deg,transparent,var(--rose-l) 30%,var(--teal-l) 70%,transparent);z-index:0;}
.step{text-align:center;position:relative;z-index:1;}
.step-c{width:104px;height:104px;border-radius:50%;background:#fff;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 22px;position:relative;box-shadow:var(--s2);transition:border-color .25s,box-shadow .25s,transform .25s;}
.step:hover .step-c{border-color:var(--rose);box-shadow:0 8px 32px rgba(200,84,90,.18);transform:translateY(-5px);}
.step-n{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--rose);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.step-t{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:7px;}
.step-b{font-size:13px;color:var(--muted);line-height:1.65;font-weight:300;}

/* ══ WHEN TO CONSULT ══ */
.consult-sec{background:var(--ink);position:relative;overflow:hidden;padding:var(--gap) 0;}
.consult-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 80% 20%,rgba(74,150,190,.1),transparent 60%),radial-gradient(ellipse 50% 60% at 15% 80%,rgba(200,84,90,.07),transparent 60%);}
.signs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);position:relative;z-index:1;margin-top:clamp(36px,5vw,60px);}
.sign{background:rgba(255,255,255,.025);padding:20px 18px;display:flex;align-items:flex-start;gap:13px;transition:background .2s,border-left-color .15s;border-left:2px solid transparent;}
.sign:hover{background:rgba(255,255,255,.07);border-left-color:var(--rose);}
.sign-n{flex-shrink:0;font-family:var(--serif);font-size:12px;font-weight:600;color:var(--rose-l);opacity:.85;width:22px;padding-top:1px;}
.sign-en{font-size:13px;font-weight:500;color:rgba(255,255,255,.84);line-height:1.45;margin-bottom:3px;}
.sign-hi{font-family:var(--deva);font-size:11px;color:rgba(255,255,255,.62);}

/* ══ GALLERY ══ */
.gal-bg{background:var(--stone);position:relative;}
.gal-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:280px 280px;gap:8px;margin-top:clamp(36px,5vw,60px);}
.gp{overflow:hidden;position:relative;cursor:pointer;background:var(--ink-m);}
.gp img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.25,.46,.45,.94);filter:brightness(.9);}
.gp:hover img{transform:scale(1.06);filter:brightness(1);}
.gp-ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,23,41,.75) 0%,transparent 55%);opacity:0;transition:opacity .35s;display:flex;align-items:flex-end;padding:18px;}
.gp:hover .gp-ov{opacity:1;}
.gp-cap{font-size:12px;font-weight:500;color:#fff;letter-spacing:.04em;line-height:1.4;}
.gp-a{grid-column:1/6;grid-row:1;}
.gp-b{grid-column:6/9;grid-row:1;}
.gp-c{grid-column:9/13;grid-row:1;}
.gp-d{grid-column:1/4;grid-row:2;}
.gp-e{grid-column:4/7;grid-row:2;}
.gp-f{grid-column:7/10;grid-row:2;}
.gp-g{grid-column:10/13;grid-row:2;}

/* ══ REVIEWS ══ */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:clamp(36px,5vw,60px);}
.rv{border:1px solid var(--border);padding:38px 32px;position:relative;transition:box-shadow .25s,transform .25s,border-color .25s;}
.rv::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--rose),var(--teal));transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.rv:hover{box-shadow:var(--s3);transform:translateY(-5px);border-color:transparent;}
.rv:hover::before{transform:scaleX(1);}
.rv-mark{font-family:var(--serif);font-size:80px;line-height:.75;color:var(--rose-ll);display:block;margin-bottom:12px;user-select:none;}
.rv-stars{display:flex;gap:3px;margin-bottom:14px;}
.rv-stars span{color:var(--rose);font-size:14px;}
.rv-text{font-size:15px;color:var(--body);line-height:1.8;font-style:italic;margin-bottom:8px;font-weight:300;}
.rv-hindi{font-family:var(--deva);font-size:13px;color:var(--muted);font-style:normal;padding-top:10px;border-top:1px dashed var(--border);margin-bottom:18px;display:block;}
.rv-rule{width:28px;height:1px;background:linear-gradient(90deg,var(--rose),var(--teal));margin-bottom:10px;}
.rv-name{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;}
.rv-tag{font-size:12px;color:var(--muted);margin-top:2px;}
.rv-badge{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:4px 11px;background:var(--stone);font-size:10px;font-weight:600;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;}

/* ══ CTA ══ */
.cta-sec{background:var(--ink);position:relative;overflow:hidden;}
.cta-sec::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 92% 50%,rgba(74,150,190,.12),transparent 60%),radial-gradient(ellipse 40% 60% at 8% 50%,rgba(200,84,90,.08),transparent 60%);}
.cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:clamp(32px,6vw,80px);align-items:center;padding:clamp(56px,8vw,100px) 0;}
.cta-title{font-family:var(--serif);font-size:clamp(30px,3.5vw,48px);font-weight:400;color:#fff;line-height:1.15;margin-bottom:10px;}
.cta-title em{font-style:italic;color:var(--rose-l);}
.cta-body{font-size:15px;color:rgba(255,255,255,.82);font-weight:300;margin-bottom:6px;}
.cta-hi{font-family:var(--deva);font-size:14px;color:rgba(255,255,255,.65);}
.cta-btns{display:flex;flex-direction:column;gap:11px;align-items:stretch;min-width:265px;}

/* ══ FOOTER ══ */
footer{background:var(--ink);}
.ft-div{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);}
.ft-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.5fr;gap:clamp(28px,4vw,56px);padding:clamp(48px,7vw,80px) 0 clamp(36px,5vw,56px);}
.ft-logo img{height:46px;width:auto;margin-bottom:18px;}
.ft-tagline{font-size:14px;color:rgba(255,255,255,.68);line-height:1.75;max-width:235px;font-weight:300;margin-bottom:8px;}
.ft-hi{font-family:var(--deva);font-size:12px;color:rgba(255,255,255,.55);display:block;margin-bottom:20px;}
.ft-contacts{display:flex;flex-direction:column;gap:9px;margin-bottom:20px;}
.ft-contacts a{display:flex;align-items:center;gap:8px;font-size:12.5px;color:rgba(255,255,255,.75);transition:color .2s;}
.ft-contacts a:hover{color:var(--rose-l);}
.ft-social{display:flex;gap:8px;}
.ft-social a{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;font-size:13px;color:rgba(255,255,255,.4);transition:all .2s;}
.ft-social a:hover{background:var(--rose);border-color:var(--rose);color:#fff;}
.ft-col h6{font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-l);font-weight:700;opacity:1;margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);}
.ft-col ul{display:flex;flex-direction:column;gap:10px;}
.ft-col ul a{font-size:13px;color:rgba(255,255,255,.65);font-weight:300;transition:color .2s,padding-left .15s;display:block;}
.ft-col ul a:hover{color:var(--rose-l);padding-left:4px;}
.ft-hours{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);padding:18px 20px;margin-bottom:14px;}
.ft-hours-title{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal-l);opacity:.65;font-weight:700;margin-bottom:12px;}
.ft-hr{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:12px;color:rgba(255,255,255,.7);}
.ft-hr:last-child{border-bottom:none;}
.ft-hr span{color:rgba(255,255,255,.9);font-weight:500;}
.ft-hr.closed{color:rgba(200,84,90,.38);}
.ft-hr.closed span{color:rgba(200,84,90,.5);}
.ft-loc{display:flex;flex-direction:column;gap:7px;}
.ft-loc a{font-size:12px;color:rgba(168,212,232,.85);display:flex;align-items:flex-start;gap:6px;transition:color .2s;line-height:1.45;}
.ft-loc a:hover{color:var(--teal-l);}
.ft-bottom{padding:16px 0;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,.52);flex-wrap:wrap;gap:8px;}
.ft-bottom a{color:rgba(255,255,255,.6);transition:color .2s;}
.ft-bottom a:hover{color:var(--rose-l);}

/* ══ STICKY WA ══ */
.wa-btn{position:fixed;bottom:28px;right:28px;z-index:500;display:flex;align-items:center;gap:9px;background:var(--wa);color:#fff;padding:13px 22px;font-size:12px;font-weight:600;letter-spacing:.05em;box-shadow:0 6px 24px rgba(37,211,102,.38);transition:transform .2s,box-shadow .2s;}
.wa-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(37,211,102,.48);}
#scrolltop{position:fixed;bottom:90px;right:28px;z-index:499;width:40px;height:40px;background:rgba(14,23,41,.85);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.7);font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,transform .2s;}
#scrolltop.on{opacity:1;pointer-events:all;}
#scrolltop:hover{transform:translateY(-2px);}

/* ══ LIGHTBOX ══ */
#lb{display:none;position:fixed;inset:0;z-index:9999;background:rgba(14,23,41,.96);backdrop-filter:blur(4px);align-items:center;justify-content:center;}
#lb.on{display:flex;}
#lb-img{max-width:88vw;max-height:82vh;object-fit:contain;box-shadow:var(--s4);}
.lb-x{position:absolute;top:22px;right:26px;color:rgba(255,255,255,.5);font-size:24px;cursor:pointer;transition:color .2s;}
.lb-x:hover{color:#fff;}
.lb-a{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.7);font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;}
.lb-a:hover{background:rgba(255,255,255,.18);color:#fff;}
#lb-prev{left:20px;}#lb-next{right:20px;}
#lb-cnt{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:12px;color:rgba(255,255,255,.28);letter-spacing:.12em;}

/* ══ ANIMATIONS ══ */
.fu{opacity:0;transform:translateY(26px);animation:fu-fb 0s 1.8s forwards;transition:opacity .7s ease,transform .7s ease;}
@keyframes fu-fb{to{opacity:1;transform:translateY(0);}}
.fu.vis{opacity:1;transform:translateY(0);animation:none;}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}

/* ══ INNER PAGE HERO ══ */
.ph{background:linear-gradient(160deg,var(--ink) 0%,var(--ink-m) 60%,#1a3050 100%);padding:clamp(56px,8vw,88px) 0;position:relative;overflow:hidden;}
.ph::after{content:'';position:absolute;top:-80px;right:-80px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(74,150,190,.1),transparent 70%);pointer-events:none;}
.ph-tag{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-l);opacity:1;font-weight:600;margin-bottom:14px;display:block;}
.ph-title{font-family:var(--serif);font-size:clamp(34px,4.5vw,58px);font-weight:400;color:#fff;line-height:1.06;margin-bottom:14px;}
.ph-title em{font-style:italic;color:var(--rose-l);}
.ph-sub{font-size:16px;color:rgba(255,255,255,.82);max-width:560px;line-height:1.8;font-weight:300;}
.ph-hi{font-family:var(--deva);font-size:14px;color:rgba(255,255,255,.65);margin-top:10px;}

/* ══ BREADCRUMB ══ */
.bc{background:var(--stone);border-bottom:1px solid var(--border);padding:11px 0;}
.bc-in{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);}
.bc-in a{color:var(--teal);transition:color .2s;}
.bc-in a:hover{color:var(--rose);}

/* ══ SERVICE DETAIL PAGE ══ */
.sd-grid{display:grid;grid-template-columns:2fr 1fr;gap:clamp(32px,5vw,60px);align-items:start;}
.sd-body h2{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink);margin:26px 0 12px;}
.sd-body h2:first-child{margin-top:0;}
.sd-body p{font-size:14px;color:var(--body);line-height:1.85;margin-bottom:12px;font-weight:300;}
.sd-body ul{margin:12px 0 18px;display:flex;flex-direction:column;gap:7px;}
.sd-body li{font-size:14px;color:var(--body);padding-left:18px;position:relative;line-height:1.7;}
.sd-body li::before{content:'›';position:absolute;left:0;color:var(--rose);font-size:16px;line-height:1.25;}
.hi-block{background:var(--rose-ll);border-left:3px solid var(--rose);padding:15px 20px;margin:20px 0;font-family:var(--deva);font-size:14px;color:var(--ink-m);line-height:1.75;}
.sym-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;}
.sym{background:var(--rose-ll);padding:12px 14px;border-left:2.5px solid var(--rose);}
.sym-en{font-size:12px;font-weight:700;color:var(--ink);}
.sym-hi{font-family:var(--deva);font-size:11px;color:var(--muted);margin-top:2px;}
.side-card{border:1px solid var(--border);padding:26px;margin-bottom:16px;transition:box-shadow .2s;}
.side-card:hover{box-shadow:var(--s2);}
.side-icon{font-size:28px;margin-bottom:12px;}
.side-title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.side-text{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:14px;}

/* ══ FAQ ACCORDION ══ */
.faq{display:flex;flex-direction:column;gap:2px;}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);background:var(--stone);border:1px solid var(--border);gap:12px;transition:background .2s,color .2s;}
.faq-q:hover,.faq-q.on{background:var(--rose-ll);color:var(--rose);border-color:var(--rose-l);}
.faq-ic{font-size:18px;flex-shrink:0;transition:transform .3s;}
.faq-q.on .faq-ic{transform:rotate(45deg);}
.faq-a{display:none;padding:0 20px 17px;font-size:14px;color:var(--body);line-height:1.8;font-weight:300;background:var(--rose-ll);border:1px solid var(--rose-l);border-top:none;}
.faq-a .hi{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border);}
.faq-a.on{display:block;}

/* ══ CONTACT FORM ══ */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;border:1px solid var(--border);}
.c-left{background:var(--ink);padding:clamp(36px,5vw,60px) clamp(28px,4vw,52px);}
.c-left-title{font-family:var(--serif);font-size:32px;font-weight:400;color:#fff;line-height:1.2;margin-bottom:6px;}
.c-left-title em{font-style:italic;color:var(--rose-l);}
.c-left-sub{font-size:13px;color:rgba(255,255,255,.75);margin-bottom:28px;font-weight:300;line-height:1.7;}
.ci-list{display:flex;flex-direction:column;gap:18px;}
.ci{display:flex;gap:12px;align-items:flex-start;}
.ci-ico{width:38px;height:38px;flex-shrink:0;background:rgba(74,150,190,.1);border:1px solid rgba(74,150,190,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;}
.ci-lbl{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--teal-l);opacity:1;margin-bottom:3px;}
.ci-val{font-size:13px;color:rgba(255,255,255,.88);line-height:1.55;}
.ci-val a{color:var(--teal-l);}
.c-right{background:#fff;padding:clamp(36px,5vw,60px) clamp(28px,4vw,52px);}
.c-form-title{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink);margin-bottom:4px;}
.c-form-sub{font-family:var(--deva);font-size:13px;color:var(--muted);margin-bottom:22px;}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ff{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.ff label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:700;}
.ff input,.ff select,.ff textarea{border:1px solid var(--border);padding:12px 14px;font-size:14px;font-family:var(--sans);color:var(--ink);background:var(--stone);outline:none;transition:border-color .2s,background .2s;border-radius:0;-webkit-appearance:none;}
.ff input:focus,.ff select:focus,.ff textarea:focus{border-color:var(--teal);background:#fff;}
.ff textarea{resize:vertical;min-height:76px;}
.f-btn{width:100%;background:linear-gradient(135deg,var(--rose),var(--teal));color:#fff;padding:15px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);font-weight:600;transition:opacity .2s;}
.f-btn:hover{opacity:.88;}
.f-msg{margin-top:10px;font-size:13px;display:none;}
.f-msg.ok{color:#16a34a;display:block;}
.f-msg.err{color:#dc2626;display:block;}
.maps-grid{display:grid;grid-template-columns:1fr 1fr;}
.map-b iframe{width:100%;height:280px;border:none;display:block;filter:grayscale(8%);}
.map-lbl{background:var(--ink-m);border-top:2.5px solid var(--rose);padding:12px 20px;display:flex;align-items:center;gap:10px;}
.map-lbl span{font-size:12px;font-weight:600;color:var(--teal-l);}
.map-lbl a{margin-left:auto;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.3);transition:color .2s;}
.map-lbl a:hover{color:var(--teal-l);}

/* ══ RESPONSIVE ══ */
@media(max-width:1100px){
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-r{display:none;}
  .hero-l{padding:72px 24px 64px;}
  .about-grid{grid-template-columns:1fr;gap:36px;}
  .about-imgs{height:320px;}
  .ai-main{width:60%;height:260px;}
  .ai-secondary{width:52%;height:210px;}
  .svc-grid{grid-template-columns:repeat(4,1fr);}
  .process-grid{grid-template-columns:repeat(2,1fr);gap:24px;}
  .process-grid::before{display:none;}
  .signs-grid{grid-template-columns:repeat(3,1fr);}
  .gal-grid{grid-template-columns:repeat(6,1fr);grid-template-rows:200px 200px;}
  .gp-a{grid-column:1/4;}.gp-b{grid-column:4/7;}.gp-c{display:none;}
  .gp-d{grid-column:1/3;}.gp-e{grid-column:3/5;}.gp-f{grid-column:5/7;}.gp-g{display:none;}
  .rev-grid{grid-template-columns:1fr 1fr;}
  .cta-inner{grid-template-columns:1fr;gap:28px;}
  .cta-btns{flex-direction:row;flex-wrap:wrap;align-items:flex-start;}
  .ft-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .contact-grid{grid-template-columns:1fr;}
  .maps-grid{grid-template-columns:1fr;}
  .sd-grid{grid-template-columns:1fr;}
}
@media(max-width:720px){
  .topbar{display:none;}
  .nav-links,.nav-cta-btn{display:none;}
  .ham{display:flex;}
  .nav-row{height:68px;}
  .hero-stats{grid-template-columns:1fr 1fr;}
  .hs:nth-child(3){grid-column:span 2;border:none;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .signs-grid{grid-template-columns:1fr 1fr;}
  .gal-grid{grid-template-rows:160px 160px;}
  .rev-grid{grid-template-columns:1fr;}
  .ft-grid{grid-template-columns:1fr;padding:40px 0 28px;}
  .ft-bottom{flex-direction:column;text-align:center;}
  .wa-btn{padding:12px 18px;font-size:11px;bottom:16px;right:16px;}
  #scrolltop{bottom:74px;right:16px;}
  .sym-grid{grid-template-columns:1fr;}
  .f2{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .hero-ctas{flex-direction:column;}
  .btn-lg,.btn{width:100%;justify-content:center;}
  .process-grid{grid-template-columns:1fr;}
  .signs-grid{grid-template-columns:1fr;}
  .cta-btns{flex-direction:column;}
}

/* Google review banner button hover */
.rv-badge{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:4px 11px;background:var(--stone);font-size:10px;font-weight:600;color:var(--teal);letter-spacing:.08em;text-transform:uppercase;}

/* ═══════════════════════════════════════════════════════════
   INNER PAGE DESIGN SYSTEM — v5 patch
   Unifies all inner pages with the homepage design system
   ═══════════════════════════════════════════════════════════ */

/* ── PAGE HERO (inner pages) — BEM variant aliases ── */
/* Inner pages use .ph__tag, .ph__title, .ph__sub, .ph__hi
   while CSS defined .ph-tag, .ph-title etc. Fix both. */
.ph__tag  { font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-l);font-weight:600;margin-bottom:14px;display:block; }
.ph__title{ font-family:var(--serif);font-size:clamp(34px,4.5vw,58px);font-weight:400;color:#fff;line-height:1.06;margin-bottom:14px; }
.ph__title em{ font-style:italic;color:var(--rose-l); }
.ph__sub  { font-size:16px;color:rgba(255,255,255,.82);max-width:560px;line-height:1.8;font-weight:300; }
.ph__hi   { font-family:var(--deva);font-size:14px;color:rgba(255,255,255,.65);margin-top:10px; }

/* ── BREADCRUMB SEPARATOR ── */
.sep { color:var(--muted);opacity:.6; }

/* ── .section alias for .sec ── */
.section { padding:var(--gap) 0; }

/* ── GRID UTILITIES ── */
.grid-2 { display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:start; }
.grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px); }

/* ── FADE-UP ANIMATION (used on inner pages) ── */
.fade-up { opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease; }
.fade-up.visible { opacity:1;transform:translateY(0); }

/* ── SECTION HEADER ── */
.sec-hd { text-align:center;margin-bottom:clamp(36px,5vw,64px); }
.eyebrow { display:inline-block;margin-bottom:14px; }
.eyebrow span { font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rose); }
.sec-title { font-family:var(--serif);font-size:clamp(30px,3.8vw,50px);font-weight:400;line-height:1.1;color:var(--ink);letter-spacing:-.02em;margin-bottom:12px; }
.sec-title em { font-style:italic;color:var(--rose); }
.sec-title--left { text-align:left; }
.sec-sub { font-size:14px;color:var(--muted);max-width:520px;margin:0 auto;line-height:1.7; }

/* ── ABOUT PAGE PHOTOS ── */
.about-photos { position:relative;height:520px; }
.about-p1 { position:absolute;top:0;left:0;width:65%;height:420px;object-fit:cover;object-position:center top;display:block; }
.about-p2 { position:absolute;bottom:0;right:0;width:52%;height:310px;object-fit:cover;display:block;border:6px solid #fff;box-shadow:var(--s3); }
.about-blob { position:absolute;bottom:22px;left:0;width:34%;padding-top:34%;background:linear-gradient(135deg,var(--rose-ll),var(--teal-ll));z-index:-1; }
.about-float { position:absolute;top:34px;right:8px;z-index:4;background:var(--ink);padding:16px 20px;box-shadow:var(--s3);text-align:center; }
.af-n { font-family:var(--serif);font-size:24px;font-weight:400;color:var(--teal-l);line-height:1; }
.af-l { font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.72);margin-top:4px;line-height:1.5; }
.name-role { font-size:13px;color:var(--muted);margin-bottom:6px; }

/* ── ABOUT PAGE TEXT ── */
.body-text { font-size:15px;line-height:1.85;color:var(--body);font-weight:300;margin-bottom:13px; }
.body-text strong { font-weight:600;color:var(--ink); }
.sub  { font-size:15px;color:var(--body);line-height:1.8;font-weight:300;margin-bottom:16px; }
.sub2 { font-family:var(--deva);font-size:13px;color:var(--muted);margin-bottom:18px; }

/* ── DIVIDER ── */
.divider-line { width:40px;height:1px;background:linear-gradient(90deg,var(--rose),var(--teal));margin:20px 0; }

/* ── CHIP / CREDENTIAL PILLS ── */
.chips { display:flex;flex-wrap:wrap;gap:8px;margin:18px 0; }
.chip  { display:inline-flex;align-items:center;gap:6px;padding:6px 13px;background:var(--stone);border:1px solid var(--border);font-size:11px;font-weight:600;color:var(--ink);transition:all .2s; }
.chip::before { content:'✓';font-size:10px;color:var(--teal); }
.chip:hover { border-color:var(--rose);background:var(--rose-ll);color:var(--rose); }

/* ── LEFT BAR ACCENT ── */
.left-bar { border-left:3px solid var(--rose);padding-left:18px; }

/* ── SERVICES PAGE — CELL VARIANT ── */
/* Inner services page uses .svc-cell; homepage uses .svc */
.svc-cell { background:#fff;padding:30px 20px 24px;text-align:center;cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;transition:background .2s,transform .2s;border:1px solid var(--border); }
.svc-bar { position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rose),var(--teal));transform:scaleX(0);transition:transform .3s;transform-origin:left; }
.svc-cell:hover { background:var(--rose-ll);transform:translateY(-5px);box-shadow:var(--s2); }
.svc-cell:hover .svc-bar { transform:scaleX(1); }

/* ── CARD COMPONENTS ── */
.card { border:1px solid var(--border);padding:28px 24px;transition:box-shadow .25s,transform .25s,border-color .25s;background:#fff; }
.card:hover { box-shadow:var(--s3);transform:translateY(-4px);border-color:var(--rose-l); }
.card-icon { font-size:32px;margin-bottom:14px; }
.card-title { font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px;line-height:1.35; }
.card-title-hi { font-family:var(--deva);font-size:12px;color:var(--muted);margin-bottom:10px; }
.card-text { font-size:14px;color:var(--body);line-height:1.75;font-weight:300; }

/* ── SYMPTOM GRID (inner condition pages) ── */
.sym-item { background:var(--rose-ll);padding:12px 15px;border-left:2.5px solid var(--rose); }
.sym-item-en { font-size:12px;font-weight:700;color:var(--ink); }
.sym-item-hi { font-family:var(--deva);font-size:11px;color:var(--muted);margin-top:2px; }

/* ── SERVICE DETAIL LAYOUT ── */
.service-content { display:grid;grid-template-columns:2fr 1fr;gap:clamp(32px,5vw,60px);align-items:start; }
.service-body h2 { font-family:var(--serif);font-size:26px;font-weight:400;color:var(--ink);margin:26px 0 12px; }
.service-body h2:first-child { margin-top:0; }
.service-body p { font-size:14px;color:var(--body);line-height:1.85;margin-bottom:12px;font-weight:300; }
.service-body ul { margin:12px 0 18px;display:flex;flex-direction:column;gap:7px; }
.service-body li { font-size:14px;color:var(--body);padding-left:18px;position:relative;line-height:1.7; }
.service-body li::before { content:'›';position:absolute;left:0;color:var(--rose);font-size:16px;line-height:1.25; }
.service-sidebar { position:sticky;top:100px; }

/* ── FAQ (inner pages variant) ── */
.faq-list { display:flex;flex-direction:column;gap:2px; }
.faq-item { border:1px solid var(--border);overflow:hidden; }
.faq-q { display:flex;justify-content:space-between;align-items:center;padding:17px 20px;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink);background:var(--stone);gap:12px;transition:background .2s,color .2s;width:100%;text-align:left; }
.faq-q:hover,.faq-q.on { background:var(--rose-ll);color:var(--rose); }
.faq-icon { font-size:18px;flex-shrink:0;transition:transform .3s;line-height:1; }
.faq-q.on .faq-icon { transform:rotate(45deg); }
.faq-a { display:none;padding:16px 20px;font-size:14px;color:var(--body);line-height:1.8;font-weight:300;background:var(--rose-ll);border-top:1px solid var(--rose-l); }
.faq-a.on { display:block; }

/* ── CONTACT PAGE ── */
.contact-sec { background:#fff; }
.ci-icon { font-size:22px;flex-shrink:0;width:38px;text-align:center; }
.ci-label { font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--teal-l);font-weight:700;margin-bottom:3px; }
.ci-val a { color:var(--teal-l); }
.c-left h2 { font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:400;color:#fff;line-height:1.2;margin-bottom:10px; }
.c-left h2 em { font-style:italic;color:var(--rose-l); }
.c-right h3 { font-family:var(--serif);font-size:clamp(22px,2.5vw,28px);font-weight:400;color:var(--ink);margin-bottom:6px; }
.frow { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.fsub { width:100%;background:linear-gradient(135deg,var(--rose),var(--teal));color:#fff;padding:15px;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--sans);font-weight:600;transition:opacity .2s;margin-top:6px; }
.fsub:hover { opacity:.88; }
.form-msg { margin-top:10px;font-size:13px;display:none; }
.form-msg.ok  { color:#16a34a;display:block; }
.form-msg.err { color:#dc2626;display:block; }
.maps-sec { background:var(--stone); }
.map-block { overflow:hidden; }
.map-block iframe { width:100%;height:280px;border:none;display:block;filter:grayscale(8%); }

/* ── GALLERY PAGE ── */
.gallery-tabs { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:clamp(24px,4vw,40px); }
.gtab { padding:10px 22px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--border);color:var(--muted);background:#fff;cursor:pointer;transition:all .2s; }
.gtab:hover { border-color:var(--rose);color:var(--rose); }
.gtab.on { background:var(--rose);border-color:var(--rose);color:#fff; }
.gpane { display:none; }
.gpane.on { display:block; }
.photo-grid { columns:3;column-gap:10px;margin-top:0; }
.photo-item { break-inside:avoid;margin-bottom:10px;position:relative;overflow:hidden;cursor:pointer;display:block; }
.photo-item img { width:100%;display:block;transition:transform .5s cubic-bezier(.25,.46,.45,.94);filter:brightness(.9); }
.photo-item:hover img { transform:scale(1.05);filter:brightness(1); }
.photo-overlay { position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,23,41,.75) 0%,transparent 55%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:14px; }
.photo-item:hover .photo-overlay { opacity:1; }
.po-text { font-size:12px;font-weight:500;color:#fff;letter-spacing:.04em;line-height:1.4; }
.photo-item.wide { column-span:none; }
.photo-item.tall img { height:auto; }

/* ── CTA BANNER (gallery page) ── */
.cta-banner { background:var(--ink);padding:clamp(48px,7vw,80px) 0;position:relative;overflow:hidden;text-align:center; }
.cta-banner::before { content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 100%,rgba(74,150,190,.1),transparent 60%); }
.cta-banner .w { position:relative;z-index:1; }
.cta-banner h2 { font-family:var(--serif);font-size:clamp(28px,3.5vw,44px);font-weight:400;color:#fff;line-height:1.15;margin-bottom:10px; }
.cta-banner .hi { font-family:var(--deva);font-size:14px;color:rgba(255,255,255,.65);margin-bottom:8px; }
.cta-banner p { font-size:15px;color:rgba(255,255,255,.8);font-weight:300;margin-bottom:28px; }
.cta-banner-btns { display:flex;gap:12px;justify-content:center;flex-wrap:wrap; }
.btn-ghost-white { border:1.5px solid rgba(255,255,255,.45);color:#fff; }
.btn-ghost-white:hover { border-color:#fff;background:rgba(255,255,255,.1); }
.btn-pink { background:var(--rose);color:#fff; }
.btn-pink:hover { background:var(--rose-h);transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,84,90,.3); }
.btn-blue { background:var(--teal);color:#fff; }
.btn-blue:hover { background:#3a7da0;transform:translateY(-2px); }

/* ── 404 PAGE ── */
.nf { min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--stone);padding:60px 24px; }
.nf > div { max-width:520px; }
.nf-num { font-family:var(--serif);font-size:clamp(80px,15vw,120px);font-weight:300;color:var(--rose-ll);line-height:1;margin-bottom:0; }
.nf-title { font-family:var(--serif);font-size:clamp(24px,4vw,36px);font-weight:400;color:var(--ink);margin-bottom:12px; }
.nf-sub { font-size:15px;color:var(--muted);line-height:1.75;margin-bottom:30px; }
.nf-links { display:flex;gap:12px;justify-content:center;flex-wrap:wrap; }

/* ── INNER PAGE RESPONSIVE ── */
@media(max-width:1100px){
  .grid-2 { grid-template-columns:1fr;gap:36px; }
  .grid-3 { grid-template-columns:1fr 1fr; }
  .about-photos { height:320px; }
  .about-p1 { width:60%;height:250px; }
  .about-p2 { width:52%;height:200px; }
  .service-content { grid-template-columns:1fr; }
  .frow { grid-template-columns:1fr; }
  .photo-grid { columns:2; }
}
@media(max-width:720px){
  .grid-3 { grid-template-columns:1fr; }
  .gallery-tabs { gap:6px; }
  .gtab { padding:8px 16px;font-size:10px; }
  .photo-grid { columns:2; }
  .cta-banner-btns { flex-direction:column;align-items:center; }
}
@media(max-width:480px){
  .photo-grid { columns:1; }
  .sym-grid { grid-template-columns:1fr; }
}

/* ════════════════════════════════════════════════════════════
   BLOG SYSTEM — Budding Hormones Centre
   ════════════════════════════════════════════════════════════ */

/* ── Blog Listing Page ── */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 3vw, 36px);
  margin-top: clamp(32px, 4vw, 56px);
}
.blog-card {
  background: #fff;
  border: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  transition: box-shadow .25s, transform .25s;
  overflow: hidden;
}
.blog-card:hover {
  box-shadow: var(--s3);
  transform: translateY(-5px);
}
.blog-card-img {
  width: 100%; height: 210px; object-fit: cover; display: block;
  transition: transform .5s cubic-bezier(.25,.46,.45,.94);
}
.blog-card:hover .blog-card-img { transform: scale(1.04); }
.blog-card-img-wrap { overflow: hidden; position: relative; }
.blog-card-cat {
  position: absolute; top: 14px; left: 14px;
  background: var(--rose); color: #fff;
  font-size: 9px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; padding: 5px 11px;
}
.blog-card-body { padding: 24px 24px 20px; flex: 1; display: flex; flex-direction: column; }
.blog-card-meta {
  display: flex; align-items: center; gap: 12px;
  font-size: 11px; color: var(--muted); letter-spacing: .04em; margin-bottom: 10px;
}
.blog-card-meta span::before { content: '·'; margin-right: 12px; }
.blog-card-meta span:first-child::before { content: none; }
.blog-card-title {
  font-family: var(--serif); font-size: clamp(17px, 2vw, 21px);
  font-weight: 400; color: var(--ink); line-height: 1.28;
  margin-bottom: 10px; transition: color .2s;
}
.blog-card:hover .blog-card-title { color: var(--rose); }
.blog-card-excerpt {
  font-size: 13.5px; color: var(--body); line-height: 1.8; font-weight: 300;
  flex: 1; margin-bottom: 18px;
}
.blog-card-read {
  font-size: 11px; font-weight: 700; letter-spacing: .1em;
  text-transform: uppercase; color: var(--rose);
  display: inline-flex; align-items: center; gap: 6px;
  transition: gap .2s;
}
.blog-card:hover .blog-card-read { gap: 10px; }

/* Featured post */
.blog-featured {
  display: grid; grid-template-columns: 1.3fr 1fr;
  border: 1px solid var(--border);
  background: #fff;
  overflow: hidden;
  margin-bottom: clamp(28px, 4vw, 48px);
  transition: box-shadow .25s;
}
.blog-featured:hover { box-shadow: var(--s3); }
.blog-featured-img-wrap { overflow: hidden; position: relative; }
.blog-featured-img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; transition: transform .5s; }
.blog-featured:hover .blog-featured-img { transform: scale(1.03); }
.blog-featured-cat {
  position: absolute; top: 18px; left: 18px;
  background: var(--teal); color: #fff;
  font-size: 9px; font-weight: 700; letter-spacing: .14em;
  text-transform: uppercase; padding: 6px 13px;
}
.blog-featured-body { padding: clamp(28px, 4vw, 48px); display: flex; flex-direction: column; justify-content: center; }
.blog-featured-label { font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--rose); margin-bottom: 12px; }
.blog-featured-title {
  font-family: var(--serif); font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 400; color: var(--ink); line-height: 1.2; margin-bottom: 14px;
}
.blog-featured-title em { font-style: italic; color: var(--rose); }
.blog-featured-excerpt { font-size: 14px; color: var(--body); line-height: 1.85; font-weight: 300; margin-bottom: 22px; }
.blog-featured-meta { font-size: 11px; color: var(--muted); margin-bottom: 20px; }

/* Filter tabs */
.blog-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: clamp(24px, 3vw, 36px); }
.bfil {
  padding: 9px 20px; font-size: 11px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; border: 1.5px solid var(--border); color: var(--muted);
  background: #fff; cursor: pointer; transition: all .2s;
}
.bfil:hover { border-color: var(--rose); color: var(--rose); }
.bfil.on { background: var(--rose); border-color: var(--rose); color: #fff; }

/* Sidebar */
.blog-layout { display: grid; grid-template-columns: 1fr 300px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.blog-sidebar { position: sticky; top: 100px; }
.sidebar-widget { border: 1px solid var(--border); margin-bottom: 24px; background: #fff; }
.sidebar-widget-head {
  padding: 14px 18px; border-bottom: 1px solid var(--border);
  font-size: 9px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase;
  color: var(--teal); background: var(--stone);
}
.sidebar-widget-body { padding: 18px; }
.sidebar-recent { display: flex; flex-direction: column; gap: 14px; }
.sidebar-post { display: flex; gap: 12px; align-items: flex-start; }
.sidebar-post-img { width: 62px; height: 52px; object-fit: cover; flex-shrink: 0; }
.sidebar-post-title { font-size: 13px; font-weight: 500; color: var(--ink); line-height: 1.4; transition: color .2s; }
.sidebar-post:hover .sidebar-post-title { color: var(--rose); }
.sidebar-post-date { font-size: 11px; color: var(--muted); margin-top: 3px; }
.sidebar-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.sidebar-tag {
  padding: 6px 12px; font-size: 11px; background: var(--stone);
  border: 1px solid var(--border); color: var(--muted);
  cursor: pointer; transition: all .2s;
}
.sidebar-tag:hover { border-color: var(--rose); color: var(--rose); background: var(--rose-ll); }
.sidebar-wa { background: var(--wa); color: #fff; padding: 14px 18px; text-align: center; }
.sidebar-wa p { font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.sidebar-wa a { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #fff; display: block; background: rgba(0,0,0,.15); padding: 9px; transition: background .2s; }
.sidebar-wa a:hover { background: rgba(0,0,0,.25); }

/* ── Blog Post (single article) ── */
.blog-post-layout { display: grid; grid-template-columns: 1fr 300px; gap: clamp(28px, 4vw, 56px); align-items: start; }
.article-hero-img { width: 100%; height: clamp(240px, 40vw, 440px); object-fit: cover; display: block; margin-bottom: 32px; }
.article-meta {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  font-size: 12px; color: var(--muted); margin-bottom: 18px; padding-bottom: 18px;
  border-bottom: 1px solid var(--border);
}
.article-meta-cat {
  background: var(--rose-ll); color: var(--rose); padding: 4px 10px;
  font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.article-body h2 { font-family: var(--serif); font-size: clamp(20px, 2.5vw, 28px); font-weight: 400; color: var(--ink); margin: 32px 0 12px; line-height: 1.25; }
.article-body h3 { font-family: var(--serif); font-size: clamp(17px, 2vw, 22px); font-weight: 400; color: var(--ink-m); margin: 24px 0 10px; }
.article-body p { font-size: 15px; color: var(--body); line-height: 1.9; margin-bottom: 16px; font-weight: 300; }
.article-body ul, .article-body ol { margin: 14px 0 20px 0; display: flex; flex-direction: column; gap: 8px; }
.article-body li { font-size: 14px; color: var(--body); padding-left: 20px; position: relative; line-height: 1.75; font-weight: 300; }
.article-body li::before { content: '›'; position: absolute; left: 0; color: var(--rose); font-size: 16px; line-height: 1.25; }
.article-body ol { counter-reset: alist; }
.article-body ol li { counter-increment: alist; }
.article-body ol li::before { content: counter(alist) '.'; font-size: 12px; font-weight: 700; color: var(--teal); top: 2px; }
.article-body blockquote { margin: 28px 0; padding: 20px 24px; background: var(--teal-ll); border-left: 3px solid var(--teal); }
.article-body blockquote p { font-family: var(--serif); font-size: 16px; font-style: italic; color: var(--ink); margin: 0; font-weight: 400; }
.article-body strong { font-weight: 600; color: var(--ink); }
.article-body a { color: var(--teal); text-decoration: underline; text-underline-offset: 3px; }
.article-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.article-share { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-size: 12px; color: var(--muted); font-weight: 500; }
.share-btn { width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; transition: all .2s; border: 1px solid var(--border); color: var(--ink); background: #fff; cursor: pointer; }
.share-btn:hover { background: var(--rose); border-color: var(--rose); color: #fff; }
.author-box { display: flex; gap: 18px; align-items: flex-start; padding: 24px; background: var(--stone); border: 1px solid var(--border); margin-top: 32px; }
.author-box-img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: top; flex-shrink: 0; border: 2px solid var(--border); }
.author-box-name { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.author-box-role { font-size: 11px; color: var(--rose); letter-spacing: .06em; text-transform: uppercase; margin-bottom: 7px; }
.author-box-bio { font-size: 13px; color: var(--body); line-height: 1.75; font-weight: 300; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 24px; }

/* ── Admin CMS Panel ── */
.cms-wrap { background: var(--stone); min-height: 100vh; padding: 40px 0; }
.cms-panel { background: #fff; border: 1px solid var(--border); max-width: 900px; margin: 0 auto; }
.cms-header { background: var(--ink); padding: 20px 28px; display: flex; align-items: center; justify-content: space-between; }
.cms-header h2 { font-family: var(--serif); font-size: 22px; font-weight: 400; color: #fff; }
.cms-header-tag { font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--teal-l); }
.cms-body { padding: 28px; }
.cms-tabs { display: flex; border-bottom: 2px solid var(--border); margin-bottom: 28px; gap: 0; }
.cms-tab { padding: 12px 20px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all .2s; }
.cms-tab.on { color: var(--rose); border-bottom-color: var(--rose); }
.cms-field { margin-bottom: 18px; }
.cms-field label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); margin-bottom: 7px; }
.cms-field input, .cms-field select, .cms-field textarea {
  width: 100%; padding: 11px 14px; border: 1.5px solid var(--border);
  font-family: var(--sans); font-size: 14px; color: var(--ink);
  background: #fff; transition: border-color .2s; outline: none;
}
.cms-field input:focus, .cms-field select:focus, .cms-field textarea:focus { border-color: var(--rose); }
.cms-field textarea { min-height: 180px; resize: vertical; }
.cms-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cms-post-list { display: flex; flex-direction: column; gap: 2px; }
.cms-post-item { display: flex; align-items: center; gap: 14px; padding: 13px 16px; background: var(--stone); border: 1px solid var(--border); }
.cms-post-item:hover { background: var(--rose-ll); }
.cms-post-title-s { font-size: 13px; font-weight: 600; color: var(--ink); flex: 1; }
.cms-post-date-s { font-size: 11px; color: var(--muted); flex-shrink: 0; }
.cms-post-cat-s { font-size: 10px; background: var(--teal-ll); color: var(--teal); padding: 3px 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; flex-shrink: 0; }
.cms-post-edit { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--rose); cursor: pointer; flex-shrink: 0; padding: 4px 0; background: none; border: none; }
.cms-post-del { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); cursor: pointer; flex-shrink: 0; padding: 4px 0; background: none; border: none; }
.cms-post-del:hover { color: #dc2626; }
.cms-publish-btn { background: linear-gradient(135deg, var(--rose), #b04549); color: #fff; padding: 13px 30px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; border: none; transition: opacity .2s; margin-right: 8px; }
.cms-publish-btn:hover { opacity: .88; }
.cms-draft-btn { background: var(--stone); color: var(--ink); padding: 13px 24px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; border: 1.5px solid var(--border); transition: border-color .2s; }
.cms-draft-btn:hover { border-color: var(--ink); }
.cms-toast { position: fixed; bottom: 28px; right: 28px; background: var(--ink); color: #fff; padding: 14px 22px; font-size: 13px; font-weight: 500; box-shadow: var(--s3); opacity: 0; transform: translateY(10px); transition: all .3s; pointer-events: none; z-index: 9999; }
.cms-toast.show { opacity: 1; transform: translateY(0); }
.cms-img-prev { width: 100%; height: 160px; background: var(--stone); border: 1.5px dashed var(--border); display: flex; align-items: center; justify-content: center; color: var(--muted); font-size: 13px; overflow: hidden; margin-bottom: 8px; }
.cms-img-prev img { width: 100%; height: 100%; object-fit: cover; }
.cms-badge { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 3px 10px; margin-left: 8px; }
.cms-badge.published { background: #dcfce7; color: #16a34a; }
.cms-badge.draft { background: var(--stone); color: var(--muted); border: 1px solid var(--border); }

/* Responsive blog */
@media(max-width:1100px) {
  .blog-layout, .blog-post-layout { grid-template-columns: 1fr; }
  .blog-sidebar { position: static; }
  .blog-featured { grid-template-columns: 1fr; }
  .blog-featured-img { min-height: 220px; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .related-grid { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width:640px) {
  .blog-grid { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .cms-field-row { grid-template-columns: 1fr; }
}
