:root{
    --cream:#FFFFFF;
    --paper:#F5F9FC;
    --ink:#23303D;
    --ink-soft:#5C6B78;
    --pink:#F05581;
    --pink-deep:#D63E6E;
    --blue:#00A3E6;
    --green:#28B04C;
    --line: rgba(35,48,61,0.14);
    --line-soft: rgba(35,48,61,0.07);
    --max: 1180px;
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; overflow-x:hidden; max-width:100%; }
  body{
    margin:0;
    overflow-x:hidden;
    max-width:100%;
    background:var(--cream);
    color:var(--ink);
    font-family:'Work Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{ max-width:100%; display:block; }
  a{ color:inherit; }
  h1,h2,h3{
    font-family:'Caveat','Work Sans',sans-serif;
    font-weight:700;
    margin:0;
    line-height:1.05;
  }
  .wrap{ max-width:var(--max); margin:0 auto; padding:0 28px; }
  section{ padding:96px 0; }
  p{ margin:0; }
  ul{ margin:0; padding:0; list-style:none; }
  button{ font-family:inherit; cursor:pointer; }

  a:focus-visible, button:focus-visible{
    outline:3px solid var(--pink);
    outline-offset:3px;
  }

  /* ---------- motion system ---------- */
  @keyframes word-in{
    from{ opacity:0; transform:translateY(0.4em); }
    to{ opacity:1; transform:translateY(0); }
  }
  @keyframes marquee-scroll{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  @keyframes count-pulse{
    0%{ opacity:0; transform:scale(0.9); }
    100%{ opacity:1; transform:scale(1); }
  }

  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);
  }
  .reveal.in-view{ opacity:1; transform:translateY(0); }
  .reveal-stagger > *{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .6s ease, transform .6s ease;
  }
  .reveal-stagger.in-view > *{ opacity:1; transform:translateY(0); }
  .reveal-stagger.in-view > *:nth-child(1){ transition-delay:.02s; }
  .reveal-stagger.in-view > *:nth-child(2){ transition-delay:.09s; }
  .reveal-stagger.in-view > *:nth-child(3){ transition-delay:.16s; }
  .reveal-stagger.in-view > *:nth-child(4){ transition-delay:.23s; }
  .reveal-stagger.in-view > *:nth-child(5){ transition-delay:.30s; }
  .reveal-stagger.in-view > *:nth-child(6){ transition-delay:.37s; }
  .reveal-stagger.in-view > *:nth-child(7){ transition-delay:.44s; }
  .reveal-stagger.in-view > *:nth-child(8){ transition-delay:.51s; }
  .reveal-stagger.in-view > *:nth-child(9){ transition-delay:.58s; }
  .reveal-stagger.in-view > *:nth-child(10){ transition-delay:.65s; }

  @media (prefers-reduced-motion: reduce){
    .reveal, .reveal-stagger > *{ opacity:1 !important; transform:none !important; transition:none !important; }
    .marquee-track{ animation:none !important; }
  }

  /* shared hover lift for interactive surfaces */
  .lift{ transition:transform .22s ease, box-shadow .22s ease, background-color .22s ease; }
  .lift:hover{ transform:translateY(-4px); }

  /* ---------- header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 28px;
    max-width:var(--max); margin:0 auto;
    position:relative;
  }
  .logo{
    display:flex;
    align-items:center;
    gap:10px;
    font-family:'Caveat',sans-serif;
    font-weight:700;
    font-size:1.9rem;
    letter-spacing:0.2px;
    text-decoration:none;
    color:var(--ink);
  }
  .logo-icon{ height:40px; width:auto; }
  .logo-text{ display:inline-flex; gap:0.28em; line-height:1; }
  .w-tender{ color:var(--blue); }
  .w-loving{ color:var(--pink); }
  .w-care{ color:var(--green); }
  nav ul{ display:flex; gap:32px; align-items:center; }
  nav a{
    text-decoration:none;
    font-size:0.95rem;
    font-weight:500;
    color:var(--ink-soft);
    transition:color .15s ease;
  }
  nav a:hover{ color:var(--ink); }
  .call-btn{
    background:var(--pink);
    color:#fff;
    padding:10px 20px;
    border-radius:4px;
    font-weight:600;
    font-size:0.92rem;
    text-decoration:none;
    white-space:nowrap;
    transition:background-color .2s ease, transform .2s ease;
  }
  .call-btn:hover{ background:var(--pink-deep); transform:translateY(-2px); }
  .menu-toggle{
    display:none;
    background:none; border:none;
    width:34px; height:26px;
    position:relative;
  }
  .menu-toggle span, .menu-toggle::before, .menu-toggle::after{
    content:''; position:absolute; left:0; right:0; height:2px; border-radius:2px;
    background:var(--ink); transition:transform .38s cubic-bezier(.5,-0.2,.2,1.3), opacity .22s ease;
  }
  .menu-toggle::before{ top:2px; }
  .menu-toggle span{ top:12px; }
  .menu-toggle::after{ top:22px; }
  .menu-toggle.open::before{ transform:translateY(10px) rotate(45deg); }
  .menu-toggle.open::after{ transform:translateY(-10px) rotate(-45deg); }
  .menu-toggle.open span{ opacity:0; transform:scaleX(0); }

  /* ---------- hero (video background) ---------- */
  .hero{
    position:relative;
    overflow:hidden;
    min-height:90vh;
    display:flex;
    align-items:center;
    padding:88px 0 110px;
  }
  .hero-video-stage{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
    background:#233d4b;
  }
  .hero-video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:0;
    z-index:0;
    transition:opacity 1.25s ease-in-out;
    will-change:opacity;
  }
  .hero-video.is-active{
    opacity:1;
    z-index:1;
  }
  .hero-video-overlay{
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(20,26,33,.5), rgba(20,26,33,.78));
    z-index:1;
  }
  .hero .wrap{
    position:relative;
    z-index:2;
    max-width:640px;
  }
  @media (prefers-reduced-motion: reduce){
    .hero-video{ display:none; }
    .hero{ background:linear-gradient(155deg, var(--ink), #384a5c); }
  }

  .eyebrow-pill{
    display:inline-block;
    font-size:0.85rem;
    font-weight:500;
    color:var(--ink-soft);
    background:var(--paper);
    border:1px solid var(--line);
    padding:6px 14px;
    border-radius:100px;
    margin-bottom:22px;
  }
  .hero h1{
    font-size:clamp(3rem, 6vw, 5rem);
    max-width:11ch;
  }
  .hero h1 .word{
    display:inline-block;
    opacity:0;
    animation:word-in .7s cubic-bezier(.2,.7,.2,1) forwards;
  }
  .hero h1 .underline-wrap{ position:relative; display:inline-block; }
  .hero h1 svg.squiggle{
    position:absolute; left:0; bottom:-6px; width:100%; height:14px;
    stroke-dasharray:220; stroke-dashoffset:220;
    animation:draw-squiggle .6s ease-out .9s forwards;
  }
  @keyframes draw-squiggle{ to{ stroke-dashoffset:0; } }
  .hero-sub{
    margin-top:26px;
    font-size:1.15rem;
    color:var(--ink-soft);
    max-width:42ch;
    line-height:1.65;
    opacity:0;
    animation:word-in .7s cubic-bezier(.2,.7,.2,1) 1.05s forwards;
  }
  .hero-ctas{
    display:flex; gap:16px; margin-top:34px; flex-wrap:wrap;
    opacity:0;
    animation:word-in .7s cubic-bezier(.2,.7,.2,1) 1.2s forwards;
  }
  .btn-primary{
    background:var(--pink); color:#fff;
    padding:15px 28px; border-radius:4px;
    text-decoration:none; font-weight:600; font-size:1rem;
    display:inline-block;
    transition:transform .2s ease, box-shadow .2s ease, background-color .2s ease;
  }
  .btn-primary:hover{
    background:var(--pink-deep);
    transform:translateY(-3px);
    box-shadow:0 14px 24px -10px rgba(240,85,129,0.45);
  }
  .btn-ghost{
    background:transparent; color:var(--blue);
    border:1.5px solid var(--blue);
    padding:14px 26px; border-radius:4px;
    text-decoration:none; font-weight:600; font-size:1rem;
    display:inline-block;
    transition:transform .2s ease, background-color .2s ease, color .2s ease;
  }
  .btn-ghost:hover{
    background:var(--blue); color:#fff;
    transform:translateY(-3px);
  }
  @media (prefers-reduced-motion: reduce){
    .hero h1 .word, .hero-sub, .hero-ctas{ animation:none !important; opacity:1 !important; }
    .hero h1 svg.squiggle{ animation:none !important; stroke-dashoffset:0 !important; }
  }
  .hero-note{
    margin-top:22px;
    font-size:0.9rem;
    color:var(--ink-soft);
  }
  .hero .eyebrow-pill{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.35); color:#fff; }
  .hero h1{ color:#fff; }
  .hero-sub{ color:rgba(255,255,255,.85); }
  .hero-note{ color:rgba(255,255,255,.75); }

  /* fanned photo stage */
  /* ---------- promise section ---------- */
  .promise{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .promise .wrap{
    display:grid;
    grid-template-columns:0.8fr 1.2fr;
    gap:56px;
  }
  .promise h2{ font-size:clamp(2.2rem,4vw,3.1rem); max-width:9ch; }
  .promise-list{ display:flex; flex-direction:column; gap:22px; }
  .promise-item{
    display:flex; gap:16px; align-items:flex-start;
    padding-bottom:22px;
    border-bottom:1px solid var(--line-soft);
  }
  .promise-item:last-child{ border-bottom:none; padding-bottom:0; }
  .promise-mark{
    width:8px; height:8px; border-radius:50%;
    background:var(--pink);
    margin-top:9px; flex-shrink:0;
  }
  .promise-item:nth-child(3n+1) .promise-mark{ background:var(--pink); }
  .promise-item:nth-child(3n+2) .promise-mark{ background:var(--blue); }
  .promise-item:nth-child(3n+3) .promise-mark{ background:var(--green); }
  .promise-item p{ font-size:1.02rem; color:var(--ink); }

  /* ---------- stats strip ---------- */
  .stats{ padding:72px 0; }
  .stats .wrap{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:32px;
  }
  .stat-item{ text-align:left; border-left:2px solid var(--pink); padding-left:20px; }
  .stat-item:nth-child(1){ border-left-color:var(--blue); }
  .stat-item:nth-child(2){ border-left-color:var(--pink); }
  .stat-item:nth-child(3){ border-left-color:var(--green); }
  .stat-num{
    font-family:'Caveat',sans-serif;
    font-weight:700;
    font-size:clamp(3rem,6vw,4.6rem);
    color:var(--ink);
    line-height:1;
    display:block;
  }
  .stat-label{ margin-top:8px; font-size:0.98rem; color:var(--ink-soft); max-width:22ch; }

  /* ---------- what we treat ---------- */
  .treat-head{ max-width:52ch; margin-bottom:44px; }
  .treat-head h2{ font-size:clamp(2.2rem,4vw,3.1rem); }
  .treat-head p{ margin-top:14px; color:var(--ink-soft); font-size:1.05rem; }
  .treat-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:1px;
    background:var(--line);
    border:1px solid var(--line);
  }
  .treat-cell{
    background:var(--cream);
    padding:26px 22px;
    font-weight:500;
    font-size:1.02rem;
    transition:opacity .5s ease, transform .5s ease, background-color .2s ease, padding-left .2s ease, color .2s ease;
  }
  .treat-cell:hover{
    background:var(--paper);
    padding-left:30px;
    color:var(--pink);
  }

  /* ---------- how we treat ---------- */
  .how{ background:var(--ink); color:var(--cream); }
  .how .treat-head p{ color:rgba(255,255,255,0.72); }
  .how .treat-head h2{ color:var(--cream); }
  .how-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    background:rgba(255,255,255,0.18);
  }
  .how-cell{
    background:var(--ink);
    padding:32px 30px;
    transition:opacity .5s ease, transform .5s ease, background-color .2s ease;
  }
  .how-cell:hover{ background:#1a2530; }
  .how-cell h3{
    font-family:'Work Sans',sans-serif;
    font-weight:600;
    font-size:1.15rem;
    margin-bottom:10px;
  }
  .how-cell p{ color:rgba(255,255,255,0.75); font-size:0.98rem; }

  /* ---------- about ---------- */
  .about .wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:56px;
    align-items:start;
  }
  .about h2{ font-size:clamp(2.2rem,4vw,3.1rem); max-width:10ch; margin-bottom:20px; }
  .about-copy p{ color:var(--ink-soft); font-size:1.02rem; margin-bottom:16px; }
  .staff-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:6px;
    padding:30px;
    transition:opacity .5s ease, transform .4s ease, box-shadow .25s ease;
  }
  .staff-card:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 34px -18px rgba(35,48,61,0.35);
  }
  .staff-card .name{
    font-family:'Caveat',sans-serif;
    font-weight:700;
    font-size:1.7rem;
    margin-bottom:4px;
  }
  .staff-card .title{
    font-size:0.85rem;
    color:var(--pink);
    font-weight:600;
    margin-bottom:16px;
  }
  .staff-card p.bio{ color:var(--ink-soft); font-size:0.98rem; margin-bottom:14px; }
  .staff-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
  .staff-tags span{
    font-size:0.78rem;
    border:1px solid var(--line);
    padding:5px 11px;
    border-radius:100px;
    color:var(--ink-soft);
  }

  .staff-photo{
    width:92px; height:92px; border-radius:50%;
    background-image:url('../images/dr-shenoy.jpg'), linear-gradient(155deg, #F05581, #00A3E6);
    background-size:cover; background-position:center;
    margin-bottom:18px;
    border:3px solid var(--cream);
    box-shadow:0 8px 18px -8px rgba(35,48,61,0.35);
  }
  .bio-trigger{
    display:inline-block;
    margin-top:20px;
    background:none;
    border:1.5px solid var(--ink);
    color:var(--ink);
    padding:11px 22px;
    border-radius:4px;
    font-weight:600;
    font-size:0.92rem;
    font-family:inherit;
    transition:background-color .2s ease, color .2s ease, transform .2s ease;
  }
  .bio-trigger:hover{
    background:var(--ink);
    color:var(--cream);
    transform:translateY(-2px);
  }

  /* ---------- bio modal ---------- */
  .bio-modal{
    position:fixed; inset:0; z-index:200;
    display:flex; align-items:center; justify-content:center;
    padding:24px;
    visibility:hidden;
    opacity:0;
    transition:opacity .35s ease, visibility 0s linear .35s;
  }
  .bio-modal.open{
    visibility:visible;
    opacity:1;
    transition:opacity .35s ease, visibility 0s linear 0s;
  }
  .bio-modal-backdrop{
    position:absolute; inset:0;
    background:rgba(35,48,61,0.55);
    backdrop-filter:blur(3px);
  }
  .bio-modal-card{
    position:relative;
    background:var(--paper);
    width:100%; max-width:620px; max-height:85vh;
    overflow-y:auto;
    border-radius:10px;
    padding:44px 40px;
    transform:scale(.94) translateY(18px);
    opacity:0;
    transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .4s ease;
    box-shadow:0 40px 70px -30px rgba(35,48,61,0.5);
  }
  .bio-modal.open .bio-modal-card{
    transform:scale(1) translateY(0);
    opacity:1;
  }
  .bio-close{
    position:absolute; top:18px; right:18px;
    width:34px; height:34px;
    border-radius:50%;
    border:1px solid var(--line);
    background:var(--cream);
    font-size:1.3rem;
    line-height:1;
    color:var(--ink-soft);
    cursor:pointer;
    transition:background-color .2s ease, color .2s ease;
  }
  .bio-close:hover{ background:var(--ink); color:var(--cream); }
  .bio-modal-photo{
    width:76px; height:76px; border-radius:50%;
    background-image:url('../images/dr-shenoy.jpg'), linear-gradient(155deg, #F05581, #00A3E6);
    background-size:cover; background-position:center;
    margin-bottom:18px;
    border:3px solid var(--cream);
  }
  .bio-modal-card h3{ font-size:2rem; margin-bottom:4px; }
  .bio-modal-title{ font-size:0.85rem; color:var(--pink); font-weight:600; margin-bottom:22px; }
  .bio-modal-body p{ color:var(--ink-soft); font-size:0.98rem; line-height:1.7; margin-bottom:16px; }
  .bio-modal-body ul{ margin:0 0 16px; padding-left:20px; list-style:disc; }
  .bio-modal-body li{ color:var(--ink-soft); font-size:0.95rem; line-height:1.6; margin-bottom:8px; }
  @media (prefers-reduced-motion: reduce){
    .bio-modal, .bio-modal-card{ transition:none !important; }
  }
  @media (max-width:520px){
    .bio-modal-card{ padding:32px 22px; }
  }

  /* ---------- insurance ---------- */
  .insurance{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .insurance .wrap{ display:flex; gap:56px; align-items:center; flex-wrap:wrap; }
  .insurance h2{ font-size:clamp(2rem,3.4vw,2.6rem); max-width:8ch; }
  .insurance-marquee{
    flex:1;
    min-width:280px;
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .marquee-track{
    display:flex;
    gap:10px;
    width:max-content;
    animation:marquee-scroll 22s linear infinite;
  }
  .marquee-track span{
    font-size:0.88rem;
    padding:8px 14px;
    border:1px solid var(--line);
    border-radius:100px;
    color:var(--ink-soft);
    white-space:nowrap;
    background:var(--cream);
  }
  .insurance-note{ margin-top:16px; font-size:0.92rem; color:var(--ink-soft); }

  /* ---------- reviews ---------- */
  .reviews-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:44px; flex-wrap:wrap; }
  .reviews-head h2{ font-size:clamp(2.2rem,4vw,3.1rem); }
  .reviews-head a{ font-size:0.95rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
  .review-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
  .review-card{
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:6px;
    padding:28px;
    transition:opacity .5s ease, transform .4s ease, box-shadow .25s ease;
  }
  .review-card:hover{
    transform:translateY(-5px);
    box-shadow:0 20px 34px -18px rgba(35,48,61,0.3);
  }
  .review-card p.quote{ font-size:1.05rem; margin-bottom:18px; }
  .review-card p.author{ font-size:0.88rem; color:var(--ink-soft); font-weight:500; }

  /* ---------- location ---------- */
  .location{ background:var(--paper); border-top:1px solid var(--line); }
  .location .wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    border:1px solid var(--line);
    border-radius:6px;
    overflow:hidden;
  }
  .loc-info{ padding:48px; }
  .loc-info h2{ font-size:clamp(2rem,3.6vw,2.7rem); margin-bottom:22px; }
  .loc-row{ margin-bottom:18px; }
  .loc-row .label{ font-size:0.85rem; color:var(--pink); font-weight:600; margin-bottom:4px; }
  .loc-row .value{ font-size:1.02rem; }
  .loc-row a{ text-decoration:none; }
  .loc-map{ min-height:340px; }
  .loc-map iframe{ width:100%; height:100%; border:0; display:block; }

  /* ---------- footer ---------- */
  footer{ background:var(--ink); color:rgba(255,255,255,0.8); padding:56px 0 32px; }
  .foot-top{
    display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap;
    padding-bottom:36px; margin-bottom:28px;
    border-bottom:1px solid rgba(255,255,255,0.18);
  }
  .foot-logo{ font-family:'Caveat',sans-serif; font-weight:700; font-size:1.8rem; color:var(--cream); }
  .foot-cols{ display:flex; gap:64px; flex-wrap:wrap; }
  .foot-col .label{ font-size:0.82rem; color:var(--pink); font-weight:600; margin-bottom:10px; }
  .foot-col p, .foot-col a{ font-size:0.92rem; text-decoration:none; display:block; margin-bottom:6px; color:rgba(255,255,255,0.8); }
  .foot-bottom{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:0.82rem; color:rgba(255,255,255,0.55); }

  /* ---------- responsive ---------- */
  @media (max-width:900px){
    section{ padding:64px 0; }
    nav#siteNav{
      position:absolute;
      top:100%; left:0; right:0;
      background:var(--cream);
      border-bottom:1px solid var(--line);
      box-shadow:0 18px 30px -14px rgba(35,48,61,0.25);
      max-height:0;
      opacity:0;
      overflow:hidden;
      pointer-events:none;
      transition:max-height .4s cubic-bezier(.4,0,.2,1), opacity .3s ease;
    }
    nav#siteNav.nav-open{
      max-height:420px;
      opacity:1;
      pointer-events:auto;
    }
    nav#siteNav ul{
      display:flex;
      flex-direction:column;
      gap:0;
      align-items:stretch;
      padding:6px 28px 24px;
    }
    nav#siteNav ul li{
      border-bottom:1px solid var(--line-soft);
    }
    nav#siteNav ul li a{
      display:block;
      padding:14px 0;
    }
    nav#siteNav ul li:last-child{
      border-bottom:none;
      padding-top:14px;
    }
    nav#siteNav .call-btn{
      display:inline-block;
      text-align:center;
    }
    .menu-toggle{ display:block; }
    .treat-grid{ grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); }
    .promise .wrap, .about .wrap{ grid-template-columns:1fr; }
    .how-grid{ grid-template-columns:1fr; }
    .review-grid{ grid-template-columns:1fr; }
    .location .wrap{ grid-template-columns:1fr; }
    .loc-map{ min-height:280px; }
    .insurance .wrap{ flex-direction:column; align-items:flex-start; }
  }
  @media (max-width:520px){
    .wrap{ padding:0 20px; }
    .hero{ padding:56px 0 80px; }
    .hero-ctas{ flex-direction:column; align-items:stretch; }
    .foot-top{ flex-direction:column; gap:24px; }
  }

/* September owner revisions */
:root{--blue:#00a4e7;--pink:#f05582;--green:#25b34b}
html{scroll-padding-top:110px}
.skip-link{position:fixed;top:-80px;left:20px;z-index:200;background:white;padding:12px}.skip-link:focus{top:10px}
.brand-logo{width:315px;height:auto;max-height:86px;object-fit:contain}.nav-row{gap:24px;padding-top:13px;padding-bottom:13px}nav ul{gap:22px}nav a{font-size:.86rem}
.hero{background:#233d4b;min-height:760px}.hero .wrap{max-width:750px;width:100%}.hero h1{max-width:12ch;line-height:1.18}.hero h1 svg.squiggle{bottom:-4px;height:10px;overflow:visible;animation:none;stroke-dasharray:none;stroke-dashoffset:0}.hero h1 .underline-wrap{margin-bottom:.05em}.hero-sub{max-width:610px}.hero-ctas{flex-wrap:wrap;gap:16px}.booking-link{flex-basis:100%;color:white;text-underline-offset:5px;font-weight:500;font-size:.95rem;margin-top:6px}.hero-note{line-height:1.7}.btn-primary,.call-btn{background:#c63365}.btn-primary:hover,.call-btn:hover{background:#a92550}
.stats{padding:72px 0 92px;margin-bottom:36px}.stats .wrap{gap:48px}.stat-item{padding:12px 30px}.stat-label{max-width:270px;margin:12px auto 0}#what-we-treat{padding-top:96px}
.treat-cell{display:flex;align-items:center;justify-content:space-between;gap:14px;text-decoration:none}.treat-cell span{color:#2686a3;font-size:20px}.treat-cell:hover{background:#e6f6fb}.how-cell h3 a{text-decoration:none}.how-cell h3 a:hover{text-decoration:underline;text-underline-offset:5px}.how-cell h3 span{font-family:Arial,sans-serif;font-size:22px}
.overline{font-size:.71rem;letter-spacing:.15em;font-weight:600;margin-bottom:24px;color:#426977}
.movement-section{background:#edf6f8;padding:110px 0;overflow:hidden}.movement-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px;align-items:center}.movement-copy h2{font-size:clamp(2.8rem,4vw,4.2rem);line-height:1.08}.movement-copy h2 em{font-style:normal;color:#b82e5f}.movement-intro{font-size:1.3rem;font-weight:500;line-height:1.4;margin:30px 0 12px}.movement-copy>p:not(.overline):not(.movement-intro){color:#516878;max-width:360px;font-size:.94rem}.movement-tabs{display:flex;margin:28px 0 18px;gap:8px;flex-wrap:wrap}.movement-tab{border:1px solid #b7d0d9;border-radius:30px;padding:11px 13px;color:#395568;background:transparent;font-size:.8rem;display:flex;gap:8px;align-items:center}.movement-tab span{font-size:.61rem;opacity:.7}.movement-tab.active{color:white;background:#24495c;border-color:#24495c}.movement-tab b{font-size:1rem;font-weight:400}.movement-detail{min-height:78px}.movement-art{position:relative;perspective:1100px;min-width:0;border-radius:50% 50% 24px 24px;background:radial-gradient(ellipse at 50% 45%,#fff 0,#e3f1f5 52%,transparent 71%)}.therapy-scene{width:100%;height:auto;display:block;transform:rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transition:transform .35s ease}.scene-label{text-align:center;font-size:.61rem;letter-spacing:.15em;color:#517785;display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 -12px}.live-dot{width:6px;height:6px;display:inline-block;background:#25b34b;border-radius:50%}.scene-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #c3dce5;margin:0 30px;padding-top:18px;font-size:.75rem;color:#456475}.scene-caption button{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:#456475;font-size:.68rem;padding:8px;white-space:nowrap}.motion-person{transform-origin:355px 432px;animation:reach 7s ease-in-out infinite}.therapy-ball{animation:ball-float 6s ease-in-out infinite}.strength-object{animation:weight-float 7s ease-in-out infinite}.orbit-lines{transform-origin:347px 323px;animation:orbit 20s ease-in-out infinite}.mobility-object,.balance-object,.strength-object{transition:opacity .5s,filter .5s}.movement-art[data-mode="strength"] .strength-object{filter:drop-shadow(0 0 15px #ed91b5)}.movement-art[data-mode="balance"] .balance-object{filter:drop-shadow(0 0 12px #85c997)}.movement-art[data-mode="mobility"] .mobility-object{filter:drop-shadow(0 0 7px #ffadc7)}
@keyframes reach{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes ball-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes weight-float{0%,100%{translate:0 0}50%{translate:0 -15px}}@keyframes orbit{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.motion-paused *{animation-play-state:paused!important}.motion-paused .therapy-scene{transform:none!important}
.insurance .wrap{display:block}.insurance h2{margin-bottom:38px}.insurance-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-bottom:26px}.insurance-logo{background:white;min-height:110px;padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}.insurance-logo img{width:150px;height:60px;object-fit:contain}.insurance-note{max-width:800px}
.reviews-section{background:#fbf4f7}.reviews-head{align-items:end;margin-bottom:36px}.reviews-head h2{font-size:clamp(3rem,4vw,4.3rem)}.reviews-head .overline{margin-bottom:14px}.reviews-head a{color:#964464;text-underline-offset:5px;font-size:.85rem}.review-carousel{border:1px solid #e6d9df;background:#fff;border-radius:22px;overflow:hidden}.review-window{overflow:hidden;touch-action:pan-y}.review-track{display:flex;transition:transform .65s cubic-bezier(.22,.7,.2,1)}.google-review{min-width:100%;padding:40px 56px 38px;box-sizing:border-box}.review-source{display:flex;align-items:center;gap:10px;color:#596573;font-size:.8rem}.google-g{font-size:1.5rem;font-family:Arial,sans-serif;font-weight:bold;color:#4285f4}.quote-mark{margin-left:auto;font-family:Georgia,serif;font-size:5rem;line-height:.5;color:#f0d0dc}.google-review blockquote{font-size:clamp(1.6rem,3.1vw,2.7rem);line-height:1.35;letter-spacing:-.025em;margin:34px 0;max-width:850px;font-weight:500;min-height:118px}.review-person{display:flex;align-items:center;gap:14px}.review-avatar{border-radius:50%;background:#ecf4f5;color:#397084;width:45px;height:45px;display:grid;place-items:center;font-size:.75rem}.review-person p{font-size:.9rem;font-weight:600}.review-person small{color:#697783;font-size:.75rem}.review-controls{border-top:1px solid #f1e8ed;padding:14px 54px;display:flex;justify-content:space-between;align-items:center;color:#805263;font-size:.75rem}.review-controls button{border:1px solid #e8d6dd;background:transparent;border-radius:30px;min-height:38px;min-width:42px;color:#84435c;font-size:1.1rem}.review-controls #reviewPause{font-size:.73rem;padding:8px 18px}.review-footnote{font-size:.73rem;color:#775d6a;margin-top:16px}.review-footnote a{text-underline-offset:3px}
.access-notes{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 0}.access-notes span{border:1px solid #d6e2e4;border-radius:20px;padding:8px 12px;font-size:.8rem;color:#316152;background:#f2faf6}
.appointment-section{background:#eaf5f7}.appointment-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px}.appointment-layout h2{font-size:clamp(3rem,4.5vw,4.7rem);margin-bottom:26px}.appointment-layout>div>p:not(.overline){max-width:350px;color:#496570}.appointment-phone{display:inline-block;margin:25px 0;font-weight:600;font-size:1.3rem;text-decoration:none;color:#28586c}#appointmentForm{background:#fff;padding:30px;border:1px solid #d8e7ed;border-radius:16px}.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-fields label{display:block;font-size:.78rem;font-weight:600}.form-fields label span{font-weight:400;color:#61717a}.form-fields input,.form-fields select{display:block;width:100%;min-width:0;min-height:46px;margin-top:7px;background:#f9fcfd;border:1px solid #bccdd5;border-radius:5px;padding:10px;font:inherit;font-size:16px;color:#274553}.full-field{grid-column:1/-1}.form-trap{position:absolute;left:-10000px}.consent{display:flex;gap:9px;align-items:flex-start;font-size:.8rem;margin:22px 0 12px}.consent input{margin-top:4px}.form-note{font-size:.76rem;line-height:1.65;color:#5b707c}.form-note a{text-underline-offset:3px}#appointmentForm .btn-primary{border:0;width:100%;margin-top:20px;font:inherit;font-weight:600;padding:14px}#appointmentForm button:disabled{opacity:.6;cursor:wait}#formStatus{margin-top:15px;font-size:.85rem;color:#254f40}#formStatus.error{color:#a52c40}input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.footer-brand{width:300px;height:auto;object-fit:contain;align-self:flex-start}
.reveal,.reveal-stagger>*{opacity:1;transform:none}.hero h1 .word{opacity:1}
@media(max-width:1020px){.brand-logo{width:270px}nav ul{gap:14px}nav a{font-size:.77rem}.nav-row{gap:14px}.movement-layout{gap:5px}.movement-tabs{gap:5px}.movement-tab{padding:10px;font-size:.7rem}.appointment-layout{gap:35px}.scene-caption{margin:0 12px}.hero{min-height:720px}.stat-item{padding:12px}}
@media(max-width:800px){.nav-row{padding:12px 20px}.brand-logo{width:250px}.movement-layout{grid-template-columns:1fr;gap:30px}.movement-copy{max-width:570px}.movement-copy>p:not(.overline):not(.movement-intro){max-width:500px}.movement-art{max-width:630px;width:100%;margin:auto}.movement-section{padding:70px 0}.movement-copy h2 br{display:none}.movement-intro br{display:none}.movement-detail{min-height:50px}.movement-tab{padding:12px 14px;font-size:.85rem}.stats .wrap{gap:20px}.appointment-layout{grid-template-columns:1fr;gap:30px}.insurance-grid{grid-template-columns:repeat(3,1fr)}.reviews-head{align-items:flex-start;gap:20px}.google-review{padding:30px}.review-controls{padding:14px 28px}.google-review blockquote{min-height:135px}.hero-ctas .btn-ghost{font-size:.85rem}}
@media(max-width:540px){.brand-logo{width:225px}.hero{min-height:700px;padding:65px 0 70px}.hero .wrap{padding:0 24px}.hero h1{font-size:3.8rem;max-width:11ch}.hero-sub{font-size:1rem}.hero-ctas{align-items:flex-start;flex-direction:column}.booking-link{flex-basis:auto}.hero-note{font-size:.72rem}.wrap{padding:0 22px}.stats{padding:46px 0;margin-bottom:30px}.stats .wrap{gap:25px}.stat-item{padding:10px 0}.stat-label{max-width:280px}.movement-section{padding:60px 0}.movement-copy h2{font-size:3.1rem}.scene-label{font-size:.5rem}.scene-caption{font-size:.63rem;margin:0 5px;gap:5px}.scene-caption button{font-size:.6rem}.insurance-grid{grid-template-columns:repeat(2,1fr)}.insurance-logo{padding:20px;min-height:95px}.insurance-logo img{height:48px}.google-review{padding:28px 22px}.google-review blockquote{min-height:140px;font-size:1.65rem}.review-source{font-size:.67rem}.review-controls{padding:12px 20px}#appointmentForm{padding:22px}.form-fields{grid-template-columns:1fr}.full-field{grid-column:auto}.footer-brand{width:270px}.reviews-head{flex-direction:column;align-items:flex-start}.foot-top{gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero h1 .word{opacity:1;transform:none}.therapy-scene{transform:none!important}.hero{background:#233d4b}.review-track{transition:none}.hero-video{display:none}}

body{overflow-x:clip}.hero-sub,.hero-ctas{opacity:1;animation:none}.scene-outside *{animation-play-state:paused!important}
@media(max-width:900px){nav#siteNav{visibility:hidden}nav#siteNav.nav-open{visibility:visible}nav#siteNav a{font-size:.95rem}}

@media(max-width:540px){.movement-tabs{gap:6px}.movement-tab{font-size:.75rem;padding:11px 10px;gap:6px}}
.insurance h2{max-width:none}.stat-label{margin-left:0;margin-right:0}
@media(max-width:540px){.stats .wrap{grid-template-columns:1fr}.stat-item{padding:8px 0 8px 22px}.stat-label{max-width:280px}.promise h2{max-width:none}}
