/* v0.2.212 — Brand Me Labo editorial information hierarchy.
   Content, prices, links and owner-managed media remain in their existing
   fields. This layer only establishes a clearer reading order and hierarchy. */

.labo-starting { background: #f6f1e9; }
.labo-starting .labo-intro { padding-bottom: clamp(56px, 7vw, 104px); }
.labo-starting .labo-promise { min-height: min(84svh, 920px); }
.labo-starting .labo-pain-list { margin-top: clamp(44px, 5.5vw, 72px); }
.labo-starting .labo-pain-list p:nth-child(-n + 3) { color: var(--color-deep); font-size: 17px; }
.labo-starting .labo-pain-list p:nth-child(n + 4) { color: var(--color-soft-ink); font-size: 14px; }

.labo-transformation { background: #f9f6f0; }
.labo-transformation .labo-story { background: #e9e1d6; }
.labo-transformation .labo-results { background: #f9f6f0; }
.labo-transformation .labo-results__item:nth-child(-n + 3) > p { color: var(--color-deep); }
.labo-transformation .labo-results__item:nth-child(n + 4):not(.labo-results__item--closing) > p {
  color: var(--color-soft-ink);
  font-size: clamp(18px, 1.65vw, 23px);
}

.labo-program__modules { margin-top: clamp(70px, 9vw, 118px); }
.labo-program__modules .labo-program__list { margin-top: 0; }
.labo-program__modules .labo-program__item { padding-block: 36px; }
.labo-program__modules .labo-program__body { font-size: 14px; line-height: 1.9; }

.labo-support { background: #eee8de; }
.labo-support > .section__inner { padding-top: clamp(78px, 9vw, 132px); padding-bottom: 0; }
.labo-support .labo-program-support { margin-top: 0; }
.labo-support .labo-scenes { background: transparent; }
.labo-support .labo-online { min-height: 0; background: transparent; }
.labo-support .labo-book { min-height: 0; background: #e6ded2; }
.labo-support .labo-book__visual { min-height: 0; }

.labo-offer__facts dl:first-child dd { font-size: clamp(25px, 2.3vw, 34px); line-height: 1.35; }
.labo-photo--optional { background: #26231f; }
.labo-photo__optional-label {
  margin: 0 0 13px;
  color: #d4baa0;
  font: 400 10px/1.4 var(--font-latin-ui, Arial, sans-serif);
  letter-spacing: .16em;
}
.labo-update { border-top: 0; }

/* PHOTOGRAPHY / ESTIMATE: align the copy grid to the established mobile gutter
   without changing its desktop composition or any other brand-visual section. */
@media (max-width: 900px) {
  .brand-visual-page .brand-visual-estimate .section__inner {
    width: min(100% - (var(--mobile-gutter, 22px) * 2), var(--container));
    margin-inline: auto;
  }

  .labo-starting .labo-intro { padding-top: 74px; padding-bottom: 48px; }
  .labo-starting .labo-intro__grid { gap: 24px; }
  .labo-starting .labo-pain-list { margin-top: 40px; }
  .labo-starting .labo-pain-list p { grid-template-columns: 34px minmax(0, 1fr); padding-block: 19px; }
  .labo-starting .labo-pain-list p:nth-child(-n + 3) { font-size: 16px; line-height: 1.78; }
  .labo-starting .labo-pain-list p:nth-child(n + 4) { font-size: 14px; line-height: 1.75; }
  .labo-starting .labo-promise { min-height: 0; }
  .labo-starting .labo-promise__card { padding-block: 58px 66px; }

  .labo-transformation .labo-story { padding-block: 74px 62px; }
  .labo-transformation .labo-story--with-image .labo-story__grid { gap: 38px; }
  .labo-transformation .labo-story__change { margin-top: 34px; }
  .labo-transformation .labo-story__change article { padding: 25px 22px; }
  /* The saved title helper supplies desktop <br>s. On narrow WebKit widths,
     keeping that break can join two protected phrases beyond the text measure.
     Let its existing <wbr>s choose the phrase boundary instead. */
  .labo-transformation .section-title { inline-size: 100%; min-inline-size: 0; max-inline-size: 100%; }
  .labo-transformation .section-title > br { display: none; }
  .labo-transformation .labo-story__content .section-title { font-size: 28px; line-height: 1.58; }
  .labo-transformation .labo-results { padding-block: 72px; }
  .labo-transformation .labo-results__head { margin-bottom: 40px; }
  .labo-transformation .labo-results__item:nth-child(-n + 3) > p { font-size: clamp(23px, 6.1vw, 27px); }
  .labo-transformation .labo-results__item:nth-child(n + 4):not(.labo-results__item--closing) > p { font-size: 17px; line-height: 1.7; }

  .labo-journey { padding-block: 76px; }
  .labo-journey .labo-section-head { gap: 22px; }
  .labo-journey__grid { margin-top: 36px; border-inline: 0; background: transparent; }
  .labo-journey__item {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    column-gap: 14px;
    padding: 23px 0 26px;
    border-inline: 0;
    border-bottom: 1px solid var(--color-line);
    background: transparent;
  }
  .labo-journey__item > span { min-height: 0; padding-top: 5px; }
  .labo-journey__item h3 { margin: 0 0 9px; font-size: 22px; line-height: 1.48; }
  .labo-journey__item div { grid-column: 2; font-size: 14px; line-height: 1.82; }

  .labo-program { padding-block: 76px; }
  .labo-program .labo-section-head { gap: 24px; }
  .labo-schedule { margin-top: 46px; padding-top: 38px; gap: 28px; }
  .labo-schedule__image {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    height: auto !important;
    aspect-ratio: 1.08 / 1;
  }
  .labo-schedule__list { margin-top: 24px; }
  .labo-schedule__list p { padding-block: 12px; }
  .labo-program__modules { margin-top: 62px; }
  .labo-program__modules .labo-program__item { gap: 10px 15px; padding-block: 24px; }
  .labo-program__modules .labo-program__name h3 { font-size: 22px; line-height: 1.45; }
  .labo-program__modules .labo-program__body { font-size: 13px !important; line-height: 1.8 !important; }

  .labo-support > .section__inner { padding-top: 70px; }
  .labo-support .labo-program-support { padding-block: 0 48px; border-top: 0; }
  .labo-support .labo-program-support h3 { font-size: 27px; }
  .labo-support .labo-scenes { padding-block: 0; }
  .labo-support .labo-scenes .section__inner { padding-block: 52px; }
  .labo-support .labo-scenes__grid { margin-top: 32px; }
  .labo-support .labo-scenes__card { padding: 38px 22px 42px; }
  .labo-support .labo-scenes__card > p { margin-bottom: 30px; }
  .labo-support .labo-online__image { height: auto !important; aspect-ratio: 1.04 / 1; }
  .labo-support .labo-online__copy { padding: 58px var(--mobile-gutter, 22px) 64px; }
  .labo-support .labo-book__visual { padding: 54px 18px 28px; }
  .labo-support .labo-book__copy { padding: 50px var(--mobile-gutter, 22px) 66px; }
  .labo-support .labo-book .section-title { font-size: clamp(34px, 8.8vw, 39px); line-height: 1.48; }

  .labo-offer { padding-block: 76px; }
  .labo-offer__facts { margin-top: 34px; }
  .labo-offer__facts dl:first-child dd { font-size: 27px; }
  .labo-offer__card { padding: 30px 22px; }

  .labo-photo--optional { padding-block: 58px 64px; }
  .labo-photo--optional .labo-photo__inner { gap: 32px; }
  /* Preserve the complete owner-managed portrait on phones. The compactness
     comes from its surrounding editorial spacing, never from a new crop. */
  .labo-photo--optional .labo-photo__image { aspect-ratio: auto !important; }
  .labo-photo--optional .labo-photo__image img { width: 100% !important; height: auto !important; object-fit: contain !important; }
  .labo-photo--optional .labo-photo__copy { padding: 0; }
  .labo-photo--optional .labo-photo__copy .section-title { font-size: clamp(27px, 7vw, 32px); }
  .labo-photo--optional .labo-photo__copy > div { font-size: 14px !important; line-height: 1.9 !important; }

  .labo-update { padding-block: 62px; }
  .labo-update__grid { gap: 24px; }
  .labo-update .section-title { font-size: clamp(28px, 7.2vw, 34px); }
}

@media (min-width: 901px) {
  .labo-support .labo-scenes { padding-top: 0; }
  .labo-support .labo-online { margin-top: clamp(70px, 8vw, 116px); }
  .labo-support .labo-book { margin-top: clamp(70px, 8vw, 116px); }
  .labo-photo--optional { padding-block: clamp(72px, 8vw, 112px); }
  .labo-photo--optional .labo-photo__inner { align-items: center; }
}
