/* Shared layouts for the multi-page site */
body:not([data-page="home"]) { background: var(--ink); overflow: visible; }
body:not([data-page="home"]) main { min-height: 70vh; overflow: visible; }
body:not([data-page="home"]):not([data-detail-page]) .site-footer {
  position: relative;
  z-index: 20;
  display: block;
  height: auto;
  min-height: 0;
  overflow: visible;
}

html:has(body[data-page="about"]) {
  --about-wash: 0;
  --about-canvas: color-mix(in srgb, var(--ink) calc(100% - (var(--about-wash) * 100%)), var(--paper));
  background: var(--about-canvas);
}
body[data-page="about"] {
  color: color-mix(in srgb, var(--paper) calc(100% - (var(--about-wash) * 100%)), var(--ink));
  background: var(--about-canvas);
}
body[data-page="about"] .page-hero {
  background: var(--brand);
}
body[data-page="about"] .about-section.section-dark {
  background: var(--ink);
}
body[data-page="about"] #about-values {
  color: var(--paper);
  background: var(--ink);
}
body[data-page="about"] .site-footer,
body[data-page="about"] .footer-inner {
  display: none !important;
}
body[data-page="about"] .site-header {
  color: color-mix(in srgb, var(--paper) calc(100% - (var(--about-wash) * 100%)), var(--ink));
}
body[data-page="about"] .site-header.is-scrolled {
  background: color-mix(in srgb, var(--about-canvas) 90%, transparent);
  border-color: color-mix(in srgb, var(--line-dark) calc(100% - (var(--about-wash) * 100%)), var(--line-light));
}
body[data-page="about"] .desktop-nav a {
  color: color-mix(in srgb, rgba(var(--paper-rgb), .66) calc(100% - (var(--about-wash) * 100%)), rgba(var(--ink-rgb), .62));
}
body[data-page="about"] .desktop-nav a:hover,
body[data-page="about"] .desktop-nav a.is-active {
  color: color-mix(in srgb, var(--paper) calc(100% - (var(--about-wash) * 100%)), var(--ink));
}
body[data-page="about"] .header-cta {
  color: color-mix(in srgb, var(--paper) calc((1 - var(--about-wash)) * 100%), var(--ink));
  background: color-mix(in srgb, var(--brand) calc((1 - var(--about-wash)) * 100%), var(--paper));
}
body[data-page="about"] .header-cta:hover {
  background: color-mix(in srgb, var(--brand-soft) calc((1 - var(--about-wash)) * 100%), var(--paper));
}
body[data-page="about"] .menu-toggle {
  color: color-mix(in srgb, var(--paper) calc(100% - (var(--about-wash) * 100%)), var(--ink));
  border-color: color-mix(in srgb, var(--line-dark) calc(100% - (var(--about-wash) * 100%)), var(--line-light));
}
body[data-page="about"] main { min-height: 0; }
body[data-page="about"] .page-breadcrumb,
body[data-page="about"] .page-index,
body[data-page="about"] .page-hero-meta,
body[data-page="about"] .section-label,
body[data-page="about"] .intro-statement > span,
body[data-page="about"] .module-card > span,
body[data-page="about"] .value-card > span,
body[data-page="about"] .about-summary { display: none; }
body[data-page="about"] .page-hero { position: sticky; top: 0; z-index: 1; flex-direction: column; justify-content: center; align-items: center; min-height: 100svh; height: 100svh; padding: 126px 0 88px; overflow: hidden; isolation: isolate; background: #000; }
body[data-page="about"] .page-hero::before { opacity: .16; mask-image: none; }
body[data-page="about"] .page-hero::after { display: none; }
body[data-page="about"] .page-hero-grid { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; width: 100%; max-width: none; text-align: center; }
body[data-page="about"] .about-glass-cube { display: none; }
body[data-page="about"] .page-hero { perspective: 1100px; }
body[data-page="about"] .about-hero-drift { position: absolute; z-index: 2; inset: 0; pointer-events: none; opacity: calc(1 - var(--about-hero-ink, 0)); }
body[data-page="about"] .about-hero-drift .about-hero-clouds { display: block; width: 100%; height: 100%; }
body[data-page="about"] .about-hero-drift-card { display: none; }
body[data-page="about"] .about-hero-drift-card:nth-child(1) { animation-delay: 0s; --sx: -31vw; --sy: -23vh; --angle: -9deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(2) { animation-delay: -1.2s; --sx: -13vw; --sy: -26vh; --angle: -3deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(3) { animation-delay: -2.4s; --sx: 9vw; --sy: -25vh; --angle: 4deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(4) { animation-delay: -3.6s; --sx: 29vw; --sy: -19vh; --angle: 9deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(5) { animation-delay: -4.8s; --sx: 35vw; --sy: 0vh; --angle: 13deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(6) { animation-delay: -6s; --sx: 28vw; --sy: 19vh; --angle: 8deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(7) { animation-delay: -7.2s; --sx: 11vw; --sy: 24vh; --angle: 3deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(8) { animation-delay: -8.4s; --sx: -12vw; --sy: 25vh; --angle: -4deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(9) { animation-delay: -9.6s; --sx: -31vw; --sy: 16vh; --angle: -10deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(10) { animation-delay: -10.8s; --sx: -37vw; --sy: -3vh; --angle: -13deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(11) { animation-delay: -12s; --sx: -19vw; --sy: -11vh; --angle: -7deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(12) { animation-delay: -13.2s; --sx: 19vw; --sy: -9vh; --angle: 7deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(13) { animation-delay: -14.4s; --sx: 21vw; --sy: 11vh; --angle: 6deg; }
body[data-page="about"] .about-hero-drift-card:nth-child(14) { animation-delay: -15.6s; --sx: -21vw; --sy: 9vh; --angle: -8deg; }
@keyframes aboutHeroDrift {
  0% { opacity: 0; filter: blur(6px); transform: translate(-50%, -50%) translate3d(var(--sx), var(--sy), -720px) rotateZ(var(--angle)) scale(.34); }
  10% { opacity: .56; filter: blur(3px); }
  72% { opacity: .56; filter: blur(0); transform: translate(-50%, -50%) translate3d(var(--sx), var(--sy), 40px) rotateZ(var(--angle)) scale(1.1, 1.02); }
  100% { opacity: 0; filter: blur(2px); transform: translate(-50%, -50%) translate3d(var(--sx), var(--sy), 200px) rotateZ(var(--angle)) scale(1.32, 1.06); }
}
body[data-page="about"] .about-glass-cube canvas { display: block; width: 100%; height: 100%; }
body[data-page="about"] .page-hero-grid > :nth-child(2) { margin-top: 0; }
body[data-page="about"] .page-hero-grid > div:first-child { display: flex; flex-direction: column; align-items: stretch; width: min(88vw, 1120px); max-width: calc(100vw - (var(--pad) * 2)); margin-inline: auto; }
body[data-page="about"] .about-hero-copy-stage { position: relative; width: 100%; min-height: min(52vh, 520px); opacity: calc(1 - var(--about-hero-ink, 0)); transition: opacity .2s linear; }
body[data-page="about"] .about-hero-copy-slide { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; opacity: 0; pointer-events: none; transition: opacity 1.05s ease; }
body[data-page="about"] .about-hero-copy-slide.is-active { opacity: 1; pointer-events: auto; }
body[data-page="about"] .about-hero-copy-slide:first-child { align-items: stretch; width: max-content; max-width: 100%; margin-inline: auto; }
body[data-page="about"] .about-hero-copy-title { margin: 0 0 36px; color: var(--paper); font: 800 clamp(42px, 5.2vw, 72px)/.95 var(--display); letter-spacing: 0; text-align: center; }
body[data-page="about"] .about-hero-copy-slide .about-intro-copy { max-width: 760px; margin: 0 auto; color: rgba(var(--paper-rgb), .86); font-size: 17px; text-align: left; }
body[data-page="about"] .about-hero-copy-quote { max-width: 18em; margin: 0; color: var(--paper); font: 500 clamp(28px, 3.2vw, 48px)/1.45 var(--display); letter-spacing: 0; text-align: center; }
body[data-page="about"] .about-hero-copy-quote em { color: var(--paper); font-style: normal; }
body[data-page="about"] .about-hero-values { position: absolute; inset: 0; z-index: 4; display: flex; align-items: center; width: 200%; pointer-events: none; opacity: var(--about-values-show, 0); transform: translateX(calc(var(--about-values-shift, 0) * -50%)); }
body[data-page="about"] .about-hero-values .about-value-card { position: relative; top: auto; left: auto; display: grid; grid-template-columns: minmax(0, .9fr) minmax(280px, .7fr); gap: clamp(36px, 6vw, 96px); align-items: center; width: 50%; padding: 0 6vw; opacity: 1; transform: none; }
body[data-page="about"] .about-hero-values .about-value-card h2 { color: var(--paper); }
body[data-page="about"] .about-hero-values .about-value-card p { color: rgba(var(--paper-rgb), .72); opacity: 1; transform: none; }
body[data-page="about"] #about-values { display: none; }
body[data-page="about"] #about-summary { display: none; }
body[data-page="about"] .page-hero.is-glass-ready .page-hero-grid > div:first-child { visibility: hidden; }
body[data-page="about"] .page-hero.is-glass-fallback .page-hero-grid > div:first-child { visibility: visible; }
body[data-page="about"] .page-hero-media,
body[data-page="about"] .page-visual { display: none; }
body[data-page="about"] .page-hero .page-title,
body[data-page="about"] .page-hero .page-title.reveal,
body[data-page="about"] .page-hero .about-hero-sub,
body[data-page="about"] .page-hero .about-hero-sub.reveal {
  opacity: 1;
  filter: none;
  transform: none;
  animation: none;
  transition: none;
}
body[data-page="about"] .page-hero .page-title { width: max-content; max-width: none; margin: 0; color: var(--paper); font-size: clamp(80px, 10vw, 148px); line-height: .84; white-space: nowrap; text-align: center; letter-spacing: .04em; }
body[data-page="about"] .page-title em,
body[data-page="about"] .page-title span { display: contents; }
body[data-page="about"] .about-hero-sub { display: block; width: 100%; margin: 24px 0 0; color: var(--paper); font: 500 clamp(28px, 3.5vw, 48px)/1.12 var(--display); letter-spacing: .12em; white-space: nowrap; text-align: center; }
body[data-page="about"] .page-hero .page-lede { display: none; }
body[data-page="about"] .page-hero-cta { display: none; }
body[data-page="about"] .about-hero { position: relative; min-height: 100svh; padding: 172px 0 112px; overflow: hidden; isolation: isolate; background: var(--ink); }
body[data-page="about"] .about-hero-grid { position: absolute; z-index: -2; inset: 0; opacity: .38; background-image: linear-gradient(rgba(var(--paper-rgb), .06) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--paper-rgb), .06) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, var(--ink), rgba(var(--ink-rgb), .7) 72%, transparent); }
body[data-page="about"] .about-hero::after { position: absolute; z-index: -1; top: 20%; right: -9%; width: min(50vw, 760px); aspect-ratio: 1; border-radius: 50%; content: ''; background: radial-gradient(circle, rgba(var(--brand-rgb), .17), transparent 65%); }
body[data-page="about"] .about-hero-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(480px, .94fr); gap: clamp(52px, 7vw, 130px); align-items: center; min-height: calc(100svh - 284px); }
body[data-page="about"] .about-hero-copy { position: relative; z-index: 1; }
body[data-page="about"] .page-breadcrumb { margin-bottom: 36px; }
body[data-page="about"] .about-title { max-width: 900px; margin: 0; font: 800 clamp(66px, 8.3vw, 142px)/.86 var(--display); letter-spacing: -.035em; }
body[data-page="about"] .about-title em { color: var(--brand); font-style: normal; }
body[data-page="about"] .about-lede { max-width: 550px; margin: 46px 0 0; color: rgba(var(--paper-rgb), .68); font-size: clamp(17px, 1.45vw, 24px); line-height: 1.8; }
body[data-page="about"] .about-actions { display: flex; align-items: center; gap: 32px; margin-top: 38px; }
body[data-page="about"] .about-hero-media { width: 100%; aspect-ratio: 1.36 / 1; border-color: rgba(var(--paper-rgb), .15); }
body[data-page="about"] .about-hero-media::after { background: linear-gradient(90deg, rgba(var(--ink-rgb), .18), rgba(var(--ink-rgb), .05) 55%, rgba(var(--ink-rgb), .2)); }
body[data-page="about"] .about-hero-meta { position: absolute; right: var(--pad); bottom: 29px; left: var(--pad); display: flex; justify-content: space-between; color: rgba(var(--paper-rgb), .3); font: 9px/1 var(--mono); letter-spacing: .06em; }
body[data-page="about"] .about-summary { padding: 25px 0 28px; color: rgba(var(--paper-rgb), .38); border-top: 1px solid var(--line-dark); background: var(--ink); font: 9px/1 var(--mono); letter-spacing: .06em; }
body[data-page="about"] .about-summary .shell { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
body[data-page="about"] .about-summary p { margin: 0; color: rgba(var(--paper-rgb), .58); font: 13px/1.5 var(--body); letter-spacing: 0; }
body[data-page="about"] .about-footer { display: none; }
body[data-page="about"] .about-section { padding-block: 125px; }
body[data-page="about"] .about-intro-copy { max-width: 760px; margin-left: auto; color: rgba(var(--paper-rgb), .62); font-size: 15px; line-height: 1.95; }
body[data-page="about"] .about-intro-copy p { margin: 0; }
body[data-page="about"] .about-intro-copy p + p { margin-top: 22px; }
body[data-page="about"] .about-section-media { max-width: 1120px; margin: 76px 0 0 auto; }
body[data-page="about"] .about-section .intro-statement { display: block; margin: 120px 0 48px; text-align: center; }
body[data-page="about"] .about-section .intro-statement blockquote { max-width: none; margin: 0; font: 500 clamp(20px, 2vw, 28px)/1.6 var(--display); letter-spacing: 0; white-space: nowrap; }
body[data-page="about"] .about-section .module-card h3 { margin-top: 26px; }
body[data-page="about"] .about-section .value-card h3 { margin-top: 30px; }

@media (max-width: 900px) {
  body[data-page="about"] .about-hero { padding-top: 130px; }
  body[data-page="about"] .page-hero { padding-top: 130px; }
  body[data-page="about"] .page-hero-grid { gap: 22px; }
  body[data-page="about"] .page-hero-cta { margin-top: 28px; }
  body[data-page="about"] .about-hero-content { grid-template-columns: 1fr; gap: 54px; min-height: auto; }
  body[data-page="about"] .about-hero-media { width: min(100%, 680px); justify-self: end; }
}

@media (max-width: 760px) {
  body[data-page="about"] .page-hero { min-height: 100svh; height: 100svh; padding: 112px 0 72px; }
  body[data-page="about"] .about-hero-drift-card { width: min(62vw, 320px); }
  body[data-page="about"] .page-hero-cta { margin-top: 24px; }
  body[data-page="about"] .about-hero { min-height: 0; padding: 112px 0 72px; }
  body[data-page="about"] .about-hero-content { gap: 42px; }
  body[data-page="about"] .about-title { font-size: clamp(48px, 13.5vw, 78px); line-height: .92; }
  body[data-page="about"] .about-lede { margin-top: 32px; font-size: 15px; line-height: 1.8; }
  body[data-page="about"] .about-actions { align-items: flex-start; flex-direction: column; gap: 25px; margin-top: 28px; }
  body[data-page="about"] .about-hero-media { aspect-ratio: 1.15 / 1; }
  body[data-page="about"] .about-summary { padding: 21px 0; }
  body[data-page="about"] .about-summary .shell { display: block; }
  body[data-page="about"] .about-summary p { margin-top: 12px; font-size: 12px; }
  body[data-page="about"] .about-section { padding-block: 82px; }
  body[data-page="about"] .about-intro-copy { margin-left: 0; font-size: 13px; }
  body[data-page="about"] .about-section-media { margin-top: 48px; }
  body[data-page="about"] .about-section .intro-statement { margin: 72px 0 32px; }
  body[data-page="about"] .about-section .intro-statement blockquote { white-space: nowrap; font-size: clamp(16px, 4vw, 20px); }
  body[data-page="about"] .about-section .module-card h3 { margin-top: 24px; }
  body[data-page="about"] .about-section .value-card h3 { margin-top: 24px; }
}

.site-header .desktop-nav a.is-active { color: var(--paper); }
.site-header .desktop-nav a.is-active::after { transform: scaleX(1); transform-origin: left; }

.page-hero { position: relative; display: flex; align-items: flex-end; min-height: 720px; padding: 170px 0 90px; color: var(--paper); background: var(--ink); overflow: hidden; isolation: isolate; }
.page-hero::before { position: absolute; z-index: -2; inset: 0; content: ''; opacity: .34; background-image: linear-gradient(rgba(var(--paper-rgb), .06) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--paper-rgb), .06) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, var(--ink) 0%, rgba(var(--ink-rgb), .5) 68%, transparent 100%); }
.page-hero::after { position: absolute; z-index: -1; top: 12%; right: -8%; width: min(54vw, 760px); aspect-ratio: 1; border-radius: 50%; content: ''; background: radial-gradient(circle, rgba(var(--brand-rgb), .22), rgba(var(--brand-rgb), .05) 33%, transparent 68%); }
.page-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .62fr); gap: 8vw; align-items: end; }
.page-hero-grid > * { min-width: 0; }
.page-breadcrumb { display: flex; align-items: center; gap: 12px; margin-bottom: 35px; color: rgba(var(--paper-rgb), .43); font: 9px/1 var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.page-breadcrumb a { transition: color .2s ease; }
.page-breadcrumb a:hover { color: var(--brand); }
.page-breadcrumb i { width: 28px; height: 1px; background: rgba(var(--paper-rgb), .2); }
.page-index { display: block; margin-bottom: 24px; color: var(--brand); font: 10px/1 var(--mono); letter-spacing: .07em; }
.page-title { max-width: 900px; margin: 0; font: 800 clamp(64px, 8vw, 122px)/.9 var(--display); letter-spacing: 0; }
.page-title em { color: var(--brand); font-style: normal; }
.page-title.is-compact { font-size: clamp(56px, 7vw, 102px); }
.page-lede { max-width: 490px; margin: 0 0 3px; color: rgba(var(--paper-rgb), .7); font-size: clamp(17px, 1.6vw, 23px); line-height: 1.65; letter-spacing: 0; }
.page-lede strong { color: var(--paper); font-weight: 500; }
.page-lede-supplement { max-width: 460px; margin-top: 14px; color: rgba(var(--paper-rgb), .52); font-size: clamp(14px, 1.15vw, 18px); line-height: 1.75; }
.page-actions { display: flex; align-items: center; gap: 24px; margin-top: 32px; }
.page-visual { position: absolute; z-index: 0; top: 46%; right: max(var(--pad), calc((100vw - var(--max)) / 2)); display: block; width: min(35vw, 470px); aspect-ratio: 1; pointer-events: none; isolation: isolate; transform: translateY(-50%); }
.page-visual > img { display: none; }
.page-visual:is(.page-hero-media, .section-media, .section-media-wide, .capability-detail-media, .contact-copy-media) > img { display: block; }
.page-visual::before, .page-visual::after { position: absolute; z-index: 0; inset: 10%; border: 1px solid rgba(var(--brand-rgb), .35); border-radius: 50%; content: ''; }
.page-visual::before { animation: orbitSpin 26s linear infinite; border-style: dashed; }
.page-visual::after { inset: 25% 4%; border-color: rgba(var(--blue-rgb), .2); transform: rotate(38deg); }
.page-visual-core { position: absolute; z-index: 1; top: 50%; left: 50%; display: grid; place-items: center; width: 145px; height: 145px; color: var(--brand); text-align: center; border: 1px solid rgba(var(--brand-rgb), .58); border-radius: 50%; background: rgba(var(--ink-rgb), .74); box-shadow: 0 0 60px rgba(var(--brand-rgb), .2); transform: translate(-50%, -50%); font: 10px/1.5 var(--mono); letter-spacing: .07em; }
.page-visual-dot { position: absolute; z-index: 1; width: 8px; height: 8px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 16px var(--brand); }
.page-visual-dot:nth-child(2) { top: 12%; left: 47%; }
.page-visual-dot:nth-child(3) { top: 56%; right: 3%; background: var(--blue); }
.page-visual-dot:nth-child(4) { bottom: 9%; left: 23%; background: var(--orange); }
.page-hero-meta { position: absolute; z-index: 1; right: var(--pad); bottom: 28px; left: var(--pad); display: flex; justify-content: space-between; color: rgba(var(--paper-rgb), .28); font: 9px/1 var(--mono); letter-spacing: .06em; }

.page-subnav { position: sticky; z-index: 12; top: 66px; color: var(--paper); background: rgba(var(--ink-rgb), .91); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); backdrop-filter: blur(12px); }
.page-subnav .shell { display: flex; gap: 28px; align-items: center; min-height: 54px; overflow-x: auto; scrollbar-width: none; }
.page-subnav .shell::-webkit-scrollbar { display: none; }
.page-subnav a { color: rgba(var(--paper-rgb), .48); white-space: nowrap; font: 9px/1.45 var(--mono); letter-spacing: .07em; transition: color .2s ease; }
.page-subnav a:hover, .page-subnav a.is-current { color: var(--brand); }

.content-section { padding: 125px 0; }
.content-section.compact { padding: 90px 0; }
.split-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .55fr); gap: 9vw; align-items: end; margin-bottom: 72px; }
.split-heading h2 { margin: 0; font: 800 clamp(44px, 5.7vw, 82px)/.98 var(--display); letter-spacing: 0; }
.split-heading h2 em { color: var(--brand); font-style: normal; }
.split-heading p { max-width: 440px; margin: 0; color: rgba(var(--paper-rgb), .53); font-size: 14px; line-height: 1.9; }
.section-light .split-heading p, .section-brand .split-heading p { color: rgba(var(--ink-rgb), .6); }
.section-brand .split-heading h2 em { color: var(--ink); }
.section-label { display: block; margin-bottom: 70px; color: var(--brand); font: 10px/1 var(--mono); letter-spacing: .06em; }
.section-light .section-label, .section-brand .section-label { color: rgba(var(--ink-rgb), .5); }

.intro-statement { display: grid; grid-template-columns: .4fr 1fr; gap: 8vw; align-items: start; }
.intro-statement > span { color: var(--brand); font: 10px/1 var(--mono); }
.intro-statement blockquote { max-width: 980px; margin: 0; font: 700 clamp(34px, 4.6vw, 68px)/1.09 var(--display); letter-spacing: 0; }
.intro-statement blockquote em { color: var(--brand); font-style: normal; }

.module-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); }
.module-grid > *,
.workflow-grid > *,
.solution-row > *,
.scenario-entry > *,
.value-grid > *,
.page-cta-grid > *,
.contact-page-grid > * { min-width: 0; }
.section-light .module-grid, .section-brand .module-grid { border-color: var(--line-light); }
.module-card { position: relative; min-height: 300px; padding: 24px 22px 26px 0; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.module-card + .module-card { padding-left: 22px; }
.module-card:nth-child(4n) { border-right: 0; }
.section-light .module-card, .section-brand .module-card { border-color: var(--line-light); }
.module-card > span { color: var(--brand); font: 9px/1 var(--mono); }
.section-brand .module-card > span { color: rgba(var(--ink-rgb), .5); }
.module-card h3 { margin: 82px 0 14px; font: 700 21px/1.2 var(--body); letter-spacing: 0; }
.module-card p { margin: 0; color: rgba(var(--paper-rgb), .5); font-size: 12px; line-height: 1.75; }
.section-light .module-card p, .section-brand .module-card p { color: rgba(var(--ink-rgb), .58); }
.module-card .module-arrow { position: absolute; right: 20px; bottom: 22px; color: var(--brand); font: 17px/1 var(--mono); }
#about-intro, #about-services, #about-values { scroll-margin-top: 84px; }
body[data-page="about"] .page-title { max-width: 1100px; color: var(--brand); }
body[data-page="about"] .page-lede { max-width: 500px; font-size: clamp(16px, 1.35vw, 20px); line-height: 1.75; }
body[data-page="about"] .page-actions { gap: 20px; }
body[data-page="about"] .content-section { padding-block: 108px; }
body[data-page="about"] .section-copy-wide { max-width: 760px; margin-left: auto; }
body[data-page="about"] #about-intro .section-copy-wide + .section-copy-wide { margin-top: 24px; }
body[data-page="about"] #about-intro .intro-statement { margin-top: 76px; }
body[data-page="about"] #about-services .split-heading {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 54px;
}
body[data-page="about"] #about-services .split-heading p { padding-left: 30px; }
@media (min-width: 761px) {
  body[data-page="about"] #about-services .split-heading {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 0;
  }
  body[data-page="about"] #about-services .split-heading h2 { grid-column: 1; }
  body[data-page="about"] #about-services .split-heading p {
    grid-column: 2;
    align-self: end;
    width: auto;
    max-width: 440px;
    margin: 0;
    padding: 0 0 0 30px;
  }
}
@media (min-width: 761px) {
  body[data-page="about"] #about-services .split-heading {
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }
  body[data-page="about"] #about-services .split-heading p {
    grid-column: 2;
    padding-left: 30px;
  }
}
.about-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.about-service-grid .module-card { min-height: 230px; padding-block: 22px 26px; }
.about-service-grid .module-card:nth-child(2n + 1) { padding-left: 0; }
.about-service-grid .module-card:nth-child(2n) { padding-left: 22px; }
body[data-page="about"] #about-services .about-service-grid > .module-card:nth-child(odd) { padding-left: 0 !important; }
body[data-page="about"] #about-services .about-service-grid > .module-card:nth-child(even) { padding-left: 22px !important; }
.about-service-grid .module-card:nth-child(2n) { border-right: 0; }
.about-service-grid .module-card h3 { margin-top: 52px; }
.about-value-grid { position: relative; height: 100svh; min-height: 680px; }
.about-values-heading { display: none; }
.about-values-heading h2 { white-space: nowrap; }
.about-values-heading h2 br { display: none; }
.about-value-card { position: absolute; z-index: 1; top: 50%; left: 0; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .7fr); gap: clamp(48px, 9vw, 150px); align-items: center; width: 100%; min-height: 0; padding: 0; border: 0; opacity: var(--value-opacity, 0); transform: translateY(calc(-50% + var(--value-y, 0px))) perspective(900px) rotateX(var(--value-tilt, 0deg)) scale(var(--value-scale, 1)); transform-origin: 50% 50%; transform-style: preserve-3d; transition: opacity .16s linear; will-change: transform, opacity; overflow: visible; }
.about-value-card.reveal,
.about-value-card.reveal.is-visible { opacity: var(--value-opacity, 0); transform: translateY(calc(-50% + var(--value-y, 0px))) perspective(900px) rotateX(var(--value-tilt, 0deg)) scale(var(--value-scale, 1)); }
.about-value-card h2 { width: 3.1em; margin: 0; color: color-mix(in srgb, var(--ink) calc(46% + var(--value-focus, 0) * 54%), transparent); font: 800 clamp(92px, 13vw, 210px)/1.05 var(--display); letter-spacing: .12em; white-space: nowrap; text-align: center; text-indent: .12em; text-shadow: 0 22px 45px rgba(var(--ink-rgb), calc((1 - var(--value-focus, 0)) * .08)); transition: color .2s ease; }
.about-value-card h2[data-screen-title] { opacity: 1; transform: none; animation: none; }
.about-value-card p { max-width: 520px; margin: 0; color: rgba(var(--ink-rgb), .66); font-size: clamp(14px, 1.1vw, 17px); line-height: 1.95; opacity: var(--value-copy, 0); transform: translateY(calc((1 - var(--value-copy, 0)) * 18px)); transition: opacity .28s ease, transform .35s var(--ease); }
body[data-page="about"] #about-values { position: relative; height: 100svh; min-height: 680px; padding: 0; }
body[data-page="about"] #about-values .shell { position: sticky; top: 0; height: 100svh; min-height: 680px; overflow: hidden; perspective: 1100px; }
body[data-page="about"] #about-values .shell::before,
body[data-page="about"] #about-values .shell::after { display: none; }
body[data-page="about"] main#main-content { display: flex; flex-direction: column; }
body[data-page="about"] #about-summary { order: 1; }
body[data-page="about"] #about-values { order: 2; color: var(--paper); background: var(--ink); }
body[data-page="about"] #about-services { position: relative; z-index: 6; order: 3; height: 100svh; min-height: 100svh; padding: 0; color: var(--ink); background: var(--paper); overflow: hidden; }
body[data-page="about"] #about-services .shell { position: relative; height: 100svh; min-height: 100svh; display: grid; place-items: center; padding-block: 96px 48px; }
body[data-page="about"] #about-services .about-services-main { width: 100%; opacity: calc(1 - min(1, var(--about-close, 0) * 2)); }
body[data-page="about"] #about-services .split-heading { margin-bottom: 36px; }
body[data-page="about"] #about-services .about-service-grid .module-card { min-height: 0; padding-block: 18px 20px; }
body[data-page="about"] #about-services .about-service-grid .module-card h3 { margin-top: 28px; }
body[data-page="about"] #about-services .about-services-close { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; max-width: none; margin: 0; padding: 0 4vw; color: var(--ink); font: 500 clamp(20px, 2.4vw, 36px)/1.2 var(--display); letter-spacing: 0; text-align: center; white-space: nowrap; opacity: calc(max(0, var(--about-close, 0) - .5) * 2); pointer-events: none; }
body[data-page="about"] #about-services .about-services-close em { display: inline; color: var(--brand); font-style: normal; }
body[data-page="about"] #about-values .about-value-card h2 { color: color-mix(in srgb, var(--paper) calc(46% + var(--value-focus, 0) * 54%), transparent); }
body[data-page="about"] #about-values .about-value-card p { color: rgba(var(--paper-rgb), .66); }
body[data-page="about"] #about-services .split-heading p,
body[data-page="about"] #about-services .module-card p { color: rgba(var(--ink-rgb), .6); }
body[data-page="about"] #about-services .about-service-grid,
body[data-page="about"] #about-services .module-card { border-color: var(--line-light); }
@media (prefers-reduced-motion: reduce) {
  body[data-page="about"] #about-values { height: auto; padding: 108px 0; }
  body[data-page="about"] #about-values .shell { position: relative; height: auto; min-height: 0; overflow: visible; }
  body[data-page="about"] #about-values .shell::before,
  body[data-page="about"] #about-values .shell::after { display: none; }
  .about-values-heading { position: static; margin-bottom: 72px; }
  .about-value-grid { display: grid; height: auto; min-height: 0; gap: 72px; }
  .about-value-card,
  .about-value-card.reveal,
  .about-value-card.reveal.is-visible { position: static; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .7fr); opacity: 1; transform: none; }
  .about-value-card h2 { color: var(--paper); }
  .about-value-card p { opacity: 1; transform: none; }
}
.about-visual-credit { padding: 28px 0; }
.about-visual-credit .section-label { display: inline-block; margin: 0 28px 0 0; }
.about-visual-credit .visual-credit { display: inline; }
.module-card-link { transition: background .3s ease, transform .3s var(--ease); }
.module-card-link:hover { background: rgba(var(--paper-rgb), .025); transform: translateY(-3px); }
.section-light .module-card-link:hover, .section-brand .module-card-link:hover { background: rgba(var(--ink-rgb), .035); }

.workflow-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); counter-reset: workflow; border-top: 1px solid var(--line-light); }
.workflow-grid-six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.workflow-step { position: relative; min-height: 240px; padding: 24px 24px 26px 0; border-right: 1px solid var(--line-light); counter-increment: workflow; }
.workflow-step + .workflow-step { padding-left: 24px; }
.workflow-step:last-child { border-right: 0; }
.workflow-step::before { content: '0' counter(workflow); color: rgba(var(--ink-rgb), .43); font: 9px/1 var(--mono); }
.workflow-step h3 { margin: 70px 0 13px; font: 700 20px/1.2 var(--body); letter-spacing: 0; }
.workflow-step p { margin: 0; color: rgba(var(--ink-rgb), .58); font-size: 12px; line-height: 1.75; }

.tag-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.tag-cloud span, .tag-cloud a { padding: 11px 14px; color: rgba(var(--paper-rgb), .62); border: 1px solid var(--line-dark); font: 10px/1 var(--mono); transition: color .2s ease, border-color .2s ease, background .2s ease; }
.tag-cloud a:hover { color: var(--ink); background: var(--brand); border-color: var(--brand); }
.section-light .tag-cloud span, .section-light .tag-cloud a, .section-brand .tag-cloud span, .section-brand .tag-cloud a { color: rgba(var(--ink-rgb), .62); border-color: var(--line-light); }

.solution-list { border-top: 1px solid var(--line-dark); }
.solution-row { position: relative; display: grid; grid-template-columns: 68px 1fr minmax(260px, .75fr) 40px; align-items: center; gap: 28px; min-height: 120px; border-bottom: 1px solid var(--line-dark); overflow: hidden; transition: padding .3s var(--ease), background .3s ease, transform .3s var(--ease); }
.solution-row::before { position: absolute; inset: 0; content: ''; pointer-events: none; opacity: 0; background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 50%), rgba(var(--brand-rgb), .18), transparent 46%); transition: opacity .3s ease; }
.solution-row > * { position: relative; z-index: 1; }
.solution-row:hover { padding-left: 15px; background: rgba(var(--paper-rgb), .025); }
.solution-row:hover::before, .solution-row:focus-visible::before { opacity: 1; }
.solution-row:active { background: rgba(var(--brand-rgb), .1); transform: scale(.995); }
.solution-row:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.solution-row > span { color: var(--brand); font: 10px/1 var(--mono); }
.solution-row h3 { margin: 0; font: 700 clamp(22px, 2.5vw, 36px)/1.1 var(--display); letter-spacing: 0; }
.solution-row p { margin: 0; color: rgba(var(--paper-rgb), .48); font-size: 12px; line-height: 1.7; }
.solution-row i { color: var(--brand); text-align: right; font: 20px/1 var(--mono); font-style: normal; }
body[data-page="home"] .capabilities .solution-list { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); border: 1px solid var(--line-dark); }
body[data-page="home"] .capabilities .solution-row { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; min-height: 390px; padding: clamp(24px, 3vw, 46px); border: 0; }
body[data-page="home"] .capabilities .solution-row:nth-child(1), body[data-page="home"] .capabilities .solution-row:nth-child(4) { grid-column: span 7; }
body[data-page="home"] .capabilities .solution-row:nth-child(2), body[data-page="home"] .capabilities .solution-row:nth-child(3) { grid-column: span 5; }
body[data-page="home"] .capabilities .solution-row:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark); }
body[data-page="home"] .capabilities .solution-row:nth-child(1), body[data-page="home"] .capabilities .solution-row:nth-child(3) { border-right: 1px solid var(--line-dark); }
body[data-page="home"] .capabilities .solution-row > span { margin-bottom: auto; }
body[data-page="home"] .capabilities .solution-row h3 { max-width: 640px; font-size: clamp(28px, 3.2vw, 58px); }
body[data-page="home"] .capabilities .solution-row p { max-width: 540px; margin-top: 24px; font-size: 14px; line-height: 1.8; }
body[data-page="home"] .capabilities .solution-row i { position: absolute; top: 28px; right: 30px; font-size: 28px; }

.scenario-catalog { border-top: 1px solid var(--line-dark); }
.scenario-entry { display: grid; grid-template-columns: 72px minmax(210px, .7fr) minmax(0, 1fr) 42px; gap: 30px; align-items: center; min-height: 128px; padding: 20px 0; border-bottom: 1px solid var(--line-dark); transition: padding .3s var(--ease), background .3s ease; }
.scenario-entry:hover { padding-left: 14px; background: rgba(var(--paper-rgb), .025); }
.scenario-entry > span:first-child { color: var(--brand); font: 10px/1 var(--mono); }
.scenario-entry h2 { margin: 0; font: 700 clamp(22px, 2.5vw, 35px)/1.1 var(--display); letter-spacing: 0; }
.scenario-entry p { max-width: 560px; margin: 0; color: rgba(var(--paper-rgb), .5); font-size: 13px; line-height: 1.75; }
.scenario-entry i { color: var(--brand); font: 23px/1 var(--mono); font-style: normal; }
.scenario-tags { display: flex; flex-wrap: wrap; gap: 6px; grid-column: 2 / 4; }
.scenario-tags span { padding: 6px 8px; color: rgba(var(--paper-rgb), .45); border: 1px solid var(--line-dark); font: 9px/1 var(--mono); }

.value-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line-dark); }
.about-culture-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); border-color: var(--line-light); }
.about-culture-grid .value-card { min-height: 190px; border-color: var(--line-light); }
.about-culture-grid .value-card:nth-child(2n) { border-right: 0; }
.about-culture-grid .value-card h3 { margin-top: 58px; }
.value-card { min-height: 290px; padding: 25px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.value-card:nth-child(2n) { border-right: 0; }
.value-card > span { color: var(--brand); font: 9px/1 var(--mono); }
.value-card h3 { margin: 92px 0 14px; font: 700 27px/1.15 var(--display); letter-spacing: 0; }
.value-card p { max-width: 440px; margin: 0; color: rgba(var(--paper-rgb), .5); font-size: 13px; line-height: 1.8; }


.page-cta { padding: 105px 0; color: var(--ink); background: var(--brand); }
.page-cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 8vw; align-items: end; }
.page-cta h2 { max-width: 960px; margin: 0; font: 800 clamp(46px, 6vw, 86px)/1.15 var(--display); letter-spacing: 0; }
.page-cta p { max-width: 540px; margin: 24px 0 0; color: rgba(var(--ink-rgb), .64); font-size: 14px; line-height: 1.8; }
.page-cta .button { align-self: end; white-space: nowrap; }

.contact-page {
  --chip-reveal: 1;
  --mx: 50%;
  --my: 50%;
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100svh;
  overflow: hidden;
  color: var(--paper);
  background: var(--ink);
  isolation: isolate;
}
.contact-page::before,
.contact-page::after {
  position: absolute;
  inset: 0;
  content: '';
  pointer-events: none;
}
.contact-page::before {
  z-index: 0;
  background:
    radial-gradient(ellipse 46% 62% at var(--mx) var(--my), rgba(var(--brand-rgb), calc(.16 * var(--chip-reveal))), transparent 62%),
    linear-gradient(color-mix(in srgb, var(--brand) 10%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--brand) 10%, transparent) 1px, transparent 1px);
  background-size: auto, 22px 22px, 22px 22px;
  opacity: calc(var(--chip-reveal) * .16);
  -webkit-mask-image:
    linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%),
    radial-gradient(ellipse 70% 68% at var(--mx) var(--my), #000 8%, transparent 72%);
  mask-image:
    linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%),
    radial-gradient(ellipse 70% 68% at var(--mx) var(--my), #000 8%, transparent 72%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.contact-page::after {
  z-index: 0;
  background-image: radial-gradient(circle, color-mix(in srgb, var(--brand) 55%, var(--paper)) 1.05px, transparent 1.2px);
  background-size: 5px 5px;
  opacity: calc(var(--chip-reveal) * .22);
  -webkit-mask-image:
    linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%),
    radial-gradient(ellipse 64% 62% at var(--mx) var(--my), #000 0%, transparent 68%);
  mask-image:
    linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%),
    radial-gradient(ellipse 64% 62% at var(--mx) var(--my), #000 0%, transparent 68%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.contact-chip {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: calc(var(--chip-reveal) * .38);
}
.contact-chip-canvas {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.contact-page-grid { position: relative; z-index: 1; display: grid; justify-content: center; padding: 160px 0 120px; }
.contact-form-panel { position: relative; width: min(100%, 720px); padding: 0; background: transparent; border: 0; }
.contact-form-panel::before {
  position: absolute;
  z-index: -1;
  inset: -42% -92%;
  content: '';
  pointer-events: none;
  background: radial-gradient(ellipse 46% 58% at 50% 46%, rgba(var(--ink-rgb), .9) 0%, rgba(var(--ink-rgb), .74) 32%, rgba(var(--ink-rgb), .38) 54%, rgba(var(--ink-rgb), .12) 72%, transparent 88%);
}
.contact-form-panel h2 { margin: 0 0 56px; color: var(--paper); font: 800 clamp(40px, 5vw, 64px)/.95 var(--display); letter-spacing: 0; }
.contact-form-panel label,
.contact-form-panel .contact-field { display: block; margin-bottom: 36px; color: rgba(var(--paper-rgb), .82); font: 16px/1.4 var(--body); }
.contact-form-panel input, .contact-form-panel textarea, .contact-form-panel select { display: block; width: 100%; margin-top: 12px; padding: 16px 0 18px; color: var(--paper); background: transparent; border: 0; border-bottom: 1px solid rgba(var(--paper-rgb), .18); border-radius: 0; outline: 0; resize: vertical; font: 18px/1.5 var(--body); }
.contact-form-panel input::placeholder, .contact-form-panel textarea::placeholder { color: rgba(var(--paper-rgb), .34); }
.contact-form-panel input:focus, .contact-form-panel textarea:focus, .contact-form-panel select:focus { border-color: var(--brand); }
.contact-form-panel textarea { min-height: 140px; }
.contact-form-panel .button { min-height: 56px; min-width: 220px; margin-top: 8px; font-size: 14px; }
.contact-form-panel .field-hint { display: block; margin-top: 6px; color: rgba(var(--paper-rgb), .46); font: 14px/1.6 var(--body); letter-spacing: 0; }
.contact-form-panel .form-status { color: rgba(var(--paper-rgb), .62); font-size: 14px; }
.contact-select { position: relative; margin-top: 12px; }
.contact-form-panel .contact-select select {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  appearance: none;
  clip-path: inset(50%);
  opacity: 0;
  border: 0;
  pointer-events: none;
}
.contact-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  min-height: 56px;
  padding: 16px 0 18px;
  color: var(--paper);
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(var(--paper-rgb), .18);
  border-radius: 0;
  outline: 0;
  font: 18px/1.5 var(--body);
}
.contact-select-trigger[data-placeholder] { color: rgba(var(--paper-rgb), .34); }
.contact-select-trigger:focus,
.contact-select.is-open .contact-select-trigger { border-color: var(--brand); }
.contact-select-value { min-width: 0; }
.contact-select-chevron {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-top: -2px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  opacity: .62;
  transform: rotate(45deg);
  transition: transform .25s var(--ease), opacity .25s ease;
}
.contact-select.is-open .contact-select-chevron { margin-top: 4px; opacity: 1; transform: rotate(-135deg); }
.contact-select-menu {
  position: absolute;
  z-index: 8;
  top: calc(100% + 10px);
  right: 0;
  left: 0;
  display: grid;
  padding: 8px;
  color: var(--paper);
  background: color-mix(in srgb, var(--ink-soft) 92%, var(--ink));
  border: 1px solid rgba(var(--paper-rgb), .12);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .38);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity .2s ease, transform .2s var(--ease), visibility .2s;
}
.contact-select.is-open .contact-select-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
.contact-select-option {
  display: flex;
  align-items: center;
  min-height: 46px;
  padding: 10px 14px;
  color: rgba(var(--paper-rgb), .82);
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 10px;
  outline: 0;
  font: 16px/1.45 var(--body);
  cursor: pointer;
  transition: background .2s ease, color .2s ease;
}
.contact-select-option:hover,
.contact-select-option.is-active { color: var(--paper); background: rgba(var(--paper-rgb), .06); }
.contact-select-option[aria-selected="true"] { color: var(--paper); background: rgba(var(--brand-rgb), .16); }
.contact-topics { padding: 120px 0; color: var(--paper); background: var(--ink); }
.contact-topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.contact-topic-card { min-height: 245px; padding: 22px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); transition: background .3s ease, transform .3s var(--ease); }
.contact-topic-card:hover { background: rgba(var(--paper-rgb), .035); transform: translateY(-3px); }
.contact-topic-card > span { color: var(--brand); font: 9px/1 var(--mono); }
.contact-topic-card h3 { margin: 62px 0 13px; font: 700 20px/1.2 var(--body); }
.contact-topic-card p { margin: 0; color: rgba(var(--paper-rgb), .53); font-size: 13px; line-height: 1.8; }
.section-copy { margin: 44px 0 0; color: rgba(var(--paper-rgb), .58); font-size: 14px; line-height: 1.9; }
.section-light .section-copy { color: rgba(var(--ink-rgb), .58); }
.section-copy-wide { max-width: 780px; margin-left: auto; }
.content-disclaimer { margin: 26px 0 0; color: rgba(var(--paper-rgb), .4); font-size: 12px; line-height: 1.7; }
.section-light .content-disclaimer { color: rgba(var(--ink-rgb), .48); }

.home-summary-grid { display: grid; grid-template-columns: 1fr .7fr; gap: 9vw; align-items: end; }
.home-summary h2 { margin: 0; font: 800 clamp(48px, 6.4vw, 92px)/.96 var(--display); letter-spacing: 0; }
.home-summary h2 em { color: var(--brand); font-style: normal; }
.home-summary-copy p { margin: 0 0 26px; color: rgba(var(--paper-rgb), .53); font-size: 14px; line-height: 1.9; }

.visual-credit { margin: 0; color: rgba(var(--ink-rgb), .58); font: 11px/1.8 var(--mono); }
.visual-credit a { color: var(--brand); text-decoration: underline; text-underline-offset: 4px; }

/* Shared editorial media layouts */
.page-hero:has(.page-hero-media) .page-hero-grid { display: block; padding-right: clamp(390px, 42vw, 700px); }
.page-hero:has(.page-hero-media) .page-hero-grid > :nth-child(2) { margin-top: 34px; }
.page-hero-media { position: absolute; z-index: 0; top: 50%; right: max(var(--pad), calc((100vw - var(--max)) / 2)); width: min(42vw, 680px); max-width: calc(100% - (var(--pad) * 2)); pointer-events: none; transform: translateY(-46%); }
.page-hero-media.media-frame, .page-hero-media > .media-frame { border-color: var(--line-dark); }
.page-hero-media.media-frame::after, .page-hero-media > .media-frame::after { background: linear-gradient(90deg, rgba(var(--ink-rgb), .72), rgba(var(--ink-rgb), .13) 48%, rgba(var(--ink-rgb), .27)); }

.section-media, .section-media-wide { width: min(100%, 980px); margin: clamp(48px, 7vw, 92px) auto 0; }
.section-media-wide { width: 100%; }
:is(.page-hero-media, .section-media, .section-media-wide, .capability-detail-media, .contact-copy-media) > .media-frame { width: 100%; }
.section-media-wide:is(.media-frame), .section-media-wide > .media-frame { aspect-ratio: 16 / 7; }
.media-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 2.2vw, 34px); width: 100%; margin-top: clamp(48px, 7vw, 92px); }
.media-pair > * { min-width: 0; }
.media-pair > :is(.section-media, .section-media-wide, .media-frame) { width: 100%; margin: 0; }
.media-pair > :is(.section-media, .section-media-wide, .media-frame), .media-pair > :is(.section-media, .section-media-wide) > .media-frame { aspect-ratio: 3 / 2; }

.section-dark .media-frame { background: var(--surface); border-color: var(--line-dark); }
.section-dark .media-frame::after { background: linear-gradient(90deg, rgba(var(--ink-rgb), .38), rgba(var(--ink-rgb), .08) 58%, rgba(var(--ink-rgb), .2)); }
.section-light .media-frame, .section-brand .media-frame { background: var(--paper); border-color: var(--line-light); }
.section-light .media-frame::after, .section-brand .media-frame::after { background: linear-gradient(90deg, rgba(var(--ink-rgb), .16), rgba(var(--ink-rgb), .025) 58%, rgba(var(--ink-rgb), .08)); }

body[data-detail-page] .capability-detail-screen { overflow: hidden; }
body[data-detail-page] .capability-detail-screen .capability-detail-media { position: relative; z-index: 0; flex: 0 0 auto; width: min(640px, 42vw); height: min(640px, 42vw); max-width: none; margin: 0; pointer-events: none; opacity: .7; }
body[data-detail-page] .capability-detail-screen .capability-detail-media:has([data-point-field]) {
  width: min(640px, 42vw);
  height: min(640px, 42vw);
  max-width: none;
  aspect-ratio: auto;
  background: transparent;
  border: 0;
  opacity: 1;
  overflow: visible;
  isolation: auto;
}
.capability-detail-media.media-frame::after, .capability-detail-media > .media-frame::after { background: linear-gradient(90deg, rgba(var(--ink-rgb), .68), rgba(var(--ink-rgb), .11) 50%, rgba(var(--ink-rgb), .25)); }
.capability-detail-media:has([data-point-field])::after { display: none; }
.capability-point-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.capability-detail-shell:has(.capability-detail-media) .capability-detail-identity { position: relative; z-index: 2; }

.contact-copy-media { width: min(100%, 620px); margin-top: clamp(46px, 7vw, 88px); }
.contact-copy-media.media-frame::after, .contact-copy-media > .media-frame::after { background: linear-gradient(90deg, rgba(var(--ink-rgb), .42), rgba(var(--ink-rgb), .08) 58%, rgba(var(--ink-rgb), .2)); }
.page-visual:is(.section-media, .section-media-wide, .contact-copy-media) { position: relative; top: auto; right: auto; width: min(100%, 980px); max-width: 100%; pointer-events: auto; opacity: 1; transform: none; }
.page-visual:is(.section-media-wide) { width: 100%; }
.page-visual:is(.contact-copy-media) { width: min(100%, 620px); }
.page-visual:is(.page-hero-media, .section-media, .capability-detail-media, .contact-copy-media) { aspect-ratio: 3 / 2; }
.page-visual.section-media-wide { aspect-ratio: 16 / 7; }
.media-pair > .page-visual:is(.section-media, .section-media-wide) { aspect-ratio: 3 / 2; }
.page-visual:is(.page-hero-media, .section-media, .section-media-wide, .capability-detail-media, .contact-copy-media) { border-radius: 0; isolation: isolate; }
.page-visual:is(.page-hero-media, .section-media, .section-media-wide, .capability-detail-media, .contact-copy-media)::before { display: none; }
.page-visual:is(.page-hero-media, .section-media, .section-media-wide, .capability-detail-media, .contact-copy-media)::after { z-index: 1; inset: 0; border: 0; border-radius: 0; transform: none; }



@media (max-width: 1180px) {
  body[data-detail-page] .capability-detail-screen { --detail-media-size: min(540px, 40vw); }
  .page-hero:has(.page-hero-media) .page-hero-grid { padding-right: min(43vw, 510px); }
  .page-hero-media { right: var(--pad); width: min(41vw, 540px); }
  .section-media, .section-media-wide, .media-pair { max-width: 100%; }
  body[data-detail-page] .capability-detail-screen .capability-detail-media { width: min(540px, 40vw); height: min(540px, 40vw); }
  body[data-detail-page] .capability-detail-screen .capability-detail-media:has([data-point-field]) { width: min(540px, 40vw); height: min(540px, 40vw); opacity: 1; }
  .contact-copy-media { width: min(100%, 560px); }
  .module-grid { grid-template-columns: repeat(2, 1fr); }
  .about-culture-grid { grid-template-columns: repeat(2, 1fr); }
  .about-culture-grid .value-card:nth-child(3n) { border-right: 1px solid var(--line-light); }
  .about-culture-grid .value-card:nth-child(2n) { border-right: 0; }
  .module-card:nth-child(2n) { border-right: 0; }
  .module-card:nth-child(4n+1) { padding-left: 0; }
  .about-service-grid { grid-template-columns: repeat(2, 1fr); }
  .about-service-grid > *:nth-child(2n) { border-right: 0; }
  .workflow-grid-six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1100px) {
  body[data-detail-page] .capability-detail-screen { --detail-media-size: min(460px, 40vw); }
  .desktop-nav, .header-cta { display: none; }
  .menu-toggle { display: block; }
  .page-hero:has(.page-hero-media) .page-hero-grid { padding-right: min(42vw, 460px); }
  .page-hero-media { width: min(40vw, 460px); }
  body[data-detail-page] .capability-detail-screen .capability-detail-media { width: min(460px, 40vw); height: min(460px, 40vw); opacity: .58; }
  body[data-detail-page] .capability-detail-screen .capability-detail-media:has([data-point-field]) { width: min(460px, 40vw); height: min(460px, 40vw); opacity: 1; }
}

@media (max-width: 900px) {
  .page-hero-grid, .split-heading, .home-summary-grid { grid-template-columns: 1fr; }
  .page-hero { min-height: 680px; }
  .page-hero-grid { gap: 38px; }
  .page-hero:has(.page-hero-media) { flex-direction: column; align-items: flex-start; min-height: auto; padding-bottom: 64px; }
  .page-hero:has(.page-hero-media) .page-hero-grid { display: grid; padding-right: 0; }
  .page-hero:has(.page-hero-media) .page-hero-grid > :nth-child(2) { margin-top: 0; }
  .page-lede { max-width: 600px; }
  .page-visual { opacity: .45; right: -80px; width: 480px; }
  .page-hero .page-hero-media { position: relative; top: auto; right: auto; width: 100%; max-width: none; margin: 44px auto 0; pointer-events: auto; opacity: .62; transform: none; }
  .page-hero-media.media-frame::after { background: linear-gradient(180deg, rgba(var(--ink-rgb), .12), rgba(var(--ink-rgb), .46)); }
  .section-media, .section-media-wide, .media-pair { margin-top: 58px; }
  .media-pair { gap: 18px; }

  body[data-detail-page] .capability-detail-screen .capability-detail-media { position: absolute; top: 50%; right: -8vw; width: min(55vw, 500px); height: auto; opacity: .34; transform: translateY(-50%); }
  .capability-detail-identity { width: min(700px, 72vw); }
  .page-subnav { top: 60px; }
  .split-heading { gap: 28px; }
  .workflow-grid { grid-template-columns: repeat(2, 1fr); }
  .workflow-grid-six { grid-template-columns: repeat(2, 1fr); }
  .workflow-grid-six .workflow-step:nth-child(2n) { border-right: 0; }
  .workflow-step:nth-child(2) { border-right: 0; }
  .solution-row { grid-template-columns: 52px 1fr 32px; }
  .solution-row p { grid-column: 2; padding-bottom: 24px; }
  .solution-row i { grid-row: 1 / span 2; grid-column: 3; }

  .scenario-entry { grid-template-columns: 38px 1fr 24px; gap: 12px; padding: 24px 0; }
  .scenario-entry p { grid-column: 2; font-size: 11px; }
  .scenario-entry i { grid-column: 3; grid-row: 1 / span 3; }
  .scenario-tags { grid-column: 2; }
  .scenario-tags span { font-size: 8px; }
  .contact-topics { padding: 80px 0; }
  .contact-topic-grid { grid-template-columns: 1fr; }
  .contact-topic-card { min-height: 210px; padding: 20px 0; border-right: 0; }
  .contact-topic-card h3 { margin-top: 48px; }
}

@media (max-width: 760px) {
  .mobile-menu { padding-top: 86px; }
  .mobile-menu nav { gap: 0; }
  .mobile-menu nav a { padding: 13px 0; font-size: clamp(26px, 8vw, 38px); }
  .mobile-menu-foot { margin-top: 20px; }
  .page-hero { min-height: 660px; padding: 125px 0 70px; }
  .page-hero:has(.page-hero-media) { flex-direction: column; min-height: auto; padding-bottom: 58px; }
  .page-hero .page-hero-media { width: min(var(--max), calc(100% - (var(--pad) * 2))); margin-top: 38px; opacity: .48; }
  .page-title, .page-title.is-compact { font-size: clamp(53px, 15vw, 82px); }
  body[data-page="about"] .page-hero .page-title { max-width: none; font-size: clamp(52px, 13vw, 84px); line-height: .86; }
  body[data-page="about"] .about-hero-sub { margin-top: 28px; font-size: clamp(22px, 5.2vw, 32px); }
  body[data-page="about"] .page-lede { max-width: 340px; font-size: 15px; line-height: 1.8; }
  body[data-page="about"] .content-section { padding-block: 82px; }
  body[data-page="about"] #about-intro .section-copy-wide { margin-left: 0; }
  body[data-page="about"] #about-intro .intro-statement { margin-top: 52px; }
  .page-lede { font-size: 16px; }
  .page-actions { align-items: flex-start; flex-direction: column; }
  .page-visual { top: 55%; right: -190px; width: 480px; opacity: .34; }
  .page-hero-meta { font-size: 7px; }
  .page-subnav { top: 59px; }
  .content-section, .content-section.compact { padding: 80px 0; }
  .section-label { margin-bottom: 50px; }
  .split-heading { margin-bottom: 50px; }
  .split-heading h2 { font-size: clamp(42px, 12vw, 64px); }
  .intro-statement { grid-template-columns: 1fr; gap: 40px; }
  .media-pair { grid-template-columns: 1fr; gap: 16px; margin-top: 48px; }
  .section-media, .section-media-wide { margin-top: 48px; }
  .section-media-wide:is(.media-frame), .section-media-wide > .media-frame, .page-visual.section-media-wide { aspect-ratio: 3 / 2; }
  .section-light .media-frame::after, .section-brand .media-frame::after { background: linear-gradient(180deg, rgba(var(--ink-rgb), .035), rgba(var(--ink-rgb), .13)); }
  .section-dark .media-frame::after { background: linear-gradient(180deg, rgba(var(--ink-rgb), .12), rgba(var(--ink-rgb), .4)); }
  .module-grid, .workflow-grid, .value-grid { grid-template-columns: 1fr; }
  .module-card, .module-card + .module-card, .workflow-step, .workflow-step + .workflow-step { min-height: 230px; padding: 21px 0 24px; border-right: 0; }
  .module-card h3, .workflow-step h3 { margin-top: 58px; }
  body[data-page="about"] .about-service-grid { grid-template-columns: 1fr; }
  body[data-page="about"] .about-service-grid .module-card:nth-child(5) { grid-column: auto; }
  body[data-page="about"] .about-culture-grid { grid-template-columns: 1fr; }
  body[data-page="about"] .about-culture-grid .value-card { min-height: 150px; }
  body[data-page="about"] .about-culture-grid .value-card h3 { margin-top: 44px; }
  .about-value-grid { height: 100svh; min-height: 580px; }
  .about-values-heading { display: none; }
  .about-values-heading h2 { font-size: clamp(34px, 9vw, 64px); }
  .about-value-card { grid-template-columns: 1fr; gap: 22px; }
  .about-value-card h2 { width: 3.1em; font-size: clamp(88px, 28vw, 148px); line-height: 1.05; }
  .about-value-card p { max-width: 88%; font-size: 13px; line-height: 1.8; }
  body[data-page="about"] #about-values { height: 100svh; min-height: 580px; }
  body[data-page="about"] #about-values .shell { min-height: 580px; }
  body[data-page="about"] .about-visual-credit .section-label { display: block; margin: 0 0 14px; }
  body[data-page="about"] .about-visual-credit .visual-credit { display: block; }
  .about-service-grid { grid-template-columns: 1fr; }
  .about-service-grid > *:nth-child(n) { border-right: 0; }
  .value-card { min-height: 250px; padding: 22px 0; border-right: 0; }
  .value-card h3 { margin-top: 70px; }
  .solution-row { grid-template-columns: 38px 1fr 25px; gap: 10px; min-height: 140px; padding: 20px 0; }
  .solution-row p { font-size: 11px; }
  body[data-page="home"] .capabilities .solution-list { grid-template-columns: 1fr; }
  body[data-page="home"] .capabilities .solution-row:nth-child(n) { grid-column: 1; min-height: 330px; padding: 24px 20px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  body[data-page="home"] .capabilities .solution-row:last-child { border-bottom: 0; }
  body[data-page="home"] .capabilities .solution-row h3 { font-size: clamp(28px, 9vw, 42px); }
  body[data-page="home"] .capabilities .solution-row p { font-size: 12px; }
  .scenario-entry { grid-template-columns: 38px 1fr 24px; gap: 12px; padding: 24px 0; }
  .scenario-entry p { grid-column: 2; font-size: 11px; }
  .scenario-entry i { grid-column: 3; grid-row: 1 / span 2; }
  .page-cta { padding: 76px 0; }
  .page-cta-grid { grid-template-columns: 1fr; gap: 38px; }
  .page-cta h2 { font-size: clamp(42px, 12vw, 68px); }
  .contact-page-grid { padding: 120px 0 80px; }
  .contact-form-panel h2 { margin-bottom: 42px; font-size: clamp(34px, 10vw, 48px); }
  .contact-form-panel label,
  .contact-form-panel .contact-field { font-size: 15px; }
  .contact-form-panel input, .contact-form-panel textarea, .contact-form-panel select,
  .contact-select-trigger { font-size: 16px; }
  .contact-select-option { font-size: 15px; }
  .home-summary { padding: 80px 0; }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  body[data-page="about"] #about-values { height: auto; padding: 82px 0; }
  body[data-page="about"] #about-values .shell { min-height: 0; }
}

[data-screen-title="wipe"]:not(.is-visible):not(.is-leaving),
[data-screen-title="rise"]:not(.is-visible):not(.is-leaving) {
  opacity: 0;
}

[data-screen-title="wipe"].is-visible,
[data-screen-title="rise"].is-visible,
[data-screen-title="wipe"].is-leaving,
[data-screen-title="rise"].is-leaving {
  opacity: 1;
}

[data-screen-title="wipe"] .home-title-phrase {
  display: inline-block;
  opacity: 0;
  transform: translateX(-1.1em);
}

[data-screen-title="wipe"].is-visible .home-title-phrase {
  animation: homeTitleWipeIn .82s cubic-bezier(.16, 1, .3, 1) forwards;
  animation-delay: calc(var(--phrase-index) * 110ms);
}

[data-screen-title="wipe"].is-leaving .home-title-phrase {
  animation: homeTitleWipeOut .52s cubic-bezier(.4, 0, .7, .2) forwards;
  animation-delay: calc(var(--phrase-index) * 70ms);
}

@keyframes homeTitleWipeIn {
  from { opacity: 0; transform: translateX(-1.1em); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes homeTitleWipeOut {
  from { opacity: 1; transform: translateX(0); }
  to { opacity: 0; transform: translateX(1.1em); }
}

[data-screen-title="focus"] {
  opacity: 0;
  transform: scale(.92);
}

[data-screen-title="focus"].is-visible {
  animation: homeTitleFocusIn .88s cubic-bezier(.16, 1, .3, 1) forwards;
}

[data-screen-title="focus"].is-leaving {
  animation: homeTitleFocusOut .58s cubic-bezier(.4, 0, .7, .2) forwards;
}

@keyframes homeTitleFocusIn {
  from { opacity: 0; transform: scale(.92); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes homeTitleFocusOut {
  from { opacity: 1; transform: scale(1); }
  to { opacity: 0; transform: scale(1.06); }
}

[data-screen-title="rise"] {
  display: flex;
  flex-direction: column;
  align-items: var(--title-rise-align, flex-start);
  row-gap: .2em;
}

[data-screen-title="rise"] .home-title-line {
  display: block;
  overflow: hidden;
  padding-bottom: .04em;
}

/* Keep Chinese glyphs intact while the CTA lines translate into place. */
.page-cta [data-screen-title="rise"] .home-title-line {
  overflow: visible;
}

[data-screen-title="rise"] .home-title-line-inner {
  display: block;
  opacity: 0;
  transform: translateY(112%);
}

[data-screen-title="rise"].is-visible .home-title-line-inner {
  animation: homeTitleRiseIn .86s cubic-bezier(.16, 1, .3, 1) forwards;
  animation-delay: calc(var(--line-index) * 140ms);
}

[data-screen-title="rise"].is-leaving .home-title-line-inner {
  animation: homeTitleRiseOut .5s cubic-bezier(.4, 0, .7, .2) forwards;
  animation-delay: calc((1 - var(--line-index, 0)) * 80ms);
}

@keyframes homeTitleRiseIn {
  from { opacity: 0; transform: translateY(112%); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes homeTitleRiseOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-112%); }
}

[data-screen-title="bloom"] {
  opacity: 0;
  filter: blur(8px);
  transform: scale(.92) translateY(28px);
}

[data-screen-title="bloom"].is-visible {
  animation: homeTitleBloomIn 1s cubic-bezier(.16, 1, .3, 1) forwards;
}

[data-screen-title="bloom"].is-leaving {
  animation: homeTitleBloomOut .55s cubic-bezier(.4, 0, .7, .2) forwards;
}

@keyframes homeTitleBloomIn {
  from { opacity: 0; filter: blur(8px); transform: scale(.92) translateY(28px); }
  to { opacity: 1; filter: blur(0); transform: scale(1) translateY(0); }
}

@keyframes homeTitleBloomOut {
  from { opacity: 1; filter: blur(0); transform: scale(1) translateY(0); }
  to { opacity: 0; filter: blur(6px); transform: scale(.96) translateY(40px); }
}

body[data-page="scenarios"] .page-title[data-screen-title="rise"] {
  --title-rise-align: center;
}
body[data-page="scenarios"] .page-title[data-screen-title="rise"] .home-title-line + .home-title-line {
  margin-top: .45em;
}

@media (prefers-reduced-motion: reduce) {
  .page-visual::before { animation: none; }
  .contact-chip-canvas { display: none; }
  .contact-page { --chip-reveal: 0; }
  body[data-page="about"] .about-glass-cube { transition: none; }
  body[data-page="about"] .about-hero-drift { display: none; }
  body[data-page="about"] .about-hero-copy-stage { min-height: 0; display: grid; gap: 72px; }
  body[data-page="about"] .about-hero-copy-slide { position: static; opacity: 1; pointer-events: auto; }
  body[data-page="about"] #about-values { height: auto; padding: 82px 0; }
  body[data-page="about"] #about-values .shell { height: auto; min-height: 0; }
  body[data-page="about"] #about-values .about-value-grid { height: auto; min-height: 0; }
  body[data-page="about"] #about-values .about-value-card { grid-template-columns: 1fr; }
  [data-screen-title],
  [data-screen-title] .home-title-phrase,
  [data-screen-title] .home-title-line-inner {
    opacity: 1;
    clip-path: none;
    filter: none;
    transform: none;
    animation: none;
  }
}

body[data-page="industry"] .page-hero {
  min-height: 100svh;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 82px 0;
}
body[data-page="industry"] .page-hero-grid {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
}
body[data-page="industry"] .page-title {
  max-width: none;
  white-space: nowrap;
  font: 700 clamp(40px, 5.8vw, 84px)/.96 var(--display);
  letter-spacing: -.055em;
}
body[data-page="industry"] .page-title em,
body[data-page="industry"] .industry-copy h2 em {
  color: var(--brand);
}
body[data-page="industry"] .header-cta,
body[data-page="industry"] .button-primary {
  background: var(--brand);
  border-color: var(--brand);
}
body[data-page="industry"] .header-cta:hover,
body[data-page="industry"] .button-primary:hover {
  background: var(--brand-soft);
  border-color: var(--brand-soft);
}
body[data-page="industry"] .page-lede { max-width: 540px; margin: 0; }
body[data-page="industry"] .page-actions { margin-top: 32px; }

body[data-page="industry"] .industry-screen {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100svh;
  padding: clamp(96px, 12vw, 140px) 0;
  overflow: hidden;
  isolation: isolate;
  color: var(--paper);
  background: var(--ink);
}
body[data-page="industry"] .industry-screen.is-light { color: var(--ink); background: var(--paper); }
body[data-page="industry"] .industry-screen-copy { width: min(var(--max), calc(100% - (var(--pad) * 2))); }
body[data-page="industry"] .industry-stage { display: block; }
body[data-page="industry"] .industry-stage:has(+ .industry-card-grid) { margin-bottom: 56px; }
body[data-page="industry"] .industry-copy h2 { max-width: 14em; margin: 0 0 28px; font: 700 clamp(2.2rem, 4.6vw, 4.8rem)/.98 var(--display); letter-spacing: -.055em; }
body[data-page="industry"] .industry-copy h2 em { color: var(--brand); font-style: normal; }
body[data-page="industry"] .industry-copy p { max-width: 40em; margin: 0; color: rgba(var(--paper-rgb), .78); font: 400 clamp(1.05rem, 1.35vw, 1.35rem)/1.8 var(--body); }
body[data-page="industry"] .industry-screen.is-light .industry-copy p { color: rgba(var(--ink-rgb), .72); }
body[data-page="industry"] .industry-card-grid .module-card { min-height: 200px; }
body[data-page="industry"] .industry-card-grid .module-card h3 { margin-top: 26px; }
body[data-page="industry"] .industry-card-grid.is-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
body[data-page="industry"] .industry-card-grid.is-two .module-card:nth-child(2n) { border-right: 0; }
body[data-page="industry"] .industry-close { max-width: 760px; margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--line-dark); }
body[data-page="industry"] .industry-screen.is-light .industry-close { border-color: var(--line-light); }
body[data-page="industry"] .industry-close h3 { margin: 0 0 14px; font: 400 clamp(1.4rem, 2.2vw, 2rem)/1.2 var(--display); letter-spacing: -.03em; }
body[data-page="industry"] .industry-close p { margin: 0; color: rgba(var(--paper-rgb), .72); font: 400 clamp(1rem, 1.2vw, 1.15rem)/1.8 var(--body); }
body[data-page="industry"] .industry-screen.is-light .industry-close p { color: rgba(var(--ink-rgb), .68); }
body[data-page="industry"] .page-cta { min-height: 100svh; display: flex; align-items: center; }

@media (max-width: 900px) {
  body[data-page="industry"] .industry-stage:has(+ .industry-card-grid) { margin-bottom: 40px; }
  body[data-page="industry"] .industry-copy h2 { font-size: clamp(2rem, 10vw, 3.4rem); }
  body[data-page="industry"] .industry-screen,
  body[data-page="industry"] .page-cta { min-height: auto; }
}

@media (max-width: 760px) {
  body[data-page="industry"] .page-hero { min-height: 100svh; padding: 110px 0 80px; }
  body[data-page="industry"] .page-hero-grid { gap: 24px; }
  body[data-page="industry"] .page-title { white-space: normal; font-size: clamp(36px, 8.5vw, 52px); }
  body[data-page="industry"] .industry-screen { padding: 88px 0 72px; }
}

html:has(body[data-page="scenarios"]) {
  --scenarios-wash: 0;
  --scenarios-canvas: color-mix(in srgb, var(--ink) calc(100% - (var(--scenarios-wash) * 100%)), var(--brand));
  background: var(--scenarios-canvas);
}
body[data-page="scenarios"] {
  background: var(--scenarios-canvas);
}
body[data-page="scenarios"] .page-hero,
body[data-page="scenarios"] .scenario-screen {
  background: var(--ink);
}
body[data-page="scenarios"] .page-cta {
  color: var(--ink);
  background: var(--brand);
}
body[data-page="scenarios"] .site-header.is-scrolled {
  background: color-mix(in srgb, var(--scenarios-canvas) 90%, transparent);
}
body[data-page="scenarios"] .header-cta {
  color: color-mix(in srgb, var(--paper) calc((1 - var(--scenarios-wash)) * 100%), var(--ink));
  background: color-mix(in srgb, var(--brand) calc((1 - var(--scenarios-wash)) * 100%), var(--paper));
}
body[data-page="scenarios"] .header-cta:hover {
  background: color-mix(in srgb, var(--brand-soft) calc((1 - var(--scenarios-wash)) * 100%), var(--paper));
}
body[data-page="scenarios"] .page-hero { flex-direction: column; justify-content: center; align-items: center; min-height: 100svh; padding: 82px 0; }
body[data-page="scenarios"] .page-hero-grid { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; text-align: center; }
body[data-page="scenarios"] .page-title[data-screen-title="focus"] { max-width: none; white-space: nowrap; font-size: clamp(42px, 5vw, 76px); line-height: 1.3; }
body[data-page="scenarios"] .page-title[data-screen-title="focus"] .home-title-line + .home-title-line { margin-top: .45em; }
body[data-page="scenarios"] .page-lede { max-width: 720px; margin: 0 auto; }
body[data-page="scenarios"] .page-hero-cta { position: relative; z-index: 1; display: flex; justify-content: center; margin-top: 36px; }
body[data-page="scenarios"] .page-hero-cta .page-actions { margin-top: 0; }
body[data-page="scenarios"] .scenario-screen { min-height: 100svh; display: flex; align-items: center; padding: clamp(88px, 10vh, 120px) 0; }
body[data-page="scenarios"] .scenario-screen .split-heading { margin-bottom: 40px; }
body[data-page="scenarios"] .scenario-screen .split-heading h2 { font-size: clamp(36px, 4.6vw, 64px); }
body[data-page="scenarios"] .scenario-card-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
body[data-page="scenarios"] .scenario-card-grid .module-card { grid-column: span 3; min-height: 200px; padding: 22px; }
body[data-page="scenarios"] .scenario-card-grid .module-card + .module-card { padding-left: 22px; }
body[data-page="scenarios"] .scenario-card-grid .module-card:nth-child(1),
body[data-page="scenarios"] .scenario-card-grid .module-card:nth-child(5) { padding-left: 0; }
body[data-page="scenarios"] .scenario-card-grid .module-card:nth-child(4),
body[data-page="scenarios"] .scenario-card-grid .module-card:last-child { padding-right: 0; border-right: 0; }
body[data-page="scenarios"] .scenario-card-grid .module-card:nth-child(n+5) { grid-column: span 4; }
body[data-page="scenarios"] .scenario-card-grid .module-card h3 { margin-top: 48px; font-size: 18px; }
body[data-page="scenarios"] .page-cta { min-height: 100svh; display: flex; align-items: center; }

@media (max-width: 1180px) {
  body[data-page="scenarios"] .scenario-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page="scenarios"] .scenario-card-grid .module-card { grid-column: auto; padding: 22px; }
  body[data-page="scenarios"] .scenario-card-grid .module-card:nth-child(odd) { padding-left: 0; }
  body[data-page="scenarios"] .scenario-card-grid .module-card:nth-child(even) { padding-right: 0; border-right: 0; }
  body[data-page="scenarios"] .scenario-card-grid .module-card:last-child { border-right: 0; }
}

@media (max-width: 900px) {
  body[data-page="scenarios"] .page-hero { min-height: 100svh; padding: 110px 0 80px; }
  body[data-page="scenarios"] .page-title[data-screen-title="focus"] { white-space: normal; font-size: clamp(40px, 11vw, 64px); line-height: 1.25; }
  body[data-page="scenarios"] .page-title[data-screen-title="focus"] .home-title-line + .home-title-line { margin-top: .4em; }
  body[data-page="scenarios"] .page-lede { max-width: 100%; }
  body[data-page="scenarios"] .page-hero-cta { margin-top: 28px; }
  body[data-page="scenarios"] .scenario-screen,
  body[data-page="scenarios"] .page-cta { min-height: auto; }
  body[data-page="scenarios"] .scenario-screen { padding: 84px 0; }
}

body[data-page="about"] .page-hero,
body[data-page="about"] .page-hero:has(.page-hero-media),
body[data-page="about"] .page-hero:has(.page-visual) { flex-direction: column; justify-content: center; align-items: center; min-height: 100svh; height: 100svh; padding: 126px 0 88px; }
body[data-page="about"] .page-hero-grid,
body[data-page="about"] .page-hero:has(.page-hero-media) .page-hero-grid,
body[data-page="about"] .page-hero:has(.page-visual) .page-hero-grid { position: relative; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 28px; width: 100%; max-width: none; padding-right: 0; text-align: center; }
body[data-page="about"] .about-glass-cube { display: none; }
body[data-page="about"] .page-hero-media,
body[data-page="about"] .page-visual { display: none !important; }
body[data-page="about"] .page-hero-cta { display: none; }

@media (max-width: 900px) {
  body[data-page="about"] .page-hero,
  body[data-page="about"] .page-hero:has(.page-hero-media),
  body[data-page="about"] .page-hero:has(.page-visual) { padding-top: 130px; }
  body[data-page="about"] .page-hero-grid { gap: 22px; }
  body[data-page="about"] .page-hero-cta { margin-top: 28px; }
}

@media (max-width: 760px) {
  body[data-page="about"] .page-hero,
  body[data-page="about"] .page-hero:has(.page-hero-media),
  body[data-page="about"] .page-hero:has(.page-visual) { min-height: 100svh; height: 100svh; padding: 112px 0 72px; }
  body[data-page="about"] .page-hero-cta { margin-top: 24px; }
}

@media (max-width: 760px) {
  body[data-page="scenarios"] .scenario-card-grid { grid-template-columns: 1fr; }
  body[data-page="scenarios"] .scenario-card-grid .module-card,
  body[data-page="scenarios"] .scenario-card-grid .module-card:nth-child(n) { grid-column: auto; min-height: 200px; padding: 21px 0 24px; border-right: 0; }
}

/* Capability detail screens */
html:has(body[data-detail-page]),
body[data-detail-page] { overflow: hidden; height: 100%; }
body[data-detail-page] main { min-height: 0; }
body[data-detail-page] .capability-detail-screen { --detail-media-size: min(640px, 42vw); position: relative; min-height: calc(100svh - 82px - 34px); margin-top: 82px; color: var(--paper); background: var(--ink); isolation: isolate; }
body[data-detail-page] { overscroll-behavior: none; touch-action: none; }
body[data-detail-page] .scroll-progress { display: none; }
.capability-dots { position: fixed; z-index: 20; top: 50%; right: clamp(18px, 2.4vw, 36px); display: flex; flex-direction: column; align-items: center; gap: 16px; transform: translateY(-50%); }
.capability-dots a { position: relative; width: 8px; height: 8px; border: 1px solid rgba(var(--paper-rgb), .34); border-radius: 50%; background: transparent; transition: transform .28s var(--ease), background .28s ease, border-color .28s ease, box-shadow .28s ease; }
.capability-dots a::before { position: absolute; inset: -9px; content: ''; }
.capability-dots a:hover { border-color: rgba(var(--paper-rgb), .8); transform: scale(1.18); }
.capability-dots a.is-current { background: var(--brand); border-color: var(--brand); box-shadow: 0 0 12px rgba(var(--brand-rgb), .55); transform: scale(1.22); }
.capability-dots a::after { position: absolute; top: 50%; right: calc(100% + 14px); color: rgba(var(--paper-rgb), .72); white-space: nowrap; content: attr(data-label); font: 9px/1 var(--mono); letter-spacing: .06em; opacity: 0; pointer-events: none; transform: translate(6px, -50%); transition: opacity .2s ease, transform .2s ease; }
.capability-dots a:hover::after,
.capability-dots a:focus-visible::after { opacity: 1; transform: translate(0, -50%); }
.capability-dots a.is-current::after { color: var(--brand); }
body[data-detail-page] .capability-detail-screen .page-visual:not(.capability-detail-media) { top: 50%; right: clamp(30px, 7vw, 150px); width: min(43vw, 620px); opacity: .68; }
.capability-detail-shell { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 96px; min-height: inherit; padding: clamp(40px, 7vw, 110px) 0; }
.capability-detail-identity { flex: 0 1 620px; width: auto; max-width: 620px; min-width: 0; }
.capability-detail-title { max-width: 620px; margin: 0; font: 700 clamp(30px, calc(var(--detail-media-size) * .082), 46px)/1.5 var(--display); letter-spacing: .01em; text-wrap: balance; }
.capability-detail-title br { display: block; content: ''; margin-bottom: .45em; }
.capability-detail-title em { color: var(--brand); font-style: normal; }
.capability-detail-lede { max-width: 520px; margin: 26px 0 0; color: rgba(var(--paper-rgb), .7); font-size: clamp(14px, calc(var(--detail-media-size) * .03), 17px); line-height: 2; letter-spacing: .02em; }
.capability-detail-identity { transition: opacity .28s var(--ease), transform .28s var(--ease); }
.capability-detail-identity.is-switching { opacity: 0; transform: translateY(calc(var(--switch-dir, 1) * 16px)); }
.utility-footer { display: flex; align-items: center; justify-content: space-between; min-height: 34px; padding: 0 var(--pad); color: rgba(var(--paper-rgb), .3); background: var(--ink); border-top: 1px solid var(--line-dark); font: 400 8px/1 var(--mono); letter-spacing: .06em; }

@media (max-width: 900px) {
  body[data-detail-page] .capability-detail-screen { --detail-media-size: min(44vw, 460px); }
  body[data-detail-page] .capability-detail-screen { min-height: calc(100svh - 68px - 34px); margin-top: 68px; }
  .capability-dots { right: 16px; gap: 12px; }
  .capability-dots a::after { display: none; }
  .capability-detail-shell { justify-content: flex-start; gap: 0; padding: 48px 0 70px; }
  .capability-detail-identity { width: min(700px, 72vw); }
  .capability-detail-title { font-size: clamp(28px, calc(var(--detail-media-size) * .082), 42px); line-height: 1.45; }
  .capability-detail-lede { max-width: 540px; margin-top: 22px; font-size: clamp(14px, calc(var(--detail-media-size) * .03), 16px); line-height: 2; }
  body[data-detail-page] .capability-detail-screen .page-visual:not(.capability-detail-media) { right: -80px; width: 500px; opacity: .38; }
  body[data-detail-page] .capability-detail-screen .capability-detail-media { position: absolute; top: 50%; right: -8vw; width: min(55vw, 500px); height: auto; opacity: .34; transform: translateY(-50%); }
  body[data-detail-page] .capability-detail-screen .capability-detail-media:has([data-point-field]) {
    right: var(--pad);
    width: min(44vw, 460px);
    height: min(56vh, 460px);
    opacity: 1;
  }
}

@media (max-width: 600px) {
  body[data-detail-page] .capability-detail-screen { --detail-media-size: min(350px, 58vw); }
  .page-hero:has(.page-hero-media) { padding-bottom: 48px; }
  .page-hero .page-hero-media { width: calc(100% - (var(--pad) * 2)); max-width: 100%; margin-top: 32px; opacity: .4; }
  .section-media, .section-media-wide, .media-pair { width: 100%; max-width: 100%; margin-top: 38px; }
  .media-pair { gap: 12px; }

  body[data-detail-page] .capability-detail-screen { min-height: calc(100svh - 68px - 30px); }
  body[data-detail-page] .capability-detail-screen .page-visual:not(.capability-detail-media) { display: block; top: 65%; right: -180px; width: 430px; opacity: .28; }
  body[data-detail-page] .capability-detail-screen .capability-detail-media { display: block; top: 64%; right: -32vw; width: min(92vw, 430px); max-width: none; opacity: .16; transform: translateY(-50%); }
  body[data-detail-page] .capability-detail-screen .capability-detail-media:has([data-point-field]) {
    top: 58%;
    right: var(--pad);
    width: min(58vw, 350px);
    height: min(46vh, 350px);
    opacity: 1;
  }
  .capability-detail-shell { width: min(var(--max), calc(100% - (var(--pad) * 2))); padding: 54px 0 120px; }
  .capability-detail-identity { width: 100%; }
  .capability-detail-title { max-width: 100%; font-size: clamp(20px, calc(var(--detail-media-size) * .082), 30px); line-height: 1.35; white-space: nowrap; }
  .capability-detail-lede { max-width: 330px; margin-top: 22px; font-size: clamp(13px, calc(var(--detail-media-size) * .03), 15px); line-height: 2; }
  .utility-footer { min-height: 30px; padding-inline: var(--pad); font-size: 7px; }
}

@media (max-width: 900px) {
  body[data-page="about"] .page-hero,
  body[data-page="about"] .page-hero:has(.page-hero-media),
  body[data-page="about"] .page-hero:has(.page-visual) {
    min-height: 100vh;
    min-height: 100dvh;
    min-height: 100svh;
    height: 100vh;
    height: 100dvh;
    height: 100svh;
    max-height: 100vh;
    max-height: 100dvh;
    max-height: 100svh;
    padding: 112px 0 72px;
  }
}

@media (max-width: 900px) {
  html:has(body:not([data-page="home"]):not([data-detail-page])) {
    height: auto;
    overflow-x: clip;
    overflow-y: auto;
  }
  body:not([data-page="home"]):not([data-detail-page]) {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  body:not([data-page="home"]):not([data-detail-page]) .site-footer,
  body:not([data-page="home"]):not([data-detail-page]) .footer-inner {
    display: block;
    height: auto;
    max-height: none;
    overflow: visible;
  }
}
