:root {
  --header-height: 78px;
  --ink: #080808;
  --paper: #f1f0ed;
  --muted: #9a9b9e;
  --line: rgba(255,255,255,.18);
  --silver: #d8d9dc;
  --culture-ink: #070707;
  --culture-panel: #0c0c0b;
  --warm: #b28f67;
  --tech-bg: #080b0d;
  --tech-line: rgba(219,225,229,.2);
  --tech-white: #f1f3f4;
  --tech-cyan: #c7edf4;
  --tech-blue: #6b9eae;
  --serif: Georgia, "Songti SC", "STSong", serif;
  --sans: Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

html[lang="en"], html[lang="fr-FR"] {
  --serif: "PingFang SC", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;
  --sans: "PingFang SC", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; padding-top: var(--header-height); background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.7; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.narrow-wrap { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.site-header { position: fixed; top: 0; right: 0; left: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: var(--header-height); padding: 18px 42px; }
.home-header { color: #f4f3ef; background: rgba(5,5,5,.86); border-bottom: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(18px); }
.inner-header { background: rgba(7,7,7,.96); border-bottom: 1px solid var(--line); }
.tech-header { background: var(--tech-bg); border-color: var(--tech-line); }
.brand { display: inline-flex; align-items: center; min-width: 150px; }
.brand-name { display: grid; line-height: 1.05; gap: 3px; }
.brand-name b { font-size: 14px; font-weight: 600; letter-spacing: .18em; }
.brand-name em { font-size: 9px; font-style: normal; letter-spacing: .12em; opacity: .6; }
.site-nav { display: flex; align-items: center; gap: 28px; font-size: 12px; letter-spacing: .08em; }
.site-nav a { opacity: .78; transition: opacity .2s ease, color .2s ease; }
.site-nav a:hover, .site-nav a.is-active { opacity: 1; color: var(--warm); }
.tech-page .site-nav a:hover, .tech-page .site-nav a.is-active { color: var(--tech-white); }
.site-nav small { display: block; font-size: 9px; opacity: .45; letter-spacing: .14em; margin-top: 1px; }
.nav-contact { padding-left: 28px; border-left: 1px solid var(--line); font-size: 11px; letter-spacing: .03em; }
.lang-switcher { display: flex; align-items: center; gap: 8px; margin-left: 22px; padding: 3px 0; background: transparent; }
.lang-switcher a { min-width: 22px; padding: 4px 0; color: rgba(255,255,255,.52); font-size: 9px; letter-spacing: .08em; text-align: center; transition: color .2s, opacity .2s; }
.lang-switcher a:hover, .lang-switcher a.active { color: #f1eee8; opacity: 1; }
.lang-switcher .divider { color: rgba(255,255,255,.24); font-size: 9px; }
.menu-toggle { display: none; border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 12px; letter-spacing: .1em; }

/* home */
.home-page { background: #050505; }
.home-main { position: relative; min-height: calc(100vh - 62px); display: block; }
.home-panel { position: relative; min-height: 0; overflow: hidden; padding: 126px 7vw 46px; display: flex; flex-direction: column; justify-content: flex-start; }
.culture-panel { background: var(--culture-panel); isolation: isolate; }
.culture-panel::before { content: ""; position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 51% 18%, rgba(174,173,169,.22) 0%, rgba(91,90,87,.13) 23%, transparent 49%), radial-gradient(ellipse at 50% 96%, rgba(0,0,0,.92) 0%, transparent 59%), linear-gradient(116deg, #030303 0%, #1a1a19 43%, #090908 77%, #000 100%); }
.panel-grain { position: absolute; inset: 0; opacity: .1; z-index: -1; background-image: radial-gradient(rgba(255,255,255,.15) .45px, transparent .6px), radial-gradient(rgba(255,255,255,.08) .4px, transparent .55px); background-size: 4px 4px, 7px 7px; background-position: 0 0, 2px 3px; mix-blend-mode: soft-light; }
.tech-panel { background: var(--tech-bg); border-left: 1px solid var(--tech-line); color: var(--tech-white); isolation: isolate; }
.panel-grid { position: absolute; z-index: 0; inset: 0; opacity: .55; background-image: linear-gradient(var(--tech-line) 1px, transparent 1px), linear-gradient(90deg, var(--tech-line) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(130deg, rgba(0,0,0,.7), transparent 78%); }
.tech-panel-scan { position: absolute; z-index: 1; top: -20%; right: 24%; width: 1px; height: 140%; opacity: 0; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(228,239,244,.82) 45%, transparent); transform: rotate(18deg) translateX(18vw); animation: tech-panel-scan 10s ease-in-out infinite; }
@keyframes tech-panel-scan { 0%, 22% { opacity: 0; transform: rotate(18deg) translateX(18vw); } 38%, 58% { opacity: .7; } 78%, 100% { opacity: 0; transform: rotate(18deg) translateX(-18vw); } }
.tech-panel-field { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; opacity: .86; }
.tech-panel-field::before { content: ""; position: absolute; right: -18%; bottom: -32%; width: min(38vw, 480px); aspect-ratio: 1; border: 1px solid rgba(219,225,229,.16); border-radius: 50%; box-shadow: 0 0 0 34px rgba(219,225,229,.035), 0 0 0 88px rgba(219,225,229,.022); animation: tech-panel-orbit 16s ease-in-out infinite; }
.tech-panel-field::after { content: ""; position: absolute; inset: -35% -22%; background: linear-gradient(118deg, transparent 42%, rgba(219,225,229,.14) 49%, rgba(219,225,229,.02) 51%, transparent 58%); transform: translateX(-42%); animation: tech-field-sweep 8s ease-in-out infinite; }
.tech-panel-orbit { position: absolute; z-index: 1; right: 16%; bottom: 16%; width: 7px; height: 7px; border-radius: 50%; background: #d7e0e2; box-shadow: 0 0 0 5px rgba(215,224,226,.08), 0 0 22px rgba(215,224,226,.42); animation: tech-panel-pulse 3.6s ease-in-out infinite; }
.tech-panel-orbit-b { right: 34%; bottom: 34%; width: 4px; height: 4px; opacity: .58; animation-delay: -1.8s; }
.tech-panel-pulse { position: absolute; right: 11%; bottom: 10%; width: 34%; height: 1px; background: linear-gradient(90deg, transparent, rgba(219,225,229,.38), transparent); transform: rotate(-22deg); transform-origin: right center; animation: tech-panel-beam 5.5s ease-in-out infinite; }
@keyframes tech-panel-orbit { 0%, 100% { transform: translate3d(0, 0, 0) rotate(-7deg); } 50% { transform: translate3d(-24px, -18px, 0) rotate(7deg); } }
@keyframes tech-field-sweep { 0%, 18% { opacity: 0; transform: translateX(-42%); } 40%, 65% { opacity: 1; } 86%, 100% { opacity: 0; transform: translateX(42%); } }
@keyframes tech-panel-pulse { 0%, 100% { transform: scale(.72); opacity: .42; } 50% { transform: scale(1.25); opacity: 1; } }
@keyframes tech-panel-beam { 0%, 100% { opacity: .12; transform: rotate(-22deg) scaleX(.65); } 50% { opacity: .62; transform: rotate(-22deg) scaleX(1); } }
.panel-topline, .panel-footer { position: relative; display: flex; justify-content: space-between; gap: 18px; font-size: 10px; letter-spacing: .14em; color: rgba(255,255,255,.58); text-transform: uppercase; }
.culture-panel .panel-topline { color: rgba(242,239,232,.56); }
.panel-body { position: relative; max-width: 480px; }
.home-panel .panel-body { margin-top: clamp(82px, 9vw, 126px); }
.eyebrow, .section-kicker { margin: 0 0 16px; font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: var(--warm); }
.tech-panel .eyebrow, .tech-page .eyebrow { color: #9fa9af; }
.panel-body h1 { margin: 0; font: 400 clamp(5rem, 11vw, 9.4rem)/.93 var(--serif); letter-spacing: -.08em; }
.tech-panel .panel-body h1 { font-family: var(--sans); font-weight: 200; letter-spacing: -.1em; }
.panel-lead { max-width: 380px; margin: 26px 0 46px; color: rgba(255,255,255,.74); font-size: 18px; line-height: 1.9; }
.tech-panel .panel-lead { color: rgba(241,243,244,.72); }
.culture-panel .panel-body h1, .culture-panel .panel-links a span { background: linear-gradient(120deg, #fff, #a09d98 42%, #f3eee5 68%, #8e8b87); -webkit-background-clip: text; background-clip: text; color: transparent; }
.culture-panel .panel-lead { color: #c9c4bb; }
.panel-links { position: relative; display: grid; width: min(100%, 400px); padding-bottom: 25px; }
.panel-links a, .tech-entry { display: flex; align-items: center; justify-content: space-between; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.25); font-size: 14px; transition: padding .2s ease, color .2s ease; }
.panel-links::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; width: 72%; height: 1px; background: linear-gradient(90deg, rgba(244,239,229,.85), rgba(178,143,103,.8) 52%, transparent); }
.panel-links a:hover { padding-left: 10px; color: #dbc1a1; }
.panel-links i, .tech-entry i { font-style: normal; font-size: 22px; }
.tech-entry { width: min(100%, 400px); border-color: var(--tech-line); }
.tech-entry:hover { color: #fff; padding-left: 10px; }
.tech-links { position: relative; display: grid; width: min(100%, 400px); padding-bottom: 25px; }
.tech-links::after { content: ""; position: absolute; right: 0; bottom: 0; left: 0; width: 72%; height: 1px; background: linear-gradient(90deg, rgba(219,225,229,.8), rgba(219,225,229,.25) 62%, transparent); }
.tech-links a { display: flex; align-items: center; justify-content: space-between; padding: 25px 0; border-top: 1px solid var(--tech-line); color: #e0e5e7; font-size: 14px; transition: padding .2s ease, color .2s ease; }
.tech-links a:hover { padding-left: 10px; color: #fff; }
.tech-links i { font-style: normal; font-size: 22px; color: #aebbc0; }
.home-panel .panel-body h1 { height: clamp(5rem, 11vw, 9.4rem); min-height: 0; font-size: clamp(5rem, 11vw, 9.4rem); line-height: .93; display: flex; align-items: flex-start; }
.tech-panel .panel-body h1 { font-size: clamp(5rem, 11vw, 9.4rem); line-height: .93; }
.home-page .culture-panel .panel-body h1,
.home-page .culture-panel .panel-links a span { background: none; color: #d5cec2; -webkit-text-fill-color: #d5cec2; text-shadow: none; }
.tech-signal { position: absolute; top: 50%; right: 7vw; display: grid; gap: 12px; color: #9fa9af; font-size: 9px; letter-spacing: .16em; transform: rotate(90deg) translateX(58%); transform-origin: right top; opacity: .65; }
.tech-signal b { width: 180px; height: 1px; background: #9fa9af; display: block; }
.home-footer { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 18px 42px; background: #050505; color: #a8a9aa; font-size: 11px; letter-spacing: .08em; }
.home-footer a:hover { color: #fff; }
.home-footer span { opacity: .5; }
.home-story { position: relative; grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 7vw; min-height: 365px; padding: 70px 7vw 68px; overflow: hidden; border-top: 1px solid rgba(255,255,255,.2); background: radial-gradient(circle at 78% 36%, rgba(178,143,103,.18), transparent 22%), linear-gradient(115deg, #16110d, #0d0d0d 58%, #18191a); }
.home-story::before { content: ""; position: absolute; inset: 0; opacity: .18; pointer-events: none; background-image: repeating-linear-gradient(92deg, rgba(255,255,255,.07) 0 1px, transparent 1px 6px); mix-blend-mode: screen; }
.home-story-copy, .home-story-side { position: relative; z-index: 1; }
.home-story-copy { max-width: 690px; }
.home-story-copy h2 { margin: 0; font: 400 clamp(3.5rem, 7.5vw, 7.5rem)/.96 var(--serif); letter-spacing: -.08em; }
.home-story-copy h2 em { color: #d0ae84; font-style: normal; }
.home-story-copy > p:not(.eyebrow) { max-width: 560px; margin: 25px 0 23px; color: rgba(242,239,232,.72); font-size: 16px; line-height: 1.9; }
.home-story-link { display: inline-flex; gap: 12px; align-items: center; padding-bottom: 6px; border-bottom: 1px solid var(--warm); color: #e2d6c8; font-size: 12px; letter-spacing: .06em; }
.home-story-link > .home-story-link-label { color: inherit; font-size: inherit; }
.home-story-link span { color: var(--warm); font-size: 19px; }
.home-story-side { display: grid; place-items: center; min-height: 220px; }
.home-story-orbit { position: relative; display: grid; place-items: center; width: min(27vw, 270px); aspect-ratio: 1; border: 1px solid rgba(218,190,155,.4); border-radius: 50%; transform: rotate(-12deg); }
.home-story-orbit::before, .home-story-orbit::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; }
.home-story-orbit::before { inset: 22px; }
.home-story-orbit::after { inset: 55px; border-color: rgba(178,143,103,.38); }
.home-story-orbit img { display: block; width: 52%; height: 52%; object-fit: contain; opacity: .62; }
.home-story-orbit span { position: absolute; right: -25px; bottom: 25px; color: #b28f67; font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.home-story-note { position: absolute; top: 10px; right: 5px; color: rgba(255,255,255,.42); font-size: 9px; line-height: 1.5; letter-spacing: .16em; }
.home-proof { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(260px, 1.35fr) repeat(3, 1fr); gap: 1px; min-height: 128px; border-top: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.13); }
.home-proof-intro, .home-proof-stat { display: flex; flex-direction: column; justify-content: center; padding: 22px 28px; background: #090909; }
.home-proof-intro .section-kicker { margin-bottom: 10px; color: #9b8a79; }
.home-proof-intro > p:last-child { max-width: 350px; margin: 0; color: #d2cec6; font-size: 13px; line-height: 1.75; }
.home-proof-stat strong { color: #e8e5df; font: 400 clamp(2.8rem, 4vw, 4rem)/.85 var(--serif); letter-spacing: -.08em; }
.home-proof-stat span { margin-top: 9px; color: #929398; font-size: 11px; letter-spacing: .08em; }

/* Landing split: a static diagonal with both navigation systems visible at first glance. */
.home-split { position: relative; min-height: clamp(650px, calc(100svh - var(--header-height)), 880px); overflow: hidden; isolation: isolate; background: #080909; }
.home-split .home-panel { position: absolute; inset: 0; min-height: clamp(650px, calc(100svh - var(--header-height)), 880px); padding: clamp(54px, 8vh, 100px) clamp(40px, 7vw, 100px) 56px; transition: none; }
.home-split .culture-panel { clip-path: polygon(0 0, 100% 0, 0 100%, 0 100%); }
.home-split .tech-panel { border-left: 0; clip-path: polygon(100% 0, 100% 0, 100% 100%, 0 100%); }
.home-split .panel-topline { position: absolute; z-index: 3; width: min(34vw, 430px); }
.home-split .culture-panel .panel-topline { top: 38px; left: clamp(40px, 7vw, 100px); }
.home-split .tech-panel .panel-topline { top: auto; right: clamp(40px, 7vw, 100px); bottom: 38px; }
.home-split .panel-body { position: absolute; z-index: 3; max-width: none; width: min(42vw, 520px); margin: 0; transition: none; }
.home-split .culture-panel .panel-body { top: clamp(82px, 10vh, 116px); left: clamp(40px, 7vw, 100px); width: min(39vw, 450px); }
.home-split .tech-panel .panel-body { top: clamp(270px, 42vh, 370px); right: clamp(40px, 7vw, 100px); width: min(36vw, 420px); }
.home-split .panel-body h1 { height: auto; font-size: clamp(4.4rem, 8vw, 7.8rem); }
.home-split .tech-panel .panel-body h1 { font-size: clamp(4.2rem, 6.3vw, 6.2rem); }
.home-split .culture-panel .panel-body h1 { font-size: clamp(4.4rem, 6.3vw, 6rem); }
.home-split .panel-lead { margin: 10px 0 13px; font-size: 14px; line-height: 1.52; }
.home-split .culture-panel .panel-lead { max-width: 370px; }
.home-split .tech-panel .panel-lead { max-width: 470px; margin: 7px 0 9px; line-height: 1.4; }
.home-split .culture-panel .panel-links { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; width: min(100%, 390px); padding-bottom: 16px; }
.home-split .culture-panel .panel-links a { padding: 9px 0; font-size: 13px; }
.home-split .tech-links a { padding: 6px 0; }
.home-diagonal-line { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.home-diagonal-line line { fill: none; stroke: rgba(244,239,229,.86); stroke-width: .16; vector-effect: non-scaling-stroke; }
.home-diagonal-line .home-diagonal-glow { stroke: rgba(210,190,165,.28); stroke-width: 1.2; filter: blur(2px); }
/* Both scenes share one fixed logo silhouette; their panel masks reveal its finish. */
.home-scene-watermark { position: absolute; z-index: 1; top: 50%; left: 50%; display: block; width: clamp(276px, 24vw, 384px); aspect-ratio: 1.92; overflow: hidden; pointer-events: none; user-select: none; transform: translate(-50%, -50%); }
.home-scene-watermark img { display: block; width: 100%; height: auto; }
.culture-panel .home-scene-watermark { opacity: .03; filter: sepia(.65) saturate(.55) brightness(.85); }
.tech-panel .home-scene-watermark { opacity: .04; filter: grayscale(1) sepia(.2) hue-rotate(155deg) saturate(.65) brightness(1.15); }
@media (max-width: 900px) { .home-scene-watermark { display: none; } }
.panel-corner-mark { position: absolute; z-index: 2; display: grid; place-items: center; gap: 5px; pointer-events: none; opacity: .72; font-size: 8px; letter-spacing: .16em; white-space: nowrap; }
.panel-corner-mark svg { display: block; width: 58px; height: 58px; overflow: visible; fill: none; stroke: currentColor; }
.culture-corner-mark { left: clamp(30px, 4vw, 58px); bottom: clamp(38px, 5vh, 56px); color: rgba(242,239,232,.58); }
.culture-corner-mark svg { width: 62px; height: 48px; }
.theatre-mask, .theatre-feature { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.theatre-feature { stroke-width: 1.6; opacity: .8; }
.tech-corner-mark { top: clamp(72px, 9vh, 100px); right: clamp(28px, 4vw, 58px); color: rgba(190,229,238,.66); }
.tech-corner-mark svg { width: 56px; height: 56px; }
.tech-chip-frame { stroke-width: 1.5; }
.tech-chip-core { stroke-width: 1.5; fill: rgba(190,229,238,.06); }
.tech-chip-line { stroke-width: 1.25; stroke-linecap: round; }
.tech-chip-trace { stroke-width: 1.5; stroke-linecap: round; opacity: .72; }

/* Culture stays still: editorial, quiet and information-first. */
.culture-panel *, .culture-page * { animation: none !important; transition: none !important; }

/* shared inner */
.page-hero { padding-top: 124px; padding-bottom: 78px; display: flex; justify-content: space-between; gap: 50px; align-items: end; }
.culture-page { background-color: #050505; background-image: radial-gradient(ellipse at 52% 7%, rgba(174,173,169,.12), transparent 31%), radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.94), transparent 64%), linear-gradient(180deg, #0c0c0b, #030303 74%); background-attachment: fixed; color: #e9e7e3; }
.culture-hero { background: radial-gradient(ellipse at 52% 12%, rgba(174,173,169,.14), transparent 38%), linear-gradient(180deg, rgba(255,255,255,.018), transparent 72%); }
.shows-page .page-hero { position: relative; min-height: 438px; overflow: hidden; }
.shows-page .culture-hero { background: none; }
.shows-page .page-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: radial-gradient(ellipse 90% 120% at 50% 0%, rgba(174,173,169,.16), transparent 76%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); mask-image: linear-gradient(90deg, transparent, #000 18%, #000 82%, transparent); }
.shows-page .page-hero::after { content: ""; position: absolute; right: -82px; bottom: -158px; width: 360px; height: 360px; border: 1px solid rgba(214,218,220,.18); border-radius: 50%; box-shadow: 0 0 0 34px rgba(214,218,220,.035), 0 0 0 92px rgba(214,218,220,.025); }
.shows-page .page-hero::after { -webkit-mask-image: linear-gradient(90deg, #000 50%, transparent); mask-image: linear-gradient(90deg, #000 50%, transparent); }
.shows-page .page-hero > div { position: relative; z-index: 1; }
.page-hero h1 { margin: 0; max-width: 800px; font: 400 clamp(3rem, 7vw, 6.7rem)/1.05 var(--serif); letter-spacing: -.07em; }
.hero-copy { max-width: 550px; margin: 26px 0 0; padding-left: 20px; border-left: 1px solid rgba(178,143,103,.72); color: #aaa8a5; font-size: 17px; line-height: 1.9; }
.hero-index { flex: 0 0 auto; padding: 0 0 9px 30px; border-left: 1px solid rgba(255,255,255,.25); color: #a9a6a2; font: 12px/1.7 var(--sans); letter-spacing: .16em; }
.hero-index span { color: var(--warm); font-family: var(--serif); font-size: 24px; letter-spacing: 0; }
.shows-directory, .pricing-sheet, .pricing-details, .project-archive, .works-shelf { border-top: 1px solid rgba(255,255,255,.18); padding-top: 44px; }
.shows-page .shows-directory { position: relative; }
.shows-page .shows-directory::before { display: none; }
.directory-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 34px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.12); }
.directory-head h2, .pricing-details h2, .archive-intro h2, .works-shelf h2 { margin: 0; font: 400 30px/1.25 var(--serif); letter-spacing: -.04em; }
.filter-list { display: flex; flex-wrap: wrap; justify-content: end; gap: 8px; }
.filter-button { cursor: pointer; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; padding: 9px 14px; background: transparent; color: #a8a7a4; font-size: 11px; letter-spacing: .08em; transition: background .2s, color .2s, border .2s; }
.filter-button:hover, .filter-button.is-selected { border-color: var(--silver); background: var(--silver); color: #171515; }
.show-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(10px, 1.5vw, 22px); row-gap: 42px; align-items: start; }
.show-card { padding: 12px 12px 15px; border: 1px solid rgba(255,255,255,.14); background: var(--show-block, #1b1a19); box-shadow: 0 16px 34px rgba(0,0,0,.14); }
.show-card:nth-child(1) { --show-block: #2b2724; grid-column: 1 / span 6; }
.show-card:nth-child(2) { --show-block: #202b2e; grid-column: 7 / span 6; margin-top: 56px; }
.show-card:nth-child(3) { --show-block: #302f2b; grid-column: 1 / span 6; margin-top: 6px; }
.show-card:nth-child(4) { --show-block: #2a252a; grid-column: 7 / span 6; margin-top: 28px; }
.show-card:nth-child(5) { --show-block: #373025; grid-column: 1 / span 5; margin-top: 18px; }
.show-card:nth-child(6) { --show-block: #202d30; grid-column: 7 / span 5; margin-top: 36px; }
.show-card:nth-child(7) { --show-block: #282622; grid-column: 2 / span 6; margin-top: 2px; }
.show-card:nth-child(8) { --show-block: #313338; grid-column: 8 / span 5; margin-top: 30px; }
.show-card:nth-child(9) { --show-block: #302920; grid-column: 1 / span 6; margin-top: 18px; }
.show-card:nth-child(10) { --show-block: #2a201e; grid-column: 7 / span 6; width: auto; justify-self: stretch; margin-top: 44px; }
.show-card.is-hidden { display: none; }
.show-card { position: relative; z-index: 1; }
.show-card-button { padding: 0; display: block; width: 100%; color: inherit; background: none; border: 0; text-align: left; cursor: pointer; }
.show-card-button:focus-visible { outline: 1px solid #d8d9dc; outline-offset: 10px; }
.show-poster { position: relative; height: auto; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 14px; border: 0; background: #1b1a19; color: #eceae6; box-shadow: none; transition: transform .25s ease, filter .25s ease; }
.show-poster::after { display: none; }
.show-poster.poster-photo { padding: 0; background: #101010; }
.show-poster.poster-photo.show-poster--beat { padding: clamp(12px, 2vw, 24px); background: #160706; }
.show-poster--beat img { box-shadow: 0 12px 30px rgba(0,0,0,.28); }
.poster-photo img { position: relative; display: block; width: 100%; height: auto; object-fit: contain; filter: saturate(.7) contrast(1.1) brightness(.73); transition: transform .35s ease, filter .35s ease; }
.show-card-button:hover .poster-photo img { transform: scale(1.05); filter: saturate(.82) contrast(1.1) brightness(.88); }
.show-card:nth-child(6) .poster-photo img { height: auto; object-fit: contain; }
.show-card:nth-child(6) .show-card-button:hover .poster-photo img { transform: none; }
.poster-photo::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,.08), transparent 48%, rgba(0,0,0,.46)); pointer-events: none; }
.poster-photo span, .poster-photo b { margin: 14px; }
.show-honor-ribbon { position: absolute; top: 14px; left: 14px; z-index: 3; display: grid; gap: 3px; max-width: calc(100% - 28px); padding: 8px 10px; border-left: 2px solid #d7b587; background: rgba(7,7,7,.8); box-shadow: 0 6px 18px rgba(0,0,0,.28); backdrop-filter: blur(8px); }
.show-honor-ribbon small { color: #f0e7da; font-size: 9px; line-height: 1.35; letter-spacing: .08em; -webkit-text-fill-color: #f0e7da !important; }
.show-award-stamp { position: absolute; right: 14px; bottom: 48px; z-index: 3; display: grid; min-width: 104px; max-width: 42%; gap: 2px; padding: 6px 9px 5px; border: 2px solid rgba(224,190,119,.9); border-radius: 6px; background: transparent; box-shadow: inset 0 0 0 2px rgba(224,190,119,.22); color: #e0be77; text-align: center; transform: rotate(-4deg); }
.show-award-stamp::before { content: ""; position: absolute; inset: 3px; border: 1px solid rgba(224,190,119,.32); border-radius: 2px; pointer-events: none; }
.show-award-stamp small, .show-award-stamp b { position: relative; z-index: 1; margin: 0 !important; color: #e0be77; font-family: var(--sans); font-style: normal; font-weight: 600; line-height: 1.15; white-space: nowrap; -webkit-text-fill-color: #e0be77 !important; }
.show-award-stamp small { font-size: 6px; letter-spacing: .07em; }
.show-award-stamp b { font-size: clamp(8px, .76vw, 9px) !important; letter-spacing: .08em; }
.show-award-stamp--moliere b { font-size: clamp(10px, .94vw, 12px) !important; letter-spacing: .045em; }
.show-festival-laurel { position: absolute; top: 13px; left: 12px; z-index: 3; display: flex; max-width: 35%; align-items: center; gap: 0; padding: 2px 3px; background: transparent; color: #d8b36a; text-align: center; text-shadow: 0 1px 5px rgba(0,0,0,.76); }
.show-festival-laurel--solo { right: auto; left: 12px; }
.show-festival-laurel svg { width: 13px; height: 27px; flex: 0 0 auto; overflow: visible; fill: none; stroke: #d8b36a; stroke-width: .72; stroke-linecap: round; stroke-linejoin: round; opacity: .94; }
.show-festival-laurel svg ellipse { rx: 1.7px; ry: 3.6px; fill: #d8b36a; stroke: none; opacity: .9; transform: rotate(-24deg); transform-box: fill-box; transform-origin: center; }
.show-festival-laurel svg.is-right { transform: scaleX(-1); }
.show-festival-laurel span { display: grid; gap: 1px; margin: 0 !important; }
.show-festival-laurel small, .show-festival-laurel b, .show-festival-laurel em { margin: 0 !important; color: #d8b36a; font-family: var(--sans); font-style: normal; line-height: 1.18; -webkit-text-fill-color: #d8b36a !important; }
.show-festival-laurel small { font-size: 5px; letter-spacing: .13em; }
.show-festival-laurel b { font-size: clamp(6px, .62vw, 8px) !important; letter-spacing: .025em; }
.show-festival-laurel em { font-size: 5px; letter-spacing: .05em; }
.show-card-button:hover .show-poster { transform: translateY(-5px); filter: brightness(1.13); }
.show-poster span, .show-poster b { position: relative; z-index: 1; font-size: 10px; letter-spacing: .16em; font-weight: 500; }
.show-poster b { font-size: 24px; line-height: .95; letter-spacing: -.02em; }
.show-poster i { position: absolute; z-index: 1; inset: 50% auto auto 50%; transform: translate(-50%, -50%); font: 118px/1 var(--serif); color: rgba(255,255,255,.73); font-style: normal; }
.poster-a { background: linear-gradient(140deg, #27211e, #090909 54%, #9b7a5f); }
.poster-b { background: linear-gradient(160deg, #38313e, #111117 54%, #a16c68); }
.poster-c { background: linear-gradient(130deg, #d7d5ce, #68635e 46%, #191716); color: #12100e; }
.poster-d { background: linear-gradient(160deg, #101516, #2f484d 55%, #0b0c0d); }
.poster-e { background: linear-gradient(140deg, #65594c, #16100f 55%, #bc9d75); }
.poster-f { background: linear-gradient(160deg, #c4c0b7, #3c3a3a 48%, #131313); color: #101010; }
.poster-g { background: linear-gradient(135deg, #0c0c0c, #504139 60%, #15100d); }
.poster-h { background: linear-gradient(155deg, #1e2b33, #111113 50%, #9a9c95); }
.show-card-info { position: relative; margin-left: 0; padding: 17px 5px 1px; border-left: 0; }
.show-card-info::before { display: none; }
.show-card-info h3 { margin: 0 0 2px; font: 400 19px/1.3 var(--serif); }
.show-card-info p { margin: 0 0 9px; color: #9f9d99; font-size: 12px; }
.show-card-info > span { display: flex; justify-content: space-between; color: #bab8b3; font-size: 11px; letter-spacing: .06em; }
.show-card-info strong { color: var(--warm); font-size: 18px; font-weight: 400; }
.show-feature { display: grid; grid-template-columns: 1.15fr .85fr .58fr; gap: 20px; align-items: stretch; margin: 50px 0 12px; padding: 20px 0 0; border-top: 1px solid rgba(255,255,255,.16); }
.show-feature-image { position: relative; margin: 0; min-height: 310px; overflow: hidden; background: #111; }
.show-feature-image img { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.75) contrast(1.08); }
.show-feature-image.feature-tall { min-height: 310px; }
.show-feature-image.feature-tall img { object-position: center 35%; }
.show-feature-image figcaption { position: absolute; right: 14px; bottom: 11px; left: 14px; color: rgba(255,255,255,.75); font-size: 10px; letter-spacing: .06em; }
.show-feature-copy { display: flex; flex-direction: column; justify-content: center; padding: 22px 8px; }
.show-feature-copy h3 { margin: 0 0 15px; font: 400 28px/1.2 var(--serif); }
.show-feature-copy p:not(.section-kicker) { margin: 0; color: #a9a6a1; font-size: 14px; line-height: 1.85; }
.show-feature-copy a { display: inline-flex; gap: 10px; align-items: center; align-self: flex-start; margin-top: 22px; padding-bottom: 5px; border-bottom: 1px solid var(--warm); color: #ddd9d1; font-size: 12px; }
.show-feature-copy a span { color: var(--warm); font-size: 18px; }
.directory-note { margin: 50px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.14); color: #9f9d99; font-size: 13px; }
.site-footer { display: flex; justify-content: space-between; gap: 28px; padding: 70px 48px 28px; margin-top: 100px; font-size: 11px; color: #9c9a96; letter-spacing: .05em; }
.site-footer > div { display: flex; gap: 28px; flex-wrap: wrap; }
.site-footer a:hover { color: #fff; }
.site-footer span { opacity: .65; }
.site-footer a span { color: var(--warm); opacity: 1; margin-left: 8px; font-size: 18px; }
.show-dialog { max-width: 530px; width: calc(100% - 40px); border: 1px solid rgba(255,255,255,.26); padding: 0; color: #e9e7e3; background: #191614; box-shadow: 0 25px 80px rgba(0,0,0,.55); }
.show-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(5px); }
.dialog-inner { padding: 42px; position: relative; }
.dialog-close { position: absolute; top: 16px; right: 18px; width: 32px; height: 32px; background: transparent; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #ddd; cursor: pointer; font-size: 20px; line-height: 1; }
.dialog-inner h2 { margin: 0; font: 400 42px/1.2 var(--serif); }
.dialog-meta { margin: 8px 0 0; color: var(--warm); font-size: 12px; letter-spacing: .08em; }
.dialog-rule { height: 1px; background: rgba(255,255,255,.22); margin: 30px 0 24px; }
.dialog-description { min-height: 84px; margin: 0; color: #c2c0bb; font-size: 16px; line-height: 1.9; }
.dialog-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; margin-top: 30px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); }
.dialog-facts div { display: grid; gap: 3px; }
.dialog-facts span { color: #8f8b85; font-size: 10px; letter-spacing: .12em; }
.dialog-facts b { color: #d6d2cb; font-size: 12px; font-weight: 400; line-height: 1.55; }
.dialog-details { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 38px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.16); color: #aaa7a1; font-size: 12px; }
.dialog-details a { color: #e7e5e0; }

/* pricing */
.pricing-hero { padding-bottom: 66px; }
.pricing-sheet { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10%; padding-bottom: 90px; }
.fee-amount { padding: 32px 0; border-top: 2px solid var(--silver); }
.fee-label { display: block; color: #9c9994; font-size: 10px; letter-spacing: .2em; }
.fee-amount strong { display: inline-block; margin-top: 5px; font: 400 clamp(5rem, 10vw, 9rem)/.9 var(--serif); letter-spacing: -.1em; background: linear-gradient(160deg, #fff, #9d9b96 45%, #ece8df); -webkit-background-clip: text; color: transparent; }
.fee-range { display: flex; align-items: baseline; gap: 16px; white-space: nowrap; }
.fee-range i { color: #8e8a84; font: 400 clamp(2rem, 4vw, 4rem)/1 var(--serif); font-style: normal; }
.fee-amount sup { font: 400 42px/1 var(--serif); letter-spacing: 0; }
.fee-amount p { color: var(--warm); margin: 12px 0 0; font-size: 13px; }
.fee-copy { padding: 32px 0; }
.fee-copy h2 { margin: 0 0 24px; font: 400 38px/1.2 var(--serif); }
.fee-copy p:not(.section-kicker) { color: #b1aea9; max-width: 510px; line-height: 1.95; }
.fee-copy .translator-credential { margin-top: 22px; padding-left: 14px; border-left: 2px solid var(--warm); color: #d5c4b0; font-size: 13px; line-height: 1.8; }
.line-link { display: inline-flex; gap: 14px; align-items: center; margin-top: 16px; padding-bottom: 6px; border-bottom: 1px solid var(--warm); color: #dedbd4; font-size: 13px; }
.line-link span { color: var(--warm); font-size: 19px; }
.pricing-details { padding-bottom: 86px; }
.pricing-tiers { padding: 10px 0 82px; border-top: 1px solid rgba(255,255,255,.16); }
.pricing-tiers .section-heading { max-width: 720px; margin-bottom: 30px; }
.pricing-tiers .section-heading > p:last-child { margin: 16px 0 0; color: #a9a6a1; font-size: 14px; line-height: 1.8; }
.pricing-tier-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.pricing-tier { min-height: 300px; padding: 24px; border: 1px solid rgba(255,255,255,.17); background: rgba(255,255,255,.025); }
.pricing-tier-featured { border-color: rgba(178,143,103,.58); background: linear-gradient(145deg, rgba(178,143,103,.14), rgba(255,255,255,.025)); }
.tier-no { color: #918b83; font-size: 10px; letter-spacing: .16em; }
.pricing-tier strong { display: block; margin-top: 44px; color: #e1dbd1; font: 400 54px/.9 var(--serif); letter-spacing: -.08em; }
.pricing-tier strong sup { font-size: 22px; letter-spacing: 0; }
.pricing-tier h3 { margin: 22px 0 10px; color: #ded8cf; font: 400 20px/1.25 var(--serif); }
.pricing-tier p { margin: 0; color: #a5a19b; font-size: 13px; line-height: 1.8; }
.pricing-table-wrap { padding: 8px 0 86px; border-top: 1px solid rgba(255,255,255,.18); }
.pricing-table-wrap .section-heading { max-width: 760px; margin-bottom: 28px; }
.pricing-table-wrap .section-heading > p:last-child { margin: 16px 0 0; color: #a9a6a1; font-size: 14px; line-height: 1.8; }
.fee-table-scroll { overflow-x: auto; border: 1px solid rgba(255,255,255,.2); }
.fee-table { width: 100%; min-width: 780px; border-collapse: collapse; color: #d9d6d0; font-size: 13px; }
.fee-table th, .fee-table td { padding: 20px 18px; border-right: 1px solid rgba(255,255,255,.13); border-bottom: 1px solid rgba(255,255,255,.13); text-align: left; vertical-align: top; line-height: 1.75; }
.fee-table thead th { background: linear-gradient(120deg, rgba(255,255,255,.12), rgba(178,143,103,.14)); color: #f1eee7; font-size: 11px; letter-spacing: .09em; font-weight: 400; }
.fee-table tbody th { width: 20%; color: #efe9df; font: 400 18px/1.35 var(--serif); background: rgba(255,255,255,.035); }
.fee-table tbody td:nth-child(2) { width: 20%; color: #d6b58f; white-space: nowrap; }
.fee-table tbody td:last-child { color: #aaa7a1; }
.fee-table tr:last-child th, .fee-table tr:last-child td { border-bottom: 0; }
.fee-table th:last-child, .fee-table td:last-child { border-right: 0; }
.table-note { margin: 15px 0 0; color: #938f89; font-size: 12px; }
.section-heading { margin-bottom: 35px; }
.service-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.service-list > div { min-height: 220px; padding: 22px; border: 1px solid rgba(255,255,255,.18); background: linear-gradient(145deg, rgba(255,255,255,.05), transparent); }
.service-list > div > span { color: var(--warm); font-size: 11px; }
.service-list h3 { margin: 44px 0 10px; font: 400 19px/1.25 var(--serif); }
.service-list p { margin: 0; color: #96938e; font-size: 13px; line-height: 1.75; }
.service-list .service-extra { border-color: rgba(178,143,103,.55); background: linear-gradient(145deg, rgba(178,143,103,.16), transparent); }
.cta-strip { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.25); color: #c0bdb6; }
.cta-strip p { margin: 0; }
.cta-strip a { color: #e7e4de; white-space: nowrap; }
.cta-strip a span { color: var(--warm); font-size: 20px; margin-left: 8px; }

/* One consolidated pricing-page contact island: the brief is primary and
   email remains available as a quiet fallback in the same visual unit. */
.matching-form-island {
  position: fixed;
  right: 24px;
  bottom: 76px;
  z-index: 18;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas: "kicker email" "primary email";
  column-gap: 14px;
  width: min(250px, calc(100vw - 32px));
  padding: 12px 14px;
  border: 1px solid rgba(218,206,190,.42);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(36,31,27,.96), rgba(10,10,9,.94));
  box-shadow: 0 16px 38px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.1);
  color: #e9e4dc;
  backdrop-filter: blur(18px);
}
.matching-contact-kicker { grid-area: kicker; color: #a99d8e; font-size: 9px; line-height: 1.2; letter-spacing: .14em; }
.matching-contact-primary { grid-area: primary; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; margin-top: 3px; color: #ece7df; }
.matching-contact-primary strong { font: 400 16px/1.25 var(--serif); }
.matching-contact-primary i { color: var(--warm); font-size: 20px; font-style: normal; }
.matching-contact-email { grid-area: email; display: flex; align-items: center; padding-left: 13px; border-left: 1px solid rgba(255,255,255,.14); color: #aaa39a; font-size: 10px; white-space: nowrap; }
.matching-contact-primary:hover strong, .matching-contact-primary:focus-visible strong { color: #fff; }
.matching-contact-email:hover, .matching-contact-email:focus-visible { color: #e0d8ce; }
.matching-contact-primary:focus-visible, .matching-contact-email:focus-visible { outline: 1px solid rgba(233,226,216,.72); outline-offset: 4px; }

/* Online show-matching brief */
.matching-form-page main { padding-bottom: 30px; }
.matching-form-hero { padding-bottom: 64px; }
.matching-form-wrap { display: grid; grid-template-columns: minmax(230px, .56fr) minmax(0, 1.44fr); gap: clamp(42px, 7vw, 90px); padding-top: 48px; border-top: 1px solid rgba(255,255,255,.18); }
.matching-form-intro { position: sticky; top: calc(var(--header-height) + 34px); align-self: start; }
.matching-form-intro h2 { margin: 0 0 20px; font: 400 34px/1.25 var(--serif); letter-spacing: -.04em; }
.matching-form-intro > p:last-child { margin: 0; color: #a9a6a1; font-size: 14px; line-height: 1.9; }
.matching-form { display: grid; gap: 26px; }
.matching-form fieldset { min-width: 0; margin: 0; padding: 0 0 28px; border: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.matching-form legend { width: 100%; margin: 0 0 18px; padding: 0; color: #e6e0d7; font: 400 27px/1.25 var(--serif); }
.matching-form legend span { display: inline-block; width: 42px; color: var(--warm); font: 600 10px/1 var(--sans); letter-spacing: .13em; vertical-align: middle; }
.form-section-note { margin: -8px 0 18px; color: #918d87; font-size: 13px; }
.form-grid { display: grid; gap: 14px; }
.form-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.matching-form label:not(.form-consent):not(.form-honey) { display: grid; gap: 8px; color: #c8c3ba; font-size: 14px; }
.matching-form label > span:first-child { line-height: 1.4; }
.matching-form .is-required > span:first-child::after { content: "  必填"; color: #c5a177; font-size: 10px; letter-spacing: .08em; }
.matching-form-page[data-lang="fr"] .matching-form .is-required > span:first-child::after { content: "  OBLIGATOIRE"; }
.matching-form-page[data-lang="en"] .matching-form .is-required > span:first-child::after { content: "  REQUIRED"; }
.matching-form input[type="text"],
.matching-form input[type="email"],
.matching-form input[type="tel"],
.matching-form textarea,
.matching-form select {
  width: 100%;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 0;
  padding: 13px 14px;
  background: rgba(255,255,255,.035);
  color: #efebe4;
  font: 400 16px/1.45 var(--sans);
  outline: none;
}
.matching-form textarea { min-height: 90px; resize: vertical; }
.matching-form input:is([type="text"],[type="email"],[type="tel"]):focus,
.matching-form textarea:focus,
.matching-form select:focus { border-color: rgba(209,183,151,.8); box-shadow: 0 0 0 1px rgba(178,143,103,.18); }
.matching-form input[type="checkbox"], .matching-form input[type="radio"] { width: 17px; height: 17px; margin: 0; accent-color: #b28f67; }
.form-wide { display: grid; gap: 8px; margin-top: 14px; }
.form-choice-block { margin-top: 16px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.02); }
.form-grid > .form-choice-block { margin-top: 14px; }
.form-choice-block > p { margin: 0 0 12px; color: #c8c3ba; font-size: 14px; }
.choice-row { display: flex; align-items: center; gap: 20px; }
.choice-row-wrap { flex-wrap: wrap; }
.choice-stack { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; }
.choice-row label, .choice-stack label { display: inline-flex !important; grid-template-columns: none; flex-direction: row; gap: 8px !important; align-items: center; color: #aaa6a0 !important; cursor: pointer; }
.form-honey { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.form-submit-area { padding: 24px 0 12px; }
.form-consent { display: inline-flex; align-items: flex-start; gap: 10px; color: #cbc6bd; font-size: 14px; cursor: pointer; }
.form-consent input { flex: 0 0 auto; margin-top: 3px !important; }
.form-submit-area > p { margin: 12px 0 18px; color: #88847e; font-size: 12px; }
.form-submit-area button { min-width: 190px; border: 1px solid rgba(218,206,190,.45); padding: 13px 24px; background: linear-gradient(145deg, #d8d0c4, #9e8d79); color: #151311; cursor: pointer; font-size: 14px; letter-spacing: .06em; }
.form-submit-area button:disabled { cursor: wait; opacity: .55; }
.form-status { min-height: 26px; margin-top: 14px; color: #c9b08f; font-size: 13px; }
.form-status.is-error { color: #d7a8a1; }
.form-email-fallback { display: inline-flex; margin-top: 8px; padding-bottom: 3px; border-bottom: 1px solid var(--warm); color: #ded8cf; font-size: 14px !important; }
.form-email-fallback[hidden] { display: none !important; }

@media (max-width: 900px) {
  .matching-form-wrap { grid-template-columns: 1fr; gap: 28px; }
  .matching-form-intro { position: static; max-width: 620px; }
}

@media (max-width: 620px) {
  .matching-form-island { right: 12px; bottom: 72px; width: min(224px, calc(100vw - 24px)); padding: 10px 12px; border-radius: 15px; }
  .matching-contact-kicker { font-size: 9px; }
  .matching-contact-primary strong { font-size: 15px; }
  .matching-contact-primary i { font-size: 18px; }
  .matching-contact-email { font-size: 10px; }
  .matching-form-page main { padding-bottom: 104px; }
  .matching-form-hero h1 { font-size: clamp(2.8rem, 14vw, 4.4rem); }
  .form-grid-two { grid-template-columns: 1fr; }
  .choice-stack { grid-template-columns: 1fr; }
  .choice-row { gap: 14px; }
  .form-choice-block { padding: 14px; }
  .matching-form legend { font-size: 23px; }
  .form-submit-area button { width: 100%; }
}

/* projects */
.projects-hero { padding-top: 100px; padding-bottom: 50px; }
.projects-hero h1 { font-size: clamp(2.8rem, 5vw, 4.8rem); }
.projects-hero .hero-copy { max-width: 500px; margin-top: 18px; font-size: 14px; line-height: 1.72; }
.projects-hero .hero-index { font-size: 10px; }
.projects-hero .hero-index span { font-size: 20px; }
.project-archive { display: grid; grid-template-columns: .68fr 1.32fr; gap: 8%; padding-top: 30px; padding-bottom: 72px; }
.archive-intro h2 { font-size: 24px; line-height: 1.22; }
.archive-intro p:not(.section-kicker) { max-width: 270px; margin-top: 16px; color: #9b9994; font-size: 12px; line-height: 1.72; }
.timeline { border-top: 1px solid rgba(255,255,255,.2); }
.timeline-item { display: grid; grid-template-columns: 62px 18px 1fr; gap: 16px; padding: 19px 0; border-bottom: 1px solid rgba(255,255,255,.16); }
.timeline-date { color: #8f8d89; font-size: 10px; line-height: 1.1; }
.timeline-date b { display: block; margin-top: 4px; color: #e7e4de; font: 400 21px/1 var(--serif); }
.timeline-marker { position: relative; width: 9px; height: 9px; margin-top: 5px; border-radius: 50%; background: #66625e; }
.timeline-marker::after { content: ""; position: absolute; top: 9px; left: 4px; width: 1px; height: 66px; background: rgba(255,255,255,.15); }
.timeline-item:last-child .timeline-marker::after { display: none; }
.is-current .timeline-marker { background: var(--warm); box-shadow: 0 0 0 5px rgba(178,143,103,.15); }
.item-status { margin: 0 0 5px; color: var(--warm); font-size: 9px; letter-spacing: .16em; }
.timeline-content h3 { margin: 0 0 7px; font: 400 20px/1.2 var(--serif); }
.timeline-content > p:not(.item-status) { margin: 0; color: #aaa8a2; font-size: 12px; line-height: 1.55; }
.item-note { display: inline-block; margin-top: 10px; padding: 4px 8px; background: rgba(178,143,103,.14); color: #c7a982; font-size: 9px; }
.works-shelf { padding-bottom: 85px; }
.shelf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.shelf-grid article { min-height: 250px; padding: 25px; border: 1px solid rgba(255,255,255,.22); display: flex; flex-direction: column; align-items: start; justify-content: space-between; background: radial-gradient(circle at 85% 20%, rgba(178,143,103,.18), transparent 40%); }
.shelf-grid article > span { color: #9e9a92; font-size: 10px; letter-spacing: .16em; }
.shelf-grid h3 { margin: 34px 0 8px; font: 400 31px/1.1 var(--serif); }
.shelf-grid p { max-width: 360px; margin: 0; color: #9f9b95; font-size: 14px; }
.shelf-grid b { color: var(--warm); font-size: 10px; letter-spacing: .18em; font-weight: 400; }
.shelf-grid .lab-card { background: linear-gradient(135deg, rgba(255,255,255,.07), transparent 60%), #121415; border-color: rgba(217,224,228,.25); }
.lab-card h3 { font-family: var(--sans); font-weight: 300; letter-spacing: -.04em; }
.original-teaser { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: 42px 0 80px; border-top: 1px solid rgba(255,255,255,.18); }
.original-teaser h2 { margin: 0; font: 400 32px/1.2 var(--serif); }
.original-teaser p:not(.section-kicker) { max-width: 560px; margin: 18px 0 0; color: #a6a39d; font-size: 14px; line-height: 1.85; }
.original-show { display: grid; grid-template-columns: .68fr 1.32fr; gap: 7%; padding-bottom: 105px; border-top: 1px solid rgba(255,255,255,.18); padding-top: 45px; }
.original-copy { padding-top: 18px; }
.original-copy h2 { margin: 0 0 18px; font: 400 clamp(3rem, 6vw, 5.8rem)/1 var(--serif); letter-spacing: -.08em; }
.original-copy > p:not(.section-kicker) { margin: 0 0 18px; color: #d7d2c9; font: 400 19px/1.7 var(--serif); }
.original-copy .original-note { color: #9c9993; font: 14px/1.85 var(--sans); }
.original-poster-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 18px; align-items: end; }
.original-poster { position: relative; margin: 0; border: 1px solid rgba(255,255,255,.2); background: #111; overflow: hidden; }
.original-poster img { display: block; width: 100%; height: auto; }
.original-poster figcaption { position: absolute; right: 12px; bottom: 10px; left: 12px; color: rgba(255,255,255,.78); font-size: 9px; letter-spacing: .12em; text-shadow: 0 1px 8px #000; }
.live-poster { margin-bottom: 54px; }
.lab-section { padding: 58px 0 92px; border-top: 1px solid rgba(255,255,255,.18); }
.lab-bridge { max-width: 740px; padding: 0 0 46px; }
.lab-bridge > p:last-child { margin: 12px 0 0; color: #aaa8a2; font: 400 17px/1.8 var(--serif); }
.lab-section .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.lab-section .section-heading h2 { margin: 0; font: 300 clamp(2.8rem, 6vw, 5.5rem)/1 var(--sans); letter-spacing: -.1em; }
.lab-section .section-heading > p:last-child { max-width: 400px; margin: 0; color: #9d9b98; font-size: 14px; line-height: 1.8; }
.lab-heading { display: grid; grid-template-columns: 1fr .9fr; gap: 8%; align-items: end; padding-bottom: 42px; }
.lab-heading .section-heading { display: block; }
.lab-heading .section-heading h2 { max-width: 630px; }
.lab-entry { padding: 24px 0 0 24px; border-left: 1px solid rgba(219,225,228,.4); color: #c6ced0; }
.lab-entry strong { display: block; margin-bottom: 14px; color: #eef2f2; font: 400 20px/1.4 var(--sans); letter-spacing: -.04em; }
.lab-entry p { margin: 0; color: #9da8ac; font-size: 13px; line-height: 1.9; }
.lab-entry .lab-instruction { margin-top: 16px; color: #758389; font-size: 11px; letter-spacing: .04em; }
.lab-dossier-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; padding: 20px 0 18px; border-top: 1px solid rgba(219,225,228,.22); border-bottom: 1px solid rgba(219,225,228,.16); }
.lab-dossier-intro > div > span { color: #aebbc0; font-size: 11px; letter-spacing: .14em; }
.lab-dossier-intro h3 { margin: 9px 0 0; color: #d9dfe0; font: 400 21px/1.25 var(--serif); }
.lab-dossier-intro > p { margin: 0; color: #7e8a8f; font-size: 11px; line-height: 1.8; text-align: right; }
.lab-dossier-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.lab-profile { position: relative; min-height: 250px; padding: 24px; overflow: hidden; border: 1px solid rgba(219,225,228,.2); background: linear-gradient(145deg, rgba(255,255,255,.065), transparent 52%), #0d1011; }
.lab-profile::after { content: ""; position: absolute; right: -54px; bottom: -62px; width: 170px; height: 170px; border: 1px solid rgba(219,225,228,.1); border-radius: 50%; box-shadow: 0 0 0 22px rgba(219,225,228,.025); }
.lab-profile-director { grid-column: 1 / span 7; }
.lab-profile-deputy { grid-column: 8 / span 5; }
.lab-profile-nurse { grid-column: 1 / span 4; }
.lab-profile-ai { grid-column: 5 / span 5; }
.lab-profile-subject { grid-column: 10 / span 3; }
.lab-profile > * { position: relative; z-index: 1; }
.lab-profile-top { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #748187; font-size: 9px; letter-spacing: .16em; }
.lab-profile-top b { color: #bac7ca; font-weight: 400; }
.lab-profile h3 { margin: 44px 0 5px; color: #edf0ef; font: 400 25px/1.2 var(--serif); }
.lab-name { margin: 0; color: #c8d0d1; font-size: 16px; }
.lab-role { margin: 5px 0 26px; color: #89969b; font-size: 12px; }
.lab-fact-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.lab-fact-columns > div > span, .lab-fact > span { display: block; margin-bottom: 8px; color: #809096; font-size: 10px; letter-spacing: .12em; }
.lab-fact-columns ul { margin: 0; padding: 0; list-style: none; }
.lab-fact-columns li, .lab-fact p, .lab-source, .lab-restriction { margin: 0; color: #b4bec1; font-size: 13px; line-height: 1.8; }
.lab-fact-columns li::before { content: "— "; color: #9eaeb2; }
.lab-fact + .lab-fact { margin-top: 22px; }
.lab-source { margin: 0 0 24px; color: #9faeb1; line-height: 1.75; }
.lab-source em { color: #6f7d82; font-style: normal; font-size: 11px; }
.lab-restriction { margin-top: 46px; padding-top: 12px; border-top: 1px solid rgba(219,225,228,.16); color: #89979c; font-size: 11px; letter-spacing: .08em; }
.lab-subject-number { margin: 0 0 34px; color: #ff4f4f; font: 300 clamp(2.2rem, 3.8vw, 3.6rem)/.95 var(--sans); letter-spacing: -.08em; text-shadow: 0 0 18px rgba(255,79,79,.18); }
.lab-console { position: relative; overflow: hidden; border: 1px solid rgba(219,225,229,.25); padding: 26px; background: radial-gradient(circle at 85% 18%, rgba(183,196,201,.12), transparent 36%), #0d1011; }
.lab-console::before { content: ""; position: absolute; inset: 15px; pointer-events: none; border: 1px solid rgba(219,225,229,.09); }
.lab-console-top, .lab-options, .lab-output, .lab-progress { position: relative; z-index: 1; }
.lab-console-top { display: flex; justify-content: space-between; color: #829197; font-size: 10px; letter-spacing: .16em; }
.lab-console-top b { color: #c4d0d3; font-weight: 400; }
.lab-options { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 58px; }
.lab-options button { padding: 12px 19px; border: 1px solid rgba(219,225,229,.24); background: rgba(255,255,255,.03); color: #d8e0e2; cursor: pointer; font-size: 12px; letter-spacing: .1em; transition: background .2s, transform .2s; }
.lab-options button:hover, .lab-options button.is-selected { background: #d8e0e2; color: #101314; transform: translateY(-3px); }
.lab-output { min-height: 55px; margin: 44px 0 26px; color: #bbc4c7; font: 400 18px/1.6 var(--serif); }
.lab-progress { height: 2px; background: rgba(219,225,229,.15); }
.lab-progress span { display: block; width: 0; height: 100%; background: #d8e0e2; transition: width .5s ease; }

/* tech */
.tech-page { overflow-x: clip; background: var(--tech-bg); color: var(--tech-white); }
.tech-wrap { width: min(1120px, calc(100% - 96px)); margin-inline: auto; }
.tech-hero { position: relative; min-height: 680px; overflow: hidden; background: var(--tech-bg); border-bottom: 1px solid var(--tech-line); }
.tech-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: radial-gradient(circle at 76% 58%, rgba(76,138,158,.17), transparent 17%), radial-gradient(circle at 88% 24%, rgba(219,225,229,.08), transparent 24%), linear-gradient(112deg, transparent 0 47%, rgba(92,157,175,.07) 49%, transparent 52%); animation: tech-hero-breathe 7s ease-in-out infinite; }
.tech-hero-grid { position: absolute; inset: -8%; opacity: .52; background-image: linear-gradient(rgba(219,225,229,.13) 1px, transparent 1px), linear-gradient(90deg, rgba(219,225,229,.13) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(120deg, #000 4%, transparent 72%); animation: tech-grid-drift 18s linear infinite; }
.tech-hero::after { content: ""; position: absolute; right: -12vw; bottom: -27vw; width: 64vw; height: 64vw; border: 1px solid rgba(219,225,229,.17); border-radius: 50%; box-shadow: 0 0 0 120px rgba(219,225,229,.02), 0 0 0 240px rgba(219,225,229,.02); animation: tech-outer-orbit 24s linear infinite; }
.tech-scan-line { position: absolute; z-index: 1; top: -15%; left: 24%; width: 1px; height: 130%; opacity: 0; background: linear-gradient(180deg, transparent, rgba(219,225,229,.7) 48%, transparent); transform: rotate(18deg) translateX(-22vw); animation: tech-scan 9s ease-in-out infinite; pointer-events: none; }
@keyframes tech-scan { 0%, 18% { opacity: 0; transform: rotate(18deg) translateX(-22vw); } 28% { opacity: .5; } 58% { opacity: .18; transform: rotate(18deg) translateX(34vw); } 68%, 100% { opacity: 0; transform: rotate(18deg) translateX(48vw); } }
.tech-hero-field { position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; }
.tech-hero:has(.tech-roadmap-system)::before { animation: none; opacity: .28; }
.tech-hero:has(.tech-roadmap-system)::after { animation: none; opacity: .12; }
.tech-hero:has(.tech-roadmap-system) .tech-hero-grid { animation: none; opacity: .34; }
.tech-hero:has(.tech-roadmap-system) .tech-hero-field,
.tech-hero:has(.tech-roadmap-system) .tech-scan-line { display: none; }
.tech-hero:has(.tech-roadmap-system) .tech-hero-readout { display: none; }
.tech-hero-field::before { content: ""; position: absolute; right: 9%; bottom: 12%; width: 410px; height: 1px; background: linear-gradient(90deg, transparent, rgba(199,237,244,.42), transparent); transform: rotate(-31deg); transform-origin: right center; animation: tech-beam-sweep 6s ease-in-out infinite; }
.tech-hero-field::after { content: ""; position: absolute; top: 17%; right: 27%; width: 2px; height: 2px; border-radius: 50%; background: var(--tech-cyan); box-shadow: 0 0 0 7px rgba(199,237,244,.07), 0 0 28px 5px rgba(199,237,244,.38); animation: tech-node-pulse 3s ease-in-out infinite; }
.tech-hero-orbit { position: absolute; right: 4%; bottom: -23%; display: block; border: 1px solid rgba(199,237,244,.25); border-radius: 50%; transform: rotate(-18deg); }
.tech-hero-orbit::after { content: ""; position: absolute; top: 8%; left: 18%; width: 12px; height: 12px; border: 1px solid rgba(199,237,244,.72); border-radius: 50%; box-shadow: 0 0 20px rgba(199,237,244,.54); }
.tech-hero-orbit-a { width: 520px; height: 520px; animation: tech-orbit-spin 22s linear infinite; }
.tech-hero-orbit-b { right: 12%; bottom: -7%; width: 350px; height: 350px; border-style: dashed; opacity: .65; animation: tech-orbit-spin-reverse 16s linear infinite; }
.tech-hero-orbit-c { right: 22%; bottom: 10%; width: 180px; height: 180px; border-color: rgba(199,237,244,.42); opacity: .8; animation: tech-orbit-spin 11s linear infinite; }
.tech-hero-node { position: absolute; display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--tech-cyan); box-shadow: 0 0 0 5px rgba(199,237,244,.08), 0 0 20px rgba(199,237,244,.5); }
.tech-hero-node-a { right: 24%; bottom: 33%; animation: tech-node-pulse 2.6s ease-in-out infinite; }
.tech-hero-node-b { right: 14%; bottom: 48%; width: 4px; height: 4px; opacity: .6; animation: tech-node-pulse 3.8s ease-in-out infinite -1.2s; }
.tech-hero-readout { position: absolute; right: 8%; bottom: 17%; color: rgba(199,237,244,.56); font-size: 9px; line-height: 1.75; letter-spacing: .16em; transform: rotate(-18deg); animation: tech-readout-flicker 4s ease-in-out infinite; }
@keyframes tech-hero-breathe { 0%, 100% { opacity: .38; transform: scale(1); } 50% { opacity: .9; transform: scale(1.035); } }
@keyframes tech-grid-drift { from { transform: translate3d(0,0,0); } to { transform: translate3d(36px,36px,0); } }
@keyframes tech-outer-orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes tech-orbit-spin { from { transform: rotate(-18deg); } to { transform: rotate(342deg); } }
@keyframes tech-orbit-spin-reverse { from { transform: rotate(18deg); } to { transform: rotate(-342deg); } }
@keyframes tech-beam-sweep { 0%, 18% { opacity: 0; transform: rotate(-31deg) scaleX(.35); } 44%, 66% { opacity: 1; } 90%, 100% { opacity: 0; transform: rotate(-31deg) scaleX(1.15); } }
@keyframes tech-node-pulse { 0%, 100% { opacity: .35; transform: scale(.72); } 50% { opacity: 1; transform: scale(1.4); } }
@keyframes tech-readout-flicker { 0%, 12%, 18%, 100% { opacity: .4; } 15% { opacity: .9; } 58% { opacity: .62; } 61% { opacity: .2; } }
.tech-hero .tech-wrap { position: relative; padding-top: 165px; z-index: 1; }
.tech-status { display: flex; align-items: center; gap: 9px; margin-bottom: 52px; font-size: 10px; letter-spacing: .18em; color: #a6afb4; }
.status-pulse { width: 7px; height: 7px; border-radius: 50%; background: #b6c4c9; box-shadow: 0 0 0 4px rgba(182,196,201,.12); }
.tech-hero h1 { margin: 0; font: 300 clamp(4rem, 9vw, 8.4rem)/.9 var(--sans); letter-spacing: -.1em; }
.tech-hero h1 span { color: #90999e; }
.tech-hero .tech-wrap > p:not(.eyebrow) { max-width: 540px; margin: 34px 0 38px; color: #aeb5b9; font-size: 17px; line-height: 1.9; }
.tech-line-link { display: inline-flex; gap: 30px; align-items: center; padding: 12px 0; border-bottom: 1px solid #aab4b8; font-size: 12px; letter-spacing: .08em; }
.tech-line-link span { font-size: 20px; }
.tech-roadmap-system { position: absolute; z-index: 2; right: max(8px, calc((100% - 1280px)/2)); bottom: 30px; width: 340px; height: 290px; color: #93a0a6; pointer-events: none; }
.tech-roadmap-system::before { content: "PRODUCT ORBIT / 2025—"; position: absolute; top: 3px; right: 12px; color: rgba(199,237,244,.3); font-size: 7px; letter-spacing: .18em; }
.tech-roadmap-orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(199,237,244,.18); border-radius: 50%; transform: translate(-50%,-50%) rotate(-12deg); }
.tech-roadmap-orbit::after { content: ""; position: absolute; top: 50%; left: -2px; width: 3px; height: 3px; border-radius: 50%; background: rgba(199,237,244,.45); box-shadow: 0 0 7px rgba(199,237,244,.35); }
.tech-roadmap-orbit.orbit-inner { width: 247.5px; height: 135px; }
.tech-roadmap-orbit.orbit-middle { width: 450px; height: 262.5px; border-style: dashed; }
.tech-roadmap-orbit.orbit-outer { width: 697.5px; height: 427.5px; opacity: .58; }
.tech-orbit-plane { position: absolute; z-index: 1; top: 50%; left: 50%; border: 1px solid rgba(199,237,244,.13); border-radius: 50%; transform-origin: center; }
.tech-orbit-plane-a { width: 487.5px; height: 135px; transform: translate(-50%,-50%) rotate(26deg); }
.tech-orbit-plane-b { width: 582px; height: 169.5px; border-style: dotted; opacity: .62; transform: translate(-50%,-50%) rotate(-38deg); }
.tech-orbit-plane i { position: absolute; top: 0; left: 0; width: 3px; height: 3px; border: 1px solid rgba(199,237,244,.42); border-radius: 50%; background: #091014; box-shadow: 0 0 5px rgba(199,237,244,.25); offset-anchor: center; offset-rotate: 0deg; animation: tech-planet-orbit var(--plane-duration) linear infinite; }
.tech-orbit-plane-a i { --plane-duration: 41s; offset-path: ellipse(243.75px 67.5px at 243.75px 67.5px); animation-delay: -13s; }
.tech-orbit-plane-b i { --plane-duration: 57s; offset-path: ellipse(291px 84.75px at 291px 84.75px); animation-delay: -29s; animation-direction: reverse; }
.tech-roadmap-sun { position: absolute; top: 50%; left: 50%; display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(199,237,244,.18); border-radius: 50%; background: radial-gradient(circle, rgba(199,237,244,.06), rgba(9,15,18,.94) 68%); box-shadow: 0 0 16px rgba(121,190,208,.07), inset 0 0 12px rgba(199,237,244,.04); transform: translate(-50%,-50%); }
.tech-roadmap-sun img { width: 20px; height: 16px; object-fit: contain; filter: brightness(1.5) contrast(.82); opacity: .62; }
.tech-roadmap-labels { position: absolute; z-index: 3; top: 58px; right: -44px; display: flex; width: 144px; flex-direction: column; align-items: flex-start; gap: 7px; padding: 11px 5px 11px 15px; border-left: 1px solid rgba(199,237,244,.22); background: linear-gradient(90deg, rgba(7,12,14,.78), rgba(7,12,14,.3) 72%, transparent); pointer-events: none; }
.tech-roadmap-labels > span { position: relative; display: inline-flex; width: auto; align-items: baseline; gap: 4px; padding: 2px 0; color: #aeb9be; font-size: 8px; letter-spacing: .08em; white-space: nowrap; }
.tech-roadmap-labels > span::before { content: ""; position: absolute; top: 50%; left: -18px; width: 5px; height: 5px; border: 1px solid currentColor; border-radius: 50%; background: #091014; transform: translateY(-50%); }
.tech-roadmap-labels > span:nth-child(1) { opacity: 1; }
.tech-roadmap-labels > span:nth-child(2) { opacity: .9; }
.tech-roadmap-labels > span:nth-child(3) { opacity: .8; }
.tech-roadmap-labels > span:nth-child(4) { opacity: .69; }
.tech-roadmap-labels > span:nth-child(5) { opacity: .57; }
.tech-roadmap-labels > span:nth-child(6) { opacity: .43; }
.tech-roadmap-labels b { color: #c2cbd0; font-weight: 500; }
.tech-roadmap-labels em { color: rgba(133,151,159,.8); font-style: normal; font-size: 7px; text-align: right; }
.tech-roadmap-labels .roadmap-name-latin { display: none; }
.tech-page[data-lang="fr"] .tech-roadmap-labels .roadmap-name-zh,
.tech-page[data-lang="en"] .tech-roadmap-labels .roadmap-name-zh { display: none; }
.tech-page[data-lang="fr"] .tech-roadmap-labels .roadmap-name-latin,
.tech-page[data-lang="en"] .tech-roadmap-labels .roadmap-name-latin { display: inline; }
.tech-roadmap-movers { position: absolute; inset: 0; z-index: 2; }
.tech-roadmap-movers i { position: absolute; top: 0; left: 0; width: 4px; height: 4px; border: 1px solid rgba(199,237,244,.54); border-radius: 50%; background: #091014; box-shadow: 0 0 6px rgba(199,237,244,.34); offset-anchor: center; offset-rotate: 0deg; animation: tech-planet-orbit var(--orbit-duration) linear infinite; }
.tech-roadmap-movers .mover-1, .tech-roadmap-movers .mover-3 { --orbit-duration: 32s; offset-path: ellipse(123.75px 67.5px at 170px 145px); }
.tech-roadmap-movers .mover-2, .tech-roadmap-movers .mover-4 { --orbit-duration: 48s; offset-path: ellipse(225px 131.25px at 170px 145px); animation-direction: reverse; }
.tech-roadmap-movers .mover-5, .tech-roadmap-movers .mover-6 { --orbit-duration: 68s; offset-path: ellipse(348.75px 213.75px at 170px 145px); }
.tech-roadmap-movers .mover-1 { animation-delay: -2s; }
.tech-roadmap-movers .mover-2 { animation-delay: -4s; }
.tech-roadmap-movers .mover-3 { animation-delay: -10.5s; }
.tech-roadmap-movers .mover-4 { animation-delay: -16.5s; }
.tech-roadmap-movers .mover-5 { animation-delay: -7s; }
.tech-roadmap-movers .mover-6 { animation-delay: -25s; }
@keyframes tech-planet-orbit { from { offset-distance: 0%; opacity: .28; } 48%, 52% { opacity: .58; } to { offset-distance: 100%; opacity: .28; } }
.tech-section { padding-top: 110px; padding-bottom: 110px; border-bottom: 1px solid var(--tech-line); }
.tech-section-head { display: grid; grid-template-columns: .7fr 1fr 1fr; align-items: end; gap: 40px; margin-bottom: 55px; }
.tech-section-head .eyebrow { margin: 0; }
.tech-section-head h2 { margin: 0; font: 300 clamp(3rem, 6vw, 5.5rem)/1 var(--sans); letter-spacing: -.1em; }
.tech-section-head > p:last-child { margin: 0 0 4px; color: #a5afb3; font-size: 15px; }
.caption-demo { position: relative; overflow: hidden; margin-bottom: 22px; padding: 18px 20px 16px; border: 1px solid rgba(219,225,229,.24); background: linear-gradient(120deg, rgba(219,225,229,.07), rgba(219,225,229,.015) 58%), #080b0d; isolation: isolate; }
.caption-demo::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(199,237,244,.09); pointer-events: none; animation: tech-frame-pulse 5s ease-in-out infinite; }
.caption-demo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 0%, rgba(219,225,229,.06) 50%, transparent 52%); animation: caption-scan 4.5s linear infinite; pointer-events: none; }
@keyframes caption-scan { from { transform: translateY(-100%); } to { transform: translateY(100%); } }
@keyframes tech-frame-pulse { 0%, 100% { border-color: rgba(199,237,244,.06); box-shadow: inset 0 0 0 rgba(199,237,244,0); } 50% { border-color: rgba(199,237,244,.23); box-shadow: inset 0 0 32px rgba(94,165,184,.06); } }
.caption-demo-top, .caption-demo-controls { position: relative; z-index: 1; display: flex; align-items: center; gap: 13px; color: #829197; font-size: 9px; letter-spacing: .14em; }
.caption-demo-top { justify-content: space-between; }
.caption-demo-top b { display: flex; align-items: center; gap: 6px; color: #b5c1c5; font-weight: 400; }
.caption-demo-top b i { width: 5px; height: 5px; border-radius: 50%; background: #cbd6d8; box-shadow: 0 0 0 4px rgba(203,214,216,.1); }
.caption-screen { position: relative; z-index: 1; display: grid; gap: 5px; min-height: 155px; align-content: center; padding: 22px 5vw; border-top: 1px solid rgba(219,225,229,.12); border-bottom: 1px solid rgba(219,225,229,.12); margin: 17px 0 13px; text-align: center; }
.caption-time { color: #738188; font-size: 9px; letter-spacing: .16em; }
.caption-line { margin: 6px 0 0; color: #edf2f2; font: 400 clamp(1.35rem, 3vw, 2.2rem)/1.25 var(--serif); }
.caption-subline { margin: 0; color: #8f9da2; font-size: 12px; letter-spacing: .04em; }
.caption-demo-controls button { min-width: 29px; padding: 3px 7px; border: 1px solid rgba(219,225,229,.2); background: transparent; color: #9eabb0; font-size: 9px; letter-spacing: .08em; }
.caption-demo-controls button.is-active, .caption-demo-controls button:hover { background: #d7e0e2; color: #101314; }
.caption-demo-track { flex: 1; height: 1px; margin-left: 8px; background: rgba(219,225,229,.17); }
.caption-demo-track b { display: block; width: 32%; height: 100%; background: #c8d3d6; }
.tech-caption-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--tech-line); border: 1px solid var(--tech-line); }
.caption-spec { min-height: 270px; padding: 26px; background: var(--tech-bg); }
.caption-spec > span { color: #819096; font-size: 11px; letter-spacing: .16em; }
.caption-spec h3 { margin: 70px 0 12px; font-size: 18px; font-weight: 400; letter-spacing: -.03em; }
.caption-spec p { margin: 0; color: #a4acb0; font-size: 13px; line-height: 1.85; }
.caption-audience { min-height: 360px; }
.ticket-stub { display: flex; align-items: stretch; justify-content: space-between; gap: 12px; margin-top: 28px; padding: 14px 16px; border: 1px solid rgba(219,225,229,.28); background: linear-gradient(110deg, rgba(219,225,229,.09), rgba(219,225,229,.02)); }
.ticket-stub > div { display: grid; gap: 3px; }
.ticket-stub span { color: #829197; font-size: 8px; letter-spacing: .18em; }
.ticket-stub b { color: #e6ebec; font-size: 17px; font-weight: 400; }
.ticket-stub em { color: #a5b0b4; font-size: 10px; font-style: normal; }
.ticket-stub > strong { display: grid; place-items: center; min-width: 44px; border-left: 1px dashed rgba(219,225,229,.28); color: #c5d0d3; font-size: 11px; font-weight: 400; line-height: 1.15; letter-spacing: .08em; text-align: center; }
.caption-audience .ticket-copy { margin-top: 16px; color: #9ca8ac; font-size: 12px; line-height: 1.75; }
.ticket-actions { display: flex; gap: 18px; margin-top: 15px; color: #7f8c91; font-size: 9px; letter-spacing: .12em; }
.ticket-actions span::before { content: "— "; color: #b7c2c5; }
.spec-line { display: flex; align-items: center; gap: 12px; margin-top: 28px; color: #849097; font-size: 10px; letter-spacing: .08em; }
.spec-line b { height: 1px; flex: 1; background: #849097; }
.tech-download { position: relative; display: grid; grid-template-columns: 1fr auto; gap: 8vw; align-items: end; padding-top: 82px; padding-bottom: 82px; border-bottom: 1px solid var(--tech-line); isolation: isolate; }
.tech-download::before { content: ""; position: absolute; z-index: -1; inset: 0 0 1px; opacity: .32; background-image: linear-gradient(rgba(219,225,229,.11) 1px, transparent 1px), linear-gradient(90deg, rgba(219,225,229,.11) 1px, transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(120deg, #000, transparent 70%); animation: tech-grid-drift 20s linear infinite reverse; }
.tech-download::after { content: ""; position: absolute; z-index: -1; top: 0; right: 24%; bottom: 0; width: 1px; background: linear-gradient(180deg, transparent, rgba(199,237,244,.34), transparent); animation: tech-column-scan 6s ease-in-out infinite; }
@keyframes tech-column-scan { 0%, 100% { opacity: 0; transform: translateY(-20%); } 45%, 65% { opacity: .8; } 80% { opacity: 0; transform: translateY(20%); } }
.tech-download h2 { margin: 0; font: 300 clamp(2.8rem, 6vw, 5.5rem)/1 var(--sans); letter-spacing: -.1em; }
.tech-download > div:first-child > p:not(.eyebrow) { max-width: 560px; margin: 22px 0 0; color: #a4acb0; font-size: 16px; line-height: 1.9; }
.download-actions { display: grid; min-width: 245px; }
.download-actions a { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: 16px 0; border-top: 1px solid rgba(219,225,229,.28); color: #e4e9eb; font-size: 14px; }
.download-actions a:last-child { border-bottom: 1px solid rgba(219,225,229,.28); }
.download-actions a:hover { padding-left: 10px; color: #fff; }
.download-actions span { color: #aebbc0; font-size: 19px; }
.software-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; border: 0; }
.software-card { min-height: 300px; position: relative; padding: 27px; overflow: hidden; border: 1px solid var(--tech-line); background: linear-gradient(150deg, rgba(255,255,255,.04), transparent 60%); transition: border-color .25s ease, transform .25s ease, background .25s ease; }
.software-card::before { content: ""; position: absolute; top: 0; left: -36%; width: 36%; height: 1px; background: linear-gradient(90deg, transparent, var(--tech-cyan), transparent); animation: tech-card-sweep 5.5s ease-in-out infinite; }
.software-card::after { content: ""; position: absolute; right: 22px; bottom: 22px; width: 5px; height: 5px; border-radius: 50%; background: var(--tech-cyan); box-shadow: 0 0 0 5px rgba(199,237,244,.07), 0 0 18px rgba(199,237,244,.38); animation: tech-node-pulse 3.2s ease-in-out infinite; }
@keyframes tech-card-sweep { 0%, 18% { opacity: 0; transform: translateX(0); } 42%, 64% { opacity: .9; } 88%, 100% { opacity: 0; transform: translateX(380%); } }
.software-card:hover { border-color: rgba(219,225,229,.48); background: linear-gradient(150deg, rgba(219,225,229,.08), transparent 60%); transform: translateY(-4px); }
.software-no { position: absolute; top: 24px; right: 24px; color: #77838a; font-size: 11px; }
.software-card h2 { margin: 65px 0 9px; font: 300 34px/1 var(--sans); letter-spacing: -.08em; }
.software-card > p:not(.eyebrow) { max-width: 270px; margin-top: 35px; color: #9da7ab; font-size: 13px; }
.coming { color: #aeb8bc; font-size: 10px; letter-spacing: .16em; }
.software-wide { grid-column: 1 / -1; min-height: 230px; }
.software-wide h2 { margin-top: 45px; }
.tech-principle { position: relative; display: grid; grid-template-columns: 1fr 2fr; gap: 12%; align-items: center; padding-top: 105px; padding-bottom: 135px; isolation: isolate; }
.tech-principle::before { content: ""; position: absolute; z-index: -1; right: 18px; bottom: max(-250px, -32vw); width: min(570px, 78vw); aspect-ratio: 1; border: 1px solid rgba(199,237,244,.13); border-radius: 50%; box-shadow: 0 0 0 42px rgba(199,237,244,.025), 0 0 0 110px rgba(199,237,244,.018); opacity: .75; mask-image: radial-gradient(circle farthest-corner at center, #000 50%, rgba(0,0,0,.65) 74%, transparent 100%); animation: tech-outer-orbit 28s linear infinite reverse; }
.principle-mark img { display: block; width: 190px; height: 155px; object-fit: contain; opacity: .42; }
.tech-principle h2 { margin: 0 0 20px; font: 300 clamp(2.2rem, 5vw, 4.7rem)/1.1 var(--sans); letter-spacing: -.1em; }
.tech-principle p:last-child { max-width: 520px; margin: 0; color: #a3acb0; font-size: 17px; line-height: 1.9; }
.tech-footer { background: #080b0d; border-top: 1px solid var(--tech-line); margin-top: 0; }

/* story */
.story-hero { position: relative; min-height: 610px; padding-top: 150px; overflow: hidden; }
.story-hero h1 { position: relative; z-index: 1; margin: 0; font: 400 clamp(4rem, 9vw, 8.6rem)/.95 var(--serif); letter-spacing: -.1em; }
.story-hero h1 em { color: var(--warm); font-style: normal; }
.story-hero-subtitle { position: relative; z-index: 1; margin: 24px 0 0; color: #c4c0b8; font: 400 25px/1.2 var(--serif); letter-spacing: .08em; }
.story-orbit { position: absolute; right: 6%; bottom: 30px; display: grid; place-items: center; width: 380px; height: 380px; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; color: #6c6862; transform: rotate(-14deg); }
.story-orbit::before, .story-orbit::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.story-orbit::before { inset: 45px; }
.story-orbit::after { inset: 88px; border-color: rgba(178,143,103,.35); }
.story-orbit span { position: absolute; top: 32px; left: 55px; font-size: 12px; letter-spacing: .2em; }
.story-orbit img { display: block; width: 48%; height: 48%; object-fit: contain; opacity: .47; }
.story-orbit i { position: absolute; right: 42px; bottom: 48px; color: var(--warm); font: italic 18px var(--serif); }
.story-gallery { display: grid; grid-template-columns: 1.25fr .65fr .85fr; gap: 18px; align-items: stretch; margin-bottom: 100px; }
.story-photo { position: relative; min-height: 330px; margin: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.2); background: #111; }
.story-photo-main { min-height: 410px; }
.story-photo img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.05); }
.story-photo-main img { object-position: center 54%; }
.story-photo figcaption { position: absolute; right: 16px; bottom: 13px; left: 16px; color: rgba(255,255,255,.76); font-size: 10px; letter-spacing: .1em; }
.story-gallery-note { display: flex; flex-direction: column; justify-content: center; padding: 18px 8px; }
.story-gallery-note p:not(.eyebrow) { margin: 0; color: #b3afa8; font-size: 16px; line-height: 1.9; }
.story-section { display: grid; grid-template-columns: 1fr 2fr; gap: 11%; padding-top: 70px; padding-bottom: 80px; border-top: 1px solid rgba(255,255,255,.2); }
.story-label span { color: var(--warm); font-size: 12px; letter-spacing: .16em; }
.story-label p { margin: 19px 0 0; color: #a29f9a; font-size: 13px; }
.story-copy { max-width: 720px; }
.story-copy p { margin: 0 0 25px; color: #b7b4ae; font-size: 18px; line-height: 2; }
.story-copy p:last-child { margin-bottom: 0; }
.story-copy b { color: #e2ded6; font-weight: 400; }
.story-tech { padding-bottom: 100px; }
.story-manifesto { padding-top: 70px; padding-bottom: 90px; border-top: 1px solid rgba(255,255,255,.2); }
.story-manifesto p { margin: 0 0 18px; color: var(--warm); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; }
.story-manifesto h2 { margin: 0 0 30px; font: 400 clamp(2.5rem, 6vw, 5.8rem)/1.1 var(--serif); letter-spacing: -.08em; }
.story-manifesto a { display: inline-flex; gap: 10px; align-items: center; color: #dedbd5; border-bottom: 1px solid var(--warm); padding-bottom: 5px; }
.story-manifesto a span { color: var(--warm); font-size: 19px; }

html[lang="en"] .story-hero h1,
html[lang="fr-FR"] .story-hero h1 {
  font-size: clamp(2.4rem, 5.4vw, 5.16rem);
  line-height: 1.08;
  letter-spacing: .08em;
  word-spacing: .22em;
}

@media (max-width: 900px) {
  .site-header { padding: 19px 22px; }
  .site-nav { gap: 16px; }
  .nav-contact { padding-left: 14px; }
  .lang-switcher { margin-left: 12px; }
  .narrow-wrap, .tech-wrap { width: min(100% - 44px, 720px); }
  .home-main { display: block; }
  .home-panel { min-height: 760px; padding: 76px 10vw 30px; justify-content: flex-start; }
  .home-panel .panel-body { margin-top: 96px; }
  .tech-panel { border-left: 0; border-top: 1px solid var(--tech-line); }
  .home-story { grid-column: auto; grid-template-columns: 1fr 1fr; padding-inline: 10vw; }
  .home-proof { grid-column: auto; grid-template-columns: minmax(220px, 1.2fr) repeat(3, 1fr); }
  .home-proof-intro, .home-proof-stat { padding-inline: 20px; }
  .home-footer { padding: 16px 22px; }
  .panel-body h1 { height: clamp(4.6rem, 10vw, 6.8rem); font-size: clamp(4.6rem, 10vw, 6.8rem); }
  .tech-panel .panel-body h1 { height: clamp(4.6rem, 10vw, 6.8rem); font-size: clamp(4.6rem, 10vw, 6.8rem); }
  .panel-lead { margin: 16px 0 24px; }
  .panel-links a { padding: 13px 0; }
  .panel-links { padding-bottom: 16px; }
  .show-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .show-card:nth-child(n) { grid-column: auto; grid-row: auto; width: auto; margin-top: 0; }
  .service-list { grid-template-columns: repeat(2, 1fr); }
  .pricing-tier-grid { grid-template-columns: repeat(2, 1fr); }
  .pricing-sheet, .project-archive { grid-template-columns: 1fr; gap: 28px; }
  .tech-hero { min-height: 650px; }
  .tech-hero .tech-wrap { padding-top: 145px; }
  .tech-section-head { grid-template-columns: 1fr 1fr; }
  .tech-section-head > p:last-child { grid-column: 2; }
  .lab-heading { grid-template-columns: 1fr; gap: 30px; }
  .lab-profile-director, .lab-profile-deputy { grid-column: span 6; }
  .lab-profile-nurse, .lab-profile-ai, .lab-profile-subject { grid-column: span 4; }
  .story-orbit { width: 300px; height: 300px; opacity: .7; right: -30px; }
}

@media (max-width: 620px) {
  :root { --header-height: 72px; }
  .site-header { position: fixed; flex-wrap: wrap; padding-right: 82px; }
  .menu-toggle { position: absolute; top: 25px; right: 18px; display: block; }
  .lang-switcher { position: absolute; top: 22px; right: 68px; margin: 0; }
  .site-nav { display: none; width: 100%; order: 3; padding-top: 18px; flex-direction: column; align-items: flex-start; gap: 16px; }
  .site-nav.is-open { display: flex; }
  .site-nav small { display: inline; margin-left: 8px; }
  .home-header .site-nav { background: rgba(6,6,6,.95); margin: 18px -22px -19px; padding: 20px 22px 25px; }
  .inner-header .site-nav { margin: 18px -22px -19px; padding: 20px 22px 25px; }
  .home-main { grid-template-rows: minmax(700px, auto) minmax(700px, auto) auto auto; }
  .home-panel { min-height: 700px; padding: 64px 8vw 24px; }
  .home-panel .panel-body { margin-top: 76px; }
  .panel-body h1 { height: 4.8rem; font-size: 4.8rem; }
  .tech-panel .panel-body h1 { height: 4.8rem; font-size: 4.8rem; }
  .panel-lead { font-size: 15px; margin: 14px 0 20px; }
  .home-story { display: block; padding: 58px 8vw 62px; }
  .home-proof { grid-template-columns: 1fr 1fr; }
  .home-proof-intro { grid-column: 1 / -1; min-height: 112px; }
  .home-proof-intro, .home-proof-stat { padding: 20px 8vw; }
  .home-proof-stat { min-height: 108px; }
  .home-story-copy h2 { font-size: 4rem; }
  .home-story-copy > p:not(.eyebrow) { font-size: 15px; }
  .home-story-side { min-height: 175px; margin-top: 35px; }
  .home-story-orbit { width: 190px; }
  .home-story-note { right: 12px; }
  .home-footer { align-items: flex-start; flex-direction: column; gap: 5px; }
  .page-hero { padding-top: 105px; padding-bottom: 55px; display: block; }
  .page-hero h1 { font-size: 3.4rem; }
  .hero-copy { font-size: 15px; }
  .shows-page .page-hero { min-height: 0; }
  .shows-page .page-hero::after, .shows-page .shows-directory::before { display: none; }
  .hero-index { display: inline-block; margin-top: 28px; padding-left: 14px; }
  .directory-head { align-items: flex-start; flex-direction: column; }
  .filter-list { justify-content: flex-start; }
  .show-grid { grid-template-columns: 1fr 1fr; gap: 28px 12px; }
  .show-poster { height: auto; min-height: 0; padding: 0; }
  .show-poster::after { inset: 10px; }
  .show-poster b { font-size: 17px; }
  .show-poster i { font-size: 78px; }
  .show-card-info h3 { font-size: 16px; }
  .show-card-info p, .show-card-info span { font-size: 11px; }
  .show-card-info { margin-left: 0; padding-left: 10px; }
  .lab-dossier-intro { display: block; }
  .lab-dossier-intro > p { margin-top: 14px; text-align: left; }
  .lab-dossier-grid { grid-template-columns: 1fr; }
  .lab-profile-director, .lab-profile-deputy, .lab-profile-nurse, .lab-profile-ai, .lab-profile-subject { grid-column: auto; }
  .lab-fact-columns { grid-template-columns: 1fr; gap: 20px; }
  .lab-profile { min-height: 0; }
  .show-feature { grid-template-columns: 1fr 1fr; gap: 12px; }
  .show-feature-copy { grid-column: 1 / -1; grid-row: 1; padding: 10px 0 22px; }
  .show-feature-image { min-height: 225px; }
  .show-feature-image.feature-tall { min-height: 225px; }
  .site-footer { padding: 56px 22px 24px; margin-top: 55px; flex-direction: column; }
  .site-footer > div { gap: 15px; flex-direction: column; }
  .dialog-inner { padding: 34px 24px 26px; }
  .dialog-inner h2 { font-size: 34px; }
  .dialog-facts { gap: 12px; }
  .pricing-sheet { padding-bottom: 55px; }
  .fee-copy h2 { font-size: 31px; }
  .fee-amount strong { font-size: 8.5rem; }
  .fee-amount sup { font-size: 38px; }
  .service-list { grid-template-columns: 1fr; }
  .pricing-tier-grid { grid-template-columns: 1fr; }
  .pricing-tier { min-height: 0; }
  .service-list > div { min-height: 170px; }
  .service-list h3 { margin-top: 25px; }
  .cta-strip { align-items: flex-start; flex-direction: column; gap: 16px; }
  .original-teaser { align-items: flex-start; flex-direction: column; gap: 24px; padding-bottom: 56px; }
  .original-show { grid-template-columns: 1fr; gap: 42px; padding-bottom: 66px; }
  .original-poster-grid { grid-template-columns: .72fr 1.28fr; gap: 10px; }
  .live-poster { margin-bottom: 28px; }
  .lab-heading { grid-template-columns: 1fr; gap: 30px; }
  .lab-heading .section-heading h2 { font-size: 3.5rem; }
  .lab-section .section-heading { display: block; }
  .lab-section .section-heading > p:last-child { margin-top: 18px; }
  .project-archive { padding-bottom: 56px; }
  .timeline-item { grid-template-columns: 54px 14px 1fr; gap: 12px; }
  .timeline-content h3 { font-size: 22px; }
  .shelf-grid { grid-template-columns: 1fr; }
  .tech-hero { min-height: 590px; }
  .tech-hero h1 { font-size: 4rem; }
  .tech-hero .tech-wrap > p:not(.eyebrow) { font-size: 15px; }
  .tech-roadmap-system { right: -48px; bottom: 2px; width: 330px; height: 260px; transform: scale(.84); transform-origin: right bottom; }
  .tech-roadmap-orbit.orbit-inner { width: 236.25px; height: 127.5px; }
  .tech-roadmap-orbit.orbit-middle { width: 427.5px; height: 247.5px; }
  .tech-roadmap-orbit.orbit-outer { width: 675px; height: 412.5px; }
  .tech-orbit-plane-a { width: 468.75px; height: 127.5px; }
  .tech-orbit-plane-b { width: 555px; height: 157.5px; }
  .tech-orbit-plane-a i { offset-path: ellipse(234.375px 63.75px at 234.375px 63.75px); }
  .tech-orbit-plane-b i { offset-path: ellipse(277.5px 78.75px at 277.5px 78.75px); }
  .tech-roadmap-sun { width: 44px; height: 44px; }
  .tech-roadmap-sun img { width: 18px; height: 14px; }
  .tech-roadmap-labels { top: 44px; right: -42px; width: 136px; gap: 5px; padding: 9px 4px 9px 13px; }
  .tech-roadmap-labels > span { max-width: 136px; padding: 2px 0; font-size: 8px; }
  .tech-roadmap-labels > span::before { left: -18px; width: 4px; height: 4px; }
  .tech-roadmap-labels em { font-size: 7px; }
  .tech-roadmap-movers .mover-1, .tech-roadmap-movers .mover-3 { offset-path: ellipse(118.125px 63.75px at 165px 130px); }
  .tech-roadmap-movers .mover-2, .tech-roadmap-movers .mover-4 { offset-path: ellipse(213.75px 123.75px at 165px 130px); }
  .tech-roadmap-movers .mover-5, .tech-roadmap-movers .mover-6 { offset-path: ellipse(337.5px 206.25px at 165px 130px); }
  .tech-section { padding-top: 75px; padding-bottom: 75px; }
  .tech-section-head { display: block; }
  .tech-section-head h2 { margin-top: 30px; }
  .tech-section-head > p:last-child { margin-top: 18px; }
  .tech-caption-grid { grid-template-columns: 1fr; }
  .caption-demo-top { align-items: flex-start; flex-direction: column; gap: 8px; }
  .caption-screen { padding-inline: 12px; }
  .caption-spec { min-height: 210px; }
  .caption-spec h3 { margin-top: 35px; }
  .tech-download { grid-template-columns: 1fr; gap: 35px; padding-top: 65px; padding-bottom: 65px; }
  .download-actions { min-width: 0; }
  .software-grid { grid-template-columns: 1fr; }
  .software-wide { grid-column: auto; }
  .tech-principle { grid-template-columns: 1fr; gap: 20px; padding-top: 70px; padding-bottom: 80px; }
  .principle-mark img { width: 130px; height: 110px; }
  .tech-principle h2 { font-size: 2.8rem; }
  .story-hero { min-height: 520px; padding-top: 120px; }
  .story-hero h1 { font-size: 4.2rem; }
  .story-orbit { width: 240px; height: 240px; bottom: 10px; right: -35px; }
  .story-orbit img { width: 48%; height: 48%; }
  .story-gallery { grid-template-columns: 1fr; margin-bottom: 60px; }
  .story-gallery-note { padding: 0 0 18px; }
  .story-photo-main { min-height: 280px; }
  .story-photo { min-height: 220px; }
  .story-section { grid-template-columns: 1fr; gap: 22px; padding-top: 45px; padding-bottom: 55px; }
  .story-copy p { font-size: 16px; line-height: 1.9; }
  .story-manifesto { padding-top: 52px; padding-bottom: 66px; }
}

/* Keep the landing page readable on touch and narrow screens. */
@media (max-width: 900px) {
  .home-split { min-height: 0; overflow: visible; }
  .home-split .home-panel { position: relative; inset: auto; min-height: 760px; padding: 76px 10vw 30px; clip-path: none !important; transition: none; }
  .home-split .tech-panel { border-top: 1px solid var(--tech-line); }
  .home-split .panel-topline { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: auto; }
  .home-split .panel-body { position: relative; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; width: auto; max-width: 480px; margin-top: 96px; transform: none !important; opacity: 1 !important; transition: none; }
  .culture-corner-mark { right: 24px; bottom: 28px; left: auto; }
  .tech-corner-mark { top: 28px; right: 24px; }
  .home-diagonal-line { display: none; }
}

@media (max-width: 620px) {
  .home-split .home-panel { min-height: 700px; padding: 64px 8vw 24px; }
  .home-split .panel-body { margin-top: 76px; }
  .home-split .panel-body h1, .home-split .tech-panel .panel-body h1 { height: 4.8rem; font-size: 4.8rem; }
}

/* Phone-first finishing pass: compact rhythm, larger touch targets and no side overflow. */
@media (max-width: 620px) {
  html, body { overflow-x: hidden; }
  body { font-size: 15px; }
  .site-header { min-height: 72px; padding: 14px 16px; }
  .brand { min-width: 0; gap: 8px; }
  .brand-name b { font-size: 12px; }
  .brand-name em { font-size: 8px; }
  .menu-toggle { top: 19px; right: 14px; min-width: 42px; min-height: 36px; padding: 7px 4px; }
  .lang-switcher { top: 18px; right: 62px; padding: 2px; }
  .lang-switcher a { min-width: 24px; min-height: 30px; padding: 8px 0; }
  .home-header .site-nav, .inner-header .site-nav { margin-right: -16px; margin-left: -16px; padding: 18px 16px 22px; }
  .site-nav a { display: block; width: 100%; padding: 5px 0; }
  .site-nav small { font-size: 8px; }
  .narrow-wrap, .tech-wrap { width: calc(100% - 32px); }
  .home-split .home-panel { min-height: 620px; padding: 50px 22px 26px; }
  .home-split .panel-body { margin-top: 62px; }
  .home-split .panel-body h1, .home-split .tech-panel .panel-body h1 { height: auto; font-size: clamp(4.2rem, 18vw, 5rem); }
  .home-split .panel-lead { max-width: 310px; margin: 13px 0 20px; font-size: 15px; line-height: 1.78; }
  .home-split .panel-links a, .home-split .tech-links a { min-height: 52px; padding: 14px 0; }
  a, button { -webkit-tap-highlight-color: rgba(178,143,103,.2); }
  .home-proof-intro, .home-proof-stat { padding-right: 22px; padding-left: 22px; }
  .home-proof-intro > p:last-child { font-size: 12px; }
  .home-proof-stat span { font-size: 11px; }
  .home-story { padding-right: 22px; padding-left: 22px; }
  .home-story-copy h2 { font-size: clamp(3.35rem, 15vw, 4rem); }
  .home-story-copy > p:not(.eyebrow) { font-size: 14px; line-height: 1.85; }
  .page-hero { padding-top: 82px; padding-bottom: 42px; }
  .page-hero h1 { font-size: clamp(2.9rem, 12vw, 3.4rem); line-height: 1.02; }
  .hero-copy { margin-top: 20px; font-size: 14px; line-height: 1.82; }
  .hero-index { margin-top: 22px; }
  .shows-directory, .pricing-sheet, .pricing-details, .project-archive, .works-shelf { padding-top: 32px; }
  .directory-head { margin-bottom: 26px; padding-bottom: 18px; }
  .filter-button { min-height: 40px; padding: 8px 13px; }
  .show-grid { gap: 24px 10px; }
  .show-card { padding: 8px 8px 12px; }
  .show-card-info h3 { font-size: 15px; line-height: 1.35; }
  .show-card-info p, .show-card-info span { font-size: 11px; line-height: 1.6; }
  .show-card-button { min-height: 44px; }
  .fee-table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
  .fee-table { min-width: 720px; font-size: 12px; }
  .fee-table th, .fee-table td { padding: 15px 13px; line-height: 1.65; }
  .fee-table tbody th { font-size: 16px; }
  .fee-range { gap: 10px; }
  .fee-amount strong { font-size: clamp(5.2rem, 21vw, 6.6rem); }
  .fee-amount sup { font-size: 32px; }
  .fee-copy .translator-credential { margin-top: 18px; padding-left: 11px; font-size: 12px; }
  .dialog { padding: 10px; }
  .dialog-inner { max-height: calc(100svh - 20px); overflow-y: auto; padding: 28px 20px 22px; }
  .dialog-inner h2 { font-size: 31px; line-height: 1.12; }
  .dialog-facts { grid-template-columns: 1fr 1fr; }
  .original-poster-grid { gap: 8px; }
  .original-poster figcaption { right: 8px; bottom: 8px; left: 8px; font-size: 8px; }
  .site-footer { padding: 48px 16px 22px; }
}

@media (max-width: 400px) {
  .site-header { padding-right: 12px; }
  .lang-switcher { right: 57px; }
  .menu-toggle { right: 8px; }
  .home-split .home-panel { padding-right: 18px; padding-left: 18px; }
  .home-proof { grid-template-columns: 1fr; }
  .home-proof-intro { grid-column: auto; }
  .home-proof-stat { min-height: 86px; }
  .show-grid, .original-poster-grid { grid-template-columns: 1fr; }
  .show-card:nth-child(n) { grid-column: auto; }
  .show-poster { max-width: 290px; margin-inline: auto; }
  .show-card-info { max-width: 290px; margin-inline: auto; }
  .show-feature { grid-template-columns: 1fr; }
  .show-feature-copy { grid-column: auto; }
}

/* Cultural typography: quiet, matte and flat. Technology keeps its own flat system. */
.culture-page :is(h1, h2, h3, h4, p, a, span, strong, b, em, small, button, th, td, li, label) {
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: #bdb7ad !important;
  -webkit-text-stroke: 0;
  text-shadow: none;
}
.culture-page :is(h1, h2, h3, h4, a, strong, b, em, button) {
  -webkit-text-fill-color: #d5cec2 !important;
}
.culture-page :is(.eyebrow, .section-kicker, .item-status, .item-note, .hero-index, small) {
  -webkit-text-fill-color: #928b81 !important;
}

@media (min-width: 901px) and (max-height: 720px) {
  .home-main { grid-template-rows: minmax(0, calc(100vh - 78px)) auto auto; }
  .home-panel { min-height: 0; padding-top: 56px; padding-bottom: 18px; }
  .home-panel .panel-body { margin-top: 44px; }
  .home-panel .panel-body h1 { height: clamp(4.5rem, 9vw, 7.2rem); font-size: clamp(4.5rem, 9vw, 7.2rem); }
  .panel-lead { margin: 14px 0 20px; font-size: 15px; line-height: 1.65; }
  .panel-links a, .tech-links a { padding: 10px 0; }
  .panel-links, .tech-links { padding-bottom: 14px; }
}

/* Site-wide pink cat paw cursor. */
:root {
  --paw-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cdefs%3E%3ClinearGradient id='pink' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop stop-color='%23ffd6e2'/%3E%3Cstop offset='.52' stop-color='%23f2a6bd'/%3E%3Cstop offset='1' stop-color='%23d47799'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='url(%23pink)' stroke='%23fff7fa' stroke-width='1.1'%3E%3Cellipse cx='10' cy='13' rx='3.1' ry='4.3' transform='rotate(-25 10 13)'/%3E%3Cellipse cx='15.5' cy='9.2' rx='3' ry='4.2' transform='rotate(-8 15.5 9.2)'/%3E%3Cellipse cx='20.5' cy='9.2' rx='3' ry='4.2' transform='rotate(8 20.5 9.2)'/%3E%3Cellipse cx='26' cy='13' rx='3.1' ry='4.3' transform='rotate(25 26 13)'/%3E%3Cpath d='M10.2 22.4c0-4 2.8-6.8 7.8-6.8s7.8 2.8 7.8 6.8c0 4.6-3.2 7.9-7.8 7.9s-7.8-3.3-7.8-7.9Z'/%3E%3C/g%3E%3Cpath d='M14.3 21.2c1.7-1.2 3.5-1.5 5.2-.9' fill='none' stroke='%23ffeaf1' stroke-width='1' stroke-linecap='round' stroke-opacity='.8'/%3E%3C/svg%3E") 18 18;
  --triangle-cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M4 3v19l6-6 4 8 3.5-1.8-4-8H22L4 3Z' fill='%23f5f5f2' stroke='%23090909' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E") 4 3;
}
body, body * {
  cursor: var(--triangle-cursor), default !important;
}
body.story-page, body.story-page * {
  cursor: var(--paw-cursor), auto !important;
}
.cursor-click-feedback { position: fixed; z-index: 2147483647; width: 18px; height: 18px; margin: -9px 0 0 -9px; border: 1px solid rgba(231,214,192,.85); border-radius: 50%; pointer-events: none; animation: cursor-click-feedback .46s ease-out forwards; }
.culture-page .cursor-click-feedback { animation: cursor-click-feedback .46s ease-out forwards !important; }
.cursor-click-feedback::after { content: ""; position: absolute; inset: 5px; border: 1px solid rgba(231,214,192,.6); border-radius: 50%; }
@keyframes cursor-click-feedback { 0% { opacity: .9; transform: scale(.65); } 100% { opacity: 0; transform: scale(2.1); } }
@media (pointer: coarse) {
  body, body *, body.story-page, body.story-page * { cursor: auto !important; }
}

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; } .tech-scan-line, .tech-panel-scan, .tech-panel-field::before, .tech-panel-field::after, .tech-panel-orbit, .tech-panel-pulse, .tech-hero::before, .tech-hero::after, .tech-hero-grid, .tech-hero-field::before, .tech-hero-field::after, .tech-hero-orbit, .tech-hero-node, .tech-hero-readout, .tech-roadmap-movers i, .tech-orbit-plane i, .caption-demo::before, .caption-demo::after, .tech-download::before, .tech-download::after, .software-card::before, .software-card::after, .tech-principle::before { animation: none !important; } }

/* Diagonal edition keeps the same first-screen information hierarchy as the rectangle edition. */
@media (min-width: 901px) {
  .home-page .home-main { min-height: calc(100svh - var(--header-height)); display: grid; grid-template-rows: minmax(0, 1fr) auto; }
  .home-page .home-split { min-height: 0; height: 100%; }
  .home-page .home-split .home-panel { min-height: 0; height: 100%; }
  .home-page .home-split .culture-panel .panel-body { top: clamp(64px, 8vh, 92px); }
  .home-page .home-split .tech-panel .panel-body { top: clamp(220px, 32vh, 260px); }
  .home-page .home-split .tech-panel .panel-body h1 { font-size: clamp(4rem, 5.2vw, 5.4rem); }
  .home-page .home-split .tech-panel .panel-lead { margin: 4px 0 6px; font-size: 13px; line-height: 1.35; }
  .home-page .home-split .tech-links a { padding: 2px 0; }
  .home-page .home-proof { min-height: 96px; }
  .home-page .home-proof-intro, .home-page .home-proof-stat { padding-top: 16px; padding-bottom: 16px; }
}

main a, .site-footer a { font-size: 18.67px; }

/* Always-visible culture section navigation. It sits beneath the global header
   and remains compact on desktop while allowing horizontal scrolling on phones. */
.culture-subnav {
  position: fixed;
  right: auto;
  bottom: 14px;
  left: 50%;
  z-index: 19;
  display: flex;
  align-items: center;
  gap: 4px;
  max-width: calc(100% - 36px);
  padding: 4px;
  overflow-x: auto;
  border: 1px solid rgba(218, 206, 190, .26);
  border-radius: 999px;
  background: rgba(12, 11, 10, .86);
  box-shadow: 0 12px 28px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
  scrollbar-width: none;
}
.culture-subnav::-webkit-scrollbar { display: none; }
.culture-subnav a {
  flex: 0 0 auto;
  padding: 7px 14px;
  border-radius: 999px;
  color: rgba(231, 224, 214, .74);
  font-size: 14px !important;
  line-height: 1.3;
  white-space: nowrap;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.culture-subnav a:hover,
.culture-subnav a.is-current {
  color: #11100f;
  background: linear-gradient(135deg, #e8e0d5, #a99c8b);
}
.culture-subnav a:active { transform: scale(.96); }
.tech-page .culture-subnav { display: none; }

@media (max-width: 620px) {
  .culture-subnav {
    bottom: max(10px, env(safe-area-inset-bottom));
    max-width: calc(100% - 24px);
    justify-content: flex-start;
  }
  .culture-subnav a { padding: 7px 12px; font-size: 14px !important; }
  .culture-page { padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
  .matching-form-island { bottom: calc(70px + env(safe-area-inset-bottom)); }
}

/* Reference-inspired diagonal landing interaction. The default state keeps both
   departments readable; pointer focus gently opens one side without changing
   the information architecture. */
@media (min-width: 901px) {
  .home-page .home-split .home-panel {
    transition: clip-path .72s cubic-bezier(.22,.61,.36,1), opacity .72s ease, filter .72s ease;
    will-change: clip-path;
  }
  .home-page .home-split .panel-body,
  .home-page .home-split .panel-topline,
  .home-page .home-split .panel-corner-mark,
  .home-page .home-split .tech-signal {
    transition: transform .72s cubic-bezier(.22,.61,.36,1), opacity .55s ease;
    will-change: transform, opacity;
  }
  .home-page .home-split .home-panel:focus-visible {
    outline: 1px solid rgba(239,236,230,.76);
    outline-offset: -8px;
  }
  .home-page .home-split .culture-panel .panel-body {
    top: clamp(64px, 8vh, 92px);
  }
  .home-page .home-split .tech-panel .panel-body {
    top: clamp(220px, 32vh, 260px);
  }
  .home-page .home-split.is-culture-focused .culture-panel {
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
  }
  .home-page .home-split.is-culture-focused .tech-panel {
    clip-path: polygon(100% 0, 100% 0, 100% 100%, 88% 100%);
    filter: saturate(.7);
  }
  .home-page .home-split.is-tech-focused .culture-panel {
    clip-path: polygon(0 0, 12% 0, 0 100%, 0 100%);
    filter: saturate(.7);
  }
  .home-page .home-split.is-tech-focused .tech-panel {
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
  }
  .home-page .home-split.is-culture-focused .culture-panel .panel-body {
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%) scale(1.08);
  }
  .home-page .home-split.is-tech-focused .tech-panel .panel-body {
    top: 50%;
    right: auto;
    left: 70%;
    transform: translate(-50%, -50%) scale(1.08);
  }
  .home-page .home-split.is-culture-focused .tech-panel .panel-body {
    top: auto;
    right: 1.4vw;
    bottom: 3%;
    transform: scale(.58);
    transform-origin: right bottom;
    opacity: .5;
  }
  .home-page .home-split.is-tech-focused .culture-panel .panel-body {
    top: clamp(64px, 8vh, 92px);
    left: 1.4vw;
    transform: scale(.58);
    transform-origin: left top;
    opacity: .5;
  }
  .home-page .home-split.is-culture-focused .panel-topline,
  .home-page .home-split.is-tech-focused .panel-topline {
    opacity: .72;
  }
  .home-page .home-split.is-culture-focused .tech-panel .panel-topline,
  .home-page .home-split.is-tech-focused .culture-panel .panel-topline,
  .home-page .home-split.is-culture-focused .tech-signal,
  .home-page .home-split.is-tech-focused .culture-corner-mark {
    opacity: .36;
  }
}

.home-watermark {
  position: absolute;
  z-index: 6;
  top: 50%;
  left: 50%;
  width: min(26vw, 320px);
  pointer-events: none;
  opacity: .065;
  mix-blend-mode: screen;
  transform: translate(-50%, -50%) rotate(-4deg);
  transition: opacity .55s ease, transform .78s cubic-bezier(.22,.61,.36,1);
}
.home-watermark img { display: block; width: 100%; height: auto; }
.home-page .home-split:is(.is-culture-focused, .is-tech-focused) .home-watermark {
  opacity: .038;
  transform: translate(-50%, -50%) rotate(-4deg) scale(1.12);
}
.home-page .home-diagonal-line { z-index: 8; }

@media (max-width: 900px) {
  .home-watermark { width: min(42vw, 180px); opacity: .04; }
}

/* Homepage animation transfer from the reference edition. The project's own
   logo marks, palette, proof strip and typography remain in place; only the
   stage choreography is borrowed. */
@media (min-width: 901px) {
  .home-page .home-split[data-home-split] {
    --scene-width: min(29vw, 560px);
    --scene-left: 29.5%;
    --scene-right: 70.5%;
    --scene-upper: 33.333%;
    --scene-lower: 66.667%;
    --scene-title-size: clamp(4.5rem, 5.8vw, 7rem);
    --corner-size: clamp(84px, 12vw, 220px);
    perspective: 1200px;
  }

  .home-page .home-split[data-home-split] .home-panel {
    transition: clip-path .78s cubic-bezier(.2,.78,.2,1), filter .78s ease;
    will-change: clip-path, filter;
  }

  .home-page .home-split[data-home-split] .home-panel :is(.panel-body, .panel-links, .tech-links) {
    position: absolute !important;
    right: auto !important;
    bottom: auto !important;
    width: var(--scene-width) !important;
    min-width: 0;
    max-width: none;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none;
    box-shadow: none;
    transform: translate(-50%, -50%) !important;
    transition: transform .78s cubic-bezier(.2,.78,.2,1), opacity .45s ease, visibility 0s linear .45s !important;
  }

  .home-page .home-split[data-home-split] .culture-panel .panel-body,
  .home-page .home-split[data-home-split] .tech-panel .tech-links {
    top: var(--scene-upper) !important;
    left: var(--scene-left) !important;
  }

  .home-page .home-split[data-home-split] .tech-panel .panel-body,
  .home-page .home-split[data-home-split] .culture-panel .panel-links {
    top: var(--scene-lower) !important;
    left: var(--scene-right) !important;
  }

  .home-page .home-split[data-home-split] .home-panel .panel-body {
    display: block;
    overflow: visible;
    z-index: 7;
  }
  .home-page .home-split[data-home-split] .culture-panel .panel-body { text-align: left; }
  .home-page .home-split[data-home-split] .tech-panel .panel-body { text-align: right; }
  .home-page .home-split[data-home-split] .home-panel .panel-body h1 {
    width: auto;
    height: auto;
    margin: 0;
    font-size: var(--scene-title-size);
    line-height: .96;
    letter-spacing: -.08em;
    white-space: nowrap;
  }
  .home-page .home-split[data-home-split] .home-panel .panel-lead {
    max-width: 100%;
    margin: 13px 0 0;
    font-size: clamp(13px, 1vw, 16px);
    line-height: 1.62;
  }
  .home-page .home-split[data-home-split] .home-panel .eyebrow {
    margin-bottom: 12px;
    font-size: 9px;
  }

  /* The reference page keeps entrances behind the scene until a side is
     intentionally entered. This keeps the first frame quiet and cinematic. */
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links) {
    display: grid !important;
    z-index: 8;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translate(-50%, calc(-50% + 26px)) !important;
  }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links) a {
    min-height: 58px;
    padding: 16px 0;
    font-size: 13px;
    color: var(--scene-copy, #bdbab3);
    border-color: var(--scene-rule, rgba(180,174,162,.23));
  }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links) a:hover {
    color: var(--scene-heading, #d8d4cc);
  }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links) i {
    line-height: 1;
    color: var(--scene-accent, #aaa091);
  }
  .home-page .home-split[data-home-split] .tech-links a {
    flex-direction: row-reverse;
    text-align: right;
  }
  .home-page .home-split[data-home-split] .tech-links i { transform: rotate(-90deg); }
  .home-page .home-split[data-home-split].is-culture-focused .culture-panel .panel-links,
  .home-page .home-split[data-home-split].is-tech-focused .tech-panel .tech-links {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) !important;
    transition-delay: .18s !important;
  }

  .home-page .home-split[data-home-split] .home-watermark {
    width: clamp(160px, 13vw, 240px);
    opacity: .065;
    filter: grayscale(1) brightness(.7) contrast(1.08);
    transform: translate(-50%, -50%);
    transition: opacity .55s ease, transform .78s cubic-bezier(.2,.78,.2,1);
  }
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .home-watermark {
    opacity: .04;
    transform: translate(-50%, -50%) scale(1.12);
  }

  /* Preserve the project's theatre/chip marks, but let them behave like the
     reference corner triangles when the opposite side contracts. */
  .home-page .home-split[data-home-split] .panel-corner-mark {
    z-index: 9;
    width: var(--corner-size);
    height: var(--corner-height, var(--corner-size));
    display: grid;
    opacity: .28;
    overflow: hidden;
    transition: opacity .45s ease, filter .45s ease, transform .78s cubic-bezier(.2,.78,.2,1);
  }
  .home-page .home-split[data-home-split] .culture-corner-mark {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    place-items: start;
    padding: 16px 0 0 16px;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    background: linear-gradient(135deg, rgba(180,174,162,.14), transparent 68%);
  }
  .home-page .home-split[data-home-split] .tech-corner-mark {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    place-items: end;
    padding: 0 16px 16px 0;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    background: linear-gradient(315deg, rgba(175,187,194,.14), transparent 68%);
  }
  .home-page .home-split[data-home-split] .panel-corner-mark svg {
    width: clamp(34px, 4vw, 58px);
    height: clamp(34px, 4vw, 58px);
  }
  .home-page .home-split[data-home-split] .panel-corner-mark span { font-size: 7px; }
  .home-page .home-split[data-home-split].is-culture-focused .tech-corner-mark,
  .home-page .home-split[data-home-split].is-tech-focused .culture-corner-mark {
    opacity: .9;
    filter: brightness(1.12);
  }
  .home-page .home-split[data-home-split].is-culture-focused .culture-corner-mark,
  .home-page .home-split[data-home-split].is-tech-focused .tech-corner-mark {
    opacity: .18;
  }

  .home-page .home-split[data-home-split].is-culture-focused .culture-panel .panel-body {
    top: 50% !important;
    left: 40% !important;
    width: min(47vw, 660px) !important;
    transform: translate(-50%, -50%) scale(1.08) !important;
  }
  .home-page .home-split[data-home-split].is-tech-focused .tech-panel .panel-body {
    top: 50% !important;
    right: auto !important;
    left: 60% !important;
    width: min(47vw, 660px) !important;
    transform: translate(-50%, -50%) scale(1.08) !important;
  }
  .home-page .home-split[data-home-split].is-culture-focused .tech-panel .panel-body {
    top: auto !important;
    right: 1.4vw !important;
    bottom: 1.5% !important;
    left: auto !important;
    transform: scale(.46) !important;
    transform-origin: right bottom;
    opacity: .5;
  }
  .home-page .home-split[data-home-split].is-tech-focused .culture-panel .panel-body {
    top: clamp(88px, 13vh, 116px) !important;
    right: auto !important;
    bottom: auto !important;
    left: 1.4vw !important;
    transform: scale(.46) !important;
    transform-origin: left top;
    opacity: .5;
  }

  .home-page .home-split[data-home-split].is-culture-focused .tech-panel .panel-links,
  .home-page .home-split[data-home-split].is-tech-focused .culture-panel .panel-links {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  .home-page .home-split[data-home-split].is-culture-focused .tech-panel .panel-body > :not(h1),
  .home-page .home-split[data-home-split].is-tech-focused .culture-panel .panel-body > :not(h1) {
    opacity: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .home-split[data-home-split] .home-panel,
  .home-page .home-split[data-home-split] .panel-corner-mark,
  .home-page .home-split[data-home-split] .home-watermark { transition-duration: .01ms; }
}

/* Fixed mirror scenes on desktop and mobile: only the diagonal mask travels. */
@media all {
  .home-page .home-split[data-home-split] {
    --split-x1: 100%;
    --split-y1: 0%;
    --split-x2: 0%;
    --split-y2: 100%;
    --scene-left: 29%;
    --scene-right: 71%;
    --scene-upper: 32%;
    --scene-lower: 68%;
    --scene-width: min(31vw, 460px);
  }
  .home-page .home-split[data-home-split] .home-panel {
    position: absolute;
    inset: 0;
    min-height: 0;
    height: 100%;
    padding: 0;
    border: 0;
    transition: none !important;
    filter: none !important;
    will-change: clip-path;
  }
  .home-page .home-split[data-home-split] .culture-panel {
    clip-path: polygon(0 0, var(--split-x1) 0, var(--split-x1) var(--split-y1), var(--split-x2) var(--split-y2), 0 var(--split-y2)) !important;
  }
  .home-page .home-split[data-home-split] .tech-panel {
    clip-path: polygon(var(--split-x1) var(--split-y1), 100% var(--split-y1), 100% 100%, var(--split-x2) 100%, var(--split-x2) var(--split-y2)) !important;
  }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-body, .panel-links, .tech-links),
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .home-panel :is(.panel-body, .panel-links, .tech-links) {
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: var(--scene-width) !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translate(-50%, -50%) !important;
    transition: none !important;
  }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links),
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .home-panel :is(.panel-links, .tech-links) {
    display: grid !important;
  }
  .home-page .home-split[data-home-split] .culture-panel .panel-body,
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .culture-panel .panel-body {
    top: var(--scene-upper) !important;
    left: var(--scene-left) !important;
  }
  .home-page .home-split[data-home-split] .culture-panel .panel-links,
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .culture-panel .panel-links {
    top: var(--scene-lower) !important;
    left: var(--scene-right) !important;
  }
  .home-page .home-split[data-home-split] .tech-panel .panel-body,
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .tech-panel .panel-body {
    top: var(--scene-lower) !important;
    left: var(--scene-right) !important;
    text-align: right;
  }
  .home-page .home-split[data-home-split] .tech-panel .tech-links,
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .tech-panel .tech-links {
    top: var(--scene-upper) !important;
    left: var(--scene-left) !important;
    text-align: left;
  }
  .home-page .home-split[data-home-split] .tech-links a {
    flex-direction: row;
    text-align: left;
  }
  .home-page .home-split[data-home-split] .tech-links i { transform: none; }
  .home-page .home-split[data-home-split] .home-panel .panel-body > :not(h1),
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .home-panel .panel-body > :not(h1) {
    display: block;
    opacity: 1 !important;
  }
  .home-page .home-split[data-home-split] .home-panel .panel-body h1 { font-size: clamp(4.5rem, 6vw, 7rem); }
  .home-page[data-lang="fr"] .home-split[data-home-split] .home-panel .panel-body h1,
  .home-page[data-lang="en"] .home-split[data-home-split] .home-panel .panel-body h1 {
    font-size: clamp(2.5rem, 4vw, 4.8rem);
  }
  .home-page .home-split[data-home-split] .panel-corner-mark {
    width: var(--corner-size);
    height: var(--corner-height, var(--corner-size));
    padding: 0;
    opacity: .9 !important;
    background: none;
    clip-path: none;
    filter: none !important;
    transition: none !important;
  }
  .home-page .home-split[data-home-split] .culture-corner-mark { top: 0; right: auto; bottom: auto; left: 0; color: #eee9df; }
  .home-page .home-split[data-home-split] .tech-corner-mark { top: auto; right: 0; bottom: 0; left: auto; color: #e5edf0; }
  .home-page .home-split[data-home-split] .panel-corner-mark svg {
    position: absolute;
    width: clamp(40px, 4.5vw, 56px);
    height: clamp(40px, 4.5vw, 56px);
    filter: drop-shadow(0 0 7px rgba(255,255,255,.36));
  }
  .home-page .home-split[data-home-split] .culture-corner-mark svg { top: 18px; left: 18px; }
  .home-page .home-split[data-home-split] .tech-corner-mark svg { right: 18px; bottom: 18px; }
  .home-page .home-split[data-home-split] .panel-corner-title {
    position: absolute;
    display: block;
    width: max-content;
    color: #f1eee9;
    font: 400 27px/1.1 var(--serif);
    font-size: clamp(21px, 2.1vw, 27px) !important;
    letter-spacing: .01em;
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
  }
  .home-page .home-split[data-home-split] .culture-corner-mark .panel-corner-title { top: clamp(60px, 6vw, 76px); left: 18px; }
  .home-page .home-split[data-home-split] .tech-corner-mark .panel-corner-title { right: 18px; bottom: clamp(60px, 6vw, 76px); font-family: var(--sans); font-weight: 300; }
  .home-page .home-split[data-home-split].is-tech-focused .culture-corner-mark .panel-corner-title,
  .home-page .home-split[data-home-split].is-culture-focused .tech-corner-mark .panel-corner-title { opacity: 1; }
  .home-page[data-lang="fr"] .home-split[data-home-split] .panel-corner-title,
  .home-page[data-lang="en"] .home-split[data-home-split] .panel-corner-title { font-size: 15px !important; letter-spacing: 0; }
}

.home-page .tech-panel .panel-grid { opacity: .52; }
.culture-footer { justify-content: flex-end; text-align: right; }
.culture-footer > a { margin-left: auto; }
.cta-strip a[href^="mailto:"],
.culture-page .line-link[href^="mailto:"],
.story-page .story-manifesto a[href^="mailto:"] { margin-left: auto; }
.culture-page .line-link[href^="mailto:"],
.story-page .story-manifesto a[href^="mailto:"] { display: flex; width: max-content; }
@media (max-width: 620px) {
  .culture-footer { align-items: flex-end; }
  .cta-strip a[href^="mailto:"] { align-self: flex-end; }
}
@media (max-width: 900px) {
  .home-page .panel-corner-title { display: none; }
  .home-page .panel-corner-mark { opacity: .82 !important; }
}

/* Keep the English and French culture entries on one typographic line. */
.home-page[data-lang="en"] .culture-panel .panel-links a span,
.home-page[data-lang="fr"] .culture-panel .panel-links a span {
  white-space: nowrap;
}

@media (min-width: 901px) {
  .home-page[data-lang="en"] .home-split[data-home-split] .culture-panel .panel-links,
  .home-page[data-lang="fr"] .home-split[data-home-split] .culture-panel .panel-links {
    width: min(36vw, 470px) !important;
    column-gap: 18px;
  }
}

@media (max-width: 360px) {
  .home-page[data-lang="en"] .culture-panel .panel-links,
  .home-page[data-lang="fr"] .culture-panel .panel-links {
    grid-template-columns: 1fr;
  }
}

/* Project archive: compact editorial rhythm so more of the record is visible at once. */
@media (max-width: 900px) {
  .projects-hero { padding-top: 92px; padding-bottom: 38px; }
  .projects-hero h1 { font-size: clamp(2.7rem, 8vw, 3.6rem); }
  .projects-hero .hero-copy { margin-top: 16px; font-size: 13px; line-height: 1.7; }
  .project-archive { gap: 20px; padding-top: 26px; padding-bottom: 52px; }
  .archive-intro h2 { font-size: 22px; }
  .archive-intro p:not(.section-kicker) { margin-top: 12px; }
  .timeline-item { grid-template-columns: 52px 14px 1fr; gap: 12px; padding: 16px 0; }
  .timeline-date b { font-size: 19px; }
  .timeline-content h3 { font-size: 18px; }
  .timeline-marker::after { height: 60px; }
}

@media (max-width: 620px) {
  .projects-hero { padding-top: 76px; padding-bottom: 30px; }
  .projects-hero h1 { font-size: clamp(2.35rem, 10vw, 2.9rem); }
  .projects-hero .hero-copy { margin-top: 13px; padding-left: 14px; font-size: 12px; line-height: 1.65; }
  .projects-hero .hero-index { margin-top: 12px; font-size: 9px; }
  .projects-hero .hero-index span { font-size: 17px; }
  .project-archive { gap: 17px; padding-top: 22px; }
  .archive-intro h2 { font-size: 20px; }
  .archive-intro p:not(.section-kicker) { max-width: 100%; font-size: 12px; line-height: 1.65; }
  .timeline-item { grid-template-columns: 44px 12px 1fr; gap: 9px; padding: 13px 0; }
  .timeline-date { font-size: 9px; }
  .timeline-date b { font-size: 17px; }
  .timeline-marker { width: 7px; height: 7px; margin-top: 4px; }
  .timeline-marker::after { top: 7px; left: 3px; height: 54px; }
  .timeline-content h3 { margin-bottom: 5px; font-size: 17px; }
  .timeline-content > p:not(.item-status) { font-size: 12px; line-height: 1.5; }
  .item-note { margin-top: 8px; }
}

/* CloudBase mobile hardening: keep the desktop art direction while making
   every primary action and content block comfortable on a phone. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body { min-width: 0; }
img { max-width: 100%; }

@media (max-width: 620px) {
  .culture-page,
  .tech-page,
  .story-page { overflow-x: clip; }

  .site-header {
    padding-top: max(14px, env(safe-area-inset-top));
    padding-left: max(16px, env(safe-area-inset-left));
    padding-right: max(82px, env(safe-area-inset-right));
  }
  .site-nav a,
  .culture-subnav a,
  .download-actions a,
  .show-card-button,
  .form-submit-area button { min-height: 44px; }

  /* A single editorial column is easier to scan and keeps every uncropped
     production image large enough to judge on a phone. */
  .show-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .show-card:nth-child(n) { width: min(100%, 430px); margin: 0 auto; }
  .show-poster,
  .show-card-info { width: 100%; max-width: none; }
  .show-feature { grid-template-columns: 1fr; }
  .show-feature-copy { grid-column: auto; }
  .show-feature-image,
  .show-feature-image.feature-tall { min-height: 0; }
  .show-feature-image img,
  .show-feature-image.feature-tall img { height: auto; object-fit: contain; }

  .original-poster-grid { grid-template-columns: 1fr; gap: 14px; }
  .original-poster { width: min(100%, 430px); margin-inline: auto; }

  /* Keep the solar-system motion, but contain its labels and orbital drawing
     inside the hero so it never creates horizontal page scrolling. */
  .tech-hero { min-height: 720px; overflow: hidden; }
  .tech-hero .tech-wrap { position: relative; z-index: 3; }
  .tech-roadmap-system {
    right: 6px;
    bottom: 12px;
    opacity: .58;
    transform: scale(.72);
    transform-origin: right bottom;
  }
  .tech-roadmap-labels { right: 0; }
  .tech-download { gap: 26px; }
  .download-actions { width: 100%; }
  .download-actions a { padding-block: 14px; }

  /* iOS will not zoom into these controls; the spacing also gives every
     checkbox and radio label a reliable touch target. */
  .matching-form input[type="text"],
  .matching-form input[type="email"],
  .matching-form input[type="tel"],
  .matching-form textarea,
  .matching-form select { min-height: 48px; font-size: 16px; }
  .choice-row label,
  .choice-stack label { min-height: 40px; padding-block: 6px; }
  .matching-form fieldset { padding-bottom: 22px; }
  .matching-form-island {
    bottom: calc(72px + env(safe-area-inset-bottom));
    max-width: calc(100% - 24px);
  }

  .site-footer { padding-bottom: max(22px, env(safe-area-inset-bottom)); }
}

@media (hover: none) and (pointer: coarse) {
  .show-card-button:hover .poster-photo img,
  .show-card-button:hover .show-poster,
  .software-card:hover { transform: none; }
}

/* Mobile geometry follows the working milkuya-official diagonal edition. */
@media (max-width: 900px) {
  .home-page .home-main {
    height: calc(100svh - var(--header-height));
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) calc(48px + env(safe-area-inset-bottom));
  }
  .home-page .home-split[data-home-split] {
    min-height: 0;
    height: 100%;
    overflow: hidden;
    --scene-width: 34vw;
    --scene-left: 26%;
    --scene-right: 74%;
  }
  .home-page .home-diagonal-line { display: block; }
  .home-page .home-scene-watermark { display: block; width: min(58vw, 384px); }
  .home-page .home-split[data-home-split] .home-panel .panel-body h1 { height: auto; font-size: clamp(3.4rem, 8vw, 4.8rem); }
  .home-page .home-split[data-home-split] .home-panel .panel-lead { margin: 13px 0 0; font-size: 13px; line-height: 1.55; }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links) a { min-height: 48px; padding: 12px 0; font-size: 12px; }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links) i { line-height: 1; }
  .home-page .home-split[data-home-split]:not(.is-culture-focused):not(.is-tech-focused) .home-panel :is(.panel-links, .tech-links) { visibility: hidden !important; pointer-events: none !important; }
  .home-page .home-split[data-home-split] .culture-panel .panel-links { grid-template-columns: 1fr; }
  .home-page .home-split[data-home-split] .home-panel .panel-corner-title { display: block; font-size: 16px !important; }
  .home-page .home-split[data-home-split] .panel-corner-mark svg { width: 32px; height: 32px; }
  .home-page .home-split[data-home-split] .culture-corner-mark .panel-corner-title { top: 54px; }
  .home-page .home-split[data-home-split] .tech-corner-mark .panel-corner-title { bottom: 54px; }
  .home-page .home-proof {
    min-height: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    padding-bottom: env(safe-area-inset-bottom);
    background: #090909;
    border-bottom: 0;
  }
  .home-page .home-proof-intro { display: none; }
  .home-page .home-proof-stat { min-height: 0; padding: 0 5px; flex-direction: row; align-items: center; gap: 5px; }
  .home-page .home-proof-stat + .home-proof-stat { border-left: 1px solid rgba(255,255,255,.08); }
  .home-page .home-proof-stat strong { font: 400 19px/1 var(--sans); letter-spacing: -.04em; }
  .home-page .home-proof-stat span { margin: 0; font-size: 0; letter-spacing: 0; line-height: 1.25; }
  .home-page .home-proof-stat span::after { content: attr(data-compact); font-size: 10px; }
  .home-page[data-lang="en"] .home-proof-stat span::after { content: attr(data-compact-en); }
  .home-page[data-lang="fr"] .home-proof-stat span::after { content: attr(data-compact-fr); }
}
@media (max-width: 620px) {
  .home-page .home-split[data-home-split] {
    --scene-width: 56vw;
    --scene-left: 34%;
    --scene-right: 66%;
    --scene-upper: 28%;
    --scene-lower: 72%;
  }
  .home-page .home-split[data-home-split] .home-panel .panel-body h1 { font-size: clamp(3rem, 14vw, 4rem); }
  .home-page .home-split[data-home-split] .home-panel .panel-lead { font-size: 12px; }
  .home-page:is([data-lang="fr"], [data-lang="en"]) .home-split[data-home-split] .home-panel .panel-body h1 { font-size: clamp(1.7rem, 8vw, 2.7rem); }
}

/* Two menu columns keep every entry clear of the corner switch on short phones. */
@media (max-width: 900px) and (max-height: 700px) {
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links),
  .home-page .home-split[data-home-split]:is(.is-culture-focused, .is-tech-focused) .home-panel :is(.panel-links, .tech-links) {
    width: 76vw !important;
    left: 50% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 12px;
  }
  .home-page .home-split[data-home-split] .home-panel :is(.panel-links, .tech-links) a { gap: 4px; font-size: 11px; }
}

/* Both content boxes stay inside the inscribed rectangle of their triangle. */
.home-page .home-split[data-home-split] .panel-corner-content {
  position: absolute;
  top: 4%;
  left: 4%;
  width: 44%;
  height: 44%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--corner-gap);
}
.home-page .home-split[data-home-split] .tech-corner-mark .panel-corner-content {
  top: auto;
  left: auto;
  right: 4%;
  bottom: 4%;
  flex-direction: column-reverse;
}
.home-page .home-split[data-home-split] .panel-corner-content svg {
  position: static;
  flex: 0 1 auto;
  width: var(--corner-icon-size);
  height: var(--corner-icon-size);
  min-height: 0;
  max-width: 100%;
}
.home-page .home-split[data-home-split] .panel-corner-content .panel-corner-title {
  position: static;
  flex: 0 0 auto;
  max-width: 100%;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: var(--corner-font-size) !important;
  line-height: 1.15;
  letter-spacing: 0;
}
.home-page:is([data-lang="en"], [data-lang="fr"]) .home-split[data-home-split] .panel-corner-content .panel-corner-title {
  font-size: var(--corner-latin-size) !important;
}
@media (max-width: 900px) and (orientation: landscape) {
  .home-page .home-split[data-home-split] .panel-corner-content { flex-direction: row; }
  .home-page .home-split[data-home-split] .tech-corner-mark .panel-corner-content { flex-direction: row-reverse; }
  .home-page .home-split[data-home-split] .panel-corner-content svg { flex-shrink: 0; }
}

/* Quiet scene lighting stays behind the content and inside each diagonal mask. */
.home-page .home-split .culture-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
.home-page .home-split .culture-panel::after {
  background: radial-gradient(ellipse at 38% 28%, rgba(210, 185, 145, .18), rgba(180, 150, 108, .06) 32%, transparent 68%);
  animation: home-culture-breathe 7s ease-in-out infinite;
}
@keyframes home-culture-breathe {
  0%, 100% { opacity: .12; }
  50% { opacity: .65; }
}
/* Short, monochrome title disturbances, driven by the existing entity clock. */
.home-page #tech-title { position: relative; }
.home-page #tech-title[data-entity-effect] {
  animation-duration: var(--entity-duration);
  animation-timing-function: ease-in-out;
  animation-iteration-count: 1;
}
.home-page #tech-title[data-entity-effect="blur"] { animation-name: entity-title-blur; }
.home-page #tech-title[data-entity-effect="lift"] { animation-name: entity-title-lift; }
.home-page #tech-title[data-entity-effect="opacity"] { animation-name: entity-title-opacity; }
.home-page #tech-title[data-entity-effect="skew"] { animation-name: entity-title-skew; }
.home-page #tech-title:is([data-entity-effect="ghost"], [data-entity-effect="slice"], [data-entity-effect="spacing"])::after {
  content: attr(data-entity-echo);
  display: flex;
  justify-content: inherit;
  align-items: inherit;
  position: absolute;
  inset: 0;
  pointer-events: none;
  user-select: none;
  color: inherit;
  opacity: 0;
  animation: entity-title-echo var(--entity-duration) ease-in-out 1;
}
.home-page #tech-title[data-entity-effect="slice"]::after {
  clip-path: inset(var(--entity-slice-top) 0 calc(100% - var(--entity-slice-top) - var(--entity-slice-height)) 0);
}
.home-page #tech-title[data-entity-effect="spacing"]::after {
  letter-spacing: calc(-.08em + var(--entity-spacing));
}
@keyframes entity-title-blur {
  0%, 100% { filter: blur(0); }
  35%, 60% { filter: blur(var(--entity-blur)); }
}
@keyframes entity-title-lift {
  0%, 100% { transform: translateY(0); }
  35%, 60% { transform: translateY(var(--entity-shift)); }
}
@keyframes entity-title-opacity {
  0%, 100% { opacity: 1; }
  35%, 60% { opacity: .91; }
}
@keyframes entity-title-skew {
  0%, 100% { transform: skewX(0); }
  35%, 60% { transform: skewX(var(--entity-skew)); }
}
@keyframes entity-title-echo {
  0%, 100% { opacity: 0; transform: translateY(0); }
  35%, 60% { opacity: var(--entity-ghost-opacity); transform: translateY(var(--entity-shift)); }
}
@media (prefers-reduced-motion: reduce) {
  .home-page #tech-title[data-entity-effect],
  .home-page #tech-title[data-entity-effect]::after { animation: none; }
}
/* Sparse traces: at most three on desktop, two on mobile, with quiet intervals. */
.home-page .tech-depth-field {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  user-select: none;
}
.home-page .tech-depth-field i {
  position: absolute;
  color: #a2b8c0;
  font: 400 calc(clamp(14px, 1.2vw, 19px) * var(--depth-scale, 1))/1 monospace;
  letter-spacing: .12em;
  opacity: 0;
  animation: home-depth-emerge 8s ease-in-out both;
}
@keyframes home-depth-emerge {
  0%, 100% { opacity: 0; filter: blur(2px); transform: translateY(2px); }
  32%, 52% { opacity: .2; filter: blur(.2px); transform: translateY(0); }
  72% { opacity: .12; filter: blur(.6px); transform: translateY(-1px); }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .home-split .home-panel::after { animation: none; }
  .home-page .home-split .culture-panel::after { opacity: .2; }
  .home-page .tech-depth-field { display: none; }
  .home-page .tech-depth-field i { animation: none; }
}
