/* ============================================================
   PRINCY HEAR & SPEECH REHAB — style.css v3.0
   COLOR THEORY: Split-Complementary
   Primary:  #1B6EA8 (Steel Blue — trust, calm, medical)
   Tint:     #BDE8F5 (Sky Blue — openness, clarity)
   Accent:   #F4879E (Rose Pink — warmth, compassion, heart)
   Dark:     #0A2540 (Deep Navy — authority, professionalism)
   ============================================================ */

/* GOOGLE FONTS */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap');

/* RESET */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

:root{
  /* ── Brand Palette ── */
  --p:       #1B6EA8;   /* primary steel blue */
  --p-dark:  #0D4F80;   /* primary dark */
  --p-mid:   #2B89C8;   /* primary mid */
  --p-deep:  #0A2540;   /* deep navy */
  --sky:     #BDE8F5;   /* sky blue (logo bg) */
  --sky-lt:  #E8F6FD;   /* lightest sky */
  --sky-md:  #9DD8EF;   /* medium sky */
  --acc:     #F4879E;   /* rose pink accent */
  --acc-dark:#E05E80;   /* darker pink */
  --acc-lt:  #FDE8ED;   /* lightest pink */

  /* ── Neutral Palette ── */
  --white:   #fff;
  --off:     #F0F8FD;   /* off-white with sky tint */
  --charcoal:#0D2B3E;   /* heading text */
  --body:    #3D5F72;   /* body text */
  --muted:   #7A9BAD;   /* muted text / labels */
  --border:  rgba(27,110,168,.14);

  /* ── Shadows ── */
  --sc: 0 4px 24px rgba(27,110,168,.08);
  --sh: 0 20px 60px rgba(27,110,168,.18);
  --sa: 0 8px 32px rgba(244,135,158,.25);

  /* ── Radius ── */
  --rl: 20px; --rm: 14px; --rs: 8px;

  /* ── Transition ── */
  --tr: .35s cubic-bezier(.25,.46,.45,.94);
}

html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;color:var(--body);background:var(--white);overflow-x:hidden;line-height:1.65}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--off)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--p),var(--acc));border-radius:10px}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ============================================================
   ANIMATIONS
   ============================================================ */

@keyframes fadeUp   {from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn   {from{opacity:0}to{opacity:1}}
@keyframes slideRight{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:translateX(0)}}
@keyframes slideLeft{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}
@keyframes float    {0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes floatR   {0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-10px) rotate(-3deg)}}
@keyframes pulse-ring{0%{box-shadow:0 0 0 0 rgba(244,135,158,.45)}70%{box-shadow:0 0 0 14px rgba(244,135,158,0)}100%{box-shadow:0 0 0 0 rgba(244,135,158,0)}}
@keyframes pulse-blue{0%{box-shadow:0 0 0 0 rgba(27,110,168,.45)}70%{box-shadow:0 0 0 14px rgba(27,110,168,0)}100%{box-shadow:0 0 0 0 rgba(27,110,168,0)}}
@keyframes shimmer  {0%{background-position:0% 50%}100%{background-position:200% 50%}}
@keyframes spin-slow{to{transform:rotate(360deg)}}
@keyframes blob     {0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}}
@keyframes wave     {0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes count-up {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes heart-beat{0%,100%{transform:scale(1)}15%{transform:scale(1.15)}30%{transform:scale(1)}45%{transform:scale(1.08)}60%{transform:scale(1)}}
@keyframes logo-glow{0%,100%{filter:drop-shadow(0 0 6px rgba(189,232,245,.5))}50%{filter:drop-shadow(0 0 18px rgba(189,232,245,.9))}}
@keyframes type-cursor{0%,100%{opacity:1}50%{opacity:0}}
@keyframes slide-in-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}

/* Scroll reveal */
.fu{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}
.fu.vis{opacity:1;transform:translateY(0)}
.sr{opacity:0;transform:translateX(-55px);transition:opacity .7s ease,transform .7s ease}
.sr.vis{opacity:1;transform:translateX(0)}
.sl{opacity:0;transform:translateX(55px);transition:opacity .7s ease,transform .7s ease}
.sl.vis{opacity:1;transform:translateX(0)}
.fu.d1{transition-delay:.1s}.fu.d2{transition-delay:.22s}.fu.d3{transition-delay:.34s}
.fu.d4{transition-delay:.46s}.fu.d5{transition-delay:.58s}.fu.d6{transition-delay:.7s}

/* ============================================================
   BADGES & LABELS
   ============================================================ */

.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 18px;border-radius:50px;font-family:'Outfit',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.badge-blue{background:var(--sky-lt);color:var(--p-dark);border:1px solid rgba(27,110,168,.2)}
.badge-blue::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--p);display:block;flex-shrink:0}
.badge-pink{background:var(--acc-lt);color:var(--acc-dark);border:1px solid rgba(244,135,158,.3)}
.badge-pink::before{content:'♥';font-size:.8rem}
.badge-white{background:rgba(255,255,255,.15);backdrop-filter:blur(10px);color:#fff;border:1px solid rgba(255,255,255,.3)}
.badge-white::before{content:'★';color:#fbbf24;font-size:.85rem}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */

.stit{font-family:'Outfit',sans-serif;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:900;color:var(--charcoal);line-height:1.18;margin-bottom:14px}
.stit span{color:var(--p)}
.stit em{font-style:normal;background:linear-gradient(90deg,var(--p),var(--acc));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stit-white{font-family:'Outfit',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:900;color:#fff;line-height:1.2;margin-bottom:14px}
.stit-white em{font-style:normal;background:linear-gradient(90deg,var(--sky),var(--acc));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ssub{font-size:1.05rem;color:var(--body);line-height:1.75;max-width:580px}
.ssub-white{font-size:1.05rem;color:rgba(255,255,255,.75);line-height:1.75;max-width:560px;margin:0 auto 32px}
.sec-head{text-align:center;margin-bottom:60px}
.sec-head .ssub{margin:10px auto 0}

/* ============================================================
   BUTTONS
   ============================================================ */

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:50px;font-family:'Outfit',sans-serif;font-weight:700;font-size:.95rem;padding:14px 28px;transition:var(--tr);cursor:pointer;border:none;text-decoration:none;position:relative;overflow:hidden;letter-spacing:.01em;white-space:nowrap}
.btn svg{width:18px;height:18px;flex-shrink:0}

/* Primary - steel blue */
.btn-primary{background:linear-gradient(135deg,var(--p),var(--p-dark));color:#fff;box-shadow:0 6px 24px rgba(27,110,168,.35)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(27,110,168,.5)}

/* Accent - rose pink */
.btn-accent{background:linear-gradient(135deg,var(--acc),var(--acc-dark));color:#fff;box-shadow:var(--sa)}
.btn-accent:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(244,135,158,.5)}

/* Ghost (transparent on dark bg) */
.btn-ghost{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);color:#fff;border:1.5px solid rgba(255,255,255,.3)}
.btn-ghost:hover{background:rgba(255,255,255,.2);transform:translateY(-2px)}

/* Outline */
.btn-outline{background:transparent;color:var(--p);border:2px solid var(--p)}
.btn-outline:hover{background:var(--p);color:#fff;transform:translateY(-2px)}
.btn-outline-pink{background:transparent;color:var(--acc);border:2px solid var(--acc)}
.btn-outline-pink:hover{background:var(--acc);color:#fff;transform:translateY(-2px)}

/* White */
.btn-white{background:#fff;color:var(--p-dark);box-shadow:0 6px 24px rgba(0,0,0,.15)}
.btn-white:hover{background:var(--sky-lt);transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,.2)}

/* WhatsApp */
.btn-wa{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 6px 24px rgba(37,211,102,.4)}
.btn-wa:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(37,211,102,.55)}

/* Sizes */
.btn-sm{padding:10px 22px;font-size:.85rem}
.btn-lg{padding:17px 36px;font-size:1.05rem}

/* ============================================================
   HEADER & NAV
   ============================================================ */

#hdr{position:fixed;top:0;left:0;right:0;z-index:1000;padding:14px 0;transition:all .4s ease}
#hdr.sc{background:rgba(255,255,255,.92);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--border);box-shadow:var(--sc);padding:10px 0}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}

/* Logo */
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.logo-img{width:48px;height:48px;border-radius:50%;object-fit:contain;object-position:center;background:#fff;padding:2px;border:2px solid rgba(255,255,255,.6);box-shadow:0 4px 16px rgba(27,110,168,.3);transition:transform .3s,box-shadow .3s;animation:logo-glow 3s ease-in-out infinite;flex-shrink:0}
#hdr.sc .logo-img{border-color:var(--p-mid);box-shadow:0 4px 16px rgba(27,110,168,.2)}
.logo-img:hover{transform:scale(1.08) rotate(-3deg)}
.logo-text{display:flex;flex-direction:column}
.logo-name{font-family:'Outfit',sans-serif;font-weight:900;font-size:1rem;color:#fff;line-height:1.1;white-space:nowrap;transition:color .3s}
#hdr.sc .logo-name{color:var(--charcoal)}
.logo-sub{font-size:.62rem;color:rgba(255,255,255,.55);font-weight:500;letter-spacing:.06em;transition:color .3s}
#hdr.sc .logo-sub{color:var(--muted)}

/* Nav links */
.nav-links{display:flex;align-items:center;gap:4px;list-style:none}
.nav-links a{font-size:.88rem;font-weight:500;color:rgba(255,255,255,.85);transition:color .25s,background .25s;padding:8px 15px;border-radius:50px;position:relative}
#hdr.sc .nav-links a{color:var(--body)}
.nav-links a:hover,.nav-links a.active{color:var(--p);background:rgba(27,110,168,.08)}
#hdr.sc .nav-links a:hover,#hdr.sc .nav-links a.active{background:var(--sky-lt);color:var(--p)}
.nav-links a.active::after{content:'';position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:16px;height:2px;background:var(--acc);border-radius:2px}

/* Nav actions */
.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}

/* Hamburger */
.hmb{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:5px;background:none;border:none}
.hmb span{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:.3s}
#hdr.sc .hmb span{background:var(--charcoal)}
.hmb.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.hmb.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hmb.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile nav overlay */
.nav-mob{display:none;position:fixed;inset:0;background:linear-gradient(135deg,rgba(10,37,64,.98),rgba(13,79,128,.97));backdrop-filter:blur(20px);z-index:999;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.nav-mob.open{display:flex}
.nav-mob a{font-family:'Outfit',sans-serif;font-size:1.7rem;font-weight:800;color:rgba(255,255,255,.85);padding:14px 40px;border-radius:16px;transition:all .25s;text-align:center;position:relative}
.nav-mob a:hover{color:var(--sky);background:rgba(255,255,255,.06)}
.nav-mob-close{position:absolute;top:22px;right:22px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;transition:var(--tr);line-height:1}
.nav-mob-close:hover{background:rgba(244,135,158,.25);border-color:var(--acc)}
.nav-mob-logo{margin-bottom:24px;display:flex;align-items:center;gap:12px}
.nav-mob-logo img{width:56px;height:56px;border-radius:50%;object-fit:contain;object-position:center;background:#fff;padding:2px;border:2px solid rgba(255,255,255,.3);flex-shrink:0}
.nav-mob-logo span{font-family:'Outfit',sans-serif;font-weight:800;font-size:1.2rem;color:#fff}

/* ============================================================
   WAVE DIVIDERS
   ============================================================ */

.wave-top,.wave-btm{position:relative;overflow:hidden;line-height:0}
.wave-svg{display:block;width:100%;position:relative}
.wave-animated{animation:wave 12s linear infinite}

/* ============================================================
   PAGE HERO (inner pages)
   ============================================================ */

.page-hero{padding:160px 0 80px;background:linear-gradient(135deg,var(--p-deep) 0%,var(--p-dark) 50%,var(--p-mid) 100%);position:relative;overflow:hidden;text-align:center}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 30% 50%,rgba(189,232,245,.12),transparent 55%)}
.page-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 30%,rgba(244,135,158,.08),transparent 50%)}
.ph-blob{position:absolute;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:blob 8s ease-in-out infinite;opacity:.06;background:var(--sky);pointer-events:none}
.ph-blob-1{width:400px;height:400px;top:-100px;right:-100px;animation-delay:0s}
.ph-blob-2{width:300px;height:300px;bottom:-80px;left:-80px;animation-delay:4s}
.page-hero-inner{position:relative;z-index:2}
.page-hero h1{font-family:'Outfit',sans-serif;font-size:clamp(2.2rem,5vw,3.5rem);font-weight:900;color:#fff;margin-bottom:16px;line-height:1.15;animation:fadeUp .7s ease .1s both}
.page-hero h1 span{background:linear-gradient(90deg,var(--sky),var(--acc));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero p{font-size:1.1rem;color:rgba(255,255,255,.72);max-width:560px;margin:0 auto 28px;line-height:1.75;animation:fadeUp .7s ease .22s both}
.breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;font-size:.83rem;color:rgba(255,255,255,.5);margin-bottom:18px;animation:fadeUp .6s ease both}
.breadcrumb a{color:rgba(255,255,255,.65);transition:color .25s}
.breadcrumb a:hover{color:var(--sky)}
.breadcrumb span{color:rgba(255,255,255,.35)}

/* ============================================================
   STATS BAR
   ============================================================ */

.stats-bar{background:rgba(255,255,255,.07);backdrop-filter:blur(20px);border-top:1px solid rgba(255,255,255,.1)}
.stats-bar-inner{display:flex;justify-content:space-around;flex-wrap:wrap}
.sb-item{text-align:center;padding:20px 16px;border-right:1px solid rgba(255,255,255,.08);flex:1;min-width:120px;transition:background .3s;cursor:default}
.sb-item:last-child{border-right:none}
.sb-item:hover{background:rgba(255,255,255,.06)}
.sb-num{font-family:'Outfit',sans-serif;font-size:1.8rem;font-weight:900;color:#fff;line-height:1;display:block}
.sb-num span{background:linear-gradient(90deg,var(--sky),var(--acc));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sb-lbl{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:3px;letter-spacing:.05em}

/* ============================================================
   WHY US CARDS
   ============================================================ */

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.why-card{background:#fff;border-radius:var(--rl);padding:34px 26px;border:1px solid var(--border);box-shadow:var(--sc);transition:transform var(--tr),box-shadow var(--tr);text-align:center;position:relative;overflow:hidden}
.why-card::before{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--p),var(--acc));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.why-card:hover::before{transform:scaleX(1)}
.why-card:hover{transform:translateY(-7px);box-shadow:var(--sh)}
.why-icon{width:66px;height:66px;background:linear-gradient(135deg,var(--sky),var(--p));border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 8px 24px rgba(27,110,168,.28);transition:transform .3s}
.why-card:hover .why-icon{transform:scale(1.1) rotate(-6deg)}
.why-icon svg{width:32px;height:32px;stroke:#fff;fill:none;stroke-width:2}
.why-card h3{font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:700;color:var(--charcoal);margin-bottom:8px}
.why-card p{font-size:.88rem;color:var(--body);line-height:1.65}

/* Accent why card (pink) */
.why-card.accent .why-icon{background:linear-gradient(135deg,var(--acc-lt),var(--acc))}
.why-card.accent::before{background:linear-gradient(90deg,var(--acc),var(--p))}

/* ============================================================
   SERVICE CARDS
   ============================================================ */

.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px}
.svc-card{background:var(--off);border-radius:var(--rl);padding:34px 28px;border:1px solid var(--border);transition:transform var(--tr),box-shadow var(--tr),background var(--tr);position:relative;overflow:hidden;cursor:default}
.svc-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--p),var(--acc));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.svc-card:hover::after{transform:scaleX(1)}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--sh);background:#fff}
.svc-emoji{font-size:3rem;margin-bottom:16px;display:block;animation:float 4s ease-in-out infinite}
.svc-card:nth-child(2) .svc-emoji{animation-delay:.4s}
.svc-card:nth-child(3) .svc-emoji{animation-delay:.8s}
.svc-card:nth-child(4) .svc-emoji{animation-delay:1.2s}
.svc-card:nth-child(5) .svc-emoji{animation-delay:1.6s}
.svc-card:nth-child(6) .svc-emoji{animation-delay:2s}
.svc-card h3{font-family:'Outfit',sans-serif;font-size:1.15rem;font-weight:700;color:var(--charcoal);margin-bottom:10px}
.svc-card p{font-size:.88rem;color:var(--body);line-height:1.7;margin-bottom:16px}
.svc-link{display:inline-flex;align-items:center;gap:6px;color:var(--p);font-weight:600;font-size:.84rem;transition:gap .25s,color .25s}
.svc-link:hover{gap:10px;color:var(--acc)}
.svc-link svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2.5}

/* ============================================================
   TESTIMONIALS
   ============================================================ */

.tm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:22px}
.tm-card{background:var(--off);border-radius:var(--rl);padding:34px;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform var(--tr),box-shadow var(--tr)}
.tm-card::before{content:'\201C';position:absolute;top:10px;right:20px;font-size:7rem;background:linear-gradient(135deg,var(--sky-lt),var(--acc-lt));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:Georgia,serif;line-height:1;pointer-events:none;opacity:.8}
.tm-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.tm-stars{display:flex;gap:3px;margin-bottom:14px}
.tm-stars svg{width:17px;height:17px;fill:var(--acc);stroke:none}
.tm-text{font-size:.95rem;color:var(--body);line-height:1.8;font-style:italic;margin-bottom:22px;position:relative;z-index:1}
.tm-author{display:flex;align-items:center;gap:12px}
.tm-av{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:800;font-size:1rem;color:#fff;flex-shrink:0;animation:heart-beat 4s ease-in-out infinite}
.av1{background:linear-gradient(135deg,var(--p),var(--p-mid))}
.av2{background:linear-gradient(135deg,var(--p-dark),var(--p))}
.av3{background:linear-gradient(135deg,var(--p-mid),var(--sky-md))}
.av4{background:linear-gradient(135deg,var(--acc-dark),var(--acc))}
.tm-av:nth-child(1){animation-delay:0s}
.tm-av:nth-child(2){animation-delay:1.3s}
.tm-av:nth-child(3){animation-delay:2.6s}
.tm-name{font-family:'Outfit',sans-serif;font-weight:700;color:var(--charcoal);font-size:.92rem}
.tm-role{font-size:.75rem;color:var(--muted)}

/* ============================================================
   CTA BAND
   ============================================================ */

.cta-band{padding:88px 0;background:linear-gradient(135deg,var(--p-deep) 0%,var(--p-dark) 45%,var(--p) 100%);position:relative;overflow:hidden;text-align:center}
.cta-band::before{content:'';position:absolute;inset:0;background: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='%23BDE8F5' fill-opacity='0.04'%3E%3Ccircle cx='20' cy='20' r='3'/%3E%3C/g%3E%3C/svg%3E")}
.cta-blob{position:absolute;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation:blob 10s ease-in-out infinite;pointer-events:none}
.cta-blob-1{width:500px;height:500px;top:-150px;right:-150px;background:rgba(189,232,245,.06);animation-delay:0s}
.cta-blob-2{width:400px;height:400px;bottom:-120px;left:-100px;background:rgba(244,135,158,.05);animation-delay:5s}
.cta-band-inner{position:relative;z-index:1}
.cta-band-inner h2,.cta-band-inner h3,.cta-band-inner h4,.stit-white{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important;-webkit-background-clip:unset!important;background-clip:unset!important}
.cta-band-inner h2 em,.stit-white em{color:#BDE8F5!important;-webkit-text-fill-color:#BDE8F5!important;font-style:normal}
.cta-band-inner p{font-size:1.1rem;color:rgba(255,255,255,.82);max-width:520px;margin:0 auto 34px;line-height:1.75}
.cta-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

/* Pink accent CTA band variant */
.cta-band-pink{background:linear-gradient(135deg,var(--acc-dark) 0%,var(--acc) 100%)}

/* ============================================================
   CONTACT CARDS
   ============================================================ */

.ci-card{background:#fff;border-radius:28px;padding:44px;box-shadow:var(--sc);border:1px solid var(--border)}
.ci-card h3{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:800;color:var(--charcoal);margin-bottom:6px}
.ci-card>.sub{font-size:.88rem;color:var(--muted);margin-bottom:28px}
.ci-item{display:flex;align-items:flex-start;gap:14px;padding:16px 0;border-bottom:1px solid var(--off)}
.ci-item:last-of-type{border-bottom:none}
.ci-ic{width:44px;height:44px;border-radius:12px;background:var(--sky-lt);flex-shrink:0;display:flex;align-items:center;justify-content:center}
.ci-ic svg{width:20px;height:20px;stroke:var(--p);fill:none;stroke-width:2}
.ci-ct label{display:block;font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.ci-ct a,.ci-ct p{color:var(--charcoal);font-weight:600;font-size:.93rem;line-height:1.5}
.ci-ct a:hover{color:var(--p)}
.hr-row{display:flex;justify-content:space-between;gap:12px;font-size:.83rem;padding:3px 0}
.hr-row .dy{color:var(--muted);font-weight:500}
.hr-row .ht{color:var(--charcoal);font-weight:700}
.hr-row .cl{color:var(--acc-dark);font-weight:600}
.map-card{border-radius:28px;overflow:hidden;box-shadow:var(--sc);border:1px solid var(--border);height:100%;min-height:460px}
.map-card iframe{width:100%;height:100%;min-height:460px;border:none;display:block}

/* ============================================================
   CHECKLIST
   ============================================================ */

.checklist{list-style:none;display:flex;flex-direction:column;gap:10px;margin:18px 0 26px}
.checklist li{display:flex;align-items:center;gap:10px;font-size:.93rem;color:var(--body)}
.check-ic{width:22px;height:22px;background:linear-gradient(135deg,var(--acc),var(--acc-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;animation:heart-beat 4s ease-in-out infinite}
.check-ic svg{width:12px;height:12px;stroke:#fff;fill:none;stroke-width:3}
.checklist li:nth-child(2) .check-ic{animation-delay:.5s}
.checklist li:nth-child(3) .check-ic{animation-delay:1s}
.checklist li:nth-child(4) .check-ic{animation-delay:1.5s}

/* ============================================================
   ABOUT VISUAL
   ============================================================ */

.about-vis{background:linear-gradient(135deg,var(--sky-lt),rgba(189,232,245,.4));border-radius:28px;padding:44px 36px;text-align:center;position:relative;overflow:hidden}
.about-vis::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 70%,rgba(244,135,158,.08) 0%,transparent 50%)}
.about-vis-icon{font-size:4.5rem;margin-bottom:18px;animation:float 4s ease-in-out infinite;display:block}
.about-vis h3{font-family:'Outfit',sans-serif;font-size:1.35rem;font-weight:800;color:var(--charcoal);margin-bottom:18px}
.loc-cards{display:flex;flex-direction:column;gap:11px}
.loc-card{background:rgba(255,255,255,.88);backdrop-filter:blur(10px);border-radius:13px;padding:13px 16px;display:flex;align-items:flex-start;gap:12px;border:1px solid rgba(255,255,255,.9);box-shadow:0 4px 14px rgba(27,110,168,.07);transition:var(--tr)}
.loc-card:hover{transform:translateX(4px);box-shadow:0 6px 20px rgba(27,110,168,.12)}
.loc-card svg{width:20px;height:20px;stroke:var(--p);fill:none;stroke-width:2;flex-shrink:0;margin-top:2px}
.loc-card strong{display:block;font-weight:700;color:var(--charcoal);font-size:.9rem}
.loc-card span{display:block;font-size:.76rem;color:var(--muted);margin-top:1px;line-height:1.5}

/* ============================================================
   DOCTOR CARD
   ============================================================ */

.doc-card-wrap{perspective:1200px}
.doc-card{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(189,232,245,.06));backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.22);border-radius:28px;padding:36px 32px;position:relative;overflow:hidden;transform-style:preserve-3d;transition:transform .4s ease;text-align:center}
.doc-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(189,232,245,.1) 0%,transparent 60%);pointer-events:none}
.doc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--sky),var(--acc),var(--sky));opacity:.6}
.doc-avatar{width:160px;height:160px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(135deg,rgba(189,232,245,.3),rgba(27,110,168,.4));display:flex;align-items:center;justify-content:center;font-size:4.5rem;position:relative;border:3px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.2)}
.doc-avatar-badge{position:absolute;bottom:6px;right:6px;width:38px;height:38px;background:linear-gradient(135deg,var(--acc),var(--acc-dark));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:2px solid rgba(255,255,255,.8);box-shadow:0 4px 12px rgba(244,135,158,.5);animation:heart-beat 3s ease-in-out infinite}
.doc-name{font-family:'Outfit',sans-serif;font-size:1.25rem;font-weight:800;color:#fff;margin-bottom:4px}
.doc-role{font-size:.82rem;color:rgba(255,255,255,.65);margin-bottom:16px;line-height:1.5}
.doc-since{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);padding:6px 14px;border-radius:50px;font-size:.78rem;color:rgba(255,255,255,.85);font-weight:600;border:1px solid rgba(255,255,255,.15)}
.doc-since span{color:var(--acc);font-size:1rem}
.doc-float{position:absolute;bottom:16px;right:16px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-radius:16px;padding:11px 16px;border:1px solid var(--border);box-shadow:var(--sc);display:flex;align-items:center;gap:10px}
.doc-float-ic{width:38px;height:38px;background:linear-gradient(135deg,#25d366,#128c7e);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.doc-float-ic svg{width:19px;height:19px;fill:#fff}
.doc-float-tx small{display:block;font-size:.68rem;color:var(--muted)}
.doc-float-tx strong{display:block;font-size:.88rem;color:var(--charcoal);font-family:'Outfit',sans-serif;font-weight:700}

/* ============================================================
   FOOTER
   ============================================================ */

#footer{background:var(--p-deep);padding:60px 0 0}
.fg{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.06)}
.fb .logo{margin-bottom:16px}
.fb .logo-name,.fb .logo-name:hover{color:#fff!important}
.fb .logo-sub{color:rgba(255,255,255,.35)!important}
.fb>p{font-size:.83rem;color:rgba(255,255,255,.4);line-height:1.8;max-width:280px;margin-bottom:22px}

/* Social links */
.socials{display:flex;gap:10px}
.s-link{width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.s-link:hover{background:var(--p);border-color:var(--p);transform:translateY(-3px)}
.s-link.pink:hover{background:var(--acc);border-color:var(--acc)}
.s-link svg{width:17px;height:17px;fill:rgba(255,255,255,.55);transition:fill .25s}
.s-link:hover svg{fill:#fff}

/* Footer columns */
.fc h4{font-family:'Outfit',sans-serif;font-size:.74rem;font-weight:700;color:rgba(255,255,255,.9);margin-bottom:18px;text-transform:uppercase;letter-spacing:.12em}
.fc ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fc ul li a{color:rgba(255,255,255,.4);font-size:.82rem;transition:color .25s;display:flex;align-items:center;gap:6px}
.fc ul li a::before{content:'›';color:var(--sky-md);font-size:1rem}
.fc ul li a:hover{color:var(--sky)}
.fnap{display:flex;flex-direction:column;gap:10px}
.ni{display:flex;align-items:flex-start;gap:9px}
.ni svg{width:15px;height:15px;stroke:var(--sky-md);fill:none;stroke-width:2;flex-shrink:0;margin-top:2px}
.ni span,.ni a{font-size:.79rem;color:rgba(255,255,255,.4);line-height:1.6;transition:color .25s}
.ni a:hover{color:var(--sky)}

/* Footer bottom */
.footer-btm{padding:20px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.footer-btm p{font-size:.76rem;color:rgba(255,255,255,.2)}
.footer-acc{display:flex;align-items:center;gap:6px;font-size:.76rem;color:rgba(255,255,255,.2)}
.footer-acc span{color:var(--acc);animation:heart-beat 2.5s ease-in-out infinite}

/* ============================================================
   FLOATING BUTTONS
   ============================================================ */

.float-wa{position:fixed;bottom:88px;right:24px;z-index:999;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#25d366,#128c7e);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(37,211,102,.45);text-decoration:none;transition:var(--tr);animation:pulse-ring 2.5s ease-in-out infinite}
.float-wa:hover{transform:scale(1.12)}
.float-wa svg{width:26px;height:26px;fill:#fff}
.float-call{position:fixed;bottom:22px;right:24px;z-index:999;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--p),var(--p-mid));display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(27,110,168,.45);text-decoration:none;transition:var(--tr);animation:pulse-blue 3s ease-in-out infinite}
.float-call:hover{transform:scale(1.12)}
.float-call svg{width:24px;height:24px;fill:#fff}

/* Tooltip on float buttons */
.float-wa::before,.float-call::before{content:attr(data-tip);position:absolute;right:62px;background:var(--charcoal);color:#fff;font-size:.74rem;font-weight:600;white-space:nowrap;padding:5px 10px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .25s;font-family:'Inter',sans-serif}
.float-wa:hover::before,.float-call:hover::before{opacity:1}

/* ============================================================
   LAYOUT HELPERS
   ============================================================ */

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.two-col-contact{display:grid;grid-template-columns:1fr 1fr;gap:36px}

/* ============================================================
   FULL SERVICES PAGE
   ============================================================ */

.svc-full-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.svc-full-card{background:var(--off);border-radius:var(--rl);padding:40px 32px;border:1px solid var(--border);transition:transform var(--tr),box-shadow var(--tr),background var(--tr);position:relative;overflow:hidden}
.svc-full-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--p),var(--acc));transform:scaleX(0);transform-origin:left;transition:transform .4s ease}
.svc-full-card:hover::after{transform:scaleX(1)}
.svc-full-card:hover{transform:translateY(-8px);box-shadow:var(--sh);background:#fff}
.sfc-emoji{font-size:3.5rem;display:block;margin-bottom:18px;animation:float 4s ease-in-out infinite}
.svc-full-card:nth-child(2) .sfc-emoji{animation-delay:.5s}
.svc-full-card:nth-child(3) .sfc-emoji{animation-delay:1s}
.svc-full-card:nth-child(4) .sfc-emoji{animation-delay:1.5s}
.svc-full-card:nth-child(5) .sfc-emoji{animation-delay:2s}
.svc-full-card:nth-child(6) .sfc-emoji{animation-delay:2.5s}
.svc-full-card h3{font-family:'Outfit',sans-serif;font-size:1.3rem;font-weight:800;color:var(--charcoal);margin-bottom:12px}
.svc-full-card p{font-size:.92rem;color:var(--body);line-height:1.75;margin-bottom:18px}
.svc-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.svc-tag{background:var(--sky-lt);color:var(--p-dark);font-size:.72rem;font-weight:600;padding:4px 10px;border-radius:50px;border:1px solid rgba(27,110,168,.15)}

/* Process steps */
.process-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}
.process-step{text-align:center;padding:30px 18px;background:#fff;border-radius:var(--rl);border:1px solid var(--border);position:relative;transition:var(--tr)}
.process-step:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.step-num{width:50px;height:50px;background:linear-gradient(135deg,var(--p),var(--acc));border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:900;font-size:1.1rem;color:#fff;margin:0 auto 14px;box-shadow:0 6px 20px rgba(27,110,168,.3)}
.process-step h4{font-family:'Outfit',sans-serif;font-weight:700;color:var(--charcoal);margin-bottom:8px;font-size:.98rem}
.process-step p{font-size:.84rem;color:var(--body);line-height:1.65}

/* About page */
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px}
.val-card{background:#fff;border-radius:var(--rl);padding:32px 24px;border:1px solid var(--border);box-shadow:var(--sc);text-align:center;transition:transform var(--tr),box-shadow var(--tr)}
.val-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.val-emoji{font-size:2.8rem;display:block;margin-bottom:14px;animation:floatR 5s ease-in-out infinite}
.val-card:nth-child(2) .val-emoji{animation-delay:.8s}
.val-card:nth-child(3) .val-emoji{animation-delay:1.6s}
.val-card:nth-child(4) .val-emoji{animation-delay:2.4s}
.val-card h3{font-family:'Outfit',sans-serif;font-weight:700;color:var(--charcoal);font-size:1.05rem;margin-bottom:8px}
.val-card p{font-size:.86rem;color:var(--body);line-height:1.65}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.team-card{background:var(--off);border-radius:var(--rl);padding:36px 24px;border:1px solid var(--border);text-align:center;transition:transform var(--tr),box-shadow var(--tr)}
.team-card:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.team-av{width:100px;height:100px;border-radius:50%;margin:0 auto 16px;background:linear-gradient(135deg,var(--sky),var(--p));display:flex;align-items:center;justify-content:center;font-size:2.8rem;border:3px solid rgba(27,110,168,.2);box-shadow:0 6px 20px rgba(27,110,168,.18)}
.team-card h3{font-family:'Outfit',sans-serif;font-weight:800;color:var(--charcoal);font-size:1.1rem;margin-bottom:4px}
.team-card .role{font-size:.82rem;color:var(--p);font-weight:600;margin-bottom:10px}
.team-card p{font-size:.84rem;color:var(--body);line-height:1.65}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px}
.stat-box{text-align:center;padding:26px 16px;background:rgba(255,255,255,.08);border-radius:var(--rl);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);transition:var(--tr)}
.stat-box:hover{background:rgba(255,255,255,.14);transform:translateY(-4px)}
.stat-box .num{font-family:'Outfit',sans-serif;font-size:2.5rem;font-weight:900;background:linear-gradient(135deg,#fff,var(--sky));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;line-height:1;margin-bottom:6px}
.stat-box .lbl{font-size:.78rem;color:rgba(255,255,255,.58);letter-spacing:.04em}

/* Contact page */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.faq-item{background:#fff;border-radius:var(--rm);border:1px solid var(--border);overflow:hidden;transition:box-shadow .3s}
.faq-item:hover{box-shadow:var(--sc)}
.faq-q{padding:20px 24px;font-family:'Outfit',sans-serif;font-weight:700;color:var(--charcoal);font-size:.97rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .25s,color .25s;gap:12px}
.faq-q:hover{background:var(--sky-lt);color:var(--p)}
.faq-item.open .faq-q{background:var(--sky-lt);color:var(--p)}
.faq-q svg{width:18px;height:18px;stroke:var(--p);fill:none;stroke-width:2.5;flex-shrink:0;transition:transform .3s}
.faq-item.open .faq-q svg{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;padding:0 24px;font-size:.9rem;color:var(--body);line-height:1.75}
.faq-item.open .faq-a{max-height:200px;padding:0 24px 18px}
.wa-cta{background:linear-gradient(135deg,rgba(189,232,245,.2),rgba(27,110,168,.08));border-radius:28px;padding:48px 40px;border:2px solid rgba(27,110,168,.15);text-align:center;margin-top:36px;position:relative;overflow:hidden}
.wa-cta::before{content:'♥';position:absolute;font-size:8rem;top:-20px;right:20px;opacity:.04;color:var(--acc)}
.wa-cta h3{font-family:'Outfit',sans-serif;font-size:1.6rem;font-weight:800;color:var(--charcoal);margin-bottom:10px}
.wa-cta p{font-size:.95rem;color:var(--body);line-height:1.7;max-width:440px;margin:0 auto 24px}
.wa-num{font-family:'Outfit',sans-serif;font-size:1.5rem;font-weight:900;color:var(--p);margin-bottom:20px;display:block}
.ci-btns-row{display:flex;flex-direction:column;gap:11px;margin-top:22px}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:start}

/* ============================================================
   RESPONSIVE BREAKPOINTS
   ============================================================ */

/* Large Desktop */
@media(max-width:1280px){
  .container{padding:0 32px}
}

/* Tablet landscape / small desktop */
@media(max-width:1024px){
  .two-col,.two-col-contact,.contact-layout{grid-template-columns:1fr}
  .doc-card-wrap{max-width:400px;margin:0 auto}
  .fg{grid-template-columns:1fr 1fr}
  .nav-links{gap:2px}
  .nav-links a{padding:7px 10px;font-size:.84rem}
}

/* Tablet */
@media(max-width:900px){
  .fg{grid-template-columns:1fr 1fr}
  .about-grid{grid-template-columns:1fr}
}

/* Mobile landscape */
@media(max-width:768px){
  .nav-links,.nav-actions .btn-wa{display:none}
  .hmb{display:flex}
  .fg{grid-template-columns:1fr}
  .stats-bar-inner{flex-wrap:wrap}
  .sb-item{min-width:50%;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
  .sb-item:last-child{border-bottom:none}
  .sec-head{margin-bottom:44px}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .svc-grid,.svc-full-grid{grid-template-columns:1fr}
  .tm-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr}
  .ci-card{padding:28px 22px}
  .map-card{min-height:320px}
  .map-card iframe{min-height:320px}
  .wa-cta{padding:36px 24px}
  .page-hero{padding:130px 0 60px}
}

/* Mobile portrait */
@media(max-width:480px){
  .container{padding:0 16px}
  .hero-btns,.cta-btns{flex-direction:column;align-items:center}
  .btn-lg{width:100%;max-width:340px;justify-content:center}
  .why-grid{grid-template-columns:1fr}
  .process-steps{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .values-grid{grid-template-columns:1fr}
  .svc-tags{gap:5px}
  .fg{grid-template-columns:1fr}
  .footer-btm{flex-direction:column;text-align:center}
  .float-wa::before,.float-call::before{display:none}
  .page-hero{padding:120px 0 50px}
  .page-hero h1{font-size:1.9rem}
  .ci-card{padding:22px 16px}
}

/* Extra small */
@media(max-width:360px){
  .logo-name{font-size:.88rem}
  .logo-sub{font-size:.56rem}
  .stats-grid{grid-template-columns:1fr}
}

/* Shared misc */
body.no-scroll{overflow:hidden}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
@media(max-width:1024px){.about-grid{grid-template-columns:1fr}}

