/* === 事業ページ共通 === */

/* ============================================================================
   Den-SHOW Business Pages Unified Layer / v1.0 RC6
   --------------------------------------------------------------------------
   Root fix:
   Place / Commerce / Technology / Social Value のHEROと透かし文字を、
   ページ固有CSSの差異に左右されない共通仕様へ統一する最終レイヤー。
============================================================================ */

/* --------------------------------------------------------------------------
   1. Business HERO: Placeを基準に構造・明度・余白・文字リズムを統一
--------------------------------------------------------------------------- */
body.denshow-theme .ds-page--business-detail .ds-business-hero {
  isolation: isolate !important;
  min-height: clamp(560px, 70vh, 760px) !important;
  padding: clamp(128px, 12vw, 170px) 0 clamp(64px, 7vw, 108px) !important;
  align-items: center !important;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero__image img {
  object-position: center center !important;
  filter: saturate(0.94) contrast(1.02) brightness(0.8) !important;
  transform: scale(1.055) !important;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero__overlay {
  background: linear-gradient(
      90deg,
      rgba(7, 13, 9, 0.78) 0%,
      rgba(7, 13, 9, 0.54) 42%,
      rgba(7, 13, 9, 0.16) 72%,
      rgba(7, 13, 9, 0.28) 100%
    ),
    linear-gradient(180deg, rgba(7, 13, 9, 0.16) 0%, rgba(7, 13, 9, 0.58) 100%),
    radial-gradient(
      circle at 18% 35%,
      rgba(145, 188, 138, 0.2),
      transparent 38%
    ) !important;
  opacity: 1 !important;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero__content {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero .ds-kicker {
  margin: 0 0 clamp(22px, 2.4vw, 34px) !important;
  color: #8fb981 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.12em !important;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero .ds-kicker span {
  color: rgba(255, 255, 255, 0.86) !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero__title {
  max-width: 1040px !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(40px, 5.45vw, 82px) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.065em !important;
  text-wrap: balance;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero__title::after {
  width: clamp(72px, 8vw, 128px) !important;
  height: 2px !important;
  margin-top: clamp(20px, 2.5vw, 34px) !important;
  background: linear-gradient(
    90deg,
    rgba(143, 185, 129, 0.95),
    rgba(143, 185, 129, 0.08)
  ) !important;
  box-shadow: 0 0 14px rgba(143, 185, 129, 0.26) !important;
}

body.denshow-theme .ds-page--business-detail .ds-business-hero__lead {
  max-width: 900px !important;
  margin-top: clamp(24px, 2.6vw, 36px) !important;
  color: rgba(255, 255, 255, 0.88) !important;
  font-size: clamp(15px, 1.28vw, 18px) !important;
  line-height: 1.9 !important;
}

/* Technology / Social Value固有CSSが生成していたHERO透かしを完全撤去 */
body.denshow-theme .ds-page--technology .ds-business-hero--technology::after,
body.denshow-theme
  .ds-page--social-value
  .ds-business-hero--social-value::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Social Value HEROの本文間隔を他事業と同じ密度へ */
body.denshow-theme .ds-business-hero__lead--social strong {
  display: block !important;
  margin: 0 0 0.55em !important;
  font-family: var(--ds-serif, "Cormorant Garamond", serif) !important;
  font-size: clamp(21px, 2vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}

body.denshow-theme .ds-business-hero__lead--social p {
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
}

body.denshow-theme .ds-business-hero__lead--social p + p {
  margin-top: 0.45em !important;
}

/* --------------------------------------------------------------------------
   2. Section Watermark: 全事業ページで幾何学的中央へ固定
--------------------------------------------------------------------------- */
body.denshow-theme
  .ds-page--business-detail
  .ds-business-section
  > .ds-section-watermark {
  position: absolute !important;
  right: auto !important;
  left: 50% !important;
  width: max-content !important;
  min-width: 0 !important;
  justify-content: initial !important;
  text-align: center !important;
  transform: translateX(-50%) translateZ(0) !important;
  transform-origin: center center !important;
}

/* === レスポンシブ・環境別調整 === */

@media (max-width: 760px) {
  body.denshow-theme .ds-page--business-detail .ds-business-hero {
    min-height: auto !important;
    padding: 124px 0 72px !important;
  }

  body.denshow-theme .ds-page--business-detail .ds-business-hero__content {
    width: min(100% - 40px, 1180px) !important;
  }

  body.denshow-theme .ds-page--business-detail .ds-business-hero__title {
    font-size: clamp(34px, 10vw, 54px) !important;
    line-height: 1.18 !important;
    letter-spacing: -0.055em !important;
  }

  body.denshow-theme .ds-page--business-detail .ds-business-hero__lead {
    line-height: 1.85 !important;
  }

  body.denshow-theme
    .ds-page--business-detail
    .ds-business-section
    > .ds-section-watermark {
    transform: translateX(-50%) translateY(6%) translateZ(0) !important;
  }
}

/* --------------------------------------------------------------------------
   3. Social Value English labels: 単語内・ハイフン位置での折返し禁止
--------------------------------------------------------------------------- */
body.denshow-theme .ds-social-card-en,
body.denshow-theme .ds-social-impact-card h3 {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

@media (max-width: 1040px) {
  body.denshow-theme .ds-social-card-en {
    font-size: clamp(20px, 2.6vw, 30px) !important;
  }
}

/* ============================================================================
   Den-SHOW v1.0 RC7 / Business watermark geometric centering
   --------------------------------------------------------------------------
   The previous RC6 rule lost against effects.css because the :not() selector
   had greater specificity and both declarations used !important.
   This layer matches/exceeds that specificity and resets inset explicitly.
============================================================================ */
body.denshow-theme
  .ds-page--business-detail
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
    .ds-commerce-brands
  )
  > .ds-section-watermark {
  position: absolute !important;
  inset-inline: 50% auto !important;
  top: auto !important;
  right: auto !important;
  bottom: 0 !important;
  left: 50% !important;
  display: block !important;
  width: max-content !important;
  min-width: max-content !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  white-space: nowrap !important;
  transform: translate3d(-50%, 0, 0) !important;
  transform-origin: 50% 50% !important;
}

@media (max-width: 760px) {
  body.denshow-theme
    .ds-page--business-detail
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
      .ds-commerce-brands
    )
    > .ds-section-watermark {
    transform: translate3d(-50%, 6%, 0) !important;
  }
}

/* === Den-SHOW v1.0 RC8 / Watermark density + front HERO stream hierarchy === */

/* Business-page watermarks use the same visual density as front-page sections. */
body.denshow-theme
  .ds-page--business-detail
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
    .ds-commerce-brands
  )
  > .ds-section-watermark {
  opacity: 0.42 !important;
  mix-blend-mode: multiply !important;
  color: rgba(22, 32, 22, 0.04) !important;
}

/* Front HERO: all moving lines stay behind the alpha mark. */
body.denshow-theme.home #opening.ds-hero-v2 .ds-hero-v2__motion {
  z-index: 2 !important;
  opacity: 1 !important;
  mix-blend-mode: screen !important;
  animation: none !important;
}

body.denshow-theme.home #opening.ds-hero-v2 .ds-hero-v2__visual {
  position: absolute !important;
  z-index: 5 !important;
}

body.denshow-theme.home #opening.ds-hero-v2 .ds-hero-v2__alpha-glow {
  z-index: 1 !important;
}

body.denshow-theme.home #opening.ds-hero-v2 .ds-hero-v2__alpha {
  z-index: 2 !important;
}

/* Faster, longer, thicker and more luminous streams. */
body.denshow-theme.home #opening.ds-hero-v2 .ds-hero-v2__stream {
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(103, 231, 155, 0.12) 10%,
    rgba(119, 246, 170, 0.48) 38%,
    rgba(238, 255, 246, 0.94) 72%,
    rgba(255, 255, 255, 1) 88%,
    transparent 100%
  ) !important;
  box-shadow:
    0 0 10px rgba(112, 255, 172, 0.66),
    0 0 26px rgba(87, 238, 150, 0.46),
    0 0 54px rgba(87, 238, 150, 0.24) !important;
  filter: blur(0.12px) !important;
}

/* Legacy/static trail implementation is also forced behind alpha. */
body.denshow-theme.home
  .ds-page--hero-final
  .ds-hero-v23
  .ds-hero-light-trails {
  z-index: 1 !important;
}

body.denshow-theme.home .ds-page--hero-final .ds-hero-v23__stage {
  z-index: 2 !important;
}

body.denshow-theme.home .ds-page--hero-final .ds-hero-v23__alpha {
  z-index: 5 !important;
}

body.denshow-theme.home .ds-page--hero-final .ds-hero-v23 .ds-hero-light-trail {
  width: clamp(520px, 68vw, 1300px) !important;
  height: 2px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(105, 236, 112, 0.18) 14%,
    rgba(209, 255, 215, 0.72) 52%,
    rgba(255, 255, 255, 1) 72%,
    transparent 100%
  ) !important;
  box-shadow:
    0 0 20px rgba(105, 236, 112, 0.72),
    0 0 58px rgba(105, 236, 112, 0.38) !important;
  color: rgba(105, 236, 112, 0.98) !important;
}

body.denshow-theme.home
  .ds-page--hero-final
  .ds-hero-v23
  .ds-hero-light-trail--one {
  animation-duration: 4.1s !important;
}
body.denshow-theme.home
  .ds-page--hero-final
  .ds-hero-v23
  .ds-hero-light-trail--two {
  animation-duration: 4.8s !important;
}
body.denshow-theme.home
  .ds-page--hero-final
  .ds-hero-v23
  .ds-hero-light-trail--three {
  animation-duration: 3.7s !important;
}
body.denshow-theme.home
  .ds-page--hero-final
  .ds-hero-v23
  .ds-hero-light-trail--four {
  animation-duration: 5.2s !important;
}
body.denshow-theme.home
  .ds-page--hero-final
  .ds-hero-v23
  .ds-hero-light-trail--five {
  animation-duration: 4.4s !important;
}

@media (max-width: 760px) {
  body.denshow-theme
    .ds-page--business-detail
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
      .ds-commerce-brands
    )
    > .ds-section-watermark {
    opacity: 0.42 !important;
  }

  body.denshow-theme.home #opening.ds-hero-v2 .ds-hero-v2__stream {
    height: 1.5px !important;
  }
}

/* === Den-SHOW v1.0 RC9 / watermark parity + controlled Japanese line breaking === */

/*
 * Watermark density parity:
 * Front-page effective density is rgba(.040) × opacity(.42) = alpha .0168.
 * Business pages use the same final alpha directly so inherited opacity,
 * page-specific colors and mobile overrides cannot alter the appearance.
 */
html
  body.denshow-theme
  .ds-page--business-detail
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
    .ds-commerce-brands
  )
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--place
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--commerce
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
    .ds-commerce-brands
  )
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--technology
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--social-value
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
  > .ds-section-watermark {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: multiply !important;
  color: rgba(22, 32, 22, 0.0168) !important;
}

/* Japanese headings: prohibit character-by-character fragmentation. */
body.denshow-theme .ds-heading-controlled {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
  text-wrap: balance;
}

body.denshow-theme .ds-heading-controlled .ds-heading-line {
  display: block;
  white-space: nowrap;
}

body.denshow-theme .ds-heading-controlled--long {
  max-width: 100% !important;
  font-size: clamp(28px, 3.1vw, 48px) !important;
  line-height: 1.35 !important;
  letter-spacing: -0.035em !important;
}

/* Brand names must read as titles, not body copy. */
body.denshow-theme .ds-commerce-brand-card__name {
  margin: 10px 0 12px !important;
  color: #172019 !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: clamp(32px, 3.4vw, 50px) !important;
  font-weight: 700 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.045em !important;
  word-break: keep-all !important;
  text-wrap: balance;
}

body.denshow-theme .ds-commerce-brand-card__name::after {
  content: "";
  display: block;
  width: 46px;
  height: 2px;
  margin-top: 14px;
  background: currentColor;
  opacity: 0.28;
}

body.denshow-theme .ds-commerce-brand-card__name span {
  font-family: "Inter", sans-serif !important;
  font-size: 0.52em !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap;
}

body.denshow-theme .ds-commerce-brand-card__tagline {
  margin-top: 0 !important;
  color: rgba(23, 32, 25, 0.76) !important;
  font-size: clamp(17px, 1.45vw, 21px) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

@media (max-width: 760px) {
  html
    body.denshow-theme
    .ds-page--business-detail
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
      .ds-commerce-brands
    )
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--place
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--commerce
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
      .ds-commerce-brands
    )
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--technology
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--social-value
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
    > .ds-section-watermark {
    opacity: 1 !important;
    color: rgba(22, 32, 22, 0.012) !important;
  }

  body.denshow-theme .ds-heading-controlled .ds-heading-line {
    white-space: normal;
  }

  body.denshow-theme .ds-heading-controlled--long {
    font-size: clamp(25px, 7.2vw, 34px) !important;
    line-height: 1.4 !important;
  }

  body.denshow-theme .ds-commerce-brand-card__name {
    font-size: clamp(29px, 8.4vw, 40px) !important;
  }
}

/* === Den-SHOW v1.0 RC10 / business watermark optical parity + heading line control === */

/*
 * Root correction:
 * The earlier RC matched only calculated alpha. It did not match the front-page
 * typeface and stroke mass, so the business watermark still appeared thinner.
 * This rule matches the front-page sans-serif/900 rendering and sets a stable,
 * directly visible density after every legacy page-specific watermark rule.
 */
html
  body.denshow-theme
  .ds-page--business-detail
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
    .ds-commerce-brands
  )
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--place
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--commerce
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
    .ds-commerce-brands
  )
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--technology
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
  > .ds-section-watermark,
html
  body.denshow-theme
  .ds-page--social-value
  .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
  > .ds-section-watermark {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: multiply !important;
  color: rgba(31, 46, 29, 0.038) !important;
  font-family: "Inter", sans-serif !important;
  font-weight: 900 !important;
  -webkit-font-smoothing: antialiased;
}

/* Commerce philosophy: intentional three-line composition on desktop. */
body.denshow-theme .ds-heading-controlled--commerce-philosophy {
  text-align: left;
}

/* Technology proposal heading: intentional two-line, centered composition. */
body.denshow-theme .ds-heading-controlled--proposal {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.denshow-theme .ds-heading-controlled--proposal .ds-heading-line {
  text-align: center !important;
}

@media (max-width: 760px) {
  html
    body.denshow-theme
    .ds-page--business-detail
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
      .ds-commerce-brands
    )
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--place
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--commerce
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta):not(
      .ds-commerce-brands
    )
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--technology
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
    > .ds-section-watermark,
  html
    body.denshow-theme
    .ds-page--social-value
    .ds-business-section:not(.ds-business-future):not(.ds-business-cta)
    > .ds-section-watermark {
    opacity: 1 !important;
    color: rgba(31, 46, 29, 0.03) !important;
  }

  /* On narrow screens, preserve phrase integrity but allow safe viewport wrapping. */
  body.denshow-theme
    .ds-heading-controlled--commerce-philosophy
    .ds-heading-line,
  body.denshow-theme .ds-heading-controlled--proposal .ds-heading-line {
    white-space: normal !important;
  }
}

/* === Den-SHOW v1.0 RC11 / responsive heading and copy integrity === */

/* Technology proposal: use independent desktop/mobile compositions. */
body.denshow-theme .ds-heading-controlled--proposal .ds-proposal-heading {
  display: block;
}

body.denshow-theme
  .ds-heading-controlled--proposal
  .ds-proposal-heading--mobile {
  display: none;
}

body.denshow-theme .ds-heading-controlled--proposal .ds-heading-line {
  display: block;
  white-space: nowrap !important;
}

/* Commerce values: keep English labels intact inside four-column cards. */
body.denshow-theme
  .ds-page--commerce
  .ds-commerce-value-grid
  .ds-commerce-value-title {
  max-width: 100%;
  margin-inline: auto;
  font-size: clamp(0.98rem, 1.45vw, 1.34rem) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.025em !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

/* Keep the final semantic phrase together to avoid a two-character orphan. */
body.denshow-theme .ds-page--commerce .ds-commerce-future .ds-no-break-tail {
  white-space: nowrap;
}

@media (max-width: 760px) {
  body.denshow-theme
    .ds-heading-controlled--proposal
    .ds-proposal-heading--desktop {
    display: none;
  }

  body.denshow-theme
    .ds-heading-controlled--proposal
    .ds-proposal-heading--mobile {
    display: block;
  }

  body.denshow-theme .ds-heading-controlled--proposal {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(1.42rem, 6.25vw, 1.78rem) !important;
    line-height: 1.42 !important;
    letter-spacing: -0.035em !important;
  }

  body.denshow-theme .ds-heading-controlled--proposal .ds-heading-line {
    white-space: nowrap !important;
  }

  body.denshow-theme
    .ds-page--commerce
    .ds-commerce-value-grid
    .ds-commerce-value-title {
    font-size: clamp(1.12rem, 5.2vw, 1.36rem) !important;
    letter-spacing: -0.02em !important;
  }

  body.denshow-theme .ds-page--commerce .ds-commerce-future .ds-business-copy {
    max-width: 34rem;
    margin-inline: auto;
  }
}

@media (max-width: 374px) {
  body.denshow-theme .ds-heading-controlled--proposal {
    font-size: 1.34rem !important;
    letter-spacing: -0.045em !important;
  }

  body.denshow-theme .ds-page--commerce .ds-commerce-future .ds-no-break-tail {
    white-space: normal;
  }
}

/* === \n   Den-SHOW v1.0 RC12 — consolidated business system and utility pages\n === */
:root {
  --ds-business-hero-min-height: 760px;
  --ds-business-hero-overlay: rgba(8, 18, 13, 0.48);
  --ds-business-content-max: 1180px;
  --ds-watermark-color: rgba(31, 46, 29, 0.062);
  --ds-watermark-color-mobile: rgba(31, 46, 29, 0.048);
  --ds-watermark-size: clamp(5.2rem, 13vw, 13rem);
  --ds-section-space: clamp(88px, 10vw, 150px);
}

/* One canonical hero geometry for all four business pages. */
body.denshow-theme .ds-page--business-detail .ds-business-hero {
  position: relative !important;
  display: grid !important;
  overflow: hidden !important;
  min-height: var(--ds-business-hero-min-height) !important;
  align-items: center !important;
}
body.denshow-theme .ds-page--business-detail .ds-business-hero__image,
body.denshow-theme .ds-page--business-detail .ds-business-hero__overlay {
  position: absolute !important;
  inset: 0 !important;
}
body.denshow-theme .ds-page--business-detail .ds-business-hero__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
}
body.denshow-theme .ds-page--business-detail .ds-business-hero__overlay {
  background: linear-gradient(
    90deg,
    rgba(5, 12, 8, 0.74) 0%,
    var(--ds-business-hero-overlay) 52%,
    rgba(5, 12, 8, 0.22) 100%
  ) !important;
}
body.denshow-theme .ds-page--business-detail .ds-business-hero__content {
  position: relative !important;
  z-index: 2 !important;
  width: min(calc(100% - 48px), var(--ds-business-content-max)) !important;
  margin-inline: auto !important;
  padding-block: 150px 100px !important;
}
body.denshow-theme .ds-page--business-detail .ds-business-hero__title {
  max-width: 920px !important;
  margin: 24px 0 26px !important;
  font-size: clamp(2.55rem, 5vw, 5.4rem) !important;
  line-height: 1.17 !important;
  letter-spacing: -0.035em !important;
  text-wrap: balance;
}
body.denshow-theme .ds-page--business-detail .ds-business-hero__lead {
  max-width: 900px !important;
  margin: 0 !important;
  line-height: 1.95 !important;
}

/* Definitive watermark: section-relative, viewport-independent center. */
html
  body.denshow-theme
  .ds-page--business-detail
  .ds-business-section
  > .ds-section-watermark {
  position: absolute !important;
  top: clamp(24px, 4vw, 62px) !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  z-index: 0 !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: multiply !important;
  color: var(--ds-watermark-color) !important;
  font-family: "Inter", sans-serif !important;
  font-size: var(--ds-watermark-size) !important;
  font-weight: 900 !important;
  line-height: 0.82 !important;
  letter-spacing: -0.065em !important;
  text-align: center !important;
  white-space: nowrap !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}
body.denshow-theme .ds-page--business-detail .ds-business-section {
  position: relative !important;
}
body.denshow-theme
  .ds-page--business-detail
  .ds-business-section
  > .ds-container {
  position: relative;
  z-index: 1;
}

/* Utility legal tables */
.ds-legal-table {
  width: 100%;
  margin: 42px 0 72px;
  border-collapse: collapse;
}
.ds-legal-table th,
.ds-legal-table td {
  padding: 22px 18px;
  border-bottom: 1px solid rgba(20, 35, 25, 0.12);
  line-height: 1.85;
  text-align: left;
  vertical-align: top;
}
.ds-legal-table th {
  width: 29%;
  color: #1f2e1d;
  font-weight: 700;
}
.ds-legal-table tr:hover {
  background: rgba(31, 46, 29, 0.025);
}
.ds-license-grid {
  display: grid;
  margin-top: 36px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.ds-license-card {
  padding: 30px;
  border: 1px solid rgba(20, 35, 25, 0.13);
  border-radius: 18px;
  background: #fff;
}
.ds-license-card h3 {
  margin: 0 0 18px;
  font-size: 1.2rem;
}
.ds-license-card p {
  margin: 0.35em 0;
  line-height: 1.8;
}
.ds-sitemap-grid {
  display: grid;
  margin-top: 42px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
.ds-sitemap-group {
  padding: 30px;
  border: 1px solid rgba(20, 35, 25, 0.12);
  border-radius: 18px;
}
.ds-sitemap-group h2 {
  margin-top: 0;
}
.ds-sitemap-group a {
  display: block;
  padding: 9px 0;
  text-decoration: none;
}

@media (max-width: 760px) {
  :root {
    --ds-business-hero-min-height: 660px;
  }
  body.denshow-theme .ds-page--business-detail .ds-business-hero__content {
    width: min(calc(100% - 36px), var(--ds-business-content-max)) !important;
    padding-block: 120px 74px !important;
  }
  body.denshow-theme .ds-page--business-detail .ds-business-hero__title {
    font-size: clamp(2.15rem, 10vw, 3.25rem) !important;
    line-height: 1.2 !important;
  }
  html
    body.denshow-theme
    .ds-page--business-detail
    .ds-business-section
    > .ds-section-watermark {
    color: var(--ds-watermark-color-mobile) !important;
    font-size: clamp(3.8rem, 21vw, 7rem) !important;
  }
  .ds-legal-table,
  .ds-legal-table tbody,
  .ds-legal-table tr,
  .ds-legal-table th,
  .ds-legal-table td {
    display: block;
    width: 100%;
  }
  .ds-legal-table th {
    padding-bottom: 6px;
    border-bottom: 0;
  }
  .ds-legal-table td {
    padding-top: 0;
  }
  .ds-license-grid,
  .ds-sitemap-grid {
    grid-template-columns: 1fr;
  }
}

/* === RC13: Company licenses and branded footer signature === */
.ds-company-licenses > dd {
  width: 100%;
}
.ds-company-license-grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}
.ds-company-license-card {
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(16, 41, 31, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 12px 34px rgba(12, 31, 24, 0.045);
}
.ds-company-license-card h3 {
  margin: 0 0 18px;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.45;
  letter-spacing: 0.04em;
}
.ds-company-license-card p {
  margin: 7px 0;
  line-height: 1.75;
}
.ds-company-license-card .ds-license-name {
  font-weight: 700;
}
.ds-company-license-card .ds-license-number {
  margin-top: 16px;
  font-weight: 700;
  letter-spacing: 0.045em;
}
.ds-footer-signature {
  display: flex;
  gap: 3px;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1.45;
  letter-spacing: 0.045em;
}
.ds-footer-signature span:first-child {
  font-size: 0.82rem;
  font-weight: 500;
}
.ds-footer-signature span:last-child {
  opacity: 0.72;
  font-size: 0.72rem;
}
@media (max-width: 767px) {
  .ds-company-license-grid {
    grid-template-columns: 1fr;
  }
  .ds-footer-signature {
    margin-top: 12px;
    align-items: center;
    text-align: center;
  }
}
