/*
 * H&S mobile-first refinement.
 * Loaded last and scoped to phone widths so desktop stays unchanged.
 */
@media (max-width: 760px) {
  :root {
    --header-h: 56px;
    --container-gutter: 20px;
    --mobile-gutter: 20px;
    --mobile-section-space: 64px;
    --mobile-radius: 14px;
    --fs-body: 16px;
    --fs-card-text: 16px;
    --fs-lead: 16px;
    --fs-card-title: 20px;
    --fs-title: 34px;
  }

  html {
    scroll-padding-top: calc(var(--header-h) + 12px);
    -webkit-text-size-adjust: 100%;
  }

  body,
  p,
  li,
  dt,
  dd,
  th,
  td {
    font-size: 16px;
    line-height: 1.78;
  }

  h1,
  h2,
  h3 {
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  img {
    max-width: 100%;
  }

  /* Compact, legible header. */
  .site-header,
  .header-inner {
    min-height: var(--header-h);
  }

  .header-inner {
    width: 100%;
    padding-inline: 16px;
    gap: 8px;
  }

  .brand {
    min-width: 0;
    gap: 8px;
  }

  .brand-mark {
    font-size: 25px;
  }

  .brand-name {
    max-width: 8em;
    font-size: 11px;
    line-height: 1.2;
  }

  .header-actions {
    gap: 6px;
  }

  .language-switcher__toggle {
    width: 44px;
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
    padding: 0;
    border-radius: 10px;
  }

  .language-switcher__current {
    font-size: 0;
  }

  .language-switcher__current::after {
    content: "JA";
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
  }

  html[lang="en"] .language-switcher__current::after {
    content: "EN";
  }

  html[lang="zh-CN"] .language-switcher__current::after {
    content: "中文";
  }

  .language-switcher__chevron {
    display: none;
  }

  .language-switcher__menu {
    right: 0;
    min-width: 148px;
    border-radius: 12px;
  }

  .hamburger {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 10px;
  }

  /* Full-height navigation with a clear contact action. */
  .mobile-nav {
    top: var(--header-h);
    bottom: 0;
    height: calc(100svh - var(--header-h));
    max-height: none;
    align-content: start;
    padding: 10px 16px max(24px, env(safe-area-inset-bottom));
    border: 0;
    background: #f9fbfc;
    box-shadow: none;
    overscroll-behavior: contain;
  }

  .mobile-nav a,
  .mobile-nav__summary {
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: 14px 12px;
    border-top: 1px solid #e4eaf0;
    font-size: 16px;
  }

  .mobile-nav__summary::after {
    right: 14px;
  }

  .mobile-nav__panel {
    gap: 8px;
    margin-inline: -4px;
    padding: 12px;
    border-radius: 12px;
  }

  .mobile-nav .mobile-nav__business-link {
    min-height: 62px;
    padding: 12px 14px;
    border-radius: 10px;
  }

  .mobile-nav > a:last-child {
    justify-content: center;
    min-height: 54px;
    margin-top: 16px;
    border: 0;
    border-radius: 12px;
    background: #092f55;
    color: #fff;
    box-shadow: 0 10px 24px rgba(6, 35, 64, .14);
  }

  html.mobile-menu-open,
  html.mobile-menu-open body {
    overflow: hidden;
  }

  /* Consistent section rhythm. */
  .container,
  .arch-container,
  .fur-shell,
  .contact-page-inner,
  .legal-shell {
    width: min(calc(100% - 40px), var(--container, 1200px));
    margin-inline: auto;
  }

  body.energy-page main#top .psc-container {
    width: min(calc(100% - 32px), var(--container, 1200px));
    margin-inline: auto;
  }

  .arch-section,
  .psc-v2-section,
  .fur-section,
  .company,
  .news,
  .faq,
  .contact.site-contact {
    padding-block: var(--mobile-section-space);
  }

  body.energy-page main#top .psc-v2-section,
  body.energy-page main#top .psc-v2-technology,
  body.energy-page main#top .psc-v2-mission,
  body.energy-page main#top .psc-v2-final {
    min-height: 0;
    padding-block: 52px;
  }

  .section-heading,
  .arch-section__head,
  .psc-v2-section-head,
  .fur-title-row {
    margin-bottom: 28px;
  }

  body.energy-page main#top .psc-v2-section-head {
    margin-bottom: 20px;
  }

  body.energy-page main#top .psc-v2-section-head > p:last-child:not(.psc-v2-eyebrow) {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.75;
  }

  .section-heading-title,
  .arch-section h2,
  .psc-v2-section h2,
  .fur-section h2 {
    font-size: clamp(28px, 8.2vw, 34px);
    line-height: 1.35;
    letter-spacing: .015em;
  }

  /* Thumb-friendly actions. */
  .button,
  .arch-button,
  .fur-button,
  .contact-action,
  .submit-button {
    min-height: 52px;
  }

  .arch-hero__actions,
  .psc-v2-hero__actions,
  .fur-actions,
  .psc-v2-final__actions,
  .form-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .arch-hero__actions .button,
  .psc-v2-hero__actions .button,
  .fur-actions .fur-button,
  .psc-v2-final__actions .button,
  .form-actions .submit-button {
    width: 100%;
    justify-content: center;
  }

  /* Long processes become swipeable cards instead of miniature grids. */
  .arch-flow-list,
  .fur-oem-process__grid,
  .psc-v2-product-grid {
    display: flex;
    gap: 14px;
    margin-inline: calc(var(--mobile-gutter) * -1);
    padding-inline: var(--mobile-gutter);
    padding-bottom: 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }

  .arch-flow-list::-webkit-scrollbar,
  .fur-oem-process__grid::-webkit-scrollbar,
  .psc-v2-product-grid::-webkit-scrollbar {
    display: none;
  }

  .arch-flow-card,
  .fur-oem-process__grid > *,
  .psc-v2-product-grid > * {
    flex: 0 0 min(82vw, 320px);
    width: min(82vw, 320px);
    min-width: 0;
    scroll-snap-align: start;
  }

  .arch-flow::after,
  .fur-oem-process::after,
  .psc-v2-products::after {
    content: "横にスワイプして続きを見る →";
    display: block;
    width: min(calc(100% - 40px), var(--container, 1200px));
    margin: 12px auto 0;
    color: #6b7885;
    font-size: 12px;
    letter-spacing: .04em;
  }

  .fur-oem-process {
    display: block;
  }

  /* Dense card groups stack calmly. */
  .arch-card-grid,
  .arch-reason-grid,
  .arch-case-grid,
  .fur-needs__grid,
  .fur-method__grid,
  .fur-cases__grid,
  .psc-v2-check-grid,
  .psc-v2-example-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* Match the Index delivery flow's compact image-and-copy rows. */
  body.energy-page main#top .psc-v2-check-grid {
    gap: 10px;
  }

  body.energy-page main#top .psc-v2-check-grid::before {
    content: none;
  }

  body.energy-page main#top .psc-v2-check-grid article {
    position: relative;
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 2px 13px;
    min-height: 0;
    padding: 9px;
  }

  body.energy-page main#top .psc-v2-check-grid article > span {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 4px;
    background: rgba(0, 42, 67, .92);
    color: #fff;
    font-size: 11px;
    box-shadow: none;
  }

  body.energy-page main#top .psc-v2-check-visual {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 104px;
    height: 74px;
    border-radius: 5px;
  }

  body.energy-page main#top .psc-v2-check-grid article > div {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 0;
  }

  body.energy-page main#top .psc-v2-check-grid article > div > p {
    margin-bottom: 2px;
    font-size: 9px;
    line-height: 1.35;
  }

  body.energy-page main#top .psc-v2-check-grid h3 {
    margin: 0 0 2px;
    font-size: 15px;
    line-height: 1.35;
  }

  body.energy-page main#top .psc-v2-check-grid article > ul {
    grid-column: 2;
    grid-row: 2;
    gap: 2px;
    align-self: start;
    margin: 0;
    padding: 0;
  }

  body.energy-page main#top .psc-v2-check-grid li {
    padding-left: 10px;
    font-size: 11px;
    line-height: 1.5;
  }

  body.energy-page main#top .psc-v2-products__note {
    margin-top: 14px;
    font-size: 11px;
    line-height: 1.6;
    text-align: left;
  }

  /* Perovskite characteristics: compact two-by-two grid. */
  body.energy-page main#top .psc-v2-properties {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.energy-page main#top .psc-v2-properties article {
    display: block;
    min-height: 0;
    padding: 10px;
  }

  body.energy-page main#top .psc-v2-properties article:nth-child(n) {
    border-right: 0;
    border-bottom: 0;
  }

  body.energy-page main#top .psc-v2-properties article:nth-child(odd) {
    border-right: 1px solid var(--psc-v2-line);
  }

  body.energy-page main#top .psc-v2-properties article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--psc-v2-line);
  }

  body.energy-page main#top .psc-v2-property-photo {
    width: 100%;
    height: 88px;
    aspect-ratio: auto;
  }

  body.energy-page main#top .psc-v2-properties article > div:last-child {
    padding: 9px 0 0;
  }

  body.energy-page main#top .psc-v2-properties span {
    font-size: 8px;
  }

  body.energy-page main#top .psc-v2-properties h3 {
    margin: 3px 0 4px;
    font-size: 15px;
  }

  body.energy-page main#top .psc-v2-properties p {
    font-size: 11px;
    line-height: 1.55;
  }

  /* Mission route: preserve the sequence without oversized arrow gaps. */
  body.energy-page main#top .psc-v2-mission__route {
    gap: 0;
    margin-top: 28px;
    padding: 10px 14px;
  }

  body.energy-page main#top .psc-v2-mission__route > div {
    min-height: 84px;
    padding: 10px 4px;
  }

  body.energy-page main#top .psc-v2-mission__route i {
    margin: -2px 0;
    font-size: 22px;
    line-height: 1;
  }

  /* Application cards end naturally after their copy and action. */
  body.energy-page main#top .psc-v2-example-grid article {
    min-height: 0;
  }

  body.energy-page main#top .psc-v2-example-grid figure {
    height: 180px;
  }

  body.energy-page main#top .psc-v2-example-grid article > .psc-v2-example-card__copy {
    padding: 16px;
  }

  body.energy-page main#top .psc-v2-example-grid a {
    margin-top: 18px;
    padding-top: 0;
  }

  /* The existing numeric markers remain visible on the diagrams on phones. */
  body.energy-page main#top .psc-v2-layer-diagram__visual {
    min-height: 650px;
  }

  body.energy-page main#top .psc-v2-layer-diagram__visual > img {
    inset: 310px 0 auto;
    width: 100%;
    height: 330px;
  }

  body.energy-page main#top .psc-v2-layer-pins {
    display: block;
  }

  body.energy-page main#top .psc-v2-layer-pins span {
    left: 88%;
    width: 24px;
    height: 24px;
    font-size: 9px;
  }

  body.energy-page main#top .psc-v2-layer-pins span:nth-child(1) { left: 88%; top: 52%; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(2) { left: 88%; top: 58%; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(3) { left: 88%; top: 64%; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(4) { left: 88%; top: 70%; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(5) { left: 88%; top: 76%; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(6) { left: 88%; top: 82%; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(7) { left: 88%; top: 88%; }

  /* Architecture consultation: two columns halve the vertical footprint. */
  body[data-page="architecture"] main#top .arch-simple-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body[data-page="architecture"] main#top .arch-simple-card {
    min-height: 80px;
    padding: 12px 10px 12px 32px;
    font-size: 12px;
    line-height: 1.5;
  }

  body[data-page="architecture"] main#top .arch-simple-card::before {
    left: 12px;
    width: 8px;
    height: 8px;
  }

  /* Architecture support flow uses the same compact row scale as Index. */
  body[data-page="architecture"] main#top .arch-flow-list {
    gap: 10px;
  }

  body[data-page="architecture"] main#top .arch-flow-card {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    gap: 2px 13px;
    min-height: 0;
    padding: 9px;
  }

  body[data-page="architecture"] main#top .arch-flow-card__media {
    grid-column: 1;
    grid-row: 1 / 4;
    width: 116px;
    height: 82px;
    margin: 0;
    aspect-ratio: auto;
    border-radius: 5px;
  }

  body[data-page="architecture"] main#top .arch-flow-card .arch-card-num,
  body[data-page="architecture"] main#top .arch-flow-card h3,
  body[data-page="architecture"] main#top .arch-flow-card p {
    grid-column: 2;
    margin: 0;
  }

  body[data-page="architecture"] main#top .arch-flow-card .arch-card-num {
    font-size: 9px;
  }

  body[data-page="architecture"] main#top .arch-flow-card h3 {
    font-size: 15px;
    line-height: 1.35;
  }

  body[data-page="architecture"] main#top .arch-flow-card p {
    font-size: 11px;
    line-height: 1.5;
  }

  body[data-page="architecture"] main#top .arch-flow-card p br {
    display: none;
  }

  body[data-page="architecture"] main#top .arch-module__markers {
    display: block;
  }

  body[data-page="architecture"] main#top .arch-module__markers i {
    left: 78%;
    display: grid;
    width: 26px;
    height: 26px;
    font-size: 10px;
  }

  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(1) { top: 72px; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(2) { top: 122px; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(3) { top: 172px; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(4) { top: 222px; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(5) { top: 272px; }

  /* Reset desktop card placement as well as the parent column count.
     Without this, nth-child rules recreate narrow implicit grid columns. */
  .arch-case-grid > article:nth-child(n),
  .fur-needs__grid > article:nth-child(n) {
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100%;
    min-width: 0;
  }

  .arch-image-card,
  .arch-simple-card,
  .arch-reason-card,
  .arch-case-card,
  .fur-mini-card,
  .psc-v2-example-grid > * {
    border-radius: var(--mobile-radius);
  }

  /* Service-page first views favor clarity over decorative height. */
  .arch-hero,
  .psc-v2-hero,
  .fur-hero {
    min-height: max(620px, 84svh);
  }

  .arch-hero__inner,
  .psc-v2-hero__inner,
  .fur-hero__inner {
    min-height: max(620px, 84svh);
    align-items: end;
    padding-top: calc(var(--header-h) + 56px);
    padding-bottom: 52px;
  }

  .arch-hero h1,
  .psc-v2-hero h1,
  .fur-hero h1 {
    font-size: clamp(36px, 10.5vw, 46px);
    line-height: 1.18;
  }

  .arch-hero__lead,
  .psc-v2-hero__copy > p,
  .fur-hero__lead {
    max-width: 30em;
    font-size: 16px;
    line-height: 1.75;
  }

  /* Predictable image proportions and one-column feature layouts. */
  .arch-image-card__media,
  .arch-flow-card__media,
  .fur-photo-card,
  .psc-v2-property-photo {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .arch-module__overview,
  .arch-module__anatomy,
  .fur-materials__layout,
  .psc-v2-mission__content,
  .psc-v2-tech-board,
  .psc-v2-final > .psc-container {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  /* One-column forms; 16px controls avoid iOS focus zoom. */
  .form-rows,
  .form-row {
    grid-template-columns: 1fr;
  }

  .form-row input,
  .form-row select,
  .form-row textarea {
    min-height: 52px;
    font-size: 16px;
    border-radius: 10px;
  }

  .form-row textarea {
    min-height: 150px;
  }

  .contact-form-section {
    padding: calc(var(--header-h) + 40px) 0 64px;
  }

  .contact-form-shell {
    padding: 0;
  }

  .contact-form {
    padding: 22px 18px;
    border-radius: 14px;
  }

  .legal-main {
    padding-top: calc(var(--header-h) + 36px);
  }

  .legal-hero h1 {
    font-size: clamp(30px, 8.5vw, 38px);
  }

  .legal-section {
    padding-block: 28px;
  }

  /* One clear contact action. */
  .contact-inner {
    width: min(calc(100% - 40px), var(--container, 1200px));
  }

  .contact-cta {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px 20px;
    border-radius: 14px;
  }

  .contact-action {
    width: 100%;
  }

  .contact-phone {
    align-items: flex-start;
  }

  /* Shorter footer with comfortable touch targets. */
  .footer-inner {
    padding: 32px 20px 24px;
  }

  .footer-main {
    gap: 22px;
  }

  .footer-brand {
    padding-bottom: 4px;
  }

  .footer-column,
  .footer-contact-panel {
    padding-block: 14px;
  }

  .footer-link-list a,
  .footer-legal a,
  .footer-legal-link {
    min-height: 42px;
  }

  .footer-bottom-inner {
    gap: 8px;
    padding-inline: 20px;
  }

  /* Cookie choices remain usable without covering the entire screen. */
  .footer-cookie {
    max-height: min(78svh, 620px);
    overflow-y: auto;
    padding: 18px 18px max(18px, env(safe-area-inset-bottom));
  }

  .footer-cookie__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .footer-cookie__agree {
    grid-column: 1 / -1;
    width: 100%;
  }

  /* Quicker reveal motion on touch. */
  .reveal-target {
    --reveal-y: 14px !important;
    transition-duration: .55s !important;
  }
}

@media (max-width: 760px) {
  /* Home: no intro wait, shorter and immediately actionable first view. */
  .home-intro {
    display: none !important;
  }

  html.home-intro-active,
  html.home-intro-active body {
    overflow: auto;
  }

  main#top {
    --home-hero-frame: max(620px, 86svh);
    --home-mission-frame: auto;
    --home-business-frame: auto;
    --home-section-space: var(--mobile-section-space);
    --home-experience-overlay-opacity: .64;
    --home-experience-overlay:
      linear-gradient(180deg, rgba(2, 13, 24, .18) 0%, rgba(2, 13, 24, .38) 42%, rgba(2, 13, 24, .86) 100%),
      linear-gradient(90deg, rgba(2, 13, 24, .5), rgba(2, 13, 24, .08));
  }

  main#top .brand-experience {
    min-height: 0;
  }

  main#top .experience-media,
  main#top .experience-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: auto;
    min-height: 0;
    margin: 0;
  }

  main#top .hero {
    min-height: var(--home-hero-frame);
  }

  main#top .hero-inner {
    width: min(calc(100% - 40px), var(--container));
    min-height: var(--home-hero-frame);
    align-items: end;
    padding: calc(var(--header-h) + 48px) 0 54px;
  }

  main#top .hero-copy {
    width: 100%;
  }

  main#top .hero__slide--material,
  main#top .hero__slide--manufacturing,
  main#top .hero__slide--logistics,
  main#top .hero__slide--architecture,
  main#top .hero__slide--space {
    --hero-image-position: 82% center;
  }

  main#top .hero-copy::before {
    left: -10px;
  }

  main#top .hero .hero-title {
    max-width: 8.6em;
    font-size: clamp(42px, 12vw, 54px);
    line-height: .98;
  }

  main#top .hero-thought {
    max-width: 22em;
    margin-top: 16px;
    font-size: 16px;
  }

  main#top .hero .actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    margin-top: 22px;
  }

  main#top .hero .button {
    width: 100%;
    min-height: 52px;
    justify-content: center;
  }

  /* Mobile-only table of contents for the long home page. */
  .mobile-quick-nav {
    position: relative;
    z-index: 5;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 10px 12px;
    border-bottom: 1px solid #dfe6ec;
    background: #fff;
  }

  .mobile-quick-nav a {
    display: grid;
    min-height: 52px;
    place-items: center;
    padding: 6px 4px;
    border-right: 1px solid #e6ebef;
    color: #12334f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
  }

  .mobile-quick-nav a:last-child {
    border-right: 0;
    color: #8c6825;
  }

  /* Edit mission copy down to phone-reading length. */
  main#top .mission {
    min-height: 0;
    padding: 64px 0 72px;
  }

  main#top .mission__inner {
    width: min(calc(100% - 40px), 760px);
    gap: 18px;
  }

  main#top .mission__content {
    padding-left: 18px;
  }

  main#top .mission__title {
    font-size: clamp(31px, 9vw, 38px);
    line-height: 1.3;
  }

  main#top .mission__text {
    gap: 12px;
    margin-top: 18px;
    font-size: 15px;
    line-height: 1.78;
  }

  main#top .mission__text span:nth-child(n + 3) {
    display: none;
  }

  /* Replace the desktop scroll story with three visible business cards. */
  main#top .business-experience {
    min-height: 0;
    padding: 64px 0 76px;
    background: linear-gradient(145deg, #071d31, #0a3457);
  }

  main#top .business-experience::after,
  main#top .business-experience__media,
  main#top .business-experience__overlay,
  main#top .business-progress {
    display: none;
  }

  main#top .business-experience__stage {
    position: relative;
    top: auto;
    display: block;
    min-height: 0;
    padding: 0;
    overflow: visible;
  }

  main#top .business-experience__inner {
    width: min(calc(100% - 40px), 1500px);
    gap: 12px;
    justify-items: stretch;
  }

  main#top .business-experience__label,
  main#top .business-experience__title {
    justify-self: start;
    text-align: left;
  }

  main#top .business-experience__title {
    margin-bottom: 18px;
    font-size: 34px;
  }

  main#top .business-scenes {
    grid-template-columns: 1fr;
    gap: 12px;
    width: 100%;
    margin: 0;
  }

  main#top .business-scene,
  main#top .business-scene:not(.is-visible) {
    display: grid;
    min-height: 0;
    padding: 20px 18px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 14px;
    background: rgba(255, 255, 255, .06);
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
  }

  main#top .business-scene h3 {
    font-size: 22px;
    white-space: normal;
  }

  main#top .business-scene p:not(.business-scene__meta) {
    min-height: 0;
    margin-top: 10px;
    font-size: 15px;
    line-height: 1.72;
  }

  main#top .business-scene .text-link {
    min-height: 44px;
    align-items: center;
    margin-top: 12px;
    font-size: 15px;
  }

  /* The 8-step process is intentionally swipeable. */
  .reason-panel--requirements .delivery-steps-scroll {
    margin-inline: -20px;
    padding-inline: 20px;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }

  .reason-panel--requirements .delivery-steps-scroll::-webkit-scrollbar {
    display: none;
  }

  .reason-panel--requirements .delivery-steps {
    grid-template-columns: repeat(8, min(72vw, 260px));
    gap: 14px;
  }

  .reason-panel--requirements .delivery-steps > li {
    scroll-snap-align: start;
  }

  .reason-panel--requirements .delivery-step__visual {
    height: 190px;
  }

  .reason-panel__header {
    grid-template-columns: 48px 1fr;
    gap: 14px;
  }

  .reason-panel__number,
  .reason-panel--route .reason-panel__number {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    font-size: 20px;
  }

  .reason-panel__header h3 {
    font-size: 22px;
  }

  /* Show three common FAQ entries first; the existing modal holds the rest. */
  main#top .faq-list .faq-item:nth-child(n + 4) {
    display: none;
  }

  main#top .faq-tabs,
  .faq-modal-tabs {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 72%;
    grid-template-columns: none;
    margin-inline: -20px;
    padding-inline: 20px;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
  }

  main#top .faq-tabs::-webkit-scrollbar,
  .faq-modal-tabs::-webkit-scrollbar {
    display: none;
  }

  .faq-tab {
    min-height: 48px;
    scroll-snap-align: start;
  }

  .faq-question {
    min-height: 64px;
    padding: 14px 4px;
  }

  .faq-note-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .faq-cta {
    width: 100%;
    min-height: 50px;
    justify-content: center;
  }

  .faq-modal {
    place-items: stretch;
    padding: 0;
  }

  .faq-modal-panel {
    inset: auto;
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    min-height: 0;
    border-radius: 0;
  }

  .faq-modal-head {
    flex: 0 0 auto;
    padding-top: max(64px, calc(44px + env(safe-area-inset-top)));
  }

  .faq-modal-close {
    top: max(12px, env(safe-area-inset-top));
    right: max(12px, env(safe-area-inset-right));
  }

  .faq-modal-panels {
    min-height: 0;
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }

  /* Company data becomes a readable label/value stack. */
  .company-grid {
    gap: 24px;
  }

  .company-title {
    font-size: 32px;
  }

  .profile-table th,
  .profile-table td {
    display: block;
    width: 100%;
    padding: 9px 12px;
  }

  .profile-table th {
    border-bottom: 0;
  }

  .profile-table td {
    padding-top: 2px;
  }

  .news h2 span {
    display: block;
    margin: 4px 0 0;
    font-size: 13px;
  }
}

@media (min-width: 761px) {
  .mobile-quick-nav {
    display: none;
  }
}

@media (max-width: 380px) {
  .brand-name {
    display: none;
  }

  .mobile-quick-nav {
    padding-inline: 8px;
  }

  .mobile-quick-nav a {
    font-size: 11px;
  }
}

/* Final first-view guard: later legacy mobile rules must not push actions down. */
@media (max-width: 760px) {
  body.home-page main#top { --home-hero-frame: 100svh; }
  body.home-page main#top .hero,
  body[data-page="architecture"] main#top .arch-hero,
  body.energy-page main#top .psc-v2-hero,
  body.furniture-page main#top .fur-hero { min-height: 100svh; }

  body.home-page main#top .hero-inner,
  body[data-page="architecture"] main#top .arch-hero__inner,
  body.energy-page main#top .psc-v2-hero__inner,
  body.furniture-page main#top .fur-hero__inner {
    box-sizing: border-box;
    min-height: 100svh;
    align-items: center;
    padding-top: calc(var(--header-h) + clamp(20px, 5svh, 48px));
    padding-bottom: clamp(24px, 5svh, 48px);
  }

  body[data-page="architecture"] main#top .arch-hero__copy,
  body.energy-page main#top .psc-v2-hero__copy,
  body.furniture-page main#top .fur-hero__copy.reveal { width: 100%; padding-block: 0; }

  body.home-page main#top .hero .actions,
  body[data-page="architecture"] main#top .arch-hero__actions,
  body.energy-page main#top .psc-v2-hero__actions,
  body.furniture-page main#top .fur-hero .fur-actions { margin-top: clamp(18px, 3svh, 26px); }
}

@media (min-width: 380px) and (max-width: 760px) {
  body.home-page main#top .hero .actions,
  body[data-page="architecture"] main#top .arch-hero__actions,
  body.energy-page main#top .psc-v2-hero__actions,
  body.furniture-page main#top .fur-hero .fur-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  body.home-page main#top .hero .actions .button,
  body[data-page="architecture"] main#top .arch-hero__actions .button,
  body.energy-page main#top .psc-v2-hero__actions .button,
  body.furniture-page main#top .fur-hero .fur-button { min-width: 0; padding-inline: 12px; font-size: 14px; }
}

@media (max-width: 760px) and (max-height: 760px) {
  body.home-page main#top .hero-inner,
  body[data-page="architecture"] main#top .arch-hero__inner,
  body.energy-page main#top .psc-v2-hero__inner,
  body.furniture-page main#top .fur-hero__inner {
    align-items: end;
    padding-top: calc(var(--header-h) + 14px);
    padding-bottom: 18px;
  }

  body.home-page main#top h1.hero-title,
  body[data-page="architecture"] main#top .arch-hero h1,
  body.energy-page main#top .psc-v2-hero__copy h1,
  body.furniture-page main#top .fur-hero h1 { font-size: clamp(28px, 8vw, 32px); line-height: 1.22; }

  body[data-page="architecture"] main#top .arch-hero__lead,
  body.energy-page main#top .psc-v2-hero__copy > p:not(.psc-kicker),
  body.furniture-page main#top .fur-hero__lead,
  body.home-page main#top .hero-thought { margin-top: 10px; font-size: 14px; line-height: 1.55; }

  body.home-page main#top .hero .actions,
  body[data-page="architecture"] main#top .arch-hero__actions,
  body.energy-page main#top .psc-v2-hero__actions,
  body.furniture-page main#top .fur-hero .fur-actions { gap: 8px; margin-top: 14px; }

  body.home-page main#top .hero .actions .button,
  body[data-page="architecture"] main#top .arch-hero__actions .button,
  body.energy-page main#top .psc-v2-hero__actions .button,
  body.furniture-page main#top .fur-hero .fur-button { min-height: 46px; padding-block: 9px; }
}

/* Furniture mobile: clean infographic and vertical OEM process. */
@media (max-width: 760px) {
  body.furniture-page main#top .furniture-spark {
    display: none;
  }

  body.furniture-page main#top .furniture-delivery-badge {
    justify-self: center;
    margin-inline: auto;
  }

  body.furniture-page main#top .fur-oem-process__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin-inline: 0;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  body.furniture-page main#top .fur-oem-process__grid > * {
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    grid-template-rows: 1fr;
    gap: 13px;
    width: 100%;
    min-width: 0;
    min-height: 100px;
    padding: 9px;
    scroll-snap-align: none;
  }

  body.furniture-page main#top .fur-oem-process__visual {
    grid-column: 1;
    grid-row: 1;
    width: 116px;
    height: 82px;
    margin: 0;
    border-radius: 5px;
  }

  body.furniture-page main#top .fur-oem-process__visual small {
    top: 5px;
    left: 5px;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 4px;
    font-size: 11px;
    box-shadow: none;
  }

  body.furniture-page main#top .fur-oem-process__visual small span {
    display: none;
  }

  body.furniture-page main#top .fur-oem-process__copy {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    padding: 0;
  }

  body.furniture-page main#top .fur-oem-process__meta {
    margin-bottom: 2px;
    font-size: 9px;
    line-height: 1.35;
  }

  body.furniture-page main#top .fur-oem-process__copy h3 {
    margin: 0;
    font-size: 15px;
    line-height: 1.35;
  }

  body.furniture-page main#top .fur-oem-process__copy > p:last-child {
    margin-top: 3px;
    font-size: 11px;
    line-height: 1.5;
  }

  body.furniture-page main#top .fur-oem-process::after {
    content: none;
    display: none;
  }

  body.energy-page main#top .psc-v2-layer-text {
    width: 100%;
    padding-right: 0;
    background: transparent;
    box-shadow: none;
  }

  body.furniture-page main#top .fur-photo-card {
    height: auto;
    min-height: 0;
    aspect-ratio: auto;
    overflow: visible;
  }

  body.furniture-page main#top .fur-photo-card img {
    display: block;
    height: auto;
    aspect-ratio: 1.55;
  }

  body.furniture-page main#top .fur-photo-card > div {
    min-height: 0;
    overflow: visible;
  }

  body.home-page main#top .faq-tabs,
  body.home-page .faq-modal-tabs {
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-inline: 0;
    padding-inline: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  body.home-page main#top .faq-tab,
  body.home-page .faq-modal-tabs .faq-tab {
    min-width: 0;
    min-height: 62px;
    padding: 10px 6px;
    font-size: 12px;
    line-height: 1.35;
    white-space: normal;
    text-wrap: balance;
  }
}

@media (min-width: 340px) and (max-width: 379px) {
  body.home-page main#top .hero .actions,
  body[data-page="architecture"] main#top .arch-hero__actions,
  body.energy-page main#top .psc-v2-hero__actions,
  body.furniture-page main#top .fur-hero .fur-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.home-page main#top .hero .actions .button,
  body[data-page="architecture"] main#top .arch-hero__actions .button,
  body.energy-page main#top .psc-v2-hero__actions .button,
  body.furniture-page main#top .fur-hero .fur-button {
    min-width: 0;
    padding-inline: 8px;
    font-size: 13px;
  }
}

@media (max-width: 760px) {
  body.home-page main#top .hero {
    box-sizing: border-box;
  }

  body.home-page main#top .hero-inner {
    min-height: calc(100svh - var(--header-h));
  }
}

/* Final responsive contract shared by the public pages. */
@media (max-width: 760px) {
  /* Keep the background photograph within the actual first view. */
  body.home-page main#top .experience-media,
  body.home-page main#top .experience-overlay {
    top: 0;
    bottom: auto;
    height: 100svh;
  }

  body.home-page main#top .hero,
  body[data-page="architecture"] main#top .arch-hero,
  body.energy-page main#top .psc-v2-hero,
  body.furniture-page main#top .fur-hero {
    min-height: 100svh;
    max-height: none;
  }

  body.home-page main#top .hero-inner,
  body[data-page="architecture"] main#top .arch-hero__inner,
  body.energy-page main#top .psc-v2-hero__inner,
  body.furniture-page main#top .fur-hero__inner {
    min-height: 100svh;
    align-items: center;
    padding-top: calc(var(--header-h) + 18px);
    padding-bottom: 24px;
  }

  body.home-page main#top .hero-copy,
  body[data-page="architecture"] main#top .arch-hero__copy,
  body.energy-page main#top .psc-v2-hero__copy,
  body.furniture-page main#top .fur-hero__copy {
    transform: translateY(-2svh);
  }

  body.home-page main#top .hero__slide img,
  body[data-page="architecture"] main#top .arch-hero__media img,
  body.energy-page main#top .psc-v2-hero__media img,
  body.furniture-page main#top .fur-hero__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body.home-page main#top .hero__slide img { object-position: 68% center; }
  body[data-page="architecture"] main#top .arch-hero__media img { object-position: 62% center; }
  body.energy-page main#top .psc-v2-hero__media img { object-position: 61% center; }
  body.furniture-page main#top .fur-hero__image { object-position: 58% center; }

  /* Service highlights follow the photographic first view instead of making
     the absolutely positioned background stretch through the whole card list. */
  body[data-page="architecture"] main#top .arch-hero__media,
  body.energy-page main#top .psc-v2-hero__media,
  body.energy-page main#top .psc-v2-hero__shade {
    top: 0;
    bottom: auto;
    height: 100svh;
  }

  body[data-page="architecture"] main#top .arch-assurance-wrap,
  body.energy-page main#top .psc-v2-benefits {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 18px 20px 28px;
    color: var(--ink);
    background: #f5f7f8;
  }

  body[data-page="architecture"] main#top .arch-assurance,
  body.energy-page main#top .psc-v2-benefits {
    width: 100%;
  }

  body[data-page="architecture"] main#top .arch-assurance li,
  body.energy-page main#top .psc-v2-benefits > div {
    color: var(--ink);
    background: #fff;
    border-color: #dce3e8;
  }

  body.energy-page main#top .psc-v2-benefits :is(strong, small),
  body[data-page="architecture"] main#top .arch-assurance strong {
    color: var(--ink);
    text-shadow: none;
  }

  /* Architecture process reads in order without requiring horizontal gestures. */
  body[data-page="architecture"] main#top .arch-flow-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
    margin-inline: 0;
    padding: 0;
    overflow: visible;
    scroll-snap-type: none;
  }

  body[data-page="architecture"] main#top .arch-flow-card {
    width: 100%;
    min-width: 0;
    scroll-snap-align: none;
  }

  body[data-page="architecture"] main#top .arch-flow::after {
    content: none;
  }

  /* Comparison diagram becomes two vertical, self-contained routes. */
  body.home-page main#top .reason-panel--route .route-showcase {
    width: 100%;
    margin-inline: 0;
    overflow: visible;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general,
  body.home-page main#top .reason-panel--route .route-showcase__primary {
    width: 100%;
    min-width: 0;
    margin-inline: 0;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i {
    display: none;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 16px;
    min-height: 0;
    padding: 58px 16px 28px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    width: 2px;
    height: 38px;
    margin: 0;
    background: var(--gold);
    transform: none;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow::after {
    right: auto;
    bottom: -1px;
    left: -4px;
    transform: rotate(135deg);
  }

  body.home-page main#top .route-showcase__services {
    position: static;
    margin: 12px 0 0;
  }

  /* Swipe rows show a card preview and a visible gesture cue. */
  body.home-page main#top .reason-panel--requirements .delivery-steps-scroll,
  body.energy-page main#top .psc-v2-product-grid {
    scroll-padding-inline: 20px;
  }

  body.home-page main#top .reason-panel--requirements::after,
  body.energy-page main#top .psc-v2-products::after {
    content: "SWIPE  →";
    display: block;
    margin-top: 10px;
    color: #667684;
    font: 700 12px/1.4 var(--font-en);
    letter-spacing: .12em;
    text-align: right;
  }

  /* Reserve image space while lazy images decode. */
  .arch-flow-card__media,
  .fur-oem-process__visual,
  .psc-v2-product-grid figure,
  .delivery-step__visual,
  .insights-card__media {
    background: linear-gradient(110deg, #e7ecef 25%, #f3f5f6 40%, #e7ecef 55%);
    background-size: 220% 100%;
  }
}

@media (max-width: 360px) {
  body.home-page main#top .hero .hero-title,
  body[data-page="architecture"] main#top .arch-hero h1,
  body.energy-page main#top .psc-v2-hero__copy h1,
  body.furniture-page main#top .fur-hero h1 {
    font-size: clamp(28px, 9vw, 34px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__slide,
  .hero__slide img,
  .reveal-target,
  [data-animate],
  .rv {
    animation: none !important;
    transition: none !important;
  }

  .hero__slide.is-active,
  .reveal-target,
  [data-animate],
  .rv {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

/* 2026-08 mobile editorial pass: compact, directional, and image-led. */
@media (max-width: 760px) {
  body.home-page main#top .mobile-quick-nav {
    display: none !important;
  }

  body.home-page main#top .mission__inner,
  body.home-page main#top .business-experience__inner,
  body.home-page main#top .why-visual__inner,
  body.home-page main#top .faq-inner,
  body.home-page main#top .home-insights__inner,
  body.home-page main#top .company-inner,
  body.home-page main#top .news-inner {
    width: min(calc(100% - 32px), 1500px);
  }

  body.home-page main#top .mission {
    padding-block: 52px 58px;
  }

  body.home-page main#top .mission__title,
  body.home-page main#top .business-experience__title,
  body.home-page main#top .why-visual__header h2,
  body.home-page main#top .faq-title,
  body.home-page main#top .home-insights__title,
  body.home-page main#top .company-title {
    font-size: clamp(27px, 8.2vw, 34px);
    line-height: 1.25;
  }

  body.home-page main#top .mission__text {
    font-size: 14px;
    line-height: 1.82;
  }

  /* BUSINESS: three compact editorial cards with their own photography. */
  body.home-page main#top .business-experience {
    padding: 54px 0 60px;
  }

  body.home-page main#top .business-experience__title {
    margin-bottom: 12px;
  }

  body.home-page main#top .business-scenes {
    gap: 10px;
  }

  body.home-page main#top .business-scene,
  body.home-page main#top .business-scene:not(.is-visible) {
    position: relative;
    grid-template-columns: 92px minmax(0, 1fr);
    grid-template-rows: auto auto 1fr auto;
    column-gap: 14px;
    min-height: 146px;
    padding: 12px 14px 12px 0;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 8px;
    background: rgba(255, 255, 255, .97);
    color: var(--ink);
    box-shadow: 0 12px 28px rgba(0, 9, 20, .16);
  }

  body.home-page main#top .business-scene::before {
    content: "";
    grid-column: 1;
    grid-row: 1 / 5;
    align-self: stretch;
    min-height: 120px;
    background-position: center;
    background-size: cover;
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
  }

  body.home-page main#top .business-scene:nth-child(1)::before {
    background-image: linear-gradient(rgba(5, 27, 46, .08), rgba(5, 27, 46, .22)), url("../images/psc/psc-hero-bipv.webp");
    background-position: 62% center;
  }

  body.home-page main#top .business-scene:nth-child(2)::before {
    background-image: linear-gradient(rgba(5, 27, 46, .06), rgba(5, 27, 46, .18)), url("../hs-architecture-modular-business-v3.webp");
  }

  body.home-page main#top .business-scene:nth-child(3)::before {
    background-image: linear-gradient(rgba(5, 27, 46, .06), rgba(5, 27, 46, .18)), url("../hs-furniture-oem-business-v3.webp");
  }

  body.home-page main#top .business-scene > * {
    grid-column: 2;
    min-width: 0;
  }

  body.home-page main#top .business-scene__meta {
    margin: 0 0 3px;
    color: #9a7438;
    font-size: 9px;
    letter-spacing: .08em;
  }

  body.home-page main#top .business-scene h3 {
    margin: 0;
    color: var(--navy);
    font-size: 17px;
    line-height: 1.42;
  }

  body.home-page main#top .business-scene p:not(.business-scene__meta) {
    display: -webkit-box;
    min-height: 0;
    margin: 5px 0 0;
    overflow: hidden;
    color: #526274;
    font-size: 12px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.home-page main#top .business-scene .text-link {
    min-height: 32px;
    margin: 3px 0 0;
    color: var(--navy);
    font-size: 12px;
    font-weight: 700;
  }

  /* WHY H&S: make the direction of both sourcing routes explicit. */
  body.home-page main#top .why-visual {
    padding-block: 56px 62px;
  }

  body.home-page main#top .why-visual__cards {
    gap: 18px;
  }

  body.home-page main#top .reason-panel {
    padding: 18px 16px 20px;
    border-radius: 10px;
  }

  body.home-page main#top .reason-panel__header {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 10px;
  }

  body.home-page main#top .reason-panel__number,
  body.home-page main#top .reason-panel--route .reason-panel__number {
    width: 36px;
    height: 36px;
    border-radius: 6px;
    font-size: 15px;
  }

  body.home-page main#top .reason-panel__header h3 {
    font-size: 18px;
    line-height: 1.45;
  }

  body.home-page main#top .reason-panel__header p {
    margin-top: 5px;
    font-size: 12px;
    line-height: 1.6;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general {
    padding: 48px 14px 18px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 48px;
    padding: 3px 8px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div > span {
    width: 40px;
    height: 40px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain strong {
    font-size: 13px;
    text-align: left;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div:first-of-type strong::after,
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:last-of-type strong::after {
    display: inline-flex;
    min-height: 20px;
    margin-left: 8px;
    padding: 2px 7px;
    align-items: center;
    border-radius: 999px;
    color: #fff;
    background: var(--navy);
    font: 700 9px/1 var(--font-en);
    letter-spacing: .08em;
    vertical-align: middle;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div:first-of-type strong::after { content: "START"; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:last-of-type strong::after { content: "GOAL"; background: #9b7332; }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i {
    position: relative;
    display: block;
    width: 2px;
    height: 15px;
    margin-left: 29px;
    background: #b9c3cb;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i::after {
    right: auto;
    bottom: -1px;
    left: -3px;
    width: 7px;
    height: 7px;
    border: 0;
    border-right: 2px solid #8998a4;
    border-bottom: 2px solid #8998a4;
    transform: rotate(45deg);
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    grid-template-columns: minmax(52px, 1fr) 16px minmax(76px, 1.2fr) 16px minmax(52px, 1fr);
    grid-template-rows: auto auto;
    gap: 10px 4px;
    min-height: 0;
    padding: 50px 10px 18px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary-label {
    top: 12px;
    grid-column: 1 / -1;
    grid-row: 1;
    width: calc(100% - 24px);
    max-width: none;
    min-height: 24px;
    height: 24px;
    padding-inline: 6px;
    justify-content: center;
    font-size: 14px;
    line-height: 1.35;
    white-space: nowrap;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:first-of-type { grid-column: 1; grid-row: 2; }
  body.home-page main#top .reason-panel--route .route-medallion--client + .route-showcase__arrow { grid-column: 2; grid-row: 2; }
  body.home-page main#top .reason-panel--route .route-showcase__center { grid-column: 3; grid-row: 2; width: 100%; min-width: 0; }
  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-showcase__arrow:last-of-type { grid-column: 4; grid-row: 2; }
  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:last-of-type { grid-column: 5; grid-row: 2; }

  body.home-page main#top .reason-panel--route .route-medallion,
  body.home-page main#top .reason-panel--route .route-medallion__icon {
    width: 52px;
    height: 52px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__center .route-medallion {
    width: 64px;
    height: 64px;
    margin-inline: auto;
  }

  body.home-page main#top .reason-panel--route .route-medallion strong {
    font-size: 10px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    align-self: center;
    width: 100%;
    height: 2px;
    margin: 0;
    transform: none;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow::after {
    top: -3px;
    right: 0;
    bottom: auto;
    left: auto;
    transform: rotate(-45deg);
  }

  body.home-page main#top .reason-panel--route .route-showcase__services {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    width: 100%;
    margin: 7px 0 0;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services li {
    min-width: 0;
    width: 100%;
    min-height: 22px !important;
    padding: 3px 2px !important;
    border-radius: 3px;
    font-size: 9px !important;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services::before,
  body.home-page main#top .reason-panel--route .route-showcase__services::after,
  body.home-page main#top .reason-panel--route .route-showcase__services li::before {
    content: none;
  }

  /* DELIVERY: compact vertical rows; STEP is separated from the photograph. */
  body.home-page main#top .reason-panel--requirements .delivery-steps-scroll {
    margin: 16px 0 0;
    padding: 0;
    overflow: visible;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps-scroll::before,
  body.home-page main#top .reason-panel--requirements::after {
    content: none;
    display: none;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps > li {
    position: relative;
    display: grid;
    grid-template-columns: 94px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    column-gap: 12px;
    min-height: 86px;
    padding: 8px;
    border: 1px solid #dfe5e9;
    border-radius: 7px;
    background: #fff;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual {
    position: static;
    display: grid;
    grid-column: 1;
    grid-row: 1 / 3;
    grid-template-rows: 58px 20px;
    width: 94px;
    height: 78px;
    overflow: hidden;
    border-radius: 5px;
    background: var(--navy);
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual::after { content: none; }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual img {
    position: static;
    grid-row: 1;
    width: 100%;
    height: 58px;
    object-fit: cover;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual small {
    position: static;
    grid-row: 2;
    display: flex;
    width: 100% !important;
    height: 20px !important;
    min-height: 20px;
    padding: 0 7px;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    border: 0;
    border-radius: 0;
    background: var(--navy);
    box-shadow: none;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .04em;
    transform: none;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual small span {
    display: inline;
    margin: 0;
    color: #d5bc83;
    font-size: 8px;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps h4 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    margin: 4px 0 3px;
    font-size: 15px;
    line-height: 1.35;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps p {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    font-size: 11px;
    line-height: 1.5;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps li::before,
  body.home-page main#top .reason-panel--requirements .delivery-steps li::after {
    content: none !important;
  }

  /* FAQ stays a modal: visible margins, rounded panel, centered tabs. */
  body.home-page .faq-modal {
    place-items: center;
    padding: max(18px, env(safe-area-inset-top)) 14px max(18px, env(safe-area-inset-bottom));
  }

  body.home-page .faq-modal-panel {
    width: min(100%, 520px);
    height: auto;
    max-height: calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    border-radius: 12px;
  }

  body.home-page .faq-modal-head {
    padding: 32px 48px 14px 18px;
    justify-items: start;
    text-align: left;
  }

  body.home-page .faq-modal-title { font-size: 21px; }
  body.home-page .faq-modal-lead { margin-top: 5px; font-size: 11px; line-height: 1.5; }

  body.home-page .faq-modal-close {
    top: 10px;
    right: 10px;
    width: 42px;
    height: 42px;
    min-width: 42px;
    min-height: 42px;
  }

  body.home-page .faq-modal-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: calc(100% - 24px);
    gap: 4px;
    margin-inline: auto;
  }

  body.home-page .faq-modal-tabs .faq-tab {
    min-height: 50px;
    padding: 7px 4px;
    font-size: 10px;
    line-height: 1.3;
    text-align: center;
  }

  body.home-page .faq-modal-panels {
    padding: 16px 12px 20px;
  }

  body.home-page .faq-modal-category-title { margin-bottom: 10px; font-size: 16px; }
  body.home-page .faq-modal .faq-item { border-radius: 5px; }
  body.home-page .faq-modal .faq-question { min-height: 52px; padding-inline: 10px; }
  body.home-page .faq-modal .faq-text { font-size: 12px; line-height: 1.45; }
  body.home-page .faq-modal .faq-answer { padding: 0 12px 12px 48px; }
  body.home-page .faq-modal .faq-answer p { font-size: 12px; line-height: 1.65; }

  /* INSIGHTS: AFTY-like corporate news density instead of full-screen cards. */
  body.home-page main#top .home-insights {
    padding-block: 54px 60px;
  }

  body.home-page main#top .home-insights__head {
    margin-bottom: 18px;
  }

  body.home-page main#top .home-insights-grid,
  body.home-page main#top .home-insights-grid--1,
  body.home-page main#top .home-insights-grid--2,
  body.home-page main#top .home-insights-grid--3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.home-page main#top .home-insights-card {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    min-height: 100px;
    padding-block: 12px;
    border: 0;
    border-top: 1px solid #dce2e6;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.home-page main#top .home-insights-card:last-child {
    border-bottom: 1px solid #dce2e6;
  }

  body.home-page main#top .home-insights-card__image-link {
    width: 92px;
    height: 72px;
    align-self: start;
    overflow: hidden;
    border-radius: 4px;
  }

  body.home-page main#top .home-insights-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: auto;
  }

  body.home-page main#top .home-insights-card__body {
    min-width: 0;
    padding: 0;
  }

  body.home-page main#top .home-insights-card__meta {
    gap: 6px;
    margin-bottom: 5px;
    font-size: 9px;
    line-height: 1.35;
  }

  body.home-page main#top .home-insights-card__title {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  body.home-page main#top .home-insights-card__summary {
    display: none;
  }

  body.home-page main#top .home-insights__all {
    min-height: 44px;
    margin-top: 14px;
    font-size: 13px;
  }

  /* Calm mobile motion: short vertical reveal, no large lateral/scale travel. */
  body.home-page .reveal-target,
  body.home-page .reveal-target.motion-left,
  body.home-page .reveal-target.motion-right,
  body.home-page .reveal-target.motion-scale,
  body.home-page .reveal-target.motion-clip {
    opacity: 0;
    clip-path: none;
    transform: translate3d(0, 16px, 0);
    transition: opacity .46s ease, transform .52s cubic-bezier(.22, .61, .36, 1);
    transition-delay: min(var(--reveal-delay, 0ms), 120ms);
  }

  body.home-page .reveal-target.is-visible,
  body.home-page .reveal-target.is-visible.motion-left,
  body.home-page .reveal-target.is-visible.motion-right,
  body.home-page .reveal-target.is-visible.motion-scale,
  body.home-page .reveal-target.is-visible.motion-clip {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 350px) {
  body.home-page main#top .business-scene,
  body.home-page main#top .business-scene:not(.is-visible) {
    grid-template-columns: 82px minmax(0, 1fr);
    column-gap: 10px;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    grid-template-columns: minmax(48px, 1fr) 13px minmax(70px, 1.15fr) 13px minmax(48px, 1fr);
    padding-inline: 6px;
  }

  body.home-page main#top .home-insights-card {
    grid-template-columns: 92px minmax(0, 1fr);
  }

  body.home-page main#top .home-insights-card__image-link {
    width: 82px;
    height: 66px;
  }
}

@media (max-width: 760px) {
  body.home-page main#top .reason-panel--route .route-showcase__general {
    padding: 14px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general-label {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    grid-template-rows: 26px auto !important;
    row-gap: 10px !important;
    padding: 14px 12px 16px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary-label {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: flex !important;
    width: 100% !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:first-of-type,
  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:last-of-type,
  body.home-page main#top .reason-panel--route .route-showcase__center,
  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    grid-row: 2 !important;
  }
}

/* Cascade guard for the route artwork; this must remain after legacy rules. */
@media (max-width: 760px) {
  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    align-self: start !important;
    margin-top: 34px !important;
  }
}

/* 2026-08 final mobile density pass.
   Desktop layouts stay untouched; this block is the single mobile contract. */
@media (max-width: 760px) {
  :root {
    --mobile-section-space: 44px;
  }

  /* Keep a clear corporate rhythm without making every section a full screen. */
  body[data-page="architecture"] main#top .arch-section,
  body.energy-page main#top .psc-v2-section,
  body.energy-page main#top .psc-v2-technology,
  body.energy-page main#top .psc-v2-mission,
  body.furniture-page main#top .fur-section,
  body.furniture-page main#top > .furniture-oem-visual {
    min-height: 0 !important;
    padding-block: 44px !important;
  }

  body[data-page="architecture"] main#top .arch-section__head,
  body.energy-page main#top .psc-v2-section-head,
  body.furniture-page main#top .fur-title-row,
  body.furniture-page main#top .furniture-oem-visual__header {
    margin-bottom: 20px !important;
  }

  body[data-page="architecture"] main#top .arch-section h2,
  body.energy-page main#top .psc-v2-section h2,
  body.energy-page main#top .psc-v2-technology h2,
  body.furniture-page main#top .fur-section h2,
  body.furniture-page main#top > .furniture-oem-visual h2 {
    font-size: clamp(25px, 7.4vw, 30px) !important;
    line-height: 1.3 !important;
  }

  /* Home route: arrows align with the medallions, not the taller service list. */
  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    align-self: start !important;
    margin-top: 34px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    min-height: 0 !important;
    padding-bottom: 12px !important;
  }

  /* Energy layer diagram: retain a compact keyed list and a correctly numbered image. */
  body.energy-page main#top .psc-v2-layer-diagram__visual {
    min-height: 520px !important;
    height: 520px !important;
  }

  body.energy-page main#top .psc-v2-layer-diagram__visual > img {
    inset: 270px 0 auto !important;
    width: 100% !important;
    height: 225px !important;
    object-fit: contain !important;
  }

  body.energy-page main#top .psc-v2-layer-labels {
    inset: 0 0 auto !important;
    height: 258px !important;
    gap: 5px 8px !important;
  }

  body.energy-page main#top .psc-v2-layer-labels li {
    min-height: 58px !important;
    padding: 6px 7px !important;
  }

  body.energy-page main#top .psc-v2-layer-labels strong {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body.energy-page main#top .psc-v2-layer-labels small {
    font-size: 8px !important;
    line-height: 1.35 !important;
  }

  body.energy-page main#top .psc-v2-layer-pins span:nth-child(1) { top: 57% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(2) { top: 62% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(3) { top: 67% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(4) { top: 72% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(5) { top: 77% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(6) { top: 82% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(7) { top: 87% !important; }

  /* Architecture: compact highlights, card groups and technical diagrams. */
  body[data-page="architecture"] main#top .arch-assurance {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 8px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-page="architecture"] main#top .arch-assurance li,
  body[data-page="architecture"] main#top .arch-assurance li + li {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 7px !important;
    min-height: 64px !important;
    padding: 10px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 7px !important;
  }

  body[data-page="architecture"] main#top .arch-assurance strong {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  body[data-page="architecture"] main#top .arch-reason-grid {
    gap: 9px !important;
  }

  body[data-page="architecture"] main#top .arch-reason-card {
    gap: 7px !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
  }

  body[data-page="architecture"] main#top .arch-reason-card h3 {
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  body[data-page="architecture"] main#top .arch-reason-card p {
    font-size: 12px !important;
    line-height: 1.58 !important;
  }

  body[data-page="architecture"] main#top .arch-case-grid {
    gap: 10px !important;
  }

  body[data-page="architecture"] main#top .arch-case-grid .arch-case-card {
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) !important;
    min-height: 108px !important;
  }

  body[data-page="architecture"] main#top .arch-case-card img {
    width: 108px !important;
    height: 100% !important;
    min-height: 108px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  body[data-page="architecture"] main#top .arch-case-card h3 {
    align-self: center !important;
    padding: 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body[data-page="architecture"] main#top .arch-flow-list {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 10px !important;
    margin-inline: -16px !important;
    padding: 0 16px 8px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  body[data-page="architecture"] main#top .arch-flow-card {
    flex: 0 0 min(78vw, 280px) !important;
    width: min(78vw, 280px) !important;
    min-height: 0 !important;
    padding-bottom: 16px !important;
    scroll-snap-align: start !important;
  }

  body[data-page="architecture"] main#top .arch-flow-card__media {
    height: 150px !important;
    aspect-ratio: auto !important;
  }

  body[data-page="architecture"] main#top .arch-module__head {
    margin-bottom: 22px !important;
  }

  body[data-page="architecture"] main#top .arch-module__head > p:last-child {
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
  }

  body[data-page="architecture"] main#top .arch-module__photo {
    min-height: 210px !important;
    height: 210px !important;
  }

  body[data-page="architecture"] main#top .arch-module__definition {
    padding: 22px 16px !important;
  }

  body[data-page="architecture"] main#top .arch-module__definition dl {
    margin-top: 18px !important;
  }

  body[data-page="architecture"] main#top .arch-module__definition dl > div {
    grid-template-columns: 58px 1fr !important;
    gap: 10px !important;
    padding: 10px 0 !important;
  }

  body[data-page="architecture"] main#top .arch-module__anatomy {
    margin-top: 38px !important;
  }

  body[data-page="architecture"] main#top .arch-module__anatomy > header {
    margin-bottom: 18px !important;
  }

  body[data-page="architecture"] main#top .arch-module__diagram {
    padding: 40px 10px 10px !important;
  }

  body[data-page="architecture"] main#top .arch-module__diagram figure {
    aspect-ratio: 1.5 !important;
  }

  body[data-page="architecture"] main#top .arch-module__callouts li {
    grid-template-columns: 34px 1fr !important;
    gap: 9px !important;
    min-height: 58px !important;
    padding: 7px 5px !important;
  }

  body[data-page="architecture"] main#top .arch-module__callouts li > span {
    width: 34px !important;
    height: 34px !important;
    font-size: 11px !important;
  }

  body[data-page="architecture"] main#top .arch-module__callouts strong {
    font-size: 13px !important;
  }

  body[data-page="architecture"] main#top .arch-module__callouts small {
    font-size: 10px !important;
    line-height: 1.4 !important;
  }

  /* Energy card-heavy sections become one-row, touch-scrollable stories. */
  body.energy-page main#top .psc-v2-check-grid,
  body.energy-page main#top .psc-v2-example-grid {
    display: flex !important;
    gap: 12px !important;
    margin-inline: -16px !important;
    padding: 0 16px 10px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.energy-page main#top .psc-v2-check-grid::-webkit-scrollbar,
  body.energy-page main#top .psc-v2-example-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.energy-page main#top .psc-v2-check-grid article,
  body.energy-page main#top .psc-v2-example-grid article {
    flex: 0 0 min(84vw, 310px) !important;
    width: min(84vw, 310px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
  }

  body.energy-page main#top .psc-v2-check-grid article {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 8px 12px !important;
    padding: 12px !important;
  }

  body.energy-page main#top .psc-v2-check-grid article > span {
    top: 18px !important;
    left: 18px !important;
  }

  body.energy-page main#top .psc-v2-check-visual,
  body.energy-page main#top .psc-v2-check-visual img {
    width: 88px !important;
    height: 78px !important;
  }

  body.energy-page main#top .psc-v2-check-grid article > ul {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    padding: 10px 0 0 18px !important;
  }

  body.energy-page main#top .psc-v2-check-grid article > ul li {
    font-size: 11px !important;
    line-height: 1.55 !important;
  }

  body.energy-page main#top .psc-v2-example-grid figure {
    height: 164px !important;
    aspect-ratio: auto !important;
  }

  body.energy-page main#top .psc-v2-example-card__copy {
    padding: 16px !important;
  }

  body.energy-page main#top .psc-v2-example-card__copy h3 {
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  body.energy-page main#top .psc-v2-example-card__copy p {
    font-size: 12px !important;
    line-height: 1.6 !important;
  }

  /* Furniture: keep diagrams useful, but let them scroll sideways on a phone. */
  body.furniture-page main#top .furniture-oem-visual__inner {
    width: min(calc(100% - 28px), 1480px) !important;
  }

  body.furniture-page main#top .furniture-oem-card {
    gap: 16px !important;
    padding: 16px !important;
  }

  body.furniture-page main#top .furniture-oem-card__copy {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 5px 10px !important;
  }

  body.furniture-page main#top .furniture-oem-card__number {
    font-size: 30px !important;
  }

  body.furniture-page main#top .furniture-oem-card__copy h3 {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  body.furniture-page main#top .furniture-build-flow {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 8px !important;
    min-width: max-content !important;
    align-items: center !important;
  }

  body.furniture-page main#top .furniture-build-flow__stage {
    flex: 0 0 190px !important;
    width: 190px !important;
  }

  body.furniture-page main#top .furniture-oem-scroll {
    margin-inline: -16px !important;
    padding: 0 16px 8px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
  }

  body.furniture-page main#top .furniture-build-flow__stage {
    scroll-snap-align: start !important;
  }

  body.furniture-page main#top .furniture-flow-arrow {
    flex: 0 0 24px !important;
    width: 24px !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.furniture-page main#top .furniture-reference-photo,
  body.furniture-page main#top .furniture-finished-product {
    height: 170px !important;
  }

  body.furniture-page main#top .furniture-space-map {
    gap: 12px !important;
  }

  body.furniture-page main#top .furniture-room-plan--icons-only {
    min-height: 0 !important;
    padding: 12px !important;
  }

  body.furniture-page main#top .room-item {
    min-height: 54px !important;
  }

  body.furniture-page main#top .furniture-project-conditions {
    padding: 8px 12px !important;
  }

  body.furniture-page main#top .furniture-project-conditions li {
    min-height: 50px !important;
  }

  body.furniture-page main#top .furniture-delivery-badge {
    width: 136px !important;
    height: 136px !important;
  }

  body.furniture-page main#top .fur-needs__grid {
    gap: 9px !important;
  }

  body.furniture-page main#top .fur-mini-card {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 8px 12px !important;
    padding: 13px !important;
  }

  body.furniture-page main#top .fur-mini-card__icon {
    grid-row: 1 / 3 !important;
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
  }

  body.furniture-page main#top .fur-mini-card p {
    margin-top: 3px !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.furniture-page main#top .fur-materials__photo {
    min-height: 210px !important;
    height: 210px !important;
  }

  body.furniture-page main#top .fur-materials__specs {
    gap: 8px !important;
  }

  body.furniture-page main#top .fur-material-spec {
    padding: 13px !important;
  }
}

@media (max-width: 350px) {
  body.home-page main#top .reason-panel--route .route-showcase__primary {
    grid-template-columns: minmax(58px, 1fr) 14px minmax(72px, 1.08fr) 14px minmax(58px, 1fr) !important;
  }

  body.home-page main#top .reason-panel--route .route-medallion,
  body.home-page main#top .reason-panel--route .route-medallion__icon,
  body.home-page main#top .reason-panel--route .route-showcase__center .route-medallion {
    width: 58px !important;
    height: 58px !important;
  }
}

/* 2026-08 mobile layout correction: route, delivery, architecture and furniture. */
@media (max-width: 760px) {
  /* The route comparison must read as a route, not as a scaled desktop diagram. */
  body.home-page main#top .reason-panel--route .route-showcase {
    display: grid !important;
    gap: 12px !important;
    margin-top: 18px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general,
  body.home-page main#top .reason-panel--route .route-showcase__primary {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    border: 1px solid #dbe2e6 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general {
    padding: 50px 14px 14px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general-label,
  body.home-page main#top .reason-panel--route .route-showcase__primary-label {
    position: absolute !important;
    top: 14px !important;
    left: 14px !important;
    right: 14px !important;
    width: auto !important;
    max-width: none !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    justify-content: flex-start !important;
    color: var(--navy) !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    text-align: left !important;
    white-space: nowrap !important;
    transform: none !important;
    z-index: 2 !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    width: 100% !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    flex: none !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 58px !important;
    height: 58px !important;
    padding: 4px 8px !important;
    align-items: center !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div > span {
    display: block !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div > span img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain strong {
    min-width: 0 !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i {
    display: block !important;
    position: relative !important;
    flex: none !important;
    width: 2px !important;
    height: 12px !important;
    margin: 0 0 0 31px !important;
    background: #aebac2 !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(70px, 1fr) 22px minmax(84px, 1.12fr) 22px minmax(70px, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 0 !important;
    min-height: 0 !important;
    padding: 54px 12px 16px !important;
    align-items: start !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:first-of-type,
  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:last-of-type,
  body.home-page main#top .reason-panel--route .route-showcase__center {
    grid-row: 1 !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:first-of-type { grid-column: 1 !important; }
  body.home-page main#top .reason-panel--route .route-medallion--client + .route-showcase__arrow { grid-column: 2 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__center { grid-column: 3 !important; width: 100% !important; }
  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-showcase__arrow:last-of-type { grid-column: 4 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:last-of-type { grid-column: 5 !important; }

  body.home-page main#top .reason-panel--route .route-medallion,
  body.home-page main#top .reason-panel--route .route-medallion__icon,
  body.home-page main#top .reason-panel--route .route-showcase__center .route-medallion {
    width: 70px !important;
    height: 70px !important;
    margin-inline: auto !important;
  }

  body.home-page main#top .reason-panel--route .route-medallion strong {
    display: block !important;
    width: 100% !important;
    margin-top: 5px !important;
    font-size: 12px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__center .route-medallion strong {
    position: absolute !important;
    inset: 0 !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    grid-row: 1 !important;
    align-self: center !important;
    width: 100% !important;
    height: 2px !important;
    margin: 34px 0 0 !important;
    background: #9b7332 !important;
    opacity: 1 !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow::after {
    content: "" !important;
    position: absolute !important;
    top: -3px !important;
    right: 0 !important;
    display: block !important;
    width: 7px !important;
    height: 7px !important;
    border: 0 !important;
    border-right: 2px solid #9b7332 !important;
    border-bottom: 2px solid #9b7332 !important;
    transform: rotate(-45deg) !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    width: 100% !important;
    margin: 10px 0 0 !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services li {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 26px !important;
    padding: 4px 2px !important;
    border: 1px solid #91a1aa !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: var(--navy) !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  /* Delivery is a readable list. The number is independent from the illustration. */
  body.home-page main#top .reason-panel--requirements .delivery-steps {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps > li {
    display: grid !important;
    grid-template-columns: 104px minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr !important;
    gap: 2px 13px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 92px !important;
    padding: 9px !important;
    overflow: visible !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual {
    position: relative !important;
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    width: 104px !important;
    height: 74px !important;
    margin: 0 !important;
    overflow: visible !important;
    border-radius: 5px !important;
    background: #f2f4f5 !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 74px !important;
    padding: 2px !important;
    border-radius: 5px !important;
    object-fit: contain !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual small {
    position: absolute !important;
    top: 5px !important;
    left: 5px !important;
    display: grid !important;
    place-items: center !important;
    width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    border-radius: 4px !important;
    color: #fff !important;
    background: rgba(0, 42, 67, .92) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    transform: none !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual small span {
    display: none !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps h4 {
    align-self: end !important;
    margin: 3px 0 2px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps p {
    align-self: start !important;
    margin: 0 !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps p br {
    display: none !important;
  }

  /* Architecture scope: six compact image-and-copy rows. */
  body[data-page="architecture"] main#top .arch-card-grid--scope {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card {
    display: grid !important;
    grid-template-columns: 116px minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    min-height: 116px !important;
    overflow: hidden !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card__media {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 116px !important;
    height: 100% !important;
    min-height: 116px !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card__media img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transform: none !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card__body {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    padding: 12px !important;
    align-self: center !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card__body h3 {
    margin-block: 3px 4px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card__body p {
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
  }

  /* Furniture procurement and case studies: image and text never overlap. */
  body.furniture-page main#top .fur-section {
    padding-block: 48px !important;
  }

  body.furniture-page main#top .fur-method__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.furniture-page main#top .fur-photo-card {
    display: grid !important;
    grid-template-columns: 116px minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    width: 100% !important;
    min-height: 126px !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.furniture-page main#top .fur-photo-card > img {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 116px !important;
    height: 100% !important;
    min-height: 126px !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }

  body.furniture-page main#top .fur-photo-card > div {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 12px !important;
    color: var(--ink) !important;
    background: #fff !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.furniture-page main#top .fur-photo-card > div > span { font-size: 9px !important; }
  body.furniture-page main#top .fur-photo-card h3 { margin-block: 4px !important; font-size: 15px !important; line-height: 1.35 !important; }
  body.furniture-page main#top .fur-photo-card p { margin: 0 !important; font-size: 11px !important; line-height: 1.5 !important; }
  body.furniture-page main#top .fur-photo-card a { display: inline-flex !important; min-height: 40px !important; margin-top: 4px !important; align-items: center !important; font-size: 11px !important; }

  body.furniture-page main#top .fur-cases__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  body.furniture-page main#top .fur-cases__grid > article {
    position: relative !important;
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  body.furniture-page main#top .fur-cases__grid > article > img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: clamp(152px, 43vw, 188px) !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.furniture-page main#top .fur-cases__grid > article > div {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 15px !important;
    color: var(--ink) !important;
    background: #fff !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.furniture-page main#top .fur-cases__grid h3 {
    margin-block: 5px 10px !important;
    color: var(--navy) !important;
    font-size: 17px !important;
    line-height: 1.45 !important;
  }

  body.furniture-page main#top .fur-cases__grid dl,
  body.furniture-page main#top .fur-cases__grid dd {
    color: var(--ink) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  body.furniture-page main#top .fur-cases__grid a {
    display: inline-flex !important;
    min-height: 44px !important;
    align-items: center !important;
    color: var(--navy) !important;
    font-size: 12px !important;
  }
}

@media (max-width: 350px) {
  body.home-page main#top .reason-panel--route .route-showcase__primary {
    grid-template-columns: minmax(62px, 1fr) 16px minmax(76px, 1.08fr) 16px minmax(62px, 1fr) !important;
    padding-inline: 8px !important;
  }

  body.home-page main#top .reason-panel--route .route-medallion,
  body.home-page main#top .reason-panel--route .route-medallion__icon,
  body.home-page main#top .reason-panel--route .route-showcase__center .route-medallion {
    width: 62px !important;
    height: 62px !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-steps > li {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  body.home-page main#top .reason-panel--requirements .delivery-step__visual,
  body.home-page main#top .reason-panel--requirements .delivery-step__visual img {
    width: 92px !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card,
  body.furniture-page main#top .fur-photo-card {
    grid-template-columns: 98px minmax(0, 1fr) !important;
  }

  body[data-page="architecture"] main#top .arch-card-grid--scope .arch-image-card__media,
  body.furniture-page main#top .fur-photo-card > img {
    width: 98px !important;
  }
}

/* Keep route headings in their own rows, including the 320px layout. */
@media (max-width: 760px) {
  body.home-page main#top .reason-panel--route .route-showcase__general {
    padding: 14px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general-label {
    position: static !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 0 10px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    grid-template-rows: 26px auto !important;
    row-gap: 10px !important;
    padding: 14px 12px 16px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary-label {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    display: flex !important;
    width: 100% !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:first-of-type,
  body.home-page main#top .reason-panel--route .route-showcase__primary > .route-medallion:last-of-type,
  body.home-page main#top .reason-panel--route .route-showcase__center,
  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    grid-row: 2 !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    align-self: start !important;
    margin-top: 34px !important;
  }
}

/* Compact corporate footer: two navigation columns, with Support full width. */
@media (max-width: 760px) {
  .site-footer .footer-inner { padding: 24px 18px 18px !important; }
  .site-footer .footer-main { gap: 12px !important; min-height: 0 !important; }
  .site-footer .footer-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 18px !important;
  }
  .site-footer .footer-column:nth-child(3) { grid-column: 1 / -1 !important; }
  .site-footer .footer-column:nth-child(3) .footer-link-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .site-footer .footer-column,
  .site-footer .footer-contact-panel { padding-block: 10px !important; }
  .site-footer .footer-column-title { gap: 7px !important; margin-bottom: 7px !important; }
  .site-footer .footer-link-list a { min-height: 36px !important; padding-block: 4px !important; }
}

/* Consolidated mobile refinement layer (2026-08-06). */
/* Final responsive refinement layer. Loaded after all legacy styles. */

@media (min-width: 761px) {
  /* Keep the concise comparison on desktop; mobile retains the issue summary. */
  body.home-page main#top .route-showcase__issues {
    display: none !important;
  }
}

/* Furniture project map: one visual language on desktop and mobile. */
body.furniture-page main#top .furniture-room-plan--icons-only,
body.furniture-page main#top .furniture-project-conditions,
body.furniture-page main#top .furniture-delivery-badge {
  box-sizing: border-box;
  min-height: 292px;
  height: 100%;
  padding: 20px;
  border: 1px solid #d9e0e5;
  border-top: 3px solid #c89432;
  border-radius: 10px;
  background: linear-gradient(180deg, #fff 0%, #fbfcfc 100%);
  color: #001f42;
  box-shadow: 0 8px 24px rgba(18, 38, 57, .06);
}

body.furniture-page main#top .furniture-room-plan--icons-only::before,
body.furniture-page main#top .furniture-project-conditions::before,
body.furniture-page main#top .furniture-delivery-badge::before {
  color: #b47f23;
  font: 700 10px/1.4 var(--font-en);
  letter-spacing: .14em;
}

body.furniture-page main#top .furniture-room-plan--icons-only::before {
  content: "FURNITURE SET";
  grid-column: 1 / -1;
  justify-self: start;
}

body.furniture-page main#top .furniture-project-conditions::before {
  content: "PROJECT CONTROL";
}

body.furniture-page main#top .furniture-delivery-badge::before {
  content: "DELIVERY";
}

body.furniture-page main#top .furniture-delivery-badge {
  display: grid;
  width: 100%;
  place-content: center;
  justify-items: center;
  gap: 10px;
  text-align: center;
}

body.furniture-page main#top .furniture-delivery-badge svg {
  width: 58px;
  height: 58px;
  color: #c89432;
}

body.furniture-page main#top .furniture-delivery-badge strong {
  color: #001f42;
  font-size: 15px;
}

body.furniture-page main#top .furniture-delivery-badge span {
  color: #5a6470;
  font-size: 11px;
}

body.furniture-page main#top .furniture-plus {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  justify-self: center;
  border: 1px solid rgba(200, 148, 50, .58);
  border-radius: 50%;
  color: #a87522;
  background: #fff;
  font-size: 24px;
}

@media (max-width: 760px) {
  /* Home opening story: visually connect Hero, Mission and Business. */
  body.home-page main#top .brand-experience {
    background: #071a2c !important;
  }

  body.home-page main#top .brand-experience::after {
    display: none !important;
  }

  body.home-page main#top .hero {
    position: relative !important;
  }

  body.home-page main#top .hero::after {
    inset: auto 0 -1px !important;
    z-index: 2 !important;
    height: clamp(132px, 38vw, 184px) !important;
    background: linear-gradient(180deg, rgba(7, 26, 44, 0) 0%, rgba(7, 26, 44, .48) 48%, #071a2c 100%) !important;
  }

  body.home-page main#top .mission {
    padding: 48px 0 58px !important;
    background: linear-gradient(180deg, #071a2c 0%, #08243d 100%) !important;
  }

  body.home-page main#top .mission::after {
    background: linear-gradient(180deg, rgba(5, 24, 42, .18), rgba(8, 36, 61, .42)) !important;
    opacity: 1 !important;
  }

  body.home-page main#top .business-experience {
    position: relative !important;
    padding-block: 42px 54px !important;
    margin-top: -1px !important;
    border-top: 0 !important;
    background: linear-gradient(180deg, #08243d 0%, #092f50 120px, #0a3457 100%) !important;
  }

  body.home-page main#top .business-experience::before {
    content: "" !important;
    position: absolute !important;
    inset: -72px 0 auto !important;
    z-index: 0 !important;
    display: block !important;
    height: 74px !important;
    background: linear-gradient(180deg, rgba(8, 36, 61, 0), #08243d 98%) !important;
    pointer-events: none !important;
  }

  body.home-page main#top .business-experience__stage {
    position: relative !important;
    z-index: 1 !important;
  }

  body.home-page main#top .business-experience__label {
    margin-top: 0 !important;
  }

  /* Energy mission route: center each icon-and-copy unit as a group. */
  body.energy-page main#top .psc-v2-mission__route {
    padding-inline: 12px !important;
  }

  body.energy-page main#top .psc-v2-mission__route > div {
    grid-template-columns: 36px minmax(0, 220px) !important;
    gap: 12px !important;
    justify-content: center !important;
    width: 100% !important;
    padding-inline: 0 !important;
  }

  body.energy-page main#top .psc-v2-mission__route > div > span {
    justify-self: center !important;
  }

  /* BUSINESS: image-led panels with a protected text area. */
  body.home-page main#top .business-experience {
    padding-bottom: 54px !important;
  }

  body.home-page main#top .business-experience__title {
    margin-bottom: 18px !important;
  }

  body.home-page main#top .business-scenes {
    gap: 12px !important;
  }

  body.home-page main#top .business-scene,
  body.home-page main#top .business-scene:not(.is-visible) {
    position: relative !important;
    display: flex !important;
    min-height: 230px !important;
    padding: 88px 20px 18px !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .2) !important;
    border-radius: 6px !important;
    background-color: #062b4b !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(0, 10, 24, .22) !important;
  }

  body.home-page main#top .business-scene::before {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    min-height: 0 !important;
    background-position: center !important;
    background-size: cover !important;
    clip-path: none !important;
  }

  body.home-page main#top .business-scene:nth-child(1)::before {
    background-image: linear-gradient(180deg, rgba(1, 20, 38, .06) 18%, rgba(1, 22, 42, .94) 82%), url("../images/psc/psc-hero-bipv.webp") !important;
    background-position: 62% center !important;
  }

  body.home-page main#top .business-scene:nth-child(2)::before {
    background-image: linear-gradient(180deg, rgba(1, 20, 38, .06) 18%, rgba(1, 22, 42, .94) 82%), url("../hs-architecture-modular-business-v3.webp") !important;
  }

  body.home-page main#top .business-scene:nth-child(3)::before {
    background-image: linear-gradient(180deg, rgba(1, 20, 38, .06) 18%, rgba(1, 22, 42, .94) 82%), url("../hs-furniture-oem-business-v3.webp") !important;
  }

  body.home-page main#top .business-scene > * {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
  }

  body.home-page main#top .business-scene__meta {
    margin: 0 0 4px !important;
    color: #efc877 !important;
    font-size: 9px !important;
    letter-spacing: .11em !important;
  }

  body.home-page main#top .business-scene h3 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 20px !important;
    line-height: 1.35 !important;
    text-shadow: 0 2px 12px rgba(0, 0, 0, .32) !important;
  }

  body.home-page main#top .business-scene p:not(.business-scene__meta) {
    min-height: 0 !important;
    margin: 6px 0 0 !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
    -webkit-line-clamp: 2 !important;
  }

  body.home-page main#top .business-scene .text-link {
    min-height: 30px !important;
    margin: 5px 0 0 !important;
    color: #fff !important;
    font-size: 12px !important;
  }

  body[data-page="architecture"] main#top .arch-section,
  body.energy-page main#top .psc-v2-section,
  body.energy-page main#top .psc-v2-technology,
  body.energy-page main#top .psc-v2-mission,
  body.furniture-page main#top .fur-section,
  body.furniture-page main#top > .furniture-oem-visual {
    min-height: 0 !important;
    padding-block: 44px !important;
  }

  body[data-page="architecture"] main#top .arch-section__head,
  body.energy-page main#top .psc-v2-section-head,
  body.furniture-page main#top .fur-title-row,
  body.furniture-page main#top .furniture-oem-visual__header {
    margin-bottom: 20px !important;
  }

  body[data-page="architecture"] main#top .arch-section h2,
  body.energy-page main#top .psc-v2-section h2,
  body.energy-page main#top .psc-v2-technology h2,
  body.furniture-page main#top .fur-section h2,
  body.furniture-page main#top > .furniture-oem-visual h2 {
    font-size: clamp(25px, 7.4vw, 30px) !important;
    line-height: 1.3 !important;
  }

  /* Route comparison */
  body.home-page main#top .reason-panel--route {
    padding: 16px 12px 12px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase {
    gap: 10px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general,
  body.home-page main#top .reason-panel--route .route-showcase__primary {
    padding-inline: 16px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__general {
    margin-bottom: 8px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__issues {
    margin: 12px 0 10px !important;
    padding: 10px !important;
    border: 1px solid #ead9ca !important;
    border-radius: 7px !important;
    background: #fff9f4 !important;
    text-align: center !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__issues strong {
    display: block !important;
    margin-bottom: 7px !important;
    color: #76513c !important;
    font-size: 11px !important;
    letter-spacing: .04em !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__issues ul {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__issues li {
    padding: 6px 2px !important;
    border-radius: 4px !important;
    background: #8a5a40 !important;
    color: #fff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div:first-of-type strong::after,
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:last-of-type strong::after {
    content: none !important;
    display: none !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 74px !important;
    height: 74px !important;
    padding: 4px 8px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div > span {
    width: 64px !important;
    height: 64px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain strong {
    justify-self: start !important;
    width: auto !important;
    margin: 0 !important;
    font-size: 15px !important;
    text-align: left !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i {
    height: 14px !important;
    margin-left: 39px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__arrow {
    align-self: start !important;
    margin-top: 41px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__primary {
    grid-template-columns: minmax(76px, 1fr) 20px minmax(94px, 1.15fr) 20px minmax(76px, 1fr) !important;
    grid-template-rows: auto auto !important;
    min-height: 0 !important;
    padding: 14px 10px 18px !important;
  }

  body.home-page main#top .reason-panel--route .route-medallion,
  body.home-page main#top .reason-panel--route .route-medallion__icon {
    width: 76px !important;
    height: 76px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__center {
    display: flex !important;
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__center .route-medallion {
    width: 86px !important;
    height: 86px !important;
  }

  body.home-page main#top .reason-panel--route .route-medallion strong {
    margin-top: 7px !important;
    font-size: 13px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: 112px !important;
    margin: 18px auto 0 !important;
    transform: translateX(-50%) !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__service-label {
    position: relative !important;
    z-index: 2 !important;
    margin: 16px -9px 0 !important;
    color: #8c682d !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    line-height: 1.4 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services::before {
    content: "" !important;
    position: absolute !important;
    top: -46px !important;
    bottom: 14px !important;
    left: 50% !important;
    z-index: 0 !important;
    display: block !important;
    width: 1px !important;
    height: auto !important;
    background: #b88a35 !important;
    transform: translateX(-50%) !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services li {
    position: relative !important;
    z-index: 1 !important;
    width: 112px !important;
    min-height: 30px !important;
    background: #fff !important;
    font-size: 11px !important;
  }

  body.home-page main#top .why-visual__cards {
    gap: 10px !important;
  }

  body.home-page main#top .reason-panel--requirements {
    margin-top: 0 !important;
  }

  /* Flexible PSC stack */
  body.energy-page main#top .psc-v2-layer-diagram__visual {
    min-height: 520px !important;
    height: 520px !important;
  }

  body.energy-page main#top .psc-v2-layer-diagram__visual > img {
    inset: 270px 0 auto !important;
    width: 100% !important;
    height: 225px !important;
    object-fit: contain !important;
  }

  body.energy-page main#top .psc-v2-layer-labels {
    inset: 0 0 auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    height: 258px !important;
    gap: 5px 8px !important;
  }

  body.energy-page main#top .psc-v2-layer-labels li {
    min-height: 58px !important;
    padding: 6px 7px !important;
  }

  body.energy-page main#top .psc-v2-layer-labels strong {
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body.energy-page main#top .psc-v2-layer-labels small {
    font-size: 8px !important;
    line-height: 1.35 !important;
  }

  body.energy-page main#top .psc-v2-layer-pins span:nth-child(1) { top: 57% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(2) { top: 62% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(3) { top: 67% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(4) { top: 72% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(5) { top: 77% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(6) { top: 82% !important; }
  body.energy-page main#top .psc-v2-layer-pins span:nth-child(7) { top: 87% !important; }

  /* Architecture */
  body[data-page="architecture"] main#top .arch-assurance {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 8px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body[data-page="architecture"] main#top .arch-assurance li,
  body[data-page="architecture"] main#top .arch-assurance li + li {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: 7px !important;
    min-height: 64px !important;
    padding: 10px !important;
    border: 1px solid #dce3e8 !important;
    border-radius: 7px !important;
  }

  body[data-page="architecture"] main#top .arch-assurance strong {
    font-size: 11px !important;
    line-height: 1.4 !important;
  }

  body[data-page="architecture"] main#top .arch-reason-grid { gap: 9px !important; }
  body[data-page="architecture"] main#top .arch-reason-card {
    gap: 7px !important;
    min-height: 0 !important;
    padding: 14px 16px !important;
  }
  body[data-page="architecture"] main#top .arch-reason-card h3 { font-size: 17px !important; line-height: 1.45 !important; }
  body[data-page="architecture"] main#top .arch-reason-card p { font-size: 12px !important; line-height: 1.58 !important; }

  body[data-page="architecture"] main#top .arch-case-grid { gap: 10px !important; }
  body[data-page="architecture"] main#top .arch-case-grid .arch-case-card {
    display: grid !important;
    grid-template-columns: 108px minmax(0, 1fr) !important;
    min-height: 108px !important;
  }
  body[data-page="architecture"] main#top .arch-case-card img {
    width: 108px !important;
    height: 100% !important;
    min-height: 108px !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }
  body[data-page="architecture"] main#top .arch-case-card h3 {
    align-self: center !important;
    padding: 12px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  body[data-page="architecture"] main#top .arch-flow-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }
  body[data-page="architecture"] main#top .arch-flow-card {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    grid-template-rows: auto auto 1fr !important;
    gap: 3px 12px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 10px !important;
    overflow: hidden !important;
  }
  body[data-page="architecture"] main#top .arch-flow-card__media {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important;
    width: 112px !important;
    height: 108px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    aspect-ratio: auto !important;
  }
  body[data-page="architecture"] main#top .arch-flow-card .arch-card-num { grid-column: 2 !important; margin: 2px 0 0 !important; font-size: 11px !important; }
  body[data-page="architecture"] main#top .arch-flow-card h3 { grid-column: 2 !important; margin: 0 !important; font-size: 16px !important; }
  body[data-page="architecture"] main#top .arch-flow-card p { grid-column: 2 !important; margin: 2px 0 0 !important; font-size: 12px !important; line-height: 1.55 !important; }

  body[data-page="architecture"] main#top .arch-module__head { margin-bottom: 22px !important; }
  body[data-page="architecture"] main#top .arch-module__head > p:last-child { margin-top: 12px !important; font-size: 13px !important; line-height: 1.7 !important; }
  body[data-page="architecture"] main#top .arch-module__photo { min-height: 210px !important; height: 210px !important; }
  body[data-page="architecture"] main#top .arch-module__definition { padding: 22px 16px !important; }
  body[data-page="architecture"] main#top .arch-module__definition dl { margin-top: 18px !important; }
  body[data-page="architecture"] main#top .arch-module__definition dl > div { grid-template-columns: 58px 1fr !important; gap: 10px !important; padding: 10px 0 !important; }
  body[data-page="architecture"] main#top .arch-module__anatomy { margin-top: 38px !important; }
  body[data-page="architecture"] main#top .arch-module__anatomy > header { margin-bottom: 18px !important; }
  body[data-page="architecture"] main#top .arch-module__diagram { padding: 40px 10px 10px !important; }
  body[data-page="architecture"] main#top .arch-module__diagram figure {
    width: calc(100% + 20px) !important;
    aspect-ratio: 1 / 1 !important;
    margin-inline: -10px !important;
    overflow: hidden !important;
  }
  body[data-page="architecture"] main#top .arch-module__diagram figure img {
    width: 160% !important;
    max-width: none !important;
    height: auto !important;
    transform: translateX(-42%) !important;
  }
  body[data-page="architecture"] main#top .arch-module__callouts li { grid-template-columns: 34px 1fr !important; gap: 9px !important; min-height: 58px !important; padding: 7px 5px !important; }
  body[data-page="architecture"] main#top .arch-module__callouts li > span { width: 34px !important; height: 34px !important; font-size: 11px !important; }
  body[data-page="architecture"] main#top .arch-module__callouts strong { font-size: 13px !important; }
  body[data-page="architecture"] main#top .arch-module__callouts small { font-size: 10px !important; line-height: 1.4 !important; }

  /* Energy delivery flow: vertical rows with separate image and copy areas. */
  body.energy-page main#top .psc-v2-check-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body.energy-page main#top .psc-v2-example-grid {
    display: flex !important;
    gap: 12px !important;
    margin-inline: -16px !important;
    padding: 0 16px 10px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }
  body.energy-page main#top .psc-v2-example-grid::-webkit-scrollbar { display: none !important; }
  body.energy-page main#top .psc-v2-example-grid article {
    flex: 0 0 min(84vw, 310px) !important;
    width: min(84vw, 310px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
  }
  body.energy-page main#top .psc-v2-check-grid article {
    display: grid !important;
    grid-template-columns: 34px 92px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 6px 10px !important;
    width: 100% !important;
    min-height: 0 !important;
    padding: 12px !important;
    overflow: hidden !important;
  }
  body.energy-page main#top .psc-v2-check-grid article > span {
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    width: 30px !important;
    height: 30px !important;
    place-items: center !important;
    margin: 0 !important;
    border-radius: 5px !important;
    color: #fff !important;
    background: #0a3658 !important;
    font-size: 11px !important;
  }
  body.energy-page main#top .psc-v2-check-visual,
  body.energy-page main#top .psc-v2-check-visual img {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 92px !important;
    height: 78px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    object-fit: cover !important;
  }
  body.energy-page main#top .psc-v2-check-grid article > div { grid-column: 3 !important; grid-row: 1 !important; align-self: center !important; }
  body.energy-page main#top .psc-v2-check-grid article > div > p { margin: 0 0 3px !important; font-size: 9px !important; }
  body.energy-page main#top .psc-v2-check-grid article h3 { margin: 0 !important; font-size: 17px !important; }
  body.energy-page main#top .psc-v2-check-grid article > ul {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border-top: 1px solid #e2e7ea !important;
  }
  body.energy-page main#top .psc-v2-check-grid article > ul li { padding-left: 11px !important; font-size: 11px !important; line-height: 1.55 !important; }
  body.energy-page main#top .psc-v2-example-grid figure { height: 164px !important; aspect-ratio: auto !important; }
  body.energy-page main#top .psc-v2-example-card__copy { padding: 16px !important; }
  body.energy-page main#top .psc-v2-example-card__copy h3 { font-size: 17px !important; line-height: 1.45 !important; }
  body.energy-page main#top .psc-v2-example-card__copy p { font-size: 12px !important; line-height: 1.6 !important; }

  /* Furniture */
  body.furniture-page main#top .furniture-oem-visual__inner { width: min(calc(100% - 28px), 1480px) !important; }
  body.furniture-page main#top .furniture-oem-card { gap: 16px !important; padding: 16px !important; }
  body.furniture-page main#top .furniture-oem-card__copy { grid-template-columns: 42px minmax(0, 1fr) !important; gap: 5px 10px !important; }
  body.furniture-page main#top .furniture-oem-card__number { font-size: 30px !important; }
  body.furniture-page main#top .furniture-oem-card__copy h3 { font-size: 18px !important; line-height: 1.45 !important; }
  body.furniture-page main#top .furniture-build-flow {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    min-width: 0 !important;
    align-items: stretch !important;
  }
  body.furniture-page main#top .furniture-build-flow__stage {
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
    border: 1px solid #dce2e6 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }
  body.furniture-page main#top .furniture-oem-scroll { margin: 0 !important; padding: 0 !important; overflow: visible !important; scroll-snap-type: none !important; }
  body.furniture-page main#top .furniture-flow-arrow {
    width: 36px !important;
    height: 42px !important;
    margin: 2px auto !important;
    transform: rotate(90deg) !important;
  }
  body.furniture-page main#top .furniture-reference-photo,
  body.furniture-page main#top .furniture-finished-product { height: 190px !important; }
  body.furniture-page main#top .furniture-spec-grid { width: min(100%, 286px) !important; margin-inline: auto !important; }
  body.furniture-page main#top .furniture-space-map { grid-template-columns: 1fr !important; gap: 12px !important; }
  body.furniture-page main#top .furniture-room-plan--icons-only,
  body.furniture-page main#top .furniture-project-conditions,
  body.furniture-page main#top .furniture-delivery-badge { width: 100% !important; min-height: 0 !important; height: auto !important; padding: 16px !important; }
  body.furniture-page main#top .room-item { min-height: 54px !important; }
  body.furniture-page main#top .furniture-project-conditions { padding: 8px 12px !important; }
  body.furniture-page main#top .furniture-project-conditions li { min-height: 50px !important; }
  body.furniture-page main#top .furniture-plus { margin: 0 auto !important; }
  body.furniture-page main#top .furniture-space-arrow { width: 36px !important; height: 42px !important; margin: 0 auto !important; transform: rotate(90deg) !important; }
  body.furniture-page main#top .furniture-delivery-badge { min-height: 170px !important; border-radius: 10px !important; }

  body.furniture-page main#top .fur-needs__grid { gap: 9px !important; }
  body.furniture-page main#top .fur-mini-card { display: grid !important; grid-template-columns: 42px minmax(0, 1fr) !important; gap: 8px 12px !important; padding: 13px !important; }
  body.furniture-page main#top .fur-mini-card__icon { grid-row: 1 / 3 !important; width: 42px !important; height: 42px !important; margin: 0 !important; }
  body.furniture-page main#top .fur-mini-card p { margin-top: 3px !important; font-size: 12px !important; line-height: 1.55 !important; }
  body.furniture-page main#top .fur-materials__photo { min-height: 210px !important; height: 210px !important; }
  body.furniture-page main#top .fur-materials__specs { gap: 8px !important; }
  body.furniture-page main#top .fur-material-spec { padding: 13px !important; }

  body.furniture-page main#top .fur-cases__grid,
  body.furniture-page main#top .fur-materials__specs {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    margin-inline: -16px !important;
    padding: 0 16px 10px !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  body.furniture-page main#top .fur-cases__grid::-webkit-scrollbar,
  body.furniture-page main#top .fur-materials__specs::-webkit-scrollbar {
    display: none !important;
  }

  body.furniture-page main#top .fur-cases__grid > article,
  body.furniture-page main#top .fur-materials__specs > article {
    flex: 0 0 min(82vw, 300px) !important;
    width: min(82vw, 300px) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    scroll-snap-align: start !important;
  }

  body.furniture-page main#top .fur-oem-process__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  body.furniture-page main#top .fur-oem-process__grid > li {
    display: grid !important;
    grid-template-columns: 106px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
    border: 1px solid #dce2e6 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }

  body.furniture-page main#top .fur-oem-process__grid > li::before,
  body.furniture-page main#top .fur-oem-process__grid > li::after {
    display: none !important;
  }

  body.furniture-page main#top .fur-oem-process__visual,
  body.furniture-page main#top .fur-oem-process__visual img {
    width: 106px !important;
    height: 100px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    object-fit: cover !important;
  }

  body.furniture-page main#top .fur-oem-process__visual small {
    top: 6px !important;
    left: 6px !important;
    width: 30px !important;
    height: 30px !important;
    font-size: 11px !important;
  }

  body.furniture-page main#top .fur-oem-process__visual small span { display: none !important; }
  body.furniture-page main#top .fur-oem-process__copy h3 { font-size: 16px !important; line-height: 1.4 !important; }
  body.furniture-page main#top .fur-oem-process__copy > p:last-child { font-size: 11px !important; line-height: 1.5 !important; }

  body.furniture-page main#top .fur-cases__grid > article {
    display: block !important;
  }

  body.furniture-page main#top .fur-cases__grid > article > img {
    width: 100% !important;
    height: 170px !important;
    object-fit: cover !important;
  }

  body.furniture-page main#top .fur-cases__grid > article > div { padding: 14px !important; }
  body.furniture-page main#top .fur-cases__grid dl { gap: 6px !important; margin-top: 10px !important; }
  body.furniture-page main#top .fur-cases__grid a { min-height: 40px !important; margin-top: 8px !important; }

  body.furniture-page main#top .fur-materials__specs > article {
    padding: 15px !important;
  }

  body.furniture-page main#top .fur-oem-process::after { content: none !important; }

  body.furniture-page main#top .fur-materials__layout::after,
  body.furniture-page main#top .fur-cases .fur-shell::after {
    content: "横にスワイプして続きを見る →" !important;
    display: block !important;
    margin-top: 8px !important;
    color: #697685 !important;
    font-size: 11px !important;
    letter-spacing: .04em !important;
    text-align: right !important;
  }

  /* Footer: retain tappable links, reduce the excessive column whitespace. */
  .site-footer .footer-inner { padding: 24px 18px 18px !important; }
  .site-footer .footer-main { gap: 12px !important; min-height: 0 !important; }
  .site-footer .footer-brand { gap: 6px !important; }
  .site-footer .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 18px !important; }
  .site-footer .footer-column:nth-child(3) { grid-column: 1 / -1 !important; }
  .site-footer .footer-column:nth-child(3) .footer-link-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .site-footer .footer-column,
  .site-footer .footer-contact-panel { padding-block: 10px !important; }
  .site-footer .footer-column-title { gap: 7px !important; margin-bottom: 8px !important; }
  .site-footer .footer-link-list a { min-height: 36px !important; padding-block: 4px !important; }
  .site-footer .footer-contact { gap: 7px !important; }
  .site-footer .footer-bottom-inner { gap: 8px !important; }

  /* Keep the primary business choices visible in the mobile menu. */
  .mobile-nav .mobile-nav__section--business {
    display: block !important;
    padding: 0 0 10px !important;
    border-top: 1px solid #e4eaf0 !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__summary {
    min-height: 46px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 0 !important;
    color: #102f4d !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    cursor: default !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__summary::after {
    content: none !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__panel {
    gap: 7px !important;
    margin: 0 !important;
    padding: 9px !important;
    border: 1px solid rgba(183, 149, 85, .24) !important;
    border-radius: 11px !important;
    background:
      linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, .008)),
      rgba(7, 39, 69, .90) !important;
    box-shadow: 0 10px 24px rgba(8, 35, 62, .08) !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-link {
    min-height: 56px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(255, 255, 255, .12) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, .025) !important;
    box-shadow: none !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-link:is(:hover, :focus-visible),
  .mobile-nav .mobile-nav__section--business .mobile-nav__business-link.is-active {
    border-color: rgba(213, 176, 99, .42) !important;
    background: rgba(213, 176, 99, .09) !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-meta {
    color: rgba(229, 198, 134, .76) !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-title {
    color: rgba(255, 255, 255, .96) !important;
  }

  /* Short connector from H&S to the first service only. */
  body.home-page main#top .reason-panel--route .route-showcase__services {
    margin-top: 14px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__services::before {
    top: -15px !important;
    bottom: auto !important;
    height: 15px !important;
  }

  /* Align the mobile diagram markers with the five exploded layers. */
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(1) { top: 72px !important; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(2) { top: 122px !important; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(3) { top: 172px !important; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(4) { top: 270px !important; }
  body[data-page="architecture"] main#top .arch-module__markers i:nth-child(5) { top: 350px !important; }

  /* Unified dark navigation: typography and rules replace floating cards. */
  .mobile-nav {
    padding: 8px 18px max(24px, env(safe-area-inset-bottom)) !important;
    background: #061827 !important;
  }

  .mobile-nav > a {
    min-height: 60px !important;
    padding: 16px 4px !important;
    border-top: 1px solid rgba(255, 255, 255, .24) !important;
    color: rgba(255, 255, 255, .96) !important;
    font-size: 16px !important;
  }

  .mobile-nav .mobile-nav__section--business {
    padding: 0 !important;
    border: 0 !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__summary {
    min-height: 58px !important;
    padding: 16px 4px 13px !important;
    border-bottom: 1px solid rgba(255, 255, 255, .24) !important;
    color: #fff !important;
    font-size: 17px !important;
    letter-spacing: .06em !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__panel {
    gap: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-link {
    min-height: 66px !important;
    padding: 12px 4px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .18) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-link:is(:hover, :focus-visible),
  .mobile-nav .mobile-nav__section--business .mobile-nav__business-link.is-active {
    border-color: rgba(255, 255, 255, .24) !important;
    background: rgba(255, 255, 255, .045) !important;
    box-shadow: inset 3px 0 0 rgba(203, 168, 99, .88) !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-meta {
    color: rgba(211, 181, 119, .86) !important;
  }

  .mobile-nav .mobile-nav__section--business .mobile-nav__business-title {
    color: #fff !important;
    font-size: 16px !important;
  }

  .mobile-nav > a:last-child {
    min-height: 52px !important;
    margin-top: 18px !important;
    border: 1px solid rgba(255, 255, 255, .46) !important;
    border-radius: 2px !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  /* Pull all three service labels up together with the shortened connector. */
  body.home-page main#top .reason-panel--route .route-showcase__services {
    margin-top: -2px !important;
  }

  /* General route: six stops in two compact rows, matching the desktop motif. */
  body.home-page main#top .reason-panel--route .route-showcase__chain {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px 8px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i {
    display: none !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    gap: 5px !important;
    width: auto !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 4px 2px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div > span {
    width: 64px !important;
    height: 64px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain strong {
    justify-self: center !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    text-align: center !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div::after {
    content: none !important;
    display: none !important;
  }

  /* Mobile-only centered route headings. */
  body.home-page main#top .reason-panel--route .route-showcase__general-label,
  body.home-page main#top .reason-panel--route .route-showcase__primary-label {
    justify-content: center !important;
    text-align: center !important;
  }

  /* Mobile-only snake flow: 1 → 2 → 3, then 4 ← 5 ← 6. */
  body.home-page main#top .reason-panel--route .route-showcase__chain {
    grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr) !important;
    grid-template-rows: auto 20px auto !important;
    gap: 0 3px !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > div:nth-of-type(1) { grid-area: 1 / 1 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:nth-of-type(2) { grid-area: 1 / 3 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:nth-of-type(3) { grid-area: 1 / 5 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:nth-of-type(4) { grid-area: 3 / 5 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:nth-of-type(5) { grid-area: 3 / 3 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > div:nth-of-type(6) { grid-area: 3 / 1 !important; }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i {
    position: static !important;
    display: grid !important;
    width: 18px !important;
    height: 20px !important;
    place-items: center !important;
    align-self: center !important;
    margin: 0 !important;
    background: transparent !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(1) { grid-area: 1 / 2 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(2) { grid-area: 1 / 4 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(3) { grid-area: 2 / 5 !important; justify-self: center !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(4) { grid-area: 3 / 4 !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(5) { grid-area: 3 / 2 !important; }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i::after {
    content: "→" !important;
    position: static !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    border: 0 !important;
    color: #9b7332 !important;
    font: 600 17px/1 var(--font-ui) !important;
    transform: none !important;
  }

  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(3)::after { content: "↓" !important; }
  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(4)::after,
  body.home-page main#top .reason-panel--route .route-showcase__chain > i:nth-of-type(5)::after { content: "←" !important; }

  /* Mobile-only language control: remove the competing white outline. */
  .site-header .language-switcher__toggle {
    width: 38px !important;
    min-width: 38px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}
