:root {
  --ink: #02091d;
  --ink-soft: #07142e;
  --navy: #061a3c;
  --blue: #1766ff;
  --yellow: #ffdb00;
  --white: #f6f4ef;
  --muted: #b8c0d2;
  --line: rgba(215, 225, 255, 0.27);
  --panel: rgba(1, 9, 29, 0.76);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Arial, Helvetica, sans-serif;
  --condensed: "Arial Narrow", Impact, Haettenschweiler, sans-serif;
  --ease: cubic-bezier(.2, .72, .18, 1);
}

* { box-sizing: border-box; }
html { background: var(--ink); color-scheme: dark; scroll-behavior: smooth; }
html.is-auto-scrolling { scroll-behavior: auto; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--white); background: var(--ink); font-family: var(--sans); font-weight: 300; }
body::selection { color: var(--ink); background: var(--yellow); }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

/* Keep display copy from leaving isolated words at either edge of a line. */
:where(p, h1, h2, h3, h4, h5, h6, small, li, blockquote, figcaption) {
  text-wrap: pretty;
  orphans: 2;
  widows: 2;
}

.skip-link { position: fixed; z-index: 100; left: 1rem; top: 1rem; padding: .75rem 1rem; color: var(--ink); background: var(--yellow); transform: translateY(-180%); transition: transform .25s; }
.skip-link:focus { transform: translateY(0); }

.background-stage { position: fixed; z-index: 0; inset: 0; overflow: hidden; background: var(--ink); pointer-events: none; }
.background-layer { position: absolute; inset: 0; background-position: center; background-repeat: no-repeat; background-size: cover; opacity: 0; will-change: opacity; transform: none; }
.background-layer[data-layer="formation"] { background-image: url("assets/backgrounds/ChatGPT Image May 29, 2026, 05_33_19 PM (1).png"); }
.background-layer[data-layer="method"] { background-image: url("assets/backgrounds/Method background.png"); }
.background-layer[data-layer="offerings"] { background-image: url("assets/backgrounds/Offerings background.png"); }
.background-layer[data-layer="lab"] { background-image: url("assets/backgrounds/Product lab background.png"); }
.background-layer[data-layer="leadership"] { background-image: url("assets/backgrounds/ChatGPT Image May 29, 2026, 05_33_19 PM (2).png"); }
.background-layer[data-layer="contact"] { background-image: url("assets/backgrounds/ChatGPT Image May 29, 2026, 05_33_20 PM (7).png"); }
.background-morph-canvas { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; opacity: 1; mix-blend-mode: normal; pointer-events: none; }
.background-shade { position: absolute; z-index: 2; inset: 0; background: radial-gradient(circle at 50% 45%, transparent 0 25%, rgba(0, 6, 25, .2) 62%, rgba(0, 4, 16,.6) 100%), linear-gradient(180deg, rgba(0, 5, 18, .04), rgba(0, 5, 18, .32)); }
.background-grain { position: absolute; z-index: 2; inset: 0; opacity: .2; background-image: radial-gradient(rgba(255,255,255,.32) .55px, transparent .7px); background-size: 4px 4px; mix-blend-mode: soft-light; }

.site-header { position: fixed; z-index: 50; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; height: 6.5rem; padding: 1.5rem clamp(1.25rem, 3.2vw, 4rem); pointer-events: none; }
.site-header::before { content: ""; position: absolute; z-index: 0; inset: 0; background: linear-gradient(180deg, rgba(1,7,23,.72), transparent); opacity: 1; pointer-events: none; transition: opacity .88s cubic-bezier(.4, 0, .2, 1) .03s; }
.is-auto-scrolling .site-header::before { opacity: 0; transition-duration: .24s; transition-delay: 0s; transition-timing-function: cubic-bezier(.4, 0, .6, 1); }
.brand { position: relative; z-index: 1; display: block; width: clamp(2rem, 2.4vw, 2.8rem); opacity: 0; pointer-events: none; transform: translateY(-.8rem) scale(.94); transition: opacity .38s var(--ease), transform .38s var(--ease); }
.site-header.is-visible .brand { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.site-header.is-visible .brand:hover { opacity: .82; transform: translateY(-2px); }
.brand img { width: 100%; }
.section-title-switcher { position: fixed; z-index: 54; top: 3.25rem; left: 50%; width: min(18rem, 70vw); height: 1rem; color: var(--yellow); font-size: .78rem; font-weight: 650; letter-spacing: .32em; line-height: 1; text-align: center; text-transform: uppercase; opacity: 1; pointer-events: none; perspective: 36rem; transform: translateX(-50%); transition: opacity .28s var(--ease), transform .28s var(--ease); }
.section-title-switcher.is-hidden { opacity: 0; transform: translate(-50%, -.45rem); }
.section-title-face { position: absolute; inset: 0; display: block; backface-visibility: hidden; transform-origin: 50% 50%; will-change: opacity, transform; }
.section-title-next { opacity: 0; transform: rotateX(90deg); }
.section-title-switcher.flip-forward .section-title-current { animation: sectionTitleOutForward .56s var(--ease) both; }
.section-title-switcher.flip-forward .section-title-next { animation: sectionTitleInForward .56s var(--ease) both; }
.section-title-switcher.flip-backward .section-title-current { animation: sectionTitleOutBackward .56s var(--ease) both; }
.section-title-switcher.flip-backward .section-title-next { animation: sectionTitleInBackward .56s var(--ease) both; }
.no-js .section-title-switcher { display: none; }
.js .section-heading > .eyebrow, .js .lab-intro > .eyebrow, .js .leadership-copy > .eyebrow { display: none; }
@keyframes sectionTitleOutForward { from { opacity: 1; transform: rotateX(0deg); } to { opacity: 0; transform: rotateX(-90deg); } }
@keyframes sectionTitleInForward { from { opacity: 0; transform: rotateX(90deg); } to { opacity: 1; transform: rotateX(0deg); } }
@keyframes sectionTitleOutBackward { from { opacity: 1; transform: rotateX(0deg); } to { opacity: 0; transform: rotateX(90deg); } }
@keyframes sectionTitleInBackward { from { opacity: 0; transform: rotateX(-90deg); } to { opacity: 1; transform: rotateX(0deg); } }

.floating-nav { position: fixed; z-index: 55; left: 50%; bottom: 1.25rem; display: grid; grid-template-columns: repeat(6, auto); column-gap: clamp(.65rem, 1.6vw, 1.9rem); align-items: center; width: max-content; max-width: 94vw; padding: .25rem .7rem; border: 1px solid rgba(194,210,242,.3); border-radius: 999px; background: rgba(1, 7, 25, .82); box-shadow: 0 18px 60px rgba(0,0,0,.28); backdrop-filter: blur(18px); transform: translateX(-50%); }
.floating-nav a { position: relative; padding: 1rem .75rem; color: rgba(247,246,242,.7); text-align: center; text-decoration: none; font-size: clamp(.76rem, 1.1vw, .95rem); font-weight: 400; white-space: nowrap; transition: color .25s; }
.floating-nav a::before { content: ""; position: absolute; left: 25%; right: 25%; top: -.28rem; height: 2px; background: var(--yellow); transform: scaleX(0); transition: transform .35s var(--ease); }
.floating-nav a:hover, .floating-nav a[aria-current="page"] { color: var(--yellow); }
.floating-nav a[aria-current="page"]::before { transform: scaleX(1); }

#loopRoot, .cycle { position: relative; z-index: 1; }
.section { --reveal: 0; position: relative; display: flex; min-height: 100svh; padding: clamp(7.5rem, 12vh, 9rem) clamp(1.25rem, 7vw, 8rem) clamp(8.5rem, 14vh, 10rem); overflow: hidden; isolation: isolate; }
.section::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(0,4,17,.1), rgba(0,4,17,.25)); opacity: 1; pointer-events: none; }
.is-section-overlay-transitioning :is(.section, .site-footer)::after,
.is-section-overlay-transitioning .section.offerings .capabilities-scene::after {
  opacity: 0;
  transition: opacity .28s cubic-bezier(.4, 0, .6, 1);
}
.is-section-overlay-transitioning :is(.section, .site-footer).is-section-overlay-restoring::after,
.is-section-overlay-transitioning .section.offerings.is-section-overlay-restoring .capabilities-scene::after {
  animation: sectionOverlayRestore var(--section-overlay-restore-duration, 2.88s) cubic-bezier(.4, 0, .2, 1) both;
}
.is-section-overlay-restoring-active .site-header::before {
  animation: sectionOverlayRestore var(--section-overlay-restore-duration, 2.88s) cubic-bezier(.4, 0, .2, 1) both;
}
@keyframes sectionOverlayRestore {
  from { opacity: 0; }
  to { opacity: 1; }
}
.reveal { opacity: calc(.03 + var(--reveal) * .97); transform: translate3d(0, calc((1 - var(--reveal)) * 3.5rem), 0) scale(calc(.985 + var(--reveal) * .015)); filter: blur(calc((1 - var(--reveal)) * 8px)); will-change: opacity, transform, filter; }
.no-js .reveal { opacity: 1; transform: none; filter: none; }
.js .section .reveal, .js .site-footer .reveal { transition: opacity .62s var(--ease), transform .62s var(--ease), filter .62s var(--ease); }
.js .section:not(.is-section-loaded) .reveal, .js .site-footer:not(.is-section-loaded) .reveal { opacity: 0; transform: translate3d(0, 2.4rem, 0) scale(.99); filter: blur(8px); pointer-events: none; }
.eyebrow { margin: 0 0 1.2rem; color: var(--yellow); font-size: .8rem; font-weight: 650; letter-spacing: .32em; text-transform: uppercase; }
.section-heading { position: relative; z-index: 2; width: min(100%, 74rem); margin: auto; text-align: center; }
.section-heading h2, .lab-intro h2, .leadership-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.7rem, 5.4vw, 6rem); font-weight: 400; line-height: .98; letter-spacing: -.045em; }
.section-heading h2 em, .lab-intro em { color: var(--yellow); font-weight: 400; }
.section-heading > p:last-child, .section-heading > .offerings-intro, .lab-intro > p:last-child { max-width: 50rem; color: var(--muted); font-family: var(--sans); font-size: clamp(1rem, 1.5vw, 1.28rem); line-height: 1.55; }
.section-heading > p:last-child, .section-heading > .offerings-intro { margin: 1.45rem auto 0; }
.section-heading.compact h2, .lab-intro h2 { font-size: clamp(3.5rem, 6.8vw, 7rem); }
.text-link { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1.5rem; color: var(--yellow); font-weight: 600; text-decoration: none; }
.text-link span { transition: transform .25s var(--ease); }
.text-link:hover span { transform: translate(3px, -3px); }
.leadership-link-arrow { display: block; flex: 0 0 auto; width: 1.5rem; height: 1.5rem; overflow: visible; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; stroke-linejoin: miter; transition: transform .25s var(--ease); }
.text-link:hover .leadership-link-arrow { transform: translate(3px, -3px); }
.minimal-arrow { position: relative; display: inline-block; flex: 0 0 auto; width: 1.5rem; height: 1.5rem; }
.minimal-arrow::before { content: ""; position: absolute; left: .15rem; top: calc(50% - 1px); width: 1.2rem; height: 2px; border-radius: 999px; background: currentColor; transform: rotate(-45deg); transform-origin: center; }
.minimal-arrow::after { content: ""; position: absolute; top: .14rem; right: .14rem; width: .62rem; height: .62rem; border-top: 2px solid currentColor; border-right: 2px solid currentColor; border-radius: 1px; }

.hero { flex-direction: column; align-items: center; justify-content: center; min-height: 100svh; padding-block: clamp(3.5rem, 8vh, 5.5rem); text-align: center; }
.hero-content { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; width: 100%; }
.hero-lockup { position: relative; left: auto; top: auto; width: min(76vw, 74rem); margin: 0 auto; }
.hero-wordmark-stage { position: relative; width: 100%; isolation: isolate; }
.hero-wordmark { position: relative; z-index: 2; width: 100%; filter: drop-shadow(0 0 38px rgba(255,213,0,.06)); user-select: none; }
.hero-wordmark-webgl-echo { backface-visibility: hidden; }
.hero-agency { position: relative; z-index: 3; width: clamp(9rem, 16vw, 15rem); margin: 1.3rem auto 0; }
.js .cycle[data-cycle="0"] .hero-wordmark-stage { animation: formationWordmarkBuild 1s var(--ease) .08s both; }
.js .cycle[data-cycle="0"] .hero-agency { animation: formationAgencyBuild .62s var(--ease) .86s both; }
.js .cycle[data-cycle="0"] .hero-copy > p:not(.eyebrow) { animation: formationCopyBuild .68s var(--ease) 1.14s both; }
@keyframes formationWordmarkBuild { 0% { opacity: 0; transform: translate3d(0, -34vh, 0) scale(.85); transform-origin: center; } 100% { opacity: 1; transform: translate3d(0, 0, 0) scale(1); transform-origin: center; } }
@keyframes formationAgencyBuild { 0% { opacity: 0; transform: translateY(.65rem); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes formationCopyBuild { 0% { opacity: 0; transform: translateY(.9rem); } 100% { opacity: 1; transform: translateY(0); } }
.hero-copy { position: relative; z-index: 3; width: min(64rem, 90vw); margin: 40px auto 0; text-align: center; }
.hero-copy .eyebrow { display: none; }
.hero-copy > p:not(.eyebrow) { margin: 0 auto; max-width: 44rem; color: var(--muted); font-size: clamp(1rem, 1.55vw, 1.3rem); line-height: 1.65; text-align: center; }
.orbit { position: absolute; z-index: -1; border: 1px solid rgba(180,204,255,.12); border-radius: 50%; opacity: 0; pointer-events: none; }
.orbit-one { width: min(90vw, 80rem); aspect-ratio: 1; left: 25%; top: -14%; }
.orbit-two { width: min(55vw, 48rem); aspect-ratio: 1; left: 42%; top: 10%; border-style: dashed; }
.scroll-cue { position: absolute; right: 3vw; bottom: 7rem; display: flex; align-items: center; gap: 1rem; color: rgba(255,255,255,.5); font-size: .65rem; letter-spacing: .2em; text-transform: uppercase; opacity: 1; visibility: visible; transform: rotate(90deg); transform-origin: right bottom; transition: opacity .38s var(--ease), transform .48s var(--ease), visibility 0s linear; }
.scroll-cue i { display: block; width: 3rem; height: 1px; background: var(--yellow); transform-origin: left; transition: opacity .28s var(--ease), transform .38s var(--ease); animation: cuePulse 1.8s infinite var(--ease); }
.has-started-scrolling .scroll-cue { opacity: 0; visibility: hidden; transform: rotate(90deg) translateX(.9rem); transition-delay: 0s, 0s, .48s; }
.has-started-scrolling .scroll-cue i { opacity: 0; transform: scaleX(0); animation: none; }
@keyframes cuePulse { 0%,100% { transform: scaleX(.35); transform-origin: left; } 50% { transform: scaleX(1); transform-origin: left; } }

.principles { align-items: center; justify-content: center; padding-top: clamp(6.75rem, 10vh, 8rem); padding-bottom: clamp(7rem, 10vh, 8.5rem); isolation: auto; }
.principles-layout { position: relative; z-index: 2; display: grid; grid-template-areas: "visual intro" "visual accordion"; grid-template-columns: minmax(0, 1.08fr) minmax(26rem, 1fr); grid-template-rows: auto 1fr; column-gap: clamp(1.75rem, 3vw, 3.5rem); row-gap: clamp(1.25rem, 2.2vh, 1.85rem); align-items: start; width: min(100%, 96rem); margin: auto; }
.principles-visual { grid-area: visual; align-self: center; min-width: 0; margin: 0; }
.principles-visual-stage {
  --principle-render-x: 0px;
  --principle-render-y: 0px;
  --principle-render-rx: 0deg;
  --principle-render-ry: 0deg;
  position: relative;
  display: grid;
  place-items: center;
  width: min(100%, 50rem, 82svh);
  aspect-ratio: 1;
  margin: 0 auto;
  isolation: auto;
  perspective: 72rem;
  perspective-origin: 50% 43%;
  transform-style: preserve-3d;
  contain: layout;
  touch-action: pan-y;
}
.principles-render-stack {
  position: absolute;
  z-index: 4;
  inset: 0;
  overflow: visible;
  mix-blend-mode: normal;
  pointer-events: none;
  transform: translate3d(var(--principle-render-x), var(--principle-render-y), 0)
    rotateX(var(--principle-render-rx))
    rotateY(var(--principle-render-ry))
    scale(1);
  transform-origin: 50% 52%;
  transform-style: preserve-3d;
}
.principles-reference-render {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: 50% 50%;
  mix-blend-mode: normal;
  opacity: 0;
  visibility: hidden;
  user-select: none;
  transition: opacity .42s var(--ease), visibility 0s linear .42s;
}
.principles-reference-render:not(.principles-reference-render--cutout) {
  mix-blend-mode: lighten;
  -webkit-mask-image:
    linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%),
    linear-gradient(0deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-composite: source-in;
  mask-image:
    linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%),
    linear-gradient(0deg, transparent 0, #000 4%, #000 96%, transparent 100%);
  mask-composite: intersect;
}
.principles-reference-render--cutout {
  mix-blend-mode: normal;
  -webkit-mask-image: none;
  mask-image: none;
}
.principles-reference-render:is([data-principle-render="0"], [data-principle-render="1"], [data-principle-render="2"]) { object-fit: cover; }
.principles-visual[data-active-principle="0"] .principles-reference-render[data-principle-render="0"],
.principles-visual[data-active-principle="1"] .principles-reference-render[data-principle-render="1"],
.principles-visual[data-active-principle="2"] .principles-reference-render[data-principle-render="2"],
.principles-visual[data-active-principle="3"] .principles-reference-render[data-principle-render="3"],
.principles-visual[data-active-principle="4"] .principles-reference-render[data-principle-render="4"] {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.principles-visual-stage.is-reacting .principles-render-stack { will-change: transform; }
.principles-sequence-canvas {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .16s var(--ease), visibility 0s linear .16s;
}
.principles-visual-stage.is-method-sequence-visible .principles-sequence-canvas {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.principles-visual[data-active-principle="4"] .principles-sequence-canvas {
  opacity: 0;
  visibility: hidden;
}
.principles-visual .principles-visual-stage.is-method-frame-transitioning .principles-reference-render.principles-reference-render,
.principles-visual:is([data-active-principle="0"], [data-active-principle="1"], [data-active-principle="2"], [data-active-principle="3"]) .principles-visual-stage.has-method-sequence-animation .principles-reference-render {
  opacity: 0;
  visibility: hidden;
}
.principles-visual-stage.is-reacting .principles-sequence-canvas { will-change: contents; }
.principles-elastic-canvas {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.principles-voxel-webgl-canvas {
  position: absolute;
  z-index: 5;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity .16s var(--ease);
}
.principles-voxel-webgl-canvas[hidden] { display: none; }
.principles-visual-stage.is-reacting .principles-voxel-webgl-canvas { opacity: 1; }
.principles-visual:is([data-active-principle="0"], [data-active-principle="1"], [data-active-principle="2"], [data-active-principle="3"], [data-active-principle="4"]) .principles-voxel-webgl-canvas {
  opacity: 0;
  visibility: hidden;
}
.principles-visual-stage.is-reacting .principles-elastic-canvas {
  will-change: contents;
}
.principle-object {
  position: absolute;
  z-index: 1;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, .85rem, 0) scale(.965);
  transform-style: preserve-3d;
  transition: opacity .34s var(--ease), transform .5s var(--ease), visibility 0s linear .5s;
}
.principle-object.is-active {
  z-index: 2;
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0) scale(1);
  transition-delay: .08s, .08s, 0s;
}
.principle-object-rig {
  position: absolute;
  inset: 7%;
  transform: translate3d(var(--object-x), var(--object-y), 0) rotateX(var(--object-rx)) rotateY(var(--object-ry));
  transform-origin: 50% 58%;
  transform-style: preserve-3d;
  will-change: auto;
}
.principles-visual-stage.is-reacting .principle-object-rig { will-change: transform; }
.principle-object-rig::after {
  content: none;
}
.method-cube {
  --cube-size: 7rem;
  --cube-x: 0rem;
  --cube-y: 0rem;
  --cube-z: 0rem;
  --cube-rx: -19deg;
  --cube-ry: 38deg;
  --cube-rz: -1deg;
  --cube-front: #2e386f;
  --cube-back: #030412;
  --cube-right: #0c0f2d;
  --cube-left: #161c47;
  --cube-top: #5362a2;
  --cube-bottom: #07091d;
  --cube-edge: #3a3239;
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: var(--cube-size);
  height: var(--cube-size);
  transform: translate(-50%, -50%) translate3d(var(--cube-x), var(--cube-y), var(--cube-z)) rotateX(var(--cube-rx)) rotateY(var(--cube-ry)) rotateZ(var(--cube-rz));
  transform-style: preserve-3d;
}
.method-cube--gold {
  --cube-front: #7a5d29;
  --cube-back: #160f04;
  --cube-right: #2b1d0b;
  --cube-left: #4b3415;
  --cube-top: #b1903c;
  --cube-bottom: #160f04;
  --cube-edge: #5d5566;
}
.method-cube-face {
  position: absolute;
  inset: 0;
  display: block;
  border: 1px solid var(--cube-edge);
  background: var(--cube-front);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .035), inset -.75rem -1rem 1.5rem rgba(0, 7, 34, .12);
  backface-visibility: hidden;
}
.method-cube-face--front { transform: translateZ(calc(var(--cube-size) / 2)); }
.method-cube-face--back { background: var(--cube-back); transform: rotateY(180deg) translateZ(calc(var(--cube-size) / 2)); }
.method-cube-face--right { background: var(--cube-right); transform: rotateY(90deg) translateZ(calc(var(--cube-size) / 2)); }
.method-cube-face--left { background: var(--cube-left); transform: rotateY(-90deg) translateZ(calc(var(--cube-size) / 2)); }
.method-cube-face--top { background: var(--cube-top); transform: rotateX(90deg) translateZ(calc(var(--cube-size) / 2)); }
.method-cube-face--bottom { background: var(--cube-bottom); transform: rotateX(-90deg) translateZ(calc(var(--cube-size) / 2)); }

.method-cube--distill-core { --cube-size: clamp(7.1rem, 14vw, 9.7rem); --cube-x: -.8rem; --cube-y: .8rem; --cube-z: 1.1rem; --cube-rx: -18deg; --cube-ry: 39deg; --cube-rz: -2deg; }
.method-cube--distill-cluster-left,
.method-cube--distill-cluster-right,
.method-cube--distill-cluster-rear,
.method-cube--distill-cluster-base { --cube-size: clamp(2.7rem, 5.2vw, 3.7rem); --cube-rx: -20deg; --cube-ry: 36deg; --cube-rz: -1deg; }
.method-cube--distill-cluster-left { --cube-x: -7rem; --cube-y: 1.7rem; --cube-z: -.9rem; }
.method-cube--distill-cluster-right { --cube-x: 5.2rem; --cube-y: 4.7rem; --cube-z: -.25rem; }
.method-cube--distill-cluster-rear { --cube-x: -3.7rem; --cube-y: -5.1rem; --cube-z: -2.2rem; }
.method-cube--distill-cluster-base { --cube-x: -.4rem; --cube-y: 7rem; --cube-z: -1.8rem; }
.method-cube--distill-accent { --cube-size: clamp(2.8rem, 5.2vw, 3.8rem); --cube-x: 5.5rem; --cube-y: -5.3rem; --cube-z: 5rem; --cube-rx: -23deg; --cube-ry: 32deg; --cube-rz: 4deg; }

.principle-object--structure .principle-object-rig { inset: 8%; }
.method-cube--structure-nw,
.method-cube--structure-ne,
.method-cube--structure-sw,
.method-cube--structure-se,
.method-cube--structure-back-nw,
.method-cube--structure-back-ne,
.method-cube--structure-back-sw,
.method-cube--structure-back-se { --cube-size: clamp(2.65rem, 4.8vw, 3.45rem); --cube-rx: -18deg; --cube-ry: 32deg; --cube-rz: 0deg; }
.method-cube--structure-nw { --cube-x: -6rem; --cube-y: -4.6rem; --cube-z: 2rem; }
.method-cube--structure-ne { --cube-x: 6rem; --cube-y: -4.6rem; --cube-z: 2rem; }
.method-cube--structure-sw { --cube-x: -6rem; --cube-y: 4.6rem; --cube-z: 2rem; }
.method-cube--structure-se { --cube-x: 6rem; --cube-y: 4.6rem; --cube-z: 2rem; }
.method-cube--structure-back-nw { --cube-x: -4.6rem; --cube-y: -3.4rem; --cube-z: -3rem; }
.method-cube--structure-back-ne { --cube-x: 4.6rem; --cube-y: -3.4rem; --cube-z: -3rem; }
.method-cube--structure-back-sw { --cube-x: -4.6rem; --cube-y: 3.4rem; --cube-z: -3rem; }
.method-cube--structure-back-se { --cube-x: 4.6rem; --cube-y: 3.4rem; --cube-z: -3rem; }
.method-structure-rail {
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 50%;
  display: block;
  width: 9rem;
  height: .28rem;
  border: 1px solid rgba(93, 151, 255, .5);
  background: #0a3b98;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .035);
  transform-origin: 0 50%;
}
.method-structure-rail--top-front { width: 12rem; transform: translate(-6rem, -4.6rem) translateZ(1rem); }
.method-structure-rail--right-front { width: 9.2rem; transform: translate(6rem, -4.6rem) translateZ(1rem) rotate(90deg); }
.method-structure-rail--bottom-front { width: 12rem; transform: translate(-6rem, 4.6rem) translateZ(1rem); }
.method-structure-rail--left-front { width: 9.2rem; transform: translate(-6rem, -4.6rem) translateZ(1rem) rotate(90deg); }
.method-structure-rail--top-back { width: 9.2rem; transform: translate(-4.6rem, -3.4rem) translateZ(-3.4rem); }
.method-structure-rail--right-back { width: 6.8rem; transform: translate(4.6rem, -3.4rem) translateZ(-3.4rem) rotate(90deg); }
.method-structure-rail--bottom-back { width: 9.2rem; transform: translate(-4.6rem, 3.4rem) translateZ(-3.4rem); }
.method-structure-rail--left-back { width: 6.8rem; transform: translate(-4.6rem, -3.4rem) translateZ(-3.4rem) rotate(90deg); }
.method-structure-rail--depth-nw { width: 1.85rem; transform: translate(-4.6rem, -3.4rem) translateZ(-1rem) rotate(-139deg); }
.method-structure-rail--depth-ne { width: 1.85rem; transform: translate(4.6rem, -3.4rem) translateZ(-1rem) rotate(-41deg); }
.method-structure-rail--depth-sw { width: 1.85rem; transform: translate(-4.6rem, 3.4rem) translateZ(-1rem) rotate(139deg); }
.method-structure-rail--depth-se { width: 1.85rem; border-color: rgba(255, 229, 93, .58); background: #bd8d00; transform: translate(4.6rem, 3.4rem) translateZ(-1rem) rotate(41deg); }

.principle-object--compression .principle-object-rig { inset: 5%; }
.method-cube--compression-left,
.method-cube--compression-center,
.method-cube--compression-right,
.method-cube--compression-upper-left,
.method-cube--compression-upper-center,
.method-cube--compression-upper-right { --cube-size: clamp(3.85rem, 6.8vw, 4.75rem); --cube-rx: -15deg; --cube-ry: 24deg; --cube-rz: 0deg; }
.method-cube--compression-left { --cube-x: -4.45rem; --cube-y: 2.45rem; --cube-z: .2rem; }
.method-cube--compression-center { --cube-x: 0rem; --cube-y: 2.45rem; --cube-z: .55rem; }
.method-cube--compression-right { --cube-x: 4.45rem; --cube-y: 2.45rem; --cube-z: .9rem; }
.method-cube--compression-upper-left { --cube-x: -4.45rem; --cube-y: -2.45rem; --cube-z: -.45rem; }
.method-cube--compression-upper-center { --cube-x: 0rem; --cube-y: -2.45rem; --cube-z: -.1rem; }
.method-cube--compression-upper-right { --cube-x: 4.45rem; --cube-y: -2.45rem; --cube-z: .25rem; }
.method-compression-seam {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 50%;
  display: block;
  width: .34rem;
  height: clamp(8rem, 14vw, 10.2rem);
  border-radius: .04rem;
  background: var(--yellow);
  transform: translate(2.2rem, -48%) translateZ(5.2rem) rotate(-1deg);
}

.principle-object--build .principle-object-rig { inset: 6%; }
.method-cube--build-1,
.method-cube--build-2,
.method-cube--build-3,
.method-cube--build-4,
.method-cube--build-5,
.method-cube--build-support-1,
.method-cube--build-support-2,
.method-cube--build-support-3 { --cube-size: clamp(3.35rem, 6.1vw, 4.25rem); --cube-rx: -20deg; --cube-ry: 36deg; --cube-rz: -1deg; }
.method-cube--build-1 { --cube-x: -8rem; --cube-y: 5.4rem; --cube-z: -1.2rem; }
.method-cube--build-2 { --cube-x: -4rem; --cube-y: 2.7rem; --cube-z: -.55rem; }
.method-cube--build-3 { --cube-x: 0rem; --cube-y: 0rem; --cube-z: .1rem; }
.method-cube--build-4 { --cube-x: 4rem; --cube-y: -2.7rem; --cube-z: .75rem; }
.method-cube--build-5 { --cube-x: 8rem; --cube-y: -5.4rem; --cube-z: 1.4rem; }
.method-cube--build-support-1 { --cube-x: -4rem; --cube-y: 6.8rem; --cube-z: -1.4rem; }
.method-cube--build-support-2 { --cube-x: 0rem; --cube-y: 4.1rem; --cube-z: -.8rem; }
.method-cube--build-support-3 { --cube-x: 4rem; --cube-y: 1.4rem; --cube-z: -.2rem; }

.principle-object--refine .principle-object-rig { inset: 5% 3.2% 11% 6.8%; }
.principle-object--refine .principle-object-rig::after { left: 17%; right: 12%; bottom: 10%; height: 8%; }
.method-device { position: absolute; display: block; transform-style: preserve-3d; }
.method-laptop {
  left: 47%;
  top: 49%;
  width: min(72%, 24rem);
  aspect-ratio: 1.52;
  transform: translate(-50%, -50%) translateZ(-1.5rem) rotateX(-4deg) rotateY(-9deg) rotateZ(-1deg);
}
.method-laptop-lid {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 78%;
  padding: .55rem;
  border: 1px solid rgba(92, 146, 255, .62);
  border-radius: .7rem .7rem .3rem .3rem;
  background: #06265f;
  box-shadow: inset 0 0 0 .18rem #041a46, 0 1.1rem 2rem rgba(0, 4, 18, .24);
}
.method-device-screen {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border: 1px solid rgba(255, 248, 225, .66);
  border-radius: .25rem;
  background: #f3eee2;
  box-shadow: inset 0 0 2.4rem rgba(207, 194, 164, .14);
}
.method-laptop-hinge {
  position: absolute;
  z-index: 3;
  left: 27%;
  top: 77.5%;
  display: block;
  width: 46%;
  height: .28rem;
  border-radius: 999px;
  background: var(--yellow);
}
.method-laptop-base {
  position: absolute;
  left: -4%;
  top: 78%;
  display: block;
  width: 108%;
  height: 18%;
  border: 1px solid rgba(84, 139, 255, .55);
  border-radius: .16rem .16rem .7rem .7rem;
  background: #08347e;
  clip-path: polygon(4% 0, 96% 0, 100% 72%, 92% 100%, 8% 100%, 0 72%);
  transform: rotateX(57deg) translateZ(.15rem);
  transform-origin: 50% 0;
}
.method-phone {
  z-index: 4;
  left: 69%;
  top: 58%;
  width: min(22%, 7rem);
  aspect-ratio: .52;
  transform: translate(-50%, -50%) translateZ(5rem) rotateX(-2deg) rotateY(-7deg) rotateZ(2deg);
}
.method-phone-shell {
  position: absolute;
  inset: 0;
  display: block;
  padding: .42rem;
  border: 1px solid rgba(94, 151, 255, .78);
  border-radius: 1.05rem;
  background: #07358d;
  box-shadow: 0 0 0 .11rem var(--yellow), .75rem 1.25rem 1.8rem rgba(0, 4, 18, .34), inset 0 0 0 .15rem #031a4d;
}
.method-phone-shell .method-device-screen { border-radius: .7rem; }
.method-phone-speaker {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: .66rem;
  display: block;
  width: 24%;
  height: .14rem;
  border-radius: 999px;
  background: #031334;
  transform: translateX(-50%);
}
.method-refine-accent {
  position: absolute;
  z-index: -1;
  left: 25%;
  top: 29%;
  display: block;
  width: clamp(3.2rem, 7vw, 4.8rem);
  aspect-ratio: 1;
  border: 1px solid rgba(97, 153, 255, .66);
  background: #0a3b98;
  box-shadow: .38rem .38rem 0 #c99d00;
  transform: translate(-50%, -50%) translateZ(-4rem) rotate(45deg);
}
.principles-intro { grid-area: intro; align-self: end; width: 100%; margin: 0; text-align: left; }
.principles-intro h2 { margin: 0; color: var(--white); font-family: var(--serif); font-size: clamp(3.2rem, 4.6vw, 5.25rem); font-weight: 400; line-height: .94; letter-spacing: -.05em; }
.principles-intro > p:not(.eyebrow) { max-width: 39rem; margin: .85rem 0 0; color: var(--muted); font-family: var(--sans); font-size: clamp(.86rem, 1.02vw, 1rem); line-height: 1.58; }
.principles-intro > p + p:not(.eyebrow) { margin-top: 0; }
.principles-accordion { grid-area: accordion; align-self: start; width: 100%; border-bottom: 1px solid rgba(215, 225, 255, .22); background: linear-gradient(90deg, rgba(3, 15, 45, .2), rgba(3, 15, 45, 0) 72%); }
.principle-step { position: relative; border-top: 1px solid rgba(215, 225, 255, .22); transition: background-color .3s var(--ease), border-color .3s var(--ease); }
.principle-step::before { content: ""; position: absolute; left: 0; top: -.0625rem; bottom: 0; width: .125rem; background: var(--yellow); opacity: 0; transform: scaleY(.35); transform-origin: center; transition: opacity .3s var(--ease), transform .4s var(--ease); }
.principle-step.is-active { border-color: rgba(255, 219, 0, .42); background: linear-gradient(90deg, rgba(255, 219, 0, .065), transparent 68%); }
.principle-step.is-active::before { opacity: 1; transform: scaleY(1); }
.principle-step h3 { margin: 0; font: inherit; }
.principle-trigger { display: grid; grid-template-columns: 2.45rem minmax(0, 1fr) 1.55rem; gap: .85rem; align-items: start; width: 100%; min-height: 4.55rem; margin: 0; padding: 1.05rem .45rem 1.05rem 1rem; border: 0; color: rgba(246, 244, 239, .78); background: transparent; font: inherit; text-align: left; cursor: pointer; transition: color .25s var(--ease), padding-left .3s var(--ease); }
.principle-step-number { padding-top: .14rem; color: rgba(255, 219, 0, .72); font-size: .7rem; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: .12em; line-height: 1.35; }
.principle-step-title { max-width: 31rem; font-family: var(--sans); font-size: clamp(1rem, 1.18vw, 1.16rem); font-weight: 600; line-height: 1.28; letter-spacing: -.012em; text-wrap: balance; }
.principle-step-toggle { position: relative; display: block; width: 1.45rem; height: 1.45rem; margin-top: .02rem; border: 1px solid rgba(215, 225, 255, .3); border-radius: 50%; transition: border-color .25s var(--ease), transform .35s var(--ease); }
.principle-step-toggle::before, .principle-step-toggle::after { content: ""; position: absolute; left: 50%; top: 50%; width: .52rem; height: 1px; background: currentColor; transform: translate(-50%, -50%); transition: transform .35s var(--ease), opacity .25s var(--ease); }
.principle-step-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.principle-step.is-expanded .principle-step-toggle::after { opacity: 0; transform: translate(-50%, -50%) rotate(0deg); }
.principle-step.is-expanded .principle-step-toggle { border-color: rgba(255, 213, 0, .68); transform: rotate(180deg); }
.principle-step.is-active .principle-trigger { color: var(--yellow); }
.principle-trigger:hover { color: var(--white); padding-left: 1.28rem; }
.principle-trigger:focus-visible { outline: 2px solid var(--yellow); outline-offset: .2rem; }
.principle-detail { display: grid; grid-template-rows: 0fr; color: rgba(246, 244, 239, .7); opacity: 0; visibility: hidden; transition: grid-template-rows .4s var(--ease), opacity .3s var(--ease), visibility 0s linear .4s; }
.principle-detail-inner { min-height: 0; overflow: hidden; }
.principle-detail-content { max-width: 39rem; padding: .05rem 2.15rem 1.45rem 4.3rem; }
.principle-summary { max-width: 36rem; margin: 0; color: rgba(246, 244, 239, .76); font-size: clamp(.8rem, .92vw, .91rem); line-height: 1.58; }
.principle-summary + .principle-summary { margin-top: .72rem; }
.principle-summary--secondary { padding-left: .8rem; border-left: 1px solid rgba(255, 219, 0, .5); color: rgba(246, 244, 239, .88); }
.principle-substeps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.9rem, 1.7vw, 1.35rem); margin: 1rem 0 0; }
.principle-substep { padding-top: .7rem; border-top: 1px solid rgba(215, 225, 255, .22); }
.principle-substep dt { margin: 0; color: var(--yellow); font-size: .68rem; font-weight: 700; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }
.principle-substep dd { margin: .38rem 0 0; color: rgba(246, 244, 239, .68); font-size: clamp(.75rem, .82vw, .82rem); line-height: 1.52; }
.principle-step.is-expanded .principle-detail { grid-template-rows: 1fr; opacity: 1; visibility: visible; transition-delay: 0s; }

@media (max-width: 980px) {
  .principles { min-height: auto; padding-top: 7rem; padding-bottom: 7rem; }
  .principles-layout { grid-template-areas: "intro" "visual" "accordion"; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; row-gap: 1.5rem; width: min(100%, 44rem); }
  .principles-intro { text-align: center; }
  .principles-intro > p:not(.eyebrow) { margin-left: auto; margin-right: auto; }
  .principles-visual-stage { width: min(100%, 34rem); }
  .principles-accordion { margin-top: .25rem; }
}

@media (prefers-reduced-motion: reduce) {
  .principle-object, .principle-object-rig, .principles-elastic-canvas, .principles-render-stack, .principles-reference-render, .principles-sequence-canvas { animation: none !important; transition: none !important; }
  .principles-sequence-canvas { display: none !important; }
  .principles-visual .principles-visual-stage .principles-reference-render { visibility: hidden; }
  .principles-visual[data-active-principle="0"] .principles-reference-render[data-principle-render="0"],
  .principles-visual[data-active-principle="1"] .principles-reference-render[data-principle-render="1"],
  .principles-visual[data-active-principle="2"] .principles-reference-render[data-principle-render="2"],
  .principles-visual[data-active-principle="3"] .principles-reference-render[data-principle-render="3"],
  .principles-visual[data-active-principle="4"] .principles-reference-render[data-principle-render="4"] { opacity: 1 !important; visibility: visible !important; }
  .principle-detail, .principle-step::before, .principle-trigger, .principle-step-toggle { transition: none; }
}

.section.offerings {
  --offerings-glow-blue-alpha: .13;
  --offerings-glow-warm-alpha: .05;
  --offerings-title-progress: 1;
  --offerings-copy-progress: 1;
  --offerings-links-progress: 1;
  display: block;
  min-height: max(100svh, 53rem);
  padding: 0;
  background: transparent;
}
.js .section.offerings {
  --offerings-glow-blue-alpha: 0;
  --offerings-glow-warm-alpha: 0;
  --offerings-title-progress: 0;
  --offerings-copy-progress: 0;
  --offerings-links-progress: 0;
}
.section.offerings::after { z-index: 0; background: linear-gradient(180deg, rgba(0, 4, 17, .1), transparent 22% 74%, rgba(0, 4, 17, .3)), radial-gradient(circle at 54% 49%, rgba(17, 75, 178, var(--offerings-glow-blue-alpha)), transparent 23%), linear-gradient(180deg, rgba(0, 4, 17, .08), rgba(0, 4, 17, .28)); }
.offerings .section-heading { position: absolute; z-index: 6; top: clamp(5.75rem, 8vh, 7.25rem); left: 50%; width: min(46rem, calc(100% - 2.5rem)); margin: 0; transform: translateX(-50%); }
.offerings .section-heading.compact h2,
.product-lab .section-heading.compact h2,
.contact .section-heading.compact h2 { font-size: clamp(2.8rem, 4.5vw, 4.8rem); }
.offerings .section-heading h2 em { color: var(--white); font-style: normal; }
.offerings .section-heading > .offerings-intro,
.product-lab .section-heading > p:last-child { max-width: 44rem; margin-top: .65rem; font-size: clamp(.84rem, 1.05vw, 1rem); }
.capability-title-list { display: grid; gap: 0; width: max-content; max-width: 100%; margin: .85rem auto 0; padding: 0; list-style: none; }
.capability-title-list li { margin: 0; }
.capability-title-list li + li { position: relative; }
.capability-title-list li + li::before { content: ""; position: absolute; left: 0; top: -.25rem; width: 100%; height: .5rem; background-color: transparent; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 192 8'%3E%3Cpath d='M0 4 C12 4 18 2.9 30 3 S48 5.2 60 5 S78 3.2 90 3.35 S108 4.8 120 4.65 S138 2.8 150 3 S174 4 192 4' fill='none' stroke='%23d7e1ff' stroke-opacity='.2' stroke-width='1' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E"); background-repeat: repeat-x; background-position: 0 50%; background-size: 12rem .5rem; pointer-events: none; will-change: background-position; animation: capability-divider-flow 6.8s linear infinite; }
.capability-title-list li:nth-child(3)::before { animation-delay: -1.7s; }
.capability-title-list li:nth-child(4)::before { animation-delay: -3.4s; }
.capability-title-list li:nth-child(5)::before { animation-delay: -5.1s; }
@keyframes capability-divider-flow { from { background-position: 0 50%; } to { background-position: 12rem 50%; } }
.capability-title-trigger { display: block; width: 100%; padding: .2rem 0; border: 0; color: rgba(246, 244, 239, .76); background: transparent; font: inherit; font-size: clamp(.74rem, .83vw, .86rem); font-weight: 450; line-height: 1.4; text-align: center; cursor: pointer; appearance: none; transition: color .24s var(--ease), transform .3s var(--ease); }
.capability-title-trigger:is(:hover, :focus-visible, [aria-expanded="true"]) { color: var(--yellow); transform: translateX(.2rem); }
.capability-title-trigger:active { transform: translateX(.2rem) scale(.985); }
.capability-title-trigger:focus-visible { outline: 1px solid rgba(255, 213, 0, .8); outline-offset: .22rem; }
.capabilities-scene { position: absolute; z-index: 2; inset: 0; isolation: isolate; }
.capabilities-flow-canvas { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; opacity: .96; filter: drop-shadow(0 0 1.15rem rgba(23, 102, 255, .16)); pointer-events: none; }
.capabilities-scene::after { content: ""; position: absolute; z-index: 1; inset: 0; background: radial-gradient(ellipse at 54% 51%, rgba(255, 213, 0, var(--offerings-glow-warm-alpha)), transparent 19%), linear-gradient(90deg, rgba(2, 9, 29, .22), transparent 26% 78%, rgba(2, 9, 29, .12)); pointer-events: none; }
.capability-node { --cube-size: clamp(5rem, 6.1vw, 7rem); --cube-edge: calc(var(--cube-size) * .58); position: absolute; z-index: 3; left: var(--node-x); top: var(--node-y); width: var(--cube-size); height: var(--cube-size); transform: translate(-50%, -50%); transition: z-index 0s linear .45s, opacity .35s var(--ease), filter .35s var(--ease); }
.capability-node--1 { --node-x: 15%; --node-y: 84%; }
.capability-node--2 { --node-x: 35%; --node-y: 69%; }
.capability-node--3 { --node-x: 53%; --node-y: 51%; }
.capability-node--4 { --node-x: 75%; --node-y: 31%; }
.capability-node--5 { --node-x: 89%; --node-y: 14%; }
.capability-trigger { position: relative; z-index: 4; display: grid; place-items: center; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 50%; color: var(--yellow); background: transparent; cursor: pointer; appearance: none; }
.capability-trigger:focus-visible { outline: 2px solid var(--yellow); outline-offset: .6rem; }
.capability-cube { position: relative; display: grid; place-items: center; width: 100%; height: 100%; perspective: 38rem; filter: drop-shadow(0 0 .55rem rgba(255, 213, 0, .3)); transform: translateZ(0); transition: transform .52s var(--ease), filter .52s var(--ease); }
.capability-cube::before { content: ""; position: absolute; z-index: -1; inset: 15%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 213, 0, .42), rgba(255, 167, 0, .14) 38%, transparent 70%); filter: blur(.45rem); opacity: .72; transition: inset .52s var(--ease), opacity .52s var(--ease), filter .52s var(--ease); }
.capability-cube-body { position: absolute; z-index: 2; left: 50%; top: 50%; display: block; width: var(--cube-edge); height: var(--cube-edge); transform-style: preserve-3d; transform: translate(-50%, -50%) rotateX(-19deg) rotateY(38deg) rotateZ(-2deg); animation: capability-cube-drift 6.5s ease-in-out infinite alternate; transition: transform .55s var(--ease), filter .55s var(--ease); }
.capability-node--2 .capability-cube-body, .capability-node--4 .capability-cube-body { animation-delay: -2.4s; }
.capability-node--3 .capability-cube-body, .capability-node--5 .capability-cube-body { animation-delay: -4.1s; }
.cube-face { position: absolute; inset: 0; border: 1px solid rgba(255, 229, 92, .84); background: linear-gradient(145deg, rgba(255, 222, 31, .43), rgba(187, 113, 0, .16)); box-shadow: inset 0 0 1.1rem rgba(255, 228, 73, .2); backface-visibility: visible; }
.cube-face::after { content: ""; position: absolute; inset: 13%; border: 1px solid rgba(255, 237, 143, .18); }
.cube-face--front { transform: translateZ(calc(var(--cube-edge) / 2)); }
.cube-face--back { opacity: .33; transform: rotateY(180deg) translateZ(calc(var(--cube-edge) / 2)); }
.cube-face--right { background: linear-gradient(145deg, rgba(255, 201, 0, .34), rgba(123, 70, 0, .24)); transform: rotateY(90deg) translateZ(calc(var(--cube-edge) / 2)); }
.cube-face--left { opacity: .58; transform: rotateY(-90deg) translateZ(calc(var(--cube-edge) / 2)); }
.cube-face--top { background: linear-gradient(145deg, rgba(255, 239, 129, .55), rgba(255, 191, 0, .22)); transform: rotateX(90deg) translateZ(calc(var(--cube-edge) / 2)); }
.cube-face--bottom { opacity: .38; transform: rotateX(-90deg) translateZ(calc(var(--cube-edge) / 2)); }
.capability-cube-icon { position: relative; z-index: 5; display: grid; place-items: center; width: calc(var(--cube-size) * .38); height: calc(var(--cube-size) * .38); color: #fff3a6; filter: drop-shadow(0 0 .35rem rgba(255, 213, 0, .9)); transition: transform .52s var(--ease), color .3s var(--ease); }
.capability-cube-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.capability-cube-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.capability-panel-defs { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.capability-node--panelled { --capability-art-scale: 1; }
.capability-node--1.capability-node--panelled { --capability-art-scale: .86; }
.capability-node--2.capability-node--panelled { --capability-art-scale: .9; }
.capability-node--3.capability-node--panelled { --capability-art-scale: .86; }
.capability-node--4.capability-node--panelled { --capability-art-scale: .76; }
.capability-node--panelled .capability-cube-body { opacity: 0; }
.capability-node--panelled .capability-cube { filter: drop-shadow(0 0 .55rem rgba(255, 213, 0, .15)); }
.capability-node--panelled .capability-cube::before { opacity: .36; }
.capability-node--panelled .capability-cube-icon--panelled { width: 100%; height: 100%; overflow: visible; filter: none; isolation: isolate; }
.capability-node--panelled .capability-shell { display: none; }
.capability-icon-art { position: absolute; z-index: 1; left: 50%; top: 50%; display: block; max-width: none; object-fit: contain; pointer-events: none; transform-origin: center; }
.capability-cube-icon--panelled .capability-icon-art--rest { z-index: 3; width: 100%; height: 100%; opacity: 1; filter: saturate(1.04) brightness(1.02) drop-shadow(0 0 .35rem rgba(255, 213, 0, .225)); transform: translate(-50%, -50%) scale(var(--capability-art-scale)); transition: opacity .18s ease .08s, transform .42s var(--ease); }
.capability-unfold { position: absolute; z-index: 4; inset: 0; display: block; opacity: 1; overflow: visible; filter: none; pointer-events: none; transform: none; }
.capability-cube-icon--panelled .capability-unfold-stage { position: absolute; z-index: 1; inset: 0; display: block; width: 100%; height: 100%; overflow: visible; fill: none; stroke: none; }
.capability-panel { filter: none; mix-blend-mode: normal; transform-box: view-box; transition: transform .84s cubic-bezier(.28, .08, .16, 1); }
.capability-panel *, .capability-unfold { filter: none !important; }
.capability-panel__surface { fill-opacity: .52; mask: url(#capability-panel-corner-mask); stroke: none; shape-rendering: geometricPrecision; }
.capability-panel--top .capability-panel__surface { fill: url(#capability-panel-surface-top); }
.capability-panel--right .capability-panel__surface { fill: url(#capability-panel-surface-right); }
.capability-panel--left .capability-panel__surface { fill: url(#capability-panel-surface-left); }
.capability-panel__edge-outer { fill: none; stroke: #805500; stroke-opacity: .88; stroke-width: 5; stroke-linejoin: round; shape-rendering: geometricPrecision; }
.capability-panel__edge-inner { fill: none; stroke: url(#capability-panel-edge); stroke-opacity: 1; stroke-width: 3.4; stroke-linecap: round; stroke-linejoin: round; shape-rendering: geometricPrecision; }
.capability-panel--top { transform: scaleY(1); transform-origin: 50% 13.671875%; }
.capability-node--4 .capability-panel--top { transform-origin: 50% 14.84375%; }
.capability-panel--right { transform: rotate(-28.660304deg) scaleY(1) rotate(28.660304deg); transform-origin: 81.4453125% 68.1640625%; }
.capability-panel--left { transform: rotate(28.511246deg) scaleY(1) rotate(-28.511246deg); transform-origin: 18.359375% 68.1640625%; }
.capability-shell { position: absolute; z-index: 1; inset: -8%; display: block; pointer-events: none; }
.capability-shell i { position: absolute; left: 24%; top: 20%; width: 52%; height: 60%; border: 1px solid rgba(255, 222, 54, .55); background: linear-gradient(135deg, rgba(255, 219, 31, .2), rgba(255, 187, 0, .04)); box-shadow: inset 0 0 1rem rgba(255, 225, 77, .1), 0 0 1rem rgba(255, 204, 0, .08); opacity: 0; clip-path: polygon(50% 0, 100% 22%, 84% 88%, 50% 100%, 16% 88%, 0 22%); transition: opacity .38s var(--ease), transform .55s var(--ease); }
.capability-shell i:nth-child(1) { transform: translateX(-12%) rotate(-5deg) scale(.66); }
.capability-shell i:nth-child(2) { transform: translateX(12%) rotate(5deg) scale(.66); }
.capability-shell i:nth-child(3) { transform: translateY(-9%) rotate(90deg) scale(.55); }
.capability-shell i:nth-child(4) { transform: translateY(9%) rotate(90deg) scale(.55); }
.capability-card { position: absolute; z-index: 2; top: 50%; width: min(23rem, 29vw); min-height: 9.5rem; display: grid; align-content: center; gap: .75rem; padding: 1.35rem 1.5rem 1.4rem; border: 1px solid rgba(215, 225, 255, .32); border-radius: .9rem; background: radial-gradient(circle at 12% 50%, rgba(22, 78, 177, .2), transparent 42%), linear-gradient(140deg, rgba(1, 9, 29, .96), rgba(5, 22, 51, .9)); box-shadow: 0 1.25rem 3rem rgba(0, 2, 12, .45), inset 0 1px 0 rgba(255, 255, 255, .05); backdrop-filter: blur(16px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .34s var(--ease), transform .46s var(--ease), visibility 0s linear .46s; }
.capability-card::before { content: ""; position: absolute; top: 50%; width: 1.4rem; height: 1px; background: linear-gradient(90deg, rgba(255, 213, 0, .9), rgba(255, 213, 0, .16)); }
.capability-node--card-right .capability-card { left: calc(100% + 1.35rem); transform: translate(1.1rem, -50%) scale(.9); transform-origin: left center; }
.capability-node--card-right .capability-card::before { right: 100%; }
.capability-node--card-left .capability-card { right: calc(100% + 1.35rem); transform: translate(-1.1rem, -50%) scale(.9); transform-origin: right center; }
.capability-node--card-left .capability-card::before { left: 100%; transform: rotate(180deg); }
.capability-card h3 { margin: 0; color: var(--white); font-family: var(--serif); font-size: clamp(1.25rem, 1.65vw, 1.65rem); font-weight: 400; line-height: 1.08; letter-spacing: -.02em; }
.capability-card p { margin: 0; color: rgba(222, 228, 241, .78); font-size: clamp(.75rem, .86vw, .88rem); line-height: 1.55; }
.capability-node:is(:hover, :focus-within, .is-active) { z-index: 9; transition-delay: 0s; }
.capability-node:is(:hover, :focus-within, .is-active) .capability-cube { filter: drop-shadow(0 0 1rem rgba(255, 213, 0, .58)); transform: scale(1.12); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-cube::before { inset: -20% -48%; opacity: .95; filter: blur(.8rem); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-cube-body { filter: brightness(1.18) saturate(1.15); transform: translate(-50%, -50%) rotateX(-14deg) rotateY(42deg) rotateZ(0) scale(1.08); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-cube-icon { color: #fffbd9; transform: scale(1.08); }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-cube { filter: none; transform: none; }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-cube-icon { transform: none; }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-icon-art--rest { z-index: 1; opacity: 1; filter: saturate(1.04) brightness(1.02); transform: translate(-50%, -50%) scale(var(--capability-art-scale)); transition-delay: 0s, 0s; }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-panel--top { transform: scaleY(-1); }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-panel--right { transform: rotate(-28.660304deg) scaleY(-1) rotate(28.660304deg); }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-panel--left { transform: rotate(28.511246deg) scaleY(-1) rotate(-28.511246deg); }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-card { transition-delay: .16s, .08s, 0s; }
.capability-node--panelled:is(:hover, :focus-within, .is-active) .capability-cube::before { inset: 15%; opacity: 0; background: radial-gradient(circle, rgba(255, 213, 0, .42), rgba(255, 167, 0, .14) 38%, transparent 70%); filter: blur(.45rem); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-shell i { opacity: .78; }
.capability-node:is(:hover, :focus-within, .is-active) .capability-shell i:nth-child(1) { transform: translateX(-54%) rotate(-16deg) scale(.94); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-shell i:nth-child(2) { transform: translateX(54%) rotate(16deg) scale(.94); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-shell i:nth-child(3) { opacity: .45; transform: translateY(-28%) rotate(90deg) scale(.7); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-shell i:nth-child(4) { opacity: .45; transform: translateY(28%) rotate(90deg) scale(.7); }
.capability-node:is(:hover, :focus-within, .is-active) .capability-card { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(0, -50%) scale(1); transition-delay: .06s, .02s, 0s; }
.offerings.is-offerings-interactive .capabilities-scene:has(.capability-node:is(:hover, :focus-within, .is-active)) .capability-node:not(:is(:hover, :focus-within, .is-active)) { opacity: .82; filter: saturate(.88); }
@keyframes capability-cube-drift { from { transform: translate(-50%, -50%) rotateX(-19deg) rotateY(34deg) rotateZ(-2deg); } to { transform: translate(-50%, -50%) rotateX(-15deg) rotateY(43deg) rotateZ(1deg); } }

/* Offerings uses one reversible timeline so its copy, live fibers, and cubes stay in sequence. */
.js .offerings .section-heading h2 {
  opacity: var(--offerings-title-progress);
  filter: blur(calc((1 - var(--offerings-title-progress)) * 8px));
  transform: translate3d(0, calc((1 - var(--offerings-title-progress)) * 1rem), 0);
  will-change: opacity, filter, transform;
}
.js .offerings .offerings-intro {
  opacity: var(--offerings-copy-progress);
  filter: blur(calc((1 - var(--offerings-copy-progress)) * 6px));
  transform: translate3d(0, calc((1 - var(--offerings-copy-progress)) * .8rem), 0);
  will-change: opacity, filter, transform;
}
.js .offerings .capability-title-list {
  opacity: var(--offerings-links-progress);
  filter: blur(calc((1 - var(--offerings-links-progress)) * 5px));
  pointer-events: none;
  transform: translate3d(0, calc((1 - var(--offerings-links-progress)) * .65rem), 0);
  will-change: opacity, filter, transform;
}
.js .offerings .capability-node {
  --capability-load-progress: 0;
  pointer-events: none;
}
.js .offerings .capability-trigger {
  opacity: var(--capability-load-progress);
  transform: scale(calc(.74 + var(--capability-load-progress) * .26));
  transform-origin: center;
  will-change: opacity, transform;
}
.js .offerings.is-offerings-interactive .capability-title-list,
.js .offerings.is-offerings-interactive .capability-node { pointer-events: auto; }

@media (min-width: 901px) {
  .offerings .section-heading {
    top: clamp(13rem, 29vh, 16.5rem);
    left: clamp(5rem, 7vw, 8.5rem);
    width: min(44rem, 45vw);
    text-align: left;
    transform: none;
  }
  .offerings .section-heading > .offerings-intro,
  .product-lab .section-heading > p:last-child {
    max-width: 34rem;
    margin: .8rem 0 0;
  }
  .capability-title-list { margin-right: 0; margin-left: 0; }
  .capability-title-trigger { text-align: left; }
  .capability-node--1 .capability-card { top: 20%; }
  .capability-node--1 .capability-card::before { top: 66%; }
  .capability-node--5 .capability-card { z-index: 6; top: calc(100% + .8rem); left: -7.5rem; right: auto; width: min(19rem, 24vw); transform: translate(0, -.8rem) scale(.9); transform-origin: top center; }
  .capability-node--5 .capability-card::before { top: -.8rem; left: 50%; width: 1px; height: .8rem; background: linear-gradient(rgba(255, 213, 0, .2), rgba(255, 213, 0, .88)); transform: none; }
  .capability-node--5:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, 0) scale(1); }
}

@media (min-width: 1101px) {
  .capability-node--5 .capability-card { top: 50%; left: auto; right: calc(100% + clamp(4.5rem, 5.1vw, 6rem)); width: min(19rem, 24vw); transform: translate(-.85rem, -50%) scale(.9); transform-origin: right center; }
  .capability-node--5 .capability-card::before { top: 50%; left: 100%; width: clamp(4.5rem, 5.1vw, 6rem); height: 3rem; background: linear-gradient(90deg, rgba(255, 213, 0, .18), rgba(255, 213, 0, .9)) center / 100% 1px no-repeat; transform: translateY(-50%); }
  .capability-node--5:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, -50%) scale(1); }
}

.product-lab {
  align-items: center;
  justify-content: center;
  min-height: 100svh;
  padding-right: clamp(3.5rem, 4.8vw, 5rem);
  padding-left: clamp(3.5rem, 4.8vw, 5rem);
  padding-top: clamp(7.2rem, 12vh, 8.5rem);
  padding-bottom: calc(clamp(7rem, 12vh, 8.5rem) + env(safe-area-inset-bottom));
}
.lab-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(20rem, .72fr) minmax(34rem, 1.58fr);
  align-items: center;
  gap: clamp(1.25rem, 2.2vw, 2.75rem);
  width: min(100%, 94rem);
  min-height: min(42rem, calc(100svh - 14rem));
  margin: 0 auto;
}
.lab-copy {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
  padding-top: clamp(.5rem, 2vh, 1.25rem);
}
.lab-intro {
  width: 100%;
  margin: 0;
  text-align: left;
}
.product-lab .section-heading.compact.lab-intro h2 {
  margin: 0;
  color: var(--white);
  font-family: var(--serif);
  font-size: clamp(3.35rem, 4.6vw, 4.65rem);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: nowrap;
}
.product-lab .section-heading > p.lab-statement {
  max-width: 33rem;
  margin: clamp(.75rem, 1.7vh, 1rem) 0 0;
  color: rgba(197, 208, 230, .76);
  font-size: clamp(.84rem, 1.05vw, 1rem);
  font-weight: 300;
  line-height: 1.5;
  text-wrap: pretty;
}
.lab-product-panel { width: min(100%, 27rem); min-height: 10.5rem; }
.product-lab .section-heading .lab-intro-copy {
  max-width: none;
  min-height: 0;
  margin: clamp(1.15rem, 2.4vh, 1.55rem) 0 0;
  color: var(--muted);
  font-size: clamp(.84rem, 1.05vw, 1rem);
  font-weight: 300;
  line-height: 1.58;
}
.lab-memory-feature {
  display: grid;
  grid-template-columns: clamp(2rem, 2.5vw, 2.4rem) minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: .75rem;
  row-gap: .35rem;
  width: 100%;
  margin-top: clamp(.8rem, 1.7vh, 1.05rem);
  padding: .75rem 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
  box-shadow: none;
  transition: opacity .2s var(--ease), visibility .2s var(--ease);
}
.lab-memory-feature[hidden] {
  display: grid;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.lab-memory-feature-mark {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  justify-self: start;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 1;
  border: 0;
  background: transparent;
}
.lab-memory-feature-mark img {
  width: 82%;
  height: 82%;
  object-fit: contain;
  filter: brightness(0) invert(1);
}
.lab-memory-feature-copy { display: contents; }
.lab-memory-feature-copy h3 {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  justify-self: start;
  margin: 0;
  color: var(--white);
  font-size: clamp(.88rem, 1vw, 1rem);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -.01em;
}
.lab-memory-feature-copy p {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: stretch;
  margin: 0;
  color: rgba(197, 208, 230, .72);
  font-size: clamp(.66rem, .76vw, .75rem);
  font-weight: 300;
  line-height: 1.48;
  text-align: left;
}
.lab-actions {
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.8rem);
  margin-top: clamp(1.5rem, 3.6vh, 2.45rem);
}
.lab-primary-action,
.lab-video-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  color: var(--white);
  font-size: clamp(.82rem, .95vw, .96rem);
  font-weight: 520;
  line-height: 1;
  text-decoration: none;
  transition: color .24s var(--ease), background-color .24s var(--ease), border-color .24s var(--ease), box-shadow .3s var(--ease), transform .3s var(--ease);
}
.lab-primary-action {
  gap: .65rem;
  min-width: 8.75rem;
  padding: .85rem 1.05rem .86rem 1.15rem;
  border: 1px solid rgba(255, 219, 0, .86);
  border-radius: .72rem;
  color: var(--yellow);
  background: transparent;
  box-shadow: 0 0 1.3rem rgba(255, 219, 0, .08), inset 0 0 0 1px rgba(255, 219, 0, .05);
}
.lab-primary-action:hover { border-color: var(--yellow); color: #ffe75f; background: rgba(255, 219, 0, .08); box-shadow: 0 0 1.8rem rgba(255, 219, 0, .18), inset 0 0 0 1px rgba(255, 219, 0, .08); transform: translateY(-2px); }
.lab-primary-action:active,
.lab-video-action:active { transform: translateY(1px) scale(.985); }
.lab-primary-action:focus-visible { outline: 2px solid var(--yellow); outline-offset: .25rem; }
.lab-video-action:focus-visible { outline: 2px solid #a8ddff; outline-offset: .25rem; }
.lab-video-action { gap: .65rem; color: rgba(246, 244, 239, .86); white-space: nowrap; }
.lab-actions a[hidden] { display: none; }
.lab-video-action:hover { color: #a8ddff; transform: translateY(-2px); }
.lab-product-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  width: min(100%, 27rem);
  margin-top: clamp(1.45rem, 3vh, 2rem);
}
.lab-product-tab {
  position: relative;
  display: grid;
  grid-template-columns: max-content max-content;
  grid-template-rows: auto auto;
  column-gap: clamp(.55rem, .8vw, .75rem);
  row-gap: .1rem;
  align-content: center;
  align-items: center;
  justify-content: center;
  justify-items: start;
  width: 100%;
  height: 100%;
  min-height: 4.7rem;
  min-width: 0;
  padding: 0 clamp(.7rem, 1.2vw, 1rem);
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  opacity: .55;
  transition: opacity .24s var(--ease), transform .3s var(--ease);
}
.lab-product-tab + .lab-product-tab::before { content: ""; position: absolute; left: 0; top: .2rem; bottom: .15rem; width: 1px; background: linear-gradient(180deg, transparent, rgba(165, 196, 239, .34) 18% 82%, transparent); }
.lab-product-tab::after { content: ""; position: absolute; left: clamp(.7rem, 1.2vw, 1rem); right: clamp(.7rem, 1.2vw, 1rem); bottom: -.65rem; height: 2px; border-radius: 999px; background: #8dd6ff; box-shadow: 0 0 .8rem rgba(64, 178, 255, .48); opacity: 0; transform: scaleX(.45); transition: opacity .24s var(--ease), transform .32s var(--ease); }
.lab-product-tab:is(:hover, :focus-visible, .is-active) { opacity: 1; }
.lab-product-tab.is-active::after { opacity: 1; transform: scaleX(1); }
.lab-product-tab:focus-visible { outline: 2px solid #8dd6ff; outline-offset: .45rem; border-radius: .18rem; }
.lab-product-tab:active { transform: translateY(1px) scale(.985); }
.lab-product-tab img { grid-column: 1; grid-row: 1 / span 2; align-self: center; justify-self: center; width: auto; height: 1.9rem; max-width: 2.3rem; object-fit: contain; object-position: center; pointer-events: none; }
.lab-product-tab--kwib img { height: 2.05rem; }
.lab-product-tab strong { grid-column: 2; grid-row: 1; align-self: end; justify-self: start; margin: 0; color: var(--white); font-size: clamp(.78rem, .9vw, .9rem); font-weight: 650; line-height: 1.2; text-align: left; white-space: nowrap; }
.lab-product-tab span { grid-column: 2; grid-row: 2; align-self: start; justify-self: start; margin-top: .2rem; color: rgba(210, 221, 241, .72); font-size: clamp(.62rem, .72vw, .72rem); line-height: 1.25; text-align: left; white-space: nowrap; }
.lab-showcase {
  position: relative;
  z-index: 2;
  align-self: stretch;
  min-width: 0;
  min-height: 31rem;
  perspective: 100rem;
  perspective-origin: 100% 50%;
  isolation: isolate;
  transform: scale(.95);
  transform-origin: 50% 50%;
}
.lab-showcase::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 6%;
  right: -12%;
  bottom: 2%;
  height: 18%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(16, 102, 255, .4), rgba(3, 49, 141, .14) 42%, transparent 72%);
  filter: blur(1.25rem);
  transform: scaleY(.38);
}
.lab-screen {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border: 2px solid rgba(96, 190, 255, .78);
  background: #020a1c;
  box-shadow: 0 0 0 1px rgba(57, 133, 255, .16), 0 0 2rem rgba(36, 142, 255, .24), 0 2.8rem 5rem rgba(0, 4, 21, .62), inset 0 1px 0 rgba(225, 246, 255, .35);
  transform-style: preserve-3d;
  transition: filter .42s var(--ease), transform .58s var(--ease);
}
.lab-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(118deg, rgba(163, 223, 255, .12), transparent 16% 76%, rgba(94, 200, 255, .12)), linear-gradient(180deg, rgba(171, 224, 255, .14), transparent 14%);
  box-shadow: inset -1px 0 0 rgba(174, 227, 255, .44), inset 0 1px 0 rgba(223, 247, 255, .34);
  pointer-events: none;
}
.lab-screen img { width: 100%; height: 100%; object-fit: cover; }
.lab-screen--kwib img {
  width: calc(100% + 8px);
  height: calc(100% + 4px);
  max-width: none;
  transform: translate3d(-4px, 0, 0);
}
.lab-screen--kwib {
  z-index: 1;
  left: 0;
  top: -4%;
  width: 94%;
  aspect-ratio: 1.555;
  border-radius: clamp(.65rem, 1vw, 1rem);
  transform: rotateX(8deg) rotateY(-13deg) rotateZ(.8deg) translateZ(-.75rem);
  transform-origin: 54% 52%;
}
.lab-screen--linkup {
  z-index: 3;
  right: -2%;
  bottom: 3%;
  width: 33%;
  aspect-ratio: .739;
  border-radius: clamp(.75rem, 1.1vw, 1.1rem);
  transform: translateZ(4.5rem) rotateX(12.5deg) rotateY(-11.5deg) rotateZ(.7deg);
  transform-origin: 50% 54%;
  box-shadow: 0 0 0 1px rgba(57, 133, 255, .18), 0 0 2rem rgba(36, 142, 255, .28), 1.3rem 2.8rem 4rem rgba(0, 4, 21, .62), inset 0 1px 0 rgba(225, 246, 255, .42);
}
.lab-screen--linkup img { object-position: center top; }
@media (min-width: 64rem) and (min-height: 50rem) and (hover: hover) and (pointer: fine) {
  .lab-showcase:hover .lab-screen--kwib { transform: rotateX(7.4deg) rotateY(-12deg) rotateZ(.65deg) translate3d(-.15rem, -.2rem, -.5rem); }
  .lab-showcase:hover .lab-screen--linkup { transform: translate3d(.15rem, -.3rem, 4.75rem) rotateX(11.5deg) rotateY(-10.5deg) rotateZ(.55deg); }
}
@media (max-width: 63.999rem) {
  .product-lab { min-height: auto; padding-top: 8rem; padding-bottom: calc(8.5rem + env(safe-area-inset-bottom)); }
  .lab-layout { grid-template-columns: minmax(0, 1fr); width: min(100%, 44rem); min-height: 0; gap: 3.5rem; }
  .lab-copy { width: 100%; padding-top: 0; }
  .product-lab .section-heading.compact.lab-intro h2 { font-size: clamp(3.2rem, 8vw, 4.5rem); }
  .lab-product-strip { margin-top: 1.8rem; }
  .lab-showcase { width: 100%; min-height: 0; aspect-ratio: 1.22; perspective: 80rem; perspective-origin: 82% 46%; }
  .lab-screen--kwib { left: 1%; top: 2%; width: 94%; transform: rotateX(6deg) rotateY(-8deg) rotateZ(-1deg) translateZ(-.25rem); }
  .lab-screen--linkup { right: 0; bottom: 1%; width: 31%; transform: translateZ(2.5rem) rotateX(7deg) rotateY(-7deg) rotateZ(.2deg); }
}
@media (max-width: 40rem) {
  .product-lab { padding-right: 1.1rem; padding-left: 1.1rem; }
  .product-lab .section-heading.compact.lab-intro h2 { font-size: clamp(2.85rem, 13vw, 3.5rem); }
  .lab-memory-feature { column-gap: .65rem; row-gap: .3rem; }
  .lab-actions { align-items: flex-start; flex-direction: column; gap: .8rem; }
  .lab-primary-action { min-width: 9.5rem; }
  .lab-video-action { min-height: 2.4rem; }
  .lab-product-strip { width: 100%; margin-top: 1.5rem; }
  .lab-product-tab { column-gap: .5rem; padding-inline: .55rem; }
  .lab-product-tab img { height: 1.55rem; max-width: 1.95rem; }
  .lab-product-tab--kwib img { height: 1.75rem; }
  .lab-product-tab strong { font-size: .72rem; }
  .lab-product-tab span { font-size: .56rem; }
  .lab-layout { gap: 2.75rem; }
  .lab-showcase { aspect-ratio: 1.02; }
  .lab-screen--kwib { left: -2%; width: 102%; transform: rotateX(4deg) rotateY(-5deg) rotateZ(-.75deg) translateZ(-.15rem); }
  .lab-screen--linkup { right: -1%; width: 34%; transform: translateZ(2rem) rotateX(4deg) rotateY(-5deg) rotateZ(0deg); }
}
@media (max-height: 49.999rem) and (min-width: 64rem) {
  .product-lab { padding-top: 6.75rem; padding-bottom: calc(6.25rem + env(safe-area-inset-bottom)); }
  .lab-layout { min-height: calc(100svh - 13rem); }
  .product-lab .section-heading.compact.lab-intro h2 { font-size: clamp(3rem, 4.25vw, 4.25rem); }
  .product-lab .section-heading .lab-intro-copy { margin-top: 1.15rem; line-height: 1.45; }
  .lab-memory-feature { column-gap: .6rem; row-gap: .25rem; margin-top: .55rem; }
  .lab-memory-feature-mark { width: 2rem; }
  .lab-memory-feature-copy p { margin-top: .2rem; font-size: .66rem; line-height: 1.3; }
  .lab-actions { margin-top: 1.25rem; }
  .lab-product-strip { margin-top: clamp(1.25rem, 2.6vh, 1.65rem); }
  .lab-showcase { min-height: 27rem; perspective: 80rem; perspective-origin: 82% 46%; }
  .lab-screen--kwib { transform: rotateX(6deg) rotateY(-8deg) rotateZ(-1deg) translateZ(-.25rem); }
  .lab-screen--linkup { transform: translateZ(2.5rem) rotateX(7deg) rotateY(-7deg) rotateZ(.2deg); }
}

.leadership {
  --leadership-title-progress: 1;
  --leadership-copy-progress: 1;
  --leadership-link-progress: 1;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 10rem;
}
.js .leadership {
  --leadership-title-progress: 0;
  --leadership-copy-progress: 0;
  --leadership-link-progress: 0;
}
.splat-canvas { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none; contain: strict; opacity: 0; will-change: opacity; }
.portrait-image { position: absolute; z-index: 1; left: 54%; top: 12%; display: block; width: min(34vw, 32.625rem); height: auto; max-width: none; object-fit: contain; pointer-events: none; opacity: var(--portrait-image-opacity, 1); will-change: opacity; }
.js .portrait-image { --portrait-image-opacity: 0; }
.leadership::after { background: linear-gradient(90deg, rgba(1,7,24,.28), transparent 48%, rgba(1,7,24,.12)); }
.leadership-copy { position: relative; z-index: 3; top: 48px; width: min(48%, 42rem); margin-left: calc(var(--leadership-group-left, 8.5vw) - 7vw + 80px); }
.js .section .leadership-copy.reveal,
.js .section:not(.is-section-loaded) .leadership-copy.reveal {
  opacity: 1;
  filter: none;
  transform: translate3d(0, 0, 0) scale(1);
}
.js .section:not(.is-section-loaded) .leadership-copy.reveal { pointer-events: none; }
.js .leadership-copy h2 {
  opacity: var(--leadership-title-progress);
  filter: blur(calc((1 - var(--leadership-title-progress)) * 8px));
  transform: translate3d(0, calc((1 - var(--leadership-title-progress)) * 1rem), 0);
  will-change: opacity, filter, transform;
}
.js .leadership-copy h3,
.js .leadership-copy > p:not(.eyebrow) {
  opacity: var(--leadership-copy-progress);
  filter: blur(calc((1 - var(--leadership-copy-progress)) * 6px));
  transform: translate3d(0, calc((1 - var(--leadership-copy-progress)) * .8rem), 0);
  will-change: opacity, filter, transform;
}
.js .leadership-copy .text-link {
  opacity: var(--leadership-link-progress);
  filter: blur(calc((1 - var(--leadership-link-progress)) * 5px));
  transform: translate3d(0, calc((1 - var(--leadership-link-progress)) * .65rem), 0);
  will-change: opacity, filter, transform;
}
.leadership-copy .ornament::before, .leadership-copy .ornament::after { content: "✦"; margin: 0 1rem; }
.leadership-copy h2 { margin: 0 0 .375rem; color: var(--white); font-style: normal; line-height: .9; letter-spacing: -.06em; }
.leadership-copy h3 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(1.125rem, 1.9125vw, 1.9125rem); font-weight: 400; }
.leadership-copy > p { max-width: 38rem; margin: 0; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.25rem); line-height: 1.55; }
.leadership-stats { position: absolute; z-index: 4; left: 0; right: 0; top: var(--leadership-stats-top, auto); bottom: var(--leadership-stats-bottom, 8.7rem); display: grid; grid-template-columns: repeat(3, max-content); width: max-content; margin-block: 0; margin-inline: auto; padding: 0; border: 1px solid var(--line); border-radius: 1rem; background: rgba(1,9,29,.74); backdrop-filter: blur(12px); }
.leadership-stats li { position: relative; display: flex; flex-direction: column; padding: 1rem 2.075rem 1rem 5.375rem; list-style: none; }
.leadership-stats li:not(:last-child) { border-right: 1px solid var(--line); }
.stat-icon { position: absolute; left: 2.25rem; top: 1.08rem; display: block; width: 1.35rem; height: 1.35rem; color: var(--yellow); box-sizing: border-box; }
.stat-icon::before, .stat-icon::after { content: ""; position: absolute; display: block; box-sizing: border-box; }
.stat-icon-experience { border: 2px solid currentColor; border-radius: 50%; }
.stat-icon-experience::before { left: calc(50% - 1px); top: .16rem; width: 2px; height: .42rem; border-radius: 2px; background: currentColor; }
.stat-icon-experience::after { left: 50%; top: calc(50% - 1px); width: .34rem; height: 2px; border-radius: 2px; background: currentColor; transform: rotate(18deg); transform-origin: left center; }
.stat-icon-products { width: 1.45rem; height: 1.08rem; border: 2px solid currentColor; border-radius: .14rem; }
.stat-icon-products::before { left: 0; top: .22rem; width: 100%; height: 2px; background: currentColor; }
.stat-icon-products::after { right: -.2rem; bottom: -.28rem; width: .48rem; height: .72rem; border: 2px solid currentColor; border-radius: .1rem; background: var(--ink); }
.stat-icon-ai { border: 2px solid currentColor; border-radius: .18rem; }
.stat-icon-ai::before { inset: .25rem; border: 2px solid currentColor; border-radius: 50%; }
.stat-icon-ai::after { left: -.32rem; top: calc(50% - 1px); width: .32rem; height: 2px; border-radius: 2px; background: currentColor; box-shadow: 1.67rem 0 0 currentColor; }
.leadership-stats strong { color: var(--yellow); font-family: var(--serif); font-size: clamp(1.35rem, 1.875vw, 1.95rem); font-weight: 400; line-height: 1; }
.leadership-stats li > span:not(.stat-icon) { margin-top: .3rem; color: var(--muted); font-size: .8rem; }

.section.contact { padding-block: clamp(7.5rem, 12vh, 9rem); }
.contact { flex-direction: column; align-items: center; justify-content: center; }
.contact-content { position: relative; width: 100%; }
.contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 34rem)); justify-content: center; gap: 2rem; width: 100%; max-width: 68rem; margin: 0 auto; }
.contact-card { position: relative; min-height: 27rem; padding: clamp(2rem, 4vw, 3rem); border-radius: 1.25rem; overflow: hidden; }
.contact-card.light { color: var(--navy); background: var(--white); }
.contact-card.dark { border: 1px solid var(--line); background: transparent; }
.contact-symbol { position: relative; display: block; width: 3rem; height: 3rem; color: var(--yellow); }
.project-symbol { background: linear-gradient(currentColor, currentColor) center / 2px 1.35rem no-repeat, linear-gradient(currentColor, currentColor) center / 1.35rem 2px no-repeat; }
.project-symbol::before { content: ""; position: absolute; inset: .34rem; border: 2px solid currentColor; border-radius: 50%; }
.press-symbol::before { content: ""; position: absolute; left: .3rem; top: .42rem; box-sizing: border-box; width: 2.35rem; height: 1.95rem; border: 2px solid currentColor; border-radius: .16rem; background: linear-gradient(currentColor, currentColor) 1rem .42rem / .95rem 2px no-repeat, linear-gradient(currentColor, currentColor) 1rem .78rem / .95rem 2px no-repeat, linear-gradient(currentColor, currentColor) .38rem 1.38rem / 1.57rem 2px no-repeat; }
.press-symbol::after { content: ""; position: absolute; left: .7rem; top: .9rem; width: .5rem; height: .56rem; background: currentColor; }
.contact-card h3 { margin: 1rem 0 2rem; font-family: var(--serif); font-size: clamp(2.5rem, 4vw, 4.3rem); font-weight: 400; line-height: 1; }
.contact-card.media-card h3 { font-size: clamp(2.5rem, 4vw, 3.86rem); }
.contact-card p { max-width: 28rem; color: inherit; opacity: .75; font-size: 1rem; line-height: 1.6; }
.contact-email { position: absolute; left: clamp(2rem, 4vw, 3rem); right: clamp(2rem, 4vw, 3rem); bottom: 2.6rem; }
.email-copy { display: flex; align-items: center; gap: 1rem; max-width: 100%; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 650; text-align: left; cursor: pointer; }
.email-address { min-width: 0; overflow-wrap: anywhere; user-select: text; }
.email-copy .mail-icon { display: block; flex: 0 0 auto; width: 1.5rem; height: 1.125rem; color: var(--yellow); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.copy-icon { flex: 0 0 auto; width: 1.125rem; height: 1.125rem; color: var(--white); fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.copy-icon-check, .is-copied .copy-icon-pages { display: none; }
.is-copied .copy-icon-check { display: block; }
.email-copy:hover .email-address { text-decoration: underline; text-underline-offset: 4px; }
.email-copy:focus-visible { outline: 2px solid var(--yellow); outline-offset: 5px; border-radius: 3px; }
.contact-card .email-copy-status { position: absolute; top: 100%; left: 0; color: var(--yellow); font-size: .75rem; line-height: 1.3; }


.site-footer { --reveal: 0; position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; min-height: 100svh; padding: 8rem 7vw 7rem; overflow: hidden; isolation: isolate; background: transparent; }
.site-footer::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(0,4,17,.1), rgba(0,4,17,.82)); opacity: 1; pointer-events: none; }
.footer-method-statement { position: relative; top: -32px; width: min(100%, 88rem); margin: 0 auto; text-align: center; }
.footer-method-statement h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.15rem, 5.25vw, 5.9rem); font-weight: 400; line-height: .96; letter-spacing: -.045em; }
.footer-method-statement h2 em { color: var(--yellow); font-style: normal; font-weight: 400; }
.method-line { display: block; width: fit-content; max-width: 100%; margin-inline: auto; transform: rotate(-2deg); transform-origin: 0% 82%; transition: transform .86s var(--ease); will-change: transform; }
.method-line + .method-line { margin-block-start: 16px; }
.site-footer.is-section-loaded .method-line { transform: rotate(0deg); }
.site-footer.is-section-loaded .method-line:nth-child(1) { transition-delay: 0s; }
.site-footer.is-section-loaded .method-line:nth-child(2) { transition-delay: .28s; }
.site-footer.is-section-loaded .method-line:nth-child(3) { transition-delay: .63s; }
.method-word { display: inline-block; white-space: nowrap; }
.method-char { display: inline-block; opacity: 0; filter: blur(5px); transform: translate3d(0, -.32em, 0) scale(.965); transform-origin: 50% 80%; transition: opacity .34s var(--ease), filter .42s var(--ease), transform .42s var(--ease); transition-delay: 0s; will-change: opacity, filter, transform; }
.site-footer.is-section-loaded .method-char { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); transition-delay: var(--char-delay, 0s); }
.no-js .method-line, .no-js .method-char { opacity: 1; filter: none; transform: none; }
.footer-meta { position: absolute; left: 7vw; right: 7vw; bottom: 7rem; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .75rem; color: #fff; font-size: .75rem; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.footer-meta > span { text-transform: none; }
.footer-links { display: flex; align-items: center; justify-content: center; gap: clamp(.8rem, 1.5vw, 1.5rem); flex-wrap: wrap; }
.footer-meta a { color: inherit; text-decoration: none; transition: opacity .2s ease; }
.footer-new-tab-mark { display: inline-block; margin-left: .3em; font-size: .85em; transform: translateY(-.08em); }
.footer-meta a:hover { opacity: .72; }
.footer-meta a:focus-visible { border-radius: .15rem; outline: 2px solid var(--yellow); outline-offset: .35rem; }
.infinite-sentinel { position: relative; z-index: 1; height: 1px; }
.motion-note { position: fixed; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

@media (max-width: 1100px) {
  .capability-node { --cube-size: clamp(4.5rem, 6.5vw, 5.75rem); }
  .capability-node--2 { --node-x: 38%; }
  .capability-node--4 { --node-x: 82%; }
  .capability-card { width: min(20rem, 31vw); padding: 1.15rem 1.25rem 1.2rem; }
  .capability-node--4 .capability-card { left: auto; right: 0; padding-right: 4rem; transform: translate(-.65rem, -50%) scale(.9); transform-origin: right center; }
  .capability-node--4 .capability-card::before { display: none; }
  .capability-node--4:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, -50%) scale(1); }
}

@media (max-width: 900px) {
  .section.offerings { min-height: max(100svh, 50rem); }
  .offerings .section-heading { top: 5.75rem; }
  .capability-node { --cube-size: clamp(4.1rem, 8.5vw, 5.2rem); }
  .capability-node--1 { --node-x: 12%; --node-y: 86%; }
  .capability-node--2 { --node-x: 33%; --node-y: 73%; }
  .capability-node--3 { --node-x: 53%; --node-y: 59%; }
  .capability-node--4 { --node-x: 73%; --node-y: 45%; }
  .capability-node--5 { --node-x: 90%; --node-y: 30%; }
  .capability-card { width: min(19rem, 38vw); min-height: 8.25rem; }
  .capability-node--1 .capability-card { left: 0; right: auto; top: auto; bottom: calc(100% + .8rem); transform: translate(-.2rem, .8rem) scale(.9); transform-origin: left bottom; }
  .capability-node--1 .capability-card::before { top: 100%; left: 1.6rem; right: auto; width: 1px; height: .85rem; background: linear-gradient(rgba(255, 213, 0, .7), transparent); transform: none; }
  .capability-node--1:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, 0) scale(1); }
  .capability-node--2 .capability-card { left: 0; right: auto; top: auto; bottom: calc(100% + .75rem); transform: translate(0, .7rem) scale(.9); transform-origin: left bottom; }
  .capability-node--2 .capability-card::before { top: 100%; left: 2.2rem; right: auto; width: 1px; height: .8rem; background: linear-gradient(rgba(255, 213, 0, .7), transparent); transform: none; }
  .capability-node--2:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, 0) scale(1); }
  .capability-node--3 .capability-card { left: calc(100% - 3.2rem); right: auto; padding-left: 4rem; transform: translate(.65rem, -50%) scale(.9); transform-origin: left center; }
  .capability-node--3 .capability-card::before { display: none; }
  .capability-node--3:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, -50%) scale(1); }
  .capability-node--4 .capability-card { left: auto; right: 0; padding-right: 4rem; transform: translate(-.65rem, -50%) scale(.9); transform-origin: right center; }
  .capability-node--4 .capability-card::before { display: none; }
  .capability-node--4:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, -50%) scale(1); }
  .capability-node--5 .capability-card { top: calc(100% + .9rem); left: auto; right: 0; transform: translate(0, .7rem) scale(.9); transform-origin: right top; }
  .capability-node--5 .capability-card::before { display: block; top: -.9rem; left: auto; right: 2rem; width: 1px; height: .9rem; background: linear-gradient(rgba(255, 213, 0, .82), rgba(255, 213, 0, .12)); transform: none; }
  .capability-node--5:is(:hover, :focus-within, .is-active) .capability-card { transform: translate(0, 0) scale(1); }
}

@media (max-width: 780px) {
  .site-header { height: 5.2rem; padding-top: 1rem; }
  .floating-nav { left: .75rem; right: .75rem; bottom: .7rem; width: auto; grid-template-columns: repeat(6, minmax(5.4rem, 1fr)); column-gap: 0; padding: .15rem .4rem; overflow-x: auto; transform: none; scrollbar-width: none; }
  .floating-nav::-webkit-scrollbar { display: none; }
  .floating-nav a { padding: .85rem .5rem; font-size: .72rem; }
  .section { min-height: 100svh; padding: 7rem 1.25rem 7.5rem; }
  .hero { min-height: 100svh; padding-block: clamp(3.5rem, 8vh, 5.5rem); align-items: center; justify-content: center; }
  .hero-lockup { position: relative; left: auto; top: auto; width: 100%; margin: 0 auto; }
  .hero-agency { width: 8.5rem; margin-inline: auto; }
  .hero-copy { width: 100%; margin: 40px auto 0; text-align: center; }
  .hero-copy > p:not(.eyebrow) { margin-left: auto; margin-right: auto; }
  .scroll-cue { display: none; }
  .principles { min-height: 100svh; padding: 4.8rem 1.25rem 3.85rem; }
  .principles-layout { row-gap: .65rem; width: min(100%, 39rem); }
  .principles-intro h2 { font-size: clamp(2.55rem, 8vw, 3.15rem); }
  .principles-intro > p:not(.eyebrow) { margin-top: .55rem; font-size: .82rem; line-height: 1.48; }
  .principles-visual-stage { width: min(100%, 32rem); aspect-ratio: 1.28; }
  .principle-trigger { grid-template-columns: 1.9rem minmax(0, 1fr) 1.45rem; gap: .55rem; min-height: 3.45rem; padding: .64rem .15rem .64rem .75rem; }
  .principle-trigger:hover { padding-left: 1rem; }
  .principle-step-title { font-size: clamp(.84rem, 2vw, 1rem); line-height: 1.28; letter-spacing: -.008em; }
  .principle-step-number { padding-top: .08rem; font-size: .64rem; }
  .principle-step-toggle { width: 1.3rem; height: 1.3rem; }
  .principle-detail-content { padding: 0 .75rem .85rem 3.2rem; }
  .principle-summary { font-size: .73rem; line-height: 1.48; }
  .principle-summary + .principle-summary { margin-top: .55rem; }
  .principle-substeps { gap: .52rem; margin-top: .65rem; }
  .principle-substep { padding-top: .42rem; }
  .principle-substep dt { font-size: .61rem; }
  .principle-substep dd { margin-top: .24rem; font-size: .7rem; line-height: 1.43; }
  .section.offerings { min-height: max(100svh, 47rem); }
  .offerings .section-heading { top: 5.5rem; }
  .capability-node { --cube-size: clamp(3.9rem, 10.5vw, 4.8rem); }
  .capability-node--1 { --node-x: 9%; --node-y: 87%; }
  .capability-node--2 { --node-x: 29%; --node-y: 73%; }
  .capability-node--3 { --node-x: 51%; --node-y: 59%; }
  .capability-node--4 { --node-x: 72%; --node-y: 45%; }
  .capability-node--5 { --node-x: 91%; --node-y: 31%; }
  .capability-card { width: min(18rem, 58vw); }
  .leadership { min-height: 145svh; justify-content: flex-start; }
  .portrait-image { left: 12.5%; top: 36%; width: 75%; }
  .leadership-copy { width: 100%; margin: 1rem 0 31rem; }
  .leadership-copy h2 { margin-bottom: .225rem; }
  .leadership-stats { position: relative; left: auto; right: auto; bottom: auto; grid-template-columns: 1fr 1fr; width: 100%; margin-top: auto; }
  .leadership-stats li:nth-child(2) { border-right: 0; }
  .leadership-stats li:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .contact-grid { grid-template-columns: 1fr; }
  .site-footer { min-height: 100svh; padding: 7rem 1.25rem 12rem; }
  .footer-meta { left: 1.25rem; right: 1.25rem; bottom: 5.5rem; flex-wrap: wrap; }
  .footer-links { width: 100%; }
}

@media (max-width: 520px) {
  .brand { width: 2.15rem; }
  .section-heading h2, .method .section-heading h2, .leadership-copy h2 { font-size: clamp(2.35rem, 11vw, 3.5rem); }
  .section-heading.compact h2, .lab-intro h2 { font-size: 3.5rem; }
  .offerings .section-heading.compact h2,
  .product-lab .section-heading.compact h2,
  .contact .section-heading.compact h2 { font-size: clamp(2.65rem, 12vw, 3.1rem); }
  .principles { min-height: 100svh; padding: 4.8rem 1rem 3.85rem; }
  .principles-layout { row-gap: .65rem; }
  .principles-intro h2 { font-size: clamp(2.55rem, 11vw, 3.15rem); }
  .principles-intro > p:not(.eyebrow) { margin-top: .55rem; font-size: .8rem; line-height: 1.45; }
  .principles-visual-stage { width: 100%; }
  .principle-object-rig { inset: 0; }
  .method-cube--distill-core { --cube-size: 6.2rem; --cube-x: -.7rem; --cube-y: .8rem; --cube-z: .35rem; }
  .method-cube--distill-accent { --cube-size: 2.25rem; --cube-x: 3.55rem; --cube-y: -2.85rem; --cube-z: 2.7rem; }
  .principle-object--structure .principle-object-rig { inset: 1%; }
  .method-cube--structure-nw,
  .method-cube--structure-ne,
  .method-cube--structure-sw,
  .method-cube--structure-se { --cube-size: 3.1rem; }
  .method-cube--structure-nw { --cube-x: -2.7rem; --cube-y: -2.2rem; }
  .method-cube--structure-ne { --cube-x: 2.7rem; --cube-y: -2.2rem; }
  .method-cube--structure-sw { --cube-x: -2.7rem; --cube-y: 2.2rem; }
  .method-cube--structure-se { --cube-x: 2.7rem; --cube-y: 2.2rem; }
  .principle-object--compression .principle-object-rig { inset: 0; }
  .method-cube--compression-left,
  .method-cube--compression-center,
  .method-cube--compression-right { --cube-size: 3.45rem; }
  .method-cube--compression-left { --cube-x: -3rem; }
  .method-cube--compression-right { --cube-x: 3rem; }
  .method-compression-seam { width: .2rem; height: 4.3rem; transform: translate(1.5rem, -48%) translateZ(4rem) rotate(-1deg); }
  .principle-object--build .principle-object-rig { inset: 0; }
  .method-cube--build-1,
  .method-cube--build-2,
  .method-cube--build-3,
  .method-cube--build-4,
  .method-cube--build-5 { --cube-size: 2.5rem; }
  .method-cube--build-1 { --cube-x: -4.2rem; --cube-y: 2.8rem; }
  .method-cube--build-2 { --cube-x: -2.1rem; --cube-y: 1.4rem; }
  .method-cube--build-4 { --cube-x: 2.1rem; --cube-y: -1.4rem; }
  .method-cube--build-5 { --cube-x: 4.2rem; --cube-y: -2.8rem; }
  .principle-object--refine .principle-object-rig { inset: 2% 0; }
  .method-laptop { left: 45%; width: 77%; }
  .method-laptop-lid { padding: .3rem; border-radius: .42rem .42rem .2rem .2rem; box-shadow: inset 0 0 0 .1rem #041a46, 0 .7rem 1rem rgba(0, 4, 18, .24); }
  .method-laptop-hinge { height: .18rem; }
  .method-phone { left: 70%; width: 25%; }
  .method-phone-shell { padding: .27rem; border-radius: .68rem; box-shadow: 0 0 0 .07rem var(--yellow), .45rem .75rem 1rem rgba(0, 4, 18, .34), inset 0 0 0 .09rem #031a4d; }
  .method-phone-shell .method-device-screen { border-radius: .45rem; }
  .method-phone-speaker { top: .4rem; height: .1rem; }
  .principle-trigger { grid-template-columns: 1.9rem minmax(0, 1fr) 1.45rem; gap: .55rem; min-height: 3.45rem; padding: .64rem .15rem .64rem .75rem; }
  .principle-trigger:hover { padding-left: 1rem; }
  .principle-step-title { font-size: .84rem; line-height: 1.28; letter-spacing: -.008em; }
  .principle-step-number { padding-top: .08rem; font-size: .64rem; }
  .principle-step-toggle { width: 1.3rem; height: 1.3rem; }
  .principle-detail-content { padding: 0 .75rem .85rem 3.2rem; }
  .principle-summary { font-size: .73rem; line-height: 1.48; }
  .principle-summary + .principle-summary { margin-top: .55rem; }
  .principle-substeps { grid-template-columns: minmax(0, 1fr); gap: .52rem; margin-top: .65rem; }
  .principle-substep { padding-top: .42rem; }
  .principle-substep dt { font-size: .61rem; }
  .principle-substep dd { margin-top: .24rem; font-size: .7rem; line-height: 1.43; }
  .section.offerings { min-height: 52rem; }
  .offerings .section-heading { top: 5.35rem; width: calc(100% - 2rem); }
  .offerings .section-heading > .offerings-intro,
  .product-lab .section-heading > p:last-child { max-width: 24rem; }
  .capability-node { --cube-size: clamp(3.7rem, 15vw, 4.4rem); }
  .capability-node--1 { --node-x: 8%; --node-y: 88%; }
  .capability-node--2 { --node-x: 29%; --node-y: 75%; }
  .capability-node--3 { --node-x: 51%; --node-y: 62%; }
  .capability-node--4 { --node-x: 73%; --node-y: 49%; }
  .capability-node--5 { --node-x: 92%; --node-y: 35%; }
  .capability-card { width: min(13.2rem, 60vw); min-height: 0; gap: .55rem; padding: 1rem 1.05rem 1.05rem; }
  .capability-card h3 { font-size: 1.12rem; }
  .capability-card p { font-size: .72rem; line-height: 1.45; }
  .leadership { min-height: 155svh; }
  .leadership-copy { margin-bottom: 25rem; }
  .leadership-copy .ornament::before, .leadership-copy .ornament::after { margin: 0 .5rem; }
  .leadership-stats li { padding: .825rem 1rem .825rem 3.25rem; }
  .stat-icon { left: .9375rem; top: .78rem; width: 1.05rem; height: 1.05rem; }
  .stat-icon-products { width: 1.12rem; height: .84rem; }
  .stat-icon-ai::after { box-shadow: 1.37rem 0 0 currentColor; }
  .leadership-stats strong { font-size: 1.05rem; }
  .contact-card { min-height: 25rem; padding: 2rem 1.5rem; }
  .contact-email { left: 1.5rem; right: 1.5rem; bottom: 2rem; font-size: .86rem; }
  .email-copy { gap: .65rem; }
  .footer-meta { justify-content: center; font-size: .65rem; text-align: center; }
  .footer-links { justify-content: center; row-gap: .75rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .method-line, .method-char { transition-delay: 0s !important; }
  .capability-icon-art, .capability-node--panelled .capability-card { transition-delay: 0s !important; }
  .capability-title-list li + li::before { animation: none !important; background-position: 0 50%; }
  .reveal { filter: none; transform: none; }
  .background-layer { transform: none; }
  .hero-wordmark-webgl-echo { display: none !important; }
}
