/* v16: preserve the existing design while fixing wrapping and portrait framing. */
.hero-copy, .guide-hero-copy {
  min-width: 0;
  width: 100%;
}
.hero h1, .guide-hero h1 {
  overflow-wrap: anywhere;
}
.locale-page :is(h1,h2,h3,p,li,dd,a,summary) {
  overflow-wrap: anywhere;
}
.locale-page:is(.locale-ja,.locale-zh-cn,.locale-zh-tw) :is(h1,h2,h3,p,li,dd,a,summary) {
  word-break: normal;
  line-break: auto;
}
.locale-ja .locale-about-v4 h2 {
  font-size: clamp(30px,4vw,56px);
  line-height: 1.3;
}
.locale-ja .services-heading-v4 h2 {
  font-size: clamp(34px,4vw,56px);
  line-height: 1.2;
}
.locale-page :is(.locale-about-v4,.services-heading-v4,.locale-director-v4,.locale-faq-v4,.zh-location,.google-map-heading-v5,.footer-grid) > *,
.service-row > *, .keyword-grid > *, .faq-list, .faq-list summary > * {
  min-width: 0;
}
.locale-about-v4 {
  grid-template-columns: minmax(0,.4fr) minmax(0,1.1fr) minmax(0,1fr);
}
.locale-page .services-heading-v4 {
  grid-template-columns: minmax(0,.5fr) minmax(0,1.4fr) minmax(0,.9fr);
}
.locale-faq-v4 {
  grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
}
.locale-page .zh-location {
  grid-template-columns: repeat(2,minmax(0,1fr));
}
.locale-page .google-map-heading-v5 {
  grid-template-columns: minmax(0,.45fr) minmax(0,1.25fr) minmax(0,.8fr);
}
.locale-page .zh-location dl div {
  grid-template-columns: 90px minmax(0,1fr);
}
.faq-list summary {
  grid-template-columns: 34px minmax(0,1fr) 28px;
}
.service-detail h3, .keyword-card h3 {
  word-break: keep-all;
  overflow-wrap: anywhere;
  line-height: 1.25;
}
.service-title-line-v16 { display: block; }
.service-row--portrait-v16 .service-image {
  height: clamp(500px,47vw,700px);
  min-height: 0;
  background: var(--cream);
}
.keyword-grid {
  grid-template-columns: repeat(3,minmax(0,1fr));
}
.keyword-grid > div {
  grid-column: 1 / -1;
  padding: 0 0 26px;
}
.keyword-grid .keyword-card {
  min-height: 340px;
}
.keyword-card.checklist-v16 {
  background: #d6bba1;
  color: var(--ink);
}
.keyword-card:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 5px;
}
@media (max-width:900px) {
  .locale-about-v4,
  .locale-page .services-heading-v4,
  .locale-faq-v4,
  .locale-page .zh-location,
  .locale-page .google-map-heading-v5,
  .keyword-grid {
    grid-template-columns: minmax(0,1fr);
  }
  .service-row--portrait-v16 .service-image {
    height: auto;
    min-height: 0;
    aspect-ratio: 2 / 3;
    max-height: 700px;
  }
  .service-row--lash-v16 .service-image { aspect-ratio: 541 / 960; }
}
@media (max-width:540px) {
  .locale-page .zh-location dl div {
    grid-template-columns: 72px minmax(0,1fr);
  }
  .faq-list summary { gap: 12px; }
}
