/* ============================================================
   Little Angels Kids Dental Care - Design System
   ============================================================ */
:root{
  --navy:#1B3A8A;
  --navy-dark:#0F2563;
  --magenta:#7B2C7A;
  --magenta-light:#A24AA0;
  --sky:#5BB9E8;
  --sky-soft:#E6F4FB;
  --cream:#FFF9F0;
  --bg:#FFFDF9;
  --text:#1F2440;
  --muted:#5B6280;
  --border:#E8E4DA;
  --gold:#F2B544;
  --green:#3DBE7C;
  --white:#FFFFFF;
  --shadow-sm:0 2px 8px rgba(27,58,138,.06);
  --shadow-md:0 8px 24px rgba(27,58,138,.10);
  --shadow-lg:0 18px 50px rgba(27,58,138,.15);
  --radius-sm:10px;
  --radius:18px;
  --radius-lg:28px;
  --container:1180px;
  --grad-hero:linear-gradient(135deg,#E6F4FB 0%,#FFF9F0 60%,#FCEAF4 100%);
  --grad-primary:linear-gradient(135deg,var(--navy) 0%,var(--magenta) 100%);
  --grad-soft:linear-gradient(135deg,#FFFDF9 0%,#F5EEFF 100%);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--navy);text-decoration:none;transition:color .2s}
a:hover{color:var(--magenta)}
h1,h2,h3,h4{font-family:'Fraunces','Playfair Display',Georgia,serif;color:var(--navy-dark);line-height:1.2;margin:0 0 .6em;font-weight:600}
h1{font-size:clamp(2rem,4.6vw,3.4rem);letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,3.2vw,2.4rem);letter-spacing:-.01em}
h3{font-size:1.3rem}
p{margin:0 0 1em}
.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.5rem;border-radius:999px;font-weight:600;font-size:.95rem;border:2px solid transparent;cursor:pointer;transition:transform .2s, box-shadow .2s, background .2s;white-space:nowrap}
.btn-primary{background:var(--grad-primary);color:#fff;box-shadow:var(--shadow-md)}
.btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-whatsapp{background:#25D366;color:#fff;box-shadow:0 8px 20px rgba(37,211,102,.3)}
.btn-whatsapp:hover{color:#fff;background:#1fbb59;transform:translateY(-2px)}
.btn-outline{background:#fff;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-ghost{background:rgba(255,255,255,.8);color:var(--navy);border-color:var(--border)}
.btn-ghost:hover{background:#fff;color:var(--magenta)}

/* ============== NAVBAR ============== */
.nav{position:sticky;top:0;z-index:90;background:rgba(255,253,249,.92);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;max-width:var(--container);margin:0 auto;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;font-family:'Fraunces',serif;font-weight:600;color:var(--navy-dark);font-size:1.05rem}
.brand svg{width:42px;height:42px;flex-shrink:0}
.brand small{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:.7rem;color:var(--magenta);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.nav-links{display:flex;align-items:center;gap:.4rem;list-style:none;margin:0;padding:0}
.nav-links a{padding:.55rem .85rem;border-radius:999px;color:var(--text);font-weight:500;font-size:.95rem}
.nav-links a:hover,.nav-links a.active{background:var(--sky-soft);color:var(--navy-dark)}
.nav-cta{margin-left:.5rem}
.nav-links .nav-cta a.btn-primary{color:#fff;background:var(--grad-primary);padding:.6rem 1.1rem}
.nav-links .nav-cta a.btn-primary:hover{color:#fff;background:var(--grad-primary)}
.hamburger{display:none;background:none;border:0;cursor:pointer;padding:.5rem;color:var(--navy)}
.hamburger svg{width:28px;height:28px}
@media(max-width:960px){
  .nav-links{position:fixed;inset:64px 0 auto 0;background:#fff;flex-direction:column;align-items:stretch;padding:1rem;gap:.25rem;border-bottom:1px solid var(--border);box-shadow:var(--shadow-md);transform:translateY(-130%);transition:transform .3s}
  .nav-links.open{transform:translateY(0)}
  .nav-links a{padding:.85rem 1rem;border-radius:12px}
  .nav-cta{margin:.5rem 0 0}
  .hamburger{display:inline-flex}
}

/* ============== INTRO OVERLAY ============== */
.intro{position:fixed;inset:0;background:radial-gradient(ellipse at 50% 40%, #ffffff 0%, #F4FAFE 45%, #FCEAF4 100%);z-index:200;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.75rem;animation:introOut 1.3s cubic-bezier(.65,0,.35,1) 3.4s forwards;overflow:hidden;will-change:opacity,transform,filter}
.intro::before,.intro::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;pointer-events:none;animation:floaty 7s ease-in-out infinite;will-change:transform}
.intro::before{width:420px;height:420px;background:#FCEAF4;top:-120px;right:-120px}
.intro::after{width:460px;height:460px;background:#E6F4FB;bottom:-160px;left:-140px;animation-direction:reverse}
.intro-logo-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:min(82vw,520px);aspect-ratio:1540/684}
.intro-logo{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 40px rgba(27,58,138,.18));animation:logoReveal 1.8s cubic-bezier(.22,.9,.3,1) both;position:relative;z-index:2;will-change:transform,opacity,filter}
.intro-halo{position:absolute;inset:-30% -20%;background:radial-gradient(ellipse at center, rgba(255,255,255,.9) 0%, rgba(252,234,244,.55) 35%, rgba(230,244,251,.25) 60%, transparent 75%);filter:blur(20px);z-index:1;animation:haloIn 1.8s ease-out both, haloPulse 3s ease-in-out 1.8s infinite;will-change:transform,opacity}
.intro-ring,.intro-ring-2{display:none !important}
.intro-tag{color:var(--magenta);font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;margin:0;opacity:0;animation:fadeUp 1.1s cubic-bezier(.22,.9,.3,1) 1.2s forwards;position:relative;z-index:2}
@keyframes logoReveal{0%{opacity:0;transform:scale(.92) translateY(14px);filter:blur(8px) drop-shadow(0 18px 40px rgba(27,58,138,0))}60%{opacity:1;filter:blur(0) drop-shadow(0 18px 40px rgba(27,58,138,.18))}100%{opacity:1;transform:scale(1) translateY(0);filter:blur(0) drop-shadow(0 18px 40px rgba(27,58,138,.18))}}
@keyframes haloIn{0%{opacity:0;transform:scale(.6)}100%{opacity:1;transform:scale(1)}}
@keyframes haloPulse{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-24px)}}
@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}100%{opacity:1;transform:translateY(0)}}
@keyframes introOut{0%{opacity:1;transform:scale(1);filter:blur(0)}100%{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.04);filter:blur(6px)}}
@media (max-width:640px){
  .intro{background:#ffffff;animation-duration:1.2s;animation-delay:4s}
  .intro::before,.intro::after{filter:blur(50px);opacity:0;animation:introBgIn 1.2s ease-out .9s forwards, floaty 7s ease-in-out 2.1s infinite}
  .intro::before{width:300px;height:300px}
  .intro::after{width:320px;height:320px;animation:introBgIn 1.2s ease-out .9s forwards, floaty 7s ease-in-out 2.1s infinite reverse}
  .intro-logo{animation:logoReveal 1.6s cubic-bezier(.22,.9,.3,1) .8s both}
  .intro-halo{animation:haloIn 1.6s ease-out .8s both, haloPulse 3s ease-in-out 2.4s infinite}
  .intro-tag{animation-delay:1.8s}
}
@keyframes introBgIn{from{opacity:0}to{opacity:.45}}


/* ============== HERO ============== */
.hero{background:var(--grad-hero);padding:4rem 0 5rem;position:relative;overflow:hidden}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;z-index:0}
.hero::before{width:280px;height:280px;background:#FCEAF4;top:-80px;right:-60px}
.hero::after{width:340px;height:340px;background:#E6F4FB;bottom:-120px;left:-100px}
.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center;position:relative;z-index:1}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--magenta);padding:.45rem .9rem;border-radius:999px;font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:var(--shadow-sm);margin-bottom:1.25rem}
.hero h1{margin-bottom:1rem}
.hero .lead{font-size:1.1rem;color:var(--muted);max-width:560px;margin-bottom:1.75rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}
.hero-img-wrap{position:relative;border-radius:var(--radius-lg);overflow:visible;aspect-ratio:4/5;max-height:640px;margin-inline:auto;width:100%;background:transparent;box-shadow:none}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;border-radius:var(--radius-lg);-webkit-mask-image:radial-gradient(ellipse 78% 88% at 50% 50%, #000 55%, rgba(0,0,0,.85) 70%, rgba(0,0,0,.35) 88%, transparent 100%);mask-image:radial-gradient(ellipse 78% 88% at 50% 50%, #000 55%, rgba(0,0,0,.85) 70%, rgba(0,0,0,.35) 88%, transparent 100%);filter:drop-shadow(0 20px 40px rgba(15,40,80,.15))}
@media(max-width:1024px){.hero-img-wrap{aspect-ratio:4/5;max-height:560px}}
@media(max-width:820px){.hero-img-wrap{aspect-ratio:auto;max-width:420px;max-height:none}.hero-img-wrap img{height:auto;object-fit:contain;object-position:center}}
@media(max-width:520px){.hero-img-wrap{max-width:340px}}
@media(max-width:380px){.hero-img-wrap{max-width:280px}}
.hero-badge{position:absolute;background:#fff;border-radius:var(--radius);padding:.85rem 1.1rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.6rem;font-weight:600;font-size:.9rem}
.hero-badge.tl{top:18px;left:-14px}
.hero-badge.br{bottom:18px;right:-14px}
.hero-badge .stars{color:var(--gold)}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.hero{padding:2.5rem 0 3.5rem}}

/* Trust strip */
.trust{background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.25rem 0}
.trust-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem;align-items:center}
.trust-item{display:flex;align-items:center;gap:.5rem;color:var(--muted);font-weight:500;font-size:.9rem}
.trust-item svg{width:20px;height:20px;color:var(--magenta);flex-shrink:0}
@media(max-width:640px){
  .trust{padding:.75rem 0}
  .trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem .75rem;justify-content:initial}
  .trust-item{font-size:.74rem;gap:.3rem;justify-content:flex-start;line-height:1.2}
  .trust-item svg{width:14px;height:14px}
  .trust-item:nth-child(5){grid-column:1/-1;justify-content:center}
}

/* ============== SECTIONS ============== */
section{padding:4.5rem 0}
.section-head{text-align:center;max-width:720px;margin:0 auto 2.5rem}
.section-head .eyebrow{color:var(--magenta);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;display:block;margin-bottom:.6rem}
.section-head p{color:var(--muted)}

.bg-soft{background:var(--grad-soft)}
.bg-sky{background:var(--sky-soft)}
.bg-cream{background:var(--cream)}
.bg-peach{background:#FCEAE0}

/* Marquee strip (Painless Fillings · Root Canal · …) */
.marquee-strip{background:#0E2A47;color:#fff;overflow:hidden;padding:1.1rem 0}
.marquee-track{display:flex;gap:3.5rem;align-items:center;white-space:nowrap;animation:marqueeX 28s linear infinite;font-family:'Fraunces',Georgia,serif;font-size:clamp(1.2rem,2.4vw,2rem);font-weight:600;letter-spacing:-.01em}
.marquee-track span{display:inline-flex;align-items:center;gap:3.5rem}
.marquee-track .sep{color:#F2B544;font-size:1.2em;line-height:1}
@keyframes marqueeX{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Expert care split */
.expert-care{padding:5rem 0}
.expert-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.expert-gallery{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.expert-gallery img{width:100%;height:520px;border-radius:22px;box-shadow:0 24px 60px rgba(15,40,80,.18);object-fit:cover;display:block}
.expert-eyebrow{color:#1FB58A;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;display:block;margin-bottom:1rem}
.expert-content h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:1.25rem}
.expert-content > p{color:var(--muted);margin-bottom:1.75rem;max-width:520px}
.expert-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:1rem}
.expert-list li{display:flex;align-items:flex-start;gap:.9rem;color:var(--text);font-size:1rem}
.expert-list .check{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#E6F8F0;color:#1FB58A;display:inline-flex;align-items:center;justify-content:center;font-weight:700;margin-top:2px}
.btn-mint{background:#1FB58A;color:#fff;box-shadow:0 10px 24px rgba(31,181,138,.3)}
.btn-mint:hover{background:#17a079;color:#fff;transform:translateY(-2px)}
@media (max-width:860px){
  .expert-grid{grid-template-columns:1fr;gap:2rem}
  .expert-gallery img{height:340px}
}

/* Card grid */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.card{background:#fff;border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);transition:transform .25s, box-shadow .25s, border-color .25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}
.card-icon{width:52px;height:52px;border-radius:14px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--magenta);margin-bottom:1rem}
.card-icon svg{width:28px;height:28px}
.card h3{font-size:1.15rem;margin-bottom:.5rem}
.card p{color:var(--muted);font-size:.95rem;flex:1}
.card-link{margin-top:.85rem;color:var(--magenta);font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.35rem}
.card-link::after{content:"→";transition:transform .2s}
.card:hover .card-link::after{transform:translateX(4px)}

/* About split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.split-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);aspect-ratio:4/5}
.split-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.split{grid-template-columns:1fr;gap:1.25rem}.split>.split-img{order:-1;max-width:320px;margin:0 auto;aspect-ratio:1/1}}

/* Doctor */
.doctor{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-areas:"img head" "img body";gap:1.25rem 3rem;align-items:center}
.doctor-img{grid-area:img;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;max-width:420px;position:relative}
.doctor-img img{width:100%;height:100%;object-fit:cover}
.doctor-head{grid-area:head;align-self:end}
.doctor-body{grid-area:body;align-self:start}
.doctor h2{margin-bottom:.4rem}
.doctor .role{color:var(--magenta);font-weight:600;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;margin-bottom:1rem;display:block}
.creds{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}
.creds span{background:#fff;border:1px solid var(--border);border-radius:999px;padding:.4rem .85rem;font-size:.85rem;font-weight:500;color:var(--navy-dark)}
@media(max-width:820px){.doctor{grid-template-columns:1fr;grid-template-areas:"head" "img" "body";gap:1rem;text-align:center}.doctor-head,.doctor-body{align-self:auto}.doctor-img{max-width:280px;aspect-ratio:1/1;margin:0 auto}.doctor .creds{justify-content:center}.doctor-body>div[style*="flex"]{justify-content:center}}

/* Why us */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.feature{background:#fff;border-radius:var(--radius);padding:1.4rem;border:1px solid var(--border);text-align:center}
.feature-icon{width:56px;height:56px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.feature-icon svg{width:28px;height:28px}
.feature h3{font-size:1.05rem;margin-bottom:.4rem}
.feature p{color:var(--muted);font-size:.9rem;margin:0}

/* Laughing Gas banner */
.lg-banner{background:var(--grad-primary);color:#fff;border-radius:var(--radius-lg);padding:3rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;position:relative;overflow:hidden}
.lg-banner::before{content:"";position:absolute;width:300px;height:300px;background:rgba(255,255,255,.08);border-radius:50%;top:-100px;right:-80px}
.lg-banner h2{color:#fff;margin-bottom:.5rem}
.lg-banner p{opacity:.9;margin:0 0 1.25rem;max-width:560px}
.lg-banner .btn-ghost{background:#fff;color:var(--navy-dark);border-color:#fff}
.lg-banner .btn-ghost:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-dark)}
@media(max-width:760px){.lg-banner{grid-template-columns:1fr;padding:2rem}}

/* Testimonials */
.testimonials{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.testimonial{background:#fff;border-radius:var(--radius);padding:1.6rem;border:1px solid var(--border);position:relative}
.testimonial .stars{color:var(--gold);margin-bottom:.6rem;font-size:1rem}
.testimonial p{color:var(--text);font-style:italic;margin-bottom:1rem}
.testimonial .who{display:flex;align-items:center;gap:.65rem}
.testimonial .avatar{width:42px;height:42px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600}
.testimonial .who strong{display:block;font-size:.95rem}
.testimonial .who small{color:var(--muted)}

/* FAQ */
.faq{max-width:780px;margin:0 auto}
.faq details{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.4rem;margin-bottom:.75rem;transition:box-shadow .2s}
.faq details[open]{box-shadow:var(--shadow-sm);border-color:transparent}
.faq summary{cursor:pointer;font-weight:600;color:var(--navy-dark);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--magenta);transition:transform .2s;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details > p{margin:.75rem 0 0;color:var(--muted)}

/* Before & After treatments */
.ba-section{padding-top:4.5rem;padding-bottom:4.5rem}
.ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.ba-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column}
.ba-card-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.ba-card-head h3{font-size:1.08rem;margin:0}
.ba-card-head span{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--magenta);background:var(--sky-soft);padding:.35rem .6rem;border-radius:999px;white-space:nowrap}
.ba-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;border:1px solid var(--border);background:#fff}
.ba-treatment{margin:.85rem 0 0;font-size:.92rem;line-height:1.5;color:var(--ink-soft)}
.ba-treatment strong{color:var(--ink)}
.ba-card-wide{grid-column:1/-1}
.ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.ba-pair figure{margin:0;position:relative}
.ba-pair figure img{aspect-ratio:4/3}
.ba-pair figcaption{position:absolute;top:.6rem;left:.6rem;background:rgba(255,255,255,.92);color:var(--ink);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .55rem;border-radius:6px;box-shadow:var(--shadow-sm)}
@media(max-width:820px){
  .ba-section{padding-top:2.5rem;padding-bottom:2.5rem}
  .ba-grid{grid-template-columns:1fr;gap:.9rem}
  .ba-card{padding:.75rem;border-radius:14px}
  .ba-card-head{margin-bottom:.55rem;gap:.5rem}
  .ba-card-head h3{font-size:.95rem;line-height:1.3}
  .ba-card-head span{font-size:.62rem;padding:.25rem .45rem;letter-spacing:.06em}
  .ba-card img{aspect-ratio:16/10;border-radius:10px}
  .ba-treatment{font-size:.82rem;margin-top:.55rem;line-height:1.4}
  .ba-pair{grid-template-columns:1fr;gap:.6rem}
  .ba-pair figure img{aspect-ratio:16/9;object-fit:contain;background:var(--sky-soft)}
  .ba-pair figcaption{font-size:.6rem;padding:.2rem .4rem;top:.4rem;left:.4rem}
}

/* CTA bottom */
.cta-strip{background:var(--grad-primary);color:#fff;padding:3rem 0;text-align:center;border-radius:var(--radius-lg);margin:0 1rem}
.cta-strip h2{color:#fff;margin-bottom:.6rem}
.cta-strip p{opacity:.9;margin:0 auto 1.5rem;max-width:580px}
.cta-strip .btn-ghost{background:#fff;color:var(--navy-dark);border-color:#fff}
.cta-strip .btn-ghost:hover{background:var(--gold);border-color:var(--gold)}

/* ============== FOOTER ============== */
footer{background:var(--navy-dark);color:#D8DCEC;padding:3.5rem 0 1.5rem;margin-top:3rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;margin-bottom:2.5rem}
footer h4{color:#fff;font-family:'Inter',sans-serif;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;font-weight:600}
footer ul{list-style:none;padding:0;margin:0}
footer li{margin-bottom:.5rem}
footer a{color:#D8DCEC;font-size:.92rem}
footer a:hover{color:#fff}
.foot-brand{display:flex;align-items:center;gap:.7rem;color:#fff;font-family:'Fraunces',serif;font-size:1.15rem;margin-bottom:.85rem}
.foot-brand svg{width:46px;height:46px}
.foot-brand small{display:block;font-family:'Inter',sans-serif;font-size:.7rem;color:var(--sky);letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.foot-about{color:#A8AECB;font-size:.9rem;line-height:1.6}
.foot-contact{font-size:.92rem;line-height:1.7;color:#A8AECB}
.foot-contact strong{color:#fff;display:block;margin-bottom:.2rem;font-weight:600}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem;text-align:center;font-size:.85rem;color:#8A91B0}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-grid{grid-template-columns:1fr}}

/* WhatsApp floating */
.wa-float{position:fixed;bottom:22px;right:22px;width:60px;height:60px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(37,211,102,.45);z-index:80;animation:waPulse 2.4s ease-in-out infinite}
.wa-float svg{width:32px;height:32px}
.wa-float:hover{color:#fff;transform:scale(1.06)}
@keyframes waPulse{0%,100%{box-shadow:0 12px 28px rgba(37,211,102,.45)}50%{box-shadow:0 12px 36px rgba(37,211,102,.7)}}

/* Instagram floating */
.insta-float{position:fixed;bottom:22px;right:92px;width:60px;height:60px;border-radius:50%;background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(220,39,67,.4);z-index:80;animation:instaPulse 2.4s ease-in-out infinite}
.insta-float svg{width:32px;height:32px}
.insta-float:hover{color:#fff;transform:scale(1.06)}
@keyframes instaPulse{0%,100%{box-shadow:0 12px 28px rgba(220,39,67,.4)}50%{box-shadow:0 12px 36px rgba(220,39,67,.65)}}
@media(max-width:640px){.insta-float{bottom:92px;right:22px}}

/* ============== SUB-PAGE HERO ============== */
.page-hero{background:var(--grad-hero);padding:3rem 0 2.5rem;position:relative;overflow:hidden}
.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:.75rem}
.breadcrumbs a{color:var(--navy)}
.breadcrumbs span{margin:0 .35rem;color:var(--muted)}
.page-hero h1{margin-bottom:.5rem}
.page-hero p{color:var(--muted);font-size:1.05rem;max-width:680px;margin:0}
@media(max-width:640px){.page-hero{padding:1.25rem 0 1rem}.page-hero h1{font-size:1.7rem;line-height:1.15}.page-hero p{font-size:.95rem}.services-quick-links{display:none}.services-cards{margin-top:0}section:has(.services-cards){padding-top:1rem}}

/* Service page layout */
.service-layout{display:grid;grid-template-columns:1fr 320px;gap:3rem;align-items:start}
.service-content h2{margin-top:2rem}
.service-content ul{padding-left:1.2rem;color:var(--text)}
.service-content ul li{margin-bottom:.4rem}
.service-content .lead{font-size:1.1rem;color:var(--muted)}
.sidebar{position:sticky;top:90px;display:flex;flex-direction:column;gap:1.25rem}
.sidebar-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem}
.sidebar-card h4{font-family:'Fraunces',serif;color:var(--navy-dark);margin:0 0 .75rem;font-size:1.1rem}
.sidebar-card.cta-card{background:var(--grad-primary);color:#fff;border:0}
.sidebar-card.cta-card h4{color:#fff}
.sidebar-card.cta-card p{color:rgba(255,255,255,.9);font-size:.92rem;margin-bottom:1rem}
.sidebar-card.cta-card .btn-whatsapp{width:100%;justify-content:center;background:#fff;color:#25D366;box-shadow:none}
.sidebar-card.cta-card .btn-whatsapp:hover{background:#f0fff7}
.related-links{list-style:none;padding:0;margin:0}
.related-links li{margin-bottom:.55rem;border-bottom:1px solid var(--border);padding-bottom:.55rem}
.related-links li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.related-links a{color:var(--navy-dark);font-weight:500;font-size:.92rem;display:flex;justify-content:space-between;align-items:center}
.related-links a::after{content:"→";color:var(--magenta)}
@media(max-width:900px){.service-layout{grid-template-columns:1fr}.sidebar{position:static;flex-direction:column}}

/* Info bullets */
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0}
.info-item{background:var(--cream);border-radius:var(--radius-sm);padding:1.1rem;border-left:3px solid var(--magenta)}
.info-item strong{display:block;color:var(--navy-dark);margin-bottom:.25rem}
.info-item p{margin:0;color:var(--muted);font-size:.92rem}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);min-height:340px}
.map iframe{width:100%;height:100%;min-height:340px;border:0;display:block}
.contact-info{display:grid;gap:1rem}
.contact-tile{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;display:flex;gap:.85rem;align-items:flex-start}
.contact-tile .ico{width:42px;height:42px;border-radius:12px;background:var(--sky-soft);color:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-tile .ico svg{width:22px;height:22px}
.contact-tile strong{display:block;color:var(--navy-dark);margin-bottom:.2rem}
.contact-tile p,.contact-tile a{margin:0;color:var(--muted);font-size:.95rem}
.contact-form{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem}
.form-row{display:grid;gap:.4rem;margin-bottom:1rem}
.form-row label{font-weight:500;font-size:.9rem;color:var(--navy-dark)}
.form-row input,.form-row textarea,.form-row select{padding:.7rem .9rem;border:1px solid var(--border);border-radius:10px;font:inherit;background:var(--bg);transition:border-color .2s}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:0;border-color:var(--magenta)}
@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}

/* Blog */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s, box-shadow .25s}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.blog-card .thumb{aspect-ratio:16/10;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--magenta)}
.blog-card .thumb svg{width:60px;height:60px;opacity:.6}
.blog-card .body{padding:1.25rem;flex:1;display:flex;flex-direction:column}
.blog-card h3{font-size:1.1rem;margin-bottom:.5rem}
.blog-card p{color:var(--muted);font-size:.92rem;flex:1}
.blog-card .meta{font-size:.8rem;color:var(--magenta);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:.5rem}

/* Blog hero with featured image */
.blog-hero{padding:3.5rem 0 3rem}
.blog-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center}
.blog-hero-text h1{margin-top:.4rem}
.blog-hero-text p{color:var(--muted);font-size:1.08rem;max-width:540px}
.blog-hero-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;max-width:420px;margin-left:auto;width:100%}
.blog-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.blog-hero-img .bh-badge{position:absolute;left:1rem;bottom:1rem;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);color:var(--navy-dark);font-weight:600;font-size:.85rem;padding:.55rem .9rem;border-radius:999px;box-shadow:var(--shadow-sm)}
@media (max-width:820px){
  .blog-hero-grid{grid-template-columns:1fr;gap:1.75rem}
  .blog-hero-img{max-width:100%;aspect-ratio:4/3;margin:0}
}

/* Blog index — clean post list */
.blog-list{display:flex;flex-direction:column;gap:1.25rem;max-width:880px;margin:0 auto}
.blog-post-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:220px 1fr;transition:transform .25s, box-shadow .25s}
.blog-post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.blog-post-card .bpc-thumb{background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--magenta)}
.blog-post-card .bpc-thumb svg{width:72px;height:72px;opacity:.55}
.blog-post-card .bpc-body{padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.4rem}
.blog-post-card .bpc-body .meta{font-size:.75rem;color:var(--magenta);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.blog-post-card h2{font-size:1.3rem;margin:.1rem 0 .25rem;line-height:1.25}
.blog-post-card h2 a{color:var(--navy-dark)}
.blog-post-card h2 a:hover{color:var(--magenta)}
.blog-post-card p{color:var(--muted);font-size:.95rem;margin:0}
.blog-post-card .bpc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.6rem;flex-wrap:wrap;gap:.5rem}
.blog-post-card .bpc-date{font-size:.82rem;color:var(--muted)}
@media (max-width:640px){
  .blog-post-card{grid-template-columns:1fr}
  .blog-post-card .bpc-thumb{aspect-ratio:16/8}
}

/* Single post page */
.post-meta{display:inline-block;font-size:.82rem;color:var(--magenta);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.5rem}
.post-article{max-width:760px;margin:0 auto;font-size:1.05rem;line-height:1.8;color:var(--text)}
.post-article h2{font-size:1.5rem;margin:2rem 0 .6rem;color:var(--navy-dark)}
.post-article p{margin:0 0 1.1em}
.post-article ul{padding-left:1.2rem;margin:0 0 1.1em}
.post-article li{margin:.35em 0}
.post-cta{margin-top:2.5rem;padding:1.75rem;background:var(--grad-soft);border:1px solid var(--border);border-radius:var(--radius);text-align:center}
.post-cta h3{margin-bottom:.4rem}
.post-related{max-width:760px;margin:2.5rem auto 0;padding-top:1.5rem;border-top:1px solid var(--border)}
.post-related ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.85rem}
.post-related li a{display:block;padding:.9rem 1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--navy-dark);font-weight:500;transition:border-color .2s, transform .2s}
.post-related li a:hover{border-color:var(--magenta);transform:translateY(-2px)}
.post-related .meta{display:block;font-size:.7rem;color:var(--magenta);text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:.25rem}

/* Reveal animation */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease, transform .8s ease}
.reveal.in{opacity:1;transform:translateY(0)}

/* Service cards with images — clean inset style */
.services-cards{gap:1.75rem}
.service-card{padding:1rem 1rem 1.25rem;overflow:hidden;background:#fff;border-radius:22px;box-shadow:0 4px 20px rgba(27,58,138,.06);border:1px solid #F0EDE6;transition:transform .3s ease, box-shadow .3s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 14px 36px rgba(27,58,138,.12)}
.service-card .service-card-img{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--grad-soft);border-radius:16px}
.service-card .service-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.service-card:hover .service-card-img img{transform:scale(1.05)}
.service-card-badge{position:absolute;top:.85rem;left:.85rem;background:#fff;border-radius:14px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.service-card-body{padding:1.1rem .6rem .25rem;display:flex;flex-direction:column;flex:1}
.service-card-body h3{margin:0 0 .5rem;font-size:1.15rem;color:var(--navy)}
.service-card-body p{flex:1;color:var(--muted);font-size:.95rem;line-height:1.55;margin:0}
.service-card .card-link{margin-top:1rem;color:var(--green);font-weight:600;font-size:.95rem}
.service-card:hover .card-link{color:#2EA968}

.intro.hidden{display:none !important}

/* ===== Home v2 hero ===== */
.text-gradient{background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-v2{padding:5rem 0 6rem}
.hero-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;z-index:0;pointer-events:none}
.hero-blob-1{width:320px;height:320px;background:#FCEAF4;top:-80px;right:-60px}
.hero-blob-2{width:380px;height:380px;background:#E6F4FB;bottom:-140px;left:-100px}
.hero-blob-3{width:240px;height:240px;background:#FFF1D6;top:40%;left:40%}
.hero-stats{display:flex;gap:2rem;flex-wrap:wrap;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.hero-stats div{display:flex;flex-direction:column}
.hero-stats strong{font-family:var(--font-display);font-size:1.65rem;color:var(--navy);line-height:1}
.hero-stats span{color:var(--muted);font-size:.85rem;margin-top:.25rem}
.hero-floater{position:absolute;left:-22px;bottom:32%;background:#fff;border-radius:var(--radius);padding:.7rem .9rem;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:.6rem;max-width:200px}
.hero-floater .hf-icon{width:38px;height:38px;border-radius:12px;background:var(--grad-primary);display:flex;align-items:center;justify-content:center;font-size:1.1rem}
.hero-floater strong{display:block;font-size:.9rem}
.hero-floater small{color:var(--muted);font-size:.75rem}
@media(max-width:820px){.hero-floater{display:none}.hero-stats{gap:1.25rem}.hero-stats strong{font-size:1.35rem}}

/* Trust strip pill */
.trust-strip{padding:1.25rem 0;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

/* Features v2 - lift on hover */
.features-v2 .feature{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:transform .25s,box-shadow .25s,border-color .25s}
.features-v2 .feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}

/* Why Parents Choose Us — premium grid */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.why-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.1rem 1.1rem 1rem;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.why-card::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--grad-primary);transform:scaleX(0);transform-origin:left;transition:transform .4s ease;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.why-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:transparent}
.why-card:hover::after{transform:scaleX(1)}
.why-card>*{position:relative;z-index:1}
.why-card-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}
.why-icon{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,hsl(214 70% 96%),hsl(286 60% 96%));color:var(--navy);display:flex;align-items:center;justify-content:center;transition:background .3s ease,color .3s ease,transform .3s ease;flex-shrink:0}
.why-icon svg{width:22px;height:22px}
.why-card:hover .why-icon{background:var(--grad-primary);color:#fff;transform:rotate(-6deg) scale(1.05)}
.why-stat{text-align:right;line-height:1.1}
.why-stat strong{display:block;font-family:var(--font-display);font-weight:700;font-size:1.05rem;background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.01em}
.why-stat span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-top:.15rem;font-weight:600}
.why-card h3{font-size:.98rem;margin:0 0 .3rem;color:var(--navy);line-height:1.3}
.why-card p{color:var(--muted);font-size:.85rem;margin:0;line-height:1.5}
.why-card:hover .why-shine{transform:translateX(120%)}
@media (max-width:640px){.why-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.why-card{padding:.9rem .85rem .85rem}.why-icon{width:36px;height:36px;border-radius:10px}.why-icon svg{width:18px;height:18px}.why-stat strong{font-size:.9rem}.why-stat span{font-size:.55rem}.why-card h3{font-size:.88rem}.why-card p{font-size:.78rem;line-height:1.45}.why-card-top{margin-bottom:.5rem;gap:.5rem}}
@media (max-width:380px){.why-grid{grid-template-columns:1fr}}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;counter-reset:step}
.step{position:relative;background:#fff;border-radius:var(--radius);padding:1.75rem 1.5rem 1.5rem;border:1px solid var(--border);transition:transform .25s, box-shadow .25s}
.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.step-num{position:absolute;top:-18px;left:1.5rem;width:42px;height:42px;border-radius:12px;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.1rem;box-shadow:var(--shadow-sm)}
.step h3{font-size:1.05rem;margin:.5rem 0 .4rem}
.step p{color:var(--muted);font-size:.92rem}

/* About page extras */
.page-hero-rich{background:var(--grad-hero);position:relative;overflow:hidden}
.about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);position:relative;z-index:2}
.about-stats .stat{text-align:center;padding:.5rem}
.about-stats strong{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--navy);background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.about-stats span{color:var(--muted);font-size:.85rem;margin-top:.25rem;display:block}
@media(max-width:640px){.about-stats{grid-template-columns:repeat(2,1fr);gap:.5rem;padding:1rem}.about-stats strong{font-size:1.3rem}.about-stats span{font-size:.72rem}.about-stats .stat{padding:.35rem}}
.doctor-img{position:relative}
.doctor-img-badge{position:absolute;bottom:14px;right:14px;background:#fff;color:var(--magenta);font-weight:700;padding:.5rem .85rem;border-radius:999px;box-shadow:var(--shadow-md);font-size:.85rem;letter-spacing:.05em}

.timeline{display:grid;gap:1rem;max-width:780px;margin:0 auto}
.tl-item{display:flex;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;transition:transform .25s,box-shadow .25s}
.tl-item:hover{transform:translateX(4px);box-shadow:var(--shadow-md)}
.tl-icon{width:48px;height:48px;flex:none;border-radius:14px;background:var(--grad-soft);display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.tl-body h3{font-size:1.05rem;margin-bottom:.25rem}
.tl-body p{color:var(--muted);font-size:.92rem;margin:0}

.check-list{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.6rem}
.check-list li{position:relative;padding-left:1.75rem;color:var(--muted)}
.check-list li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}

.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}
.gallery-item{display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow-sm);transition:transform .3s, box-shadow .3s}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.gallery-item:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.gallery-item:hover img{transform:scale(1.06)}

/* Navbar logo image */
.brand-img{display:flex;align-items:center;text-decoration:none}
.brand-img img{height:52px;width:auto;display:block;object-fit:contain}
@media(max-width:520px){.brand-img img{height:42px}}

/* Laughing Gas concept section */
.lg-concept{padding:5rem 0;background:linear-gradient(180deg,#fff 0%,var(--sky-soft) 100%)}
.lg-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-top:2.5rem}
.lg-photo{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/5;max-height:600px}
.lg-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block;transition:transform .5s ease}
.lg-photo:hover img{transform:scale(1.04)}
.lg-photo-tag{position:absolute;bottom:18px;left:18px;background:#fff;border-radius:999px;padding:.55rem 1rem;display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.85rem;color:var(--navy);box-shadow:var(--shadow-md)}
.lg-photo-tag span{font-size:1.1rem}
.lg-concept h3{font-size:1.4rem;margin-bottom:.75rem;color:var(--navy)}
.lg-points{list-style:none;padding:0;margin:1.25rem 0;display:grid;gap:.85rem}
.lg-points li{position:relative;padding:.85rem 1rem .85rem 3rem;background:#fff;border-radius:var(--radius);border:1px solid var(--border);color:var(--muted);font-size:.95rem}
.lg-points li::before{content:"✓";position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:50%;background:var(--grad-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem}
.lg-points strong{color:var(--navy)}
.lg-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
@media(max-width:820px){.lg-grid{grid-template-columns:1fr;gap:2rem}.lg-photo{max-width:480px;margin-inline:auto}}

/* ===== Expert Care section (cream) ===== */
.expert-care{background:#FBF1E4;padding:5rem 0;position:relative;overflow:hidden}
.expert-care::before,.expert-care::after{content:"✦";position:absolute;color:#E89B5C;opacity:.55;font-size:1.4rem}
.expert-care::before{top:2.2rem;left:6%}
.expert-care::after{bottom:2.2rem;right:8%;font-size:1.1rem}
.expert-stack{display:flex;flex-direction:column;gap:2.5rem;align-items:center;text-align:center}
.expert-head{max-width:780px}
.expert-photos{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;width:100%;max-width:880px}
.expert-photo{border-radius:18px;overflow:hidden;box-shadow:0 24px 60px -20px rgba(20,30,55,.28),0 8px 20px -8px rgba(20,30,55,.18);background:#fff;aspect-ratio:3/4}
.expert-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.expert-body{max-width:760px;width:100%;text-align:left}
.expert-eyebrow{color:#1FAE8A;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;display:block;margin-bottom:.85rem}
.expert-head h2{font-family:var(--serif,Fraunces,Georgia,serif);font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.1;color:#10243F;margin:0;letter-spacing:-.01em}
.expert-lead{color:#465569;font-size:1.02rem;line-height:1.65;margin:0 0 1.75rem;text-align:center}
.expert-list{list-style:none;padding:0;margin:0 0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.5rem}
.expert-list li{display:flex;align-items:flex-start;gap:.9rem;color:#3a4a60;font-size:1rem;line-height:1.5}
.expert-list li strong{color:#10243F;font-weight:700}
.expert-check{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#E7F7F1;color:#1FAE8A;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}
.expert-check svg{width:16px;height:16px}
.expert-btn{background:#22B58A;color:#fff;border-radius:999px;padding:.95rem 1.9rem;font-weight:600;font-size:1rem;box-shadow:0 12px 28px -10px rgba(34,181,138,.55);border:none;display:inline-flex;align-items:center;gap:.5rem;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;margin:0 auto}
.expert-body{display:flex;flex-direction:column;align-items:center}
.expert-btn:hover{background:#1ea27b;color:#fff;transform:translateY(-2px);box-shadow:0 18px 36px -12px rgba(34,181,138,.65)}
@media(max-width:760px){.expert-list{grid-template-columns:1fr}.expert-photo{aspect-ratio:3/4}.expert-care{padding:3.5rem 0}}



/* ===== Blog redesign: featured + grid + placeholders ===== */
.blog-featured-section{padding:2.5rem 0 1rem}
.blog-featured{display:grid;grid-template-columns:1.05fr 1fr;gap:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:transform .25s,box-shadow .25s}
.blog-featured:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.blog-featured .bf-thumb{position:relative;background:var(--grad-primary);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);min-height:300px}
.blog-featured .bf-thumb svg{width:120px;height:120px;opacity:.4}
.blog-featured .bf-badge{position:absolute;top:1rem;left:1rem;background:#F2B544;color:#1B1B1B;font-weight:700;font-size:.78rem;padding:.4rem .85rem;border-radius:999px;letter-spacing:.04em;box-shadow:var(--shadow-sm)}
.blog-featured .bf-body{padding:2rem 2.25rem;display:flex;flex-direction:column;gap:.6rem;justify-content:center}
.blog-featured .meta{font-size:.78rem;color:var(--magenta);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.blog-featured h3{font-family:var(--serif,Fraunces,Georgia,serif);font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.15;margin:.2rem 0 .3rem;color:var(--navy-dark)}
.blog-featured h3 a{color:inherit}
.blog-featured h3 a:hover{color:var(--magenta)}
.blog-featured p{color:var(--muted);font-size:1rem;margin:0 0 .5rem;line-height:1.55}
.blog-featured .bf-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:.6rem}
@media(max-width:820px){.blog-featured{grid-template-columns:1fr}.blog-featured .bf-thumb{min-height:200px;aspect-ratio:16/9}.blog-featured .bf-thumb svg{width:80px;height:80px}.blog-featured .bf-body{padding:1.5rem 1.4rem}}

.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.5rem;max-width:1080px;margin:0 auto}
.blog-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.blog-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.blog-card .bc-thumb{background:var(--grad-soft);display:flex;align-items:center;justify-content:center;color:var(--magenta);aspect-ratio:16/9;position:relative}
.blog-card .bc-thumb svg{width:64px;height:64px;opacity:.5}
.blog-card .bc-body{padding:1.25rem 1.35rem;display:flex;flex-direction:column;gap:.4rem;flex:1}
.blog-card .meta{font-size:.74rem;color:var(--magenta);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.blog-card h3{font-size:1.15rem;margin:.15rem 0 .3rem;line-height:1.3;color:var(--navy-dark)}
.blog-card h3 a{color:inherit}
.blog-card h3 a:hover{color:var(--magenta)}
.blog-card p{color:var(--muted);font-size:.92rem;margin:0;line-height:1.55;flex:1}
.blog-card .bc-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}
.blog-card .bpc-date{font-size:.8rem;color:var(--muted)}

.blog-card-placeholder{opacity:.92;border-style:dashed}
.blog-card-placeholder .bc-thumb-placeholder{background:#F4F1EB;color:#9A9285}
.blog-card-placeholder .bc-thumb svg{width:40px;height:40px;opacity:.6}
.blog-card-placeholder .bc-soon{position:absolute;bottom:.75rem;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.95);color:#6b6457;font-weight:600;font-size:.72rem;padding:.3rem .75rem;border-radius:999px;letter-spacing:.05em;text-transform:uppercase}
.blog-card-placeholder h3{color:#5a5447}

/* Blog thumbnails — real images */
.blog-featured .bf-thumb{padding:0;overflow:hidden}
.blog-featured .bf-thumb img{width:100%;height:100%;object-fit:cover;display:block;min-height:300px;transition:transform .5s ease}
.blog-featured:hover .bf-thumb img{transform:scale(1.04)}
.blog-card .bc-thumb{padding:0;overflow:hidden}
.blog-card .bc-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.blog-card:hover .bc-thumb img{transform:scale(1.05)}

/* ===== Laughing Gas — Home Showcase ===== */
.lg-showcase{position:relative;background:linear-gradient(135deg,#0F1B3D 0%,#1B3A8A 45%,#5B2B85 100%);color:#fff;padding:5rem 0;overflow:hidden;margin:1rem 0}
.lg-bg-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.25;pointer-events:none;z-index:0}
.lg-orb-a{width:340px;height:340px;background:#F2B544;top:-280px;right:-280px}
.lg-orb-b{width:300px;height:300px;background:#7B2C7A;bottom:-260px;left:-260px}
.lg-show-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:3.5rem;align-items:center;position:relative;z-index:2}
.lg-show-photo{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);aspect-ratio:4/5;max-width:520px}
.lg-show-photo img{width:100%;height:100%;object-fit:cover;display:block}
.lg-photo-stat{position:absolute;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);color:#10243F;padding:.85rem 1.2rem;border-radius:16px;box-shadow:0 12px 30px -8px rgba(0,0,0,.35);display:flex;flex-direction:column;line-height:1.1}
.lg-stat-num{font-family:var(--serif,Fraunces,Georgia,serif);font-size:1.55rem;font-weight:700;color:#1B3A8A}
.lg-stat-lbl{font-size:.72rem;color:#5a6b80;text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem;font-weight:600}
.lg-stat-top{top:1.25rem;left:1.25rem}
.lg-stat-bot{bottom:1.25rem;right:1.25rem}
.lg-photo-tag{position:absolute;top:1.25rem;right:1.25rem;background:#F2B544;color:#1B1B1B;font-weight:700;font-size:.78rem;padding:.45rem .9rem;border-radius:999px;display:flex;align-items:center;gap:.35rem;box-shadow:0 8px 20px -4px rgba(242,181,68,.5)}
.lg-show-copy h2{font-family:var(--serif,Fraunces,Georgia,serif);font-size:clamp(2rem,3.6vw,2.8rem);line-height:1.1;color:#fff;margin:.6rem 0 1rem}
.lg-show-copy h2 .text-gradient{background:linear-gradient(90deg,#F2B544,#FFD58A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lg-eyebrow{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);color:#FFD58A;font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;padding:.45rem .85rem;border-radius:999px}
.lg-lead{color:rgba(255,255,255,.85);font-size:1.05rem;line-height:1.65;margin:0 0 1.5rem;max-width:560px}
.lg-pill-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.75rem}
.lg-points{list-style:none;padding:0;margin:0 0 1.75rem;display:grid;gap:.65rem}
.lg-points li{display:flex;align-items:center;gap:.7rem;background:rgba(255,255,255,.7);backdrop-filter:blur(8px);border:1px solid rgba(27,58,138,.12);padding:.7rem .9rem .7rem 2.85rem;border-radius:12px;font-size:.97rem;color:#1B3A8A;font-weight:500;line-height:1.45}
.lg-points li>svg,.lg-points li .ico{flex:0 0 22px;width:22px;height:22px;color:#1B3A8A}
@media(max-width:480px){.lg-points li{font-size:.9rem;padding:.65rem .75rem .65rem 2.5rem;gap:.6rem}.lg-points li::before{left:.65rem;width:20px;height:20px;font-size:.7rem}.lg-points li>svg,.lg-points li .ico{flex:0 0 20px;width:20px;height:20px}}
.lg-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#fff;padding:.5rem .95rem;border-radius:999px;font-size:.88rem;font-weight:500;backdrop-filter:blur(6px)}
.lg-show-copy .lg-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.lg-show-copy .btn-primary{background:#F2B544;color:#1B1B1B;box-shadow:0 12px 28px -8px rgba(242,181,68,.5)}
.lg-show-copy .btn-primary:hover{background:#fbc55b;color:#1B1B1B;transform:translateY(-2px)}
@media(max-width:900px){.lg-show-grid{grid-template-columns:1fr;gap:2rem}.lg-show-photo{max-width:420px;aspect-ratio:4/5;margin-inline:auto}.lg-showcase{padding:3.5rem 0}.lg-stat-num{font-size:1.3rem}.lg-orb-a{width:300px;height:300px;top:-180px;right:-180px;opacity:.3}.lg-orb-b{width:260px;height:260px;bottom:-160px;left:-160px;opacity:.3}.lg-photo-stat{padding:.6rem .85rem}.lg-stat-lbl{font-size:.62rem}}

/* ===== Laughing Gas page hero & steps ===== */
.lg-page-hero{background:linear-gradient(135deg,#EAF1FF 0%,#F8F1FF 100%);padding:3.5rem 0 3rem}
.lg-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:2.5rem;align-items:center;margin-top:1rem}
.lg-hero-grid h1{margin:.5rem 0 .85rem}
.lg-hero-photo{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:3/4;max-width:380px;margin-left:auto;width:100%}
.lg-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.lg-page-hero .lg-eyebrow{background:rgba(27,58,138,.08);border-color:rgba(27,58,138,.18);color:#1B3A8A}
@media(max-width:820px){.lg-hero-grid{grid-template-columns:1fr;gap:1.75rem}.lg-hero-photo{max-width:100%;aspect-ratio:4/3;margin:0}}

.lg-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;max-width:1080px;margin:0 auto}
.lg-step{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem 1.35rem;position:relative;transition:transform .25s,box-shadow .25s}
.lg-step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.lg-step-num{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--grad-primary);color:#fff;font-weight:700;font-size:1.05rem;margin-bottom:.85rem}
.lg-step h3{font-size:1.05rem;margin:0 0 .35rem;color:var(--navy-dark)}
.lg-step p{color:var(--muted);font-size:.92rem;margin:0;line-height:1.5}

/* Inline SVG icon system (replaces emojis) */
.ico{width:1em;height:1em;display:inline-block;vertical-align:-0.15em;flex-shrink:0;color:currentColor}
.feature-icon .ico,.tl-icon .ico,.hf-icon .ico{width:60%;height:60%;color:#fff}
.hf-icon .ico{color:#fff}
.trust-item .ico{width:18px;height:18px;color:var(--magenta)}
@media(max-width:640px){.trust-item .ico{width:14px;height:14px}}
.service-card-badge .ico,.why-icon .ico{width:60%;height:60%}
.hero-badge .ico{width:18px;height:18px;color:var(--magenta)}
.btn .ico{width:18px;height:18px;margin-right:.4rem;vertical-align:-3px}

/* ===== Happy Patients Auto-Scrolling Marquee ===== */
.happy-marquee-section{padding:4rem 0 4.5rem;background:linear-gradient(180deg,#fff 0%,#FFF7EE 100%);overflow:hidden}
.happy-marquee-section .section-head{margin-bottom:2rem}
.happy-marquee{position:relative;width:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.happy-track{display:flex;gap:1.25rem;width:max-content;animation:happy-scroll 45s linear infinite;will-change:transform}
.happy-marquee:hover .happy-track{animation-play-state:paused}
.happy-card{flex:0 0 auto;width:240px;height:320px;border-radius:18px;overflow:hidden;box-shadow:0 14px 30px -14px rgba(27,58,138,.25),0 0 0 1px rgba(27,58,138,.06);background:#fff;margin:0;transition:transform .3s ease}
.happy-card:hover{transform:translateY(-6px)}
.happy-card img{width:100%;height:100%;object-fit:cover;display:block}
@keyframes happy-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:640px){.happy-card{width:180px;height:240px;border-radius:14px}.happy-track{gap:.85rem;animation-duration:35s}.happy-marquee-section{padding:3rem 0 3.5rem}}
@media(prefers-reduced-motion:reduce){.happy-track{animation:none}}

/* ===== Google Reviews + Map ===== */
.g-rating-summary{display:inline-flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--border);padding:.85rem 1.25rem;border-radius:14px;margin-top:1rem;box-shadow:0 8px 20px -12px rgba(0,0,0,.1);flex-wrap:wrap;justify-content:center}
.g-rating-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}
.g-rating-text strong{font-size:1.5rem;color:var(--navy)}
.g-rating-text .g-stars{color:#FBBC04;font-size:1.1rem;letter-spacing:1px}
.g-rating-text small{color:var(--muted);font-size:.78rem;margin-top:2px}
.g-review{position:relative}
.g-review-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}
.g-review-head .avatar{color:#fff;font-weight:700;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 42px}
.g-review-head>div:nth-child(2){flex:1;display:flex;flex-direction:column;line-height:1.2}
.g-review-head strong{color:var(--navy);font-size:.95rem}
.g-review-head small{color:var(--muted);font-size:.75rem;margin-top:2px}
.g-mark{flex:0 0 20px;opacity:.85}
.map-section{padding:4rem 0}
.map-wrap{border-radius:18px;overflow:hidden;box-shadow:0 20px 50px -20px rgba(27,58,138,.25);border:1px solid var(--border);margin-bottom:1.5rem}
.map-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
@media(max-width:640px){.g-rating-summary{padding:.7rem .9rem;gap:.7rem}.g-rating-text strong{font-size:1.25rem}.map-section{padding:3rem 0}.map-wrap iframe{height:360px!important}}

/* nav CTA emphasis */
.nav-links .nav-cta a.btn-primary{background:#F2B544 !important;color:#1B1B1B !important;box-shadow:0 8px 22px -6px rgba(242,181,68,.55);font-weight:700;letter-spacing:.01em}
.nav-links .nav-cta a.btn-primary:hover{background:#fbc55b !important;color:#1B1B1B !important;transform:translateY(-2px);box-shadow:0 12px 28px -6px rgba(242,181,68,.65)}

/* Touch devices: disable sticky hover that causes first-tap to only trigger hover */
@media (hover: none) {
  a:hover, .btn-primary:hover, .btn-whatsapp:hover, .btn-outline:hover, .btn-ghost:hover,
  .btn-mint:hover, .card:hover, .card:hover .card-link::after,
  .service-card:hover, .service-card:hover .service-card-img img, .service-card:hover .card-link,
  .blog-card:hover, .blog-card:hover .bc-thumb img, .blog-post-card:hover,
  .blog-featured:hover, .blog-featured:hover .bf-thumb img,
  .why-card:hover, .why-card:hover::after, .why-card:hover .why-icon, .why-card:hover .why-shine,
  .features-v2 .feature:hover, .step:hover, .tl-item:hover,
  .gallery-item:hover, .gallery-item:hover img, .lg-photo:hover img,
  .expert-btn:hover, .post-related li a:hover,
  .wa-float:hover, .insta-float:hover {
    transform: none !important;
    box-shadow: inherit !important;
  }
  .service-card, .card, .blog-card, .blog-post-card, .blog-featured, .why-card,
  .features-v2 .feature, .step, .tl-item, .gallery-item { transition: none !important; }
}
