
/* v1.62: global header/menu styles isolated for approach.html */
body.global-menu-open-v155{overflow:hidden}

.global-header-v155{
  position:fixed;
  top:0; left:0; right:0;
  z-index:99999;
  height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 22px;
  background:rgba(250,248,243,.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(70,60,50,.07);
  box-sizing:border-box;
}
.global-brand-v155{
  color:#4b4742;
  text-decoration:none;
  font-size:13px;
  letter-spacing:.08em;
}
.global-menu-toggle-v155{
  width:44px;height:44px;
  border:0;border-radius:50%;
  background:rgba(255,255,255,.72);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 11px;
  cursor:pointer;
}
.global-menu-toggle-v155 span{
  display:block;
  width:100%;
  height:1px;
  background:#4d4843;
  transition:.25s ease;
}
.global-menu-toggle-v155.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.global-menu-toggle-v155.is-open span:nth-child(2){opacity:0}
.global-menu-toggle-v155.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

.global-menu-v155{
  position:fixed;
  top:68px;
  right:0;
  z-index:99998;
  width:min(360px,88vw);
  height:calc(100dvh - 68px);
  box-sizing:border-box;
  background:#f8f5ee;
  padding:30px 28px 40px;
  display:flex;
  flex-direction:column;
  gap:0;
  transform:translateX(105%);
  transition:transform .28s ease;
  overflow-y:auto;
  box-shadow:-14px 18px 40px rgba(50,40,30,.08);
}
.global-menu-v155.is-open{transform:translateX(0)}
.global-menu-v155 a{
  padding:16px 2px;
  border-bottom:1px solid rgba(70,60,50,.09);
  color:#514c46;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.04em;
}
.global-menu-v155 .global-menu-phone-v155{
  margin-top:18px;
  border:0;
  color:#607057;
  font-size:16px;
}

@media(max-width:900px){
  .global-header-v155{height:62px;padding:0 16px}
  .global-menu-v155{top:62px;height:calc(100dvh - 62px)}
}


/* ===== v2.10 FIX: approach.html standard mobile header/menu =====
   approach.html uses .mobile-menu-toggle / .mobile-quick-nav / .site-header,
   so these rules intentionally target those actual classes only.
*/
.mobile-menu-toggle,
.mobile-quick-nav{
  display:none;
}

@media(max-width:900px){
  /* Hide desktop links completely on mobile */
  .approach-v128 .desktop-nav{
    display:none !important;
  }

  /* Keep the normal clinic header, with room for the hamburger */
  .approach-v128 .site-header{
    position:relative;
    inset:auto;
    z-index:1000;
    min-height:70px;
    box-sizing:border-box;
    padding:16px 76px 16px 20px;
    display:flex;
    align-items:center;
    background:rgba(250,248,243,.96);
    border-bottom:1px solid rgba(70,60,50,.07);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }
  .approach-v128 .brand{
    display:block;
    text-decoration:none;
  }
  .approach-v128 .brand strong{
    display:block;
    font-size:20px;
    line-height:1.35;
    letter-spacing:.06em;
    font-weight:400;
  }
  .approach-v128 .brand span{
    display:none;
  }

  /* Hamburger */
  .approach-v128 .mobile-menu-toggle{
    display:flex;
    position:fixed;
    z-index:1002;
    top:18px;
    right:18px;
    width:42px;
    height:42px;
    padding:11px 9px;
    border:0;
    border-radius:50%;
    background:rgba(250,248,243,.96);
    flex-direction:column;
    justify-content:center;
    gap:4px;
    box-shadow:0 4px 18px rgba(70,60,50,.08);
  }
  .approach-v128 .mobile-menu-toggle span{
    display:block;
    width:100%;
    height:1px;
    background:#4f4a45;
    transition:transform .25s ease,opacity .25s ease;
  }
  .approach-v128 .mobile-menu-toggle.is-open span:nth-child(1){
    transform:translateY(5px) rotate(45deg);
  }
  .approach-v128 .mobile-menu-toggle.is-open span:nth-child(2){
    opacity:0;
  }
  .approach-v128 .mobile-menu-toggle.is-open span:nth-child(3){
    transform:translateY(-5px) rotate(-45deg);
  }

  /* Slide-out menu: hidden until hamburger is pressed */
  .approach-v128 .mobile-quick-nav{
    display:flex;
    position:fixed;
    z-index:1001;
    top:0;
    right:0;
    width:min(82vw,330px);
    height:100dvh;
    box-sizing:border-box;
    padding:92px 30px 38px;
    background:rgba(246,242,234,.99);
    flex-direction:column;
    gap:0;
    transform:translateX(105%);
    transition:transform .32s ease;
    box-shadow:-12px 0 34px rgba(70,60,50,.08);
    overflow-y:auto;
  }
  .approach-v128 .mobile-quick-nav.is-open{
    transform:translateX(0);
  }
  .approach-v128 .mobile-quick-nav a{
    display:block;
    padding:17px 2px;
    border-bottom:1px solid rgba(80,70,60,.10);
    color:#45413d;
    text-decoration:none;
    font-family:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
    font-size:15px;
    line-height:1.5;
  }
  .approach-v128 .mobile-quick-nav .mobile-reserve{
    margin-top:24px;
    padding:14px 18px;
    text-align:center;
    border:0;
    border-radius:999px;
    background:#829674;
    color:#fff;
  }

  /* HOME link should begin below header, not collide with it */
  .approach-v128 .approach-home{
    margin-top:0;
  }
}

@media(max-width:560px){
  .approach-v128 .site-header{
    min-height:66px;
    padding:14px 72px 14px 18px;
  }
  .approach-v128 .brand strong{
    font-size:18px;
  }
  .approach-v128 .mobile-menu-toggle{
    top:15px;
    right:15px;
  }
}
