/* ===========================================================================
   Breakpoints. Mobile is the majority of a clinic's traffic, so these are not
   an afterthought -- the nav collapses to a drawer and every multi-column grid
   has an explicit single-column state.
   ========================================================================= */

@media (max-width:1100px){
  .foot__grid{grid-template-columns:1fr 1fr;}
  .grid--4{grid-template-columns:repeat(2,1fr);}
  .iv{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:980px){
  .nav__burger{display:flex;}
  .nav__links{
    position:fixed;inset:0 0 0 auto;width:min(340px,86vw);
    background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:calc(var(--nav-h) + 1.5rem) 1.3rem 2rem;gap:.2rem;
    transform:translateX(100%);transition:transform .35s var(--ease);
    box-shadow:-20px 0 60px rgba(6,0,151,.16);overflow-y:auto;z-index:1200;
  }
  .nav__links.is-open{transform:translateX(0);}
  .nav__link{color:var(--ink)!important;width:100%;justify-content:space-between;padding:.85rem .6rem;border-bottom:1px solid var(--line);border-radius:0;}
  .nav__menu{
    position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    border:0;border-radius:0;padding:0 0 .5rem .6rem;display:none;min-width:0;
  }
  .nav__menu.is-open{display:block;}
  .nav__item--has-menu:hover .nav__menu{display:none;}
  .nav__item--has-menu .nav__menu.is-open{display:block;}
  .nav__cta{margin:1rem 0 0;}
  .nav[data-transparent="true"]:not(.is-stuck) .nav__links .nav__link{color:var(--ink)!important;}

  .split,.grid--2,.grid--3{grid-template-columns:1fr;}
  .split--rev .split__media{order:0;}
  .hero__stats{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:760px){
  .topbar__contacts{gap:.9rem;font-size:.76rem;}
  .topbar__email,.topbar__label{display:none;}
  .grid--4{grid-template-columns:1fr;}
  .iv{grid-template-columns:1fr;}
  .foot__grid{grid-template-columns:1fr;gap:2rem;}
  .foot__bar{flex-direction:column;gap:.4rem;}
  .form__row{grid-template-columns:1fr;}
  .split__badge{position:static;margin-top:1rem;display:inline-flex;}
  .map-frame iframe{height:300px;}
  .hero{min-height:82vh;}
}

@media (max-width:460px){
  .container{width:min(1200px,100% - 2rem);}
  .nav__brandtext{display:none;}
  .hero__stats{grid-template-columns:1fr 1fr;padding:1rem .6rem;gap:.7rem;}
  .hero__ctas .btn{width:100%;}
  .btn--lg{padding:.9rem 1.4rem;font-size:.95rem;}
}
