/* Namdo Goeul horizontal stability hardening — 2026-09-15 */
html{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  overscroll-behavior-x:none;
  scrollbar-gutter:stable;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
  overscroll-behavior-x:none;
  touch-action:pan-y pinch-zoom;
}
@supports not (overflow:clip){
  html,body{overflow-x:hidden;}
}

/* Never let responsive grid/flex children force the root viewport wider. */
.container,
main,section,header,footer,nav,
.hero,.hero-inner,.hero-media,
.article-hero,.article-hero-grid,.article-hero-copy,.article-hero-media,
.section-head,.group-grid,.group-note,
.planner-shell,.planner-controls,.planner-result,
.menu-layout,.menu-side,.menu-showcase,.menu-wide-card,
.story-grid,.location-grid,.gallery,
.quick-action-grid,.content-card-grid,.map-action-grid,.related-grid,.intent-grid,
.seo-footer-grid,.seo-footer-links,.form-launch-card,
.signature-menu,.signature-grid,.signature-card{
  min-width:0;
  max-width:100%;
}

.hero-inner>*,.article-hero-grid>*,.section-head>*,.group-grid>*,
.planner-shell>*,.menu-layout>*,.menu-side>*,.story-grid>*,.location-grid>*,
.quick-action-grid>*,.content-card-grid>*,.map-action-grid>*,.related-grid>*,
.intent-grid>*,.seo-footer-grid>*,.form-launch-card>*,.signature-grid>*{
  min-width:0;
}

img,video,canvas,svg,iframe{
  max-width:100%;
}

/* Decorative elements may sit outside their cards visually, but must never widen the page. */
.hero,.planner-section,.article-hero,.conversion-band,.signature-menu{
  overflow-x:clip;
}
@supports not (overflow:clip){
  .hero,.planner-section,.article-hero,.conversion-band,.signature-menu{overflow-x:hidden;}
}

/* Long labels/translated copy must wrap instead of pushing layout sideways. */
.announcement-inner>div,.header-inner>*,.mobile-menu>*,
.breadcrumb,.article-hero-copy,.section-intro,.menu-desc,
.intent-card,.seo-footer-links a,.footer-bottom>*{
  min-width:0;
  overflow-wrap:anywhere;
}

/* The menu board previously retained an old horizontal-scroll rule on mobile. */
.menu-wide-card{
  overflow-x:hidden!important;
}
.menu-wide-card img{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto;
}

.mobile-menu{
  max-width:100%;
  overflow-x:hidden;
}
.mobile-action-bar{
  max-width:calc(100% - 20px);
  box-sizing:border-box;
}

@media(max-width:760px){
  .container{
    max-width:calc(100% - 28px);
  }
  .hero-media,.article-hero-media,.menu-layout,.menu-side,.menu-showcase,
  .planner-shell,.gallery,.location-grid,.seo-gallery{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  .hero-mini{
    right:0;
  }
  .hero-stamp{
    max-width:calc(100% - 24px);
  }
}

@media(max-width:460px){
  .announcement-inner,.header-inner,.langbar-inner{
    max-width:100%;
  }
}
