/* One shared hierarchy for every public EN/JA page. Loaded after legacy page CSS. */
:root {
  --layout-page-title: clamp(2rem, 4vw, 3.5rem);
  --layout-section-title: clamp(1.75rem, 2.6vw, 2.75rem);
  --layout-story-title: clamp(1.4rem, 1.9vw, 1.75rem);
  --layout-section-space: clamp(44px, 5vw, 76px);
}
body.site-page main h1 { font-size: var(--layout-page-title) !important; line-height: 1.16; }
body.site-page :is(.page-hero,.industry-hero,.industry-intro,.industry-measures,.section-heading,.about-story-v2,.about-team-v2,.about-presence-v2,.about-skydeck-v2,.cta-band,.request-form-heading,.direct-contact,.service-intro,.industry-case-study,.launch-brief-heading,.launch-chain-heading,.launch-path-heading,.onboarding-intake-heading,.service-cta) h2 {
  font-size: var(--layout-section-title) !important;
  line-height: 1.22;
  text-wrap: balance;
}
body.site-page .section { padding-block: var(--layout-section-space); }
body.site-page :is(.industry-detail-cta,.industry-demo-heading,.warehouse-story-heading,.faq-directory-heading,.faq-general-heading) h2 { font-size: var(--layout-section-title) !important; line-height: 1.25; }
body.site-page #fitness-pain-title { font-size: var(--layout-section-title) !important; line-height: 1.25; }
body.site-page :is(#faq-industry-title,#faq-general-title,#featured-story-title) { font-size: var(--layout-section-title) !important; line-height: 1.25; }
body.site-page :is(.industry-cta-section,.blog-cta) h2 { font-size: var(--layout-section-title) !important; line-height: 1.25; }
body.site-page #bay-area-example-title { font-size: clamp(1.6rem, 2.2vw, 2rem); line-height: 1.25; }
body.site-page main :is(h1,h2,h3,p,figure,article,aside) { min-width: 0; }
body.site-page .industry-proof-cycle { margin: 0; width: 100%; max-width: 100%; }
body.site-page :is(.industry-demo-player,.retail-demo-player) { max-width: 1120px; margin-inline: auto; }
body.site-page :is(.retail-demo-heading,.vertical-story,.vertical-number) h2 { font-size: var(--layout-section-title) !important; line-height: 1.4; }
body.site-page .library-story[href="/blog/safe-swim-wave-vision-technology-partnership/"] img { object-fit: contain; background: #f1f6f5; }
body.site-page .library-guide-card { display: flex; flex-direction: column; }
body.site-page .library-guide-card > .library-card-link { margin-top: auto; align-self: start; }
body.site-page .video-watch-transcript ol:has(> li:nth-child(4)) { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.site-page .fitness-metric-story { min-height: 280px; padding-block: 28px; opacity: 1; }
body.site-page .fitness-metric-story h3 { max-width: 24ch; font-size: var(--layout-story-title); line-height: 1.25; }
body.site-page .fitness-metric-number { margin-bottom: 14px; }
body.site-page .fitness-metric-story .fitness-metric-decision { margin-top: 16px; padding-top: 16px; }
body.site-page .fitness-metric-story.is-active { border-top-color: #a87949; }
html.motion-enhanced body.site-page .industry-analysis-console li { opacity: 1; transform: none; }
html.motion-enhanced body.site-page .industry-analysis-ready { opacity: 1; transform: none; }
body.book-page .booking-layout { align-items: start; }
body.book-page .request-form-grid label { align-content: start; grid-auto-rows: max-content; }
body.book-page .request-form-heading h2 { max-width: 24ch; }
body.book-page .direct-contact { padding: clamp(24px, 3vw, 36px); }
body.getting-started-page :is(.service-step,.work-step,.service-preparation-item) { min-width: 0; }
body.getting-started-page .onboarding-inputs li { display: grid; grid-template-columns: 28px minmax(0,1fr); column-gap: 12px; }
body.getting-started-page .onboarding-inputs li > p { grid-column: 2; margin-top: 12px; }
body.getting-started-page .onboarding-inputs li > strong { font-size: 20px; line-height: 1.45; }
body.getting-started-page .onboarding-inputs li > span { padding-top: 5px; }
body.home-page .hero.hero-scenarios { margin-bottom: 130px; overflow: visible; }
body.home-page .hero.hero-scenarios .hero-scenario-media { overflow: visible; }
body.home-page .hero.hero-scenarios .hero-scene-caption {
  position: absolute; inset: auto 0 -102px;
  display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  align-items: start; gap: 20px;
  width: 100%; max-width: none; min-height: 78px; padding: 20px 0 0;
  color: #fff; background: transparent;
  text-align: left;
}
body.home-page .hero-scene-caption strong { font-size: 21px; line-height: 1.35; }
body.home-page .hero-scene-caption span { max-width: 58ch; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,.78); }
body.home-page .hero-scenario-tabs { gap: 12px; }
body.home-page .home-interface-copy h1 { font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.14; }
body.home-page .home-system-stage { align-items: start; }
body.home-page .home-system-flow { align-self: start; padding-top: 16px; }
body.home-page .home-system-heading { align-items: start; }
body.home-page .home-system-heading > p:last-child { padding-top: 2px; }
body.home-page .home-system-flow h3 { color: #102a49; }
body.home-page .home-system-flow li.is-active .home-system-step { color: #102a49; }
body.home-page .home-system-motion-toggle { top: 34px; right: -14px; }
body.home-page .home-system-visual-heading { font-size: 27px; }
body.home-page .home-system-workflow-wait-label { font-size: 20px; }
body.home-page .home-system-mobile-insight { display: none; }
html[lang="ja"] :is(h1,h2,h3) { overflow-wrap: normal; line-break: strict; word-break: normal; }
html[lang="ja"] body.site-page main :is(h1,h2,h3) { max-width: none; }
html[lang="ja"] body.site-page .vertical-close h2 .copy-phrase { display: inline-block; white-space: nowrap; }
html[lang="ja"] main :is(h1,h2,h3) .keep-term { display: inline-block; white-space: nowrap; }
html[lang="ja"] body.site-page main h1 { line-height: 1.4; }
html[lang="ja"] body.site-page main h2 { line-height: 1.5; }
html[lang="ja"] body.site-page .fitness-metric-story h3 { line-height: 1.5; }
html[lang="ja"] body.home-page .home-interface-copy h1 { max-width: 15em; line-height: 1.4; }
html[lang="ja"] body.home-page .home-system-flow h3 { line-height: 1.5; }
@media (max-width: 900px) {
  body.site-page .fitness-metric-story { min-height: 0; }
  body.site-page .fitness-metric-story h3 { max-width: none; }
  body.site-page .fitness-metric-story > .fitness-metric-card-picture { margin-inline: 0; }
  body.site-page .fitness-metric-card-media { aspect-ratio: auto; height: auto; object-fit: contain; }
}
@media (max-width: 760px) {
  body.site-page .video-watch-transcript ol:has(> li:nth-child(4)) { grid-template-columns: 1fr; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] .protocol-table-wrap { border: 0; overflow: visible; background: transparent; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] table { display: block; min-width: 0; width: 100%; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] tbody { display: grid; gap: 20px; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] tr { display: block; border: 1px solid #ced3d6; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] :is(th,td) { display: block; width: auto; padding: 14px 16px; border: 0; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] th[scope="row"] { background: #193b68; color: #fff; font-size: 18px; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] td + td { border-top: 1px solid #ced3d6; }
  body.site-page .protocol-section[aria-labelledby="protocol-metrics"] td::before { content: attr(data-label); display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; color: #566674; }
  body.site-page .resource-content > .article-trust-panel { order: 1; grid-row: auto; grid-column: 1; }
  body.site-page .resource-content > .protocol-meta { order: 2; }
  body.site-page .fitness-metric-card-media { height: auto; max-height: 440px; object-fit: contain; }
  body.site-page .industry-chat-viewport { height: 360px; }
  body.home-page .hero.hero-scenarios { margin-bottom: 180px; }
  body.home-page .hero.hero-scenarios .hero-scene-caption { inset-block-end: -154px; display: block; min-height: 130px; padding-top: 16px; }
  body.home-page .hero-scene-caption strong { display: block; margin-bottom: 8px; font-size: 19px; }
  body.home-page .hero-scene-caption span { display: block; font-size: 15px; }
  body.home-page .home-system-motion-toggle { top: 26px; right: 0; }
  body.home-page .is-scroll-driven .home-system-scene { position: relative; top: auto; display: block; }
  body.home-page .is-scroll-driven .home-system-assembly { width: 100%; }
  body.home-page .home-system-scene { display: block; }
  body.home-page .home-system-assembly > :is(.home-system-optimize,.home-system-suggest) { display: none; }
  body.home-page .home-system-mobile-insight { display: grid; gap: 16px; padding: 10px 8px; text-align: center; }
  body.home-page .home-system-mobile-insight strong { display: block; color: #102a49; font-size: 17px; line-height: 1.45; }
  body.home-page .home-system-mobile-insight p { margin: 6px 0 0; color: #5c6670; font-size: 14px; line-height: 1.5; }
  body.home-page .home-system-mobile-insight small { display: block; margin-bottom: 5px; color: #946c3e; font-size: 12px; }
  body.home-page .home-system-flow { padding-top: 0; }
  body.site-page .request-agenda { gap: 0; }
  body.site-page .section { padding-block: 44px; }
  body.site-page .industry-measures > header { margin-bottom: 28px; }
  html[lang="ja"] body.home-page .home-system-visual-heading { font-size: 27px; }
  html[lang="ja"] body.book-page .request-form-heading h2 .copy-phrase { display: block; font-size: 26px; white-space: nowrap; }
  html[lang="ja"] body.about-page .about-hero-v2 h1 span { display: block; }
  html[lang="ja"] body.about-page .about-presence-v2 header h2 { max-width: none; }
}
