/* Scroll exhibition. The original brand palette is shared with the site. */
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.dimension-experience { position: relative; background: var(--navy-900); }
.dimension-experience.is-enhanced { height: 500svh; }
.dimension-pin {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 720px;
  height: 100svh;
  padding-top: 94px;
  padding-bottom: max(14px, env(safe-area-inset-bottom));
  overflow: hidden;
  background: radial-gradient(ellipse at 70% 55%, rgba(15,21,53,.7), transparent 65%), var(--navy-900);
}
.is-enhanced .dimension-pin { position: sticky; top: 0; min-height: 0; }
.dimension-grid { position: absolute; z-index: -2; inset: 0; opacity: .2; background-image: linear-gradient(rgba(103,232,249,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(103,232,249,.12) 1px, transparent 1px); background-size: 64px 64px; mask-image: radial-gradient(ellipse at 70% 60%, black, transparent 65%); }
.dimension-ambient { position: absolute; z-index: -1; width: 100%; height: 60%; left: 20%; top: 25%; border-radius: 50%; background: radial-gradient(ellipse, rgba(124,58,237,.11), transparent 65%); pointer-events: none; }
.dimension-layout { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto minmax(0,1fr) auto; flex: 1; min-height: 0; width: 100%; }
.dimension-heading { position: relative; z-index: 3; pointer-events: none; }
.dimension-studio { display: none; }
.dimension-chapters { position: relative; min-height: 206px; }
.dimension-chapter { position: absolute; inset: 0; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .28s ease, transform .4s ease, visibility .28s; }
.dimension-chapter.is-active { position: relative; opacity: 1; visibility: visible; transform: none; }
.dimension-kicker { display: flex; align-items: center; gap: 9px; font-size: .625rem; text-transform: uppercase; letter-spacing: .12em; color: var(--gray-300); margin-bottom: 18px; }
.chapter-rule { width: 20px; height: 1px; background: rgba(148,163,184,.4); }
.dimension-chapter h2 { font-size: clamp(2.4rem, 10.8vw, 3.75rem); font-weight: 600; line-height: .99; letter-spacing: -.05em; }
.dimension-chapter h2 > span { background: linear-gradient(110deg, #a88aff 0%, var(--blue-600) 25%, var(--blue-400) 62%, var(--cyan-400) 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.dimension-description { margin-top: 16px; max-width: 340px; color: var(--gray-400); font-size: .8125rem; line-height: 1.65; }
.dimension-visual { position: relative; min-height: 0; margin: 0 -20px; pointer-events: auto; }
#dimension-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .9; pointer-events: none; }
.dimension-fallback { position: absolute; inset: 10% 4%; perspective: 600px; opacity: .6; }
.dimension-fallback i { position: absolute; inset: 10%; border: 2px solid var(--cyan-500); border-radius: 50%; transform: rotateX(65deg) rotateZ(-30deg); box-shadow: 0 0 24px rgba(6,182,212,.3); }
.dimension-fallback i:nth-child(2) { border-color: var(--blue-600); transform: rotateY(65deg) rotateZ(30deg); }
.dimension-fallback i:nth-child(3) { transform: rotateX(35deg) rotateY(50deg); }
.has-webgl .dimension-fallback { display: none; }
.dimension-stage { position: absolute; inset: 0; perspective: 1000px; perspective-origin: 50% 45%; }
.dimension-world { width: 100%; height: 100%; transform-style: preserve-3d; }
.scene-object { position: absolute; width: 500px; height: 380px; top: 48%; left: 50%; transform: translate(-50%,-50%) scale(.57); transform-style: preserve-3d; opacity: 0; visibility: hidden; will-change: transform, opacity; }
.scene-object:first-child { opacity: 1; visibility: visible; }
.scene-coordinates { position: absolute; inset: 8% 22px; display: flex; justify-content: space-between; align-items: flex-end; font: .5rem/1 var(--font-body); color: var(--gray-500); letter-spacing: .12em; }
.scene-coordinates span:nth-child(2) { align-self: flex-start; }
.scene-coordinates span:first-child, .scene-coordinates span:last-child { writing-mode: vertical-rl; }
.scene-coordinates span:first-child { transform: rotate(180deg); }
.dimension-scene-caption { position: absolute; bottom: 6px; left: 20px; right: 20px; text-align: center; }
.scene-caption-text { font-size: .5625rem; color: var(--gray-400); letter-spacing: .05em; }
.dimension-actions { position: relative; z-index: 4; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; }
.dimension-cta.btn { min-height: 48px; padding: 12px 18px; font-size: .8125rem; gap: 12px; white-space: nowrap; }
.dimension-skip { display: inline-flex; min-height: 44px; align-items: center; justify-content: flex-end; gap: 6px; font-size: .625rem; color: var(--gray-400); line-height: 1.5; max-width: 90px; }
.dimension-skip span { color: var(--cyan-400); font-size: 1rem; }
.dimension-navigation { position: relative; z-index: 5; width: 100%; margin-top: 14px; }
.dimension-scroll-cue { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .5625rem; letter-spacing: .06em; color: var(--gray-400); margin-bottom: 9px; }
.scroll-cue-icon { height: 16px; width: 10px; border: 1px solid rgba(148,163,184,.55); border-radius: 6px; display: flex; justify-content: center; padding-top: 3px; }
.scroll-cue-icon i { width: 2px; height: 4px; background: var(--cyan-400); border-radius: 2px; animation: dimension-scroll 2s ease infinite; }
.dimension-scroll-arrow { color: var(--cyan-400); }
.dimension-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.dimension-step { position: relative; display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; padding: 8px 0 12px; border: none; background: transparent; color: var(--gray-500); transition: color .25s; }
.dimension-step.is-active { color: white; }
.dimension-step:hover { color: var(--cyan-400); }
.step-number { font-size: .5rem; color: var(--gray-500); }
.is-active .step-number { color: var(--cyan-400); }
.step-name { font-size: .625rem; }
.step-track { position: absolute; height: 2px; bottom: 0; left: 0; right: 0; background: rgba(148,163,184,.18); border-radius: 2px; overflow: hidden; }
.step-track i { display: block; width: 100%; height: 100%; background: var(--gradient-primary); transform: scaleX(var(--step-progress,0)); transform-origin: left; }
.dimension-counter { display: none; }
.index-page.in-dimension .back-to-top { visibility: hidden; opacity: 0; pointer-events: none; }
.dimension-experience:not(.is-enhanced) .dimension-navigation { display: none; }
.index-page.dimension-motion main > .section .reveal,
.index-page.dimension-motion main > .section .reveal-left,
.index-page.dimension-motion main > .section .reveal-right {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.3,1);
}
.index-page.dimension-motion main > .section .visible { opacity: 1; transform: none; }

/* Solid device surfaces, separate display planes and physical depth. */
.device-laptop { position: absolute; width: 480px; height: 350px; left: 10px; top: 15px; transform-style: preserve-3d; transform: rotateX(8deg) rotateY(-15deg) rotateZ(-5deg); }
.laptop-lid { position: absolute; width: 480px; height: 300px; transform-origin: center bottom; transform: rotateX(-12deg); transform-style: preserve-3d; }
.laptop-screen { position: absolute; inset: 0; padding: 10px; border: 1px solid #607084; border-radius: 15px; background: linear-gradient(135deg, #2d374b, #090d1a 45%, #343e55); box-shadow: 3px 3px 0 #414d65, 6px 6px 0 #1a2238, 0 0 36px rgba(6,182,212,.14); overflow: hidden; backface-visibility: hidden; }
.laptop-back { position: absolute; inset: 0; display: grid; place-items: center; transform: translateZ(-5px) rotateY(180deg); border: 1px solid #526078; border-radius: 15px; background: linear-gradient(135deg,#4d5870,#11182c 60%,#334360); font: 600 70px var(--font-heading); color: var(--cyan-300); backface-visibility: hidden; }
.laptop-base { position: absolute; top: 300px; left: -8px; width: 496px; height: 178px; border-radius: 3px 3px 20px 20px; background: linear-gradient(160deg,#5d6b85,#222d43 42%,#4c5b74 95%); border: 1px solid #8190a5; transform-origin: center top; transform: rotateX(73deg); box-shadow: 0 5px 0 #101729, 0 8px 0 #3d4b63; }
.laptop-keys { width: 90%; height: 90px; margin: 12px auto 0; border: 3px solid #121a2c; border-radius: 6px; background-color: #111625; background-image: repeating-linear-gradient(90deg,transparent 0 23px,#41516b 23px 25px),repeating-linear-gradient(0deg,transparent 0 17px,#41516b 17px 19px); }
.laptop-trackpad { width: 150px; height: 48px; margin: 8px auto; border: 1px solid #8b96a7; border-radius: 5px; background: rgba(30,40,57,.3); }
.interface-topbar { height: 26px; background: #0b1020; border-bottom: 1px solid rgba(255,255,255,.07); display: flex; align-items: center; justify-content: space-between; padding: 0 12px; color: #8590a9; font-size: 7px; letter-spacing: .06em; }
.interface-dots { display: flex; gap: 4px; }
.interface-dots i { width: 4px; height: 4px; border-radius: 50%; background: #3b4b69; }
.interface-dots i:first-child { background: var(--blue-600); }
.interface-dots i:last-child { background: var(--cyan-400); }
.interface-status { width: 4px; height: 4px; background: var(--cyan-400); border-radius: 50%; }
.interface-body { display: flex; height: calc(100% - 26px); background: #070c19; }
.interface-sidebar { display: flex; align-items: center; flex-direction: column; gap: 13px; width: 40px; flex-shrink: 0; padding: 10px 0; border-right: 1px solid rgba(255,255,255,.06); }
.interface-sidebar b { font: 600 19px var(--font-heading); color: white; margin-bottom: 5px; }
.interface-sidebar b span { color: var(--cyan-400); }
.interface-sidebar i { width: 12px; height: 10px; border-radius: 2px; border: 1px solid #44526b; }
.interface-sidebar i.selected { border-color: var(--cyan-400); background: rgba(6,182,212,.2); }
.interface-sidebar small { margin-top: auto; font-size: 5px; color: #8590a9; }
.interface-main { flex: 1; min-width: 0; padding: 14px 16px 8px; }
.interface-welcome { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.interface-welcome span { display: block; color: #8590a9; font-size: 5px; letter-spacing: .18em; }
.interface-welcome strong { font: 500 17px var(--font-heading); color: white; }
.interface-welcome > i { font-style: normal; color: var(--cyan-400); font-size: 16px; }
.interface-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.interface-metrics > div { padding: 7px 9px; border-radius: 6px; border: 1px solid rgba(148,163,184,.1); background: linear-gradient(130deg,#141b31,#0b1020); }
.interface-metrics small { display: block; font-size: 6px; color: #94a3b8; }
.interface-metrics b { font: 500 18px var(--font-heading); color: #edf6fc; }
.interface-metrics em { font-size: 9px; font-style: normal; color: var(--cyan-400); }
.interface-metrics b span { font-size: 12px; }
.interface-graph { padding: 10px 0 0; }
.interface-graph > span { color: #8f9fba; font-size: 6px; }
.interface-chart { display: block; height: 92px; width: 100%; margin-top: 2px; }
.interface-bottom { display: flex; justify-content: space-between; align-items: center; padding-top: 5px; color: #899bb7; font-size: 6px; }
.interface-bottom i { display: inline-block; width: 3px; height: 3px; border-radius: 50%; background: var(--cyan-400); margin-right: 4px; }
.floating-note { position: absolute; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border: 1px solid rgba(148,163,184,.25); border-radius: 14px; background: linear-gradient(130deg,rgba(25,34,59,.97),rgba(7,12,27,.97)); box-shadow: 0 16px 36px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06); transform: translateZ(70px); color: #e2e8f0; font-size: 12px; white-space: nowrap; }
.floating-note > span { color: var(--cyan-400); font-size: 22px; }
.floating-note strong { display: block; font-size: 13px; color: white; font-weight: 500; }
.floating-note small { display: block; font-size: 8px; color: var(--gray-400); margin-top: 3px; }
.note-code { left: -3px; top: -3px; transform: translateZ(60px) rotate(-6deg); }
.note-speed { right: -8px; bottom: 38px; transform: translateZ(100px) rotate(3deg); }
.note-speed > i { display: grid; place-items: center; width: 34px; height: 34px; font-size: 24px; border: 1px solid rgba(34,211,238,.2); border-radius: 50%; color: var(--cyan-400); font-style: normal; }

.device-phone { position: absolute; left: 128px; top: -31px; width: 220px; height: 428px; border: 2px solid #708099; border-radius: 39px; padding: 7px; background: linear-gradient(135deg,#8995a9,#152138 34%,#65758e 77%,#21334a); transform-style: preserve-3d; transform: rotateX(8deg) rotateY(20deg) rotateZ(8deg); box-shadow: -3px 2px 0 #53657e,-6px 4px 0 #293a51,-9px 6px 0 #53617c,0 20px 60px rgba(0,0,0,.5); }
.phone-screen { position: relative; height: 100%; border-radius: 30px; padding: 16px; overflow: hidden; border: 1px solid #04080f; background: radial-gradient(ellipse at 80% 28%,#152d43,transparent 60%),#080e20; }
.phone-side { position: absolute; width: 3px; height: 38px; background: #7890a9; left: -5px; top: 80px; border-radius: 2px; box-shadow: 0 48px 0 #7890a9; }
.phone-island { position: absolute; width: 58px; height: 15px; border-radius: 20px; background: #02040a; top: 6px; left: calc(50% - 29px); }
.phone-topline { display: flex; justify-content: space-between; font-size: 7px; color: white; margin-bottom: 20px; }
.phone-greeting > span { font-size: 7px; color: #91b5c9; }
.phone-greeting strong { font: 500 29px/1.1 var(--font-heading); letter-spacing: -.04em; display: block; color: white; margin-top: 8px; }
.phone-orbit { position: relative; width: 150px; height: 150px; margin: 0 auto; }
.phone-orbit svg { width: 100%; height: 100%; }
.phone-orbit > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.phone-orbit b { color: white; font: 500 27px var(--font-heading); }
.phone-orbit span { color: #849bb3; font-size: 7px; }
.phone-metrics { display: flex; justify-content: space-around; gap: 8px; }
.phone-metrics > div { display: flex; flex-direction: column; align-items: center; }
.phone-metrics b { font: 500 15px var(--font-heading); color: #e3f5ff; }
.phone-metrics small { font-size: 8px; color: #92a6c2; }
.phone-metrics span { font-size: 7px; color: #859bb6; }
.phone-action { margin: 16px 0 13px; padding: 10px; border-radius: 7px; background: linear-gradient(110deg,#7c3aed,#2563eb); color: white; font-size: 7px; display: flex; justify-content: space-between; }
.phone-nav { display: flex; justify-content: space-around; color: #859ab6; font-size: 12px; }
.phone-nav i { font-style: normal; }
.phone-nav i:first-child { color: var(--cyan-400); }
.phone-home { position: absolute; bottom: 5px; left: 65px; width: 70px; height: 3px; background: #a4b9cb; border-radius: 2px; }
.note-mobile { left: 2px; bottom: 18px; transform: translateZ(95px) rotate(-5deg); }
.phone-companion { position: absolute; right: 0; top: 32px; width: 138px; padding: 19px 16px; border: 1px solid rgba(34,211,238,.25); border-radius: 16px; background: linear-gradient(135deg,#132d43,#0c152c); transform: translateZ(-65px) rotateY(-18deg) rotateZ(-7deg); box-shadow: 0 20px 50px rgba(0,0,0,.4); }
.phone-companion > i { color: var(--cyan-400); font-size: 34px; font-style: normal; }
.phone-companion strong { color: #e2f2fb; display: block; font: 500 21px/1.2 var(--font-heading); margin-top: 16px; }
.phone-companion > span { display: block; margin-top: 20px; font-size: 8px; color: #92b6c7; }

.desktop-window { position: absolute; width: 420px; height: 282px; border: 1px solid #61748c; border-radius: 12px; overflow: hidden; background: #070c19; box-shadow: 3px 4px 0 #28394f,6px 8px 0 #142034,0 25px 60px rgba(0,0,0,.4); }
.desktop-front { left: 32px; top: 92px; transform: translateZ(60px) rotateY(-18deg) rotateX(7deg) rotateZ(-5deg); }
.desktop-back { top: -18px; left: 70px; transform: translateZ(-100px) rotateY(-16deg) rotateX(9deg) rotateZ(7deg); }
.desktop-front .interface-chart { height: 90px; }
.workflow-board { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; padding: 15px; }
.workflow-board > div { padding: 10px; border-radius: 8px; background: #10192b; }
.workflow-board span { font-size: 8px; color: #9fb5c9; }
.workflow-board i { display: block; height: 45px; margin-top: 9px; border: 1px solid rgba(34,211,238,.12); border-left: 2px solid var(--cyan-500); border-radius: 5px; background: linear-gradient(90deg,rgba(6,182,212,.15),transparent); }
.workflow-board > div:nth-child(2) i { border-left-color: var(--blue-600); background: linear-gradient(90deg,rgba(124,58,237,.2),transparent); }
.note-desktop { right: 0; top: 9px; transform: translateZ(95px) rotate(4deg); }

.cloud-core { position: absolute; width: 150px; height: 150px; top: 106px; left: 175px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 36px; border: 1px solid rgba(148,211,255,.5); background: linear-gradient(135deg,rgba(108,90,219,.7),rgba(9,29,60,.92) 60%,rgba(6,182,212,.3)); transform: translateZ(35px) rotateY(-15deg) rotateX(12deg) rotateZ(-5deg); box-shadow: 4px 6px 0 #263d64,8px 12px 0 #101e36,0 0 75px rgba(124,58,237,.3); }
.cloud-core > span { font: 600 76px/.9 var(--font-heading); letter-spacing: -.08em; color: white; }
.cloud-core small { font-size: 5px; margin-top: 18px; letter-spacing: .15em; color: #c9d6fb; }
.cloud-node { position: absolute; display: flex; flex-direction: column; align-items: flex-start; width: 138px; padding: 15px 18px; border: 1px solid rgba(103,232,249,.25); border-radius: 14px; background: linear-gradient(130deg,#142638,#080f23); box-shadow: 0 18px 45px rgba(0,0,0,.4); }
.cloud-node > i { font-style: normal; font-size: 25px; color: var(--cyan-400); margin-bottom: 10px; }
.cloud-node strong { color: #ecf9ff; font: 500 14px var(--font-heading); }
.cloud-node > span { font-size: 8px; margin-top: 4px; color: #9ab1c9; }
.node-one { left: 10px; top: 40px; transform: rotateZ(-8deg) rotateY(18deg) translateZ(50px); }
.node-two { right: -6px; top: 73px; transform: rotateZ(9deg) rotateY(-20deg) translateZ(-10px); }
.node-three { left: 141px; bottom: -7px; transform: rotateZ(-4deg) translateZ(90px); }
.social-stack { position: absolute; inset: 0; transform-style: preserve-3d; }
.social-post { position: absolute; width: 235px; padding: 13px; border: 1px solid #526078; border-radius: 18px; background: linear-gradient(150deg,#1b233b,#080f20); box-shadow: 4px 6px 0 #253148,0 25px 60px rgba(0,0,0,.4); }
.post-back { left: 24px; top: 8px; transform: translateZ(-70px) rotateY(20deg) rotateZ(-16deg); }
.post-front { right: 30px; top: 40px; transform: translateZ(60px) rotateY(-20deg) rotateZ(9deg); }
.social-post-top { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.social-post-top b { font: 600 14px var(--font-heading); color: var(--cyan-400); }
.social-post-top span { font-size: 8px; color: #d0dbee; }
.social-post-top i { margin-left: auto; color: #8998b0; font-size: 8px; }
.post-visual { position: relative; overflow: hidden; height: 239px; padding: 26px 18px; border-radius: 6px; background: linear-gradient(135deg,#173656,#0b1127); }
.post-visual > span { display: block; position: relative; z-index: 2; font-size: 8px; letter-spacing: .19em; color: #9cdbea; }
.post-visual strong { display: block; position: relative; z-index: 2; font: 600 49px/.92 var(--font-heading); letter-spacing: -.065em; color: #e7fbff; margin-top: 17px; }
.post-visual small { position: absolute; bottom: 21px; left: 18px; font-size: 6px; letter-spacing: .07em; color: #d9cbff; z-index: 2; }
.post-front .post-visual { background: linear-gradient(130deg,#6331c6,#222758 75%,#15384f); }
.post-orbit { position: absolute; width: 205px; height: 120px; border: 15px solid rgba(34,211,238,.65); border-radius: 50%; transform: rotate(-40deg); bottom: 5px; right: -60px; box-shadow: inset 2px 2px 12px #a7edff, 2px 2px 15px rgba(6,182,212,.3); }
.post-front .post-orbit { border-color: rgba(131,97,239,.5); bottom: -40px; }
.post-reactions { display: flex; align-items: center; margin-top: 11px; color: var(--gray-300); font-size: 15px; }
.post-reactions > span { margin-left: auto; }
.note-social { left: 0; bottom: -3px; transform: translateZ(100px) rotate(-4deg); }

@keyframes dimension-scroll { 0%,100% { transform: translateY(0); opacity: .4; } 50% { transform: translateY(4px); opacity: 1; } }

@media (min-width: 600px) {
  .dimension-chapters { min-height: 235px; }
  .dimension-description { max-width: 430px; font-size: .9375rem; }
  .dimension-visual { margin-left: -32px; margin-right: -32px; }
  .dimension-actions { justify-content: center; gap: 26px; }
  .dimension-cta.btn { padding: 14px 26px; font-size: .9375rem; }
  .dimension-skip { max-width: none; font-size: .8125rem; }
  .scene-caption-text { font-size: .6875rem; }
  .step-name { font-size: .8125rem; }
  .step-number { font-size: .625rem; }
}

@media (min-width: 960px) {
  .dimension-pin { padding-top: 128px; padding-bottom: 26px; }
  .dimension-layout { grid-template-columns: minmax(0,.9fr) minmax(0,1.15fr); grid-template-rows: minmax(0,1fr) auto minmax(0,.7fr); gap: 0 28px; }
  .dimension-heading { grid-column: 1; grid-row: 1 / 3; align-self: end; padding-bottom: 30px; }
  .dimension-studio { display: block; margin-bottom: 32px; color: var(--gray-500); font-size: .5625rem; letter-spacing: .17em; }
  .dimension-studio > span { color: var(--cyan-500); margin: 0 8px; }
  .dimension-chapters { min-height: 332px; }
  .dimension-kicker { font-size: .625rem; margin-bottom: 26px; }
  .dimension-chapter h2 { font-size: clamp(3.7rem,5.6vw,5rem); }
  .dimension-description { margin-top: 24px; font-size: 1rem; line-height: 1.8; max-width: 360px; }
  .dimension-visual { grid-column: 2; grid-row: 1 / 4; margin: 0 -50px; }
  .dimension-stage { perspective: 1300px; }
  .scene-object { top: 48%; }
  #dimension-canvas { inset: 0 -12%; width: 124%; height: 100%; }
  .scene-coordinates { inset: 8% 30px 12%; font-size: .5625rem; }
  .dimension-scene-caption { bottom: 10%; }
  .dimension-actions { grid-column: 1; grid-row: 3; justify-content: flex-start; align-self: start; margin: 0; gap: 18px; }
  .dimension-cta.btn { font-size: .8125rem; padding: 14px 22px; }
  .dimension-skip { font-size: .6875rem; }
  .dimension-navigation { display: flex; align-items: center; gap: 54px; }
  .dimension-scroll-cue { flex-shrink: 0; justify-content: flex-start; font-size: .625rem; margin: 0; gap: 10px; }
  .dimension-steps { flex: 1; gap: 24px; }
  .dimension-step { justify-content: flex-start; gap: 10px; padding-bottom: 14px; }
  .dimension-counter { display: block; font-size: .75rem; color: var(--gray-500); letter-spacing: .12em; }
  .dimension-counter b { color: white; font-weight: 400; }
}

@media (max-width: 599px) and (max-height: 740px) {
  .dimension-pin { padding-top: 84px; padding-bottom: 8px; }
  .dimension-chapters { min-height: 173px; }
  .dimension-kicker { margin-bottom: 12px; font-size: .5625rem; }
  .dimension-chapter h2 { font-size: clamp(2rem,9.5vw,2.75rem); }
  .dimension-description { font-size: .75rem; margin-top: 12px; max-width: 320px; }
  .dimension-actions { margin-top: 4px; }
  .dimension-cta.btn { min-height: 44px; padding: 10px 16px; }
  .dimension-navigation { margin-top: 8px; }
  .dimension-scroll-cue { margin-bottom: 2px; }
  .dimension-scene-caption { bottom: 0; }
}

@media (max-height: 540px) and (min-width: 600px) {
  .dimension-pin { padding-top: 86px; padding-bottom: 8px; }
  .dimension-layout { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0,1fr) auto; gap: 0 20px; }
  .dimension-heading { grid-column: 1; grid-row: 1; align-self: start; padding: 0; }
  .dimension-studio, .dimension-scroll-cue, .scene-coordinates { display: none; }
  .dimension-chapters { min-height: 0; }
  .dimension-kicker { margin-bottom: 10px; font-size: .5625rem; }
  .dimension-chapter h2 { font-size: clamp(1.6rem,4vw,2.3rem); }
  .dimension-chapter h2 br { display: none; }
  .dimension-chapter h2 > span::before { content: ' '; }
  .dimension-description { margin-top: 10px; font-size: .6875rem; }
  .dimension-visual { grid-column: 2; grid-row: 1 / 3; margin: 0; }
  .dimension-actions { grid-column: 1; grid-row: 2; justify-content: flex-start; gap: 12px; }
  .dimension-cta.btn { min-height: 44px; padding: 10px 14px; font-size: .6875rem; }
  .dimension-skip { font-size: .5625rem; }
  .dimension-navigation { margin-top: 8px; }
  .dimension-scene-caption { bottom: 0; }
  .scene-caption-text { font-size: .5rem; }
}

/* Static layout and manual chapter buttons remain available without animation. */
@media (prefers-reduced-motion: reduce) {
  .dimension-experience.is-enhanced { height: auto; }
  .is-enhanced .dimension-pin { position: relative; min-height: 650px; }
  .scroll-cue-icon i { animation: none; }
  .dimension-scroll-cue { visibility: hidden; }
  .dimension-chapter { transition: none; }
}
