@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-ff2310f5.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-875ccdd4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-52306abf.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-001175b1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-98bbbccb.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Fallback';
  src: local("Arial");
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0.00%;
  size-adjust: 104.76%;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-mono-f6b33328.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-mono-44e03052.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-mono-0638449e.woff2) format('woff2');
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-mono-971fb274.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-mono-44745446.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(/assets/home-hero/fonts/geist-mono-013b2f2f.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Geist Mono Fallback';
  src: local("Arial");
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.00%;
  size-adjust: 134.59%;
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/home-hero/fonts/archivo-black-871aed67.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Archivo Black';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/home-hero/fonts/archivo-black-1536a216.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Archivo Black Fallback';
  src: local("Arial");
  ascent-override: 70.78%;
  descent-override: 16.93%;
  line-gap-override: 0.00%;
  size-adjust: 124.05%;
}


:root {
  --acid: #b9ed43;
  --void: #020405;
  --concrete: #25231f;
  --concrete-light: #8a8379;
  --bone: #f0ede6;
  --ember: #d88947;
  --light-x: 28%;
  --light-y: 30%;
  --world-x: 0;
  --world-y: 0;
  --portal-x: 61%;
  --portal-y: 49%;
  color-scheme: dark;
  scrollbar-color: var(--acid) #11110f;
  scrollbar-width: thin;
}

* { box-sizing: border-box; }

.studio-home {
  font-family: var(--font-geist-sans), Arial, Helvetica, sans-serif;
  color: var(--bone);
  overscroll-behavior-x: none;
}
button { font: inherit; }
button:focus-visible { outline: 2px solid var(--acid); outline-offset: 4px; }

.ab-hero-shell {
  position: relative;
  min-height: 100svh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: var(--void);
  touch-action: pan-y;
}

.hero-media-wrap,
.hero-poster,
.hero-media,
.portal-window,
.world-stage,
.world-picture,
.world-picture img,
.world-atmosphere,
.wall-vignette,
.pointer-light,
.impact-flash,
.particle-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hero-media-wrap {
  z-index: 0;
  overflow: hidden;
  background: #11100e;
  transform-origin: var(--portal-x) var(--portal-y);
  will-change: transform, opacity;
}
.hero-poster, .hero-media {
  display: block;
  object-fit: cover;
  object-position: 50% 51%;
}
.hero-media {
  opacity: 0;
}
.hero-media.is-visible { opacity: 1; }

.flight-shutter {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.ab-hero-shell[data-phase='dive'] .flight-shutter {
  visibility: visible;
  will-change: transform, opacity;
}

.portal-window {
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  mask-image: url('/assets/home-hero/hero-assets/ab-breach-mask-1080p.svg');
  mask-repeat: no-repeat;
}
.world-stage { overflow: visible; }
.ab-hero-shell[data-phase='pass-through'] .portal-window,
.ab-hero-shell[data-phase='pass-through'] .world-stage,
.ab-hero-shell[data-phase='dive'] .portal-window,
.ab-hero-shell[data-phase='dive'] .world-stage { will-change: transform, opacity; }
.ab-hero-shell[data-phase='pass-through'] .portal-window { opacity: .001; }
.ab-hero-shell[data-phase='world'] .portal-window { opacity: 1; mask-image: none; }
.world-picture { overflow: visible; }
.world-water {
  position:absolute; inset:0; width:100%; height:100%; pointer-events:none;
  opacity:0; transition:opacity 900ms ease;
  scale:1.055; transform-origin:60% 49%;
  translate:calc(var(--world-x) * -7px) calc(var(--world-y) * -4px);
}
.world-picture img {
  display: block;
  object-fit: cover;
  object-position: 50% 50%;
  scale: 1.055;
  translate: calc(var(--world-x) * -7px) calc(var(--world-y) * -4px);
  transform-origin: 60% 49%;
}
.world-atmosphere {
  background:
    radial-gradient(circle at 71% 47%, rgb(185 237 67 / 8%), transparent 19%),
    linear-gradient(90deg, rgb(1 3 4 / 28%) 0%, transparent 48%, rgb(0 1 2 / 13%) 100%),
    linear-gradient(180deg, rgb(0 2 3 / 8%), transparent 52%, rgb(0 0 0 / 26%));
  translate: calc(var(--world-x) * -2px) calc(var(--world-y) * -1px);
}


/* Baked textures animate on the compositor; two distinct fog depths. */
.world-life {position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 900ms ease;}
.world-atmosphere[data-atmosphere='running'] .world-life {opacity:1;}
.world-mist-window--far {
 position:absolute;inset:0;overflow:hidden;pointer-events:none;
 mask-size:cover;mask-position:center;mask-repeat:no-repeat;
 scale:1.055;transform-origin:60% 49%;
 translate:calc(var(--world-x) * -5px) calc(var(--world-y) * -3px);
}
.world-mist {position:absolute;left:-22%;top:0;width:144%;height:100%;opacity:.9;pointer-events:none;}
.world-atmosphere[data-atmosphere='running'] .world-mist--far {animation:world-mist-far 19.5s ease-in-out -6s infinite alternate;}
.world-foreground-mist {
 position:absolute;left:-8%;top:53%;width:116%;height:47%;overflow:hidden;pointer-events:none;opacity:0;
 mask-image:linear-gradient(transparent,#000 24%,#000 70%,transparent);
 transition:opacity 1100ms ease;
}
.world-atmosphere[data-atmosphere='running'] ~ .world-foreground-mist {opacity:1;}
.world-atmosphere[data-atmosphere='running'] ~ .world-foreground-mist .world-mist--near {animation:world-mist-near 15s ease-in-out -4.5s infinite alternate;}
.world-living-glow {
 position:absolute;inset:0;opacity:0;
 background:radial-gradient(ellipse at 72% 42%,rgb(200 220 150 / 18%),transparent 35%),radial-gradient(ellipse at 30% 27%,rgb(130 170 200 / 14%),transparent 40%);
}
.world-atmosphere[data-atmosphere='running'] .world-living-glow {animation:world-glow-breathe 4.6s ease-in-out infinite;}
.world-practical-light,.world-light-shadow {
 position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;
 scale:1.055;transform-origin:60% 49%;translate:calc(var(--world-x) * -7px) calc(var(--world-y) * -4px);opacity:0;
}
.world-practical-light {mix-blend-mode:screen;}
.world-atmosphere[data-atmosphere='running'] ~ .world-practical-light {animation:world-practical-flicker 4.6s ease-in-out infinite;}
.world-atmosphere[data-atmosphere='running'] ~ .world-light-shadow {animation:world-practical-dim 4.6s ease-in-out infinite;}
@keyframes world-practical-flicker {0%,100%{opacity:0;}20%{opacity:1;}37%{opacity:.05;}46%{opacity:.7;}61%{opacity:.02;}75%{opacity:1;}}
@keyframes world-practical-dim {0%,100%{opacity:.82;}20%{opacity:0;}37%{opacity:.70;}46%{opacity:.1;}61%{opacity:.8;}75%{opacity:0;}}
@keyframes world-mist-far {
 0% {transform:translate3d(-13%,-2%,0) scale(1.02);opacity:.85;}
 50% {opacity:1;}
 100% {transform:translate3d(13%,3%,0) scale(1.12);opacity:.9;}
}
@keyframes world-mist-near {
 0% {transform:translate3d(15%,3%,0) scaleY(.9);opacity:.85;}
 50% {opacity:1;}
 100% {transform:translate3d(-15%,-4%,0) scaleY(1.12);opacity:.85;}
}
@keyframes world-glow-breathe {0%,100%{opacity:.1;}20%,75%{opacity:.65;}37%,61%{opacity:.2;}46%{opacity:.45;}}
@media(max-width:720px) {
 .world-practical-light,.world-light-shadow {translate:calc(var(--world-x) * -3px) calc(var(--world-y) * -2px);}
 .world-mist-window--far {translate:calc(var(--world-x) * -1px) calc(var(--world-y) * -1px);}
 .world-foreground-mist {top:59%;height:36%;}
}
@media(prefers-reduced-motion:reduce){.world-life,.world-practical-light,.world-light-shadow,.world-foreground-mist{display:none;}}

.ab-hero-shell[data-phase='world'] .hero-media-wrap { opacity: 0; visibility: hidden; will-change: auto; }

.wall-vignette {
  z-index: 2;
  background:
    linear-gradient(90deg, rgb(4 4 3 / 11%) 0%, transparent 47%, rgb(3 3 3 / 38%) 100%),
    linear-gradient(180deg, rgb(2 2 2 / 17%) 0%, transparent 38%, rgb(2 2 2 / 55%) 100%);
  box-shadow: inset 0 0 15vw rgb(0 0 0 / 31%);
  transition: opacity 580ms ease;
  pointer-events: none;
}
.pointer-light {
  z-index: 3;
  opacity: .32;
  background: radial-gradient(circle at var(--light-x) var(--light-y), rgb(238 233 223 / 22%) 0, rgb(216 137 71 / 6%) 15%, transparent 39%);
  transition: opacity 500ms ease;
  pointer-events: none;
}
.impact-flash {
  z-index: 4;
  opacity: 0;
  background: radial-gradient(circle at var(--portal-x) var(--portal-y), rgb(238 233 223 / 40%), rgb(216 137 71 / 13%) 17%, transparent 42%);
  pointer-events: none;
}
.ab-hero-shell[data-impact='true'] .impact-flash { animation: impact-flash 240ms ease-out; }
.ab-hero-shell[data-impact='true'] .hero-media { animation: camera-impact 190ms cubic-bezier(.2, .8, .2, 1); }
.ab-hero-shell[data-phase='tension'] .pointer-light { opacity: .58; }
.ab-hero-shell[data-phase='dive'] .wall-vignette,
.ab-hero-shell[data-phase='world'] .wall-vignette,
.ab-hero-shell[data-phase='world'] .pointer-light { opacity: 0; }

.particle-canvas { z-index: 8; pointer-events: none; }

.ab-hero-header {
  position: relative;
  z-index: 12;
  min-height: 104px;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto minmax(72px, 1fr);
  align-items: center;
  gap: clamp(20px, 3vw, 54px);
  padding: 18px clamp(24px, 5.6vw, 88px);
  border-bottom: 1px solid rgb(240 237 230 / 11%);
  background: linear-gradient(180deg, rgb(2 4 5 / 78%), rgb(2 4 5 / 5%));
  transition: background 700ms ease, border-color 700ms ease;
}
.ab-hero-shell[data-phase='world'] .ab-hero-header {
  border-color: rgb(185 237 67 / 13%);
  background: linear-gradient(180deg, rgb(1 3 5 / 82%), transparent);
}

.ab-brand {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  text-transform: uppercase;
}
.ab-brand--compact { justify-self: start; gap: 15px; }
.ab-brand-mark {
  width: clamp(132px, 13vw, 214px);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 0 22px rgb(185 237 67 / 21%));
}
.ab-brand--compact .ab-brand-mark { width: 46px; height: 46px; }
.ab-brand-name {
  color: var(--bone);
  font-size: 12px;
  font-weight: 540;
  letter-spacing: .34em;
  white-space: nowrap;
}
.future-nav { display: flex; align-items: center; justify-content: center; gap: clamp(25px, 3vw, 46px); }
.future-nav a {
  color: rgb(240 237 230 / 79%);
  font-size: 12px;
  font-weight: 560;
  letter-spacing: .105em;
  text-transform: uppercase;
  cursor: default;
}

.sound-toggle {
  width: 46px;
  height: 46px;
  justify-self: end;
  display: grid;
  place-items: center;
  border: 1px solid rgb(240 237 230 / 28%);
  border-radius: 50%;
  color: var(--bone);
  background: rgb(2 4 5 / 48%);
  cursor: pointer;
  transition: border-color 180ms ease, color 180ms ease, background 180ms ease;
}
.sound-toggle:hover { border-color: var(--acid); color: var(--acid); background: rgb(2 4 5 / 74%); }
.sound-toggle svg { width: 18px; height: 18px; stroke-width: 1.55; }
.sound-toggle:disabled { cursor: not-allowed; opacity: .42; }

.ab-hero-copy {
  position: absolute;
  z-index: 7;
  left: clamp(24px, 8.3vw, 142px);
  top: clamp(150px, 19vh, 205px);
  width: min(57vw, 810px);
  transition: opacity 380ms ease;
}
.engraved-title {
  margin: 0;
  font-family: var(--font-impact), Impact, sans-serif;
  font-size: clamp(74px, 8.25vw, 136px);
  font-weight: 400;
  line-height: .79;
  letter-spacing: -.048em;
  text-transform: uppercase;
}
.engraved-title span {
  display: block;
  position: relative;
  isolation: isolate;
  color: transparent;
  background-image: linear-gradient(rgb(8 7 6 / 58%), rgb(8 7 6 / 58%)), url('/assets/home-hero/hero-assets/ab-hero-poster-1080p.webp');
  background-repeat: no-repeat;
  background-clip: text;
  -webkit-background-clip: text;
}
.engraved-title span::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: -1;
  color: transparent;
  text-shadow:
    .7px 1px .4px rgb(220 209 192 / 58%),
    -1px -1.5px 1px rgb(0 0 0 / 92%),
    -1.5px -2px 2px rgb(0 0 0 / 60%);
}
.engraved-title span::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  background-image: inherit;
  background-position: inherit;
  background-size: inherit;
  background-repeat: inherit;
  background-clip: text;
  -webkit-background-clip: text;
  pointer-events: none;
}
.ab-hero-copy > p {
  margin: clamp(21px, 2.7vh, 32px) 0 19px;
  color: rgb(240 237 230 / 88%);
  font-size: clamp(11px, 1vw, 15px);
  line-height: 1.62;
  letter-spacing: .265em;
}
.future-cta {
  min-width: 276px;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 0 24px;
  border: 1px solid rgb(185 237 67 / 66%);
  color: var(--acid);
  background: rgb(2 4 5 / 38%);
  font-size: 12px;
  font-weight: 620;
  letter-spacing: .17em;
  cursor: default;
  user-select: none;
}
.future-cta span:last-child { font-size: 25px; font-weight: 300; letter-spacing: 0; }

.ab-hero-shell[data-phase='break'][data-breached='true'] .ab-hero-copy,
.ab-hero-shell[data-phase='pass-through'] .ab-hero-copy {
  -webkit-mask-image: radial-gradient(ellipse 50% 43% at 78% 52%, transparent 0 43%, #000 77%);
  mask-image: radial-gradient(ellipse 50% 43% at 78% 52%, transparent 0 43%, #000 77%);
}
.ab-hero-shell[data-phase='dive'] .ab-hero-copy {
  -webkit-mask-image: radial-gradient(ellipse 90% 74% at 98% 52%, transparent 0 60%, #000 100%);
  mask-image: radial-gradient(ellipse 90% 74% at 98% 52%, transparent 0 60%, #000 100%);
}
.ab-hero-shell[data-phase='world'] .ab-hero-copy { opacity: 0; visibility: hidden; }

.world-copy {
  position: absolute;
  z-index: 7;
  left: clamp(34px, 7.8vw, 126px);
  top: 50%;
  width: min(36vw, 470px);
  display: grid;
  justify-items: start;
  opacity: 0;
  translate: calc(var(--world-x) * 5px) calc(-50% + var(--world-y) * 3px + 18px);
  transition: opacity 820ms 260ms ease, translate 980ms 180ms cubic-bezier(.2, .8, .2, 1);
}
.ab-hero-shell[data-phase='world'] .world-copy { opacity: 1; translate: calc(var(--world-x) * 5px) calc(-50% + var(--world-y) * 3px); }
.world-copy .ab-brand { display: grid; justify-items: start; gap: 5px; }
.world-copy .ab-brand-name {
  color: var(--acid);
  font-size: clamp(11px, .95vw, 14px);
  letter-spacing: .48em;
  padding-left: 11px;
}
.world-rule {
  width: min(100%, 340px);
  height: 1px;
  margin: 23px 0 24px 8px;
  background: linear-gradient(90deg, var(--acid), rgb(185 237 67 / 9%), transparent);
  box-shadow: 0 0 20px rgb(185 237 67 / 24%);
}
.world-copy p {
  margin: 0 0 8px 9px;
  color: rgb(240 237 230 / 83%);
  font-size: clamp(10px, .9vw, 13px);
  font-weight: 560;
  line-height: 1.5;
  letter-spacing: .25em;
}
.world-copy p + p { color: rgb(240 237 230 / 53%); font-size: clamp(9px, .78vw, 11px); }
.future-cta--world { margin: 27px 0 0 8px; min-width: 248px; min-height: 48px; }

.interaction-hint {
  position: absolute;
  z-index: 7;
  right: clamp(24px, 5.6vw, 88px);
  bottom: 28px;
  margin: 0;
  color: rgb(240 237 230 / 44%);
  font-family: var(--font-geist-mono), monospace;
  font-size: 9px;
  letter-spacing: .26em;
  transition: opacity 300ms ease;
}
.ab-hero-shell:not([data-phase='calm']) .interaction-hint { opacity: 0; }

@keyframes impact-flash { 0% { opacity: 0; } 25% { opacity: 1; } 100% { opacity: 0; } }
@keyframes camera-impact { 0%, 100% { translate: 0 0; } 34% { translate: -3px 1px; } 68% { translate: 2px -1px; } }

@media (max-width: 980px) {
  .ab-hero-header { grid-template-columns: 1fr auto; min-height: 108px; align-items: start; padding-top: 15px; }
  .future-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow: hidden; }
  .future-nav a { font-size: 10px; }
  .ab-hero-copy { width: 68vw; top: 17vh; }
  .engraved-title { font-size: clamp(68px, 10vw, 108px); }
  .world-copy { width: 39vw; }
}

@media (max-width: 720px) {
  .hero-media, .hero-poster { object-position: 58% 52%; }
  .ab-hero-header { min-height: 116px; gap: 11px; padding: 15px 20px 12px; }
  .ab-brand--compact .ab-brand-mark { width: 38px; height: 38px; }
  .ab-brand--compact .ab-brand-name { font-size: 9px; letter-spacing: .2em; }
  .future-nav { gap: 20px; padding-top: 5px; overflow-x: auto; scrollbar-width: none; }
  .future-nav::-webkit-scrollbar { display: none; }
  .sound-toggle { width: 44px; height: 44px; }
  .ab-hero-copy { left: 22px; right: 18px; top: 17.3vh; width: auto; }
  .engraved-title { font-size: clamp(49px, 15vw, 70px); line-height: .81; }
  .ab-hero-copy > p { margin-top: 19px; font-size: 9px; line-height: 1.65; letter-spacing: .18em; }
  .future-cta { min-width: min(268px, 100%); min-height: 50px; font-size: 10px; }
  .world-picture img { object-position: 50% 50%; translate: calc(var(--world-x) * -3px) calc(var(--world-y) * -2px); }
  .world-water { translate:calc(var(--world-x) * -3px) calc(var(--world-y) * -2px); }
  .world-copy { left: 23px; top: 30.5%; width: 72vw; }
  .world-copy .ab-brand-mark { width: clamp(108px, 32vw, 142px); }
  .world-copy .ab-brand-name { font-size: 9px; letter-spacing: .36em; }
  .world-rule { width: 198px; margin-top: 13px; margin-bottom: 14px; }
  .world-copy p { font-size: 9px; letter-spacing: .18em; }
  .world-copy p + p { font-size: 8px; }
  .future-cta--world { margin-top: 14px; min-width: 205px; min-height: 46px; padding-inline: 18px; gap: 18px; }
  .interaction-hint { display: none; }
  .wall-vignette { background: linear-gradient(180deg, rgb(4 4 3 / 25%) 0%, transparent 36%, rgb(2 2 2 / 67%) 100%); }
  .ab-hero-shell[data-phase='break'][data-breached='true'] .ab-hero-copy,
  .ab-hero-shell[data-phase='pass-through'] .ab-hero-copy {
    -webkit-mask-image: radial-gradient(ellipse 68% 43% at 76% 61%, transparent 0 43%, #000 78%);
    mask-image: radial-gradient(ellipse 68% 43% at 76% 61%, transparent 0 43%, #000 78%);
  }
}

@media (max-height: 720px) and (min-width: 721px) {
  .ab-hero-header { min-height: 86px; }
  .ab-hero-copy { top: 17vh; }
  .engraved-title { font-size: clamp(58px, 7.2vw, 96px); }
  .ab-hero-copy > p { margin-top: 14px; margin-bottom: 13px; }
  .future-cta { min-height: 45px; }
  .world-copy { top: 53%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .hero-media, .portal-window, .particle-canvas, .impact-flash, .flight-shutter, .world-water { display: none; }
  .pointer-light { opacity: .17; }
  .interaction-hint { display: none; }
}

/* The approved material/lighting remains the signature; product stories stay calm. */
.studio-home { --font-geist-sans: 'Geist'; --font-geist-mono: 'Geist Mono'; --font-impact: 'Archivo Black'; background:#020405; color:#f0ede6; }
.studio-home a:focus-visible,.studio-home button:focus-visible,.studio-home input:focus-visible,.studio-home select:focus-visible,.studio-home textarea:focus-visible {outline:2px solid #b9ed43;outline-offset:5px}
.studio-home [hidden] {display:none!important}
.studio-home .ab-hero-shell {border-radius:0;margin:0;box-shadow:none}
.studio-home .ab-hero-copy {padding:0;background:none;border:0;}
.studio-home .ab-hero-copy h1 {max-width:none;text-wrap:initial;line-height:.79;font-size:clamp(74px,8.25vw,136px);margin:0;letter-spacing:-.048em;}
.studio-home .ab-brand {text-decoration:none}
.studio-home .ab-hero-header {grid-template-columns:minmax(230px,1fr) auto minmax(220px,1fr);gap:24px}
.ab-hero-tools {display:flex;align-items:center;justify-content:flex-end;gap:20px}
.ab-languages {display:flex;gap:1px}
.ab-languages a {display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:#b5b8b1;font:500 11px 'Geist',Arial,sans-serif;letter-spacing:.06em;cursor:pointer;min-width:34px;min-height:44px;padding:0 6px}
.ab-languages a[aria-current='page'] {color:#b9ed43}
.ab-menu {display:none;background:none;border:1px solid #62665a;color:#f0ede6;font-size:21px;min-width:44px;min-height:44px;cursor:pointer}
.future-nav a {white-space:nowrap;transition:color .2s}
.future-nav a:hover {color:#b9ed43}
.future-cta {cursor:pointer;text-decoration:none}
.future-cta:hover {background:rgb(185 237 67 / 12%)}
.ab-hero-shell[data-phase='world'] .portal-window {pointer-events:auto}
.ab-hero-shell .interaction-hint {border:0;background:none;cursor:pointer;padding:14px;bottom:15px;right:240px;color:#aaa99f;min-height:44px}
.studio-skip {position:fixed;top:-100px;left:20px;z-index:2000;padding:16px;background:#b9ed43;color:#020405}
.studio-skip:focus {top:10px}
.studio-section {position:relative;max-width:1536px;margin:0 auto;padding:clamp(76px,8vw,144px) clamp(24px,7vw,110px);scroll-margin-top:24px}
.studio-kicker {font-size:11px;line-height:1.5;letter-spacing:.2em;color:#b5c492;font-weight:550;margin:0 0 25px}
.studio-heading {font-size:clamp(40px,4.6vw,76px);line-height:1.06;font-weight:450;letter-spacing:-.052em;margin:0 0 28px;max-width:1050px;white-space:pre-line;text-wrap:balance}
.studio-lead {font-size:clamp(17px,1.5vw,22px);line-height:1.65;font-weight:350;max-width:780px;color:#9dabae;margin:0 0 44px}
.studio-categories {display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:66px;border-top:1px solid #282f2e;padding-top:32px}
.studio-categories h3,.studio-values h3 {font-size:clamp(18px,1.7vw,24px);font-weight:450;margin:0 0 18px;letter-spacing:-.025em}
.studio-categories p,.studio-values p,.studio-story-copy p {font-size:16px;line-height:1.7;color:#95a1a3;margin:0;max-width:360px}
#featured {padding-top:35px}
.studio-products {margin:66px 0}
.studio-product {display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(35px,5vw,86px);align-items:center;padding:50px 0 70px;border-top:1px solid #29312f}
.studio-product:nth-child(even) {grid-template-columns:1fr 1.45fr}
.studio-product:nth-child(even) .studio-product-image {order:2}
.studio-product-image {display:flex;align-items:center;justify-content:center;aspect-ratio:1.5;overflow:hidden;background:radial-gradient(ellipse at 50% 75%,#292c25,#080c0d 75%);border-radius:4px}
.studio-product-image img {width:100%;height:100%;object-fit:contain;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.studio-product-image:hover img {transform:scale(1.025)}
.studio-product-copy h3 {font-size:clamp(29px,3vw,46px);font-weight:450;line-height:1.12;letter-spacing:-.045em;margin:0 0 22px;text-wrap:balance}
.studio-product-copy>p:not(.studio-platforms) {font-size:16px;line-height:1.75;color:#9dabae;margin:0 0 26px;max-width:430px}
.studio-platforms {font-size:11px;line-height:1.5;letter-spacing:.12em;color:#c9c3aa;margin:0 0 20px}
.studio-platforms span {color:#515d59;margin:0 9px}
.studio-link {display:inline-flex;gap:22px;align-items:center;font-size:14px;color:#d8e6c1;padding:10px 0;min-height:44px;border-bottom:1px solid #435037}
.studio-link:hover {color:#b9ed43;border-color:#b9ed43}
.studio-button {display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:14px 25px;border:1px solid #637347;background:#0d140e;color:#d0eda9;font:500 13px 'Geist',Arial,sans-serif;cursor:pointer;border-radius:0}
.studio-button:hover {background:#192619}
.studio-work {background:radial-gradient(ellipse at 95% 5%,#24241a 0,transparent 55%);border-block:1px solid #272f2b}
.studio-work .studio-heading {max-width:1000px}
.studio-values {display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:60px}
.studio-platform-section {text-align:center;padding-block:150px;background:radial-gradient(ellipse at 50% 48%,#152022 0,transparent 65%)}
.studio-platform-section .studio-heading {font-size:clamp(45px,7vw,112px);max-width:none;letter-spacing:-.06em}
.studio-platform-section .studio-lead {margin:30px auto 25px;max-width:720px}
.studio-story {border-top:1px solid #29312d;display:grid;grid-template-columns:1.2fr 1fr;gap:0 70px}
.studio-story .studio-kicker {grid-column:1/-1}
.studio-story-copy {padding-top:8px}
.studio-story-copy p {max-width:500px;font-size:18px;margin:0 0 22px}
.studio-support {background:linear-gradient(115deg,#17201a,#0a100e 65%);border-block:1px solid #2c392d}
.studio-actions {display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.studio-home .contact-section {text-align:left;background:none;box-shadow:none;border:0;}
.studio-home .contact-section h2 {font-size:clamp(40px,4.6vw,76px);max-width:none;line-height:1.06;letter-spacing:-.052em;font-weight:450;margin:0 0 24px}
.studio-home .contact-section .kicker {color:#b5c492}
.studio-home .contact-lead {margin:0 0 36px;max-width:730px;color:#9dabae;font-size:18px;line-height:1.65}
.studio-home .contact-details {align-items:flex-start;text-align:left;margin:0 0 20px}
.studio-home .email-row,.studio-home .contact-icons {justify-content:flex-start}
.studio-home .contact-form-panel {margin-top:46px;border:1px solid #2b3530;background:linear-gradient(120deg,#101713,#090e0d);box-shadow:none;text-align:left}
.studio-home .contact-form input,.studio-home .contact-form select,.studio-home .contact-form textarea {background:#070c0a;border-color:#37423a;color:#f0ede6}
.studio-home .form-submit {background:#b9ed43;border:1px solid #b9ed43;color:#0b1005;box-shadow:none}
.studio-home .site-footer {display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:18px;text-align:center;border-top:1px solid #28312c;padding-top:48px;padding-bottom:max(120px,calc(96px + env(safe-area-inset-bottom)))}
.studio-home .site-footer>* {min-width:0;max-width:100%;overflow-wrap:anywhere}
.studio-footer-brand {font-size:20px;letter-spacing:-.04em}
.studio-home .site-footer nav {display:flex;align-items:center;justify-content:center;gap:6px 24px;flex-wrap:wrap;width:min(100%,56rem);font-size:13px;color:#b6c1b5}
.studio-home .site-footer nav a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding-block:6px;line-height:1.5;text-wrap:balance}
.studio-home .site-footer>span {width:min(100%,36rem);font-size:12px;line-height:1.6;color:#7d8b83;text-wrap:balance}
.studio-home .floating-clock {background:#0c130fd9;border-color:#364032;box-shadow:none}
.studio-home .assistant-launcher {background:#111810ed;border-color:#526040;box-shadow:0 8px 28px #0008}
.studio-home .assistant-launcher-text {font-size:12px}
.assistant-product-link {display:inline-block;margin-top:12px;color:#b9ed43;text-decoration:underline;text-underline-offset:4px}
.assistant-bubble-kristina {white-space:pre-line}
.studio-home .back-to-top {right:auto;bottom:28px;font-size:22px;color:#c1d3a0;background:#111810}
.studio-reveal.is-revealed {animation:studio-reveal .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes studio-reveal {from{opacity:.3;transform:translateY(20px)}to{opacity:1;transform:none}}
@media(min-width:1900px) {.studio-section {max-width:1670px}}
@media(max-width:1250px) {.studio-home .ab-hero-header {grid-template-columns:1fr auto;gap:10px;min-height:115px;padding:14px 28px}.future-nav {grid-column:1/-1;grid-row:2;gap:27px;justify-content:flex-start}.ab-hero-tools {grid-column:2;grid-row:1}.studio-home .ab-hero-copy {top:max(150px,19vh)}.ab-hero-shell .ab-hero-copy h1 {font-size:min(9vw,100px)}}
@media(max-width:760px) {
 .studio-home .ab-hero-header {padding:14px 18px;min-height:116px;align-items:center;gap:5px 10px;grid-template-columns:1fr auto}
 .ab-hero-tools {gap:8px}.ab-languages {position:absolute;left:18px;top:65px}.ab-languages a {display:inline-flex;align-items:center;justify-content:center;min-width:38px}.ab-menu {display:block}.ab-brand--compact .ab-brand-name {font-size:8px;letter-spacing:.16em}.sound-toggle{width:44px;height:44px}
 .future-nav {display:none;grid-column:auto;grid-row:auto;position:absolute;left:12px;right:12px;top:114px;padding:22px;background:#090f0df5;border:1px solid #3a4734;box-shadow:0 15px 35px #0009;max-height:65svh;overflow:auto}
 .future-nav.is-open {display:flex;flex-direction:column;align-items:stretch;gap:0}.future-nav a {font-size:13px;padding:13px;min-height:44px}
 .studio-home .ab-hero-copy {top:max(150px,20svh);left:22px;right:18px;width:auto}
 .ab-hero-shell .ab-hero-copy h1 {font-size:clamp(45px,14vw,78px);line-height:.81}
 .ab-hero-copy>p {font-size:9px;line-height:1.75;max-width:340px;letter-spacing:.12em}
 .ab-hero-shell .interaction-hint {display:block;font-size:8px;letter-spacing:.11em;bottom:85px;right:14px}
 .world-copy {top:35%;width:calc(100% - 46px)}
 .studio-section {padding:76px 24px}.studio-heading {font-size:41px}.studio-lead {font-size:17px}
 .studio-categories,.studio-values {grid-template-columns:1fr;gap:28px;margin-top:35px}.studio-categories>div{display:grid;grid-template-columns:.85fr 1fr;gap:20px}.studio-categories h3{font-size:20px}.studio-categories p,.studio-values p{font-size:14px}
 .studio-product,.studio-product:nth-child(even) {grid-template-columns:1fr;gap:28px;padding:35px 0 44px}.studio-product:nth-child(even) .studio-product-image {order:0}.studio-products{margin:38px 0}.studio-product-copy h3{font-size:34px}.studio-product-copy>p:not(.studio-platforms){font-size:16px;max-width:none}
 .studio-story {display:block}.studio-story-copy{padding-top:10px}.studio-story-copy p{font-size:17px}.studio-platform-section{padding-block:95px}.studio-platform-section .studio-heading{font-size:clamp(37px,8vw,58px);white-space:nowrap}
 .studio-home .contact-section h2 {font-size:41px}.studio-home .contact-form-panel{grid-template-columns:1fr;padding:25px 19px;gap:20px}.studio-home .contact-form{grid-template-columns:1fr}.studio-home .contact-form label{grid-column:1}.studio-home .contact-lead{font-size:17px}
 .studio-home .site-footer{padding-bottom:max(145px,calc(120px + env(safe-area-inset-bottom)))}
 .studio-home .floating-clock {display:none}.studio-home .assistant-widget {right:12px;bottom:12px}.studio-home .assistant-launcher{padding:5px 9px 5px 5px;gap:8px}.studio-home .assistant-launcher-avatar{width:40px;height:40px}.studio-home .assistant-launcher-text{max-width:105px;font-size:11px}
}
@media(max-height:580px) and (orientation:landscape){.studio-home .ab-hero-shell{min-height:650px;height:650px}.studio-home .ab-hero-copy{top:155px}.ab-hero-shell .ab-hero-copy h1{font-size:70px}}
@media(prefers-reduced-motion:reduce){.studio-home *,.studio-home *::before,.studio-home *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.studio-reveal{opacity:1!important;transform:none!important}}
.studio-home .back-to-top {left:50%;right:auto;bottom:max(24px,env(safe-area-inset-bottom));transform:translate(-50%,10px) scale(.96)}
.studio-home .back-to-top.is-visible {transform:translate(-50%,0) scale(1)}
.studio-home .back-to-top:hover {transform:translate(-50%,-3px)}
.studio-home .contact-form label:has(select) {grid-column:1 / -1}
@media (min-width:761px) and (max-width:1000px) {.studio-home .contact-form-panel {grid-template-columns:1fr}.studio-home .contact-form-copy p {max-width:580px}}
