/* hanamaru mobile â€” drawer, safe-area, responsive grids */

@media (max-width:1024px){
  .hm-areas__grid{grid-template-columns:repeat(2,1fr)}
  .hm-menu__grid{grid-template-columns:repeat(2,1fr)}
  .hm-promise__grid{grid-template-columns:repeat(2,1fr)}
  .hm-foot__grid{grid-template-columns:1fr 1fr;gap:1.75rem}
  .hm-time__track{grid-template-columns:repeat(2,1fr)}
  .hm-team__grid,.hm-arrivals__grid,.hm-social__grid,.hm-season__grid{grid-template-columns:repeat(2,1fr)}
  .hm-access{grid-template-columns:repeat(2,1fr)}
  .hm-notes__grid--full{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:768px){
  :root{--hm-nav-h:64px}

  .hm-nav__links,.hm-nav__cta{display:none}
  .hm-burger{display:block;color:inherit}

  .hm-hero{
    align-items:center;min-height:100svh;min-height:100dvh;
    padding:calc(var(--hm-nav-h) + env(safe-area-inset-top) + 1.5rem) 0 calc(3rem + env(safe-area-inset-bottom));
  }
  .hm-hero--page{
    min-height:min(62svh,520px);min-height:min(62dvh,520px);
    padding:calc(var(--hm-nav-h) + env(safe-area-inset-top) + 1.25rem) 0 2.5rem;
  }
  .hm-hero__in{max-width:100%;text-align:left}
  .hm-hero__brand{font-size:clamp(2.2rem,11vw,3.2rem)}
  .hm-hero--page .hm-hero__brand{font-size:clamp(1.85rem,9vw,2.6rem)}
  .hm-hero h1{font-size:clamp(1.45rem,6.5vw,1.9rem)}
  .hm-hero__lead{font-size:1rem}
  .hm-hero__actions{flex-direction:column;align-items:stretch}
  .hm-hero__actions .hm-btn{width:100%}
  .hm-hero__stamp{
    right:4%;bottom:auto;top:calc(var(--hm-nav-h) + env(safe-area-inset-top) + 1rem);
    width:4.5rem;height:4.5rem;font-size:.85rem;opacity:.92;
  }

  .hm-intro{padding:3.25rem 0}
  .hm-intro__grid{grid-template-columns:1fr;gap:1.5rem}
  .hm-intro__media{aspect-ratio:16/11}

  .hm-areas,.hm-menu,.hm-promise,.hm-flow,.hm-voices,.hm-notes,
  .hm-time,.hm-team,.hm-faq,.hm-price,.hm-arrivals,.hm-contact,.hm-map,.hm-social,.hm-feature,.hm-season{padding:3.25rem 0}
  .hm-areas__grid{grid-template-columns:1fr 1fr;gap:.75rem}
  .hm-areas__body{padding:.85rem .9rem 1rem}
  .hm-areas__body h3{font-size:.98rem}
  .hm-areas__body p{font-size:.82rem}

  .hm-menu__grid{grid-template-columns:1fr;gap:1rem}
  .hm-gallery__cell{flex-basis:min(78vw,280px)}

  .hm-promise__grid{grid-template-columns:1fr;gap:.85rem}

  .hm-flow__grid{grid-template-columns:1fr;gap:1.5rem}
  .hm-flow__media{aspect-ratio:16/11;order:-1}

  .hm-voices__list{grid-template-columns:1fr;gap:1rem}
  .hm-notes__grid,.hm-notes__grid--full{grid-template-columns:1fr;gap:1.25rem}

  .hm-time__track,.hm-team__grid,.hm-arrivals__grid,.hm-social__grid,.hm-season__grid,.hm-access{grid-template-columns:1fr;gap:1rem}

  .hm-faq__grid{grid-template-columns:1fr;gap:1.5rem}
  .hm-faq__media{position:static;aspect-ratio:16/11;max-height:none}

  .hm-price__row{grid-template-columns:1fr;gap:.35rem}
  .hm-price__num{text-align:left;grid-column:1;grid-row:auto}

  .hm-contact__grid,.hm-map__grid,.hm-feature__grid{grid-template-columns:1fr;gap:1.5rem}
  .hm-map__frame{aspect-ratio:16/12}
  .hm-form .hm-btn{width:100%;justify-self:stretch}

  .hm-studio,.hm-cta{min-height:48svh}
  .hm-studio__in,.hm-cta__in{padding:3rem 1.25rem}

  .hm-foot{padding:2.75rem 0 calc(1.25rem + env(safe-area-inset-bottom))}
  .hm-foot__grid{grid-template-columns:1fr;gap:1.5rem}

  .hm-drawer{
    width:min(92vw,340px);
    padding-left:max(1.25rem,env(safe-area-inset-left));
    padding-right:max(1.25rem,env(safe-area-inset-right));
  }
}

@media (max-width:480px){
  .hm-areas__grid{grid-template-columns:1fr}
  .hm-marquee{padding:.7rem 0}
  .hm-marquee__track{gap:1.75rem;font-size:.9rem}
  .hm-btn{min-height:2.85rem;padding:.75rem 1.25rem}
  .hm-topics__list{gap:.55rem}
  .hm-topics__list li{padding:.55rem .9rem;font-size:.9rem}
}

/* Touch: disable hover-lift that can feel sticky */
@media (hover:none){
  .hm-areas__card:hover,
  .hm-menu__item:hover,
  .hm-promise__grid article:hover,
  .hm-social__shot:hover img{transform:none}
}

/* Image visibility safety — local assets must always paint */
img[src*='assets/images/'] {
  opacity: 1 !important;
  visibility: visible !important;
}