  :root {
    --paper: #FDFBF7;
    --surface: #FFFFFF;
    --ink: #112233;
    --ink-soft: #334455;
    --muted: #667788;
    --sage: #223a67;
    --sage-deep: #162645;
    --sage-pale: #E4ECF5;
    --amber: #F77F00;
    --amber-deep: #D65A31;
    --line: #CFD8DC;
    --void: #0B131A;
    --void-2: #070A0F;
    --display: 'Fraunces', serif;
    --body: 'Work Sans', sans-serif;
    --mono: 'JetBrains Mono', monospace;
    --radius: 18px;
    --shadow: 0 18px 40px rgba(34,58,103,0.08);
    --shadow-lg: 0 30px 70px rgba(11,19,26,0.3);
    --ease: cubic-bezier(.22,.9,.32,1);
    --ease-spring: cubic-bezier(.34,1.56,.64,1);
  }
  /*:root{
    --paper:#F4F7F2;
    --surface:#FFFFFF;
    --ink:#1F3A2E;
    --ink-soft:#4A5D53;
    --muted:#7C8B83;
    --sage:#6E9A78;
    --sage-deep:#3F6B4C;
    --sage-pale:#E4EEE3;
    --amber:#D9A441;
    --amber-deep:#BD8A2E;
    --line:#DFE6DC;
    --void:#0A1712;
    --void-2:#0E2019;
    --display:'Fraunces', serif;
    --body:'Work Sans', sans-serif;
    --mono:'JetBrains Mono', monospace;
    --radius:18px;
    --shadow:0 18px 40px rgba(31,58,46,0.09);
    --shadow-lg:0 30px 70px rgba(10,23,18,0.35);
    --ease:cubic-bezier(.22,.9,.32,1);
    --ease-spring:cubic-bezier(.34,1.56,.64,1);
  }*/
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:var(--body); color:var(--ink-soft); background:var(--paper); line-height:1.7; overflow-x:hidden;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms !important; transition-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important;}
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  h1,h2,h3,h4{font-family:var(--display); color:var(--ink); font-weight:600; letter-spacing:-0.01em;}
  section{padding:112px 0; position:relative;}
  .eyebrow{
    font-family:var(--mono); font-size:0.74rem; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--sage-deep); display:flex; align-items:center; gap:10px; margin-bottom:16px;
  }
  
  header{
      background:var(--surface);
  }
  
  footer{
      background:var(--surface) !important;
  }
  .eyebrow::before{content:''; width:24px; height:1px; background:var(--amber);}
  .section-head{max-width:600px; margin:0 auto 56px; text-align:center;}
  .section-head.left{margin:0 0 48px; text-align:left;}
  .section-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem); margin-bottom:14px; line-height:1.2;}
  .section-head p{color:var(--muted); font-size:1.04rem;}

  /* ---------- custom cursor ---------- */
  .cursor-dot, .cursor-ring{position:fixed; top:0; left:0; border-radius:50%; pointer-events:none; z-index:999; transform:translate(-50%,-50%);}
  .cursor-dot{width:7px; height:7px; background:var(--amber); opacity:0;}
  .cursor-ring{width:38px; height:38px; border:1.5px solid rgba(63,107,76,0.55); opacity:0; transition:width .3s var(--ease-spring), height .3s var(--ease-spring), border-color .3s, background .3s;}
  .cursor-ring.grow{width:64px; height:64px; background:rgba(217,164,65,0.1); border-color:var(--amber);}
  body.cursor-ready .cursor-dot, body.cursor-ready .cursor-ring{opacity:1;}
  body.cursor-ready, body.cursor-ready a, body.cursor-ready button{cursor:none;}

  .btn{
    font-family:var(--body); font-weight:600; font-size:0.92rem; padding:14px 28px;
    border-radius:999px; border:1px solid transparent; cursor:pointer; display:inline-flex;
    align-items:center; gap:8px; transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s, color .3s, border-color .3s;
  }
  .btn:focus-visible{outline:2px solid var(--sage-deep); outline-offset:3px;}
  .btn-primary{background:var(--amber); color:var(--ink);}
  .btn-primary:hover{transform:translateY(-3px); box-shadow:0 14px 28px rgba(217,164,65,0.35); background:var(--amber-deep);}
  .btn-outline{border-color:rgba(244,247,242,0.4); color:#F4F7F2; background:rgba(244,247,242,0.06); backdrop-filter:blur(6px);}
  .btn-outline:hover{background:rgba(244,247,242,0.14); transform:translateY(-3px);}
  .btn-solid{background:var(--sage-deep); color:#fff;}
  .btn-solid:hover{background:var(--ink); transform:translateY(-3px);}

  /* reveal utility — 3D tilt-in */
  .reveal{opacity:0; transform:perspective(1000px) translateY(34px) rotateX(6deg); transition:opacity .9s var(--ease), transform .9s var(--ease); transform-origin:bottom center;}
  .reveal.in{opacity:1; transform:none;}
  .stagger{perspective:1200px;}
  .stagger > *{opacity:0; transform:translateY(26px) rotateX(8deg); transition:opacity .7s var(--ease), transform .7s var(--ease); transform-origin:bottom center;}
  .stagger.in > *{opacity:1; transform:none;}
  .stagger.in > *:nth-child(1){transition-delay:.05s;}
  .stagger.in > *:nth-child(2){transition-delay:.12s;}
  .stagger.in > *:nth-child(3){transition-delay:.19s;}
  .stagger.in > *:nth-child(4){transition-delay:.26s;}
  .stagger.in > *:nth-child(5){transition-delay:.33s;}
  .stagger.in > *:nth-child(6){transition-delay:.40s;}

  /* tilt wrapper */
  .tilt{transform-style:preserve-3d; will-change:transform; transition:transform .4s var(--ease);}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:100; background:rgba(244,247,242,0.78); backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s;
  }
  header.scrolled{border-color:var(--line); box-shadow:0 8px 24px rgba(31,58,46,0.06);}
  nav.wrap{display:flex; align-items:center; justify-content:space-between; height:84px;}
  .logo{display:flex; align-items:center; gap:11px; font-family:var(--display); font-weight:600; font-size:1.2rem; color:var(--ink);}
  .logo .mark{
    width:38px; height:38px; border-radius:50%; border:1.5px solid var(--sage-deep);
    display:flex; align-items:center; justify-content:center; position:relative;
  }
  .logo .mark::before{content:''; width:14px; height:14px; border-radius:50%; background:var(--sage); animation:breatheDot 4s var(--ease) infinite;}
  @keyframes breatheDot{0%,100%{transform:scale(0.7); opacity:.6;} 50%{transform:scale(1.15); opacity:1;}}
  .navlinks{display:flex; gap:36px; font-size:0.95rem; font-weight:500; color:var(--ink-soft);}
  .navlinks a{position:relative; padding:8px 0;}
  .navlinks a::after{content:''; position:absolute; left:0; bottom:2px; width:0; height:2px; background:var(--amber); transition:width .3s var(--ease);}
  .navlinks a:hover{color:var(--ink);}
  .navlinks a:hover::after{width:100%;}
  .nav-right{display:flex; align-items:center; gap:16px;}
  .menu-toggle{display:none; background:none; border:none; font-size:1.6rem; color:var(--ink); cursor:pointer;}

  /* ---------- Hero (3D) ---------- */
  .hero{padding:76px 0 0; overflow:hidden; background:radial-gradient(120% 100% at 15% -10%, #123023 0%, var(--void) 55%, var(--void-2) 100%); color:#F4F7F2;}
  #heroCanvas{position:absolute; inset:0; width:100%; height:100%; z-index:0;}
  .hero-noise{position:absolute; inset:0; z-index:1; opacity:0.05; pointer-events:none; mix-blend-mode:overlay;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
  .hero .wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center; padding-top:56px; padding-bottom:96px;}
  .hero-copy{perspective:1200px;}
  .hero h1{font-size:clamp(2.4rem,4.8vw,3.7rem); line-height:1.12; margin-bottom:22px; color:#F7F9F4;}
  .hero h1 .line{display:block; overflow:hidden;}
  .hero h1 .line span{display:inline-block; transform:translateY(115%); transition:transform .9s var(--ease-spring);}
  .hero.loaded h1 .line span{transform:translateY(0);}
  .hero h1 .line:nth-child(1) span{transition-delay:.15s;}
  .hero h1 .line:nth-child(2) span{transition-delay:.26s;}
  .hero h1 .line:nth-child(3) span{transition-delay:.37s;}
  .hero h1 em{font-style:normal; color:var(--amber);}
  .hero p.lede{color:rgba(244,247,242,0.68); font-size:1.1rem; max-width:490px; margin-bottom:34px; opacity:0; transform:translateY(16px); transition:opacity .8s var(--ease) .55s, transform .8s var(--ease) .55s;}
  .hero.loaded p.lede{opacity:1; transform:none;}
  .hero-actions{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px; opacity:0; transform:translateY(16px); transition:opacity .8s var(--ease) .68s, transform .8s var(--ease) .68s;}
  .hero.loaded .hero-actions{opacity:1; transform:none;}
  .hero-stats{display:flex; gap:36px; flex-wrap:wrap; opacity:0; transform:translateY(16px); transition:opacity .8s var(--ease) .8s, transform .8s var(--ease) .8s;}
  .hero.loaded .hero-stats{opacity:1; transform:none;}
  .hero-stats .stat b{display:block; font-family:var(--display); font-size:1.6rem; color:#F7F9F4;}
  .hero-stats .stat span{font-size:0.82rem; color:rgba(244,247,242,0.55);}
  .doctor-badge{
    display:inline-flex; align-items:center; gap:12px; margin-top:36px; padding:10px 18px 10px 10px;
    background:rgba(244,247,242,0.08); border:1px solid rgba(244,247,242,0.14); backdrop-filter:blur(10px);
    border-radius:999px; box-shadow:0 10px 30px rgba(0,0,0,0.25);
    opacity:0; transform:translateY(16px); transition:opacity .8s var(--ease) .92s, transform .8s var(--ease) .92s;
  }
  .hero.loaded .doctor-badge{opacity:1; transform:none;}
  .doctor-badge img{width:44px; height:44px; border-radius:50%; object-fit:cover;}
  .doctor-badge b{display:block; font-family:var(--display); font-size:0.92rem; color:#F7F9F4;}
  .doctor-badge span{font-size:0.76rem; color:rgba(244,247,242,0.55);}

  .breath-panel{
    position:relative; z-index:2; background:rgba(20,38,30,0.45); border:1px solid rgba(244,247,242,0.14);
    border-radius:24px; padding:34px 30px; backdrop-filter:blur(18px) saturate(160%); box-shadow:var(--shadow-lg);
    opacity:0; transform:perspective(1200px) rotateY(-10deg) translateX(30px); transition:opacity 1s var(--ease) .35s, transform 1s var(--ease-spring) .35s;
  }
  .hero.loaded .breath-panel{opacity:1; transform:none;}
  .breath-head{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px;}
  .breath-head span.tag{font-family:var(--mono); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(244,247,242,0.55);}
  .breath-head span.live{font-family:var(--mono); font-size:0.7rem; color:#fff; display:flex; align-items:center; gap:6px;}
  .breath-head span.live::before{content:''; width:6px; height:6px; border-radius:50%; background:var(--sage); animation:breatheDot 4s var(--ease) infinite;}
  .breath-stage{position:relative; height:150px; display:flex; align-items:center; justify-content:center;}
  .breath-word{font-family:var(--display); font-size:1.5rem; color:#F7F9F4; letter-spacing:0.02em; transition:opacity .5s var(--ease);}
  .breath-caption{text-align:center; font-family:var(--mono); font-size:0.78rem; color:rgba(244,247,242,0.55); margin-top:2px;}
  .breath-caption span{color:var(--amber); font-weight:500;}
  .breath-readouts{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:22px; border-top:1px solid rgba(244,247,242,0.14); padding-top:18px;}
  .readout .label{font-family:var(--mono); font-size:0.64rem; letter-spacing:0.08em; text-transform:uppercase; color:rgba(244,247,242,0.5); margin-bottom:4px;}
  .readout .value{font-family:var(--display); font-size:1.2rem; color:#F7F9F4;}

  .hero-wave{position:relative; z-index:2; display:block; width:100%; height:auto; margin-top:-2px;}

  /* ---------- About ---------- */
  .about-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center; perspective:1400px;}
  .about-img{position:relative;}
  .about-img .frame{position:absolute; inset:18px -18px -18px 18px; border:2px solid var(--sage); border-radius:22px; z-index:0; transition:inset .4s var(--ease), transform .4s var(--ease); transform:translateZ(-40px);}
  .about-img:hover .frame{inset:12px -12px -12px 12px;}
  .about-img img{position:relative; z-index:1; border-radius:22px; box-shadow:var(--shadow); width:100%; height:460px;}
  .quali{display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 22px;}
  .quali span{background:var(--sage-pale); color:var(--sage-deep); font-size:0.82rem; font-weight:600; padding:8px 15px; border-radius:999px; transition:transform .25s var(--ease-spring), background .25s, color .25s;}
  .quali span:hover{transform:translateY(-3px) scale(1.05); background:var(--sage-deep); color:#fff;}
  .about-text p{margin-bottom:16px;}
  .philosophy{
    border-left:3px solid var(--amber); padding:16px 22px; margin:24px 0; background:var(--surface);
    border-radius:0 14px 14px 0; font-family:var(--display); font-size:1.08rem; color:var(--ink); font-style:italic;
    box-shadow:var(--shadow);
  }
  .stat-row{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:32px; perspective:1000px;}
  .stat-box{background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px 14px; text-align:center; transition:transform .35s var(--ease-spring), box-shadow .35s var(--ease);}
  .stat-box:hover{transform:translateY(-6px) rotateX(8deg); box-shadow:var(--shadow);}
  .stat-box b{display:block; font-family:var(--display); font-size:1.9rem; color:var(--sage-deep);}
  .stat-box span{font-size:0.78rem; color:var(--muted);}

  /* ---------- Services ---------- */
  .services-bg{background:var(--surface);}
  .services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; perspective:1400px;}
  .service-card{
    background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:32px 26px;
    transition:box-shadow .35s var(--ease), border-color .35s; position:relative;
  }
  .service-card:hover{box-shadow:var(--shadow-lg); border-color:var(--sage);}
  .service-icon{
    width:54px; height:54px; border-radius:16px; background:var(--sage-pale); color:var(--sage-deep);
    display:flex; align-items:center; justify-content:center; font-size:1.5rem; margin-bottom:22px;
    transition:transform .4s var(--ease-spring), background .4s; transform:translateZ(20px);
  }
  .service-card:hover .service-icon{transform:translateZ(40px) rotate(-8deg) scale(1.08); background:var(--amber); color:var(--ink);}
  .service-card h3{font-size:1.15rem; margin-bottom:10px; transform:translateZ(10px);}
  .service-card p{color:var(--muted); font-size:0.95rem; margin-bottom:16px;}
  .service-card .more{color:var(--sage-deep); font-weight:600; font-size:0.88rem; display:inline-flex; gap:6px; align-items:center; transition:gap .3s;}
  .service-card .more:hover{gap:11px;}

  /* ---------- Why choose us ---------- */
  .why-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:center; perspective:1400px;}
  .why-img{position:relative;}
  .why-img img{border-radius:22px; width:100%; height:440px; object-fit:cover; box-shadow:var(--shadow);}
  .why-badge{
    position:absolute; top:-22px; right:-22px; background:var(--amber); color:var(--ink);
    border-radius:16px; padding:18px 22px; text-align:center; box-shadow:var(--shadow-lg);
    animation:floatY 5s ease-in-out infinite; transform:translateZ(60px);
  }
  @keyframes floatY{0%,100%{transform:translateZ(60px) translateY(0);} 50%{transform:translateZ(60px) translateY(-8px);}}
  .why-badge b{display:block; font-family:var(--display); font-size:1.6rem;}
  .why-badge span{font-size:0.7rem; font-weight:600;}
  .why-list{display:grid; grid-template-columns:1fr 1fr; gap:24px; perspective:1000px;}
  .why-item{display:flex; gap:14px;}
  .why-item .ico{
    width:42px; height:42px; border-radius:12px; background:var(--sage-pale); color:var(--sage-deep);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700; transition:transform .35s var(--ease-spring), background .3s, color .3s;
  }
  .why-item:hover .ico{background:var(--sage-deep); color:#fff; transform:rotateY(360deg);}
  .why-item h4{font-size:1.02rem; margin-bottom:4px;}
  .why-item p{color:var(--muted); font-size:0.9rem;}

  /* ---------- Testimonials ---------- */
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; perspective:1400px;}
  .testi-card{
    background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:30px 26px; position:relative;
    transition:box-shadow .35s var(--ease);
  }
  .testi-card:hover{box-shadow:var(--shadow-lg);}
  .testi-card .quote-mark{position:absolute; top:18px; right:24px; font-family:var(--display); font-size:2.6rem; color:var(--sage-pale); line-height:1; transform:translateZ(6px);}
  .stars{color:var(--amber); font-size:0.95rem; margin-bottom:14px; letter-spacing:2px;}
  .testi-card p{color:var(--ink-soft); font-size:0.96rem; margin-bottom:22px; position:relative; z-index:1;}
  .testi-person{display:flex; align-items:center; gap:12px;}
  .testi-avatar{width:46px; height:46px; border-radius:50%; overflow:hidden; flex-shrink:0; border:2px solid #f17f3a;}
  .testi-avatar img{width:100%; height:100%; object-fit:cover;}
  .testi-person b{display:block; font-size:0.94rem; color:var(--ink);}
  .testi-person span{font-size:0.8rem; color:var(--muted);}

  #why{
      background: white;
  }

  /* ---------- Contact ---------- */
  .contact-bg{background:#fff;}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}
  .appt-form{background:var(--surface); border:1px solid var(--line); border-radius:22px; padding:36px; box-shadow:var(--shadow);}
  .appt-form h3{margin-bottom:24px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
  .field{display:flex; flex-direction:column; gap:6px; position:relative;}
  .field.full{grid-column:1/-1;}
  label{font-size:0.82rem; font-weight:600; color:var(--ink);}
  input, select, textarea{
    font-family:var(--body); font-size:0.95rem; padding:12px 15px; border:1.5px solid var(--line); border-radius:12px;
    background:var(--paper); color:var(--ink); transition:border-color .25s, box-shadow .25s;
  }
  input:focus, select:focus, textarea:focus{outline:none; border-color:var(--sage); box-shadow:0 0 0 4px var(--sage-pale);}
  textarea{resize:vertical; min-height:96px;}
  .submit-btn{width:100%; justify-content:center; position:relative; overflow:hidden;}
  .form-msg{
    margin-top:16px; font-size:0.9rem; color:var(--sage-deep); font-weight:600;
    max-height:0; opacity:0; overflow:hidden; transition:max-height .4s var(--ease), opacity .4s var(--ease);
  }
  .form-msg.show{max-height:60px; opacity:1;}
  .contact-info{display:flex; flex-direction:column; gap:16px; margin-bottom:28px;}
  .info-row{
    display:flex; gap:14px; align-items:flex-start; background:var(--surface); border:1px solid var(--line);
    border-radius:16px; padding:18px 20px; transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .info-row:hover{transform:translateX(4px); box-shadow:var(--shadow);}
  .info-row .ico{width:40px; height:40px; border-radius:12px; background:var(--sage-pale); color:var(--sage-deep); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700;}
  .info-row .lbl{font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--muted); font-weight:600;}
  .info-row .val{font-size:0.97rem; color:var(--ink);}
  .map-frame{border-radius:18px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); filter:grayscale(0.15);}
  .map-frame iframe{width:100%; height:260px; border:0; display:block;}

  /* ---------- Footer ---------- */
  footer{background:var(--void); color:rgba(255,255,255,0.82); padding:68px 0 26px;}
  .footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1.2fr; gap:36px; margin-bottom:46px;}
  .footer-brand .logo{color:var(--ink-soft); margin-bottom:16px;}
  .footer-brand .logo .mark{border-color:var(--amber);}
  .footer-brand .logo .mark::before{background:var(--amber);}
  .footer-brand p{color:var(--ink-soft); font-size:0.92rem; margin-bottom:20px; max-width:280px;}
  .socials{display:flex; gap:12px;}
  .socials a{width:38px; height:38px; border-radius:50%; border:1px solid var(--ink-soft);color:var(--ink-soft); display:flex; align-items:center; justify-content:center; font-size:0.85rem; transition:background .3s, border-color .3s, transform .3s;}
  .socials a:hover{background:var(--amber); border-color:var(--amber); color:var(--ink); transform:translateY(-3px);}
  .footer-col h5{color:var(--ink-soft); font-family:var(--display); font-size:0.98rem; margin-bottom:20px; font-weight:600;}
  .footer-col a, .footer-col span{display:block; color:var(--ink-soft); font-size:0.9rem; margin-bottom:12px; transition:color .25s;}
  .footer-col a:hover{color:var(--amber);}
  .footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; border-top:1px solid var(--ink-soft); padding-top:26px; font-size:0.84rem; color:var(--ink-soft);}
  .footer-bottom .legal{display:flex; gap:22px;}
  .footer-bottom .legal a:hover{color:var(--amber);}

  /* ---------- Floating Action Buttons ---------- */
.floating-buttons {
  position: fixed;
  bottom: 26px;
  right: 26px;
  z-index: 200;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.float-btn {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
  transition: transform .3s var(--ease-spring), box-shadow .3s;
  cursor: pointer;
  border: none;
  text-decoration: none;
  animation: floatY2 4s ease-in-out infinite;
}

.float-wa {
  background: #25D366;
  box-shadow: 0 10px 25px rgba(37,211,102,0.4);
  animation-delay: 0s;
}

.float-yt {
  background: #FF0000;
  box-shadow: 0 10px 25px rgba(255,0,0,0.4);
  animation-delay: 0.3s;
}

.float-top {
  background: var(--sage-deep);
  box-shadow: 0 10px 25px rgba(31,58,46,0.3);
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  animation: none; /* Controlled via show class */
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease, background 0.3s;
}

.float-top.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.float-btn:hover {
  transform: scale(1.12) translateY(-2px);
}

@keyframes floatY2 {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
  @keyframes floatY2{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
  .float-wa:hover{transform:scale(1.12);}

  /* ---------- Responsive ---------- */
  @media (max-width:960px){
    .navlinks{display:none;}
    .menu-toggle{display:block;}
    .hero .wrap, .about-grid, .why-grid, .contact-grid{grid-template-columns:1fr;}
    .services-grid, .testi-grid{grid-template-columns:1fr 1fr;}
    .stat-row{grid-template-columns:1fr 1fr;}
    .why-list{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .cursor-dot, .cursor-ring{display:none;}
    body.cursor-ready, body.cursor-ready a, body.cursor-ready button{cursor:auto;}
  }
  @media (max-width:600px){
    .wrap{padding:0 20px;}
    section{padding:80px 0;}
    .services-grid, .testi-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr;}
  }
  
  @keyframes modalPop {
  0% { opacity: 0; transform: scale(0.9) translateY(20px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

/* ---------- Custom Modal Styling ---------- */
.doctor-badge {
  cursor: pointer;
}

.custom-modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(11, 19, 26, 0.6);
  backdrop-filter: blur(6px);
  z-index: 1000;
  align-items: center;
  justify-content: center;
  padding: 20px;
}

.custom-modal-content {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-lg);
  width: 100%;
  max-width: 700px;
  overflow: hidden;
  animation: modalPop 0.3s var(--ease-spring);
}

.custom-modal-header {
  border-bottom: 1px solid var(--line);
  padding: 24px 32px;
  background: var(--surface);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.custom-modal-title {
  font-family: var(--display);
  color: var(--ink);
  font-weight: 600;
  margin: 0;
  font-size: 1.25rem;
}

.custom-modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: var(--ink);
  cursor: pointer;
  line-height: 1;
}

.custom-modal-body {
  padding: 32px;
  color: var(--ink-soft);
}

.custom-modal-profile {
  display: flex;
  gap: 28px;
  align-items: center;
  flex-wrap: wrap;
}

.custom-modal-avatar {
  flex-shrink: 0;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--sage);
}

.custom-modal-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-modal-info {
  flex: 1;
  min-width: 240px;
}

.custom-modal-info h3 {
  font-family: var(--display);
  color: var(--ink);
  margin-bottom: 6px;
  font-size: 1.4rem;
}

.custom-modal-subtitle {
  color: var(--sage);
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 14px;
}

.custom-modal-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--muted);
  margin-bottom: 16px;
}

.custom-modal-video-link {
  margin-top: 10px;
}

.custom-modal-stats {
  margin-top: 28px;
  border-top: 1px solid var(--line);
  padding-top: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

.custom-stat-card {
  background: var(--surface);
  padding: 16px;
  border-radius: 14px;
  border: 1px solid var(--line);
}

.custom-stat-label {
  font-family: var(--mono);
  font-size: 0.72rem;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 4px;
}

.custom-stat-value {
  font-family: var(--display);
  font-size: 1.1rem;
  color: var(--ink);
  font-weight: 600;
}

.custom-modal-footer {
  border-top: 1px solid var(--line);
  padding: 18px 32px;
  background: var(--surface);
  display: flex;
  justify-content: flex-end;
}

@keyframes modalPop {
  0% { opacity: 0; transform: scale(0.9) translateY(20px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}
 
@media (max-width: 960px) {
  @keyframes mobileFadeIn {
    0% {
      opacity: 0;
      transform: translateY(20px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .services-grid.stagger > * {
    opacity: 1 !important;
    transform: none !important;
    animation: mobileFadeIn 0.6s var(--ease) forwards;
  }

  .services-grid.stagger > *:nth-child(1) { animation-delay: 0.05s; }
  .services-grid.stagger > *:nth-child(2) { animation-delay: 0.1s; }
  .services-grid.stagger > *:nth-child(3) { animation-delay: 0.15s; }
  .services-grid.stagger > *:nth-child(4) { animation-delay: 0.2s; }
  .services-grid.stagger > *:nth-child(n+5) { animation-delay: 0.25s; }
}


/* ---------- Blog Section Styling ---------- */
#blog {
  background: var(--surface);
}
.ps-0{
    padding:0px;
}
#blog .service-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

#blog .service-card img {
  transition: transform 0.4s var(--ease);
}

#blog .service-card:hover img {
  transform: scale(1.05);
}

@media (max-width: 960px) {
  #blog .services-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  #blog .services-grid {
    grid-template-columns: 1fr;
  }
}






.blog-detail-wrap {
    max-width: 860px;
    margin: 60px auto;
    padding: 0 20px;
  }

  .blog-detail-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 48px;
    box-shadow: var(--shadow);
  }

  .blog-detail-thumb {
    width: 100%;
    height: 420px;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 32px;
  }

  .blog-detail-thumb img {
    width: 100%;
    height: 100%;
  }

  .blog-detail-card h1 {
    font-family: var(--display);
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    color: var(--ink);
    margin-bottom: 20px;
    line-height: 1.25;
  }

  .blog-meta-list {
    display: flex;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin-bottom: 28px;
    font-family: var(--mono);
    font-size: 0.82rem;
    color: var(--muted);
    border-bottom: 1px solid var(--line);
    padding-bottom: 16px;
  }

  .blog-meta-list li i {
    color: var(--amber);
    margin-right: 6px;
  }

  .blog-content {
    font-size: 1.05rem;
    color: var(--ink-soft);
  }

  .blog-content p {
    margin-bottom: 20px;
    line-height: 1.8;
  }

  .blog-content h2, .blog-content h3 {
    font-family: var(--display);
    color: var(--ink);
    margin: 30px 0 15px 0;
  }

  .blog-share-area {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid var(--line);
    display: flex;
    align-items: center;
    gap: 16px;
  }

  .blog-share-area h3 {
    font-family: var(--display);
    font-size: 1.1rem;
    color: var(--ink);
    margin: 0;
  }

  .socials {
    display: flex;
    gap: 10px;
  }

  .socials a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    border: 1px solid var(--line);
    color: var(--ink-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    transition: all 0.3s ease;
  }

  .socials a:hover {
    background: var(--amber);
    border-color: var(--amber);
    color: #fff;
  }

  @media(max-width: 768px) {
    .blog-detail-card {
      padding: 24px;
    }
    .blog-detail-thumb {
      height: 260px;
    }
  }
  