/*
 * La paix legacy visual refinements (v0.2.116–v0.2.133)
 *
 * Isolated in v0.2.134 so the foundational stylesheet is no longer the place
 * where every late-stage correction accumulates. These rules intentionally
 * retain their historical order. The authoritative smartphone typography and
 * spacing layer is assets/css/mobile-system.css, loaded after this file.
 */

/* =========================================================
   v0.2.116 — BRAND SITE / FOR BUSINESS integration
   Mobile-first conversion path, protected typography and a deliberately
   asymmetrical price hierarchy: 550,000円〜 is the recommended route while
   330,000円〜 is shown for clients whose copy, structure and visual materials are already prepared.
========================================================= */

/* FOR BUSINESS: four clear service entrances. */
.business-scope-quick { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.business-service__image--brand-site { background:#171614; }
.business-service__image--brand-site img { object-position:center center; }

.brand-site-page { background:#f3efe8; color:#1b1a18; }
.brand-site-page .responsive-copy--desktop { display:inline; }
.brand-site-page .responsive-copy--mobile { display:none; }

.brand-site-hero {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr);
  min-height:min(920px,94svh);
  overflow:hidden;
  background:#171614;
  color:#f4efe7;
}
.brand-site-hero__copy {
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(150px,14vw,220px) clamp(48px,6.2vw,104px) clamp(74px,8vw,118px);
}
.brand-site-hero__copy .section-label { margin-bottom:28px; color:rgba(244,239,231,.62); }
.brand-site-hero__title {
  margin:0 0 34px;
  max-width:720px;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(42px,4.25vw,72px);
  line-height:1.38;
  font-weight:400;
  letter-spacing:.015em;
}
.brand-site-hero__title .responsive-copy__line { white-space:nowrap; }
.brand-site-hero__lead {
  margin:0 0 34px;
  max-width:610px;
  color:rgba(244,239,231,.76);
  font-size:14px;
  line-height:2.08;
}
.brand-site-hero .text-link { color:#f4efe7; align-self:flex-start; }
.brand-site-hero__media { margin:0; min-height:760px; overflow:hidden; background:#0d0d0c; }
.brand-site-hero__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }
.brand-site-hero__side {
  position:absolute;
  z-index:3;
  right:18px;
  bottom:38px;
  margin:0;
  color:rgba(244,239,231,.42);
  writing-mode:vertical-rl;
  font:500 9px/1.2 Manrope,Arial,sans-serif;
  letter-spacing:.22em;
}

.brand-site-intro { padding-top:clamp(92px,11vw,164px); padding-bottom:clamp(94px,11vw,165px); }
.brand-site-intro__grid,
.brand-site-extension__grid,
.brand-site-faq__inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(330px,.76fr);
  gap:clamp(52px,9vw,136px);
  align-items:start;
}
.brand-site-prose { max-width:620px; color:rgba(27,26,24,.73); font-size:15px; line-height:2.15; }
.brand-site-prose p { margin:0 0 26px; }
.brand-site-prose p:last-child { margin-bottom:0; }

.brand-site-section-head { margin-bottom:clamp(48px,6vw,82px); }
.brand-site-section-head--split {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
  gap:clamp(48px,8vw,120px);
  align-items:end;
}
.brand-site-section-head .section-title { margin-bottom:0; }
.brand-site-section-head .section-text { margin:0; max-width:620px; color:rgba(27,26,24,.68); }

.brand-site-fit { padding-top:clamp(80px,9vw,126px); padding-bottom:clamp(86px,10vw,142px); background:#e9e2d8; }
.brand-site-fit__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid rgba(27,26,24,.18); }
.brand-site-fit__item { min-width:0; padding:30px 24px 34px 0; border-bottom:1px solid rgba(27,26,24,.18); }
.brand-site-fit__item + .brand-site-fit__item { padding-left:24px; border-left:1px solid rgba(27,26,24,.14); }
.brand-site-fit__item span { display:block; margin-bottom:44px; color:rgba(27,26,24,.42); font:500 10px/1 Manrope,Arial,sans-serif; letter-spacing:.18em; }
.brand-site-fit__item p { margin:0; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(16px,1.55vw,21px); line-height:1.8; letter-spacing:.02em; }

.brand-site-scope { padding-top:clamp(94px,11vw,162px); padding-bottom:clamp(100px,12vw,176px); }
.brand-site-scope__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid rgba(27,26,24,.18); }
.brand-site-scope__item { position:relative; min-height:360px; padding:34px clamp(28px,4vw,58px) 44px 0; border-bottom:1px solid rgba(27,26,24,.18); }
.brand-site-scope__item:nth-child(even) { padding-left:clamp(28px,4vw,58px); border-left:1px solid rgba(27,26,24,.16); }
.brand-site-scope__item > span { display:block; margin-bottom:42px; color:rgba(27,26,24,.38); font:500 10px/1 Manrope,Arial,sans-serif; letter-spacing:.18em; }
.brand-site-scope__item > p { margin:0 0 15px; color:#a78560; font:500 10px/1.4 Manrope,Arial,sans-serif; letter-spacing:.14em; }
.brand-site-scope__item h3 { margin:0 0 18px; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(23px,2.15vw,33px); line-height:1.55; font-weight:400; }
.brand-site-scope__item div { max-width:570px; color:rgba(27,26,24,.69); font-size:14px; line-height:2.05; }
.brand-site-scope__item div p { margin:0; }

.brand-site-visual { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); background:#171614; color:#f3eee7; }
.brand-site-visual__image { margin:0; min-height:720px; overflow:hidden; }
.brand-site-visual__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }
.brand-site-visual__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(82px,9vw,138px) clamp(46px,7vw,112px); }
.brand-site-visual__copy .section-label { color:rgba(243,238,231,.56); }
.brand-site-visual__copy .section-title { margin-bottom:34px; }
.brand-site-visual__copy .brand-site-prose { color:rgba(243,238,231,.75); }
.brand-site-visual__note { margin:30px 0 26px; padding-top:24px; border-top:1px solid rgba(243,238,231,.18); color:rgba(243,238,231,.66); font-size:12px; line-height:1.9; }
.brand-site-visual__copy .text-link { color:#f3eee7; align-self:flex-start; }

.brand-site-price { padding-top:clamp(98px,12vw,176px); padding-bottom:clamp(96px,12vw,176px); background:#f5f1eb; }
.brand-site-price__main { margin-top:8px; background:#1a1917; color:#f3eee8; }
.brand-site-price__main-head { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:end; padding:clamp(34px,4.8vw,68px); border-bottom:1px solid rgba(243,238,232,.18); }
.brand-site-price__main-head p,
.brand-site-price__secondary > div > p { margin:0 0 16px; color:#b9946d; font:500 10px/1.3 Manrope,Arial,sans-serif; letter-spacing:.16em; }
.brand-site-price__main-head h3,
.brand-site-price__secondary h3 { margin:0; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-weight:400; line-height:1.55; }
.brand-site-price__main-head h3 { font-size:clamp(25px,2.7vw,39px); }
.brand-site-price__main-head strong { white-space:nowrap; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(31px,3.5vw,52px); font-weight:400; letter-spacing:.02em; }
.brand-site-price__main-body { display:grid; grid-template-columns:minmax(0,.82fr) minmax(330px,1.18fr); gap:clamp(40px,8vw,118px); padding:clamp(36px,4.8vw,68px); }
.brand-site-price__main-body > p { margin:0; color:rgba(243,238,232,.74); font-size:14px; line-height:2.05; }
.brand-site-price__main-body ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 34px; margin:0; padding:0; list-style:none; border-top:1px solid rgba(243,238,232,.18); }
.brand-site-price__main-body li { position:relative; padding:17px 0 17px 18px; border-bottom:1px solid rgba(243,238,232,.14); color:rgba(243,238,232,.82); font-size:12px; line-height:1.75; }
.brand-site-price__main-body li::before { content:""; position:absolute; left:0; top:25px; width:5px; height:5px; border-radius:50%; background:#b9946d; }
.brand-site-price__secondary { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(300px,.95fr); gap:clamp(30px,5vw,76px); align-items:center; margin-top:28px; padding:34px 0; border-top:1px solid rgba(27,26,24,.22); border-bottom:1px solid rgba(27,26,24,.22); }
.brand-site-price__secondary h3 { font-size:clamp(20px,2vw,28px); }
.brand-site-price__secondary strong { white-space:nowrap; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(25px,2.65vw,38px); font-weight:400; }
.brand-site-price__secondary > p { margin:0; color:rgba(27,26,24,.67); font-size:13px; line-height:2; }
.brand-site-price__note { max-width:860px; margin:32px 0 0; color:rgba(27,26,24,.6); font-size:12px; line-height:1.95; }

.brand-site-extension { padding-top:clamp(88px,10vw,148px); padding-bottom:clamp(92px,11vw,154px); background:#e8e0d5; }
.brand-site-extension__body { color:rgba(27,26,24,.71); font-size:15px; line-height:2.08; }
.brand-site-extension__body > p { margin:0 0 30px; }
.brand-site-extension__note { padding-top:26px; border-top:1px solid rgba(27,26,24,.18); font-size:13px; }

.brand-site-process { padding-top:clamp(94px,11vw,160px); padding-bottom:clamp(100px,12vw,176px); }
.brand-site-process .section-title { margin-bottom:clamp(48px,6vw,82px); }
.brand-site-process__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid rgba(27,26,24,.2); }
.brand-site-process__grid article { min-height:315px; padding:30px 30px 34px 0; border-bottom:1px solid rgba(27,26,24,.18); }
.brand-site-process__grid article:not(:nth-child(3n+1)) { padding-left:30px; border-left:1px solid rgba(27,26,24,.15); }
.brand-site-process__grid article > span { display:block; margin-bottom:38px; color:rgba(27,26,24,.38); font:500 10px/1 Manrope,Arial,sans-serif; letter-spacing:.18em; }
.brand-site-process__grid article > p { margin:0 0 14px; color:#a78560; font:500 10px/1.35 Manrope,Arial,sans-serif; letter-spacing:.14em; }
.brand-site-process__grid h3 { margin:0 0 16px; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(20px,1.9vw,27px); line-height:1.55; font-weight:400; }
.brand-site-process__grid article div { color:rgba(27,26,24,.67); font-size:13px; line-height:1.95; }
.brand-site-process__grid article div p { margin:0; }

.brand-site-case { display:grid; grid-template-columns:minmax(0,.86fr) minmax(470px,1.14fr); min-height:820px; background:#151412; color:#f2ede6; scroll-margin-top:90px; }
.brand-site-case__image { margin:0; overflow:hidden; min-height:720px; background:#090908; }
.brand-site-case__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }
.brand-site-case__content { display:flex; flex-direction:column; justify-content:center; padding:clamp(80px,9vw,138px) clamp(46px,7vw,110px); }
.brand-site-case__content .section-label { color:rgba(242,237,230,.5); }
.brand-site-case__title { margin:0 0 10px; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:clamp(36px,4.3vw,66px); line-height:1.35; font-weight:400; }
.brand-site-case__subtitle { margin:0 0 48px; color:rgba(242,237,230,.55); font-size:12px; letter-spacing:.08em; }
.brand-site-case__facts { border-top:1px solid rgba(242,237,230,.18); }
.brand-site-case__facts article { display:grid; grid-template-columns:120px minmax(0,1fr); gap:30px; padding:26px 0; border-bottom:1px solid rgba(242,237,230,.16); }
.brand-site-case__facts article > p { margin:3px 0 0; color:#b9946d; font:500 9px/1.4 Manrope,Arial,sans-serif; letter-spacing:.16em; }
.brand-site-case__facts article div { color:rgba(242,237,230,.74); font-size:13px; line-height:1.95; }
.brand-site-case__facts article div p { margin:0; }
.brand-site-case__note { margin:28px 0 0; color:rgba(242,237,230,.52); font-size:12px; line-height:1.9; }

.brand-site-faq { padding-top:clamp(94px,11vw,160px); padding-bottom:clamp(100px,12vw,174px); background:#f4f0ea; }
.brand-site-faq__list { border-top:1px solid rgba(27,26,24,.2); }
.brand-site-faq__item { border-bottom:1px solid rgba(27,26,24,.18); }
.brand-site-faq__item summary { display:grid; grid-template-columns:34px minmax(0,1fr) 24px; gap:16px; align-items:start; padding:25px 0; cursor:pointer; list-style:none; }
.brand-site-faq__item summary::-webkit-details-marker { display:none; }
.brand-site-faq__item summary span { margin-top:5px; color:rgba(27,26,24,.38); font:500 9px/1 Manrope,Arial,sans-serif; letter-spacing:.16em; }
.brand-site-faq__item summary strong { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:17px; line-height:1.75; font-weight:400; }
.brand-site-faq__item summary i { position:relative; display:block; inline-size:18px; block-size:18px; font-style:normal; font-size:0; line-height:0; transform:none; }
.brand-site-faq__item summary i::before,
.brand-site-faq__item summary i::after { content:""; position:absolute; inset-inline-start:50%; inset-block-start:50%; inline-size:16px; block-size:1px; background:currentColor; transform:translate(-50%,-50%); transition:opacity .2s ease; }
.brand-site-faq__item summary i::after { transform:translate(-50%,-50%) rotate(90deg); }
.brand-site-faq__item[open] summary i::after { opacity:0; }
.brand-site-faq__item > div { padding:0 40px 26px 50px; color:rgba(27,26,24,.67); font-size:13px; line-height:2; }
.brand-site-faq__item > div p { margin:0; }

.brand-site-cta { padding:clamp(100px,13vw,186px) 0; background:#171614; color:#f4efe8; text-align:center; }
.brand-site-cta .section-title { margin-left:auto; margin-right:auto; max-width:920px; }
.brand-site-cta .section-text { margin:28px auto 36px; max-width:760px; color:rgba(244,239,232,.72); }

@media (max-width: 1100px) and (min-width: 901px) {
  .brand-site-hero { grid-template-columns:minmax(0,1fr) minmax(420px,.9fr); }
  .brand-site-hero__copy { padding-left:54px; padding-right:48px; }
  .brand-site-fit__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .brand-site-fit__item:nth-child(4) { border-left:0; padding-left:0; }
  .brand-site-fit__item:nth-child(4), .brand-site-fit__item:nth-child(5) { padding-top:34px; }
  .brand-site-price__secondary { grid-template-columns:minmax(0,1fr) auto; }
  .brand-site-price__secondary > p { grid-column:1/-1; }
}

@media (max-width: 900px) {
  .brand-site-page .responsive-copy--desktop { display:none; }
  .brand-site-page .responsive-copy--mobile { display:inline; }

  .business-scope-quick { grid-template-columns:1fr; }

  .brand-site-hero { display:flex; flex-direction:column; min-height:0; }
  .brand-site-hero__copy { order:1; padding:124px 22px 48px; }
  .brand-site-hero__copy .section-label { margin-bottom:20px; }
  .brand-site-hero__title { margin-bottom:25px; max-width:none; font-size:clamp(34px,9.5vw,48px); line-height:1.43; letter-spacing:0; }
  .brand-site-hero__title .responsive-copy__line { white-space:nowrap; }
  .brand-site-hero__lead { margin-bottom:26px; font-size:13px; line-height:2.02; }
  .brand-site-hero__media { order:2; min-height:0; aspect-ratio:4/5; }
  .brand-site-hero__media img { object-position:center center; }
  .brand-site-hero__side { display:none; }

  .brand-site-intro { padding:78px 0 84px; }
  .brand-site-intro__grid,
  .brand-site-extension__grid,
  .brand-site-faq__inner,
  .brand-site-section-head--split { grid-template-columns:1fr; gap:30px; }
  .brand-site-prose { font-size:14px; line-height:2.05; }
  .brand-site-section-head { margin-bottom:40px; }
  .brand-site-section-head--split { align-items:start; }

  .brand-site-fit { padding:72px 0 80px; }
  .brand-site-fit__grid { grid-template-columns:1fr; }
  .brand-site-fit__item,
  .brand-site-fit__item + .brand-site-fit__item { display:grid; grid-template-columns:36px minmax(0,1fr); gap:14px; padding:22px 0; border-left:0; }
  .brand-site-fit__item span { margin:5px 0 0; }
  .brand-site-fit__item p { font-size:17px; line-height:1.75; }

  .brand-site-scope { padding:78px 0 88px; }
  .brand-site-scope__grid { grid-template-columns:1fr; }
  .brand-site-scope__item,
  .brand-site-scope__item:nth-child(even) { min-height:0; padding:28px 0 32px; border-left:0; }
  .brand-site-scope__item > span { margin-bottom:25px; }
  .brand-site-scope__item h3 { font-size:23px; }
  .brand-site-scope__item div { font-size:13px; line-height:2; }

  .brand-site-visual { grid-template-columns:1fr; }
  .brand-site-visual__image { min-height:0; aspect-ratio:4/5; }
  .brand-site-visual__copy { padding:72px 22px 78px; }
  .brand-site-visual__copy .section-title { margin-bottom:27px; }

  .brand-site-price { padding:80px 0 88px; }
  .brand-site-price__main-head { grid-template-columns:1fr; gap:26px; padding:30px 22px 32px; }
  .brand-site-price__main-head strong { font-size:34px; }
  .brand-site-price__main-body { grid-template-columns:1fr; gap:30px; padding:30px 22px 34px; }
  .brand-site-price__main-body ul { grid-template-columns:1fr; }
  .brand-site-price__secondary { grid-template-columns:1fr; gap:18px; margin-top:24px; padding:28px 0; }
  .brand-site-price__secondary strong { font-size:29px; }
  .brand-site-price__secondary > p { font-size:13px; }
  .brand-site-price__note { margin-top:26px; }

  .brand-site-extension { padding:76px 0 82px; }
  .brand-site-extension__body { font-size:14px; line-height:2; }

  .brand-site-process { padding:80px 0 88px; }
  .brand-site-process .section-title { margin-bottom:42px; }
  .brand-site-process__grid { grid-template-columns:1fr; }
  .brand-site-process__grid article,
  .brand-site-process__grid article:not(:nth-child(3n+1)) { min-height:0; padding:26px 0 30px; border-left:0; }
  .brand-site-process__grid article > span { margin-bottom:23px; }
  .brand-site-process__grid h3 { font-size:21px; }

  .brand-site-case { grid-template-columns:1fr; min-height:0; scroll-margin-top:72px; }
  .brand-site-case__image { min-height:0; aspect-ratio:4/5; }
  .brand-site-case__content { padding:70px 22px 78px; }
  .brand-site-case__title { font-size:38px; }
  .brand-site-case__subtitle { margin-bottom:34px; }
  .brand-site-case__facts article { grid-template-columns:1fr; gap:11px; padding:23px 0; }
  .brand-site-case__facts article > p { margin:0; }

  .brand-site-faq { padding:80px 0 88px; }
  .brand-site-faq__item summary { grid-template-columns:30px minmax(0,1fr) 20px; gap:10px; padding:22px 0; }
  .brand-site-faq__item summary strong { font-size:16px; line-height:1.7; }
  .brand-site-faq__item > div { padding:0 0 24px 40px; }

  .brand-site-cta { padding:84px 0 96px; }
  .brand-site-cta .section-text { margin-top:22px; }
}

@media (max-width: 430px) {
  .brand-site-hero__copy { padding-left:20px; padding-right:20px; }
  .brand-site-hero__title { font-size:clamp(31px,8.9vw,40px); }
  .brand-site-fit__item p { font-size:16px; }
  .brand-site-price__main-head,
  .brand-site-price__main-body { padding-left:20px; padding-right:20px; }
  .brand-site-case__content,
  .brand-site-visual__copy { padding-left:20px; padding-right:20px; }
}

/* =========================================================
   v0.2.120 — BRAND SITE value / subsidy / mobile width fix
   Screen recording QA: prevent horizontal drift and preserve readable
   Japanese line length on 375–430px smartphones.
========================================================= */
.brand-site-page {
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.brand-site-page .section__inner,
.brand-site-page .section__inner--narrow {
  min-width:0;
  max-width:100%;
}

.brand-site-value {
  padding-top:clamp(94px,11vw,160px);
  padding-bottom:clamp(98px,12vw,172px);
  background:#1a1917;
  color:#f3eee8;
}
.brand-site-value__head {
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(360px,.72fr);
  gap:clamp(48px,8vw,120px);
  align-items:end;
  margin-bottom:clamp(50px,7vw,88px);
}
.brand-site-value__head .section-label { color:rgba(243,238,232,.48); }
.brand-site-value__head .section-title { margin:0; max-width:760px; }
.brand-site-value__lead {
  margin:0;
  max-width:640px;
  color:rgba(243,238,232,.72);
  font-size:14px;
  line-height:2.08;
}
.brand-site-value__grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid rgba(243,238,232,.18);
}
.brand-site-value__item {
  min-width:0;
  min-height:220px;
  padding:28px 24px 32px 0;
  border-bottom:1px solid rgba(243,238,232,.16);
}
.brand-site-value__item:not(:nth-child(4n+1)) {
  padding-left:24px;
  border-left:1px solid rgba(243,238,232,.13);
}
.brand-site-value__item span {
  display:block;
  margin-bottom:44px;
  color:rgba(243,238,232,.3);
  font:500 9px/1 Manrope,Arial,sans-serif;
  letter-spacing:.18em;
}
.brand-site-value__item > p {
  margin:0 0 12px;
  color:#b9946d;
  font:500 9px/1.45 Manrope,Arial,sans-serif;
  letter-spacing:.13em;
}
.brand-site-value__item h3 {
  margin:0;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
  font-size:clamp(17px,1.55vw,22px);
  line-height:1.72;
  font-weight:400;
}
.brand-site-value__item:nth-child(5) { border-left:0; padding-left:0; }

.brand-site-subsidy {
  padding-top:clamp(74px,9vw,124px);
  padding-bottom:clamp(78px,9vw,128px);
  background:#f1ebe3;
}
.brand-site-subsidy__inner {
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(360px,.7fr);
  gap:clamp(48px,8vw,120px);
  align-items:start;
}
.brand-site-subsidy .section-title { margin-bottom:0; }
.brand-site-subsidy__body {
  color:rgba(27,26,24,.7);
  font-size:14px;
  line-height:2.05;
}
.brand-site-subsidy__body > p { margin:0 0 24px; }
.brand-site-subsidy__note {
  padding-top:22px;
  border-top:1px solid rgba(27,26,24,.17);
  color:rgba(27,26,24,.54);
  font-size:12px;
  line-height:1.9;
}

@media (max-width:900px) {
  /* The previous nowrap could make the whole page wider than the viewport. */
  .brand-site-page .responsive-copy__line,
  .brand-site-hero__title .responsive-copy__line {
    max-width:100%;
    white-space:normal !important;
    word-break:normal;
    overflow-wrap:normal;
    line-break:strict;
  }
  .brand-site-page .section-title,
  .brand-site-page h1,
  .brand-site-page h2,
  .brand-site-page h3,
  .brand-site-page p,
  .brand-site-page li {
    min-width:0;
    max-width:100%;
  }
  .brand-site-value { padding:76px 22px 82px; }
  .brand-site-value__head { grid-template-columns:1fr; gap:26px; margin-bottom:42px; }
  .brand-site-value__lead { font-size:13px; line-height:2; }
  .brand-site-value__grid { grid-template-columns:1fr; }
  .brand-site-value__item,
  .brand-site-value__item:not(:nth-child(4n+1)),
  .brand-site-value__item:nth-child(5) {
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:6px 14px;
    min-height:0;
    padding:22px 0 24px;
    border-left:0;
  }
  .brand-site-value__item span { grid-row:1/3; margin:5px 0 0; }
  .brand-site-value__item > p { margin:0; }
  .brand-site-value__item h3 { font-size:18px; line-height:1.65; }

  .brand-site-subsidy { padding:70px 22px 76px; }
  .brand-site-subsidy__inner { grid-template-columns:1fr; gap:28px; }
  .brand-site-subsidy__body { font-size:13px; line-height:2; }
}

@media (max-width:440px) {
  .brand-site-page { overflow-x:clip; }
  .brand-site-hero__copy { padding-left:var(--mobile-gutter); padding-right:var(--mobile-gutter); }
  .brand-site-hero__title {
    max-width:100%;
    font-size:clamp(29px,7.8vw,34px);
    line-height:1.5;
    text-wrap:balance;
  }
  .brand-site-intro,
  .brand-site-fit,
  .brand-site-scope,
  .brand-site-price,
  .brand-site-extension,
  .brand-site-process,
  .brand-site-faq,
  .brand-site-cta {
    padding-left:var(--mobile-gutter);
    padding-right:var(--mobile-gutter);
  }
  .brand-site-intro__grid,
  .brand-site-section-head,
  .brand-site-section-head--split,
  .brand-site-extension__grid,
  .brand-site-faq__inner {
    width:100%;
    max-width:100%;
  }
  .brand-site-page .section-title {
    font-size:clamp(29px,7.7vw,34px);
    line-height:1.55;
    letter-spacing:0;
    text-wrap:balance;
  }
  .brand-site-prose,
  .brand-site-section-head .section-text,
  .brand-site-extension__body,
  .brand-site-process__grid article div,
  .brand-site-subsidy__body {
    max-width:31em;
    font-size:13px;
    line-height:2.08;
  }
  .brand-site-scope__item div { max-width:31em; }
  .business-service#business-service-brand-site .business-service__content {
    padding-left:30px;
    padding-right:30px;
  }
  .business-service#business-service-brand-site .business-service__content > p:not(.section-label) {
    font-size:15px;
    line-height:2.08;
  }
}

/* =========================================================
   v0.2.121 — TOP ABOUT portrait + SEO foundation
   Use the supplied wide two-person portrait in a tall editorial frame while
   keeping both people's feet inside the crop. The source is much wider than
   the frame, so the crop is biased left rather than centered.
========================================================= */
.home .about-preview__image {
  aspect-ratio: 21 / 25;
  overflow: hidden;
  background: #d8d9d7;
}
.home .about-preview__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 30% center;
}
@media (max-width: 900px) {
  .home .about-preview__image {
    aspect-ratio: 4 / 3;
  }
  .home .about-preview__image img {
    object-position: center center;
  }
}

/* =========================================================
   v0.2.123 — BRAND SITE Japanese typography QA
   Screen-recording review: widen Japanese copy, reduce multi-column pressure,
   preserve authored semantic breaks and prevent orphan-like 1–2 character wraps.
========================================================= */
.brand-site-page p,
.brand-site-page li,
.brand-site-page .brand-site-prose,
.brand-site-page .brand-site-section-head .section-text,
.brand-site-page .brand-site-extension__body,
.brand-site-page .brand-site-subsidy__body,
.brand-site-page .brand-site-faq__item > div {
  line-break: strict;
  word-break: normal;
  overflow-wrap: normal;
  text-wrap: pretty;
}

.brand-site-hero__lead p {
  margin:0 0 10px;
}
.brand-site-hero__lead p:last-child {
  margin-bottom:0;
  color:rgba(244,239,231,.92);
  word-break:keep-all;
  line-height:1.95;
}
.brand-site-value__lead p { margin:0 0 14px; }
.brand-site-value__lead p:last-child { margin-bottom:0; }

@media (min-width: 901px) {
  /* BEFORE DESIGN: give the headline enough room so it never enters body copy. */
  .brand-site-intro__grid {
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
    gap:clamp(48px,5vw,82px);
  }
  .brand-site-intro .section-title {
    max-width:13.5em;
    font-size:clamp(34px,2.55vw,46px);
    line-height:1.58;
  }

  /* Five narrow columns made Japanese copy look cramped. Use a calm 2-column rhythm. */
  .brand-site-fit__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-site-fit__item,
  .brand-site-fit__item + .brand-site-fit__item {
    min-height:210px;
    padding:32px 36px 36px 0;
    border-left:0;
  }
  .brand-site-fit__item:nth-child(even) {
    padding-left:36px;
    border-left:1px solid rgba(27,26,24,.14);
  }
  .brand-site-fit__item:nth-child(5) {
    grid-column:1 / -1;
    min-height:0;
    padding-right:0;
    border-left:0;
  }
  .brand-site-fit__item span { margin-bottom:30px; }
  .brand-site-fit__item p {
    max-width:30em;
    font-size:clamp(17px,1.42vw,20px);
    line-height:1.85;
  }

  /* WHAT WE DO copy keeps explicit semantic line breaks. */
  .brand-site-scope__item h3,
  .brand-site-value__item h3,
  .brand-site-process__grid h3 {
    white-space:nowrap;
  }
  .brand-site-scope__item div {
    max-width:39em;
    font-size:13.5px;
    line-height:2.1;
  }

  /* VALUE: 4 columns were visually premium but too tight for Japanese. */
  .brand-site-value__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-site-value__item,
  .brand-site-value__item:not(:nth-child(4n+1)),
  .brand-site-value__item:nth-child(5) {
    min-height:205px;
    padding:30px 36px 34px 0;
    border-left:0;
  }
  .brand-site-value__item:nth-child(even) {
    padding-left:36px;
    border-left:1px solid rgba(243,238,232,.13);
  }
  .brand-site-value__item span { margin-bottom:30px; }
  .brand-site-value__item h3 {
    font-size:clamp(19px,1.6vw,24px);
    line-height:1.7;
  }

  /* PROCESS: two wide columns prevent particles/verbs being stranded. */
  .brand-site-process__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .brand-site-process__grid article,
  .brand-site-process__grid article:not(:nth-child(3n+1)) {
    min-height:270px;
    padding:30px 36px 34px 0;
    border-left:0;
  }
  .brand-site-process__grid article:nth-child(even) {
    padding-left:36px;
    border-left:1px solid rgba(27,26,24,.15);
  }
  .brand-site-process__grid article > span { margin-bottom:30px; }
  .brand-site-process__grid article div {
    max-width:38em;
    font-size:13px;
    line-height:2.05;
  }
}

@media (max-width: 900px) {
  .brand-site-hero__lead p { margin-bottom:8px; }
  .brand-site-hero__lead p:last-child { line-height:2; }
  .brand-site-scope__item h3,
  .brand-site-value__item h3,
  .brand-site-process__grid h3 {
    white-space:normal;
    text-wrap:pretty;
  }
}

@media (max-width: 440px) {
  /* The longest authored BEFORE DESIGN line stays intact at common iPhone widths. */
  .brand-site-intro .section-title {
    font-size:clamp(26px,7.05vw,30px);
    line-height:1.62;
  }
  .brand-site-hero__lead {
    font-size:12.5px;
    line-height:2;
  }
  .brand-site-hero__lead p:last-child {
    font-size:12.5px;
    word-break:keep-all;
  }
}

/* v0.2.123 photo-role crop: the cinematic water frame carries PHOTO / FILM. */
.brand-site-visual__image img { object-position:72% center; }
@media (max-width:900px) {
  .brand-site-visual__image img { object-position:72% center; }
}


/* =========================================================
   v0.2.124 — BRAND SITE photo identification
   Small editorial credits identify the people shown without implying that
   they are BRAND SITE production clients. Keep the credit secondary to the image.
========================================================= */
.brand-site-hero__media,
.brand-site-visual__image {
  position:relative;
}
.brand-site-photo-credit {
  position:absolute;
  z-index:4;
  right:20px;
  bottom:18px;
  max-width:calc(100% - 40px);
  margin:0;
  color:rgba(255,255,255,.88);
  font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:10px;
  font-weight:400;
  line-height:1.65;
  letter-spacing:.035em;
  text-align:right;
  text-shadow:0 1px 8px rgba(0,0,0,.58), 0 1px 2px rgba(0,0,0,.5);
  pointer-events:none;
}
.brand-site-photo-credit--visual {
  right:auto;
  left:20px;
  text-align:left;
}
@media (max-width:900px) {
  .brand-site-photo-credit {
    right:14px;
    bottom:12px;
    max-width:calc(100% - 28px);
    font-size:9px;
    line-height:1.6;
  }
  .brand-site-photo-credit--visual {
    right:auto;
    left:14px;
  }
}


/* =========================================================
   v0.2.125 — BRAND SITE photo-credit safety + price hierarchy
========================================================= */
/* Keep the hero credit away from the vertical art-direction label. */
.brand-site-photo-credit--hero {
  right:auto;
  left:20px;
  bottom:18px;
  max-width:min(440px,calc(100% - 86px));
  text-align:left;
}
.brand-site-hero__side {
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
}

/* The 330k plan is shown first as the qualified production-only option.
   The recommended 550k plan follows with stronger visual emphasis. */
.brand-site-price__secondary--first {
  margin-top:8px;
  margin-bottom:28px;
}
.brand-site-price__main--recommended {
  position:relative;
  margin-top:0;
}
.brand-site-price__recommended {
  position:absolute;
  z-index:2;
  top:0;
  right:clamp(24px,4.8vw,68px);
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:0 12px;
  background:#b9946d;
  color:#171614;
  font:600 9px/1 Manrope,Arial,sans-serif;
  letter-spacing:.17em;
}

@media (max-width:900px) {
  .brand-site-photo-credit--hero {
    right:auto;
    left:14px;
    bottom:12px;
    max-width:calc(100% - 28px);
  }
  .brand-site-price__secondary--first {
    margin-top:6px;
    margin-bottom:30px;
  }
  .brand-site-price__recommended {
    right:20px;
    min-height:24px;
    font-size:8px;
  }
}

/* =========================================================
   v0.2.126 — concise mobile editorial layer + service-first navigation
========================================================= */
.brand-site-copy--mobile { display:none; }
.brand-site-copy > p:first-child { margin-top:0; }
.brand-site-copy > p:last-child { margin-bottom:0; }
.brand-site-responsive-prose > .brand-site-copy { margin:0; }
.brand-site-cta__body { max-width:900px !important; }

@media (max-width:900px) {
  .brand-site-copy--desktop { display:none; }
  .brand-site-copy--mobile { display:block; }
  .brand-site-copy--mobile p { margin-bottom:10px; }
  .brand-site-copy--mobile p:last-child { margin-bottom:0; }
  .brand-site-cta__body { max-width:34em !important; }
}

/* Desktop: keep the six clear top-level destinations, but expose the actual
   services one level below FOR YOU / FOR BUSINESS instead of making visitors
   hunt through category pages. */
@media (min-width:901px) {
  .site-nav > ul.menu { align-items:center; }
  .site-nav > ul.menu > li { position:relative; }
  .site-nav > ul.menu > li > .sub-menu {
    position:absolute;
    top:calc(100% + 14px);
    left:50%;
    z-index:80;
    width:max-content;
    min-width:285px;
    display:grid;
    gap:0;
    padding:12px 14px;
    background:rgba(18,17,15,.97);
    color:#f5f1ea;
    border:1px solid rgba(255,255,255,.12);
    box-shadow:0 18px 44px rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,8px);
    transition:opacity .18s ease, transform .24s ease, visibility 0s linear .24s;
  }
  .site-nav > ul.menu > li:hover > .sub-menu,
  .site-nav > ul.menu > li:focus-within > .sub-menu {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0);
    transition-delay:0s;
  }
  .site-nav .sub-menu li { border:0; }
  .site-nav .sub-menu a {
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:baseline;
    padding:10px 10px;
    color:inherit;
    white-space:nowrap;
  }
  .site-nav .sub-menu a::after { display:none !important; }
  .menu-child__ja {
    font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
    font-size:12px;
    line-height:1.45;
    letter-spacing:.04em;
  }
  .menu-child__en {
    font-family:Manrope,Arial,sans-serif;
    font-size:7px;
    line-height:1.2;
    letter-spacing:.13em;
    opacity:.56;
  }
  .site-nav > ul.menu > .menu-item--contact > a {
    min-height:34px;
    padding:7px 12px;
    border:1px solid currentColor;
  }
}

/* Mobile: second-level services stay visible inside the drawer. One menu open
   should be enough to reach Brand Me Labo, BRAND SITE, PHOTO / FILM, etc. */
@media (max-width:900px) {
  .site-nav > ul.menu > li { border-top:1px solid rgba(29,27,25,.11); }
  .site-nav > ul.menu > li:last-child { border-bottom:1px solid rgba(29,27,25,.11); }
  .site-nav > ul.menu > li > a { min-height:58px; }
  .site-nav .sub-menu {
    position:static !important;
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    gap:0 !important;
    margin:0 0 14px !important;
    padding:0 0 0 14px !important;
    background:transparent !important;
    color:inherit !important;
    border:0 !important;
    box-shadow:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }
  .site-nav .sub-menu li,
  .site-nav .sub-menu li:last-child { border:0 !important; }
  .site-nav .sub-menu a {
    min-height:42px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:baseline;
    padding:7px 4px 7px 14px !important;
    border-left:1px solid rgba(29,27,25,.16);
  }
  .site-nav .sub-menu .menu-child__ja {
    font-family:var(--font-ja-serif);
    font-size:13px;
    line-height:1.45;
    letter-spacing:.025em;
  }
  .site-nav .sub-menu .menu-child__en {
    font-family:var(--font-latin-ui);
    font-size:7px;
    line-height:1.25;
    letter-spacing:.12em;
    opacity:.44;
    text-align:right;
  }
  .site-nav > ul.menu > .menu-item--contact > a {
    min-height:54px !important;
    margin-top:18px;
    padding:9px 14px !important;
    background:#1d1b19;
    color:#f7f4ee;
  }
  .site-nav > ul.menu > .menu-item--contact .menu-label__en { opacity:.62; }

  .home .site-nav > ul.menu > li { border-top:1px solid rgba(243,240,232,.14); }
  .home .site-nav .sub-menu {
    margin-bottom:12px !important;
    padding-left:0 !important;
    text-align:right;
  }
  .home .site-nav .sub-menu a {
    min-height:36px !important;
    grid-template-columns:minmax(0,1fr);
    justify-items:end;
    gap:2px;
    padding:5px 0 !important;
    border-left:0;
  }
  .home .site-nav .sub-menu .menu-child__ja {
    font-size:12px;
    color:inherit;
  }
  .home .site-nav .sub-menu .menu-child__en {
    font-size:6.5px;
    color:inherit;
    opacity:.44;
  }
  .home .site-nav > ul.menu > .menu-item--contact > a {
    background:#f3f0e8;
    color:#11100f;
  }
}

/* =========================================================
   v0.2.128 — PC Japanese typography regression repair
   Keep mobile-specific authored breaks on mobile only. On desktop, body copy
   wraps inside its own column while headings use explicit phrase boundaries.
========================================================= */
@media (min-width: 901px) {
  /* TOP / CONTACT: the approved two-line sentence was visually too loose. */
  .home .cta .section-text.desktop-copy-precise,
  .contact-hero__summary.desktop-copy-precise {
    line-height: 1.68;
    letter-spacing: .006em;
  }

  /* PERSONAL: both decision cards use exactly the same title scale. */
  .personal-route h3 {
    width: 100%;
    max-width: 560px;
    min-height: 4.5em;
    margin-bottom: 24px;
    font-size: clamp(34px, 2.2vw, 40px);
    line-height: 1.5;
    letter-spacing: 0;
    line-break: strict;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: balance;
  }
  .personal-route h3 .responsive-copy--desktop .responsive-copy__line {
    display: block;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
  }
  .personal-route > div,
  .personal-route > div p {
    min-width: 0;
    font-size: 15px;
    line-height: 1.92;
    letter-spacing: .012em;
    line-break: strict;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: pretty;
  }

  /* SINGLE SESSIONS: reserve real width for prose and price instead of
     allowing a mobile-only precise line to spill across adjacent columns. */
  .personal-menu-item {
    grid-template-columns: 48px minmax(250px, .82fr) minmax(350px, 1.12fr) minmax(190px, .58fr);
    gap: clamp(22px, 2.6vw, 44px);
  }
  .personal-menu-item__name,
  .personal-menu-item__body,
  .personal-menu-item__action {
    min-width: 0;
  }
  .personal-menu-item__name h3 {
    font-size: clamp(28px, 2vw, 34px);
    line-height: 1.5;
  }
  .personal-menu-item__body,
  .personal-menu-item__body p,
  .personal-menu-item__body .responsive-copy--desktop {
    max-width: 100%;
    font-size: 14.5px;
    line-height: 1.92;
    letter-spacing: .01em;
    white-space: normal !important;
    line-break: strict;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: pretty;
  }
  .personal-menu-item__action > p {
    font-size: 13px;
    line-height: 1.75;
    text-wrap: pretty;
  }

  /* HOW IT WORKS: all five titles are authored as two semantic lines and
     all five explanatory paragraphs share one type size / leading. */
  .personal-program__grid--five .personal-program__item {
    min-width: 0;
    padding: 36px 22px 40px;
  }
  .personal-program__grid--five .personal-program__item h3 {
    min-height: 3.2em;
    margin-bottom: 24px;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0;
    line-break: strict;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: balance;
  }
  .personal-program__grid--five .personal-program__item h3 .responsive-copy--desktop .responsive-copy__line {
    display: block;
    width: max-content;
    max-width: 100%;
    white-space: nowrap;
  }
  .personal-program__grid--five .personal-program__item div,
  .personal-program__grid--five .personal-program__item div p,
  .personal-program__grid--five .personal-program__item div .responsive-copy--desktop {
    max-width: 100%;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: .008em;
    white-space: normal !important;
    line-break: strict;
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: pretty;
  }
}

@media (min-width: 901px) and (max-width: 1240px) {
  /* At laptop widths, four content columns plus price are too tight. The
     action moves below the copy before Japanese phrases become cramped. */
  .personal-menu-item {
    grid-template-columns: 42px minmax(230px, .78fr) minmax(0, 1fr);
  }
  .personal-menu-item__action {
    grid-column: 2 / -1;
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: center;
    text-align: left;
  }
  .personal-menu-item__action .text-link { margin-top: 0; }
}

/* =========================================================
   v0.2.129 — SINGLE SESSIONS PC readability + CTA + Argyle bridge
   Keep formal service names intact, use phrase-safe copy width, and turn the
   Brand Me Labo bridge into a scannable comparison block.
========================================================= */
.desktop-only-break { display: none; }

@media (min-width: 1101px) {
  .single-menu-page .single-service__content {
    padding-left: clamp(48px, 5vw, 78px);
    padding-right: clamp(48px, 5vw, 78px);
  }
  .single-menu-page .single-service__title {
    max-width: none;
    margin-top: 44px;
    font-size: clamp(32px, 2.45vw, 44px);
    line-height: 1.25;
    letter-spacing: -.025em;
    white-space: nowrap;
  }
  .single-menu-page .single-service__title .service-title__keep--full {
    display: inline-block;
    width: max-content;
    max-width: 100%;
    white-space: nowrap !important;
  }
  .single-menu-page .single-service__tagline {
    max-width: 720px;
    margin-bottom: 28px;
    font-size: clamp(18px, 1.3vw, 22px);
    line-height: 1.72;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .single-menu-page .single-service__body {
    max-width: 720px;
    font-size: clamp(13.5px, .9vw, 15px);
    line-height: 2.02;
    line-break: strict;
    text-wrap: pretty;
    letter-spacing: 0;
  }
  .single-menu-page .single-service__body p {
    margin-bottom: 1.18em;
  }
  .single-menu-page .desktop-only-break { display: block; }
}

.single-service__bridge {
  margin-top: 38px;
  padding: clamp(28px, 3vw, 38px);
  background: rgba(255,255,255,.54);
  border: 1px solid var(--color-line);
}
.single-service__bridge h4 {
  max-width: 620px;
  margin-bottom: 13px;
}
.single-service__bridge-intro {
  max-width: 670px;
  color: var(--color-soft-ink);
  font-size: 12px;
  line-height: 1.95;
}
.single-service__bridge-intro p { margin: 0; }
.single-service__bridge-summary {
  margin-top: 25px;
  border-top: 1px solid var(--color-line);
}
.single-service__bridge-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  margin: 0;
}
.single-service__bridge-facts > div {
  min-width: 0;
  padding: 18px 18px 18px 0;
  border-bottom: 1px solid var(--color-line);
}
.single-service__bridge-facts > div:nth-child(even) {
  padding-left: 18px;
  border-left: 1px solid var(--color-line);
}
.single-service__bridge-facts > .single-service__bridge-facts--wide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 112px minmax(0,1fr);
  gap: 18px;
  padding-left: 0;
  border-left: 0;
}
.single-service__bridge-facts dt {
  margin: 0 0 8px;
  color: var(--color-accent);
  font: 500 9px/1.4 var(--font-sans);
  letter-spacing: .15em;
}
.single-service__bridge-facts dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}
.single-service__bridge-facts--wide dt { margin: 2px 0 0; }
.single-service__bridge-discount {
  display: grid;
  grid-template-columns: minmax(180px,.9fr) auto minmax(210px,1.1fr);
  gap: 18px 24px;
  align-items: center;
  padding: 22px 0 4px;
}
.single-service__bridge-discount p {
  margin: 0;
  font-size: 12px;
  line-height: 1.7;
}
.single-service__bridge-discount strong {
  font-family: var(--font-serif);
  font-size: clamp(25px, 2vw, 32px);
  font-weight: 400;
  line-height: 1.2;
  white-space: nowrap;
}
.single-service__bridge-discount span {
  color: var(--color-soft-ink);
  font-size: 11px;
  line-height: 1.7;
}
.single-service__bridge .text-link { margin-top: 24px; }

/* Final choice CTA: one clear action, one clear way back. */
.single-menu-cta .personal-cta__inner {
  width: min(100% - 64px, 900px);
  margin: 0 auto;
  padding-top: clamp(72px, 8vw, 112px);
  padding-bottom: clamp(72px, 8vw, 112px);
  text-align: center;
}
.single-menu-cta .personal-cta__inner > div:first-child,
.single-menu-cta .personal-cta__body {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}
.single-menu-cta .section-title {
  margin-top: 20px;
  margin-bottom: 0;
  line-height: 1.48;
}
.single-menu-cta .personal-cta__body {
  margin-top: 30px;
  color: rgba(255,255,255,.76);
  font-size: 14px;
  line-height: 1.9;
}
.single-menu-cta .personal-cta__body > p { margin: 0; }
.single-menu-cta .personal-actions {
  justify-content: center;
  margin-top: 30px;
  gap: 16px 28px;
}
.single-menu-cta .personal-actions .button--light {
  min-width: 250px;
}
.single-menu-cta .personal-actions .text-link {
  color: rgba(255,255,255,.82);
}

@media (max-width: 1100px) {
  .single-menu-page .single-service__title {
    font-size: clamp(22px, 4.6vw, 34px);
    line-height: 1.45;
  }
  .single-menu-page .single-service__title .service-title__keep--full {
    display: inline-block;
    max-width: 100%;
    white-space: nowrap !important;
  }
  .single-menu-page .single-service__tagline {
    line-break: strict;
    text-wrap: pretty;
  }
  .single-service__bridge-discount {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .single-service__bridge-discount strong { margin: 2px 0 4px; }
}

@media (max-width: 620px) {
  .single-service__bridge { padding: 24px 20px; }
  .single-service__bridge-facts { grid-template-columns: 1fr; }
  .single-service__bridge-facts > div,
  .single-service__bridge-facts > div:nth-child(even) {
    padding: 15px 0;
    border-left: 0;
  }
  .single-service__bridge-facts > .single-service__bridge-facts--wide {
    display: block;
    grid-column: auto;
  }
  .single-service__bridge-facts--wide dt { margin-bottom: 7px; }
  .single-menu-cta .personal-cta__inner { width: min(100% - 40px, 900px); }
  .single-menu-cta .personal-actions { display: grid; grid-template-columns: 1fr; gap: 20px; }
  .single-menu-cta .personal-actions .button--light { width: 100%; min-width: 0; }
  .single-menu-cta .personal-actions .text-link { justify-self: center; }
}

/* =========================================================
   v0.2.130 — desktop submenu hover bridge + single-session hierarchy
========================================================= */
@media (min-width:901px) {
  /* The former 14px visual gap between the top-level item and its submenu
     also became a hover gap. This invisible bridge belongs to the parent LI,
     so moving the pointer downward keeps :hover active until the submenu. */
  .site-nav > ul.menu > li.menu-item-has-children::after {
    content:"";
    position:absolute;
    z-index:79;
    left:-18px;
    right:-18px;
    top:100%;
    height:16px;
    background:transparent;
  }
  .site-nav > ul.menu > li > .sub-menu {
    top:calc(100% + 12px);
  }
}

/* Single-session service hierarchy: title -> editorial promise band -> body.
   The band is intentionally square and restrained rather than a rounded pill,
   keeping the La paix editorial tone while making the subhead unmistakable. */
.single-menu-page .single-service__tagline {
  display:table;
  width:auto;
  max-width:100%;
  margin:0 0 30px;
  padding:9px 14px 10px;
  background:var(--color-deep);
  color:#fff;
  font-family:var(--font-serif);
  font-size:clamp(14px,1.08vw,17px);
  line-height:1.62;
  letter-spacing:.015em;
  text-wrap:pretty;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.single-menu-page .single-service__tagline .responsive-copy,
.single-menu-page .single-service__tagline .responsive-copy__line {
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
}

@media (min-width:1101px) {
  .single-menu-page .single-service__tagline {
    font-size:clamp(14px,1vw,16px);
    line-height:1.55;
    white-space:normal;
  }
}

@media (max-width:900px) {
  .single-menu-page .single-service__tagline {
    margin-bottom:24px;
    padding:8px 11px 9px;
    font-size:13px;
    line-height:1.6;
  }
}

/* =========================================================
   v0.2.131 — smartphone QA / calmer navigation / stronger service hierarchy
========================================================= */

/* Brand Me Labo graduate support CTA: the section is pale, so inherited
   white text from .personal-cta was low-contrast on mobile. */
.update-page .update-cta {
  color: var(--color-ink);
  background: #e8e1d5;
}
.update-page .update-cta .section-label { color: #9b7b58; }
.update-page .update-cta .personal-cta__body,
.update-page .update-cta .personal-cta__body p { color: rgba(30,29,27,.76); }
.update-page .update-cta .text-link { color: var(--color-ink); }

/* Mobile navigation: the first view shows only the six destinations. FOR YOU
   and FOR BUSINESS disclose service shortcuts on demand rather than showing
   seven extra lines immediately. Desktop remains unchanged. */
.submenu-toggle { display:none; }

@media (max-width:900px) {
  .site-nav > ul.menu > li.menu-item-has-children { position:relative; }
  .site-nav > ul.menu > li.menu-item-has-children > a { padding-right:58px !important; }
  .site-nav .submenu-toggle {
    position:absolute;
    z-index:2;
    top:9px;
    right:0;
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    background:transparent;
    color:inherit;
    cursor:pointer;
  }
  .site-nav .submenu-toggle span,
  .site-nav .submenu-toggle span::after {
    content:"";
    display:block;
    width:15px;
    height:1px;
    background:currentColor;
    transition:transform .24s ease, opacity .18s ease;
  }
  .site-nav .submenu-toggle span::after { transform:rotate(90deg); }
  .site-nav .submenu-toggle[aria-expanded="true"] span::after { transform:rotate(0deg); }

  .site-nav .sub-menu {
    display:grid !important;
    overflow:hidden;
    max-height:0;
    margin:0 !important;
    padding:0 0 0 14px !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:max-height .34s cubic-bezier(.22,.78,.25,1), opacity .2s ease, visibility 0s linear .34s;
  }
  .site-nav .sub-menu > li { min-height:0; }
  .site-nav .menu-item-has-children.is-submenu-open > .sub-menu {
    max-height:360px;
    margin:0 0 16px !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transition-delay:0s;
  }
  .site-nav .sub-menu a {
    min-height:44px !important;
    padding-top:9px !important;
    padding-bottom:9px !important;
  }
  .site-nav .sub-menu .menu-child__ja { font-size:13px; }

  /* HOME retains the cinematic drawer, but its first frame is now a simple
     editorial index instead of a wall of service links. */
  .home .site-nav { align-items:flex-start; }
  .home .site-nav > ul.menu > li.menu-item-has-children > a { padding-right:52px !important; }
  .home .site-nav .submenu-toggle { top:12px; right:0; }
  .home .site-nav .sub-menu {
    padding-left:0 !important;
    text-align:right;
  }
  .home .site-nav .menu-item-has-children.is-submenu-open > .sub-menu { margin-bottom:18px !important; }
  .home .site-nav .sub-menu a {
    min-height:40px !important;
    padding:7px 0 !important;
  }
  .home .site-nav .sub-menu .menu-child__ja { font-size:13px; }
}

/* TOP ABOUT supplied art already contains its intended composition. On a
   smartphone, cropping that artwork into 4:3 changes the framing, so display
   the source at its native aspect ratio. */
@media (max-width:900px) {
  .home .about-preview__image {
    aspect-ratio:auto;
    overflow:visible;
    background:transparent;
  }
  .home .about-preview__image img {
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center;
    transform:none;
  }
}

/* Single-session hierarchy: CTA buttons stay solid black; the promise line is
   now an editorial note, not a button-shaped black band. */
.single-menu-page .single-service__tagline {
  display:block;
  width:100%;
  max-width:720px;
  margin:0 0 30px;
  padding:16px 20px 17px;
  background:rgba(190,164,134,.12);
  color:var(--color-ink);
  border-top:1px solid rgba(153,119,82,.42);
  border-bottom:1px solid rgba(153,119,82,.24);
  border-left:3px solid #a88560;
  font-family:var(--font-serif);
  font-size:clamp(17px,1.2vw,21px);
  line-height:1.62;
  letter-spacing:.015em;
  text-wrap:pretty;
}
.single-menu-page .single-service__tagline .responsive-copy,
.single-menu-page .single-service__tagline .responsive-copy__line {
  color:inherit;
  font:inherit;
  letter-spacing:inherit;
}

@media (max-width:900px) {
  /* More breathing room across the site. This changes the reading measure,
     not the content, and keeps full-bleed media outside .section unaffected. */
  :root { --mobile-gutter: clamp(25px, 7vw, 30px); }
  .site-header { padding-left:var(--mobile-gutter); padding-right:var(--mobile-gutter); }

  .single-menu-page .single-service__content {
    padding-left:var(--mobile-gutter);
    padding-right:var(--mobile-gutter);
  }
  .single-menu-page .single-service__title {
    margin-top:34px;
    margin-bottom:18px;
    font-size:clamp(27px,7.4vw,33px);
    line-height:1.38;
    letter-spacing:-.015em;
  }
  .single-menu-page .single-service__tagline {
    width:100%;
    margin-bottom:25px;
    padding:14px 15px 15px 17px;
    font-size:clamp(16px,4.35vw,18px);
    line-height:1.65;
  }
  .single-menu-page .single-service__body {
    max-width:31em;
    font-size:14px;
    line-height:2;
  }
  .single-menu-page .single-service__body p { margin-bottom:1.35em; }

  .update-page .update-cta .personal-cta__inner {
    width:min(100% - (var(--mobile-gutter) * 2), 760px);
  }
  .update-page .update-cta .section-title {
    font-size:clamp(26px,7.2vw,31px);
    line-height:1.55;
  }
  .update-page .update-cta .personal-cta__body {
    font-size:14px;
    line-height:1.95;
  }

  /* Common long-form blocks get a readable measure rather than stretching to
     the last available pixel. */
  .section-text,
  .personal-page .section-text,
  .business-page .section-text,
  .about-page .section-text,
  .brand-site-page .brand-site-prose,
  .brand-visual-page .section-text,
  .update-page .section-text {
    max-width:32em;
  }
}

@media (max-width:374px) {
  :root { --mobile-gutter:22px; }
  .single-menu-page .single-service__title { font-size:26px; }
  .single-menu-page .single-service__tagline { font-size:15px; }
}

/* =========================================================
   v0.2.132 — mobile production hardening / Japanese reading rhythm
   Final layer intentionally overrides legacy one-device nowrap patches.
   QA widths: 360 / 375 / 390 / 393 / 412 / 414 / 430 / 440 CSS px.
========================================================= */
.labo-result-copy--mobile,
.single-service__bridge-mobile { display:none; }

@media (max-width: 900px) {
  :root { --mobile-gutter: clamp(26px, 7.2vw, 32px); }
  html, body { width:100%; max-width:100%; overflow-x:clip; }
  .site-main { width:100%; max-width:100%; overflow-x:clip; }
  .site-main *, .site-footer * { min-width:0; }
  img, video, iframe, svg { max-width:100%; }

  /* One mobile type rule wins over historical nowrap patches. Authored lines
     remain lines, but a line may wrap safely on a narrower phone instead of
     clipping outside the viewport. */
  .responsive-copy--mobile { display:inline; max-width:100%; white-space:normal !important; }
  .responsive-copy--mobile .responsive-copy__line,
  .mobile-copy-precise .responsive-copy--mobile .responsive-copy__line,
  .personal-page .responsive-copy--mobile .responsive-copy__line,
  .business-page .responsive-copy--mobile .responsive-copy__line,
  .about-page .responsive-copy--mobile .responsive-copy__line,
  .labo-page .responsive-copy--mobile .responsive-copy__line,
  .brand-visual-page .responsive-copy--mobile .responsive-copy__line,
  .single-menu-page .responsive-copy--mobile .responsive-copy__line {
    display:block;
    width:auto !important;
    max-width:100% !important;
    white-space:normal !important;
    line-break:strict;
    word-break:normal;
    overflow-wrap:normal;
    text-wrap:pretty;
  }
  @supports (word-break: auto-phrase) {
    .site-main h1, .site-main h2, .site-main h3, .site-main h4,
    .site-main p, .site-main li, .site-main dd {
      word-break:auto-phrase;
    }
  }

  /* Safe measure and edge protection for non-.section full-bleed components. */
  .section { padding-left:var(--mobile-gutter); padding-right:var(--mobile-gutter); }
  .section__inner, .section__inner--narrow { width:100%; max-width:100%; }
  .personal-photo-path__content,
  .single-menu-photo-path__content,
  .personal-message__content,
  .labo-promise__card,
  .labo-online__copy,
  .labo-photo__copy,
  .brand-visual-hero__copy,
  .update-hero__copy {
    padding-left:var(--mobile-gutter) !important;
    padding-right:var(--mobile-gutter) !important;
  }
  .site-main p, .site-main li, .site-main dd {
    line-break:strict;
    word-break:normal;
    overflow-wrap:normal;
    text-wrap:pretty;
  }

  /* Shared Japanese headings: no edge hugging and no oversized editorial type
     that forces one- or two-character orphan lines. */
  .section-title,
  .labo-page .section-title,
  .personal-page .section-title,
  .brand-visual-page .section-title,
  .single-menu-page .section-title {
    max-width:100%;
    font-size:clamp(27px,7.05vw,31px);
    line-height:1.58;
    letter-spacing:0;
    white-space:normal !important;
    line-break:strict;
    word-break:normal;
    text-wrap:balance;
  }

  /* TOP VISUAL DIRECTION: use the four authored mobile phrases at a size that
     actually fits the longest phrase on 375–430px screens. */
  .visual-rhythm__copy { padding-left:var(--mobile-gutter); padding-right:var(--mobile-gutter); }
  .visual-rhythm__quote,
  .visual-rhythm__copy .visual-rhythm__quote {
    max-width:100%;
    font-size:clamp(22px,6.15vw,25px) !important;
    line-height:1.72 !important;
    letter-spacing:0 !important;
  }
  .visual-rhythm__quote .responsive-copy--mobile .responsive-copy__line {
    display:block;
    white-space:nowrap !important;
  }

  /* PERSONAL photo path was a full-bleed exception and could visually start at
     x=0. Restore the same safe gutter as the rest of the reading flow. */
  .personal-photo-path__content .section-title,
  .single-menu-photo-path__content .section-title {
    font-size:clamp(29px,7.7vw,34px);
    line-height:1.55;
  }
  .personal-photo-path__content .section-text,
  .single-menu-photo-path__content .section-text {
    max-width:31em;
    font-size:clamp(13.5px,3.55vw,14.5px) !important;
    line-height:1.86 !important;
  }

  /* SINGLE SESSIONS: formal names stay one line by scaling to the viewport,
     while the promise panel remains a supporting element—not a CTA. */
  .single-menu-page .single-service__content {
    padding-left:var(--mobile-gutter) !important;
    padding-right:var(--mobile-gutter) !important;
  }
  .single-menu-page .single-service__title {
    width:100%;
    max-width:100%;
    margin-top:30px;
    margin-bottom:16px;
    padding-bottom:13px;
    position:relative;
    font-size:clamp(20px,5.25vw,23px) !important;
    line-height:1.42 !important;
    letter-spacing:-.025em !important;
    white-space:nowrap !important;
  }
  .single-menu-page .single-service__title::after {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:44px;
    height:1px;
    background:#9b8369;
  }
  .single-menu-page .single-service__title .service-title__keep--full,
  .single-menu-page .single-service__title .responsive-copy__line {
    display:inline !important;
    width:auto !important;
    max-width:none !important;
    white-space:nowrap !important;
  }
  .single-menu-page .single-service__tagline {
    width:100%;
    margin-bottom:24px;
    padding:13px 15px 14px;
    background:rgba(155,131,105,.085);
    border:0;
    border-left:2px solid rgba(155,131,105,.7);
    color:var(--color-ink);
    font-size:clamp(14px,3.8vw,16px) !important;
    line-height:1.7 !important;
  }
  .single-menu-page .single-service__body {
    max-width:30em;
    font-size:clamp(13.5px,3.55vw,14.5px) !important;
    line-height:1.9 !important;
  }

  /* Argyle trial -> Brand Me Labo: mobile is a decision card, not another long
     article. Desktop keeps the fuller comparison table. */
  .single-service__bridge {
    margin-top:34px;
    padding:26px 20px 28px;
    background:#f3eee6;
    border:1px solid rgba(30,29,27,.11);
  }
  .single-service__bridge > h4 {
    margin:10px 0 18px;
    max-width:100%;
    font-size:clamp(22px,5.8vw,25px);
    line-height:1.58;
    letter-spacing:0;
  }
  .single-service__bridge-intro,
  .single-service__bridge-summary--desktop { display:none !important; }
  .single-service__bridge-mobile {
    display:grid;
    gap:0;
    margin-top:8px;
    border-top:1px solid rgba(30,29,27,.12);
  }
  .single-service__bridge-mobile > p { margin:0; }
  .single-service__bridge-mobile-program {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:18px;
    padding:18px 0;
    border-bottom:1px solid rgba(30,29,27,.10);
  }
  .single-service__bridge-mobile-program span {
    font:500 9px/1.3 var(--font-sans);
    letter-spacing:.16em;
    color:var(--color-accent);
  }
  .single-service__bridge-mobile-program strong {
    font-family:var(--font-serif);
    font-size:20px;
    font-weight:400;
    line-height:1.3;
  }
  .single-service__bridge-mobile-copy,
  .single-service__bridge-mobile-scope {
    padding:16px 0;
    border-bottom:1px solid rgba(30,29,27,.10);
    font-size:13px;
    line-height:1.8;
    color:#514c46;
  }
  .single-service__bridge-mobile-discount {
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px 14px;
    align-items:end;
    margin-top:18px;
    padding:17px 16px;
    background:#171513;
    color:#f7f2ea;
  }
  .single-service__bridge-mobile-discount span {
    font-size:11px;
    line-height:1.5;
    color:rgba(247,242,234,.68);
  }
  .single-service__bridge-mobile-discount strong {
    grid-row:1 / 3;
    grid-column:2;
    align-self:center;
    font-family:var(--font-serif);
    font-size:21px;
    font-weight:400;
    white-space:nowrap;
  }
  .single-service__bridge-mobile-discount small {
    font-size:10px;
    line-height:1.55;
    color:rgba(247,242,234,.62);
  }
  .single-service__bridge .text-link {
    display:inline-flex;
    margin-top:20px;
    font-size:12px;
  }

  /* Brand Me Labo: turn the long page into short, scannable mobile beats. */
  .labo-page .labo-hero__copy { padding-left:var(--mobile-gutter); padding-right:var(--mobile-gutter); }
  .labo-intro__grid,
  .labo-section-head,
  .labo-story__grid,
  .labo-results__head { gap:26px; }
  .labo-intro__body,
  .labo-promise__card > div,
  .labo-section-head .section-text,
  .labo-program__body,
  .labo-story__change article > div,
  .labo-online__copy > div,
  .labo-photo__copy > div {
    max-width:30em;
    font-size:clamp(13.5px,3.55vw,14.5px) !important;
    line-height:1.88 !important;
    letter-spacing:.005em !important;
  }
  .labo-intro__body p,
  .labo-promise__card > div p,
  .labo-program__body p { margin-bottom:1.15em; }

  .labo-results__item { padding:30px 0 34px !important; }
  .labo-results__item > span { margin-bottom:18px; }
  .labo-results__item > p {
    max-width:100%;
    font-size:clamp(24px,6.35vw,28px) !important;
    line-height:1.62 !important;
    letter-spacing:0 !important;
  }
  .labo-result-copy--desktop { display:none; }
  .labo-result-copy--mobile { display:block; }
  .labo-result-copy--mobile .responsive-copy__line {
    display:block;
    width:100%;
    white-space:normal !important;
  }

  .labo-story .section-title,
  .labo-journey .section-title,
  .labo-program .section-title,
  .labo-program-support h3 {
    font-size:clamp(26px,6.9vw,30px) !important;
    line-height:1.62 !important;
    letter-spacing:0 !important;
  }
  .labo-journey .section-title .responsive-copy--mobile .responsive-copy__line,
  .labo-program-support h3 .responsive-copy--mobile .responsive-copy__line {
    white-space:normal !important;
  }
  .labo-program-support { gap:22px; margin-top:44px; padding:30px 0; }
  .labo-program-support__items p {
    padding:14px 0;
    font-size:13.5px;
    line-height:1.75;
  }

  /* Full-width program body: the former number + text column made paragraphs
     only ~250px wide on a 390px phone. */
  .labo-program__item {
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:34px 0 !important;
  }
  .labo-program__number,
  .labo-program__name,
  .labo-program__body { grid-column:1 !important; }
  .labo-program__number { margin-bottom:4px; }
  .labo-program__name h3 {
    max-width:100%;
    font-size:clamp(23px,6.1vw,27px);
    line-height:1.62;
    letter-spacing:0;
  }
  .labo-program__body { margin-top:8px; }

  /* Editorial cards need enough inner measure but not huge type. */
  .labo-promise__card { padding-top:64px !important; padding-bottom:70px !important; }
  .labo-promise__card .section-title { font-size:clamp(28px,7.3vw,32px) !important; }
  .labo-story__content .section-title { font-size:clamp(28px,7.3vw,32px) !important; }

  /* The persistent conversion CTA remains visible but no longer consumes a
     quarter of the viewport. Footer gets reserved space so its last links are
     never hidden behind the CTA. */
  .mobile-sticky-cta { right:18px !important; left:18px !important; bottom:max(10px, env(safe-area-inset-bottom)) !important; }
  .mobile-sticky-cta a {
    min-height:54px !important;
    padding:8px 10px 8px 16px !important;
    box-shadow:0 9px 24px rgba(15,13,11,.22),0 0 0 2px rgba(244,241,235,.50) !important;
  }
  .mobile-sticky-cta strong { gap:10px; font-size:clamp(12px,3.35vw,13.5px) !important; }
  .mobile-sticky-cta strong::after { flex-basis:28px; width:28px; height:28px; }
  .site-footer { padding-bottom:max(118px, calc(env(safe-area-inset-bottom) + 98px)) !important; }
}

@media (max-width: 390px) {
  :root { --mobile-gutter:24px; }
  .single-menu-page .single-service__title { font-size:20px !important; letter-spacing:-.035em !important; }
  .visual-rhythm__quote, .visual-rhythm__copy .visual-rhythm__quote { font-size:22px !important; }
  .labo-results__item > p { font-size:24px !important; }
  .labo-story .section-title,
  .labo-journey .section-title,
  .labo-program .section-title,
  .labo-program-support h3 { font-size:26px !important; }
}

@media (max-width: 360px) {
  :root { --mobile-gutter:22px; }
  .single-menu-page .single-service__title { font-size:18.5px !important; }
  .single-menu-page .single-service__tagline { font-size:14px !important; }
  .mobile-sticky-cta { right:12px !important; left:12px !important; }
}

@media (max-width: 900px) {
  /* Additional surfaces from the full smartphone walkthrough. */
  .personal-labo__copy {
    padding:68px var(--mobile-gutter) 74px !important;
  }
  .personal-labo__copy .section-title {
    font-size:clamp(28px,7.25vw,32px) !important;
    line-height:1.58 !important;
  }
  .personal-labo__body,
  .personal-labo__body p {
    max-width:30em;
    font-size:clamp(13.5px,3.55vw,14.5px) !important;
    line-height:1.88 !important;
    letter-spacing:.005em !important;
  }
  .personal-labo__availability p {
    grid-template-columns:1fr !important;
    gap:6px !important;
    font-size:13px !important;
    line-height:1.78 !important;
  }

  .labo-scenes__grid { margin-top:42px; }
  .labo-scenes__card {
    padding:52px var(--mobile-gutter) 58px !important;
  }
  .labo-scenes__card > p { margin-bottom:34px !important; }
  .labo-scenes__card h3 {
    max-width:100%;
    margin-bottom:24px;
    font-size:clamp(25px,6.55vw,28px) !important;
    line-height:1.62 !important;
    letter-spacing:0;
    text-wrap:balance;
  }
  .labo-scenes__card > div {
    max-width:30em;
    font-size:13.5px !important;
    line-height:1.88 !important;
  }

  .personal-gain__list p {
    padding:20px 0 20px 28px !important;
    font-size:clamp(15px,4vw,16px) !important;
    line-height:1.78 !important;
  }

  /* Avoid visual collisions with the fixed header when an in-page anchor is
     opened directly from a menu or CTA. */
  [id] { scroll-margin-top:calc(var(--header-height) + 22px); }
}
