/* ================================================================
   DR. MD. IQBAL HASAN — Full Visual Refresh
   Aesthetic: Surgical Precision · Refined Medical Luxury
   Palette:   Deep Navy · Warm Gold · Ivory White
   Fonts:     Cormorant Garamond (display) · Plus Jakarta Sans (body)
================================================================ */

:root {
  --navy:        #0b1f3a;
  --navy-mid:    #152d50;
  --navy-light:  #1e3f6e;
  --gold:        #c9973a;
  --gold-light:  #e4b95c;
  --gold-pale:   #f5e6c8;
  --ivory:       #faf8f4;
  --white:       #ffffff;
  --slate:       #4a5568;
  --slate-light: #718096;
  --border:      #e8e4dc;
  --success:     #2f855a;
  --danger:      #c53030;
  --shadow-sm:  0 2px 8px rgba(11,31,58,.08);
  --shadow-md:  0 6px 24px rgba(11,31,58,.12);
  --shadow-lg:  0 16px 48px rgba(11,31,58,.18);
  --shadow-xl:  0 24px 64px rgba(11,31,58,.22);
  --r-sm: 6px; --r: 14px; --r-lg: 24px;
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'Plus Jakarta Sans', system-ui, sans-serif;
  --transition: all .28s cubic-bezier(.4,0,.2,1);
  --max-w: 1180px;
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--ivory);color:var(--navy);line-height:1.65;overflow-x:hidden;}
a{text-decoration:none;color:inherit;transition:var(--transition);}
ul{list-style:none;}
img{max-width:100%;display:block;}
button{cursor:pointer;border:none;background:none;font-family:var(--font-body);}
input,select,textarea{font-family:var(--font-body);}
.container{max-width:var(--max-w);margin:0 auto;padding:0 2rem;}

h1,h2,h3,h4,h5{font-family:var(--font-display);line-height:1.15;color:var(--navy);}
h1{font-size:clamp(2.6rem,5.5vw,4.2rem);font-weight:600;}
h2{font-size:clamp(1.9rem,3.5vw,3rem);font-weight:600;}
h3{font-size:1.35rem;font-weight:600;}
h4{font-size:1.05rem;font-weight:600;}
p{color:var(--slate);line-height:1.8;}
em{font-style:italic;color:var(--navy-light);}

/* BUTTONS */
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,var(--gold),#a97a28);color:var(--white);padding:.85rem 2.2rem;border-radius:var(--r-sm);font-weight:600;font-size:.9rem;letter-spacing:.02em;transition:var(--transition);box-shadow:0 4px 16px rgba(201,151,58,.35);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,151,58,.45);color:var(--white);}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1.5px solid var(--navy);color:var(--navy);padding:.8rem 2.2rem;border-radius:var(--r-sm);font-weight:600;font-size:.9rem;transition:var(--transition);}
.btn-ghost:hover{background:var(--navy);color:var(--white);}
.btn-ghost-white{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:1.5px solid rgba(255,255,255,.5);color:var(--white);padding:.8rem 2.2rem;border-radius:var(--r-sm);font-weight:600;font-size:.9rem;transition:var(--transition);}
.btn-ghost-white:hover{background:rgba(255,255,255,.12);border-color:white;}
.btn-large{padding:1.05rem 2.8rem;font-size:1rem;}

/* TOP BAR */
.topbar{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06);padding:.55rem 0;font-size:.8rem;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.topbar-left{display:flex;align-items:center;gap:1rem;color:rgba(255,255,255,.6);}
.topbar-right{display:flex;align-items:center;gap:1.25rem;}
.topbar-right a{color:rgba(255,255,255,.75);font-weight:500;}
.topbar-right a:hover{color:var(--gold-light);}
.btn-topbar{background:var(--gold);color:var(--white)!important;padding:.3rem 1rem;border-radius:4px;font-weight:600;font-size:.78rem;}
.btn-topbar:hover{background:var(--gold-light);}
.divider{opacity:.3;}

/* NAVBAR */
.navbar{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1000;transition:box-shadow .3s;}
.navbar.scrolled{box-shadow:var(--shadow-md);}
.nav-inner{display:flex;align-items:center;gap:1rem;padding-top:.75rem;padding-bottom:.75rem;}
.nav-logo{display:flex;align-items:center;gap:.85rem;flex-shrink:0;}
.logo-mark{width:46px;height:46px;border-radius:10px;background:linear-gradient(145deg,var(--navy-mid),var(--navy-light));color:var(--white);font-family:var(--font-display);font-size:1.3rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.logo-mark.sm{width:36px;height:36px;font-size:1rem;border-radius:7px;}
.logo-text{display:flex;flex-direction:column;gap:.05rem;}
.logo-name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--navy);line-height:1.2;}
.logo-sub{font-size:.7rem;color:var(--slate-light);letter-spacing:.03em;}
.nav-links{display:flex;align-items:center;gap:0;margin-left:auto;background:rgba(11,31,58,.04);border:1px solid rgba(11,31,58,.08);border-radius:50px;padding:.25rem;}
.nav-links li a{display:block;padding:.42rem 1rem;border-radius:50px;font-size:.8rem;font-weight:600;color:var(--slate);transition:var(--transition);white-space:nowrap;letter-spacing:.01em;}
.nav-links li a:hover{color:var(--navy);background:rgba(11,31,58,.07);}
.nav-links li a.active{color:var(--white);background:var(--navy);box-shadow:0 2px 8px rgba(11,31,58,.25);}
.has-dropdown{position:relative;}
.has-dropdown::after{content:'';position:absolute;top:100%;left:0;right:0;height:10px;}
.dropdown{display:none;position:absolute;top:calc(100% + .5rem);left:50%;transform:translateX(-50%);background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:.5rem;min-width:200px;box-shadow:var(--shadow-lg);z-index:200;}
.dropdown li a{display:block;padding:.55rem 1rem;border-radius:var(--r-sm);font-size:.84rem;color:var(--slate);font-weight:500;background:none;box-shadow:none;}
.dropdown li a:hover{background:var(--ivory);color:var(--navy);}
.has-dropdown:hover .dropdown{display:block;}
.has-dropdown:focus-within .dropdown{display:block;}
.btn-nav{background:var(--navy);color:var(--white);padding:.65rem 1.5rem;border-radius:50px;font-size:.85rem;font-weight:600;white-space:nowrap;flex-shrink:0;transition:var(--transition);box-shadow:0 2px 12px rgba(11,31,58,.2);}
.btn-nav:hover{background:var(--navy-light);color:var(--white);box-shadow:0 4px 16px rgba(11,31,58,.3);}
.hamburger{display:none;flex-direction:column;gap:5px;padding:.5rem;border-radius:6px;}
.hamburger span{width:22px;height:2px;background:var(--navy);border-radius:2px;transition:var(--transition);}
.nav-mobile-cta{display:none;}

/* FLASH */
.flash-container{padding:.75rem 2rem;}
.flash{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-w);margin:.5rem auto;padding:1rem 1.5rem;border-radius:var(--r);font-size:.9rem;font-weight:500;}
.flash-success{background:#f0fff4;color:var(--success);border:1px solid #9ae6b4;}
.flash-error{background:#fff5f5;color:var(--danger);border:1px solid #feb2b2;}
.flash button{opacity:.5;font-size:1.1rem;padding:.25rem;}

/* SECTION */
.section{padding:6rem 0;}
.section-header{text-align:center;max-width:620px;margin:0 auto 4rem;}
.section-tag{display:inline-block;background:var(--gold-pale);color:var(--gold);border:1px solid rgba(201,151,58,.25);padding:.3rem 1rem;border-radius:50px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem;}
.section-title{margin-bottom:.9rem;}
.section-subtitle{color:var(--slate-light);font-size:.95rem;}

/* HERO */
.hero{position:relative;overflow:hidden;background:var(--navy);min-height:92vh;display:flex;align-items:center;padding:7rem 0 5rem;}
.hero-bg{position:absolute;inset:0;pointer-events:none;}
.hero-mesh{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 70% 40%,rgba(30,63,110,.9),transparent 70%),radial-gradient(ellipse 50% 50% at 20% 80%,rgba(201,151,58,.12),transparent 60%);}
.hero-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:72px 72px;}
.hero-arc{position:absolute;right:-10%;bottom:-20%;width:600px;height:600px;border-radius:50%;border:1px solid rgba(201,151,58,.1);}
.hero-arc::before{content:'';position:absolute;inset:60px;border-radius:50%;border:1px solid rgba(201,151,58,.07);}
.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;background:rgba(201,151,58,.15);border:1px solid rgba(201,151,58,.3);color:var(--gold-light);padding:.45rem 1.1rem;border-radius:50px;font-size:.78rem;font-weight:600;letter-spacing:.06em;margin-bottom:1.5rem;}
.hero-dot{width:6px;height:6px;border-radius:50%;background:var(--gold-light);animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-title{color:var(--white);margin-bottom:1.25rem;line-height:1.08;}
.hero-title em{color:var(--gold-light);font-style:italic;}
.hero-sub{color:rgba(255,255,255,.65);font-size:1.05rem;max-width:480px;margin-bottom:2.25rem;line-height:1.75;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3rem;}
.hero-stats{display:flex;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);overflow:hidden;}
.stat{padding:1.1rem 1.6rem;text-align:center;flex:1;}
.stat+.stat{border-left:1px solid rgba(255,255,255,.08);}
.stat-num{display:block;font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:var(--gold-light);line-height:1;}
.stat-label{font-size:.72rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.07em;margin-top:.3rem;display:block;}
.hero-right{display:flex;flex-direction:column;align-items:center;gap:1.25rem;}
.doctor-card{background:rgba(255,255,255,.06);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:2.5rem;text-align:center;width:100%;animation:floatCard 5s ease-in-out infinite;}
@keyframes floatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.doctor-photo{width:160px;height:160px;border-radius:50%;overflow:hidden;margin:0 auto 1.25rem;box-shadow:0 0 0 5px rgba(201,151,58,.3),0 0 0 10px rgba(201,151,58,.1);flex-shrink:0;}
.doctor-photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);}
.doctor-card h3{color:var(--white);font-size:1.4rem;margin-bottom:.25rem;}
.doctor-card .card-title{color:rgba(255,255,255,.55);font-size:.82rem;margin-bottom:1.25rem;}
.card-tags{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;}
.card-tag{background:rgba(201,151,58,.2);border:1px solid rgba(201,151,58,.35);color:var(--gold-light);padding:.25rem .75rem;border-radius:20px;font-size:.72rem;font-weight:600;}
.info-pills{display:flex;flex-direction:column;gap:.75rem;width:100%;}
.info-pill{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r);padding:.9rem 1.25rem;display:flex;align-items:center;gap:.85rem;}
.pill-icon{font-size:1.3rem;flex-shrink:0;}
.pill-text strong{display:block;color:var(--white);font-size:.85rem;margin-bottom:.1rem;}
.pill-text small{color:rgba(255,255,255,.5);font-size:.75rem;}

/* CHAMBER STRIP */
.chamber-strip{background:var(--white);border-top:3px solid var(--gold);border-bottom:1px solid var(--border);padding:1.5rem 0;}
.chamber-strip-inner{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;}
.cs-left{display:flex;align-items:center;gap:1.25rem;flex:1;min-width:0;}
.cs-badge{background:var(--navy);color:var(--white);padding:.35rem 1rem;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;}
.cs-details{display:flex;flex-direction:column;min-width:0;}
.cs-details strong{font-size:.9rem;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cs-details span{font-size:.8rem;color:var(--slate-light);}
.cs-schedule{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;}
.cs-day{font-size:.82rem;font-weight:600;color:var(--navy);}
.cs-sep{color:var(--gold);font-weight:700;}
.cs-time{background:var(--gold-pale);color:var(--gold);border:1px solid rgba(201,151,58,.25);padding:.2rem .75rem;border-radius:20px;font-size:.75rem;font-weight:700;margin-left:.25rem;}
.cs-call{margin-left:auto;background:linear-gradient(135deg,var(--navy),var(--navy-light));color:var(--white);padding:.85rem 1.75rem;border-radius:var(--r-sm);font-weight:700;font-size:.9rem;white-space:nowrap;box-shadow:var(--shadow-md);transition:var(--transition);flex-shrink:0;}
.cs-call:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);color:var(--white);}

/* TRUST BAR */
.trust-bar{background:var(--navy);padding:1.25rem 0;overflow:hidden;}
.trust-bar-inner{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}
.trust-label{font-size:.72rem;font-weight:700;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;}
.trust-item{font-size:.8rem;color:rgba(255,255,255,.6);font-weight:500;padding:.3rem .9rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:20px;white-space:nowrap;}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;}
.service-card{display:block;background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2rem 1.75rem;transition:var(--transition);position:relative;overflow:hidden;}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--gold-pale);}
.service-card:hover::after{transform:scaleX(1);}
.service-icon{font-size:2rem;margin-bottom:.85rem;}
.service-badge{display:inline-block;background:var(--gold-pale);color:var(--gold);border:1px solid rgba(201,151,58,.2);padding:.2rem .7rem;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.85rem;}
.service-card h3{font-size:1.1rem;margin-bottom:.6rem;}
.service-card p{font-size:.875rem;color:var(--slate);margin-bottom:1.25rem;}
.service-link{font-size:.82rem;font-weight:700;color:var(--gold);letter-spacing:.03em;}
.service-card:hover .service-link{color:var(--navy);}

/* SERVICE CARD WITH PHOTO (replaces emoji when image uploaded) */
.service-card--img{padding:0;}
.service-card--img .service-badge,
.service-card--img h3,
.service-card--img p,
.service-card--img .service-link{padding-left:1.75rem;padding-right:1.75rem;}
.service-card--img .service-badge{margin-top:.85rem;}
.service-card--img h3{padding-top:.1rem;}
.service-card--img .service-link{display:block;padding-bottom:1.5rem;}
.service-card-photo{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;background:#0b1f3a;}
.service-card-photo img,.service-card-photo video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.service-card--img:hover .service-card-photo img,.service-card--img:hover .service-card-photo video{transform:scale(1.06);}

/* ABOUT PREVIEW */
.about-preview{background:var(--white);}
.about-preview-inner{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:center;}
.about-img-wrap{position:relative;}
.about-img-frame{border-radius:var(--r-lg);overflow:hidden;width:100%;aspect-ratio:4/5;max-height:560px;box-shadow:var(--shadow-xl);position:relative;}
.about-img-frame img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);}
.about-img-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--white);border-radius:var(--r);padding:1.25rem 1.5rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:1rem;border-left:4px solid var(--gold);}
.aib-text strong{display:block;font-size:.9rem;}
.aib-text small{color:var(--slate-light);font-size:.78rem;}
.about-img-accent{position:absolute;top:-1.5rem;left:-1.5rem;width:72px;height:72px;border-radius:var(--r);background:linear-gradient(135deg,var(--gold),var(--gold-light));display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:var(--shadow-md);}
.about-content{padding-left:1rem;}
.about-content h2{margin-bottom:1.25rem;}
.about-content p{margin-bottom:1rem;}
.blockq{background:var(--ivory);border-left:3px solid var(--gold);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1.25rem 1.5rem;margin:1.75rem 0;font-family:var(--font-display);font-size:1.1rem;font-style:italic;color:var(--navy-mid);}
.cred-list{display:flex;flex-direction:column;gap:.75rem;margin:1.75rem 0;}
.cred-item{display:flex;align-items:center;gap:1rem;background:var(--ivory);border-radius:var(--r-sm);padding:.9rem 1.1rem;border:1px solid var(--border);}
.cred-icon{font-size:1.4rem;flex-shrink:0;}
.cred-item strong{display:block;font-size:.875rem;}
.cred-item small{color:var(--slate-light);font-size:.78rem;}

/* STATS SHOWCASE */
.stats-showcase{background:var(--navy);padding:5rem 0;position:relative;overflow:hidden;}
.stats-showcase::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 80% 50%,rgba(201,151,58,.08),transparent 70%);}
.stats-showcase-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:0;position:relative;}
.ss-item{text-align:center;padding:0 2rem;}
.ss-num{display:block;font-family:var(--font-display);font-size:clamp(2.5rem,4.5vw,3.8rem);font-weight:700;color:var(--gold-light);line-height:1;margin-bottom:.5rem;}
.ss-label{display:block;font-size:.88rem;font-weight:700;color:var(--white);margin-bottom:.3rem;letter-spacing:.02em;}
.ss-desc{display:block;font-size:.76rem;color:rgba(255,255,255,.4);}
.ss-divider{width:1px;height:80px;background:rgba(255,255,255,.1);}

/* WHY CHOOSE */
.why-section{background:var(--ivory);}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.why-num{font-family:var(--font-display);font-size:2.8rem;font-weight:700;line-height:1;margin-bottom:.85rem;background:linear-gradient(135deg,var(--gold),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.why-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2.25rem 2rem;transition:var(--transition);position:relative;overflow:hidden;}
.why-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gold-pale);}
.why-card:hover::before{transform:scaleX(1);}
.why-card h3{font-size:1.05rem;margin-bottom:.55rem;}
.why-card p{font-size:.875rem;}

/* TESTIMONIALS (homepage dark section) */
.testi-section{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-mid) 50%,#0d2545 100%);padding:6rem 0;position:relative;overflow:hidden;}
.testi-section::before{content:'';position:absolute;left:-200px;top:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(201,151,58,.07),transparent 65%);pointer-events:none;}
.testi-section::after{content:'';position:absolute;right:-100px;bottom:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(201,151,58,.05),transparent 65%);pointer-events:none;}
.testi-tag{background:rgba(201,151,58,.2)!important;color:var(--gold-light)!important;border-color:rgba(201,151,58,.3)!important;}
.testi-heading{color:var(--white);font-size:clamp(2rem,3.5vw,2.8rem);margin-bottom:.5rem;}
.testi-heading em{color:var(--gold-light);}
.testi-sub{color:rgba(255,255,255,.45);font-size:.9rem;}
.tcard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;position:relative;z-index:1;}
.tcard{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);padding:2.25rem;position:relative;overflow:hidden;transition:var(--transition);}
.tcard::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));border-radius:var(--r-lg) var(--r-lg) 0 0;}
.tcard:hover{background:rgba(255,255,255,.09);transform:translateY(-3px);box-shadow:0 20px 60px rgba(0,0,0,.3);}
.tcard-qdec{font-family:var(--font-display);font-size:6rem;line-height:.7;color:rgba(201,151,58,.15);position:absolute;top:1rem;left:1.5rem;pointer-events:none;user-select:none;}
.tcard-stars{color:var(--gold-light);font-size:1rem;letter-spacing:.12em;margin-bottom:.85rem;}
.tcard-proc{display:inline-block;background:rgba(201,151,58,.2);color:var(--gold-light);border:1px solid rgba(201,151,58,.35);padding:.22rem .85rem;border-radius:50px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:1.1rem;}
.tcard-text{color:rgba(255,255,255,.88);font-family:var(--font-display);font-style:italic;font-size:1.05rem;line-height:1.85;margin-bottom:1.5rem;}
.tcard-author{display:flex;align-items:center;gap:.9rem;border-top:1px solid rgba(255,255,255,.08);padding-top:1.25rem;}
.tcard-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--gold),#a97a28);display:flex;align-items:center;justify-content:center;color:var(--white);font-family:var(--font-display);font-weight:700;font-size:1.2rem;flex-shrink:0;box-shadow:0 3px 12px rgba(201,151,58,.4);}
.tcard-info strong{display:block;color:var(--white);font-size:.88rem;margin-bottom:.15rem;}
.tcard-info small{color:rgba(255,255,255,.4);font-size:.76rem;}
.testi-btn{margin-top:0;}

/* CTA SECTION */
.cta-section{background:linear-gradient(135deg,var(--navy),#1a3a6e,var(--navy-light));padding:6rem 0;position:relative;overflow:hidden;}
.cta-bg-decoration{position:absolute;right:-120px;top:-120px;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,rgba(201,151,58,.09),transparent 65%);}
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;position:relative;}
.cta-content{position:relative;}
.cta-content h2{color:var(--white);font-size:clamp(2rem,3.5vw,3rem);margin-bottom:1rem;}
.cta-content h2 em{color:var(--gold-light);}
.cta-content p{color:rgba(255,255,255,.7);margin-bottom:2rem;font-size:1.02rem;}
.cta-actions{display:flex;gap:1rem;flex-wrap:wrap;}
.cta-card{background:rgba(255,255,255,.07);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-lg);padding:2.25rem;box-shadow:0 16px 48px rgba(0,0,0,.25);}
.cta-card-title{display:block;color:var(--gold-light);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.25rem;}
.cta-schedule{list-style:none;}
.cta-schedule li{display:flex;justify-content:space-between;padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:.875rem;color:rgba(255,255,255,.8);}
.cta-schedule li:last-child{border-bottom:none;}
.cta-closed{color:rgba(255,255,255,.3)!important;}
.cta-emergency{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.08);font-size:.84rem;color:rgba(255,255,255,.5);}
.cta-emergency a{color:var(--gold-light);font-weight:700;}

/* PAGE HERO */
.page-hero{background:linear-gradient(145deg,var(--navy),var(--navy-mid) 60%,var(--navy-light));padding:5rem 0 4rem;position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;right:-80px;bottom:-80px;width:400px;height:400px;border-radius:50%;border:1px solid rgba(201,151,58,.1);}
.page-hero .section-tag{background:rgba(201,151,58,.2);color:var(--gold-light);border-color:rgba(201,151,58,.3);}
.page-hero h1{color:var(--white);margin-bottom:.75rem;}
.page-hero-inner{display:flex;flex-direction:column;align-items:flex-start;}
.page-hero-sub{color:rgba(255,255,255,.65);font-size:1.05rem;max-width:600px;}
.accent{color:var(--gold-light);}

/* ABOUT FULL */
.about-full{display:grid;grid-template-columns:300px 1fr;gap:4rem;align-items:start;}
.profile-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:2rem;text-align:center;position:sticky;top:100px;box-shadow:var(--shadow-sm);}
.profile-photo{width:160px;height:160px;border-radius:50%;overflow:hidden;margin:0 auto 1.25rem;box-shadow:0 0 0 4px var(--gold-pale),0 0 0 8px rgba(201,151,58,.15);flex-shrink:0;}
.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:center 12%;display:block;image-rendering:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);}
.profile-card h3{font-size:1.2rem;margin-bottom:.3rem;}
.p-title{color:var(--slate-light);font-size:.82rem;margin-bottom:1rem;}
.p-tags{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:1.25rem;}
.p-tag{background:var(--gold-pale);color:var(--gold);border:1px solid rgba(201,151,58,.2);padding:.2rem .7rem;border-radius:20px;font-size:.72rem;font-weight:700;}
.p-stats{display:flex;justify-content:space-around;background:var(--ivory);border-radius:var(--r-sm);padding:.9rem;margin-bottom:1.25rem;}
.p-stats div{text-align:center;}
.p-stats strong{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--navy);}
.p-stats small{font-size:.72rem;color:var(--slate-light);}
.p-chamber{background:var(--ivory);border-radius:var(--r-sm);padding:1rem;border-left:3px solid var(--gold);text-align:left;margin-bottom:1.25rem;}
.p-chamber p{font-size:.82rem;color:var(--slate);margin-bottom:.25rem;}
.p-phone{display:block;font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--navy);margin-top:.5rem;}
.about-right h2{margin-bottom:1.25rem;}
.about-right h3{margin:2.5rem 0 1rem;font-size:1.2rem;}
.about-right p{margin-bottom:1rem;}
.edu-list{display:flex;flex-direction:column;gap:.85rem;}
.edu-item{display:flex;gap:1.25rem;background:var(--ivory);border-radius:var(--r-sm);padding:1rem 1.25rem;border:1px solid var(--border);align-items:flex-start;}
.edu-year{font-family:var(--font-display);font-size:1rem;color:var(--gold);font-weight:700;white-space:nowrap;padding-top:.1rem;}
.edu-item strong{display:block;font-size:.9rem;}
.edu-item span{font-size:.82rem;color:var(--slate-light);}
.affil-list li{padding:.45rem 0;font-size:.9rem;color:var(--slate);border-bottom:1px solid var(--border);}
.affil-list li::before{content:'✓ ';color:var(--gold);font-weight:700;}
.chamber-box{background:var(--ivory);border:1px solid var(--border);border-radius:var(--r);padding:1.5rem;margin-top:1rem;}
.cb-row{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border);font-size:.875rem;}
.cb-row:last-child{border-bottom:none;}
.cb-row span{color:var(--slate-light);flex-shrink:0;}
.cb-row strong{color:var(--navy);text-align:right;}
.cb-row a{color:var(--navy-light);font-weight:700;}

/* SERVICES PAGE */
.services-grid-lg{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem;}
.service-card-lg{background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);padding:2.5rem;transition:var(--transition);}
.service-card-lg:hover{box-shadow:var(--shadow-lg);border-color:var(--gold-pale);}
.sc-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;}
.sc-icon-lg{font-size:2.8rem;}
.service-card-lg h2{font-size:1.5rem;margin-bottom:1rem;}
.service-card-lg p{margin-bottom:1.5rem;}
.sc-conditions h4{font-size:.82rem;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.75rem;}
.sc-conditions ul{margin-bottom:1.5rem;}
.sc-conditions li{padding:.35rem 0;font-size:.875rem;color:var(--slate);border-bottom:1px solid var(--ivory);}
.sc-conditions li::before{content:'✓ ';color:var(--navy);font-weight:700;}
.sc-recovery{background:var(--gold-pale);border-radius:var(--r-sm);padding:.85rem 1rem;margin-bottom:1.5rem;font-size:.875rem;color:var(--slate);border-left:3px solid var(--gold);}

/* SERVICE CARD-LG WITH PHOTO */
.service-card-lg--img{padding:0;}
.service-card-lg--img .sc-header,
.service-card-lg--img h2,
.service-card-lg--img p,
.service-card-lg--img .sc-conditions,
.service-card-lg--img .sc-recovery,
.service-card-lg--img .btn-primary{margin-left:2.5rem;margin-right:2.5rem;}
.service-card-lg--img .sc-header{margin-top:.85rem;}
.service-card-lg--img .btn-primary{margin-bottom:2rem;}
.sc-photo{position:relative;width:100%;aspect-ratio:16/7;overflow:hidden;background:#0b1f3a;}
.sc-photo img,.sc-photo video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.service-card-lg--img:hover .sc-photo img,.service-card-lg--img:hover .sc-photo video{transform:scale(1.04);}

/* SERVICE DETAIL PAGE */
.sd-layout{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start;}
.sd-main h2{margin-bottom:1.25rem;}
.sd-main h3{margin:2.5rem 0 1rem;font-size:1.2rem;}
.sd-main p{margin-bottom:1.25rem;}
.cond-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2rem;}
.cond-item{display:flex;align-items:center;gap:.75rem;background:var(--ivory);border:1px solid var(--border);border-radius:var(--r-sm);padding:.85rem 1rem;font-size:.875rem;}
.cond-check{color:var(--navy);font-weight:700;flex-shrink:0;}
.recovery-box{display:flex;align-items:center;gap:1.5rem;background:var(--gold-pale);border:1px solid rgba(201,151,58,.25);border-radius:var(--r);padding:1.5rem 2rem;margin:2rem 0;}
.rb-icon{font-size:2rem;}
.recovery-box h4{font-size:.875rem;margin-bottom:.25rem;}
.recovery-box p{color:var(--navy-light);font-weight:600;margin:0;}
.steps{display:flex;flex-direction:column;gap:1.25rem;}
.step{display:flex;gap:1.5rem;align-items:flex-start;}
.step-num{width:40px;height:40px;border-radius:50%;flex-shrink:0;background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;}
.step h4{font-size:.95rem;margin-bottom:.35rem;}
.step p{font-size:.875rem;margin:0;}
.sd-aside{display:flex;flex-direction:column;gap:1.5rem;}
.aside-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.75rem;box-shadow:var(--shadow-sm);}
.aside-card h4{font-size:1rem;margin-bottom:1rem;}
.aside-card p{font-size:.875rem;color:var(--slate);margin-bottom:.75rem;}
.aside-phone{display:block;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--navy);}
.aside-divider{height:1px;background:var(--border);margin:1rem 0;}
.aside-services-list li{border-bottom:1px solid var(--ivory);}
.aside-services-list a{display:block;padding:.5rem 0;font-size:.84rem;color:var(--slate);}
.aside-services-list a:hover{color:var(--navy);}
.aside-highlight{background:var(--navy);border-color:var(--navy);}
.aside-highlight h4{color:var(--gold-light);}
.aside-hl-badge{display:inline-block;background:var(--gold);color:var(--white);padding:.2rem .8rem;border-radius:20px;font-size:.72rem;font-weight:700;margin-bottom:.85rem;}
.aside-bullets li{padding:.4rem 0;font-size:.85rem;color:rgba(255,255,255,.75);}

/* FORMS */
.appt-layout{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start;}
.appt-form-wrap h2{margin-bottom:.5rem;}
.appt-form-wrap>p{margin-bottom:2rem;}
.appt-form{display:flex;flex-direction:column;gap:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;}
.form-group{display:flex;flex-direction:column;gap:.45rem;}
.form-group label{font-size:.84rem;font-weight:600;color:var(--navy);}
.form-group label small{font-weight:400;color:var(--slate-light);}
.form-group input,.form-group select,.form-group textarea{padding:.85rem 1.1rem;border:1.5px solid var(--border);border-radius:var(--r-sm);font-size:.9rem;font-family:var(--font-body);color:var(--navy);background:var(--white);transition:border-color .2s,box-shadow .2s;width:100%;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,31,58,.08);}
.form-check .checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.84rem;color:var(--slate);}
.form-check input[type=checkbox]{width:17px;height:17px;flex-shrink:0;margin-top:.15rem;accent-color:var(--navy);}
.form-disclaimer{background:var(--ivory);border-left:3px solid var(--navy);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:.85rem 1rem;font-size:.8rem;color:var(--slate-light);}
.btn-submit{width:100%;justify-content:center;margin-top:.5rem;}
.hours-table{width:100%;border-collapse:collapse;font-size:.84rem;}
.hours-table td{padding:.5rem 0;color:var(--slate);}
.hours-table td:last-child{text-align:right;font-weight:600;color:var(--navy);}
.closed-row td{color:var(--slate-light)!important;}
.aside-bullets-plain li{padding:.4rem 0;font-size:.84rem;color:var(--slate);border-bottom:1px solid var(--ivory);}

/* PATIENT INFO */
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:4rem;}
.info-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:2rem;transition:var(--transition);}
.info-card:hover{box-shadow:var(--shadow-md);}
.info-card h3{font-size:1.1rem;margin-bottom:1rem;}
.info-card p{font-size:.875rem;margin-bottom:.75rem;}
.info-card li{padding:.4rem 0;font-size:.875rem;color:var(--slate);border-bottom:1px solid var(--ivory);}
.info-card li::before{content:'→ ';color:var(--navy);}

/* LEGAL PAGES (Privacy Policy / Medical Disclaimer) */
.legal-wrap{max-width:840px;margin:0 auto;}
.legal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;color:var(--slate-light);font-size:.85rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.legal-toc{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:1.75rem 2rem;margin-bottom:3rem;}
.legal-toc h2{font-size:.85rem;font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:1.1rem;}
.legal-toc ol{list-style:none;counter-reset:toc;display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem;}
.legal-toc li{counter-increment:toc;font-size:.88rem;}
.legal-toc li a{color:var(--slate);font-weight:500;}
.legal-toc li a::before{content:counter(toc) '. ';color:var(--gold);font-weight:700;}
.legal-toc li a:hover{color:var(--navy);}
.legal-section{margin-bottom:2.75rem;scroll-margin-top:100px;}
.legal-section h2{font-size:1.4rem;color:var(--navy);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:2px solid var(--gold-pale);}
.legal-section p{margin-bottom:1rem;font-size:.95rem;}
.legal-section ul{margin:1rem 0 1.25rem;}
.legal-section li{padding:.5rem 0 .5rem 1.6rem;position:relative;font-size:.92rem;color:var(--slate);border-bottom:1px solid var(--ivory);}
.legal-section li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:700;}
.legal-callout{display:flex;gap:1rem;align-items:flex-start;background:#fff5f5;border:1px solid #feb2b2;border-radius:var(--r);padding:1.5rem 1.75rem;margin-bottom:3rem;}
.legal-callout .legal-callout-icon{font-size:1.5rem;flex-shrink:0;line-height:1;}
.legal-callout strong{color:var(--danger);}
.legal-callout p{margin:0;color:#742a2a;font-size:.9rem;}
.legal-contact-box{background:linear-gradient(135deg,var(--navy),var(--navy-mid));border-radius:var(--r-lg);padding:2.5rem;color:var(--white);text-align:center;margin-top:1rem;}
.legal-contact-box h3{color:var(--white);margin-bottom:.6rem;}
.legal-contact-box p{color:rgba(255,255,255,.7);margin-bottom:1.5rem;}
@media (max-width:640px){
  .legal-toc ol{grid-template-columns:1fr;}
  .legal-callout{flex-direction:column;}
}

/* TESTIMONIALS PAGE */
.rating-hero{background:linear-gradient(135deg,#0b1f3a 0%,#1a3a5c 55%,#0f2d4a 100%);padding:4rem 3rem;border-radius:24px;text-align:center;margin-bottom:4rem;position:relative;overflow:hidden;}
.rating-hero::before{content:'';position:absolute;width:380px;height:380px;background:radial-gradient(circle,rgba(201,168,76,.18) 0%,transparent 68%);top:-130px;left:-100px;border-radius:50%;pointer-events:none;}
.rating-hero::after{content:'';position:absolute;width:240px;height:240px;background:radial-gradient(circle,rgba(201,168,76,.12) 0%,transparent 68%);bottom:-70px;right:-50px;border-radius:50%;pointer-events:none;}
.rating-num{font-family:var(--font-display);font-size:6.5rem;font-weight:700;color:var(--gold);line-height:1;position:relative;z-index:1;text-shadow:0 0 40px rgba(201,168,76,.35);}
.rating-stars{color:var(--gold);font-size:2.1rem;margin:.6rem 0;letter-spacing:.25em;position:relative;z-index:1;}
.rating-sub{color:rgba(255,255,255,.55);font-size:.9rem;position:relative;z-index:1;letter-spacing:.02em;}
.testimonials-grid{display:grid;gap:1.75rem;margin-bottom:3rem;}
.testimonial-card{background:var(--white);border-radius:20px;padding:2.25rem 2rem 1.75rem;box-shadow:0 4px 24px rgba(0,0,0,.07);border:1px solid rgba(201,168,76,.15);position:relative;overflow:hidden;opacity:0;transform:translateY(28px);transition:opacity .55s ease,transform .55s ease,box-shadow .3s ease;}
.testimonial-card.tc-visible{opacity:1;transform:translateY(0);}
.testimonial-card:hover{transform:translateY(-5px) !important;box-shadow:0 20px 56px rgba(0,0,0,.13);}
.testimonial-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),#f5df8a,var(--gold));background-size:200% 100%;animation:shimmer 3s linear infinite;}
.testimonial-card::after{content:'\201C';position:absolute;top:-.5rem;right:1.25rem;font-size:8rem;line-height:1;color:rgba(201,168,76,.09);font-family:Georgia,serif;pointer-events:none;}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.t-stars{color:var(--gold);font-size:1.2rem;margin-bottom:.65rem;letter-spacing:.06em;}
.t-proc-tag{display:inline-block;background:rgba(11,31,58,.06);color:var(--navy);border-radius:20px;padding:.28rem .95rem;font-size:.72rem;font-weight:700;margin-bottom:1rem;border:1px solid rgba(11,31,58,.08);letter-spacing:.02em;}
.t-text{font-size:.9rem;color:var(--slate);line-height:1.85;margin-bottom:1.5rem;font-style:italic;position:relative;}
.t-author{display:flex;align-items:center;gap:.85rem;padding-top:1.25rem;border-top:1px solid var(--border);}
.t-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--navy) 0%,#254d7a 100%);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.15rem;font-weight:700;flex-shrink:0;box-shadow:0 3px 10px rgba(11,31,58,.22);}
.t-author strong{display:block;font-size:.875rem;color:var(--navy);font-weight:600;}
.t-author small{font-size:.77rem;color:var(--slate-light);}

/* GALLERY */
.gallery-filter-bar{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2.5rem;justify-content:center;}
.gf-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1.25rem;border-radius:50px;font-size:.82rem;font-weight:600;color:var(--slate);background:var(--white);border:1.5px solid var(--border);transition:var(--transition);cursor:pointer;text-decoration:none;}
.gf-btn:hover{border-color:var(--navy);color:var(--navy);}
.gf-btn.active{background:var(--navy);color:var(--white);border-color:var(--navy);}
.gf-count{background:rgba(255,255,255,.25);color:inherit;padding:.1rem .5rem;border-radius:20px;font-size:.7rem;font-weight:700;}
.gf-btn:not(.active) .gf-count{background:var(--ivory);color:var(--slate-light);}
/* ── GALLERY CARD GRID ───────────────────────────────────── */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.5rem;}
.gallery-item{cursor:pointer;background:var(--white);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;display:flex;flex-direction:column;position:relative;}
.gallery-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:1;}
.gallery-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--gold-pale);}
.gallery-item:hover::after{transform:scaleX(1);}

/* Thumbnail */
.gallery-thumb{position:relative;overflow:hidden;aspect-ratio:16/10;background:#e8edf2;flex-shrink:0;}
.gallery-thumb img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.gallery-item:hover .gallery-thumb img{transform:scale(1.06);}

/* Category badge — fixed top-left on thumbnail */
.gallery-cat-label{position:absolute;top:.65rem;left:.65rem;background:rgba(201,151,58,.88);backdrop-filter:blur(4px);color:#fff;padding:.22rem .7rem;border-radius:20px;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;z-index:2;pointer-events:none;}

/* Hover overlay — centred zoom circle */
.gallery-overlay{position:absolute;inset:0;background:rgba(11,31,58,.35);opacity:0;transition:opacity .35s;display:flex;align-items:center;justify-content:center;pointer-events:none;}
.gallery-item:hover .gallery-overlay{opacity:1;}
.gallery-zoom{width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;transition:transform .2s;}
.gallery-item:hover .gallery-zoom{transform:scale(1.1);}

/* Card body */
.gallery-card-body{padding:1rem 1.25rem 1.35rem;flex:1;display:flex;flex-direction:column;}
.gallery-card-title{font-size:.95rem;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:.35rem;}
.gallery-card-desc{font-size:.8rem;color:var(--slate);line-height:1.55;flex:1;margin-bottom:.7rem;}
.gallery-card-link{font-size:.78rem;font-weight:700;color:var(--gold);letter-spacing:.03em;margin-top:auto;}
.gallery-item:hover .gallery-card-link{color:var(--navy);}

.gallery-empty{text-align:center;padding:5rem 2rem;color:var(--slate-light);}
.gallery-empty h3{margin-bottom:.5rem;color:var(--slate);}

/* ── VIDEO GALLERY ITEMS ─────────────────────────────────── */
.gallery-thumb--video{background:#0b1f3a;}
.gallery-thumb--video video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.gallery-item--video:hover .gallery-thumb--video video{transform:scale(1.06);}

/* "▶ Video" badge — top-right */
.gallery-vid-badge{position:absolute;top:.65rem;right:.65rem;background:rgba(108,61,158,.9);backdrop-filter:blur(6px);color:#fff;border-radius:20px;padding:.22rem .65rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;z-index:2;pointer-events:none;}

/* Centred play ring on hover */
.gallery-item--video .gallery-overlay{background:rgba(11,31,58,.4);}
.gallery-play-ring{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:#fff;transition:transform .25s,background .25s;}
.gallery-item--video:hover .gallery-play-ring{transform:scale(1.12);background:rgba(255,255,255,.32);}

/* Lightbox video player */
#lbVideo{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--r-sm);box-shadow:0 24px 80px rgba(0,0,0,.6);outline:none;display:none;background:#000;}
#lbVideo:focus{outline:none;}

/* GALLERY PREVIEW (homepage) */
.gallery-preview-section{background:var(--ivory);}
.gallery-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.25rem;}
.gp-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);position:relative;overflow:hidden;cursor:pointer;transition:var(--transition);}
.gp-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:transform .35s ease;}
.gp-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--gold-pale);}
.gp-card:hover::after{transform:scaleX(1);}
.gp-card-photo{width:100%;aspect-ratio:16/10;overflow:hidden;position:relative;background:#0b1f3a;}
.gp-card-photo img,.gp-card-photo video{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease;}
.gp-card:hover .gp-card-photo img,.gp-card:hover .gp-card-photo video{transform:scale(1.06);}
.gp-vid-badge{position:absolute;top:.5rem;right:.5rem;background:rgba(108,61,158,.9);backdrop-filter:blur(4px);color:#fff;border-radius:20px;padding:.2rem .6rem;font-size:.68rem;font-weight:700;letter-spacing:.05em;z-index:2;pointer-events:none;}
.gp-card-body{padding:1.1rem 1.5rem 1.5rem;}
.gp-cat-badge{display:inline-block;background:var(--gold-pale);color:var(--gold);border:1px solid rgba(201,151,58,.2);padding:.2rem .7rem;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;margin-bottom:.7rem;}
.gp-card-caption{font-size:.875rem;color:var(--slate);line-height:1.5;margin-bottom:1rem;}
.gp-view-link{font-size:.82rem;font-weight:700;color:var(--gold);letter-spacing:.03em;}
.gp-card:hover .gp-view-link{color:var(--navy);}

/* LIGHTBOX */
.lightbox{display:none;position:fixed;inset:0;background:rgba(5,12,24,.92);z-index:9000;align-items:center;justify-content:center;}
.lightbox.open{display:flex;}
.lb-content{position:relative;max-width:min(90vw,1000px);max-height:90vh;display:flex;flex-direction:column;align-items:center;}
.lb-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--r-sm);box-shadow:0 24px 80px rgba(0,0,0,.6);}
.lb-info{background:rgba(255,255,255,.07);border-radius:0 0 var(--r-sm) var(--r-sm);padding:.75rem 1.25rem;width:100%;display:flex;align-items:center;gap:1rem;}
.lb-category{background:rgba(201,151,58,.8);color:#fff;padding:.2rem .75rem;border-radius:20px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;}
.lb-title{color:#fff;font-size:1rem;font-weight:600;margin:0 0 .25rem;}
.lb-caption{color:rgba(255,255,255,.75);font-size:.85rem;margin:0;}
.lb-close{position:fixed;top:1.25rem;right:1.5rem;background:rgba(255,255,255,.12);color:#fff;border:none;border-radius:50%;width:44px;height:44px;font-size:1.4rem;cursor:pointer;z-index:9001;display:flex;align-items:center;justify-content:center;transition:var(--transition);}
.lb-close:hover{background:rgba(255,255,255,.25);}
.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);color:#fff;border:none;border-radius:50%;width:48px;height:48px;font-size:1.2rem;cursor:pointer;z-index:9001;transition:var(--transition);}
.lb-prev{left:1.5rem;}
.lb-next{right:1.5rem;}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.25);}

/* FOOTER */
.footer{background:var(--navy);padding-top:5rem;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:3rem;padding-bottom:4rem;}
.footer-brand p{font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.75;margin:1rem 0 1.25rem;}
.footer-logo{display:flex;align-items:center;gap:.75rem;color:var(--white);font-family:var(--font-display);font-size:1.1rem;font-weight:700;}
.footer-badge-row{display:flex;flex-wrap:wrap;gap:.5rem;}
.footer-badge{background:rgba(201,151,58,.2);color:var(--gold-light);border:1px solid rgba(201,151,58,.25);padding:.2rem .75rem;border-radius:20px;font-size:.72rem;font-weight:700;}
.footer-col h4{color:var(--white);font-family:var(--font-display);font-size:1rem;margin-bottom:1.25rem;}
.footer-col ul{display:flex;flex-direction:column;gap:.55rem;}
.footer-col a{font-size:.84rem;color:rgba(255,255,255,.5);}
.footer-col a:hover{color:var(--gold-light);}
.footer-contact li{font-size:.84rem;color:rgba(255,255,255,.5);margin-bottom:.65rem;line-height:1.55;}
.footer-contact a{color:rgba(255,255,255,.7);}
.footer-contact a:hover{color:var(--gold-light);}
.footer-contact strong{color:rgba(255,255,255,.8);}
.btn-footer{display:inline-block;background:var(--gold);color:var(--white);padding:.75rem 1.5rem;border-radius:var(--r-sm);font-size:.85rem;font-weight:700;margin-top:1.25rem;transition:var(--transition);}
.btn-footer:hover{background:var(--gold-light);color:var(--white);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:1.5rem 0;}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;}
.footer-bottom p{font-size:.78rem;color:rgba(255,255,255,.3);}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{font-size:.78rem;color:rgba(255,255,255,.3);}
.footer-legal a:hover{color:var(--gold-light);}

/* ANIMATIONS */
.fade-up{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* ── RESPONSIVE ─────────────────────────────────────────────── */

/* Tablet landscape (≤1024px) */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-right{display:none;}
  .about-preview-inner{grid-template-columns:1fr;}
  .about-img-wrap{display:block;max-width:480px;margin:0 auto 2.5rem;padding-bottom:4rem;}
  .about-img-frame{max-height:420px;min-height:300px;}
  .about-img-badge{right:0;left:0;bottom:0;width:auto;}
  .about-img-accent{top:-1rem;left:0;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .sd-layout,.appt-layout{grid-template-columns:1fr;}
  .about-full{grid-template-columns:1fr;}
  .profile-card{position:static;}
  .cta-inner{grid-template-columns:1fr;gap:3rem;}
  .stats-showcase-grid{grid-template-columns:1fr 1fr;gap:3rem;}
  .ss-divider{display:none;}
  .ss-item{padding:0 1.25rem;}
}

/* Tablet portrait / large phone (≤768px) */
@media(max-width:768px){
  .container{padding:0 1.25rem;}
  .topbar{display:none;}
  .about-img-wrap{max-width:100%;margin-bottom:5rem;padding-bottom:4rem;}
  .about-img-frame{max-height:340px;min-height:260px;}
  .about-img-badge{right:0;left:0;bottom:0;width:auto;}
  .about-img-accent{display:none;}

  /* Hero */
  .hero{min-height:auto;padding:5rem 0 3.5rem;}
  .hero-sub{font-size:.95rem;}
  .hero-actions{gap:.75rem;}
  .hero-actions a{flex:1;justify-content:center;text-align:center;}
  .hero-stats{flex-wrap:wrap;}
  .stat{flex:1 1 45%;}
  .stat+.stat{border-left:none;}

  /* Sections */
  .section{padding:4rem 0;}
  .section-header{margin-bottom:2.5rem;}

  /* Grids → single column */
  .services-grid,.why-grid,.testimonials-grid,.info-grid{grid-template-columns:1fr!important;}
  .tcard-grid,.form-row,.cond-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .gallery-preview-grid{grid-template-columns:repeat(2,1fr);}

  /* Stats showcase */
  .stats-showcase-grid{grid-template-columns:1fr 1fr;gap:2rem;}
  .ss-item{padding:0 .75rem;}
  .ss-desc{display:none;}

  /* CTA */
  .cta-inner{grid-template-columns:1fr;gap:2rem;}
  .cta-actions{flex-wrap:wrap;}
  .cta-actions a{flex:1;min-width:200px;justify-content:center;}

  /* Chamber strip */
  .chamber-strip-inner{flex-direction:column;align-items:flex-start;gap:1rem;}
  .cs-call{margin-left:0;width:100%;text-align:center;display:block;}
  .cs-schedule{flex-wrap:wrap;gap:.4rem;}

  /* Trust bar */
  .trust-bar-inner{gap:.5rem;}
  .trust-item{font-size:.72rem;padding:.22rem .6rem;}

  /* Gallery */
  .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));}

  /* Lightbox nav */
  .lb-prev{left:.4rem;}
  .lb-next{right:.4rem;}
  .lb-prev,.lb-next{width:38px;height:38px;font-size:1rem;}

  /* Forms */
  .appt-form-wrap h2{font-size:1.6rem;}

  /* Footer */
  .footer-bottom-inner{flex-direction:column;text-align:center;gap:.5rem;}
  .footer-legal{justify-content:center;}
  .btn-footer{display:block;text-align:center;}

  /* Why */
  .why-grid{grid-template-columns:repeat(2,1fr)!important;}
}

/* Phone (≤480px) */
@media(max-width:480px){
  .container{padding:0 1rem;}

  /* Typography */
  .logo-sub{display:none;}

  /* Hero */
  .hero{padding:4rem 0 3rem;}
  .hero-eyebrow{font-size:.7rem;padding:.4rem .85rem;gap:.4rem;}
  .hero-actions{flex-direction:column;}
  .hero-actions a{width:100%;justify-content:center;}
  .hero-stats{flex-direction:column;}
  .stat{width:100%;flex:none;}
  .stat+.stat{border-left:none;border-top:1px solid rgba(255,255,255,.08);}
  .stat-num{font-size:1.5rem;}

  /* Sections */
  .section{padding:3rem 0;}
  .section-header{margin-bottom:2rem;}

  /* Stats showcase */
  .stats-showcase{padding:3.5rem 0;}
  .stats-showcase-grid{grid-template-columns:1fr 1fr;gap:1.5rem;}
  .ss-num{font-size:2rem;}
  .ss-label{font-size:.78rem;}

  /* Grids */
  .gallery-preview-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr!important;}
  .footer-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr;}

  /* CTA */
  .cta-section{padding:3.5rem 0;}
  .cta-actions{flex-direction:column;}
  .cta-actions a{width:100%;justify-content:center;}
  .btn-large{padding:.95rem 1.75rem;font-size:.95rem;}

  /* Chamber strip */
  .chamber-strip{padding:1.1rem 0;}
  .cs-badge{font-size:.62rem;}

  /* Trust bar */
  .trust-bar{padding:.85rem 0;}

  /* Testimonials */
  .tcard{padding:1.5rem 1.25rem;}
  .tcard-qdec{font-size:4rem;}

  /* Forms — 16px prevents iOS Safari auto-zoom on focus */
  .form-group input,.form-group select,.form-group textarea{padding:.75rem .9rem;font-size:16px;}
  .aside-card{padding:1.25rem;}

  /* About */
  .profile-card{padding:1.5rem;}
  .doctor-card{padding:1.75rem;}

  /* Footer */
  .footer{padding-top:3.5rem;}
  .footer-grid{gap:2rem;padding-bottom:2.5rem;}
  .footer-col h4{margin-bottom:.85rem;}

  /* Gallery */
  .gf-btn{padding:.45rem .9rem;font-size:.78rem;}
  .rating-hero{padding:2.5rem 1.25rem;}
  #lbVideo{max-height:65vh;}
  .rating-num{font-size:4.5rem;}
  .rating-stars{font-size:1.5rem;}
  .rating-num{font-size:3.5rem;}

  /* Lightbox */
  .lb-content img{max-height:65vh;}
  .lb-info{padding:.6rem 1rem;}
  .lb-close{top:.75rem;right:.75rem;width:36px;height:36px;font-size:1.2rem;}
}

/* ── ADDITIONAL RESPONSIVE FIXES ───────────────────────────── */

/* iPad / Tablet landscape (769–1024px) — targeted fixes */
@media(min-width:769px) and (max-width:1024px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .services-grid-lg{grid-template-columns:repeat(2,1fr);}
  .gallery-preview-grid{grid-template-columns:repeat(3,1fr);}
  .tcard-grid{grid-template-columns:repeat(2,1fr);}
  .info-grid{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:2rem;}
  .page-hero{padding:4rem 0 3.5rem;}
  .hero-inner{gap:3rem;}
}

/* ≤768px additions */
@media(max-width:768px){
  /* Services grid large — force single column */
  .services-grid-lg{grid-template-columns:1fr!important;}

  /* Page hero padding */
  .page-hero{padding:3.5rem 0 2.75rem;}

  /* Hero eyebrow — allow wrap on small tablets */
  .hero-eyebrow{font-size:.72rem;flex-wrap:wrap;}

  /* Info pills — prevent overflow */
  .info-pill{padding:.75rem 1rem;}
  .pill-text small{font-size:.72rem;}

  /* Rating hero */
  .rating-hero{padding:3rem 2rem;}
}

/* ≤480px additions */
@media(max-width:480px){
  /* Services grid large */
  .services-grid-lg{grid-template-columns:1fr!important;}

  /* Page hero */
  .page-hero{padding:2.75rem 0 2.25rem;}
  .page-hero h1{font-size:2.2rem;}

  /* Buttons — prevent overflow */
  .btn-primary,.btn-ghost,.btn-ghost-white{padding:.75rem 1.5rem;font-size:.85rem;}
  .btn-large{padding:.85rem 1.5rem!important;font-size:.9rem!important;}

  /* About full — profile card padding */
  .profile-card{padding:1.25rem;}
  .p-stats strong{font-size:1.25rem;}

  /* Service detail conditions grid */
  .cond-grid{grid-template-columns:1fr!important;}

  /* Appointment aside */
  .appt-layout .aside-card{padding:1.25rem;}

  /* Footer grid gap */
  .footer-grid{gap:1.5rem;}

  /* Chamber strip */
  .cs-details strong{font-size:.85rem;}
  .cs-call{padding:.75rem 1.25rem;font-size:.85rem;}
}

/* ── PAGINATION ──────────────────────────────────────────── */
.pagination{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-top:3rem;flex-wrap:wrap;}
.pg-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.2rem;height:2.2rem;padding:0 .75rem;border-radius:6px;font-size:.82rem;font-weight:600;color:var(--navy);background:#fff;border:1.5px solid var(--border);text-decoration:none;transition:var(--transition);}
.pg-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
.pg-btn.active{background:var(--navy);color:#fff;border-color:var(--navy);}
.pg-ellipsis{color:var(--slate-light);font-size:.82rem;padding:0 .25rem;}

/* ── FAQ PAGE ─────────────────────────────────────────────── */
.faq-layout{display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start;}
.faq-nav{position:sticky;top:80px;background:#fff;border-radius:var(--r-lg);padding:1.25rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);}
.faq-nav-link{display:block;padding:.55rem .75rem;font-size:.82rem;font-weight:600;color:var(--slate);border-radius:6px;text-decoration:none;transition:var(--transition);margin-bottom:.15rem;}
.faq-nav-link:hover,.faq-nav-link.active{background:var(--navy);color:#fff;}
.faq-nav-cta{display:block;margin-top:1rem;background:var(--gold);color:var(--white);text-align:center;padding:.65rem;border-radius:6px;font-size:.8rem;font-weight:700;text-decoration:none;transition:var(--transition);}
.faq-nav-cta:hover{background:var(--gold-dark,#b8932e);color:#fff;}
.faq-group{margin-bottom:3rem;}
.faq-group-title{font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:2px solid var(--gold-pale);}
.faq-item{border:1px solid var(--border);border-radius:var(--r);margin-bottom:.6rem;overflow:hidden;transition:box-shadow .2s;}
.faq-item.open{box-shadow:var(--shadow-sm);}
.faq-q{width:100%;background:#fff;border:none;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;text-align:left;font-size:.9rem;font-weight:600;color:var(--navy-dark);transition:background .15s;}
.faq-item.open .faq-q{background:var(--navy);color:#fff;}
.faq-icon{font-size:1.3rem;font-weight:400;flex-shrink:0;line-height:1;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-item.open .faq-a{max-height:500px;}
.faq-a-inner{padding:1rem 1.25rem;font-size:.88rem;color:var(--slate);line-height:1.7;background:#fafbfc;border-top:1px solid var(--border);}
.faq-a-inner a{color:var(--navy);font-weight:600;}
.faq-cta-box{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-light) 100%);border-radius:var(--r-lg);padding:2.5rem;text-align:center;margin-top:2rem;}
.faq-cta-box h3{color:#fff;font-size:1.25rem;margin-bottom:.4rem;}
.faq-cta-box p{color:rgba(255,255,255,.6);font-size:.88rem;}

/* ── BLOG LIST ────────────────────────────────────────────── */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-bottom:3rem;}
.blog-card{background:#fff;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border);text-decoration:none;color:inherit;display:flex;flex-direction:column;transition:var(--transition);}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.blog-card-img{width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--navy);}
.blog-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.blog-card:hover .blog-card-img img{transform:scale(1.05);}
.blog-card-img--placeholder{display:flex;align-items:center;justify-content:center;font-size:3rem;}
.blog-card-body{padding:1.5rem;display:flex;flex-direction:column;flex:1;}
.blog-card-date{font-size:.72rem;color:var(--slate-light);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem;}
.blog-card-title{font-size:1rem;font-weight:700;color:var(--navy-dark);margin-bottom:.6rem;line-height:1.4;}
.blog-card-excerpt{font-size:.84rem;color:var(--slate);line-height:1.6;flex:1;margin-bottom:.75rem;}
.blog-card-link{font-size:.82rem;font-weight:700;color:var(--gold);margin-top:auto;}

/* ── BLOG POST ────────────────────────────────────────────── */
.blog-post-layout{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start;}
.blog-post-cover{border-radius:var(--r-lg);overflow:hidden;margin-bottom:2.5rem;aspect-ratio:16/9;}
.blog-post-cover img{width:100%;height:100%;object-fit:cover;}
/* ── Blog Post Content ─────────────────────────────────── */
.blog-post-content{
  font-size:1.06rem;
  color:#3d4a5c;
  line-height:1.9;
  word-break:break-word;
  hyphens:auto;
}

/* Headings */
.blog-post-content h2{
  font-size:1.45rem;
  font-weight:800;
  color:var(--navy);
  margin:2.4rem 0 .75rem;
  padding:0 0 .55rem 1rem;
  border-left:4px solid var(--gold);
  border-bottom:1px solid var(--border);
  line-height:1.35;
}
.blog-post-content h3{
  font-size:1.12rem;
  font-weight:700;
  color:var(--navy-mid);
  margin:1.8rem 0 .5rem;
  padding-left:.85rem;
  border-left:3px solid rgba(201,151,58,.45);
  line-height:1.4;
}
.blog-post-content h4{
  font-size:1rem;
  font-weight:700;
  color:var(--navy);
  margin:1.4rem 0 .4rem;
  line-height:1.4;
}
.blog-post-content h2:first-child,
.blog-post-content h3:first-child,
.blog-post-content h4:first-child{margin-top:0;}

/* Paragraphs */
.blog-post-content p{
  margin:0 0 1.25rem;
  line-height:1.9;
  text-align:left;
}
.blog-post-content p:last-child{margin-bottom:0;}

/* Inline emphasis */
.blog-post-content strong{
  color:var(--navy);
  font-weight:700;
  background:rgba(201,151,58,.1);
  padding:.04rem .28rem;
  border-radius:3px;
}
.blog-post-content em{font-style:italic;color:#5a6880;}
.blog-post-content code{
  background:#f0f4f8;
  color:#c7365f;
  font-size:.83rem;
  padding:.14rem .45rem;
  border-radius:4px;
  font-family:monospace;
}
.blog-post-content mark{
  background:rgba(201,151,58,.28);
  color:var(--navy);
  padding:.05rem .3rem;
  border-radius:3px;
  font-weight:600;
}

/* Lists */
.blog-post-content ul,
.blog-post-content ol{
  margin:0 0 1.25rem 0;
  padding:0;
  line-height:1.85;
}
.blog-post-content ul{list-style:none;}
.blog-post-content ul li{
  position:relative;
  padding:.3rem .5rem .3rem 2rem;
  margin-bottom:.35rem;
  border-radius:6px;
  background:#f8fafc;
  border-left:3px solid rgba(201,151,58,.3);
}
.blog-post-content ul li::before{
  content:"✦";
  position:absolute;
  left:.6rem;
  top:.35rem;
  color:var(--gold);
  font-size:.65rem;
}
.blog-post-content ol{
  list-style:none;
  counter-reset:ol-counter;
}
.blog-post-content ol li{
  counter-increment:ol-counter;
  position:relative;
  padding:.3rem .5rem .3rem 2.4rem;
  margin-bottom:.35rem;
  border-radius:6px;
  background:#f8fafc;
}
.blog-post-content ol li::before{
  content:counter(ol-counter);
  position:absolute;
  left:.5rem;
  top:.28rem;
  width:1.4rem;
  height:1.4rem;
  background:var(--navy);
  color:#fff;
  font-size:.72rem;
  font-weight:700;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Blockquote */
.blog-post-content blockquote{
  border-left:5px solid var(--gold);
  background:linear-gradient(90deg,rgba(201,151,58,.08) 0%,rgba(201,151,58,.02) 100%);
  padding:1rem 1.4rem;
  margin:1.5rem 0;
  border-radius:0 10px 10px 0;
  color:var(--slate);
  font-style:italic;
  font-size:1rem;
  line-height:1.8;
}
.blog-post-content blockquote cite{
  display:block;
  font-size:.78rem;
  color:var(--gold);
  font-style:normal;
  font-weight:700;
  margin-top:.5rem;
}

/* Divider */
.blog-post-content hr{
  border:none;
  border-top:2px dashed var(--border);
  margin:2rem 0;
  opacity:.6;
}

/* Images */
.blog-post-content figure.blog-img{
  margin:1.6rem 0;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.08);
}
.blog-post-content figure.blog-img img{width:100%;height:auto;display:block;}
.blog-post-content figcaption{
  font-size:.78rem;
  color:var(--slate-light);
  text-align:center;
  padding:.5rem 1rem;
  background:#f8fafc;
  border-top:1px solid var(--border);
}

/* Tables */
.blog-table-wrap{overflow-x:auto;margin:1rem 0;border-radius:10px;border:1px solid var(--border);}
.blog-table{width:100%;border-collapse:collapse;font-size:.9rem;}
.blog-table th{background:var(--navy);color:#fff;font-weight:700;padding:.65rem 1rem;text-align:left;}
.blog-table td{padding:.55rem 1rem;border-bottom:1px solid var(--border);color:var(--slate);}
.blog-table tr:last-child td{border-bottom:none;}
.blog-table tr:hover td{background:#f4f7fb;}

/* Footer */
.blog-post-footer{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:3rem;
  padding-top:2rem;
  border-top:2px solid var(--border);
}
.blog-sidebar-card{background:#fff;border-radius:var(--r-lg);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);margin-bottom:1.5rem;}
.sidebar-title{font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.85rem;padding-bottom:.5rem;border-bottom:1px solid var(--border);}
.sidebar-post{display:block;text-decoration:none;padding:.6rem 0;border-bottom:1px solid var(--border);}
.sidebar-post:last-child{border-bottom:none;}
.sidebar-post-date{display:block;font-size:.7rem;color:var(--slate-light);margin-bottom:.2rem;}
.sidebar-post-title{font-size:.82rem;font-weight:600;color:var(--navy);line-height:1.4;}
.sidebar-post:hover .sidebar-post-title{color:var(--gold);}

/* ── AI Chat Widget ────────────────────────────────────────── */
.ai-widget{position:fixed;bottom:6.5rem;right:1.25rem;z-index:10000;font-family:inherit;transition:opacity .2s;}
.ai-widget.widget-hide-near-footer{opacity:0;pointer-events:none;}

/* Mobile: full-screen panel like WhatsApp */
@media(max-width:520px){
  .ai-widget{bottom:5.5rem;right:.75rem;}

  .ai-panel{
    position:fixed !important;
    top:0 !important; left:0 !important;
    right:0 !important; bottom:0 !important;
    width:100vw !important;
    height:100% !important;
    height:100dvh !important;
    max-height:none !important;
    border-radius:0 !important;
    opacity:1 !important;
    transform:translateY(100%) !important;
    transition:transform .32s cubic-bezier(.4,0,.2,1) !important;
    will-change:transform;
  }
  .ai-panel.ai-panel--open{
    transform:translateY(0) !important;
  }
  .ai-panel-header{
    border-radius:0 !important;
    padding-top:max(.9rem, env(safe-area-inset-top)) !important;
    flex-shrink:0;
    position:sticky;top:0;z-index:2;
  }
  .ai-messages{
    flex:1;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    scroll-behavior:smooth;
  }
  .ai-suggestions{flex-shrink:0;}
  .ai-input-bar{
    flex-shrink:0;
    padding-bottom:max(.65rem, env(safe-area-inset-bottom));
    position:sticky;bottom:0;z-index:2;
  }
  .ai-disclaimer{
    flex-shrink:0;
    padding-bottom:max(.3rem, env(safe-area-inset-bottom));
  }
  /* Prevent iOS auto-zoom on input focus */
  .ai-input{font-size:16px !important;}
  /* Bigger tap targets */
  .ai-sug-btn{padding:.45rem .9rem;font-size:.8rem;min-height:36px;}
  .ai-send-btn{width:44px;height:44px;}
  .ai-close-btn{width:34px;height:34px;}
  /* Comfortable reading */
  .ai-bubble{font-size:.88rem;line-height:1.68;}
  .ai-msg{max-width:92%;}
}

/* Lock body scroll when AI chat open on mobile */
body.ai-open{overflow:hidden;position:fixed;width:100%;}

/* Message slide-in animation */
@keyframes ai-msg-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.ai-msg{animation:ai-msg-in .2s ease forwards;}

/* FAB button */
.ai-fab{
  width:54px;height:54px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,#1a3a5c 0%,#0e5c96 100%);
  box-shadow:0 4px 18px rgba(14,92,150,.45);
  display:flex;align-items:center;justify-content:center;
  position:relative;transition:transform .2s,box-shadow .2s;
}
.ai-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px rgba(14,92,150,.55);}
.ai-fab-pulse{
  position:absolute;inset:-4px;border-radius:50%;
  background:rgba(14,92,150,.25);
  animation:ai-pulse 2s ease-out infinite;
}
@keyframes ai-pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.45);opacity:0}100%{opacity:0}}
.ai-fab-badge{
  position:absolute;top:-3px;right:-3px;
  background:#e74c3c;color:#fff;font-size:.65rem;font-weight:700;
  width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  border:2px solid #fff;
}

/* Chat panel */
.ai-panel{
  position:absolute;bottom:66px;right:0;
  width:340px;max-height:520px;
  background:#fff;border-radius:18px;
  box-shadow:0 12px 48px rgba(0,0,0,.18);
  display:flex;flex-direction:column;
  opacity:0;transform:translateY(14px) scale(.97);
  pointer-events:none;transition:opacity .25s,transform .25s;
  overflow:hidden;
}
.ai-panel.ai-panel--open{opacity:1;transform:translateY(0) scale(1);pointer-events:all;}
@media(max-width:520px) and (min-width:401px){.ai-panel{width:100vw;right:0;}}

/* Panel header */
.ai-panel-header{
  background:linear-gradient(135deg,#1a3a5c 0%,#0e5c96 100%);
  padding:.85rem 1rem;
  display:flex;align-items:center;gap:.75rem;
  border-radius:18px 18px 0 0;
}
.ai-avatar{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;
  font-size:1.2rem;flex-shrink:0;
  border:2px solid rgba(255,255,255,.3);
}
.ai-header-info{flex:1;}
.ai-header-info strong{display:block;color:#fff;font-size:.88rem;font-weight:700;}
.ai-header-info span{font-size:.73rem;color:rgba(255,255,255,.75);}
.ai-online{display:flex;align-items:center;gap:.35rem;font-size:.73rem;color:rgba(255,255,255,.8);}
.ai-online::before{content:'';width:7px;height:7px;border-radius:50%;background:#4ade80;display:inline-block;animation:ai-blink 2s ease infinite;}
@keyframes ai-blink{0%,100%{opacity:1}50%{opacity:.4}}
.ai-close-btn{
  background:rgba(255,255,255,.15);border:none;cursor:pointer;
  color:#fff;border-radius:50%;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;flex-shrink:0;
}
.ai-close-btn:hover{background:rgba(255,255,255,.3);}

/* Messages area */
.ai-messages{
  flex:1;overflow-y:auto;padding:.85rem .9rem;
  display:flex;flex-direction:column;gap:.6rem;
  scroll-behavior:smooth;
  background:#f6f8fb;
}
.ai-messages::-webkit-scrollbar{width:4px;}
.ai-messages::-webkit-scrollbar-thumb{background:#d0d8e4;border-radius:4px;}

/* Bubbles */
.ai-msg{display:flex;gap:.5rem;align-items:flex-end;max-width:88%;}
.ai-msg--bot{align-self:flex-start;}
.ai-msg--user{align-self:flex-end;flex-direction:row-reverse;}
.ai-msg-avatar{
  width:28px;height:28px;border-radius:50%;
  background:linear-gradient(135deg,#1a3a5c,#0e5c96);
  display:flex;align-items:center;justify-content:center;
  font-size:.8rem;flex-shrink:0;
}
.ai-bubble{
  padding:.55rem .85rem;border-radius:16px;
  font-size:.84rem;line-height:1.55;
  max-width:100%;word-break:break-word;white-space:pre-wrap;
}
.ai-msg--bot .ai-bubble{
  background:#fff;color:#2d3a4a;
  border-radius:4px 16px 16px 16px;
  box-shadow:0 1px 4px rgba(0,0,0,.08);
}
.ai-msg--user .ai-bubble{
  background:linear-gradient(135deg,#1a3a5c,#0e5c96);
  color:#fff;border-radius:16px 4px 16px 16px;
}
.ai-bubble strong{font-weight:700;}
.ai-bubble ul{margin:.3rem 0 0 .9rem;padding:0;}
.ai-bubble ul li{margin-bottom:.25rem;line-height:1.55;}
.ai-bubble p{margin:0 0 .45rem;line-height:1.6;}
.ai-bubble p:last-child{margin-bottom:0;}
.ai-bubble ul{margin:.2rem 0 .4rem 1rem;padding:0;}
.ai-bubble ul:last-child{margin-bottom:0;}

/* Typing dots */
.ai-typing{display:flex;gap:4px;align-items:center;padding:.45rem .7rem;}
.ai-typing span{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:ai-dot .9s ease-in-out infinite;}
.ai-typing span:nth-child(2){animation-delay:.18s;}
.ai-typing span:nth-child(3){animation-delay:.36s;}
@keyframes ai-dot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-7px)}}

/* Suggestions */
.ai-suggestions{display:flex;flex-wrap:wrap;gap:.4rem;padding:.6rem .9rem 0;}
.ai-sug-btn{
  font-size:.74rem;padding:.3rem .7rem;border-radius:20px;
  border:1.5px solid #c8d6e8;background:#fff;color:#1a3a5c;
  cursor:pointer;transition:all .18s;white-space:nowrap;
}
.ai-sug-btn:hover{background:#1a3a5c;color:#fff;border-color:#1a3a5c;}

/* Input bar */
.ai-input-bar{
  display:flex;gap:.5rem;padding:.7rem .85rem;
  border-top:1px solid #e8edf3;background:#fff;
}
.ai-input{
  flex:1;border:1.5px solid #d4dde8;border-radius:24px;
  padding:.5rem .9rem;font-size:.84rem;outline:none;
  color:#2d3a4a;background:#f6f8fb;font-family:inherit;
  transition:border-color .2s;resize:none;
  max-height:90px;overflow-y:auto;
}
.ai-input:focus{border-color:#0e5c96;background:#fff;}
.ai-send-btn{
  width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,#1a3a5c,#0e5c96);
  color:#fff;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:opacity .2s,transform .15s;
}
.ai-send-btn:hover{opacity:.9;transform:scale(1.06);}
.ai-send-btn:disabled{opacity:.45;cursor:default;transform:none;}
.ai-disclaimer{
  font-size:.67rem;color:#94a3b8;text-align:center;
  padding:.3rem .85rem .55rem;background:#fff;
}

/* Responsive — FAQ, Blog */
@media(max-width:900px){
  .faq-layout{grid-template-columns:1fr;}
  .faq-nav{position:static;display:flex;flex-wrap:wrap;gap:.35rem;padding:.75rem;}
  .blog-post-layout{grid-template-columns:1fr;}
  .blog-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:600px){
  .blog-grid{grid-template-columns:1fr;}
}

/* ── NAV: show hamburger on tablets and smaller ────────── */
@media(max-width:1100px){
  .nav-links,.btn-nav{display:none;}
  .hamburger{display:flex;}
  .nav-links{border-radius:0!important;border:none!important;}
  .nav-mobile-cta{display:block;}
  .has-dropdown:hover .dropdown{display:none;}
  .has-dropdown:focus-within .dropdown{display:none;}
  .has-dropdown.open .dropdown{display:block!important;position:static;box-shadow:none;border:none;border-left:3px solid var(--gold-pale);border-radius:0;padding:.25rem 0 .25rem 1.25rem;min-width:unset;margin:.25rem 0;}
  .has-dropdown.open .dropdown li a{padding:.4rem .75rem;font-size:.85rem;}
}
/* Slightly tighter nav items on 1101–1244px before full width kicks in */
@media(min-width:1101px) and (max-width:1244px){
  .nav-links li a{padding:.42rem .75rem;font-size:.78rem;letter-spacing:0;}
}

/* Very small phones (≤360px) */
@media(max-width:360px){
  .container{padding:0 .875rem;}
  h1{font-size:1.85rem!important;}
  h2{font-size:1.6rem;}
  .hero-eyebrow{font-size:.65rem;padding:.35rem .75rem;}
  .hero-stats{flex-direction:column;}
  .stat{width:100%;}
  .stat+.stat{border-left:none;border-top:1px solid rgba(255,255,255,.08);}
  .stats-showcase-grid{grid-template-columns:1fr 1fr;}
  .ss-num{font-size:1.75rem;}
  .ss-label{font-size:.72rem;}
  .tcard{padding:1.25rem 1rem;}
  .rating-hero{padding:2rem 1rem;}
  .rating-num{font-size:3rem!important;}
  .btn-primary,.btn-ghost,.btn-ghost-white{padding:.7rem 1.25rem;font-size:.82rem;}
  .footer-grid{grid-template-columns:1fr;}
  .info-grid{grid-template-columns:1fr!important;}
}

/* ── Patient Type Custom Dropdown ──────────────────────── */
.pt-dropdown{position:relative;width:100%;}
.pt-dd-trigger{
  display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  width:100%;padding:.85rem 1rem;
  border:1.5px solid var(--border);border-radius:10px;
  background:#fff;cursor:pointer;text-align:left;
  font-family:var(--font-body);font-size:.95rem;color:var(--navy);
  transition:border-color .2s,box-shadow .2s;
  box-shadow:0 1px 4px rgba(0,0,0,.05);
}
.pt-dd-trigger:hover{border-color:var(--gold-light);}
.pt-dd-trigger:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,151,58,.15);}
.pt-dropdown.open .pt-dd-trigger{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,151,58,.15);border-bottom-left-radius:4px;border-bottom-right-radius:4px;}
.pt-dropdown.invalid .pt-dd-trigger{border-color:#e53e3e;box-shadow:0 0 0 3px rgba(229,62,62,.1);}
.pt-dd-placeholder{color:var(--slate-light);font-weight:400;}
.pt-dd-chevron{width:18px;height:18px;min-width:18px;color:var(--slate-light);transition:transform .22s ease;}
.pt-dropdown.open .pt-dd-chevron{transform:rotate(180deg);color:var(--gold);}
.pt-dd-menu{
  position:absolute;top:calc(100% + 2px);left:0;right:0;z-index:300;
  background:#fff;
  border:1.5px solid var(--gold);
  border-top:none;
  border-bottom-left-radius:10px;border-bottom-right-radius:10px;
  box-shadow:0 12px 32px rgba(0,0,0,.13);
  padding:6px;
  opacity:0;transform:translateY(-6px);pointer-events:none;
  transition:opacity .18s ease,transform .18s ease;
}
.pt-dropdown.open .pt-dd-menu{opacity:1;transform:translateY(0);pointer-events:all;}
.pt-dd-option{
  display:flex;align-items:center;gap:.9rem;
  padding:.75rem 1rem;border-radius:8px;cursor:pointer;
  transition:background .15s;
}
.pt-dd-option:hover{background:var(--gold-pale);}
.pt-dd-option.active{background:#fffbf0;}
.pt-dd-opt-icon{font-size:1.4rem;flex-shrink:0;line-height:1;}
.pt-dd-opt-body{flex:1;min-width:0;}
.pt-dd-opt-label{display:block;font-weight:600;font-size:.9rem;color:var(--navy);line-height:1.3;}
.pt-dd-opt-sub{display:block;font-size:.72rem;color:var(--slate-light);margin-top:.1rem;}
.pt-dd-opt-tick{width:16px;height:16px;min-width:16px;color:var(--gold);opacity:0;transition:opacity .15s;}
.pt-dd-option.active .pt-dd-opt-tick{opacity:1;}
.pt-dd-chosen{display:flex;align-items:center;gap:.65rem;}
.pt-dd-chosen-icon{font-size:1.2rem;line-height:1;}
.pt-dd-chosen-label{font-weight:600;color:var(--navy);font-size:.92rem;}
@media(max-width:480px){
  .pt-dd-trigger{padding:.78rem .85rem;font-size:.88rem;}
  .pt-dd-opt-sub{display:none;}
  .pt-dd-opt-icon{font-size:1.2rem;}
}

/* ── Bengali SEO Section ────────────────────────────────── */
.bn-seo-section{background:linear-gradient(135deg,#f8f5ee 0%,#fdf9f0 100%);border-top:1px solid var(--border);padding:4rem 0 3.5rem;}
.bn-seo-inner{max-width:900px;margin:0 auto;}
.bn-seo-title{font-family:var(--font-display);font-size:1.9rem;color:var(--navy);margin-bottom:1rem;line-height:1.3;}
.bn-seo-lead{font-size:1rem;color:var(--slate);line-height:1.9;margin-bottom:2rem;max-width:780px;}
.bn-seo-lead strong{color:var(--navy);}
.bn-seo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:2rem;}
.bn-seo-item{display:flex;align-items:flex-start;gap:.85rem;background:#fff;padding:1.1rem 1.2rem;border-radius:12px;border:1px solid var(--border);box-shadow:0 2px 8px rgba(0,0,0,.04);}
.bn-seo-icon{font-size:1.6rem;line-height:1;flex-shrink:0;margin-top:.1rem;}
.bn-seo-item strong{display:block;font-size:.9rem;color:var(--navy);font-weight:700;margin-bottom:.25rem;}
.bn-seo-item p{font-size:.82rem;color:var(--slate);line-height:1.7;margin:0;}
.bn-seo-chamber{display:flex;align-items:center;gap:1rem;background:var(--navy);color:#fff;padding:1.1rem 1.4rem;border-radius:12px;flex-wrap:wrap;}
.bn-seo-chamber-icon{font-size:1.5rem;flex-shrink:0;}
.bn-seo-chamber div{flex:1;min-width:180px;}
.bn-seo-chamber strong{display:block;font-size:.9rem;margin-bottom:.2rem;}
.bn-seo-chamber span{font-size:.8rem;color:rgba(255,255,255,.75);}
.bn-seo-btn{background:var(--gold);color:#fff;padding:.55rem 1.2rem;border-radius:8px;font-size:.85rem;font-weight:700;white-space:nowrap;transition:background .2s;flex-shrink:0;}
.bn-seo-btn:hover{background:var(--gold-light);color:#fff;}
@media(max-width:640px){
  .bn-seo-grid{grid-template-columns:1fr;}
  .bn-seo-title{font-size:1.5rem;}
  .bn-seo-chamber{flex-direction:column;align-items:flex-start;gap:.75rem;}
  .bn-seo-btn{width:100%;text-align:center;}
}

/* ── WhatsApp Floating Widget ───────────────────────────── */
.wa-widget{position:fixed;bottom:1.75rem;right:1.75rem;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem;transition:opacity .2s;}
.wa-widget.widget-hide-near-footer{opacity:0;pointer-events:none;}

/* FAB Button */
.wa-fab{position:relative;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.45);transition:transform .2s,box-shadow .2s;flex-shrink:0;}
.wa-fab:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(37,211,102,.55);}
.wa-fab--open{background:linear-gradient(135deg,#455a64,#263238);}
.wa-fab--open:hover{box-shadow:0 6px 28px rgba(0,0,0,.3);}
.wa-fab-icon{width:28px;height:28px;flex-shrink:0;pointer-events:none;}
.wa-fab-icon--wa{fill:#fff !important;stroke:none !important;}
.wa-fab-icon--close{fill:none !important;stroke:#fff !important;}
.wa-fab-badge{position:absolute;top:-3px;right:-3px;background:#e53e3e;color:#fff;font-size:.65rem;font-weight:800;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #fff;animation:wa-badge-pop .4s ease;}
@keyframes wa-badge-pop{0%{transform:scale(0);}70%{transform:scale(1.2);}100%{transform:scale(1);}}

/* Pulse ring */
.wa-fab-pulse{position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(37,211,102,.5);animation:wa-pulse 2s infinite;}
@keyframes wa-pulse{0%{transform:scale(1);opacity:1;}70%{transform:scale(1.35);opacity:0;}100%{transform:scale(1.35);opacity:0;}}

/* Popup Card */
.wa-popup{
  width:300px;
  background:#fff;
  border-radius:16px;
  box-shadow:0 8px 40px rgba(0,0,0,.18);
  overflow:hidden;
  opacity:0;transform:translateY(12px) scale(.97);pointer-events:none;
  transition:opacity .22s ease,transform .22s ease;
  /* isolate from page styles */
  isolation:isolate;
  font-family:var(--font-body);
}
.wa-popup--open{opacity:1;transform:translateY(0) scale(1);pointer-events:all;}

/* Popup Header */
.wa-popup-header{
  background:linear-gradient(135deg,#075e54,#128c7e);
  padding:1rem 1rem .9rem;
  display:flex;align-items:center;gap:.75rem;
}
.wa-avatar{position:relative;flex-shrink:0;}
.wa-avatar-initials{
  width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.2);
  color:#fff;font-weight:700;font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  border:2px solid rgba(255,255,255,.35);
}
.wa-online-dot{
  position:absolute;bottom:1px;right:1px;
  width:11px;height:11px;border-radius:50%;
  background:#25d366;border:2px solid #075e54;
}
.wa-popup-info{flex:1;min-width:0;}
.wa-popup-info strong{display:block;color:#fff;font-size:.88rem;font-weight:700;line-height:1.3;}
.wa-popup-info span{display:block;color:rgba(255,255,255,.75);font-size:.72rem;margin-top:.1rem;}
.wa-close-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s;}
.wa-close-btn:hover{background:rgba(255,255,255,.28);}
.wa-close-btn svg{width:14px;height:14px;}

/* Chat body */
.wa-popup-body{
  background:#e5ddd5 url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23c3b9ad' fill-opacity='0.25'%3E%3Cpath d='M0 0h20v20H0V0zm20 20h20v20H20V20z'/%3E%3C/g%3E%3C/svg%3E");
  padding:1rem;
}
.wa-msg-row{display:flex;justify-content:flex-start;}
.wa-bubble{
  background:#fff;
  border-radius:0 10px 10px 10px;
  padding:.7rem .9rem .5rem;
  max-width:90%;
  box-shadow:0 1px 2px rgba(0,0,0,.12);
  position:relative;
}
.wa-bubble::before{
  content:'';position:absolute;top:0;left:-7px;
  border:7px solid transparent;border-right-color:#fff;border-top:0;
  border-bottom:7px solid transparent;
}
.wa-bubble p{font-size:.82rem;color:#303030;line-height:1.55;margin:0 0 .2rem;}
.wa-bubble p:last-of-type{margin-bottom:.35rem;}
.wa-bubble-time{font-size:.67rem;color:#999;display:block;text-align:right;}

/* Footer */
.wa-popup-footer{padding:.75rem;border-top:1px solid #f0f0f0;background:#fff;}
.wa-start-btn{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:linear-gradient(135deg,#25d366,#128c7e);
  color:#fff;padding:.7rem 1rem;border-radius:10px;
  font-size:.88rem;font-weight:700;text-decoration:none;
  transition:opacity .2s,transform .15s;
  box-shadow:0 2px 10px rgba(37,211,102,.3);
}
.wa-start-btn:hover{opacity:.92;transform:translateY(-1px);color:#fff;}

/* Mobile: widget sits above bottom edge, popup stays on screen */
@media(max-width:768px){
  .wa-widget{bottom:2rem;right:1rem;gap:.6rem;}
  .wa-fab{width:52px;height:52px;}
  .wa-fab-icon{width:24px;height:24px;}
  .wa-popup{
    width:calc(100vw - 2rem);
    max-width:320px;
    right:0;
    left:auto;
    max-height:80vh;
    overflow-y:auto;
    /* keep popup on screen — shift left if near right edge */
    position:fixed;
    bottom:calc(5rem + 52px + .6rem);
    right:1rem;
  }
  .wa-popup-body{max-height:40vh;overflow-y:auto;}
}
@media(max-width:380px){
  .wa-widget{right:.75rem;}
  .wa-popup{right:.75rem;width:calc(100vw - 1.5rem);}
}

/* WhatsApp Quick Reply Buttons */
.wa-quick-replies{display:flex;flex-direction:column;gap:.45rem;margin-top:.85rem;}
.wa-qr-btn{
  background:#fff;
  border:1.5px solid #e0e0e0;
  border-radius:20px;
  padding:.45rem .9rem;
  font-size:.78rem;
  color:#128c7e;
  font-weight:600;
  cursor:pointer;
  text-align:left;
  transition:background .15s,border-color .15s,transform .12s;
  line-height:1.4;
}
.wa-qr-btn:hover{background:#f0fdf8;border-color:#25d366;transform:translateX(3px);}
.wa-qr-btn--active{background:#e7faf0;border-color:#25d366;color:#075e54;}

/* ══ Hidden Admin Shortcut (Ctrl+Alt+A) ══════════════════ */
.admin-shortcut-overlay{
  display:flex;align-items:center;justify-content:center;
  position:fixed;inset:0;z-index:99999;
  background:rgba(11,31,58,.6);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
.admin-shortcut-overlay--show{opacity:1;pointer-events:all;}
.admin-shortcut-box{
  background:var(--white);border-radius:var(--r);padding:1.75rem;
  width:320px;max-width:90vw;box-shadow:var(--shadow-xl);
  transform:translateY(-10px);transition:transform .25s ease;
}
.admin-shortcut-overlay--show .admin-shortcut-box{transform:translateY(0);}
.admin-shortcut-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1rem;}
.admin-shortcut-head strong{font-size:1rem;color:var(--navy);}
.admin-shortcut-head button{font-size:1rem;color:var(--slate-light);padding:.2rem .5rem;}
.admin-shortcut-head button:hover{color:var(--navy);}
.admin-shortcut-link{display:block;padding:.8rem 1rem;border-radius:var(--r-sm);background:var(--ivory);color:var(--navy);font-weight:600;font-size:.9rem;margin-bottom:.6rem;border:1px solid var(--border);}
.admin-shortcut-link:hover{background:var(--gold-pale);border-color:var(--gold);}
.admin-shortcut-hint{margin-top:.5rem;font-size:.72rem;color:var(--slate-light);text-align:center;}
.admin-shortcut-hint kbd{background:var(--ivory);border:1px solid var(--border);border-radius:4px;padding:.1rem .4rem;font-size:.7rem;font-family:var(--font-body);}

/* ══ Eid Greeting Modal ═══════════════════════════════════ */
.eid-overlay{
  display:flex;align-items:center;justify-content:center;
  position:fixed;inset:0;z-index:99999;
  background:rgba(4,10,22,.92);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  padding:1rem;
  opacity:0;pointer-events:none;
  transition:opacity .4s ease;
  overflow-y:auto;
}
.eid-overlay--show{opacity:1;pointer-events:all;}
.eid-overlay--hide{opacity:0;pointer-events:none;}

.eid-card{
  position:relative;
  background:linear-gradient(160deg,#0d2444 0%,#0b1f3a 50%,#0f2a1e 100%);
  border:1.5px solid rgba(201,151,58,.4);
  border-radius:20px;
  max-width:440px;width:100%;
  text-align:center;
  overflow:hidden;
  margin:auto;
  animation:eid-card-in .6s cubic-bezier(.34,1.56,.64,1) both;
  animation-play-state:paused;
}
.eid-overlay--show .eid-card{
  animation:eid-card-in .6s cubic-bezier(.34,1.56,.64,1) both,eid-border-pulse 3s ease-in-out 1.2s infinite;
  animation-play-state:running;
}
@keyframes eid-card-in{from{transform:scale(.78) translateY(44px);opacity:0;}to{transform:scale(1) translateY(0);opacity:1;}}
@keyframes eid-border-pulse{
  0%,100%{box-shadow:0 0 40px rgba(201,151,58,.15),0 20px 60px rgba(0,0,0,.7);}
  50%{box-shadow:0 0 90px rgba(201,151,58,.5),0 0 140px rgba(201,151,58,.12),0 20px 60px rgba(0,0,0,.7);}
}

/* Geometric border lines */
.eid-geo-border{
  height:6px;
  background:linear-gradient(90deg,transparent 0%,#c9973a 20%,#f5d98b 50%,#c9973a 80%,transparent 100%);
  background-size:200% 100%;
  animation:eid-shimmer-line 2.5s linear infinite;
}
@keyframes eid-shimmer-line{0%{background-position:100% 0;}100%{background-position:-100% 0;}}

/* Sky */
.eid-sky{position:relative;padding:1.8rem 1rem .5rem;height:110px;}
.eid-moon{
  font-size:3.4rem;line-height:1;display:inline-block;
  filter:drop-shadow(0 0 20px rgba(255,200,50,.9)) drop-shadow(0 0 40px rgba(228,185,92,.5));
  animation:eid-float 3.5s ease-in-out infinite;
}
@keyframes eid-float{0%,100%{transform:translateY(0) rotate(-5deg);}50%{transform:translateY(-13px) rotate(5deg);}}

.eid-star{
  position:absolute;color:#f5d98b;
  animation:eid-twinkle 2s ease-in-out infinite;
}
.eid-star-1{top:18px;left:16%;font-size:1.1rem;animation-delay:0s;}
.eid-star-2{top:10px;left:38%;font-size:.85rem;animation-delay:.4s;}
.eid-star-3{top:22px;right:16%;font-size:1rem;animation-delay:.8s;}
.eid-star-4{top:8px;right:34%;font-size:.75rem;animation-delay:1.2s;}
.eid-star-5{top:32px;left:8%;font-size:.7rem;animation-delay:1.6s;}
@keyframes eid-twinkle{0%,100%{opacity:.3;transform:scale(.75);}50%{opacity:1;transform:scale(1.4);}}

/* Staggered content entrance — all text hidden until animated in */
.eid-arabic-deco,.eid-title,.eid-type-badge,.eid-msg,.eid-dua,.eid-lanterns{opacity:0;}
.eid-overlay--show .eid-arabic-deco{animation:eid-fade-up .5s ease .7s both;}
.eid-overlay--show .eid-title{animation:eid-fade-up .5s ease .85s both,eid-shimmer 3.5s linear 1.4s infinite,eid-glow 2.5s ease-in-out 1.4s infinite alternate;}
.eid-overlay--show .eid-type-badge{animation:eid-fade-up .5s ease 1s both,eid-badge-pulse 2.5s ease-in-out 2s infinite alternate;}
.eid-overlay--show .eid-msg{animation:eid-fade-up .5s ease 1.15s both;}
.eid-overlay--show .eid-dua{animation:eid-fade-up .5s ease 1.3s both;}
.eid-overlay--show .eid-lanterns{animation:eid-fade-up .5s ease 1.45s both;}
@keyframes eid-fade-up{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}

/* Content */
.eid-content{padding:.5rem 2rem 1.5rem;}
.eid-arabic-deco{
  font-size:.84rem;color:#d4a84b;
  letter-spacing:.07em;margin-bottom:1rem;font-family:serif;
}
.eid-title{
  font-family:var(--font-display);
  font-size:2.8rem;font-weight:700;
  background:linear-gradient(135deg,#fff5c0,#f5d98b,#c9973a,#f5d98b,#fff5c0);
  background-size:300% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  line-height:1.1;margin-bottom:.6rem;
}
@keyframes eid-shimmer{0%{background-position:0% center;}100%{background-position:300% center;}}
@keyframes eid-glow{from{filter:drop-shadow(0 0 6px rgba(201,151,58,.6));}to{filter:drop-shadow(0 0 24px rgba(255,220,80,1));}}

.eid-type-badge{
  display:inline-block;
  background:rgba(201,151,58,.18);
  border:1.5px solid rgba(201,151,58,.55);
  color:#f5d98b;
  font-size:.84rem;font-weight:600;
  padding:.38rem 1.1rem;border-radius:20px;
  margin-bottom:1.2rem;letter-spacing:.05em;
}
@keyframes eid-badge-pulse{
  from{border-color:rgba(201,151,58,.45);box-shadow:none;}
  to{border-color:rgba(255,210,80,.95);box-shadow:0 0 12px rgba(201,151,58,.45);}
}

.eid-msg{
  color:#fff;
  font-size:.94rem;line-height:1.9;margin-bottom:.9rem;
}
.eid-msg strong{color:#f5d98b;}

.eid-dua{
  color:rgba(255,255,255,.95);
  font-size:.84rem;line-height:1.85;
  padding:.95rem 1.15rem;
  background:rgba(201,151,58,.1);
  border-radius:10px;
  border:1px solid rgba(201,151,58,.3);
  margin-bottom:1rem;
}

.eid-lanterns{font-size:1.5rem;letter-spacing:.25rem;}
.eid-ln{display:inline-block;animation:eid-sway 2s ease-in-out infinite;}
.eid-ln-2{animation-delay:.35s;}
.eid-ln-3{animation-delay:.7s;}
@keyframes eid-sway{0%,100%{transform:rotate(-10deg);}50%{transform:rotate(10deg);}}

/* Close button */
.eid-close-btn{
  position:absolute;top:.85rem;right:.85rem;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);
  color:#fff;
  width:34px;height:34px;border-radius:50%;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s,transform .25s;
  z-index:1;
}
.eid-close-btn:hover,.eid-close-btn:focus{background:rgba(255,255,255,.28);transform:rotate(90deg);outline:none;}

/* Tablet */
@media(max-width:540px){
  .eid-overlay{padding:.6rem;align-items:flex-start;padding-top:.8rem;}
  .eid-card{border-radius:16px;}
  .eid-title{font-size:2.3rem;}
  .eid-content{padding:.4rem 1.25rem 1.2rem;}
  .eid-sky{height:92px;padding-top:1.5rem;}
  .eid-moon{font-size:2.9rem;}
  .eid-msg{font-size:.88rem;}
  .eid-dua{font-size:.8rem;padding:.8rem .9rem;}
}
/* Small mobile */
@media(max-width:380px){
  .eid-overlay{padding:.4rem;padding-top:.5rem;}
  .eid-title{font-size:2rem;}
  .eid-type-badge{font-size:.76rem;padding:.3rem .8rem;}
  .eid-arabic-deco{font-size:.76rem;}
  .eid-msg{font-size:.84rem;line-height:1.75;}
  .eid-dua{font-size:.77rem;padding:.7rem .8rem;}
  .eid-sky{height:82px;padding-top:1.2rem;}
  .eid-moon{font-size:2.6rem;}
}
