:root {
  --font-site: Georgia, serif;
  --bg: #030303;
  --panel: rgba(11, 10, 9, 0.82);
  --panel-soft: rgba(12, 11, 10, 0.56);
  --footer-glass: rgba(5, 5, 5, 0.44);
  --border: rgba(255, 151, 25, 0.18);
  --border-strong: rgba(255, 151, 25, 0.28);
  --text: #fff4ca;
  --muted: #c9a96b;
  --gold: #ff9719;
  --gold-light: #ffd374;
  --gold-deep: #a9600d;
  --shadow: 0 24px 80px rgba(0, 0, 0, 0.35);
  --radius: 24px;
  --container: 1240px;
  --header-h: 76px;
  --cf-px: 0;
  --cf-py: 0;
}
* { box-sizing: border-box; }
html {
  width: 100%;
  max-width: 100%;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 18px);
  overflow-x: clip;
  touch-action: pan-x pan-y;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  min-width: 320px;
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  overscroll-behavior-x: none;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-site);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
#starfield {
  position: fixed;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  background: #030303;
}
body.cluster-dragging {
  overflow: hidden;
  touch-action: none;
}
body.cluster-dragging .site-shell {
  pointer-events: none;
}
body.cluster-dragging .site-header,
body.cluster-dragging .mobile-menu,
body.cluster-dragging .logo-viewer,
body.cluster-dragging .intro-gate {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: block;
  padding: 0;
  background: #000;
  transition: opacity 700ms cubic-bezier(.22,.61,.36,1), visibility 700ms ease;
}
body.intro-active { overflow: hidden; }
.intro-gate.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.intro-animation-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #000;
}
.skip-intro {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(0,0,0,.25);
  color: rgba(255,255,255,.68);
  cursor: pointer;
  backdrop-filter: blur(10px);
}
.intro-skip-floating {
  position: absolute;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 2;
}
@keyframes introPulse {
  0%, 100% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.035); opacity: 1; }
}
@media (max-width: 1060px) {
  .hero-grid { grid-template-columns: 1fr; }
  .logo-stage { order: -1; }
  .statement-grid { grid-template-columns: 1fr; }
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .landscape-row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    padding: 18px 8px;
  }
  .landscape-note { grid-column: 2; text-align: left; }
}
@media (max-width: 860px) {
  .nav-links { display: none; }
  .menu-button { display: inline-grid; place-items: center; }
  .grid-2, .grid-3, .timeline-card, .footer-grid { grid-template-columns: 1fr; }
  .footer-links { justify-content: flex-start; }
  .timeline-card { gap: 10px; }
}
@media (max-width: 600px) {
  :root { --header-h: 68px; }
  .container { width: min(calc(100% - 26px), var(--container)); }
  .site-header { height: var(--header-h); }
  .brand-mark { width: 36px; height: 36px; }
  .brand-name { font-size: 12px; letter-spacing: 0.14em; }
  .hero { padding: 36px 0 52px; }
  .hero-logo { width: min(90%, 330px); }
  .category-strip span, .meta-pill { font-size: 10px; }
  .card, .info-card, .product-card, .principle-card, .timeline-card { padding: 22px; }
  .quote-panel p { font-size: clamp(30px, 10vw, 52px); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal,
  .material-card,
  .material-card > *,
  .card-corner,
  .character-field,
  .character-field .char {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  .intro-card img { animation: none; }

  .material-card::before,
  .material-card::after {
    opacity: 1 !important;
    clip-path: inset(0 round 24px) !important;
    transform: none !important;
  }

  .card-corner {
    display: none !important;
  }
}


/* ba17 transparency refinement */
.material-card,
.material-card > :not(.card-corner) {
  background-color: transparent !important;
}

.material-card .meta-pill {
  background: rgba(255, 255, 255, 0.015);
  border-color: rgba(255, 151, 25, 0.10);
}


/* ba23 — sharp rectangular interactive cards */
.material-card,
.material-card::before,
.material-card::after {
  border-radius: 0 !important;
}

.material-card {
  --material-lift: 0px;
}

.material-card::before {
  opacity: 1;
  clip-path: inset(0 round 0px);
  background:
    radial-gradient(
      circle at var(--material-light-x) var(--material-light-y),
      rgba(232, 194, 122, .03),
      rgba(208, 159, 74, .010) 24%,
      transparent 55%
    ),
    linear-gradient(145deg, rgba(255, 151, 25, .020), transparent 48%),
    rgba(6, 6, 6, .26);
  backdrop-filter: blur(8px) saturate(1.02);
  -webkit-backdrop-filter: blur(8px) saturate(1.02);
  transition:
    background 220ms ease,
    transform 220ms ease,
    opacity 220ms ease;
  transition-delay: 0ms;
}

.material-card::after {
  display: none !important;
}

.material-card.is-visible .card-corner,
.material-card.material-landed .card-corner {
  opacity: 0;
  transform:
    translate3d(var(--corner-x), var(--corner-y), -90px)
    rotateZ(var(--corner-rotation))
    scale(.72);
}

.material-card.is-visible .card-corner::before,
.material-card.material-landed .card-corner::before {
  transform: scaleX(0);
}

.material-card.is-visible .card-corner::after,
.material-card.material-landed .card-corner::after {
  transform: scaleY(0);
}

.material-card.is-highlighted {
  --material-lift: -5px;
}

.material-card.is-highlighted::before {
  background:
    radial-gradient(
      circle at var(--material-light-x) var(--material-light-y),
      rgba(240, 205, 139, .08),
      rgba(208, 159, 74, .018) 24%,
      transparent 56%
    ),
    linear-gradient(145deg, rgba(255, 151, 25, .028), transparent 50%),
    rgba(7, 7, 7, .42);
}

.material-card.is-highlighted .card-corner {
  opacity: .96;
  transform: translate3d(0, 0, 0) rotateZ(0deg) scale(1);
}

.material-card.is-highlighted .card-corner::before {
  transform: scaleX(1);
}

.material-card.is-highlighted .card-corner::after {
  transform: scaleY(1);
}

.material-card.is-highlighted > :not(.card-corner) {
  opacity: 1;
}

@media (max-width: 767px) {
  .card, .info-card, .product-card, .principle-card, .timeline-card {
    border-radius: 0;
  }
}


/* ba24 — sharp rectangular cards with restored entry highlight */
.card, .info-card, .product-card, .principle-card, .timeline-card,
.material-card,
.material-card::before,
.material-card::after {
  border-radius: 0 !important;
}

.material-card::before {
  clip-path: inset(0 round 0px) !important;
}

.material-card.reveal,
.material-card.reveal.is-visible {
  border-radius: 0 !important;
}

.material-card.is-visible .card-corner {
  opacity: .9;
  transform:
    translate3d(0, 0, 0)
    rotateZ(0deg)
    scale(1);
}

.material-card.is-visible .card-corner::before {
  transform: scaleX(1);
}

.material-card.is-visible .card-corner::after {
  transform: scaleY(1);
}

.material-card.material-landed .card-corner {
  opacity: 0;
  transform:
    translate3d(0, 0, 0)
    rotateZ(0deg)
    scale(1);
}

.material-card.material-landed .card-corner::before {
  transform: scaleX(0);
}

.material-card.material-landed .card-corner::after {
  transform: scaleY(0);
}

.material-card.is-highlighted .card-corner {
  opacity: .96;
  transform: translate3d(0, 0, 0) rotateZ(0deg) scale(1);
}

.material-card.is-highlighted .card-corner::before {
  transform: scaleX(1);
}

.material-card.is-highlighted .card-corner::after {
  transform: scaleY(1);
}


/* ba25 — footer-matched card transparency and restored typography */
body,
button,
input,
textarea,
select,
.nav-links a,
.mobile-menu a,
.footer-links a,
.brand-name,
.eyebrow,
.section-label,
.hero-description,
.page-intro,
.company-copy,
.footer-note,
.card-copy,
.panel-copy,
.timeline-copy,
.landscape-note,
.card-index,
.meta-pill,
.copyright {
  font-family: var(--font-site);
}

.display,
.page-title,
.vision-title,
.statement,
.landscape-number,
.landscape-title,
.card h2,
.info-card h2,
.product-card h2,
.principle-card h2,
.timeline-card h2,
.quote-panel p,
.timeline-step,
.intro-card h2 {
  font-family: var(--font-site);
}

/* ba30 — canonical opacity: cards and banners exactly match the bottom footer/navigation */
:root {
  --shared-panel-glass: var(--footer-glass);
}

/* Large banners and standalone panels */
.vision-panel,
.content-panel,
.quote-panel,
.cta-panel {
  background: var(--shared-panel-glass) !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
}

/* Every card type uses the same background alpha as the footer. */
.card,
.info-card,
.product-card,
.principle-card,
.timeline-card {
  background: var(--shared-panel-glass) !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
}

/* Material-card animation uses ::before as its visible surface.
   Keep the element itself transparent to avoid stacking two 44% layers. */
.material-card {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
}

.material-card::before {
  background: var(--shared-panel-glass) !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
  clip-path: inset(0 round 0) !important;
}

/* Highlight keeps the exact same base opacity and only adds a light response. */
.material-card.is-highlighted::before {
  background:
    radial-gradient(
      circle at var(--material-light-x) var(--material-light-y),
      rgba(240, 205, 139, 0.055),
      rgba(208, 159, 74, 0.012) 24%,
      transparent 56%
    ),
    var(--shared-panel-glass) !important;
}

/* ba31 — homepage software landscape panel matches the shared translucent card surface */
.landscape-list {
  background: var(--shared-panel-glass) !important;
  background-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}


/* ba32 — interactive 3D navbar logo */
.brand-logo-button {
  display: inline-grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  border-radius: 50%;
  transition: transform 220ms ease, filter 220ms ease;
}

.brand-logo-button:hover,
.brand-logo-button:focus-visible {
  transform: scale(1.06);
  filter: drop-shadow(0 0 12px rgba(255, 151, 25, .20));
  outline: none;
}

.brand-logo-button .brand-mark { pointer-events: none; }

.hero-grid-single { grid-template-columns: minmax(0, 1fr) !important; }
.hero-grid-single .hero-copy { max-width: 1040px; }

.logo-viewer {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 320ms ease, visibility 320ms ease;
}

.logo-viewer.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.logo-viewer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(2, 2, 2, .38);
  backdrop-filter: blur(17px) saturate(.72);
  -webkit-backdrop-filter: blur(17px) saturate(.72);
}

.logo-viewer-dialog {
  position: relative;
  z-index: 2;
  width: min(82vmin, 760px);
  display: grid;
  place-items: center;
  padding: 44px;
  perspective: 1450px;
  pointer-events: none;
}

.logo-model-stage {
  width: min(68vmin, 620px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  perspective: 1450px;
  touch-action: none;
  cursor: grab;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
}
.logo-model-stage.is-dragging { cursor: grabbing; }

.logo-model {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  will-change: transform;
  filter: drop-shadow(0 30px 55px rgba(0,0,0,.52)) drop-shadow(0 0 20px rgba(255,151,25,.10));
}

.logo-model img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
  -webkit-user-drag: none;
}

.logo-depth-layer {
  transform-style: preserve-3d;
  filter: brightness(.34) sepia(.30) saturate(1.25);
}

.logo-model-main {
  transform: translateZ(20px);
  backface-visibility: hidden;
}

.logo-model::after {
  content: "";
  position: absolute;
  inset: 7%;
  border-radius: 50%;
  transform: translateZ(25px);
  pointer-events: none;
  background: linear-gradient(120deg, transparent 27%, rgba(255,238,195,.09) 43%, rgba(255,246,221,.20) 50%, rgba(255,238,195,.07) 57%, transparent 73%);
  mix-blend-mode: screen;
  opacity: .48;
}

.logo-viewer-close {
  position: fixed;
  top: max(22px, env(safe-area-inset-top));
  right: max(22px, env(safe-area-inset-right));
  z-index: 3;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,151,25,.22);
  border-radius: 50%;
  background: rgba(5,5,5,.38);
  color: var(--text);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.logo-viewer-hint {
  margin: 22px 0 0;
  color: rgba(244,241,233,.62);
  font-size: 12px;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-align: center;
  pointer-events: none;
}

body.logo-viewer-open { overflow: hidden; }

@media (max-width: 600px) {
  .brand-logo-button { width: 38px; height: 38px; }
  .logo-viewer-dialog { width: 100%; padding: 28px 18px; }
  .logo-model-stage { width: min(84vw, 520px); }
  .logo-viewer-hint { font-size: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  .logo-viewer,
  .brand-logo-button,
  .logo-model { transition: none !important; }
}

/* ba33 — transparent interactive logo and logo-only navbar */
.site-header .brand-name {
  display: none !important;
}

.logo-model,
.logo-model img,
.logo-model-stage,
.logo-viewer-dialog {
  background: transparent !important;
  box-shadow: none !important;
}

.logo-model {
  filter:
    drop-shadow(0 30px 55px rgba(0, 0, 0, .48))
    drop-shadow(0 0 18px rgba(255, 151, 25, .10));
}


/* ba34 — expanded navigation */
.nav-links { gap: 18px; }
.nav-links a { font-size: 12px; }
@media (max-width: 1120px) {
  .nav-links { display: none; }
  .menu-button { display: inline-grid; place-items: center; }
}


/* ba35 — Our Work, service swipers and individual detail pages */
.auto-swipe {
  position: relative;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
}
.auto-swipe-viewport { overflow: hidden; }
.auto-swipe-track {
  display: flex;
  transform: translate3d(0,0,0);
  transition: transform 760ms cubic-bezier(.16,1,.3,1);
  will-change: transform;
}
.auto-swipe.is-dragging .auto-swipe-track { transition: none; }
.showcase-slide {
  position: relative;
  flex: 0 0 100%;
  min-width: 100%;
  min-height: 480px;
  display: grid;
  align-items: end;
  padding: clamp(34px, 7vw, 88px);
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(var(--slide-rgb), .64), rgba(var(--slide-rgb), .18) 48%, rgba(4,4,4,.72)),
    rgba(5,5,5,.34);
  border: 1px solid rgba(var(--slide-rgb), .50);
}
.showcase-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 78% 28%, rgba(255,255,255,.18), transparent 24%);
  opacity: .42;
  pointer-events: none;
}
.showcase-slide-copy { position: relative; z-index: 2; max-width: 850px; }
.showcase-kicker, .showcase-status {
  color: rgba(255,255,255,.80);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.showcase-slide h2 {
  margin: 16px 0 18px;
  max-width: 900px;
  font-family: var(--font-site);
  font-size: clamp(52px, 8vw, 116px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
}
.showcase-slide p { max-width: 680px; margin: 0; color: rgba(255,255,255,.78); font-size: clamp(16px,1.4vw,20px); line-height: 1.65; }
.showcase-cta { display: inline-block; margin-top: 26px; color: #fff; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.showcase-status { position: absolute; z-index: 2; right: 34px; top: 30px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.24); background: rgba(4,4,4,.22); backdrop-filter: blur(8px); }
.showcase-orbit { position: absolute; right: -8%; top: 50%; width: min(42vw,520px); aspect-ratio: 1; transform: translateY(-50%); opacity: .32; }
.showcase-orbit span { position:absolute; inset: 10%; border: 1px solid rgba(255,255,255,.42); border-radius:50%; animation: showcaseOrbit 12s linear infinite; }
.showcase-orbit span:nth-child(2) { inset:24%; animation-duration:8s; animation-direction:reverse; }
.showcase-orbit span:nth-child(3) { inset:38%; animation-duration:5.5s; }
.showcase-orbit span::after { content:""; position:absolute; width:8px; height:8px; border-radius:50%; top:-4px; left:50%; background:#fff; box-shadow:0 0 20px rgba(255,255,255,.8); }
@keyframes showcaseOrbit { to { transform:rotate(360deg); } }
.auto-swipe-control { position:absolute; z-index:6; top:50%; width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.20); border-radius:50%; background:rgba(3,3,3,.34); color:#fff; font-size:21px; cursor:pointer; backdrop-filter:blur(9px); transform:translateY(-50%); }
.auto-swipe-control.previous { left:18px; }
.auto-swipe-control.next { right:18px; }
.auto-swipe-dots { position:absolute; z-index:6; left:50%; bottom:22px; display:flex; gap:9px; transform:translateX(-50%); }
.auto-swipe-dots button { width:26px; height:3px; padding:0; border:0; background:rgba(255,255,255,.26); cursor:pointer; transition:width 220ms ease, background 220ms ease; }
.auto-swipe-dots button.is-active { width:48px; background:#fff; }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:30px; }
.section-heading h2 { margin:0; font-family: var(--font-site); font-size:clamp(38px,5vw,72px); font-weight:400; line-height:.95; letter-spacing:-.045em; }
.section-heading p { margin:10px 0 0; color:var(--muted); }
.work-category-section { padding-top:74px; }
.project-link-card, .service-link-card { display:block; position:relative; }
.project-link-card::marker, .service-link-card::marker { display:none; }
.card-link-label { display:inline-block; margin-top:24px; color:var(--gold-light); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
.project-link-card { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--project-theme) 74%, transparent) !important; }
.service-link-card { box-shadow: inset 3px 0 0 color-mix(in srgb, var(--project-theme) 74%, transparent) !important; }
.detail-theme-panel { position:relative; min-height:300px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; padding:clamp(28px,6vw,70px); overflow:hidden; background:linear-gradient(135deg,color-mix(in srgb,var(--detail-theme) 70%,#050505),rgba(5,5,5,.34)); border:1px solid color-mix(in srgb,var(--detail-theme) 55%,transparent); }
.detail-theme-panel span, .detail-theme-panel strong { position:relative; z-index:2; font-size:12px; letter-spacing:.16em; text-transform:uppercase; }
.detail-theme-panel strong { padding:10px 14px; border:1px solid rgba(255,255,255,.22); }
.detail-theme-orbit { position:absolute; right:7%; top:50%; width:min(32vw,320px); aspect-ratio:1; border:1px solid rgba(255,255,255,.24); border-radius:50%; transform:translateY(-50%); }
.detail-theme-orbit::before, .detail-theme-orbit::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.detail-theme-orbit::before { inset:18%; }
.detail-theme-orbit::after { inset:36%; }
.detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.detail-copy-panel { padding:32px; }
.detail-copy-panel h2 { margin:0 0 14px; font-family: var(--font-site); font-size:clamp(28px,3vw,42px); font-weight:400; }
@media (max-width:860px) {
  .showcase-slide { min-height:430px; padding:54px 28px 72px; }
  .showcase-orbit { width:72vw; right:-28%; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .detail-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .showcase-slide { min-height:470px; }
  .showcase-status { right:18px; top:18px; font-size:9px; }
  .auto-swipe-control { width:40px; height:40px; top:auto; bottom:14px; transform:none; }
  .auto-swipe-control.previous { left:14px; }
  .auto-swipe-control.next { right:14px; }
  .auto-swipe-dots { bottom:30px; }
  .showcase-orbit { opacity:.20; }
}
@media (prefers-reduced-motion:reduce) {
  .auto-swipe-track, .showcase-orbit span { transition:none!important; animation:none!important; }
}


/* ba36 — full-bleed continuous chain carousels */
.full-bleed-carousel-section { overflow: hidden; }
.chain-section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}
.chain-section-heading h2 {
  margin: 0;
  font-family: var(--font-site);
  font-size: clamp(38px, 5vw, 72px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.045em;
}
.chain-section-heading p { margin: 10px 0 0; color: var(--muted); }
.chain-carousel {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  touch-action: pan-y;
  padding-bottom: 78px;
}
.chain-viewport { width: 100%; overflow: hidden; }
.chain-track {
  display: flex;
  width: max-content;
  gap: clamp(10px, 1.15vw, 20px);
  will-change: transform;
  transform: translate3d(0,0,0);
}
.chain-carousel.is-dragging { cursor: grabbing; }
.chain-carousel:not(.is-dragging) { cursor: grab; }
.chain-card {
  --corner-length: clamp(34px, 4vw, 64px);
  position: relative;
  flex: 0 0 clamp(330px, 72vw, 1080px);
  min-height: clamp(410px, 52vw, 590px);
  display: grid;
  align-items: end;
  padding: clamp(34px, 6.5vw, 82px);
  overflow: hidden;
  color: var(--text);
  background:
    radial-gradient(circle at 78% 24%, rgba(var(--slide-rgb), .17), transparent 27%),
    linear-gradient(135deg, rgba(var(--slide-rgb), .48), rgba(var(--slide-rgb), .12) 47%, rgba(5,5,5,.46)),
    rgba(5,5,5,.30);
  border: 0;
  isolation: isolate;
}
.chain-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(110deg, transparent 18%, rgba(255,255,255,.065) 46%, transparent 72%);
  transform: translateX(-115%);
  transition: transform 900ms cubic-bezier(.16,1,.3,1);
}
.chain-card:hover::before,
.chain-card:focus-visible::before { transform: translateX(115%); }
.chain-card-copy { position: relative; z-index: 3; max-width: 820px; }
.chain-kicker,
.chain-status {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.chain-kicker { color: color-mix(in srgb, var(--slide-theme) 58%, white); }
.chain-card h2 {
  margin: 16px 0 18px;
  max-width: 900px;
  font-family: var(--font-site);
  font-size: clamp(52px, 8vw, 116px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
}
.chain-card p {
  max-width: 690px;
  margin: 0;
  color: rgba(244,241,233,.76);
  font-size: clamp(16px,1.4vw,20px);
  line-height: 1.65;
}
.chain-cta {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  margin-top: 26px;
  color: rgba(255,255,255,.94);
  font-size: 12px;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.chain-status {
  position: absolute;
  z-index: 4;
  right: clamp(20px,3vw,38px);
  top: clamp(20px,3vw,34px);
  padding: 10px 14px;
  border: 1px solid color-mix(in srgb, var(--slide-theme) 62%, transparent);
  background: rgba(3,3,3,.28);
  color: rgba(255,255,255,.82);
  backdrop-filter: blur(8px);
}
.chain-depth {
  position: absolute;
  z-index: 1;
  right: -4%;
  top: 50%;
  width: min(38vw, 470px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  opacity: .25;
  pointer-events: none;
}
.chain-depth span {
  position: absolute;
  inset: 10%;
  border: 1px solid color-mix(in srgb, var(--slide-theme) 60%, transparent);
  border-radius: 50%;
  animation: showcaseOrbit 14s linear infinite;
}
.chain-depth span:nth-child(2) { inset: 25%; animation-duration: 9s; animation-direction: reverse; }
.chain-depth span:nth-child(3) { inset: 40%; animation-duration: 6s; }
.chain-depth span::after {
  content: "";
  position: absolute;
  top: -3px;
  left: 50%;
  width: 6px;
  height: 6px;
  background: var(--slide-theme);
  box-shadow: 0 0 18px var(--slide-theme);
}
.chain-corner {
  position: absolute;
  z-index: 5;
  width: var(--corner-length);
  height: var(--corner-length);
  pointer-events: none;
}
.chain-corner::before,
.chain-corner::after {
  content: "";
  position: absolute;
  background: var(--slide-theme);
  box-shadow: 0 0 12px color-mix(in srgb, var(--slide-theme) 42%, transparent);
}
.chain-corner::before { width: 100%; height: 1px; }
.chain-corner::after { width: 1px; height: 100%; }
.chain-corner.corner-tl { left: 20px; top: 20px; }
.chain-corner.corner-tr { right: 20px; top: 20px; }
.chain-corner.corner-bl { left: 20px; bottom: 20px; }
.chain-corner.corner-br { right: 20px; bottom: 20px; }
.chain-corner.corner-tr::before,
.chain-corner.corner-br::before { right: 0; }
.chain-corner.corner-tr::after,
.chain-corner.corner-br::after { right: 0; }
.chain-corner.corner-bl::before,
.chain-corner.corner-br::before { bottom: 0; }
.chain-corner.corner-bl::after,
.chain-corner.corner-br::after { bottom: 0; }
.chain-controls {
  position: absolute;
  z-index: 10;
  right: clamp(16px, 3vw, 42px);
  bottom: 14px;
  display: flex;
  gap: 10px;
}
.chain-control {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  padding: 0 17px;
  border: 1px solid rgba(255,151,25,.30);
  border-radius: 999px;
  background: rgba(3,3,3,.52);
  color: var(--text);
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.chain-control:hover { transform: translateY(-2px); border-color: rgba(255,151,25,.68); }
.chain-control.next { padding-left: 22px; background: rgba(255,151,25,.14); }
.chain-control-icon {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 50%;
  font-size: 17px;
}
.chain-control-label { font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }

/* Services use only the site's black, white and gold palette. */
.services-chain .chain-card {
  --slide-theme: #D0A35B !important;
  --slide-rgb: 255,151,25 !important;
  background:
    radial-gradient(circle at 78% 24%, rgba(255,151,25,.13), transparent 27%),
    linear-gradient(135deg, rgba(255,151,25,.20), rgba(255,151,25,.055) 48%, rgba(5,5,5,.48)),
    rgba(5,5,5,.32);
}
.service-link-card { --project-theme: #D0A35B !important; }
.service-link-card .card-corner::before,
.service-link-card .card-corner::after {
  background: linear-gradient(90deg, var(--gold-light), var(--gold-deep)) !important;
}

/* Our Work card corners inherit each project's theme. */
.project-link-card .card-corner::before,
.project-link-card .card-corner::after {
  background: var(--project-theme) !important;
  box-shadow: 0 0 12px color-mix(in srgb, var(--project-theme) 48%, transparent) !important;
}
.project-link-card .card-index,
.project-link-card .card-link-label { color: color-mix(in srgb, var(--project-theme) 68%, white); }

/* Homepage refinement */
.home-page .hero { min-height: 84vh; padding-top: clamp(60px, 9vw, 120px); }
.home-page .hero-copy { max-width: 1120px; position: relative; }
.home-page .hero-copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: -34px;
  width: clamp(90px, 12vw, 180px);
  height: 1px;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.home-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 22px;
  margin-top: 34px;
  color: rgba(244,241,233,.62);
  font-size: 11px;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.home-proof span { position: relative; }
.home-proof span:not(:last-child)::after { content: "·"; position: absolute; right: -14px; color: var(--gold); }
.home-work-section { padding-top: 120px; }
.home-work-heading h2 { max-width: 900px; }
.home-work-heading > div > p { max-width: 720px; }

@media (max-width: 860px) {
  .chain-section-heading { align-items: flex-start; flex-direction: column; }
  .chain-card { flex-basis: 86vw; min-height: 470px; padding: 52px 28px 68px; }
  .chain-depth { width: 72vw; right: -25%; opacity: .18; }
}
@media (max-width: 600px) {
  .chain-carousel { padding-bottom: 70px; }
  .chain-card { flex-basis: 91vw; min-height: 450px; }
  .chain-status { right: 16px; top: 16px; font-size: 9px; }
  .chain-controls { right: 12px; bottom: 10px; }
  .chain-control { min-height: 46px; padding: 0 12px; }
  .chain-control.previous .chain-control-label { display: none; }
  .chain-control-label { font-size: 10px; }
  .chain-corner.corner-tl { left: 14px; top: 14px; }
  .chain-corner.corner-tr { right: 14px; top: 14px; }
  .chain-corner.corner-bl { left: 14px; bottom: 14px; }
  .chain-corner.corner-br { right: 14px; bottom: 14px; }
  .home-work-section { padding-top: 88px; }
}
@media (prefers-reduced-motion: reduce) {
  .chain-depth span { animation: none !important; }
}


/* ba40 — concise homepage and integrated rotating prism */
.home-brief-hero { min-height: calc(82vh - var(--header-h)); }
.home-brief-hero .hero-copy { max-width: 1040px; }
.home-brief-page .display { font-size: clamp(58px, 10vw, 154px); }
.home-service-band { border-top: 1px solid rgba(255,255,255,.045); border-bottom: 1px solid rgba(255,255,255,.045); background: rgba(5,5,5,.20); }
.home-service-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.home-service-links a { min-height: 150px; padding: 30px 28px; display: grid; grid-template-columns: 48px 1fr; align-content: center; gap: 7px 16px; border-right: 1px solid rgba(255,151,25,.11); transition: background 260ms ease, transform 260ms ease; }
.home-service-links a:last-child { border-right: 0; }
.home-service-links a:hover { background: rgba(255,151,25,.045); transform: translateY(-3px); }
.home-service-links span { grid-row: 1 / span 2; color: rgba(255,151,25,.55); font: 24px var(--font-site); }
.home-service-links strong { font: 400 clamp(26px,3vw,42px) var(--font-site); letter-spacing: -.035em; }
.home-service-links small { color: var(--muted); line-height: 1.55; }
.home-brief-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(300px,.85fr); gap: clamp(34px,7vw,100px); align-items: start; }
.home-brief-copy { max-width: 620px; color: var(--muted); font-size: 17px; line-height: 1.75; }
.text-link { display: inline-flex; margin-top: 20px; color: var(--gold-light); font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.compact-page-hero { padding-bottom: 34px; }
.rotating-prism-section { overflow: hidden; padding-top: 56px; }
.prism-section-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,480px); gap: 30px; align-items: end; margin-bottom: 26px; }
.prism-section-heading h2 { margin: 0; font: 400 clamp(38px,5vw,72px)/.92 var(--font-site); letter-spacing: -.05em; }
.prism-section-heading p { margin: 0; color: var(--muted); line-height: 1.7; }
.rotating-prism-shell { position: relative; width: 100vw; height: min(76vh,760px); min-height: 590px; perspective: 1700px; perspective-origin: 50% 46%; touch-action: pan-y; overflow: hidden; cursor: grab; }
.rotating-prism-shell.is-dragging { cursor: grabbing; }
.rotating-prism-viewport { position: absolute; inset: 0; transform-style: preserve-3d; }
.rotating-prism-rotor { position: absolute; left: 50%; top: 47%; width: min(58vw,790px); height: min(46vh,490px); translate: -50% -50%; transform-style: preserve-3d; will-change: transform; }
.services-prism .rotating-prism-rotor { width: min(54vw,730px); }
.rotating-prism-face { --prism-rgb: 255,151,25; position: absolute; inset: 0; display: block; overflow: hidden; border: 1px solid rgba(var(--prism-rgb),.34); background: radial-gradient(circle at 78% 18%,rgba(var(--prism-rgb),.22),transparent 38%),linear-gradient(145deg,rgba(var(--prism-rgb),.11),transparent 52%),rgba(5,5,5,.64); box-shadow: 0 34px 110px rgba(0,0,0,.50), inset 0 1px 0 rgba(255,255,255,.04); transform-style: preserve-3d; backface-visibility: hidden; transition: opacity 180ms linear, filter 180ms linear, border-color 300ms ease; }
.rotating-prism-face::after { content: ''; position: absolute; inset: 14px; border: 1px solid rgba(var(--prism-rgb),.13); pointer-events: none; }
.rotating-prism-content { position: absolute; inset: 0; z-index: 2; padding: clamp(26px,3.4vw,50px); display: flex; flex-direction: column; justify-content: space-between; }
.rotating-prism-kicker { color: rgb(var(--prism-rgb)); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.rotating-prism-face h2 { margin: 15px 0 16px; font: 400 clamp(40px,5vw,74px)/.88 var(--font-site); letter-spacing: -.055em; }
.rotating-prism-face p { max-width: 560px; margin: 0; color: #aaa399; font-size: clamp(14px,1.2vw,18px); line-height: 1.63; }
.rotating-prism-meta { display: flex; justify-content: space-between; align-items: end; gap: 18px; }
.rotating-prism-meta span { display: inline-flex; padding: 9px 13px; border: 1px solid rgba(var(--prism-rgb),.34); border-radius: 999px; color: #ded8cf; background: rgba(3,3,3,.20); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.rotating-prism-meta small { color: rgba(255,255,255,.44); font-size: 10px; letter-spacing: .14em; }
.rotating-prism-corner { position: absolute; z-index: 4; width: 42px; height: 42px; pointer-events: none; }
.rotating-prism-corner::before,.rotating-prism-corner::after { content: ''; position: absolute; background: rgba(var(--prism-rgb),.84); box-shadow: 0 0 12px rgba(var(--prism-rgb),.12); }
.rotating-prism-corner::before { width: 42px; height: 1px; }
.rotating-prism-corner::after { width: 1px; height: 42px; }
.prism-corner-tl { left: 0; top: 0; }.prism-corner-tr { right: 0; top: 0; }.prism-corner-bl { left: 0; bottom: 0; }.prism-corner-br { right: 0; bottom: 0; }
.prism-corner-tr::before,.prism-corner-br::before { right: 0; }.prism-corner-tr::after,.prism-corner-br::after { right: 0; }
.prism-corner-bl::before,.prism-corner-br::before { bottom: 0; }.prism-corner-bl::after,.prism-corner-br::after { bottom: 0; }
.rotating-prism-controls { position: absolute; left: 50%; bottom: 38px; z-index: 20; translate: -50% 0; display: flex; align-items: center; gap: 10px; padding: 8px; border: 1px solid rgba(255,255,255,.075); border-radius: 999px; background: rgba(5,5,5,.64); backdrop-filter: blur(16px); }
.rotating-prism-controls button { min-width: 50px; height: 50px; padding: 0 17px; border: 1px solid rgba(255,151,25,.24); border-radius: 999px; background: rgba(255,255,255,.018); color: var(--text); cursor: pointer; transition: transform 220ms ease,border-color 220ms ease; }
.rotating-prism-controls button:hover { transform: translateY(-2px); border-color: rgba(255,151,25,.62); }
.rotating-prism-controls .prism-pause { min-width: 92px; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.rotating-prism-hint { position: absolute; left: 50%; bottom: 106px; translate: -50% 0; margin: 0; color: #777168; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.simple-service-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.simple-service-card { min-height: 300px; padding: 30px; display: flex; flex-direction: column; border: 1px solid rgba(255,151,25,.15); background: rgba(5,5,5,.30); transition: transform 380ms cubic-bezier(.16,1,.3,1),border-color 280ms ease,background 280ms ease; }
.simple-service-card:hover { transform: translateY(-7px); border-color: rgba(255,151,25,.48); background: rgba(5,5,5,.42); }
.simple-service-card > span { color: rgba(255,151,25,.58); font: 24px var(--font-site); }
.simple-service-card h2 { margin: 52px 0 14px; font: 400 clamp(34px,4vw,56px)/.92 var(--font-site); letter-spacing: -.045em; }
.simple-service-card p { margin: 0; color: var(--muted); line-height: 1.65; }
.simple-service-card strong { margin-top: auto; padding-top: 30px; color: var(--gold-light); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.service-detail-hero { padding-bottom: 30px; }
.simple-service-detail-section { padding-top: 30px; }
.simple-service-pitch { max-width: 1060px; padding: clamp(34px,6vw,76px); border: 1px solid rgba(255,151,25,.16); background: rgba(5,5,5,.34); }
.simple-service-pitch h2 { max-width: 900px; margin: 10px 0 28px; font: 400 clamp(38px,6vw,82px)/.94 var(--font-site); letter-spacing: -.055em; }
.simple-service-pitch > p { max-width: 860px; margin: 0 0 18px; color: var(--muted); font-size: clamp(16px,1.45vw,20px); line-height: 1.75; }
.service-deliverables { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.service-deliverables span { padding: 10px 14px; border: 1px solid rgba(255,151,25,.18); border-radius: 999px; color: #d8d2c9; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; background: rgba(255,255,255,.015); }
@media(max-width:900px){
  .home-service-links,.simple-service-grid{grid-template-columns:1fr}.home-service-links a{border-right:0;border-bottom:1px solid rgba(255,151,25,.11)}.home-service-links a:last-child{border-bottom:0}.home-brief-grid,.prism-section-heading{grid-template-columns:1fr}.rotating-prism-rotor{width:78vw;height:43vh;min-height:410px}.services-prism .rotating-prism-rotor{width:78vw}.rotating-prism-shell{height:690px;min-height:690px}.rotating-prism-face h2{font-size:clamp(36px,10vw,58px)}.rotating-prism-content{padding:25px}.rotating-prism-hint{bottom:105px}.simple-service-card{min-height:270px}
}
@media(max-width:560px){
  .home-brief-page .display{font-size:clamp(50px,17vw,82px)}.rotating-prism-shell{height:640px;min-height:640px}.rotating-prism-rotor{top:45%;width:82vw;height:400px;min-height:0}.rotating-prism-face::after{inset:10px}.rotating-prism-content{padding:22px}.rotating-prism-face p{font-size:13px}.rotating-prism-controls{bottom:25px}.rotating-prism-hint{bottom:92px;font-size:9px}.rotating-prism-controls button{height:46px;min-width:46px}.prism-section-heading{margin-bottom:8px}
}


/* ba41 — mobile star rendering and touch-card feedback */
#starfield {
  display: block;
  border: 0;
  outline: 0;
  box-shadow: none;
  border-radius: 0;
  transform: translateZ(0);
  -webkit-transform: translateZ(0);
}

@media (hover: none), (pointer: coarse) {
  .material-card.is-touch-highlighted,
  .material-card:active {
    --material-lift: -5px;
  }

  .material-card.is-touch-highlighted::before,
  .material-card:active::before {
    background:
      radial-gradient(
        circle at var(--material-light-x) var(--material-light-y),
        rgba(240, 205, 139, .10),
        rgba(208, 159, 74, .025) 28%,
        transparent 58%
      ),
      var(--shared-panel-glass) !important;
  }

  .material-card.is-touch-highlighted .card-corner,
  .material-card:active .card-corner {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) rotateZ(0deg) scale(1) !important;
  }

  .material-card.is-touch-highlighted .card-corner::before,
  .material-card:active .card-corner::before {
    transform: scaleX(1) !important;
  }

  .material-card.is-touch-highlighted .card-corner::after,
  .material-card:active .card-corner::after {
    transform: scaleY(1) !important;
  }

  .simple-service-card.is-touch-highlighted,
  .simple-service-card:active,
  .home-service-links a.is-touch-highlighted,
  .home-service-links a:active,
  .simple-service-pitch.is-touch-highlighted,
  .simple-service-pitch:active {
    transform: translateY(-5px) scale(.992);
    border-color: rgba(255, 151, 25, .62) !important;
    background: rgba(5, 5, 5, .46) !important;
    box-shadow:
      0 18px 46px rgba(0, 0, 0, .24),
      inset 0 0 0 1px rgba(240, 205, 139, .055);
  }

  .rotating-prism-face.is-touch-highlighted,
  .rotating-prism-face:active {
    border-color: rgba(var(--prism-rgb), .82) !important;
    box-shadow:
      0 38px 115px rgba(0, 0, 0, .58),
      0 0 34px rgba(var(--prism-rgb), .16),
      inset 0 0 0 1px rgba(var(--prism-rgb), .14) !important;
  }

  .rotating-prism-face.is-touch-highlighted .rotating-prism-corner::before,
  .rotating-prism-face.is-touch-highlighted .rotating-prism-corner::after,
  .rotating-prism-face:active .rotating-prism-corner::before,
  .rotating-prism-face:active .rotating-prism-corner::after {
    box-shadow: 0 0 18px rgba(var(--prism-rgb), .38);
  }

  .rotating-prism-face.is-touch-highlighted .rotating-prism-content,
  .rotating-prism-face:active .rotating-prism-content {
    translate: 0 -3px;
  }
}


/* ba42 — expanded homepage with edge-to-edge app prism */
.home-app-prism-section {
  position: relative;
  overflow: hidden;
  min-height: min(88vh, 880px);
  border-bottom: 1px solid rgba(255,255,255,.045);
  background:
    radial-gradient(circle at 50% 45%, rgba(255,151,25,.055), transparent 48%),
    rgba(3,3,3,.10);
}
.home-prism-overlay {
  position: absolute;
  z-index: 18;
  top: clamp(32px,5vw,72px);
  left: clamp(20px,4vw,76px);
  display: grid;
  gap: 8px;
  pointer-events: none;
}
.home-prism-overlay span,
.home-prism-overlay small {
  color: var(--gold);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .20em;
  text-transform: uppercase;
}
.home-prism-overlay strong {
  font: 400 clamp(32px,4.5vw,66px)/.92 var(--font-site);
  letter-spacing: -.045em;
}
.home-prism-overlay small { color: #777168; font-size: 9px; }
.home-app-prism.rotating-prism-shell {
  height: min(88vh,880px);
  min-height: 700px;
  perspective: 2100px;
  perspective-origin: 50% 52%;
}
.home-app-prism .rotating-prism-rotor {
  top: 54%;
  width: min(82vw,1180px);
  height: min(49vh,500px);
}
.home-app-prism .rotating-prism-face {
  background:
    radial-gradient(circle at 78% 18%,rgba(var(--prism-rgb),.24),transparent 36%),
    linear-gradient(145deg,rgba(var(--prism-rgb),.13),transparent 54%),
    rgba(5,5,5,.66);
}
.home-app-prism .rotating-prism-face h2 {
  max-width: 900px;
  font-size: clamp(46px,6.5vw,96px);
}
.home-app-prism .rotating-prism-face p { max-width: 680px; }
.home-app-prism .rotating-prism-controls { bottom: 34px; }

.home-tagline-section { padding: clamp(96px,11vw,160px) 0; }
.home-tagline-grid {
  display: grid;
  grid-template-columns: minmax(0,1.24fr) minmax(300px,.76fr);
  align-items: end;
  gap: clamp(42px,8vw,120px);
}
.home-tagline {
  margin: 0;
  font: 400 clamp(58px,10vw,148px)/.82 var(--font-site);
  letter-spacing: -.065em;
}
.home-tagline-side {
  padding-bottom: 10px;
  color: var(--muted);
  font-size: clamp(16px,1.45vw,20px);
  line-height: 1.74;
}
.home-tagline-side p { margin: 0; }

.home-long-page .home-service-band {
  border-top: 1px solid rgba(255,255,255,.045);
  border-bottom: 1px solid rgba(255,255,255,.045);
  background: rgba(5,5,5,.20);
}
.home-long-page .home-service-links {
  width: 100%;
  max-width: none;
  margin: 0;
}
.home-long-page .home-service-links a {
  min-height: 226px;
  padding: 44px clamp(28px,4vw,72px);
}
.home-long-page .home-service-links strong { font-size: clamp(34px,4.2vw,62px); }
.home-long-page .home-service-links small { font-size: clamp(14px,1.25vw,18px); }

.home-section-heading {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(300px,.92fr);
  gap: clamp(34px,7vw,96px);
  align-items: end;
  margin-bottom: 44px;
}
.home-section-heading h2,
.home-own-products-statement h2,
.home-final-cta h2 {
  margin: 0;
  font: 400 clamp(44px,6.2vw,88px)/.92 var(--font-site);
  letter-spacing: -.055em;
}
.home-section-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.72;
}
.home-process-section { padding-top: clamp(110px,12vw,170px); }
.home-process-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 16px;
}
.home-process-card,
.home-pillar-card {
  min-height: 330px;
  padding: 30px;
}
.home-process-card > span,
.home-pillar-card > span {
  color: rgba(255,151,25,.62);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.home-process-card h3,
.home-pillar-card h3 {
  margin: auto 0 18px;
  font: 400 clamp(30px,3.2vw,48px)/.94 var(--font-site);
  letter-spacing: -.04em;
}
.home-process-card p,
.home-pillar-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.62;
}

.home-own-products-section {
  margin: 60px 0;
  padding: clamp(110px,13vw,190px) 0;
  border-top: 1px solid rgba(255,255,255,.045);
  border-bottom: 1px solid rgba(255,255,255,.045);
  background:
    radial-gradient(circle at 20% 40%,rgba(255,151,25,.065),transparent 34%),
    rgba(5,5,5,.20);
}
.home-own-products-grid {
  display: grid;
  grid-template-columns: minmax(0,1.08fr) minmax(300px,.92fr);
  gap: clamp(42px,9vw,130px);
  align-items: start;
}
.home-own-products-copy {
  color: var(--muted);
  font-size: clamp(16px,1.45vw,20px);
  line-height: 1.76;
}
.home-own-products-copy p:first-child { margin-top: 0; }
.home-own-products-copy .text-link { display: inline-block; margin-top: 14px; }

.home-pillar-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}
.home-pillar-card { min-height: 390px; }
.home-pillar-card h3 { margin-top: auto; max-width: 360px; }

.home-final-cta-section { padding: clamp(120px,14vw,210px) 0; }
.home-final-cta {
  max-width: 1120px;
  padding: clamp(38px,7vw,90px);
  border-top: 1px solid rgba(255,151,25,.30);
  border-bottom: 1px solid rgba(255,151,25,.18);
  background: rgba(5,5,5,.30);
}
.home-final-cta h2 { max-width: 980px; }

@media (max-width: 980px) {
  .home-tagline-grid,
  .home-section-heading,
  .home-own-products-grid { grid-template-columns: 1fr; }
  .home-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-pillar-grid { grid-template-columns: 1fr; }
  .home-pillar-card { min-height: 290px; }
}

@media (max-width: 700px) {
  .home-app-prism-section,
  .home-app-prism.rotating-prism-shell { min-height: 720px; height: 720px; }
  .home-prism-overlay { top: 28px; right: 20px; }
  .home-prism-overlay strong { font-size: clamp(30px,10vw,48px); }
  .home-app-prism .rotating-prism-rotor {
    top: 52%;
    width: 88vw;
    height: 420px;
  }
  .home-app-prism .rotating-prism-face h2 { font-size: clamp(38px,12vw,58px); }
  .home-app-prism .rotating-prism-face p { font-size: 13px; }
  .home-app-prism .rotating-prism-content { padding: 24px; }
  .home-app-prism .rotating-prism-controls { bottom: 24px; }
  .home-tagline-section { padding: 96px 0 84px; }
  .home-tagline { font-size: clamp(54px,17vw,84px); }
  .home-long-page .home-service-links a { min-height: 180px; padding: 34px 24px; }
  .home-process-grid { grid-template-columns: 1fr; }
  .home-process-card { min-height: 280px; }
  .home-own-products-section { margin: 28px 0; }
  .home-final-cta { padding: 34px 24px; }
}


/* ba43 — full-width discrete 3D swipe carousel */
.home-app-prism.is-swipe-prism {
  perspective: 1800px;
  perspective-origin: 50% 50%;
  overflow: hidden;
  touch-action: pan-y;
}
.home-app-prism.is-swipe-prism .rotating-prism-viewport {
  inset: 0;
  overflow: hidden;
  transform-style: preserve-3d;
}
.home-app-prism.is-swipe-prism .rotating-prism-rotor {
  position: absolute;
  inset: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  translate: none;
  transform: none !important;
  transform-style: preserve-3d;
}
.home-app-prism.is-swipe-prism .rotating-prism-face {
  inset: 0;
  width: 100%;
  height: 100%;
  border-left: 0;
  border-right: 0;
  backface-visibility: hidden;
  transform-origin: center center;
  will-change: transform, opacity, filter;
  clip-path: none;
}
.home-app-prism.is-swipe-prism .rotating-prism-face::after {
  inset: 28px;
}
.home-app-prism.is-swipe-prism .rotating-prism-content {
  padding:
    clamp(190px, 23vh, 250px)
    clamp(28px, 7vw, 128px)
    clamp(116px, 15vh, 150px);
}
.home-app-prism.is-swipe-prism .rotating-prism-face h2 {
  max-width: 1050px;
  font-size: clamp(58px, 8.6vw, 138px);
}
.home-app-prism.is-swipe-prism .rotating-prism-face p {
  max-width: 760px;
  font-size: clamp(15px, 1.4vw, 21px);
}
.home-app-prism.is-swipe-prism .rotating-prism-corner {
  width: 72px;
  height: 72px;
}
.home-app-prism.is-swipe-prism .rotating-prism-corner::before { width: 72px; }
.home-app-prism.is-swipe-prism .rotating-prism-corner::after { height: 72px; }
.home-app-prism.is-swipe-prism .rotating-prism-controls {
  bottom: 28px;
}
.home-app-prism.is-swipe-prism .rotating-prism-hint {
  bottom: 96px;
}

@media (max-width: 900px) {
  .home-app-prism.is-swipe-prism .rotating-prism-rotor {
    width: 100%;
    height: 100%;
    min-height: 0;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-content {
    padding: 180px 28px 126px;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-face h2 {
    font-size: clamp(52px, 14vw, 88px);
  }
}

@media (max-width: 560px) {
  .home-app-prism.rotating-prism-shell,
  .home-app-prism-section {
    height: 690px;
    min-height: 690px;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-content {
    padding: 160px 22px 118px;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-face::after {
    inset: 12px;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-face h2 {
    font-size: clamp(46px, 15.5vw, 72px);
  }
  .home-app-prism.is-swipe-prism .rotating-prism-face p {
    max-width: 92%;
    font-size: 14px;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-corner {
    width: 44px;
    height: 44px;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-corner::before { width: 44px; }
  .home-app-prism.is-swipe-prism .rotating-prism-corner::after { height: 44px; }
}


/* ba60 — one permanent font family across the entire website */
body,
button,
input,
textarea,
select {
  font-family: var(--font-site);
}
h1,
h2,
h3,
h4,
h5,
h6,
.display-title,
.page-title,
.home-tagline,
.rotating-prism-face h2,
.simple-service-card h2,
.simple-service-pitch h2 {
  font-family: var(--font-site);
}

/* ba44 — visible edge-to-edge 3D prism swipe on the homepage */
.home-app-prism.is-swipe-prism {
  perspective: 2600px;
  perspective-origin: 50% 48%;
  isolation: isolate;
}
.home-app-prism.is-swipe-prism .rotating-prism-viewport {
  overflow: hidden;
  transform-style: preserve-3d;
}
.home-app-prism.is-swipe-prism .rotating-prism-rotor {
  transform-origin: 50% 50% 0;
  transform-style: preserve-3d;
  overflow: visible;
}
.home-app-prism.is-swipe-prism .rotating-prism-face {
  transform-origin: 50% 50% 0;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  clip-path: inset(0);
}
.home-app-prism.is-swipe-prism.is-prism-turning .rotating-prism-face {
  box-shadow:
    0 34px 110px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.055),
    inset 0 0 95px rgba(var(--prism-rgb),.075);
}
.home-app-prism.is-swipe-prism .rotating-prism-viewport::before {
  content: "";
  position: absolute;
  z-index: 30;
  left: 50%;
  bottom: 11%;
  width: min(74vw, 1180px);
  height: 18%;
  translate: -50% 0;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,151,25,.13), transparent 68%);
  filter: blur(28px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 240ms ease;
}
.home-app-prism.is-swipe-prism.is-prism-turning .rotating-prism-viewport::before {
  opacity: .72;
}
@media (max-width: 700px) {
  .home-app-prism.is-swipe-prism {
    perspective: 1250px;
  }
  .home-app-prism.is-swipe-prism .rotating-prism-viewport::before {
    width: 92vw;
    bottom: 13%;
  }
}


/* ba47: remove homepage sticky prism overlay text */
.home-prism-overlay { display: none !important; }


/* ba48: full-screen chapter cylinder homepage */
.home-chapter-cylinder-section {
  position: relative;
  min-height: 100vh;
  border-bottom: 1px solid rgba(255,255,255,.045);
  background: radial-gradient(circle at 50% 50%, rgba(255,151,25,.045), transparent 55%);
}
.home-chapter-cylinder {
  position: relative;
  min-height: 100vh;
  display: grid;
  grid-template-rows: 1fr auto;
  align-items: center;
  padding: calc(var(--header-h) + 16px) 0 24px;
  --face-count: 8;
  --face-width: min(92vw, 1180px);
  --face-height: min(72vh, 760px);
  --cylinder-radius: min(46vw, 540px);
}
.home-cylinder-scene {
  position: relative;
  width: 100%;
  height: min(78vh, 820px);
  perspective: 2200px;
  perspective-origin: 50% 48%;
  overflow: visible;
}
.home-cylinder-scene::before {
  content: "";
  position: absolute;
  inset: 8% 14% 10%;
  border-radius: 40px;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.035), rgba(255,255,255,0) 62%);
  filter: blur(14px);
  pointer-events: none;
}
.home-cylinder-rotor {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 0;
  height: 0;
  transform-style: preserve-3d;
  will-change: transform;
  transition: transform 1300ms cubic-bezier(.16,1,.3,1);
}
.home-cylinder-face {
  position: absolute;
  top: calc(var(--face-height) * -0.5);
  left: calc(var(--face-width) * -0.5);
  width: var(--face-width);
  height: var(--face-height);
  border-radius: 34px;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  background:
    radial-gradient(circle at 78% 24%, rgba(var(--chapter-rgb), .20), transparent 26%),
    linear-gradient(135deg, rgba(var(--chapter-rgb), .46), rgba(var(--chapter-rgb), .12) 48%, rgba(5,5,5,.52)),
    rgba(5,5,5,.30);
  box-shadow: 0 32px 110px rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.06);
  transform-style: preserve-3d;
  backface-visibility: hidden;
  isolation: isolate;
  transition: transform 760ms cubic-bezier(.16,1,.3,1), opacity 360ms ease, filter 360ms ease;
}
.home-cylinder-face::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 18%, rgba(255,255,255,.06) 46%, transparent 74%);
  transform: translateX(-115%);
  transition: transform 900ms cubic-bezier(.16,1,.3,1);
}
.home-cylinder-face.is-front::before,
.home-cylinder-face:hover::before,
.home-cylinder-face:focus-visible::before {
  transform: translateX(115%);
}
.home-cylinder-face-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 16px;
  padding: clamp(28px, 5vw, 84px);
}
.home-cylinder-kicker {
  color: color-mix(in srgb, var(--chapter-theme) 64%, white);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.home-cylinder-face h2 {
  margin: 0;
  max-width: 900px;
  font-family: var(--font-site);
  font-size: clamp(58px, 9vw, 132px);
  font-weight: 400;
  line-height: .88;
  letter-spacing: -.055em;
}
.home-cylinder-face p {
  max-width: 700px;
  margin: 0;
  color: rgba(244,241,233,.78);
  font-size: clamp(16px, 1.5vw, 22px);
  line-height: 1.65;
}
.home-cylinder-action {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  color: #fff8eb;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.home-cylinder-controls {
  position: relative;
  z-index: 5;
  width: min(calc(100% - 40px), var(--container));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.home-cylinder-btn {
  width: 52px;
  height: 52px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(10,10,10,.48);
  color: var(--text);
  cursor: pointer;
  backdrop-filter: blur(14px);
}
.home-cylinder-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex: 1;
}
.home-cylinder-dot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 0;
  background: rgba(255,255,255,.2);
  cursor: pointer;
  transition: transform 220ms ease, background 220ms ease;
}
.home-cylinder-dot.is-active {
  background: var(--gold);
  transform: scale(1.25);
}
@media (max-width: 920px) {
  .home-chapter-cylinder { --face-width: 92vw; --face-height: min(68vh, 640px); --cylinder-radius: min(78vw, 330px); }
  .home-cylinder-scene { height: min(74vh, 700px); }
  .home-cylinder-face h2 { font-size: clamp(42px, 13vw, 88px); }
}
@media (max-width: 640px) {
  .home-chapter-cylinder { padding-top: calc(var(--header-h) + 10px); --face-height: min(64vh, 560px); --cylinder-radius: min(80vw, 260px); }
  .home-cylinder-controls { width: calc(100% - 24px); }
  .home-cylinder-btn { width: 46px; height: 46px; }
  .home-cylinder-face-inner { padding: 24px; }
  .home-cylinder-kicker { font-size: 9px; }
  .home-cylinder-face p { font-size: 15px; }
}




/* ba52: prevent browser text-selection/tap highlighting */
html,
body,
.site-shell,
.site-shell * {
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}
input,
textarea,
select,
[contenteditable="true"] {
  -webkit-user-select: text;
  user-select: text;
  -webkit-touch-callout: default;
}

/* ba52: one full-screen chapter at a time on mobile */
@media (max-width: 767px) {
  .home-chapter-cylinder-section {
    position: relative;
    width: 100%;
    height: calc(100svh - var(--header-h));
    min-height: calc(100svh - var(--header-h));
    overflow: hidden;
    border-bottom: 1px solid rgba(255,255,255,.045);
  }

  .home-chapter-cylinder {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
    display: block;
    overflow: hidden;
    --face-width: 100vw;
    --face-height: calc(100svh - var(--header-h));
  }

  .home-cylinder-scene {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    perspective: 1200px;
    perspective-origin: 50% 50%;
    overflow: hidden;
    touch-action: pan-y;
  }

  .home-cylinder-scene::before {
    inset: 6% 4% 12%;
    border-radius: 0;
    opacity: .72;
  }

  .home-cylinder-rotor {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    transform: translate3d(-50%, -50%, 0) !important;
    transform-style: preserve-3d;
    transition: none;
  }

  .home-cylinder-face {
    top: calc(var(--face-height) * -.5);
    left: calc(var(--face-width) * -.5);
    width: var(--face-width);
    height: var(--face-height);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    backface-visibility: hidden;
    transform-origin: 50% 50%;
    transition:
      transform 820ms cubic-bezier(.16,1,.3,1),
      opacity 420ms ease,
      filter 420ms ease;
    will-change: transform, opacity, filter;
  }

  .home-cylinder-face-inner {
    justify-content: flex-end;
    gap: 14px;
    padding: clamp(28px, 7vw, 42px) 24px 118px;
  }

  .home-cylinder-kicker {
    max-width: 92vw;
    font-size: 10px;
    line-height: 1.45;
    letter-spacing: .15em;
  }

  .home-cylinder-face h2 {
    max-width: 94vw;
    font-size: clamp(52px, 15vw, 80px);
    line-height: .90;
    letter-spacing: -.052em;
    overflow-wrap: anywhere;
  }

  .home-cylinder-face p {
    max-width: 88vw;
    font-size: 16px;
    line-height: 1.55;
  }

  .home-cylinder-action {
    font-size: 10px;
    letter-spacing: .16em;
  }

  .home-cylinder-controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: max(18px, env(safe-area-inset-bottom));
    z-index: 20;
    width: 100%;
    margin: 0;
    padding: 0 20px;
    gap: 12px;
    pointer-events: none;
  }

  .home-cylinder-controls > * {
    pointer-events: auto;
  }

  .home-cylinder-btn {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    background: rgba(5,5,5,.58);
    backdrop-filter: blur(12px);
  }

  .home-cylinder-dots {
    min-width: 0;
    gap: 8px;
  }

  .home-cylinder-dot {
    width: 8px;
    height: 8px;
  }
}

/* ba53 — navbar wordmark, borderless menu trigger and smarter mobile menu */
.site-header .brand-name { display: block !important; }
.brand-wordmark {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.brand-wordmark .brand-name {
  color: #f4f1e9;
  font-size: 12px;
  font-weight: 760;
  line-height: 1;
  letter-spacing: .20em;
  text-transform: uppercase;
  white-space: nowrap;
}
.brand-wordmark small {
  color: rgba(244,241,233,.46);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .17em;
  text-transform: uppercase;
  white-space: nowrap;
}
.menu-button {
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  font-size: 27px;
  font-weight: 300;
  line-height: 1;
  transition: transform 260ms ease, opacity 220ms ease;
}
.menu-button:hover,
.menu-button:focus-visible {
  outline: none;
  transform: scale(1.08);
}
.menu-button[aria-expanded="true"] { transform: rotate(90deg); }

.mobile-menu {
  inset: var(--header-h) 0 0 0;
  height: calc(100svh - var(--header-h));
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 0;
  padding: clamp(28px, 6vw, 54px) clamp(22px, 6vw, 52px) max(24px, env(safe-area-inset-bottom));
  border: 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(255,151,25,.13), transparent 27%),
    radial-gradient(circle at 8% 90%, rgba(72,92,150,.10), transparent 34%),
    rgba(3,3,3,.965);
  backdrop-filter: blur(24px) saturate(1.08);
  -webkit-backdrop-filter: blur(24px) saturate(1.08);
  transform: translate3d(0,-22px,0) scale(.985);
  transform-origin: 50% 0;
  opacity: 0;
  overflow-y: auto;
  transition: transform 430ms cubic-bezier(.16,1,.3,1), opacity 280ms ease;
}
.mobile-menu.open {
  transform: translate3d(0,0,0) scale(1);
  opacity: 1;
}
.mobile-menu-head {
  display: grid;
  gap: 10px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,.07);
}
.mobile-menu-label {
  color: var(--gold);
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.mobile-menu-head strong {
  font-family: var(--font-site);
  font-size: clamp(34px, 9vw, 56px);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.045em;
}
.mobile-menu-head p {
  max-width: 520px;
  margin: 0;
  color: rgba(244,241,233,.54);
  font-size: 13px;
  line-height: 1.6;
}
.mobile-menu-links {
  counter-reset: mobile-nav;
  display: grid;
  align-content: center;
  gap: 0;
  padding: 22px 0;
}
.mobile-menu-links a {
  counter-increment: mobile-nav;
  display: grid;
  grid-template-columns: 34px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.055);
  color: rgba(244,241,233,.70);
  font-family: var(--font-site);
  font-size: clamp(25px, 7vw, 40px);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.03em;
  text-transform: none;
  transform: translateY(12px);
  opacity: 0;
  transition: color 220ms ease, transform 500ms cubic-bezier(.16,1,.3,1), opacity 300ms ease;
}
.mobile-menu.open .mobile-menu-links a { transform: translateY(0); opacity: 1; }
.mobile-menu.open .mobile-menu-links a:nth-child(1) { transition-delay: 80ms; }
.mobile-menu.open .mobile-menu-links a:nth-child(2) { transition-delay: 120ms; }
.mobile-menu.open .mobile-menu-links a:nth-child(3) { transition-delay: 160ms; }
.mobile-menu.open .mobile-menu-links a:nth-child(4) { transition-delay: 200ms; }
.mobile-menu.open .mobile-menu-links a:nth-child(5) { transition-delay: 240ms; }
.mobile-menu.open .mobile-menu-links a:nth-child(6) { transition-delay: 280ms; }
.mobile-menu-links a::before {
  content: "0" counter(mobile-nav);
  color: rgba(255,151,25,.62);
  font-family: var(--font-site);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .12em;
}
.mobile-menu-links a::after {
  content: "↗";
  position: static;
  width: auto;
  height: auto;
  color: rgba(244,241,233,.32);
  background: none;
  font-family: var(--font-site);
  font-size: 16px;
  transform: none;
  transition: transform 220ms ease, color 220ms ease;
}
.mobile-menu-links a:hover,
.mobile-menu-links a[aria-current="page"] { color: #fff8eb; }
.mobile-menu-links a:hover::after,
.mobile-menu-links a[aria-current="page"]::after {
  width: auto;
  color: var(--gold);
  transform: translate(3px,-3px);
}
.mobile-menu-links a[aria-current="page"]::before { color: var(--gold-light); }
.mobile-menu-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.07);
  color: rgba(244,241,233,.42);
  font-size: 9px;
  line-height: 1.5;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.mobile-menu-foot span { max-width: 230px; }
.mobile-menu-foot small { white-space: nowrap; }

@media (max-width: 600px) {
  .brand { gap: 10px; }
  .brand-wordmark .brand-name { font-size: 10px; letter-spacing: .17em; }
  .brand-wordmark small { display: none; }
  .mobile-menu { padding-top: 24px; }
}

/* ba53 — cinematic mobile chapter transitions */
@media (max-width: 767px) {
  .home-chapter-cylinder-section { isolation: isolate; }
  .home-cylinder-scene {
    perspective: 1500px;
    perspective-origin: 50% 48%;
  }
  .home-cylinder-face {
    opacity: 0;
    pointer-events: none;
    transform: translate3d(0,0,-420px) rotateY(72deg) scale(.78);
    filter: brightness(.60) saturate(.70) blur(2px);
    transition: none !important;
  }
  .home-cylinder-face.is-front {
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0,0,0) rotateY(0deg) scale(1);
    filter: none;
  }
  .home-cylinder-face.is-entering-forward {
    z-index: 7 !important;
    animation: chapter-enter-forward 1120ms cubic-bezier(.16,1,.3,1) both;
  }
  .home-cylinder-face.is-leaving-forward {
    z-index: 6 !important;
    animation: chapter-leave-forward 900ms cubic-bezier(.55,.06,.22,.99) both;
  }
  .home-cylinder-face.is-entering-backward {
    z-index: 7 !important;
    animation: chapter-enter-backward 1120ms cubic-bezier(.16,1,.3,1) both;
  }
  .home-cylinder-face.is-leaving-backward {
    z-index: 6 !important;
    animation: chapter-leave-backward 900ms cubic-bezier(.55,.06,.22,.99) both;
  }
  .home-cylinder-face.is-entering-forward .home-cylinder-face-inner,
  .home-cylinder-face.is-entering-backward .home-cylinder-face-inner {
    animation: chapter-content-enter 980ms 180ms cubic-bezier(.16,1,.3,1) both;
  }
  .home-cylinder-face.is-leaving-forward .home-cylinder-face-inner,
  .home-cylinder-face.is-leaving-backward .home-cylinder-face-inner {
    animation: chapter-content-leave 420ms ease both;
  }
  .home-chapter-cylinder.is-transitioning .home-cylinder-controls {
    opacity: .55;
    pointer-events: none;
  }
}

@keyframes chapter-enter-forward {
  0% { opacity: 0; transform: translate3d(68%,0,-560px) rotateY(-82deg) scale(.70); filter: brightness(.48) saturate(.65) blur(5px); }
  42% { opacity: 1; transform: translate3d(10%,0,-130px) rotateY(-22deg) scale(.94); filter: brightness(.82) saturate(.90) blur(1px); }
  72% { transform: translate3d(-2%,0,18px) rotateY(3deg) scale(1.015); }
  100% { opacity: 1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: none; }
}
@keyframes chapter-leave-forward {
  0% { opacity: 1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: none; }
  38% { opacity: .74; transform: translate3d(-10%,0,-120px) rotateY(20deg) scale(.94); }
  100% { opacity: 0; transform: translate3d(-72%,0,-580px) rotateY(84deg) scale(.68); filter: brightness(.42) saturate(.62) blur(5px); }
}
@keyframes chapter-enter-backward {
  0% { opacity: 0; transform: translate3d(-68%,0,-560px) rotateY(82deg) scale(.70); filter: brightness(.48) saturate(.65) blur(5px); }
  42% { opacity: 1; transform: translate3d(-10%,0,-130px) rotateY(22deg) scale(.94); filter: brightness(.82) saturate(.90) blur(1px); }
  72% { transform: translate3d(2%,0,18px) rotateY(-3deg) scale(1.015); }
  100% { opacity: 1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: none; }
}
@keyframes chapter-leave-backward {
  0% { opacity: 1; transform: translate3d(0,0,0) rotateY(0deg) scale(1); filter: none; }
  38% { opacity: .74; transform: translate3d(10%,0,-120px) rotateY(-20deg) scale(.94); }
  100% { opacity: 0; transform: translate3d(72%,0,-580px) rotateY(-84deg) scale(.68); filter: brightness(.42) saturate(.62) blur(5px); }
}
@keyframes chapter-content-enter {
  0% { opacity: 0; transform: translate3d(0,30px,80px); filter: blur(7px); }
  100% { opacity: 1; transform: translate3d(0,0,0); filter: blur(0); }
}
@keyframes chapter-content-leave {
  0% { opacity: 1; transform: translate3d(0,0,0); }
  100% { opacity: 0; transform: translate3d(0,-16px,40px); }
}


/* ba54 — typography-matched wordmark, two-line menu trigger and minimal carousel navigation */
.brand-wordmark .brand-name {
  font-family: var(--font-site);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.025em;
  text-transform: none;
}
.brand-wordmark small {
  font-family: var(--font-site);
  letter-spacing: .12em;
}

.menu-button {
  position: relative;
  display: none;
  place-items: center;
  overflow: visible;
}
.menu-line {
  position: absolute;
  left: 9px;
  width: 24px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: 50% 50%;
  transition: transform 320ms cubic-bezier(.16,1,.3,1), top 320ms cubic-bezier(.16,1,.3,1), opacity 180ms ease;
}
.menu-line:first-child { top: 16px; }
.menu-line:last-child { top: 25px; }
.menu-button:hover,
.menu-button:focus-visible { transform: none; }
.menu-button:hover .menu-line:first-child { transform: translateX(2px); }
.menu-button:hover .menu-line:last-child { transform: translateX(-2px); }
.menu-button[aria-expanded="true"] { transform: none; }
.menu-button[aria-expanded="true"] .menu-line:first-child {
  top: 20.5px;
  transform: rotate(45deg);
}
.menu-button[aria-expanded="true"] .menu-line:last-child {
  top: 20.5px;
  transform: rotate(-45deg);
}

.mobile-menu {
  grid-template-rows: 1fr;
  align-items: center;
}
.mobile-menu-head,
.mobile-menu-foot { display: none !important; }
.mobile-menu-links {
  width: min(100%, 760px);
  margin: auto;
  padding: 0;
  align-content: center;
}

.home-cylinder-controls {
  justify-content: center;
  gap: clamp(18px, 3vw, 36px);
}
.home-cylinder-btn {
  position: relative;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: rgba(244,241,233,.68);
  font-size: 27px;
  font-weight: 300;
  line-height: 1;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: color 180ms ease, transform 220ms cubic-bezier(.16,1,.3,1);
}
.home-cylinder-btn:hover,
.home-cylinder-btn:focus-visible {
  color: #fff8eb;
  outline: none;
}
.home-cylinder-btn:first-child:hover { transform: translateX(-4px); }
.home-cylinder-btn:last-child:hover { transform: translateX(4px); }
.home-cylinder-dots {
  flex: 0 1 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  min-width: 0;
}
.home-cylinder-counter {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  min-width: 51px;
  color: rgba(244,241,233,.42);
  font-variant-numeric: tabular-nums;
  letter-spacing: .08em;
}
.home-cylinder-count-current {
  color: #fff8eb;
  font-size: 13px;
  font-weight: 650;
}
.home-cylinder-count-separator,
.home-cylinder-count-total {
  font-size: 9px;
  font-weight: 600;
}
.home-cylinder-progress {
  width: clamp(108px, 17vw, 190px);
  display: grid;
  grid-template-columns: repeat(var(--chapter-count, 8), minmax(0, 1fr));
  align-items: center;
  gap: 5px;
}
.home-cylinder-dot {
  width: 100%;
  height: 2px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.17);
  transform: none;
  transition: background 220ms ease, transform 220ms ease, opacity 220ms ease;
}
.home-cylinder-dot.is-past { background: rgba(255,151,25,.46); }
.home-cylinder-dot.is-active {
  background: var(--gold-light);
  transform: scaleY(2);
}
.home-cylinder-dot:hover { background: rgba(244,241,233,.72); }

@media (max-width: 900px) {
  .menu-button { display: inline-grid; }
}
@media (max-width: 600px) {
  .brand-wordmark .brand-name {
    font-size: 13px;
    letter-spacing: -.02em;
  }
}
@media (max-width: 767px) {
  .home-cylinder-controls {
    justify-content: space-between;
    gap: 10px;
    padding: 0 18px;
  }
  .home-cylinder-btn {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .home-cylinder-dots { gap: 11px; }
  .home-cylinder-counter { min-width: 47px; }
  .home-cylinder-progress {
    width: clamp(88px, 34vw, 150px);
    gap: 4px;
  }
  .home-cylinder-dot {
    width: 100%;
    height: 2px;
  }
}

/* ba55 */
.brand-wordmark,
.brand-wordmark .brand-name,
.brand-wordmark small {
  font-family: var(--font-site);
}
.brand-wordmark .brand-name {
  font-size: 13px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: .08em;
  text-transform: none;
}
.mobile-menu {
  grid-template-rows: auto 1fr;
  align-items: stretch;
}
.mobile-menu-title {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 4px 0 22px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  color: rgba(244,241,233,.92);
  font-family: var(--font-site);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.home-cylinder-face {
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
}
.home-cylinder-action {
  -webkit-touch-callout: default;
  user-select: auto;
  -webkit-user-select: auto;
}
@media (max-width: 600px) {
  .brand-wordmark .brand-name {
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .06em;
  }
  .mobile-menu-title {
    padding-bottom: 18px;
    font-size: 11px;
  }
}

/* ba56 — consistent typography, aligned navigation and balanced carousel controls */
.site-header .brand-wordmark .brand-name {
  font-family: var(--font-site) !important;
  font-size: 17px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.025em;
  text-transform: none;
}

.menu-button {
  position: relative;
  width: 48px !important;
  height: 48px !important;
  flex: 0 0 48px;
  align-self: center;
}
.menu-line {
  top: 50% !important;
  left: 50% !important;
  width: 28px;
  height: 1.5px;
  transform-origin: 50% 50%;
}
.menu-line:first-child {
  transform: translate(-50%, -5px);
}
.menu-line:last-child {
  transform: translate(-50%, 5px);
}
.menu-button:hover .menu-line:first-child,
.menu-button:focus-visible .menu-line:first-child {
  transform: translate(-50%, -5px);
}
.menu-button:hover .menu-line:last-child,
.menu-button:focus-visible .menu-line:last-child {
  transform: translate(-50%, 5px);
}
.menu-button[aria-expanded="true"] .menu-line:first-child {
  top: 50% !important;
  transform: translate(-50%, 0) rotate(45deg);
}
.menu-button[aria-expanded="true"] .menu-line:last-child {
  top: 50% !important;
  transform: translate(-50%, 0) rotate(-45deg);
}

.mobile-menu {
  grid-template-rows: auto minmax(0, 1fr);
  align-items: stretch;
}
.mobile-menu-title {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 8px 0 26px;
  border-bottom: 1px solid rgba(255,255,255,.09);
  color: #f4f1e9;
  font-family: var(--font-site);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.2;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.mobile-menu-links {
  align-content: start;
  margin: 0 auto;
  padding: 28px 0 0;
}

.home-cylinder-controls {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  justify-content: initial;
  gap: clamp(18px, 3vw, 34px);
}
.home-cylinder-dots {
  width: 100%;
  min-width: 0;
  justify-self: center;
  justify-content: center;
}
.home-cylinder-btn {
  position: relative;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0;
  font-size: 0;
  line-height: 0;
  color: rgba(244,241,233,.72);
}
.home-cylinder-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 9px;
  width: 30px;
  height: 1.5px;
  border-radius: 999px;
  background: currentColor;
  transform: translateY(-50%);
}
.home-cylinder-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-color: currentColor;
}
.home-cylinder-btn[data-cylinder-prev]::after {
  left: 9px;
  border-width: 1.5px 0 0 1.5px;
  transform: translateY(-50%) rotate(-45deg);
}
.home-cylinder-btn[data-cylinder-next]::after {
  right: 9px;
  border-width: 1.5px 1.5px 0 0;
  transform: translateY(-50%) rotate(45deg);
}
.home-cylinder-btn:first-child:hover,
.home-cylinder-btn:last-child:hover {
  transform: none;
}
.home-cylinder-btn:hover,
.home-cylinder-btn:focus-visible {
  color: #fff8eb;
}

@media (max-width: 767px) {
  .site-header .brand-wordmark .brand-name {
    font-size: 16px;
    letter-spacing: -.02em;
  }
  .mobile-menu {
    padding-top: 28px;
  }
  .mobile-menu-title {
    padding: 6px 0 24px;
    font-size: 16px;
    letter-spacing: .09em;
  }
  .mobile-menu-links {
    padding-top: 24px;
  }
  .home-cylinder-controls {
    grid-template-columns: 48px minmax(0, 1fr) 48px;
    width: 100%;
    padding: 0 18px;
    gap: 10px;
  }
  .home-cylinder-btn {
    width: 48px;
    height: 48px;
    min-width: 48px;
  }
  .home-cylinder-dots {
    gap: 12px;
  }
  .home-cylinder-counter {
    min-width: 50px;
  }
  .home-cylinder-progress {
    width: clamp(96px, 34vw, 148px);
  }
}

/* BA57 — final mobile navigation and carousel system */
/* Brand uses the same permanent site font. */
.site-header .brand-wordmark,
.site-header .brand-wordmark .brand-name,
.site-header .brand-wordmark small {
  font-family: var(--font-site) !important;
}
.site-header .brand-wordmark {
  display: flex;
  align-items: center;
  min-width: 0;
}
.site-header .brand-wordmark .brand-name {
  display: block !important;
  color: #f4f1e9;
  font-size: 17px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .01em;
  text-transform: none;
  white-space: nowrap;
}
.site-header .brand-wordmark small { display: none !important; }

/* Precisely centre the two-line trigger inside an equal square hit area. */
.menu-button {
  position: relative !important;
  display: none;
  width: 46px !important;
  height: 46px !important;
  min-width: 46px;
  flex: 0 0 46px;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
  place-items: center;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
.menu-line {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 27px !important;
  height: 2px !important;
  border-radius: 99px;
  background: #f4f1e9;
  transform-origin: center;
  transition: transform 280ms cubic-bezier(.16,1,.3,1), opacity 180ms ease;
}
.menu-line:first-child,
.menu-button:hover .menu-line:first-child,
.menu-button:focus-visible .menu-line:first-child {
  transform: translate(-50%, -5px) !important;
}
.menu-line:last-child,
.menu-button:hover .menu-line:last-child,
.menu-button:focus-visible .menu-line:last-child {
  transform: translate(-50%, 5px) !important;
}
.menu-button[aria-expanded="true"] .menu-line:first-child {
  transform: translate(-50%, 0) rotate(45deg) !important;
}
.menu-button[aria-expanded="true"] .menu-line:last-child {
  transform: translate(-50%, 0) rotate(-45deg) !important;
}

/* Strong menu heading, followed immediately by the navigation. */
.mobile-menu {
  grid-template-rows: auto auto 1fr !important;
  align-content: start !important;
}
.mobile-menu-title {
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 0 24px !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
  color: #f4f1e9 !important;
  font-family: var(--font-site) !important;
  font-size: clamp(22px, 6vw, 28px) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: .035em !important;
  text-transform: none !important;
}
.mobile-menu-links {
  width: 100% !important;
  margin: 0 !important;
  padding: 16px 0 0 !important;
  align-content: start !important;
}

/* Equal columns and mirrored SVG icons guarantee exact arrow symmetry. */
.home-cylinder-controls {
  display: grid !important;
  grid-template-columns: 52px minmax(0, 1fr) 52px !important;
  align-items: center !important;
  justify-content: stretch !important;
  width: min(calc(100% - 32px), var(--container)) !important;
  margin-inline: auto !important;
  padding: 0 !important;
  gap: 10px !important;
}
.home-cylinder-btn {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(244,241,233,.78) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  transform: none !important;
}
.home-cylinder-btn::before,
.home-cylinder-btn::after { content: none !important; display: none !important; }
.home-cylinder-icon {
  display: block;
  width: 38px;
  height: 38px;
  overflow: visible;
  transition: color 180ms ease, transform 220ms cubic-bezier(.16,1,.3,1);
}
.home-cylinder-btn[data-cylinder-next] .home-cylinder-icon {
  transform: rotate(180deg);
}
.home-cylinder-btn:hover .home-cylinder-icon,
.home-cylinder-btn:focus-visible .home-cylinder-icon {
  color: #fff8eb;
}
.home-cylinder-dots {
  width: 100% !important;
  min-width: 0 !important;
  justify-self: stretch !important;
  justify-content: center !important;
}

@media (max-width: 1120px) {
  .menu-button { display: grid !important; }
}

@media (max-width: 767px) {
  :root { --header-h: 68px; }
  .nav-wrap {
    width: calc(100% - 32px) !important;
    height: 100%;
    gap: 12px !important;
  }
  .brand { gap: 11px !important; }
  .brand-logo-button,
  .brand-mark { width: 40px !important; height: 40px !important; }
  .site-header .brand-wordmark .brand-name {
    font-size: 17px !important;
    font-weight: 600 !important;
    letter-spacing: .005em !important;
  }
  .menu-button {
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    flex-basis: 46px !important;
  }
  .mobile-menu {
    padding: 28px 24px max(24px, env(safe-area-inset-bottom)) !important;
  }
  .mobile-menu-title {
    padding: 2px 0 22px !important;
    font-size: clamp(23px, 6.6vw, 27px) !important;
  }
  .mobile-menu-links { padding-top: 14px !important; }
  .mobile-menu-links a {
    min-height: 59px !important;
    padding: 10px 0 !important;
    font-size: clamp(30px, 8.6vw, 38px) !important;
  }
  .home-cylinder-controls {
    left: 0 !important;
    right: 0 !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    grid-template-columns: 52px minmax(0, 1fr) 52px !important;
    width: calc(100% - 32px) !important;
    padding: 0 !important;
    gap: 8px !important;
  }
  .home-cylinder-btn {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
  }
  .home-cylinder-icon { width: 38px; height: 38px; }
  .home-cylinder-counter { min-width: 50px !important; }
  .home-cylinder-progress { width: clamp(92px, 34vw, 144px) !important; }
}


/* ba61 — locked mobile viewport, consistent alignment and plain text actions */
html, body, .site-shell, main, section, footer {
  width: 100%;
  max-width: 100%;
}

body, main, .site-shell, #starfield {
  -webkit-touch-callout: none;
}

main, section, .container, .nav-wrap, .footer-grid, .detail-grid,
.page-hero, .detail-intro-section, .content-panel {
  min-width: 0;
}

.page-title, .display, .vision-title,
.hero-description, .page-intro, .panel-copy, .footer-note,
.mobile-menu-title, .mobile-menu-links a {
  max-width: 100%;
  overflow-wrap: break-word;
  word-break: normal;
}

.detail-copy-panel,
.detail-copy-panel h2,
.detail-copy-panel p {
  scroll-margin-top: calc(var(--header-h) + 20px);
}

@media (max-width: 767px) {
  .container,
  .nav-wrap {
    width: calc(100% - 40px) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .section {
    padding-block: 62px;
  }

  .page-hero {
    padding-top: 54px;
    padding-bottom: 44px;
  }

  .page-title {
    font-size: clamp(46px, 13.4vw, 78px);
    line-height: .92;
    letter-spacing: -.045em;
  }

  .page-intro,
  .panel-copy,
  .footer-note {
    font-size: 16px;
    line-height: 1.62;
  }

  .detail-intro-section {
    padding-top: 20px;
    padding-bottom: 46px;
  }

  .detail-grid {
    width: calc(100% - 40px) !important;
    gap: 0 !important;
  }

  .detail-copy-panel {
    width: 100%;
    padding: 34px 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  .detail-copy-panel h2 {
    font-size: clamp(31px, 8.4vw, 42px);
    line-height: 1.04;
  }

  .page-actions {
    margin-top: 28px;
    gap: 22px;
  }

  .page-actions .button {
    font-size: 18px;
    font-weight: 600;
  }

  .site-footer .container {
    width: calc(100% - 40px) !important;
  }
}


/* ba62 — full-screen translucent mobile navigation */
.mobile-menu {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 45 !important;
  width: 100vw !important;
  max-width: none !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: calc(var(--header-h) + 30px) max(24px, 5vw) max(28px, env(safe-area-inset-bottom)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(135deg, rgba(8, 7, 6, .76), rgba(2, 2, 2, .66)) !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(24px) saturate(118%) !important;
  backdrop-filter: blur(24px) saturate(118%) !important;
  transform: translateY(-18px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition:
    transform 320ms cubic-bezier(.16,1,.3,1),
    opacity 220ms ease,
    visibility 0s linear 320ms !important;
}

.mobile-menu.open {
  transform: translateY(0) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition-delay: 0s !important;
}

body.menu-open .site-header {
  z-index: 50 !important;
  background: rgba(4, 4, 4, .46) !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
  -webkit-backdrop-filter: blur(24px) saturate(118%) !important;
  backdrop-filter: blur(24px) saturate(118%) !important;
}

body.menu-open .site-header .nav-wrap {
  position: relative;
  z-index: 51;
}

.mobile-menu-title,
.mobile-menu-links {
  width: min(100%, 760px) !important;
  margin-inline: auto !important;
}

@media (max-width: 767px) {
  .mobile-menu {
    padding: calc(var(--header-h) + 26px) 24px max(26px, env(safe-area-inset-bottom)) !important;
  }
}


/* ba63 — unify all visible typography to the mobile menu-button type style */
.mobile-menu-title,
.mobile-menu-links a,
.site-header .brand-wordmark .brand-name,
.nav-links a,
.footer-links a,
.footer-brand strong,
.copyright,
.button,
.page-title,
.display,
.vision-title,
.section-heading h2,
.detail-copy-panel h2,
.card h2,
.info-card h2,
.product-card h2,
.principle-card h2,
.timeline-card h2,
.chain-card h2,
.prism-section-heading h2,
.rotating-prism-face h2,
.simple-service-card h2,
.simple-service-pitch h2,
.home-section-heading h2,
.home-final-cta h2,
.home-process-card h3,
.home-pillar-card h3,
.home-service-links strong,
.home-cylinder-face h2,
.hero-description,
.page-intro,
.company-copy,
.footer-note,
.card-copy,
.panel-copy,
.timeline-copy,
.landscape-note,
.vision-panel-copy,
.detail-copy-panel p,
.rotating-prism-face p,
.simple-service-card p,
.home-process-card p,
.home-pillar-card p {
  font-family: var(--font-site) !important;
}

.mobile-menu-title,
.mobile-menu-links a,
.site-header .brand-wordmark .brand-name,
.nav-links a,
.footer-links a,
.footer-brand strong,
.copyright,
.button,
.page-title,
.display,
.vision-title,
.section-heading h2,
.detail-copy-panel h2,
.card h2,
.info-card h2,
.product-card h2,
.principle-card h2,
.timeline-card h2,
.chain-card h2,
.prism-section-heading h2,
.rotating-prism-face h2,
.simple-service-card h2,
.simple-service-pitch h2,
.home-section-heading h2,
.home-final-cta h2,
.home-process-card h3,
.home-pillar-card h3,
.home-service-links strong,
.home-cylinder-face h2 {
  font-weight: 400 !important;
  letter-spacing: -.03em !important;
  text-transform: none !important;
}

.mobile-menu-title {
  font-size: clamp(30px, 8.6vw, 38px) !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 18px !important;
}

.site-header .brand-wordmark .brand-name {
  font-weight: 600 !important;
  letter-spacing: -.015em !important;
}

.hero-description,
.page-intro,
.company-copy,
.footer-note,
.card-copy,
.panel-copy,
.timeline-copy,
.landscape-note,
.vision-panel-copy,
.detail-copy-panel p,
.rotating-prism-face p,
.simple-service-card p,
.home-process-card p,
.home-pillar-card p,
.copyright {
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}


/* ba64 — full-surface card feedback and simplified cinematic controls */

/* Every card family receives one complete, edge-to-edge press state. */
.material-card,
.card,
.info-card,
.product-card,
.principle-card,
.timeline-card,
.chain-card,
.simple-service-card,
.simple-service-pitch,
.home-service-links a,
.rotating-prism-face,
.home-process-card,
.home-pillar-card,
.content-panel,
.project-link-card,
.home-cylinder-face {
  transition:
    transform 260ms cubic-bezier(.16,1,.3,1),
    border-color 240ms ease,
    background 240ms ease,
    box-shadow 260ms ease,
    filter 240ms ease !important;
}

@media (hover: none), (pointer: coarse) {
  .material-card.is-touch-highlighted,
  .material-card:active,
  .card.is-touch-highlighted,
  .card:active,
  .info-card.is-touch-highlighted,
  .info-card:active,
  .product-card.is-touch-highlighted,
  .product-card:active,
  .principle-card.is-touch-highlighted,
  .principle-card:active,
  .timeline-card.is-touch-highlighted,
  .timeline-card:active,
  .chain-card.is-touch-highlighted,
  .chain-card:active,
  .simple-service-card.is-touch-highlighted,
  .simple-service-card:active,
  .simple-service-pitch.is-touch-highlighted,
  .simple-service-pitch:active,
  .home-service-links a.is-touch-highlighted,
  .home-service-links a:active,
  .rotating-prism-face.is-touch-highlighted,
  .rotating-prism-face:active,
  .home-process-card.is-touch-highlighted,
  .home-process-card:active,
  .home-pillar-card.is-touch-highlighted,
  .home-pillar-card:active,
  .content-panel.is-touch-highlighted,
  .content-panel:active,
  .project-link-card.is-touch-highlighted,
  .project-link-card:active,
  .home-cylinder-face.is-touch-highlighted,
  .home-cylinder-face:active {
    transform: translateY(-4px) scale(.994) !important;
    border-color: rgba(226,184,112,.64) !important;
    background:
      linear-gradient(145deg, rgba(255,151,25,.13), rgba(255,151,25,.045) 52%, rgba(255,255,255,.025)),
      rgba(6,6,6,.58) !important;
    box-shadow:
      0 22px 58px rgba(0,0,0,.38),
      0 0 30px rgba(255,151,25,.11),
      inset 0 0 0 1px rgba(240,205,139,.13) !important;
    filter: brightness(1.08) saturate(1.05) !important;
  }

  /* Material cards draw their visible surface through ::before. */
  .material-card.is-touch-highlighted::before,
  .material-card:active::before {
    background:
      linear-gradient(145deg, rgba(255,151,25,.15), rgba(255,151,25,.055) 54%, rgba(255,255,255,.025)),
      var(--shared-panel-glass) !important;
    box-shadow:
      inset 0 0 0 1px rgba(240,205,139,.16),
      0 0 28px rgba(255,151,25,.10) !important;
  }

  .material-card.is-touch-highlighted .card-corner,
  .material-card:active .card-corner {
    opacity: 1 !important;
    transform: translate3d(0,0,0) scale(1) !important;
  }

  .material-card.is-touch-highlighted .card-corner::before,
  .material-card:active .card-corner::before {
    transform: scaleX(1) !important;
  }

  .material-card.is-touch-highlighted .card-corner::after,
  .material-card:active .card-corner::after {
    transform: scaleY(1) !important;
  }

  /* Prism cards keep their colour theme while highlighting the complete face. */
  .rotating-prism-face.is-touch-highlighted,
  .rotating-prism-face:active {
    background:
      linear-gradient(145deg, rgba(var(--prism-rgb),.20), rgba(var(--prism-rgb),.075) 58%, rgba(255,255,255,.025)),
      rgba(5,5,5,.68) !important;
    border-color: rgba(var(--prism-rgb),.82) !important;
    box-shadow:
      0 34px 94px rgba(0,0,0,.52),
      0 0 34px rgba(var(--prism-rgb),.17),
      inset 0 0 0 1px rgba(var(--prism-rgb),.18) !important;
  }

  .rotating-prism-face.is-touch-highlighted::after,
  .rotating-prism-face:active::after {
    border-color: rgba(var(--prism-rgb),.32) !important;
  }

  .home-cylinder-face.is-touch-highlighted::before,
  .home-cylinder-face:active::before {
    background:
      linear-gradient(145deg, rgba(var(--chapter-rgb),.18), rgba(var(--chapter-rgb),.055) 58%, transparent) !important;
    opacity: 1 !important;
  }
}

/* Text actions: clean line, no block or pill. */
.button,
.page-actions .button,
.hero-actions .button {
  position: relative !important;
  min-height: 0 !important;
  padding: 9px 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--text) !important;
  gap: 8px;
  overflow: visible;
  transition: color 220ms ease, transform 260ms cubic-bezier(.16,1,.3,1) !important;
}

.button::after,
.page-actions .button::after,
.hero-actions .button::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,151,25,.18), var(--gold-light), rgba(255,151,25,.18));
  transform: scaleX(.34);
  transform-origin: left;
  opacity: .72;
  transition: transform 320ms cubic-bezier(.16,1,.3,1), opacity 220ms ease;
}

.button:hover,
.button:focus-visible,
.page-actions .button:hover,
.page-actions .button:focus-visible,
.hero-actions .button:hover,
.hero-actions .button:focus-visible {
  transform: translateY(-2px) !important;
  color: var(--gold-light) !important;
  outline: none !important;
}

.button:hover::after,
.button:focus-visible::after,
.page-actions .button:hover::after,
.page-actions .button:focus-visible::after,
.hero-actions .button:hover::after,
.hero-actions .button:focus-visible::after {
  transform: scaleX(1);
  opacity: 1;
}

/* Prism controls: no surrounding capsule; arrows float and pause is a text control. */
.rotating-prism-controls {
  gap: 18px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.rotating-prism-controls button {
  position: relative;
  min-width: 44px !important;
  width: 44px;
  height: 44px !important;
  padding: 0 !important;
  border: 1px solid rgba(255,151,25,.28) !important;
  border-radius: 50% !important;
  background: rgba(3,3,3,.18) !important;
  box-shadow: none !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 280ms cubic-bezier(.16,1,.3,1), border-color 220ms ease, color 220ms ease !important;
}

.rotating-prism-controls button:hover,
.rotating-prism-controls button:focus-visible {
  transform: translateY(-3px) scale(1.04) !important;
  border-color: rgba(240,205,139,.72) !important;
  color: var(--gold-light) !important;
  outline: none;
}

.rotating-prism-controls .prism-pause {
  width: auto !important;
  min-width: 74px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  letter-spacing: .16em !important;
}

.rotating-prism-controls .prism-pause::after {
  content: '';
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 5px;
  height: 1px;
  background: var(--gold-light);
  transform: scaleX(.34);
  opacity: .55;
  transition: transform 280ms cubic-bezier(.16,1,.3,1), opacity 220ms ease;
}

.rotating-prism-controls .prism-pause:hover::after,
.rotating-prism-controls .prism-pause:focus-visible::after {
  transform: scaleX(1);
  opacity: 1;
}

/* Chain carousel controls: text and a fine circular icon, without filled pills. */
.chain-control,
.chain-control.next {
  min-height: 44px !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.chain-control-icon {
  width: 38px !important;
  height: 38px !important;
  border-color: rgba(255,151,25,.30) !important;
  transition: transform 260ms cubic-bezier(.16,1,.3,1), border-color 220ms ease;
}

.chain-control:hover,
.chain-control:focus-visible {
  transform: translateY(-2px) !important;
  color: var(--gold-light);
  outline: none;
}

.chain-control:hover .chain-control-icon,
.chain-control:focus-visible .chain-control-icon {
  transform: scale(1.06);
  border-color: rgba(240,205,139,.74) !important;
}

/* Other carousel arrows remain compact and transparent. */
.auto-swipe-control {
  width: 44px !important;
  height: 44px !important;
  border-color: rgba(255,151,25,.30) !important;
  background: rgba(3,3,3,.16) !important;
  box-shadow: none !important;
  transition: transform 260ms cubic-bezier(.16,1,.3,1), border-color 220ms ease !important;
}

.auto-swipe-control:hover,
.auto-swipe-control:focus-visible {
  transform: translateY(-50%) scale(1.05) !important;
  border-color: rgba(240,205,139,.72) !important;
  outline: none;
}

.skip-intro {
  min-height: 0 !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--muted);
  border-bottom: 1px solid rgba(255,151,25,.34) !important;
}

/* One consistent keyboard focus treatment without rectangular focus cards. */
button:focus-visible,
a:focus-visible {
  outline: 1px solid rgba(240,205,139,.72);
  outline-offset: 5px;
}

@media (max-width: 767px) {
  .rotating-prism-controls {
    gap: 16px !important;
  }
  .rotating-prism-controls button {
    width: 42px;
    min-width: 42px !important;
    height: 42px !important;
  }
  .rotating-prism-controls .prism-pause {
    min-width: 68px !important;
  }
}


/* ba65 — floating navigation, unified controls and full-surface interaction */
:root { --header-h: 0px; }

.sr-only {
  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;
}

/* The old top bar is removed. Only a floating menu trigger remains. */
.site-header {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100 !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: none !important;
}
.nav-wrap {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  display: block !important;
}
.site-header .brand,
.site-header .nav-links { display: none !important; }
.menu-button {
  position: fixed !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  z-index: 102 !important;
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(240,205,139,.22) !important;
  border-radius: 50% !important;
  background: rgba(5,5,5,.34) !important;
  box-shadow: 0 14px 42px rgba(0,0,0,.28) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  pointer-events: auto !important;
}
.menu-line { width: 25px !important; height: 1.5px !important; }
body.menu-open .site-header { background: transparent !important; backdrop-filter: none !important; }
body.menu-open .menu-button { border-color: rgba(240,205,139,.54) !important; }

.mobile-menu {
  padding: max(104px, calc(env(safe-area-inset-top) + 92px)) clamp(24px, 6vw, 80px) max(96px, calc(env(safe-area-inset-bottom) + 84px)) !important;
}
.mobile-menu-title {
  width: min(100%, 1040px) !important;
  font-size: clamp(36px, 7vw, 76px) !important;
  text-align: center !important;
  line-height: .94 !important;
}
.mobile-menu-links {
  width: min(100%, 1040px) !important;
  align-content: start !important;
}

/* Fixed bottom navigation with the interactive logo trigger. */
body { padding-bottom: max(88px, calc(env(safe-area-inset-bottom) + 76px)); }
.bottom-logo-nav {
  position: fixed;
  left: 50%;
  bottom: max(12px, env(safe-area-inset-bottom));
  z-index: 72;
  translate: -50% 0;
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(255,151,25,.20);
  border-radius: 50%;
  background: rgba(4,4,4,.46);
  box-shadow: 0 18px 48px rgba(0,0,0,.38), inset 0 0 0 1px rgba(255,255,255,.025);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  transition: translate 280ms cubic-bezier(.16,1,.3,1), opacity 180ms ease, border-color 220ms ease;
}
.bottom-logo-button {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.bottom-logo-button img { width: 48px; height: 48px; object-fit: contain; pointer-events: none; }
.bottom-logo-nav:hover,
.bottom-logo-nav:focus-within { translate: -50% -4px; border-color: rgba(240,205,139,.48); }
body.menu-open .bottom-logo-nav,
body.logo-viewer-open .bottom-logo-nav { opacity: 0; pointer-events: none; }

/* Page and section headers are centred across mobile and desktop. */
.page-hero .container,
.compact-page-hero .container {
  display: grid !important;
  justify-items: center !important;
  text-align: center !important;
}
.page-hero { padding-top: clamp(112px, 14vh, 180px) !important; }
.page-title.character-field,
.page-title,
.prism-section-heading,
.section-heading,
.home-section-heading {
  width: 100% !important;
  justify-items: center !important;
  align-items: center !important;
  text-align: center !important;
}
.page-title.character-field { display: inline-flex !important; align-items: center !important; }
.page-intro { display: none !important; }
.prism-section-heading {
  display: grid !important;
  grid-template-columns: 1fr !important;
}
.section-heading {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.section-heading > div { display: grid; justify-items: center; }
.section-heading .button { margin-top: 10px; }

/* Scroll drives every character directly, so the animation reverses and replays. */
.character-field .char,
.character-field.is-running .char,
.character-field.is-settled .char {
  transition: none !important;
  will-change: opacity, filter, transform;
}

/* Full-screen centred homepage statement, without descriptive copy. */
.home-tagline-section {
  min-height: 100svh !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(72px, 10vh, 130px) clamp(18px, 4vw, 70px) !important;
  overflow: clip;
}
.home-tagline-stage {
  width: 100%;
  min-height: min(82svh, 920px);
  display: grid;
  place-items: center;
  perspective: 1700px;
}
.home-tagline {
  width: min(100%, 1500px) !important;
  max-width: 94vw !important;
  margin: 0 auto !important;
  align-items: center !important;
  text-align: center !important;
  font-size: clamp(66px, 12.2vw, 190px) !important;
  line-height: .78 !important;
  letter-spacing: -.065em !important;
}
.home-tagline .character-line { text-align: center; }

/* Full-surface golden press highlight, matching the reference treatment. */
.card,
.info-card,
.product-card,
.principle-card,
.timeline-card,
.chain-card,
.simple-service-card,
.home-service-links a,
.simple-service-pitch,
.home-process-card,
.home-pillar-card,
.content-panel,
.project-link-card,
.material-card,
.rotating-prism-face,
.home-cylinder-face {
  transition: transform 260ms cubic-bezier(.16,1,.3,1), background 220ms ease, border-color 220ms ease, box-shadow 260ms ease, filter 220ms ease !important;
}

.card.is-touch-highlighted,
.card:active,
.info-card.is-touch-highlighted,
.info-card:active,
.product-card.is-touch-highlighted,
.product-card:active,
.principle-card.is-touch-highlighted,
.principle-card:active,
.timeline-card.is-touch-highlighted,
.timeline-card:active,
.chain-card.is-touch-highlighted,
.chain-card:active,
.simple-service-card.is-touch-highlighted,
.simple-service-card:active,
.home-service-links a.is-touch-highlighted,
.home-service-links a:active,
.simple-service-pitch.is-touch-highlighted,
.simple-service-pitch:active,
.home-process-card.is-touch-highlighted,
.home-process-card:active,
.home-pillar-card.is-touch-highlighted,
.home-pillar-card:active,
.content-panel.is-touch-highlighted,
.content-panel:active,
.project-link-card.is-touch-highlighted,
.project-link-card:active {
  transform: translateY(-4px) scale(.994) !important;
  border-color: rgba(240,205,139,.76) !important;
  background: linear-gradient(145deg, rgba(255,151,25,.22), rgba(255,151,25,.075) 58%, rgba(255,255,255,.026)) !important;
  box-shadow: 0 28px 78px rgba(0,0,0,.48), 0 0 42px rgba(255,151,25,.19), inset 0 0 0 1px rgba(255,230,177,.18) !important;
  filter: brightness(1.10) saturate(1.06) !important;
}
.material-card.is-touch-highlighted::before,
.material-card:active::before {
  background: linear-gradient(145deg, rgba(255,151,25,.22), rgba(255,151,25,.07) 60%, rgba(255,255,255,.025)), var(--shared-panel-glass) !important;
  box-shadow: inset 0 0 0 1px rgba(255,230,177,.22), 0 0 38px rgba(255,151,25,.18) !important;
}
.material-card.is-touch-highlighted .card-corner,
.material-card:active .card-corner { opacity: 1 !important; }
.material-card.is-touch-highlighted .card-corner::before,
.material-card:active .card-corner::before { transform: scaleX(1) !important; }
.material-card.is-touch-highlighted .card-corner::after,
.material-card:active .card-corner::after { transform: scaleY(1) !important; }

.rotating-prism-face.is-touch-highlighted,
.rotating-prism-face:active {
  transform-origin: center !important;
  border-color: rgba(var(--prism-rgb), .96) !important;
  background: linear-gradient(145deg, rgba(var(--prism-rgb),.30), rgba(var(--prism-rgb),.10) 58%, rgba(255,255,255,.028)), rgba(5,5,5,.70) !important;
  box-shadow: 0 42px 115px rgba(0,0,0,.58), 0 0 54px rgba(var(--prism-rgb),.26), inset 0 0 0 2px rgba(var(--prism-rgb),.25) !important;
  filter: brightness(1.12) saturate(1.08) !important;
}
.rotating-prism-face.is-touch-highlighted::after,
.rotating-prism-face:active::after { border-color: rgba(var(--prism-rgb),.52) !important; }
.rotating-prism-face.is-touch-highlighted .rotating-prism-corner::before,
.rotating-prism-face.is-touch-highlighted .rotating-prism-corner::after,
.rotating-prism-face:active .rotating-prism-corner::before,
.rotating-prism-face:active .rotating-prism-corner::after { box-shadow: 0 0 18px rgba(var(--prism-rgb),.48) !important; }

.home-cylinder-face.is-touch-highlighted,
.home-cylinder-face:active {
  box-shadow: inset 0 0 0 2px rgba(var(--chapter-rgb),.72), 0 0 58px rgba(var(--chapter-rgb),.25) !important;
  filter: brightness(1.10) saturate(1.08) !important;
}
.home-cylinder-face.is-touch-highlighted::before,
.home-cylinder-face:active::before {
  inset: 0 !important;
  opacity: 1 !important;
  background: linear-gradient(145deg, rgba(var(--chapter-rgb),.30), rgba(var(--chapter-rgb),.10) 60%, rgba(255,255,255,.025)) !important;
}

/* One carousel-control language throughout the site. */
.cinematic-arrow,
.home-cylinder-btn,
.rotating-prism-controls .cinematic-arrow {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(244,241,233,.72) !important;
}
.cinematic-arrow-icon { width: 38px; height: 38px; overflow: visible; }
.cinematic-arrow.is-next .cinematic-arrow-icon,
.home-cylinder-btn[data-cylinder-next] .cinematic-arrow-icon { transform: rotate(180deg); }
.cinematic-arrow::after {
  content: '';
  position: absolute;
  inset: 6px;
  border: 1px solid rgba(255,151,25,.24);
  border-radius: 50%;
  transform: scale(.82);
  opacity: .55;
  transition: transform 260ms cubic-bezier(.16,1,.3,1), opacity 200ms ease, border-color 220ms ease;
}
.cinematic-arrow:hover::after,
.cinematic-arrow:focus-visible::after,
.cinematic-arrow:active::after {
  transform: scale(1);
  opacity: 1;
  border-color: rgba(240,205,139,.72);
}
.rotating-prism-controls {
  display: grid !important;
  grid-template-columns: 52px minmax(86px,auto) 52px !important;
  align-items: center !important;
  gap: clamp(14px, 4vw, 28px) !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.cinematic-pause,
.rotating-prism-controls .prism-pause {
  position: relative !important;
  width: auto !important;
  min-width: 88px !important;
  height: 52px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}
.cinematic-pause::after {
  content: '';
  position: absolute;
  left: 20%;
  right: 20%;
  bottom: 7px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
  opacity: .46;
  transition: left 260ms ease, right 260ms ease, opacity 220ms ease;
}
.cinematic-pause:hover::after,
.cinematic-pause:focus-visible::after,
.cinematic-pause:active::after { left: 4%; right: 4%; opacity: 1; }

@media (max-width: 767px) {
  .menu-button {
    top: max(14px, env(safe-area-inset-top)) !important;
    right: max(14px, env(safe-area-inset-right)) !important;
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
  }
  .mobile-menu-title { font-size: clamp(34px, 11vw, 52px) !important; }
  .page-hero { padding-top: 112px !important; }
  .page-title { font-size: clamp(50px, 15vw, 82px) !important; }
  .home-tagline-stage { min-height: 82svh; }
  .home-tagline {
    max-width: calc(100vw - 28px) !important;
    font-size: clamp(58px, 17.5vw, 104px) !important;
    line-height: .80 !important;
  }
  .bottom-logo-nav { width: 62px; height: 62px; }
  .bottom-logo-button { width: 54px; height: 54px; }
  .bottom-logo-button img { width: 44px; height: 44px; }
  .rotating-prism-controls {
    grid-template-columns: 48px minmax(76px,auto) 48px !important;
    gap: 12px !important;
  }
  .cinematic-arrow,
  .home-cylinder-btn,
  .rotating-prism-controls .cinematic-arrow {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
  }
  .cinematic-arrow-icon { width: 34px; height: 34px; }
  .cinematic-pause,
  .rotating-prism-controls .prism-pause { min-width: 76px !important; height: 48px !important; padding-inline: 8px !important; }
}


/* ba65.1 — keep the bottom logo clear of all centred carousel controls. */
.bottom-logo-nav {
  left: max(16px, env(safe-area-inset-left)) !important;
  translate: 0 0 !important;
}
.bottom-logo-nav:hover,
.bottom-logo-nav:focus-within { translate: 0 -4px !important; }


/* ba66 — footer logo now opens the interactive logo viewer; floating logo removed */
.footer-logo-trigger {
  appearance: none;
  display: inline-flex !important;
  align-items: center;
  gap: 14px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.footer-logo-trigger img { flex: 0 0 auto; }
.footer-logo-trigger:hover,
.footer-logo-trigger:focus-visible { opacity: .95; filter: drop-shadow(0 0 10px rgba(255,151,25,.18)); }
.bottom-logo-nav { display: none !important; }

/* Menu button: remove card and keep a cleaner floating cinematic icon */
.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100%;
  height: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
  z-index: 60 !important;
}
.site-header .nav-wrap {
  width: 100% !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}
.menu-button {
  position: fixed !important;
  top: max(18px, env(safe-area-inset-top)) !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  pointer-events: auto !important;
  z-index: 72 !important;
}
.menu-button::before,
.menu-button::after { content: none !important; }
.menu-line {
  width: 34px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: rgba(248,244,236,.94) !important;
  box-shadow: 0 0 10px rgba(255,151,25,.10);
}
.menu-button:hover .menu-line,
.menu-button:focus-visible .menu-line { box-shadow: 0 0 16px rgba(240,205,139,.24); }
body.menu-open .menu-button { border: 0 !important; }

/* Menu overlay feels more cinematic */
.mobile-menu {
  background: linear-gradient(165deg, rgba(8,7,6,.84), rgba(4,4,4,.72) 48%, rgba(2,2,2,.78)) !important;
  -webkit-backdrop-filter: blur(32px) saturate(118%) !important;
  backdrop-filter: blur(32px) saturate(118%) !important;
}
.mobile-menu-title {
  font-size: clamp(28px, 8vw, 42px) !important;
  letter-spacing: -.03em !important;
}
.mobile-menu-links a {
  color: rgba(244,241,233,.82) !important;
}
.mobile-menu-links a::after {
  opacity: .72;
}

/* Home second section spacing */
.home-tagline-section {
  padding-top: clamp(72px, 12vh, 130px) !important;
  padding-bottom: clamp(84px, 14vh, 148px) !important;
}
.home-tagline-stage {
  width: min(100%, 1120px);
  margin-inline: auto;
  min-height: clamp(420px, 78vh, 900px) !important;
  display: grid;
  place-items: center;
  padding-inline: 20px;
}
.home-tagline {
  margin-inline: auto;
  text-align: center;
}

/* Restore homepage Apps/Websites/NFTs card strip */
.home-service-strip-section { padding-top: 0 !important; }
.home-service-strip-section .container {
  padding-top: 6px;
}
.home-service-links {
  border: 1px solid rgba(255,151,25,.10);
  border-radius: 30px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.012), rgba(255,255,255,.006));
}
.home-service-links a {
  position: relative;
  overflow: hidden;
}

/* Other-page carousel controls: icon only, no card behind them */
.rotating-prism-controls .cinematic-arrow,
[data-chain-carousel] .cinematic-arrow {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.rotating-prism-controls .cinematic-arrow::after,
[data-chain-carousel] .cinematic-arrow::after {
  content: none !important;
}
.rotating-prism-controls .cinematic-arrow .cinematic-arrow-icon,
[data-chain-carousel] .cinematic-arrow .cinematic-arrow-icon {
  width: 40px !important;
  height: 40px !important;
}
.rotating-prism-controls,
[data-chain-carousel] .chain-controls {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Softer corner-only card highlight */
.material-card.is-touch-highlighted,
.material-card:active,
.home-service-links a.is-touch-highlighted,
.home-service-links a:active,
.rotating-prism-face.is-touch-highlighted,
.rotating-prism-face:active,
.home-cylinder-face.is-touch-highlighted,
.home-cylinder-face:active,
.simple-service-card.is-touch-highlighted,
.simple-service-card:active,
.content-panel.is-touch-highlighted,
.content-panel:active {
  filter: brightness(1.02) saturate(1.01) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.18) !important;
  background-color: transparent !important;
}
.material-card.is-touch-highlighted::before,
.material-card:active::before,
.home-cylinder-face.is-touch-highlighted::before,
.home-cylinder-face:active::before,
.rotating-prism-face.is-touch-highlighted::after,
.rotating-prism-face:active::after {
  opacity: .28 !important;
}
.material-card.is-touch-highlighted .card-corner,
.material-card:active .card-corner {
  opacity: .82 !important;
}
.material-card.is-touch-highlighted .card-corner::before,
.material-card.is-touch-highlighted .card-corner::after,
.material-card:active .card-corner::before,
.material-card:active .card-corner::after {
  background: rgba(240,205,139,.74) !important;
  box-shadow: 0 0 12px rgba(240,205,139,.16) !important;
}

.home-service-links a::after,
.home-cylinder-face::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 220ms ease;
  background:
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) left 14px top 14px / 58px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) left 14px top 14px / 1.5px 58px no-repeat,
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) right 14px top 14px / 58px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) right 14px top 14px / 1.5px 58px no-repeat,
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) left 14px bottom 14px / 58px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) left 14px bottom 14px / 1.5px 58px no-repeat,
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) right 14px bottom 14px / 58px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.68), rgba(240,205,139,.68)) right 14px bottom 14px / 1.5px 58px no-repeat;
}
.home-service-links a.is-touch-highlighted::after,
.home-service-links a:active::after,
.home-cylinder-face.is-touch-highlighted::after,
.home-cylinder-face:active::after {
  opacity: .72;
}
.home-cylinder-face.is-touch-highlighted,
.home-cylinder-face:active {
  box-shadow: 0 26px 72px rgba(0,0,0,.24) !important;
}
.home-cylinder-face.is-touch-highlighted::before,
.home-cylinder-face:active::before {
  background: linear-gradient(110deg, transparent 18%, rgba(255,255,255,.045) 46%, transparent 74%) !important;
}
.rotating-prism-face.is-touch-highlighted,
.rotating-prism-face:active,
.simple-service-card.is-touch-highlighted,
.simple-service-card:active {
  border-color: rgba(240,205,139,.22) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.22) !important;
}
.rotating-prism-face.is-touch-highlighted .rotating-prism-corner::before,
.rotating-prism-face.is-touch-highlighted .rotating-prism-corner::after,
.rotating-prism-face:active .rotating-prism-corner::before,
.rotating-prism-face:active .rotating-prism-corner::after {
  box-shadow: 0 0 10px rgba(var(--prism-rgb), .16) !important;
}

@media (max-width: 767px) {
  .menu-button {
    width: 52px !important;
    height: 52px !important;
  }
  .home-tagline-stage {
    min-height: clamp(360px, 60vh, 620px) !important;
    padding-inline: 24px !important;
  }
  .home-service-links {
    border-radius: 26px;
  }
  .home-service-links a {
    min-height: 168px !important;
  }
}


/* ba67 — smoother character text motion */
.character-field {
  perspective: 1900px;
}
.character-field .char {
  transition:
    opacity 180ms linear,
    filter 240ms cubic-bezier(.18,.88,.3,1),
    transform 260ms cubic-bezier(.18,.88,.28,1);
  text-shadow: 0 0 18px rgba(240,205,139,.03);
}

/* ba67 — Apps/Websites/NFTs section back to the cleaner earlier layout */
.home-service-links {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.home-service-links a {
  min-height: 204px !important;
  padding: 40px 0 42px !important;
  border-right: 0 !important;
  border-bottom: 1px solid rgba(255,151,25,.12) !important;
  background: transparent !important;
  border-radius: 0 !important;
}
.home-service-links a:first-child {
  border-top: 1px solid rgba(255,151,25,.12) !important;
}
.home-service-links a:hover {
  background: transparent !important;
  transform: translateY(-2px) !important;
}
.home-service-links span { padding-inline-start: 18px; }
.home-service-links strong,
.home-service-links small { padding-inline-end: 18px; }

/* Sidebar/menu button smaller and more cinematic without a card behind it */
.menu-button {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.menu-button::before {
  content: '' !important;
  position: absolute;
  inset: -2px;
  border-radius: 50%;
  background: conic-gradient(from 180deg, rgba(240,205,139,.0) 0 18%, rgba(240,205,139,.42) 18% 32%, rgba(240,205,139,0) 32% 68%, rgba(240,205,139,.32) 68% 82%, rgba(240,205,139,0) 82% 100%);
  -webkit-mask: radial-gradient(circle, transparent 66%, #000 69%);
  mask: radial-gradient(circle, transparent 66%, #000 69%);
  opacity: .76;
  transition: transform 360ms cubic-bezier(.16,1,.3,1), opacity 220ms ease;
}
.menu-button:hover::before,
.menu-button:focus-visible::before {
  transform: rotate(28deg) scale(1.06);
  opacity: 1;
}
body.menu-open .menu-button::before {
  transform: rotate(90deg) scale(1.08);
}
.menu-line {
  width: 28px !important;
  height: 2px !important;
}

/* Menu overlay refinement */
.mobile-menu-title {
  letter-spacing: -.04em !important;
}
.mobile-menu-links a {
  transform: translateY(18px) scale(.985);
  transition: opacity 440ms cubic-bezier(.16,1,.3,1), transform 520ms cubic-bezier(.16,1,.3,1) !important;
}
.mobile-menu-links a:hover,
.mobile-menu-links a[aria-current="page"] {
  transform: translateX(4px) !important;
}

/* Remove cards from behind all controls */
.home-cylinder-controls,
.rotating-prism-controls,
.chain-controls {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.home-cylinder-btn,
.cinematic-arrow,
.rotating-prism-controls .cinematic-arrow,
.chain-controls .cinematic-arrow {
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.home-cylinder-btn::before,
.home-cylinder-btn::after,
.cinematic-arrow::before,
.cinematic-arrow::after,
.rotating-prism-controls .cinematic-arrow::before,
.rotating-prism-controls .cinematic-arrow::after,
.chain-controls .cinematic-arrow::before,
.chain-controls .cinematic-arrow::after {
  content: none !important;
  display: none !important;
}
.home-cylinder-icon,
.cinematic-arrow-icon {
  width: 40px !important;
  height: 40px !important;
}
.cinematic-pause,
.rotating-prism-controls .prism-pause,
.home-cylinder-counter {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Softer corner-only highlight, not full-card glow */
.home-service-links a,
.home-cylinder-face,
.rotating-prism-face,
.simple-service-card,
.content-panel,
.project-link-card,
.service-link-card {
  position: relative;
}
.home-service-links a::after,
.home-cylinder-face::after,
.rotating-prism-face::after,
.simple-service-card::after,
.content-panel::after,
.project-link-card::after,
.service-link-card::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity 240ms ease;
  background:
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) left 12px top 12px / 48px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) left 12px top 12px / 1.5px 48px no-repeat,
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) right 12px top 12px / 48px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) right 12px top 12px / 1.5px 48px no-repeat,
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) left 12px bottom 12px / 48px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) left 12px bottom 12px / 1.5px 48px no-repeat,
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) right 12px bottom 12px / 48px 1.5px no-repeat,
    linear-gradient(rgba(240,205,139,.58), rgba(240,205,139,.58)) right 12px bottom 12px / 1.5px 48px no-repeat;
}
.home-service-links a.is-touch-highlighted::after,
.home-service-links a:active::after,
.home-cylinder-face.is-touch-highlighted::after,
.home-cylinder-face:active::after,
.rotating-prism-face.is-touch-highlighted::after,
.rotating-prism-face:active::after,
.simple-service-card.is-touch-highlighted::after,
.simple-service-card:active::after,
.content-panel.is-touch-highlighted::after,
.content-panel:active::after,
.project-link-card.is-touch-highlighted::after,
.project-link-card:active::after,
.service-link-card.is-touch-highlighted::after,
.service-link-card:active::after {
  opacity: .85;
}
.home-service-links a.is-touch-highlighted,
.home-service-links a:active,
.home-cylinder-face.is-touch-highlighted,
.home-cylinder-face:active,
.rotating-prism-face.is-touch-highlighted,
.rotating-prism-face:active,
.simple-service-card.is-touch-highlighted,
.simple-service-card:active,
.content-panel.is-touch-highlighted,
.content-panel:active,
.project-link-card.is-touch-highlighted,
.project-link-card:active,
.service-link-card.is-touch-highlighted,
.service-link-card:active {
  filter: none !important;
  background: transparent !important;
  box-shadow: 0 14px 34px rgba(0,0,0,.16) !important;
  border-color: rgba(255,151,25,.14) !important;
}
.material-card.is-touch-highlighted,
.material-card:active {
  box-shadow: 0 12px 30px rgba(0,0,0,.14) !important;
  filter: none !important;
}
.material-card.is-touch-highlighted::before,
.material-card:active::before,
.home-cylinder-face.is-touch-highlighted::before,
.home-cylinder-face:active::before,
.rotating-prism-face.is-touch-highlighted::before,
.rotating-prism-face:active::before {
  background: transparent !important;
  opacity: .12 !important;
}
.material-card.is-touch-highlighted .card-corner,
.material-card:active .card-corner {
  opacity: .84 !important;
}
.material-card.is-touch-highlighted .card-corner::before,
.material-card.is-touch-highlighted .card-corner::after,
.material-card:active .card-corner::before,
.material-card:active .card-corner::after {
  box-shadow: 0 0 8px rgba(240,205,139,.14) !important;
  background: rgba(240,205,139,.62) !important;
}

/* Basic internal page load animation */
body.page-enter .site-shell {
  opacity: .01;
  transform: translateY(18px);
}
body.page-enter-active .site-shell {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 420ms cubic-bezier(.16,1,.3,1), transform 620ms cubic-bezier(.16,1,.3,1);
}
body.page-leaving .site-shell {
  opacity: .01;
  transform: translateY(16px);
  transition: opacity 220ms ease, transform 220ms ease;
}

@media (max-width: 767px) {
  .menu-button {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    top: max(16px, env(safe-area-inset-top)) !important;
    right: max(16px, env(safe-area-inset-right)) !important;
  }
  .menu-line { width: 26px !important; }
  .home-service-links a {
    min-height: 176px !important;
    padding: 34px 0 36px !important;
  }
  .home-cylinder-icon,
  .cinematic-arrow-icon { width: 34px !important; height: 34px !important; }
}


/* ba68 — restore carousel card geometry after BA67 regression */
.home-cylinder-face {
  position: absolute !important;
  top: calc(var(--face-height) * -0.5) !important;
  left: calc(var(--face-width) * -0.5) !important;
}
.rotating-prism-face {
  position: absolute !important;
  inset: 0 !important;
}
.home-cylinder-face,
.rotating-prism-face {
  min-height: 0;
}


/* ba69 — comprehensive responsive alignment pass */
:root {
  --mobile-gutter: 20px;
}

html,
body,
.site-shell,
main,
section,
footer {
  width: 100%;
  max-width: 100%;
}

/* Prevent grid and flex children from forcing their parents wider. */
.container,
.nav-wrap,
.footer-grid,
.detail-grid,
.grid-2,
.grid-3,
.hero-grid,
.home-own-products-grid,
.home-service-links,
.simple-service-grid,
.prism-section-heading,
.section-heading,
.page-actions,
.hero-actions,
.content-panel,
.detail-copy-panel,
.simple-service-pitch,
.home-cylinder-face-inner,
.rotating-prism-content,
.chain-card-copy,
.mobile-menu-links,
.mobile-menu-links a {
  min-width: 0 !important;
}

h1,
h2,
h3,
h4,
p,
strong,
small,
a,
button {
  max-width: 100%;
}

h1:not(.character-field),
h2,
h3,
h4,
p {
  overflow-wrap: break-word;
}

.page-hero,
.compact-page-hero,
.service-detail-hero {
  overflow-x: clip;
}

.page-hero .container,
.compact-page-hero .container,
.service-detail-hero .container {
  width: min(calc(100% - 40px), var(--container)) !important;
  max-width: var(--container) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

.page-title,
.page-title.character-field,
.display.character-field,
.vision-title.character-field {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  overflow: visible !important;
  justify-content: center !important;
  text-align: center !important;
}

.character-field {
  max-width: 100% !important;
  transform-origin: center center;
}

.character-line {
  display: block;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  line-height: inherit;
}

/* Keep cards and content panels inside the same visual column. */
.simple-service-pitch,
.content-panel,
.detail-copy-panel,
.home-own-products-grid,
.home-service-links,
.simple-service-grid {
  width: 100%;
  margin-inline: auto;
}

.simple-service-pitch {
  max-width: 1060px;
}

.simple-service-pitch h2,
.simple-service-pitch > p,
.detail-copy-panel h2,
.detail-copy-panel p {
  max-width: 100%;
}

.page-actions,
.hero-actions {
  align-items: center;
}

.footer-grid,
.footer-links {
  max-width: 100%;
}

.footer-links a,
.page-actions a,
.hero-actions a {
  white-space: normal;
}

/* Carousel shells stay centred without allowing transformed cards to expand the page. */
.home-chapter-cylinder-section,
.home-chapter-cylinder,
.home-cylinder-scene,
.rotating-prism-shell,
.chain-carousel,
.chain-viewport {
  max-width: 100%;
  overflow-x: clip;
}

.rotating-prism-shell,
.home-chapter-cylinder {
  margin-inline: auto;
}

@media (max-width: 767px) {
  :root {
    --mobile-gutter: 16px;
  }

  .container,
  .page-hero .container,
  .compact-page-hero .container,
  .service-detail-hero .container,
  .site-footer .container {
    width: calc(100% - (var(--mobile-gutter) * 2)) !important;
    max-width: none !important;
    margin-inline: auto !important;
  }

  .page-hero,
  .compact-page-hero,
  .service-detail-hero {
    padding-inline: 0 !important;
  }

  .page-title,
  .page-title.character-field {
    /* JavaScript may shrink this further and now wins with an inline !important. */
    font-size: clamp(42px, 13vw, 74px) !important;
    line-height: .88 !important;
    letter-spacing: -.055em !important;
  }

  .character-line {
    max-width: calc(100vw - (var(--mobile-gutter) * 2));
  }

  .simple-service-pitch {
    padding: clamp(28px, 8vw, 44px) !important;
  }

  .simple-service-pitch h2 {
    font-size: clamp(34px, 10.5vw, 54px) !important;
    line-height: .98 !important;
  }

  .detail-grid,
  .simple-service-grid,
  .grid-2,
  .grid-3 {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .page-actions,
  .hero-actions {
    width: 100%;
    flex-wrap: wrap;
    gap: 18px;
  }

  .footer-grid {
    width: 100%;
  }

  .footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 18px 24px;
  }

  .home-cylinder-face {
    max-width: calc(100vw - 24px) !important;
  }

  .rotating-prism-rotor {
    max-width: calc(100vw - 24px) !important;
  }
}

@media (min-width: 768px) {
  .page-title.character-field {
    font-size: clamp(62px, 8vw, 122px) !important;
  }
}


/* ba70 — content expansion and persuasion sections */
.editorial-intro-section {
  padding-top: clamp(28px, 5vw, 72px);
}
.editorial-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(32px, 7vw, 100px);
  padding: clamp(30px, 5.5vw, 68px) 0;
  border-top: 1px solid rgba(255,151,25,.16);
  border-bottom: 1px solid rgba(255,255,255,.065);
  align-items: start;
}
.editorial-intro-grid h2 {
  max-width: 720px;
  margin: 14px 0 0;
  font: 400 clamp(38px, 5.2vw, 76px)/.96 var(--font-site);
  letter-spacing: -.05em;
}
.editorial-intro-copy {
  max-width: 720px;
}
.editorial-intro-copy p {
  margin: 0 0 18px;
  color: var(--muted);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.72;
}
.editorial-intro-copy strong {
  color: var(--text);
  font-weight: 500;
}
.editorial-intro-copy .page-actions {
  margin-top: 30px;
}
.home-service-links-expanded a {
  min-height: 260px;
  align-content: start;
}
.home-service-links-expanded small {
  max-width: 520px;
  font-size: 14px;
  line-height: 1.72;
}
.service-value-grid .simple-service-card {
  min-height: 510px;
}
.service-card-copy {
  display: grid;
  gap: 14px;
}
.service-card-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.62;
}
.service-card-copy b {
  color: var(--text);
  font-weight: 600;
}
.service-card-risk {
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.service-reason-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 38px 0 44px;
}
.service-reason-item {
  padding: 24px 0 0;
  border-top: 1px solid rgba(255,151,25,.24);
}
.service-reason-item > span {
  display: block;
  margin-bottom: 13px;
  color: var(--gold-light);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.simple-service-pitch .service-reason-item p,
.service-handle-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.7;
}
.service-handle-copy {
  max-width: 860px;
  padding: 30px 0;
  border-top: 1px solid rgba(255,255,255,.07);
}
.service-handle-copy .section-label {
  display: block;
  margin-bottom: 14px;
}
.detail-grid.detail-grid-four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.detail-grid-four .detail-copy-panel {
  min-height: 310px;
}
.process-panel,
.site-cta-panel {
  padding: clamp(34px, 6vw, 76px);
  border: 1px solid rgba(255,151,25,.16);
  background: rgba(5,5,5,.34);
}
.process-panel h2,
.site-cta-panel h2 {
  max-width: 900px;
  margin: 12px 0 24px;
  font: 400 clamp(38px, 6vw, 82px)/.95 var(--font-site);
  letter-spacing: -.055em;
}
.process-panel p,
.site-cta-panel p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.72;
}
.site-cta-panel .page-actions {
  margin-top: 30px;
}
.category-editorial-intro {
  padding-top: 16px;
}

@media (max-width: 900px) {
  .editorial-intro-grid,
  .service-reason-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .service-value-grid .simple-service-card {
    min-height: 0;
  }
  .home-service-links-expanded a {
    min-height: 0;
  }
  .detail-grid.detail-grid-four {
    grid-template-columns: minmax(0, 1fr);
  }
  .detail-grid-four .detail-copy-panel {
    min-height: 0;
  }
}

@media (max-width: 600px) {
  .editorial-intro-grid {
    padding: 30px 0;
    gap: 24px;
  }
  .editorial-intro-grid h2,
  .process-panel h2,
  .site-cta-panel h2 {
    font-size: clamp(34px, 10.5vw, 52px);
  }
  .service-reason-grid {
    margin: 30px 0 36px;
  }
  .process-panel,
  .site-cta-panel {
    padding: 30px 24px;
  }
}


/* ba72 — approved company copy and homepage brand header */
.home-brand-hero-section {
  min-height: min(78vh, 860px);
  display: flex;
  align-items: center;
  padding-top: calc(var(--header-h) + 40px);
  padding-bottom: clamp(70px, 9vw, 130px);
}
.home-brand-hero {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.home-brand-title {
  margin: 0;
  font: 500 clamp(64px, 13vw, 210px)/.82 var(--font-site);
  letter-spacing: -.075em;
  text-transform: uppercase;
  color: var(--text);
  max-width: 1500px;
}
.home-positioning-section { padding-top: 0; }
.home-positioning-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(34px, 7vw, 110px);
  padding: clamp(44px, 6vw, 82px) 0;
  border-top: 1px solid rgba(255,151,25,.16);
  border-bottom: 1px solid rgba(255,255,255,.065);
}
.home-positioning-grid h2,
.section-display-heading {
  margin: 14px 0 0;
  font: 400 clamp(40px, 5.4vw, 78px)/.96 var(--font-site);
  letter-spacing: -.05em;
}
.home-apps-heading-section { padding-top: clamp(78px, 9vw, 130px); }
.home-apps-heading-section .page-actions { margin-top: 28px; }
.service-editorial-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.service-editorial-card {
  min-height: 420px;
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.025);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.service-editorial-card h2 {
  margin: 18px 0 20px;
  font: 400 clamp(30px, 3.6vw, 50px)/1.02 var(--font-site);
  letter-spacing: -.04em;
}
.service-editorial-card p { margin: 0; color: var(--muted); font-size: clamp(15px, 1.25vw, 18px); line-height: 1.7; }
.service-editorial-card strong { margin-top: auto; padding-top: 34px; font-weight: 500; }
.company-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 18px; }
.company-story-panel, .founder-panel { padding: clamp(30px, 4vw, 52px); }
.company-story-panel h2, .founder-panel h2 { margin: 18px 0 18px; font: 400 clamp(38px, 4.6vw, 66px)/.98 var(--font-site); letter-spacing: -.05em; }
.founder-role { margin: 6px 0 0; color: var(--muted); font-size: clamp(16px, 1.5vw, 20px); }
.section-heading-block { margin-bottom: clamp(30px, 5vw, 62px); }
.company-capabilities-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767px) {
  .home-brand-hero-section { min-height: 62vh; padding-top: calc(var(--header-h) + 28px); }
  .home-brand-title { font-size: clamp(54px, 18vw, 92px); line-height: .88; }
  .home-positioning-grid, .service-editorial-grid, .company-grid, .company-capabilities-grid { grid-template-columns: 1fr; }
  .service-editorial-card { min-height: auto; }
}

/* ba75 — keep the menu overlay centred; restore the trigger to the left. */
.menu-button,
.menu-button:hover,
.menu-button:focus-visible,
.menu-button[aria-expanded="true"],
body.menu-open .menu-button {
  left: max(18px, env(safe-area-inset-left)) !important;
  right: auto !important;
  transform: none !important;
}

.mobile-menu {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 !important;
  padding: max(86px, calc(env(safe-area-inset-top) + 70px)) 24px max(40px, env(safe-area-inset-bottom)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(20px, 3.5vh, 34px) !important;
  text-align: center !important;
  overflow-y: auto !important;
}

.mobile-menu > a {
  display: block !important;
  width: auto !important;
  margin: 0 auto !important;
  padding: 4px 0 !important;
  border: 0 !important;
  color: rgba(244,241,233,.80) !important;
  font-family: var(--font-site) !important;
  font-size: clamp(34px, 7vw, 64px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -.04em !important;
  text-align: center !important;
  text-transform: none !important;
}

.mobile-menu > a::before,
.mobile-menu > a::after {
  content: none !important;
  display: none !important;
}

.mobile-menu > a:hover,
.mobile-menu > a:focus-visible,
.mobile-menu > a[aria-current="page"] {
  color: #fff8eb !important;
}

@media (max-width: 767px) {
  .menu-button,
  .menu-button:hover,
  .menu-button:focus-visible,
  .menu-button[aria-expanded="true"],
  body.menu-open .menu-button {
    top: max(14px, env(safe-area-inset-top)) !important;
    left: max(16px, env(safe-area-inset-left)) !important;
    right: auto !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    transform: none !important;
  }
  .mobile-menu {
    gap: 22px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .mobile-menu > a {
    font-size: clamp(34px, 10.5vw, 50px) !important;
  }
}

/* ba77 — Boringg Universe / website-as-software homepage */
.home-page .site-header {
  z-index: 140 !important;
}

.boringg-nav-brand {
  position: fixed;
  top: max(19px, env(safe-area-inset-top));
  left: 50%;
  z-index: 141;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  color: rgba(247,244,236,.94);
  text-decoration: none;
  font: 500 15px/1 var(--font-site);
  letter-spacing: -.035em;
  transform: translateX(-50%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms linear;
  white-space: nowrap;
}
body.boringg-brand-docked .boringg-nav-brand {
  opacity: 1;
  pointer-events: auto;
}
body.menu-open .boringg-nav-brand {
  opacity: 0 !important;
  pointer-events: none !important;
}

.boringg-system-hero {
  position: relative;
  min-height: 118vh;
  min-height: 118svh;
  padding: 0;
}
.boringg-system-hero-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  display: grid;
  place-items: center;
  overflow: clip;
  pointer-events: none;
}
.boringg-morph-title {
  position: relative;
  z-index: 2;
  margin: 0;
  max-width: min(92vw, 1600px);
  color: var(--text);
  text-align: center;
  transform-origin: center center;
  will-change: transform, opacity, filter;
  backface-visibility: hidden;
}

.boringg-system-statement {
  position: relative;
  z-index: 4;
  padding: clamp(72px, 10vw, 150px) 0 clamp(94px, 12vw, 180px);
}
.boringg-system-statement-inner {
  display: grid;
  place-items: center;
  text-align: center;
}
.boringg-statement {
  margin: 0;
  justify-content: center;
  color: rgba(247,244,236,.95);
  font: 400 clamp(34px, 5.6vw, 82px)/.98 var(--font-site) !important;
  letter-spacing: -.052em;
}

.boringg-universe-section {
  position: relative;
  z-index: 4;
  min-height: 100vh;
  padding: clamp(72px, 8vw, 116px) 0 clamp(100px, 11vw, 170px);
  overflow: hidden;
}
.boringg-universe-shell {
  position: relative;
}
.boringg-universe-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: clamp(28px, 4vw, 56px);
}
.boringg-universe-status {
  color: rgba(217,210,197,.5);
  font: 500 11px/1.2 var(--font-site);
  letter-spacing: .16em;
}

.boringg-constellation {
  position: relative;
  width: 100%;
  height: clamp(520px, 64vw, 760px);
  min-height: 520px;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  isolation: isolate;
}
.boringg-constellation::before {
  content: "";
  position: absolute;
  inset: 12% 18%;
  z-index: -2;
  background: radial-gradient(circle, rgba(255,151,25,.055), transparent 64%);
  filter: blur(18px);
  pointer-events: none;
}
.boringg-constellation-lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.boringg-constellation-lines path {
  fill: none;
  stroke: rgba(225,214,193,.16);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1 7;
  stroke-linecap: round;
}
.boringg-constellation-lines .constellation-secondary {
  stroke: rgba(225,214,193,.075);
}

.boringg-universe-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 82px;
  height: 82px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
  pointer-events: none;
}
.boringg-core-ring {
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,151,25,.22);
  border-radius: 50%;
  animation: boringgCoreBreath 4.8s ease-in-out infinite;
}
.boringg-core-ring::after {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(255,151,25,.10);
  border-radius: 50%;
}
.boringg-core-dot {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #e5c987;
  box-shadow: 0 0 22px rgba(229,201,135,.72);
}
.boringg-core-label {
  transform: translateY(30px);
  color: rgba(240,230,210,.42);
  font: 500 9px/1 var(--font-site);
  letter-spacing: .18em;
}
@keyframes boringgCoreBreath {
  0%, 100% { transform: scale(.92); opacity: .46; }
  50% { transform: scale(1.08); opacity: .92; }
}

.boringg-product-node {
  --node-x: 50%;
  --node-y: 50%;
  position: absolute;
  left: var(--node-x);
  top: var(--node-y);
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 13px;
  color: rgba(240,236,227,.64);
  text-decoration: none;
  transform: translate(-12px, -12px);
  transition: color 280ms ease, transform 520ms cubic-bezier(.16,1,.3,1), filter 280ms ease;
}
.node-bodhanest { --node-x: 34.5%; --node-y: 26.5%; }
.node-badrive   { --node-x: 25%;   --node-y: 70%; }
.node-banews    { --node-x: 75.5%; --node-y: 34%; }

.boringg-node-point {
  position: relative;
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid rgba(239,216,163,.58);
  background: rgba(3,3,3,.88);
  box-shadow: 0 0 0 5px rgba(255,151,25,.025), 0 0 22px rgba(255,151,25,.16);
}
.boringg-node-point::before {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: rgba(239,216,163,.86);
  opacity: .58;
}
.boringg-node-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
  white-space: nowrap;
}
.boringg-node-copy small {
  color: rgba(218,206,184,.46);
  font: 500 9px/1.1 var(--font-site);
  letter-spacing: .16em;
}
.boringg-node-copy strong {
  color: currentColor;
  font: 500 clamp(16px, 1.7vw, 25px)/1 var(--font-site);
  letter-spacing: -.035em;
}
.boringg-product-node:hover,
.boringg-product-node:focus-visible,
.boringg-product-node.is-active {
  color: #fff8eb;
  transform: translate(-12px, -12px) scale(1.08);
  filter: drop-shadow(0 0 14px rgba(255,151,25,.18));
  outline: none;
}
.boringg-product-node:hover .boringg-node-point,
.boringg-product-node:focus-visible .boringg-node-point,
.boringg-product-node.is-active .boringg-node-point {
  border-color: rgba(255,230,171,.92);
  box-shadow: 0 0 0 7px rgba(255,151,25,.035), 0 0 28px rgba(231,196,119,.38);
}

.boringg-product-console {
  display: grid;
  grid-template-columns: .72fr 1.55fr auto;
  gap: clamp(28px, 5vw, 80px);
  align-items: end;
  padding: clamp(30px, 4vw, 54px) 0 0;
}
.boringg-console-index {
  display: flex;
  flex-direction: column;
  gap: 9px;
  color: rgba(221,213,199,.5);
  font: 500 10px/1.2 var(--font-site);
  letter-spacing: .14em;
}
.boringg-console-main h2 {
  margin: 0 0 12px;
  color: var(--text);
  font: 400 clamp(38px, 5.5vw, 78px)/.92 var(--font-site);
  letter-spacing: -.055em;
}
.boringg-console-main p {
  max-width: 620px;
  margin: 0;
  color: rgba(223,216,203,.64);
  font: 400 clamp(15px, 1.25vw, 18px)/1.6 var(--font-site);
}
.boringg-console-action {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  color: rgba(246,239,225,.78);
  text-decoration: none;
  border-bottom: 1px solid rgba(255,151,25,.34);
  font: 500 12px/1 var(--font-site);
  letter-spacing: .04em;
  white-space: nowrap;
  transition: color 200ms ease, border-color 200ms ease;
}
.boringg-console-action:hover,
.boringg-console-action:focus-visible {
  color: #fff8eb;
  border-color: rgba(238,204,129,.8);
}

.ba-product-id-section {
  padding-top: 0 !important;
}
.ba-product-id {
  margin: 0 auto;
  padding: 18px 0 80px;
  color: rgba(218,208,190,.5);
  text-align: center;
  font: 500 11px/1 var(--font-site);
  letter-spacing: .18em;
}

@media (max-width: 767px) {
  .boringg-nav-brand {
    top: max(18px, env(safe-area-inset-top));
    font-size: 13px;
  }
  .boringg-system-hero {
    min-height: 112svh;
  }
  .boringg-morph-title {
    max-width: 92vw;
    font-size: clamp(54px, 18vw, 92px) !important;
    line-height: .88 !important;
  }
  .boringg-system-statement {
    padding: 54px 0 86px;
  }
  .boringg-statement {
    font-size: clamp(32px, 10.4vw, 52px) !important;
    line-height: .98 !important;
  }
  .boringg-universe-section {
    min-height: auto;
    padding: 54px 0 96px;
  }
  .boringg-universe-topline {
    align-items: flex-end;
    margin-bottom: 20px;
  }
  .boringg-universe-status {
    font-size: 8px;
    letter-spacing: .11em;
  }
  .boringg-constellation {
    height: 560px;
    min-height: 560px;
  }
  .boringg-constellation-lines {
    opacity: .72;
  }
  .boringg-universe-core {
    width: 68px;
    height: 68px;
  }
  .node-bodhanest { --node-x: 50%; --node-y: 20%; }
  .node-badrive   { --node-x: 22%; --node-y: 67%; }
  .node-banews    { --node-x: 68%; --node-y: 48%; }
  .boringg-product-node {
    gap: 9px;
  }
  .boringg-node-copy small {
    font-size: 7px;
    letter-spacing: .12em;
  }
  .boringg-node-copy strong {
    font-size: clamp(14px, 4.3vw, 19px);
  }
  .boringg-product-console {
    grid-template-columns: 1fr;
    gap: 16px;
    padding-top: 30px;
  }
  .boringg-console-index {
    flex-direction: row;
    justify-content: space-between;
    font-size: 8px;
  }
  .boringg-console-main h2 {
    font-size: clamp(38px, 12vw, 58px);
  }
  .boringg-console-main p {
    font-size: 15px;
    line-height: 1.55;
  }
  .boringg-console-action {
    width: max-content;
    margin-top: 6px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .boringg-core-ring { animation: none; }
  .boringg-morph-title { transform: none !important; opacity: 1 !important; filter: none !important; }
  .boringg-nav-brand { display: none !important; }
}

/* ba77.1 — constellation geometry and clean product placeholders */
.boringg-system-hero {
  min-height: 140vh;
  min-height: 140svh;
}
.boringg-constellation-lines line {
  stroke: rgba(225,214,193,.16);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
  stroke-dasharray: 1 7;
  stroke-linecap: round;
}
.boringg-constellation-lines line.constellation-secondary {
  stroke: rgba(225,214,193,.075);
}
.ba-product-placeholder-main {
  min-height: calc(100vh - 120px);
  display: grid;
  align-items: center;
}
.ba-product-placeholder-hero {
  min-height: 72vh;
  display: grid;
  align-items: center;
}
.ba-product-placeholder-hero .container {
  text-align: center;
}
.ba-product-number {
  display: block;
  margin: 0 0 22px;
  color: rgba(218,208,190,.48);
  font: 500 10px/1 var(--font-site);
  letter-spacing: .18em;
}
@media (max-width: 767px) {
  .boringg-system-hero {
    min-height: 144svh;
  }
  .ba-product-placeholder-hero {
    min-height: 68svh;
  }
}


/* BA78 — product-led homepage, reliable brand morph, product index and newsroom */
.boringg-system-hero {
  min-height: 168vh !important;
  min-height: 168svh !important;
}
.boringg-morph-title {
  transform: var(--ba-morph-transform, translate3d(0,0,0) scale(1)) !important;
  opacity: var(--ba-morph-opacity, 1) !important;
  filter: none !important;
}
.boringg-nav-brand {
  opacity: var(--ba-nav-opacity, 0) !important;
  display: inline-flex !important;
  pointer-events: none !important;
}
body.boringg-brand-docked .boringg-nav-brand {
  pointer-events: auto !important;
}
body.menu-open .boringg-nav-brand {
  opacity: 0 !important;
  pointer-events: none !important;
}
.boringg-system-statement {
  padding: clamp(90px, 12vw, 180px) 0 clamp(120px, 15vw, 220px) !important;
}
.boringg-statement {
  max-width: 1500px;
  font-size: clamp(58px, 8.4vw, 132px) !important;
  line-height: .90 !important;
  letter-spacing: -.064em !important;
}

.ba-product-index-section {
  position: relative;
  z-index: 4;
  padding: clamp(72px, 9vw, 130px) 0 clamp(110px, 13vw, 190px);
}
.ba-index-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.ba-index-count {
  color: rgba(220,214,201,.50);
  font: 500 10px/1 var(--font-site);
  letter-spacing: .16em;
}
.ba-product-index {
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.ba-product-index-row {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(100px,.34fr) minmax(260px,1fr) minmax(280px,.9fr) 34px;
  align-items: center;
  gap: clamp(18px, 3vw, 50px);
  min-height: clamp(150px, 15vw, 220px);
  padding: 26px 4px;
  border-top: 1px solid rgba(255,255,255,.10);
  color: var(--text);
  text-decoration: none;
  overflow: hidden;
}
.ba-product-index-row:first-child { border-top: 0; }
.ba-product-index-row::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(circle at 30% 50%, rgba(var(--product-rgb),.13), transparent 52%);
  opacity: 0;
  transform: scaleX(.94);
  transition: opacity 320ms ease, transform 500ms cubic-bezier(.22,.8,.2,1);
}
.ba-product-index-row:hover::before,
.ba-product-index-row:focus-visible::before { opacity: 1; transform: scaleX(1); }
.ba-index-number {
  color: rgba(224,216,200,.50);
  font: 500 10px/1 var(--font-site);
  letter-spacing: .16em;
}
.ba-index-title {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ba-index-title strong {
  font: 400 clamp(40px, 5.8vw, 90px)/.90 var(--font-site);
  letter-spacing: -.06em;
  transition: transform 420ms cubic-bezier(.22,.8,.2,1);
}
.ba-index-title small {
  color: rgba(224,216,200,.56);
  font: 500 10px/1.2 var(--font-site);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.ba-index-description {
  max-width: 440px;
  color: rgba(235,230,219,.68);
  font: 400 clamp(15px,1.25vw,18px)/1.55 var(--font-site);
}
.ba-index-arrow {
  justify-self: end;
  color: rgba(245,239,226,.66);
  font-size: 22px;
  transition: transform 320ms ease, color 320ms ease;
}
.ba-product-index-row:hover .ba-index-title strong,
.ba-product-index-row:focus-visible .ba-index-title strong { transform: translateX(10px); }
.ba-product-index-row:hover .ba-index-arrow,
.ba-product-index-row:focus-visible .ba-index-arrow { transform: translate(4px,-4px); color: #fff8eb; }

.ba-newsroom-section {
  position: relative;
  z-index: 4;
  padding: clamp(80px, 10vw, 150px) 0 clamp(130px, 15vw, 220px);
  border-top: 1px solid rgba(255,255,255,.055);
}
.ba-newsroom-heading {
  display: grid;
  grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr);
  column-gap: clamp(34px,7vw,110px);
  row-gap: 18px;
  margin-bottom: clamp(52px,7vw,96px);
}
.ba-newsroom-heading .section-label { grid-row: 1 / span 2; }
.ba-newsroom-heading h2 {
  margin: 0;
  font: 400 clamp(42px,5.6vw,82px)/.96 var(--font-site);
  letter-spacing: -.052em;
}
.ba-newsroom-heading p {
  margin: 0;
  max-width: 560px;
  color: var(--muted);
  font-size: clamp(15px,1.3vw,18px);
  line-height: 1.65;
}
.ba-newsroom-feed { border-top: 1px solid rgba(255,255,255,.10); }
.ba-newsroom-item {
  display: grid;
  grid-template-columns: minmax(170px,.55fr) minmax(240px,1fr) minmax(150px,.55fr) 30px;
  align-items: center;
  gap: 24px;
  min-height: 94px;
  padding: 20px 2px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: inherit;
  text-decoration: none;
}
.ba-newsroom-meta {
  color: rgba(220,214,201,.48);
  font: 500 9px/1.3 var(--font-site);
  letter-spacing: .13em;
}
.ba-newsroom-item strong {
  font: 400 clamp(24px,2.4vw,36px)/1 var(--font-site);
  letter-spacing: -.035em;
}
.ba-newsroom-item > span:nth-of-type(2) { color: rgba(232,226,214,.62); font-size: 14px; }
.ba-newsroom-item i { justify-self: end; font-style: normal; color: rgba(245,239,226,.55); transition: transform 260ms ease; }
.ba-newsroom-item:hover i, .ba-newsroom-item:focus-visible i { transform: translate(4px,-4px); }

.work-ledger-section { padding-top: 0 !important; }
.work-product-ledger { border-top: 1px solid rgba(255,255,255,.10); }
.work-ledger-row {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(90px,.28fr) minmax(260px,.9fr) minmax(130px,.35fr) minmax(280px,.8fr) 28px;
  align-items: center;
  gap: clamp(18px,2.8vw,44px);
  min-height: clamp(150px,14vw,210px);
  padding: 28px 2px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: inherit;
  text-decoration: none;
  overflow: hidden;
}
.work-ledger-row::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(var(--product-rgb),.10),transparent 58%);
  opacity:0;
  transition:opacity 300ms ease;
}
.work-ledger-row:hover::before,.work-ledger-row:focus-visible::before{opacity:1;}
.work-ledger-id,.work-ledger-status {
  color: rgba(222,214,198,.50);
  font: 500 9px/1.3 var(--font-site);
  letter-spacing: .14em;
}
.work-ledger-name { display:flex; flex-direction:column; gap:9px; }
.work-ledger-name strong { font:400 clamp(38px,5vw,76px)/.91 var(--font-site); letter-spacing:-.055em; }
.work-ledger-name small { color:rgba(224,216,201,.54); font:500 9px/1 var(--font-site); letter-spacing:.13em; text-transform:uppercase; }
.work-ledger-copy { color:rgba(235,230,218,.66); font-size:clamp(14px,1.15vw,17px); line-height:1.55; }
.work-ledger-arrow { justify-self:end; font-size:20px; color:rgba(245,239,226,.55); }

@media (max-width: 767px) {
  .boringg-system-hero { min-height: 152svh !important; }
  .boringg-statement {
    font-size: clamp(46px, 13.2vw, 68px) !important;
    line-height: .92 !important;
  }
  .boringg-system-statement { padding: 70px 0 106px !important; }
  .ba-product-index-section { padding: 56px 0 98px; }
  .ba-index-topline { padding-bottom: 17px; }
  .ba-product-index-row {
    grid-template-columns: 1fr auto;
    gap: 10px 16px;
    min-height: 150px;
    padding: 26px 0;
  }
  .ba-index-number { grid-column: 1; grid-row: 1; }
  .ba-index-title { grid-column: 1; grid-row: 2; }
  .ba-index-title strong { font-size: clamp(40px,12vw,58px); }
  .ba-index-description { grid-column: 1 / -1; grid-row: 3; font-size:14px; max-width:92%; }
  .ba-index-arrow { grid-column: 2; grid-row: 1 / span 2; align-self:center; }
  .ba-product-index-row:hover .ba-index-title strong,
  .ba-product-index-row:focus-visible .ba-index-title strong { transform:none; }
  .ba-newsroom-section { padding: 72px 0 118px; }
  .ba-newsroom-heading { grid-template-columns:1fr; margin-bottom:42px; }
  .ba-newsroom-heading .section-label { grid-row:auto; }
  .ba-newsroom-heading h2 { font-size:clamp(40px,11.2vw,56px); }
  .ba-newsroom-item {
    grid-template-columns:1fr auto;
    gap:9px 14px;
    min-height:116px;
  }
  .ba-newsroom-meta { grid-column:1; }
  .ba-newsroom-item strong { grid-column:1; font-size:28px; }
  .ba-newsroom-item > span:nth-of-type(2) { grid-column:1; }
  .ba-newsroom-item i { grid-column:2; grid-row:1 / span 3; align-self:center; }
  .work-ledger-row {
    grid-template-columns:1fr auto;
    gap:9px 16px;
    min-height:174px;
    padding:28px 0;
  }
  .work-ledger-id { grid-column:1; grid-row:1; }
  .work-ledger-status { grid-column:2; grid-row:1; text-align:right; }
  .work-ledger-name { grid-column:1 / -1; grid-row:2; }
  .work-ledger-name strong { font-size:clamp(40px,12vw,58px); }
  .work-ledger-copy { grid-column:1; grid-row:3; font-size:14px; }
  .work-ledger-arrow { grid-column:2; grid-row:3; }
}

@media (prefers-reduced-motion: reduce) {
  .boringg-morph-title {
    transform: var(--ba-morph-transform, translate3d(0,0,0) scale(1)) !important;
    opacity: var(--ba-morph-opacity, 1) !important;
  }
  .boringg-nav-brand {
    display: inline-flex !important;
    opacity: var(--ba-nav-opacity, 0) !important;
  }
}


/* BA79 — robust header-to-navbar morph. The hero title itself is fixed during the
   transition so the motion is independent of sticky-layout quirks on mobile. */
.home-page .boringg-morph-title {
  position: fixed !important;
  left: 50% !important;
  top: var(--ba79-morph-top, 50vh) !important;
  width: max-content !important;
  max-width: 94vw !important;
  margin: 0 !important;
  font-size: var(--ba79-morph-font-size, clamp(64px, 13vw, 210px)) !important;
  line-height: var(--ba79-morph-line-height, .82) !important;
  letter-spacing: var(--ba79-morph-letter-spacing, -.075em) !important;
  transform: translate3d(-50%, -50%, 0) !important;
  transform-origin: center center !important;
  opacity: var(--ba79-morph-opacity, 1) !important;
  filter: none !important;
  will-change: top, font-size, letter-spacing, opacity !important;
  z-index: 139 !important;
  pointer-events: none !important;
  white-space: nowrap !important;
}
.home-page .boringg-system-hero-sticky {
  position: relative !important;
  top: auto !important;
}
.home-page .boringg-nav-brand {
  opacity: var(--ba79-nav-opacity, 0) !important;
  transition: none !important;
}
body.boringg-brand-docked .boringg-nav-brand {
  pointer-events: auto !important;
}
body.menu-open .boringg-nav-brand {
  opacity: 0 !important;
  pointer-events: none !important;
}
@media (max-width: 767px) {
  .home-page .boringg-morph-title {
    max-width: 96vw !important;
    font-size: var(--ba79-morph-font-size, clamp(54px, 18vw, 92px)) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-page .boringg-morph-title {
    position: fixed !important;
    display: block !important;
    opacity: var(--ba79-morph-opacity, 1) !important;
    top: var(--ba79-morph-top, 50vh) !important;
    font-size: var(--ba79-morph-font-size, clamp(64px, 13vw, 210px)) !important;
    transform: translate3d(-50%, -50%, 0) !important;
  }
  .home-page .boringg-nav-brand {
    display: inline-flex !important;
    opacity: var(--ba79-nav-opacity, 0) !important;
  }
}


/* BA79.1 — viewport-level morph layer. This overrides the experimental fixed-title
   version above and keeps the travelling wordmark outside transformed ancestors. */
.home-page .boringg-morph-title {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  max-width: min(92vw, 1600px) !important;
  font-size: clamp(64px, 13vw, 210px) !important;
  line-height: .82 !important;
  letter-spacing: -.075em !important;
  transform: none !important;
  opacity: var(--ba79-source-opacity, 1) !important;
  will-change: opacity !important;
  white-space: normal !important;
}
.home-page .boringg-system-hero-sticky {
  position: sticky !important;
  top: 0 !important;
}
.ba79-brand-morph-ghost {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 139;
  margin: 0;
  padding: 0;
  color: var(--text);
  font-family: var(--font-site);
  font-weight: 500;
  line-height: .82;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  transform: translate3d(-50%, -50%, 0);
  transform-origin: center center;
  backface-visibility: hidden;
  will-change: left, top, font-size, letter-spacing, opacity;
  opacity: 0;
}
@media (max-width: 767px) {
  .home-page .boringg-morph-title {
    font-size: clamp(54px, 18vw, 92px) !important;
    line-height: .88 !important;
  }
}


/* BA80 — standalone-tested hero -> navbar morph integration.
   This layer lives directly under <body>, outside .site-shell, so transforms on
   the site shell cannot change fixed positioning. */
.home-page #boringgMorphTitle {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.ba-navbar-morph-layer {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  height: 100svh;
  z-index: 139;
  pointer-events: none;
}

.ba-navbar-morph-wordmark {
  position: absolute;
  left: 50%;
  top: 46%;
  margin: 0;
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center center;
  white-space: nowrap;
  color: var(--text);
  font-family: var(--font-site);
  font-size: clamp(64px, 13vw, 210px);
  font-weight: 500;
  line-height: .82;
  letter-spacing: -.075em;
  text-transform: uppercase;
  opacity: 1;
  will-change: transform, opacity;
  backface-visibility: hidden;
}

.home-page .boringg-nav-brand {
  display: inline-flex !important;
  opacity: var(--ba80-nav-opacity, 0) !important;
  transition: none !important;
}

body.menu-open .boringg-nav-brand {
  opacity: 0 !important;
  visibility: hidden !important;
}

@media (max-width: 767px) {
  .ba-navbar-morph-wordmark {
    font-size: clamp(54px, 18vw, 92px);
    line-height: .88;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ba-navbar-morph-wordmark {
    will-change: auto;
  }
}


/* BA81 — true hero-to-navbar morph.
   The real hero remains in normal document flow. Only the temporary JS clone is fixed. */
.home-page .boringg-system-hero {
  position: relative !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  padding: 0 !important;
}
.home-page .boringg-system-hero-sticky {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  height: 100vh !important;
  height: 100svh !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  pointer-events: none !important;
}
.home-page #boringgMorphTitle,
.home-page .boringg-morph-title {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  max-width: min(92vw, 1600px) !important;
  margin: 0 !important;
  font-size: clamp(64px, 13vw, 210px) !important;
  line-height: .82 !important;
  letter-spacing: -.075em !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  white-space: nowrap !important;
  will-change: opacity !important;
}
.home-page #boringgMorphTitle.ba81-source-hidden {
  opacity: 0 !important;
}
.ba-navbar-morph-layer,
.ba-navbar-morph-wordmark,
.ba79-brand-morph-ghost {
  display: none !important;
}
.ba81-morph-clone {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 139 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-family: var(--font-site) !important;
  font-weight: 500 !important;
  line-height: .82 !important;
  letter-spacing: -.075em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  transform-origin: top left !important;
  will-change: transform, opacity !important;
  backface-visibility: hidden !important;
}
.home-page .boringg-nav-brand {
  display: inline-flex !important;
  opacity: var(--ba81-nav-opacity, 0) !important;
  visibility: visible !important;
  pointer-events: none !important;
  transition: none !important;
}
body.boringg-brand-docked .boringg-nav-brand {
  pointer-events: auto !important;
}
body.menu-open .boringg-nav-brand {
  opacity: 0 !important;
  pointer-events: none !important;
}
@media (max-width: 767px) {
  .home-page #boringgMorphTitle,
  .home-page .boringg-morph-title {
    max-width: 94vw !important;
    font-size: clamp(54px, 18vw, 92px) !important;
    line-height: .88 !important;
  }
  .ba81-morph-clone {
    line-height: .88 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ba81-morph-clone { display: none !important; }
  .home-page #boringgMorphTitle { opacity: 1 !important; }
  .home-page .boringg-nav-brand { opacity: 0 !important; }
}


/* BA82 — single-element hero -> navbar morph.
   The hero stays in normal document flow. We transform the real wordmark
   relative to its scrolling wrapper; there is no fixed clone and no sticky title. */
.home-page .boringg-system-hero {
  position: relative !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  overflow: visible !important;
}
.home-page .boringg-system-hero-sticky {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: 100vh !important;
  height: 100svh !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: grid !important;
  place-items: center !important;
  overflow: visible !important;
  pointer-events: none !important;
}
.home-page #boringgMorphTitle,
.home-page .boringg-morph-title {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  margin: 0 !important;
  width: max-content !important;
  max-width: none !important;
  font-size: clamp(64px, 13vw, 210px) !important;
  line-height: .82 !important;
  letter-spacing: -.075em !important;
  white-space: nowrap !important;
  transform-origin: center center !important;
  transform: var(--ba82-transform, translate3d(0,0,0) scale(1)) !important;
  opacity: var(--ba82-source-opacity, 1) !important;
  visibility: visible !important;
  will-change: transform, opacity !important;
  z-index: 150 !important;
}
.home-page .boringg-nav-brand {
  opacity: var(--ba82-nav-opacity, 0) !important;
  visibility: visible !important;
  transition: none !important;
}
.ba81-morph-clone,
.ba-navbar-morph-layer,
.ba-navbar-morph-wordmark,
.ba79-brand-morph-ghost {
  display: none !important;
}
@media (max-width: 767px) {
  .home-page #boringgMorphTitle,
  .home-page .boringg-morph-title {
    font-size: clamp(54px, 18vw, 92px) !important;
    line-height: .88 !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .home-page #boringgMorphTitle,
  .home-page .boringg-morph-title {
    transform: none !important;
    opacity: 1 !important;
  }
  .home-page .boringg-nav-brand { opacity: 0 !important; }
}


/* BA82.1 — final scale-only morph.
   The hero wordmark scrolls naturally with the document. JS changes only its scale
   and opacity; no sticky, fixed, clone, or translate positioning is used. */
.home-page .boringg-system-hero,
.home-page .boringg-system-hero-sticky {
  position: relative !important;
  inset: auto !important;
  overflow: visible !important;
}
.home-page .boringg-system-hero {
  min-height: 100vh !important;
  min-height: 100svh !important;
}
.home-page .boringg-system-hero-sticky {
  width: 100% !important;
  height: 100vh !important;
  height: 100svh !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  display: grid !important;
  place-items: center !important;
}
.home-page #boringgMorphTitle,
.home-page .boringg-morph-title {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  top: auto !important;
  width: max-content !important;
  margin: 0 !important;
  transform: scale(var(--ba82-scale, 1)) !important;
  transform-origin: center center !important;
  opacity: var(--ba82-source-opacity, 1) !important;
  visibility: visible !important;
  will-change: transform, opacity !important;
}
.home-page .boringg-nav-brand {
  opacity: var(--ba82-nav-opacity, 0) !important;
  visibility: visible !important;
  transition: none !important;
}
.ba81-morph-clone,
.ba-navbar-morph-layer,
.ba-navbar-morph-wordmark,
.ba79-brand-morph-ghost {
  display: none !important;
}

/* BA83 — definitive single-wordmark hero -> navbar morph.
   One element performs both roles. All previous morph elements are disabled. */
.home-page #boringgNavBrand,
.home-page .ba81-morph-clone,
.home-page .ba-navbar-morph-layer,
.home-page .ba-navbar-morph-wordmark,
.home-page .ba79-brand-morph-ghost {
  display: none !important;
}

.home-page #ba83HeroBrand {
  position: fixed !important;
  left: 50% !important;
  top: var(--ba83-y, 50vh) !important;
  z-index: 70 !important;
  width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-family: var(--font-site) !important;
  font-size: clamp(64px, 13vw, 210px) !important;
  font-weight: 500 !important;
  line-height: .82 !important;
  letter-spacing: -.075em !important;
  text-align: center !important;
  white-space: nowrap !important;
  transform: translate3d(-50%, -50%, 0) scale(var(--ba83-scale, 1)) !important;
  transform-origin: center center !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: none !important;
  will-change: top, transform !important;
  backface-visibility: hidden !important;
}

body.menu-open.home-page #ba83HeroBrand {
  opacity: 0 !important;
}

.home-page .boringg-system-hero,
.home-page .boringg-system-hero-sticky {
  position: relative !important;
  inset: auto !important;
  min-height: 100vh !important;
  min-height: 100svh !important;
  height: 100vh !important;
  height: 100svh !important;
  overflow: visible !important;
}

@media (max-width: 767px) {
  .home-page #ba83HeroBrand {
    font-size: clamp(54px, 18vw, 92px) !important;
    line-height: .88 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page #ba83HeroBrand {
    top: calc(var(--header-h) / 2) !important;
    transform: translate3d(-50%, -50%, 0) scale(.16) !important;
  }
}


/* BA85 — exact menu/wordmark dock alignment.
   Use font-size interpolation instead of transform scaling so translate(-50%,-50%)
   remains geometrically exact at every scroll position. */
.home-page #ba83HeroBrand {
  font-size: var(--ba85-font-size, clamp(64px, 13vw, 210px)) !important;
  transform: translate3d(-50%, -50%, 0) !important;
  will-change: top, font-size !important;
}
@media (max-width: 767px) {
  .home-page #ba83HeroBrand {
    font-size: var(--ba85-font-size, clamp(54px, 18vw, 92px)) !important;
  }
}


/* BA86 — focused public-site structure */
.ba86-scroll-copy{height:155svh;position:relative;z-index:3}.ba86-scroll-copy-sticky{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden}.ba86-scroll-scrub{margin:0;width:min(94vw,1600px);display:flex;justify-content:center;flex-wrap:nowrap;white-space:nowrap;font:500 clamp(68px,11vw,190px)/.84 var(--font-site);letter-spacing:-.075em;color:var(--text);perspective:1600px}.ba86-scroll-char{display:inline-block;opacity:0;will-change:transform,opacity,filter;transform-origin:50% 55%}.ba86-scroll-space{display:inline-block;width:.22em}
.ba86-layered-index{height:265svh;position:relative;z-index:4;border-top:1px solid rgba(255,255,255,.055)}.ba86-layered-sticky{position:sticky;top:0;height:100svh;display:grid;align-items:center;overflow:hidden}.ba86-layered-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,.1)}.ba86-layered-head>span:last-child{font:500 10px/1 var(--font-site);letter-spacing:.16em;color:rgba(232,226,214,.46)}.ba86-layered-list{display:grid;gap:0}.ba86-layer{--focus:0;display:grid;grid-template-columns:minmax(90px,.28fr) minmax(280px,1fr) minmax(260px,.8fr) 30px;gap:clamp(18px,3vw,48px);align-items:center;min-height:clamp(125px,14vh,170px);padding:20px 2px;border-bottom:1px solid rgba(255,255,255,.09);color:inherit;text-decoration:none;opacity:calc(.22 + var(--focus)*.78);transform:scale(calc(.94 + var(--focus)*.06));transform-origin:center center;filter:blur(calc((1 - var(--focus))*1.2px));transition:color 160ms linear}.ba86-layer:first-child{border-top:1px solid rgba(255,255,255,.09)}.ba86-layer-number{font:500 9px/1 var(--font-site);letter-spacing:.15em;color:rgba(230,221,204,.55)}.ba86-layer-main{display:flex;flex-direction:column;gap:9px}.ba86-layer-main strong{font:400 clamp(44px,6vw,94px)/.86 var(--font-site);letter-spacing:-.065em}.ba86-layer-main small{font:500 9px/1 var(--font-site);letter-spacing:.14em;text-transform:uppercase;color:rgba(230,221,204,.52)}.ba86-layer-copy{font-size:clamp(14px,1.25vw,18px);line-height:1.5;color:rgba(235,230,219,.7);opacity:var(--focus);transform:translateX(calc((1 - var(--focus))*20px))}.ba86-layer i{justify-self:end;font-style:normal;font-size:22px;opacity:calc(.35 + var(--focus)*.65)}
.ba86-newsroom{position:relative;z-index:4;padding:clamp(110px,13vw,190px) 0 clamp(140px,16vw,230px);border-top:1px solid rgba(255,255,255,.055)}.ba86-newsroom h2{margin:0 0 clamp(54px,7vw,90px);font:500 clamp(66px,9vw,150px)/.84 var(--font-site);letter-spacing:-.07em}.ba86-newsroom-feed{border-top:1px solid rgba(255,255,255,.1)}.ba86-newsroom-item{display:grid;grid-template-columns:130px 140px minmax(0,1fr) 28px;gap:20px;align-items:center;min-height:92px;padding:18px 2px;border-bottom:1px solid rgba(255,255,255,.1);color:inherit;text-decoration:none}.ba86-newsroom-item time,.ba86-newsroom-item span{font:500 9px/1.3 var(--font-site);letter-spacing:.13em;color:rgba(230,221,204,.5)}.ba86-newsroom-item strong{font:400 clamp(22px,2.3vw,34px)/1.05 var(--font-site);letter-spacing:-.035em}.ba86-newsroom-item i{justify-self:end;font-style:normal}.ba86-newsroom-loading{padding:28px 0;color:var(--muted)}
.ba86-about-minimal{padding:0 0 clamp(130px,15vw,220px)}.ba86-about-minimal .container{max-width:1050px;text-align:center}.ba86-about-minimal h2{margin:0 auto 28px;max-width:1000px;font:400 clamp(46px,6.5vw,92px)/.93 var(--font-site);letter-spacing:-.055em}.ba86-about-minimal p{margin:0 auto;max-width:800px;font-size:clamp(17px,1.6vw,22px);line-height:1.65;color:rgba(237,231,220,.72)}.ba86-about-minimal .ba86-about-company{margin-top:48px;color:rgba(237,231,220,.9)}.ba86-about-company a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(255,151,25,.38)}
.ba86-founder{padding:0 0 clamp(140px,16vw,240px)}.ba86-founder .container{max-width:1050px}.ba86-founder blockquote{margin:32px 0 42px;font:400 clamp(46px,6.7vw,96px)/.95 var(--font-site);letter-spacing:-.058em}.ba86-founder p{max-width:760px;font-size:clamp(17px,1.5vw,21px);line-height:1.65;color:rgba(237,231,220,.72)}.ba86-founder h2{margin:86px 0 34px;font:500 clamp(58px,8vw,118px)/.9 var(--font-site);letter-spacing:-.065em}.ba86-social-link{display:grid;grid-template-columns:180px 1fr 28px;align-items:center;gap:20px;padding:22px 0;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);color:inherit;text-decoration:none}.ba86-social-link span{color:var(--muted)}.ba86-social-link strong{font-size:24px;font-weight:500}.ba86-social-link i{font-style:normal;justify-self:end}
.ba86-scope-section{padding:30px 0 clamp(90px,10vw,150px)}.ba86-scope-section .container{max-width:1050px}.ba86-scope-section h2{margin:18px 0 20px;font:400 clamp(44px,6vw,84px)/.94 var(--font-site);letter-spacing:-.05em}.ba86-scope-section p{max-width:760px;margin:0;color:rgba(237,231,220,.72);font-size:clamp(16px,1.35vw,19px);line-height:1.65}.ba86-service-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ba86-work{padding:0 0 clamp(140px,15vw,220px)}.ba86-work .container{border-top:1px solid rgba(255,255,255,.1)}.ba86-work a{display:grid;grid-template-columns:120px minmax(250px,.8fr) minmax(280px,1fr) 30px;align-items:center;gap:28px;min-height:170px;border-bottom:1px solid rgba(255,255,255,.1);color:inherit;text-decoration:none}.ba86-work a>span{font:500 9px/1 var(--font-site);letter-spacing:.14em;color:rgba(230,221,204,.5)}.ba86-work strong{font:400 clamp(42px,5vw,78px)/.9 var(--font-site);letter-spacing:-.06em}.ba86-work p{color:rgba(237,231,220,.65);line-height:1.5}.ba86-work i{font-style:normal;justify-self:end}
.ba86-product-hero{min-height:78svh;display:grid;align-items:center;text-align:center}.ba86-product-hero .container{display:grid;justify-items:center}.ba86-product-tagline{max-width:650px;margin:34px auto 0;color:rgba(237,231,220,.72);font-size:clamp(17px,1.6vw,22px);line-height:1.55}.ba86-product-status{margin-top:44px;display:grid;grid-template-columns:auto auto;gap:8px 18px;align-items:baseline;padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}.ba86-product-status>span{font:500 9px/1 var(--font-site);letter-spacing:.14em;text-transform:uppercase;color:rgba(230,221,204,.5)}.ba86-product-status strong{font-size:18px;font-weight:500}.ba86-product-status small{grid-column:2;color:var(--muted);font-size:11px}
.ba86-footer{padding-top:64px}.ba86-footer-grid{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(4,minmax(120px,.55fr));gap:clamp(24px,4vw,64px)}.ba86-footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.ba86-footer-brand p,.ba86-footer-brand span{margin:0;color:var(--muted);font-size:13px}.ba86-footer-title{margin-bottom:5px;font:500 10px/1 var(--font-site);letter-spacing:.14em;text-transform:uppercase;color:rgba(230,221,204,.5)}.ba86-footer-grid a{color:rgba(245,239,226,.84);font-size:13px;text-decoration:none}.ba86-footer-grid>div:last-child span{font-size:12px;color:var(--muted)}.ba86-footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:54px;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);color:#878178;font-size:11px}
@media(max-width:900px){.ba86-service-grid{grid-template-columns:1fr!important}.ba86-footer-grid{grid-template-columns:1fr 1fr 1fr}.ba86-footer-brand{grid-column:1/-1}.ba86-layer{grid-template-columns:90px 1fr 26px}.ba86-layer-copy{grid-column:2;grid-row:2}.ba86-layer i{grid-column:3;grid-row:1/3}.ba86-work a{grid-template-columns:90px 1fr 26px}.ba86-work p{grid-column:2}.ba86-work i{grid-column:3;grid-row:1/3}}
@media(max-width:767px){.ba86-scroll-copy{height:145svh}.ba86-scroll-scrub{font-size:clamp(48px,15.5vw,78px)}.ba86-layered-index{height:245svh}.ba86-layered-head{margin-bottom:10px}.ba86-layer{grid-template-columns:1fr auto;gap:8px 14px;min-height:150px;padding:22px 0;transform:scale(calc(.96 + var(--focus)*.04));filter:none}.ba86-layer-number{grid-column:1;grid-row:1}.ba86-layer-main{grid-column:1;grid-row:2}.ba86-layer-main strong{font-size:clamp(40px,12vw,58px)}.ba86-layer-copy{grid-column:1/-1;grid-row:3;font-size:14px}.ba86-layer i{grid-column:2;grid-row:1/3}.ba86-newsroom h2{font-size:clamp(58px,17vw,86px)}.ba86-newsroom-item{grid-template-columns:1fr auto;gap:7px 14px;padding:22px 0}.ba86-newsroom-item time,.ba86-newsroom-item>span{grid-column:1}.ba86-newsroom-item strong{grid-column:1;font-size:25px}.ba86-newsroom-item i{grid-column:2;grid-row:1/4}.ba86-about-minimal{padding-top:10px}.ba86-about-minimal h2{font-size:clamp(40px,12vw,60px)}.ba86-founder blockquote{font-size:clamp(40px,11.5vw,60px)}.ba86-social-link{grid-template-columns:1fr auto}.ba86-social-link strong{grid-column:1}.ba86-social-link i{grid-column:2;grid-row:1/3}.ba86-work a{grid-template-columns:1fr auto;gap:8px 14px;padding:26px 0}.ba86-work a>span{grid-column:1}.ba86-work strong{grid-column:1;font-size:clamp(40px,12vw,58px)}.ba86-work p{grid-column:1;margin:5px 0 0}.ba86-work i{grid-column:2;grid-row:1/4}.ba86-footer-grid{grid-template-columns:1fr 1fr}.ba86-footer-brand{grid-column:1/-1}.ba86-footer-bottom{flex-direction:column}.ba86-product-status{grid-template-columns:1fr;justify-items:center}.ba86-product-status small{grid-column:1}}


/* BA87 — spacing, visible scroll typography, page dividers, service organisation */
body:not(.home-page) .page-hero,
body:not(.home-page) .compact-page-hero,
body:not(.home-page) .service-detail-hero,
body:not(.home-page) .ba86-product-hero {
  padding-top: clamp(170px, 19vh, 240px) !important;
  padding-bottom: clamp(54px, 6vw, 82px) !important;
  border-bottom: 1px solid rgba(255,255,255,.10) !important;
}
.home-page .boringg-system-hero {
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
}
.ba87-about {
  padding-top: clamp(72px, 8vw, 118px) !important;
}
.ba87-about .ba86-about-lead {
  max-width: 860px !important;
  color: rgba(237,231,220,.74) !important;
}
.ba87-about .ba86-about-company {
  max-width: 860px !important;
  margin-top: clamp(48px, 6vw, 76px) !important;
  padding-top: clamp(38px, 5vw, 58px) !important;
  border-top: 1px solid rgba(255,255,255,.09);
}
.ba87-services-intro {
  padding: clamp(70px,8vw,118px) 0 clamp(56px,7vw,96px) !important;
}
.ba87-services-intro-inner {
  max-width: 980px;
  margin-inline: auto;
  text-align: center;
}
.ba87-services-intro-inner h2 {
  margin: 16px auto 24px;
  max-width: 900px;
  font: 400 clamp(46px,6.5vw,92px)/.93 var(--font-site);
  letter-spacing: -.055em;
}
.ba87-services-intro-inner p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(237,231,220,.72);
  font-size: clamp(17px,1.5vw,21px);
  line-height: 1.65;
}
.ba87-scope {
  padding: clamp(64px,7vw,104px) 0 !important;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.ba87-scope .container {
  max-width: 980px !important;
  text-align: center;
}
.ba87-scope p { margin-inline: auto !important; }
.ba87-services-list { padding: clamp(72px,8vw,120px) 0 !important; }
.ba87-service-rows { border-top: 1px solid rgba(255,255,255,.10); }
.ba87-service-row {
  min-height: 150px;
  display: grid;
  grid-template-columns: 80px minmax(0,1fr) 30px;
  align-items: center;
  gap: clamp(20px,4vw,54px);
  padding: 28px 2px;
  border-bottom: 1px solid rgba(255,255,255,.10);
  color: inherit;
  text-decoration: none;
}
.ba87-service-row>span {
  font: 500 10px/1 var(--font-site);
  letter-spacing: .15em;
  color: rgba(230,221,204,.48);
}
.ba87-service-row strong {
  display: block;
  font: 400 clamp(38px,4.8vw,72px)/.94 var(--font-site);
  letter-spacing: -.05em;
}
.ba87-service-row p {
  max-width: 680px;
  margin: 12px 0 0;
  color: rgba(237,231,220,.64);
  line-height: 1.55;
}
.ba87-service-row i { justify-self: end; font-style: normal; font-size: 22px; }
.ba87-project-contact {
  padding: clamp(80px,9vw,130px) 0 clamp(110px,12vw,170px) !important;
}
.ba87-project-contact-inner {
  max-width: 1100px;
  margin-inline: auto;
  padding: clamp(46px,6vw,78px);
  border: 1px solid rgba(255,255,255,.10);
  text-align: center;
}
.ba87-project-contact h2 {
  max-width: 900px;
  margin: 18px auto 22px;
  font: 400 clamp(48px,6.4vw,92px)/.94 var(--font-site);
  letter-spacing: -.055em;
}
.ba87-project-contact p {
  max-width: 720px;
  margin: 0 auto;
  color: rgba(237,231,220,.70);
  font-size: clamp(16px,1.4vw,20px);
  line-height: 1.65;
}
.ba87-project-contact .page-actions {
  justify-content: center;
  margin-top: 34px;
}
.ba87-project-contact small {
  display: block;
  margin-top: 26px;
  color: rgba(237,231,220,.48);
  letter-spacing: .04em;
}
.ba87-service-detail { padding-top: clamp(70px,8vw,110px) !important; }
.ba87-service-detail .simple-service-pitch { max-width: 1080px; }
.ba86-footer-brand a {
  color: rgba(245,239,226,.82);
  font-size: 13px;
  text-decoration: none;
}
.ba86-footer-brand a:hover { color: var(--gold); }
@media(max-width:767px){
  body:not(.home-page) .page-hero,
  body:not(.home-page) .compact-page-hero,
  body:not(.home-page) .service-detail-hero,
  body:not(.home-page) .ba86-product-hero {
    padding-top: 138px !important;
    padding-bottom: 46px !important;
  }
  .ba87-about { padding-top: 58px !important; }
  .ba87-service-row { grid-template-columns: 46px 1fr 22px; gap: 14px; min-height: 126px; }
  .ba87-service-row strong { font-size: clamp(34px,10.8vw,54px); }
  .ba87-service-row p { font-size: 14px; }
  .ba87-project-contact-inner { padding: 38px 22px; }
  .ba87-project-contact .page-actions { flex-direction: column; }
  .ba87-project-contact .page-actions a { width: 100%; text-align: center; }
}


/* BA88 — heading hierarchy, page breathing room and consistent dividers */
body:not(.home-page) .page-title {
  font-size: clamp(76px, 10.4vw, 168px) !important;
  line-height: .84 !important;
  letter-spacing: -.065em !important;
}

/* The page header is always the largest typography on non-home pages. */
body:not(.home-page) main h2 {
  font-size: clamp(34px, 4.7vw, 74px) !important;
  line-height: .98 !important;
}
body:not(.home-page) .ba86-founder blockquote {
  font-size: clamp(36px, 4.8vw, 72px) !important;
  line-height: 1.02 !important;
}
body:not(.home-page) .ba87-service-row strong,
body:not(.home-page) .ba86-work strong {
  font-size: clamp(34px, 4.3vw, 66px) !important;
}

body:not(.home-page) .page-hero,
body:not(.home-page) .compact-page-hero,
body:not(.home-page) .service-detail-hero,
body:not(.home-page) .ba86-product-hero {
  padding-top: clamp(176px, 20vh, 248px) !important;
  padding-bottom: clamp(76px, 7vw, 104px) !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
}

/* Clear separation between page title/divider and the first content block. */
.ba87-about,
.ba87-services-intro,
.ba87-service-detail,
.ba86-founder,
.ba86-work {
  padding-top: clamp(112px, 10vw, 164px) !important;
}

.ba86-product-tagline {
  margin-top: clamp(44px, 5vw, 66px) !important;
}

.ba87-about .ba86-about-lead {
  margin-top: clamp(34px, 4vw, 52px) !important;
}

.company-address {
  max-width: 370px;
  line-height: 1.55;
}

/* Keep all homepage section typography below the opening BORINGG APPS wordmark. */
.home-page .ba86-scroll-scrub {
  font-size: clamp(58px, 9.2vw, 160px) !important;
}
.home-page .ba86-newsroom h2 {
  font-size: clamp(58px, 8vw, 132px) !important;
}
.home-page .ba86-layer-main strong {
  font-size: clamp(42px, 5.4vw, 86px) !important;
}

@media (max-width: 767px) {
  body:not(.home-page) .page-title {
    font-size: clamp(58px, 16vw, 88px) !important;
  }
  body:not(.home-page) main h2 {
    font-size: clamp(30px, 9.8vw, 42px) !important;
  }
  body:not(.home-page) .ba86-founder blockquote {
    font-size: clamp(30px, 9.3vw, 40px) !important;
  }
  body:not(.home-page) .ba87-service-row strong,
  body:not(.home-page) .ba86-work strong {
    font-size: clamp(30px, 9vw, 40px) !important;
  }
  body:not(.home-page) .page-hero,
  body:not(.home-page) .compact-page-hero,
  body:not(.home-page) .service-detail-hero,
  body:not(.home-page) .ba86-product-hero {
    padding-top: 148px !important;
    padding-bottom: 62px !important;
  }
  .ba87-about,
  .ba87-services-intro,
  .ba87-service-detail,
  .ba86-founder,
  .ba86-work {
    padding-top: 82px !important;
  }
  .home-page .ba86-scroll-scrub { font-size: clamp(46px, 13.5vw, 68px) !important; }
  .home-page .ba86-newsroom h2 { font-size: clamp(50px, 14vw, 72px) !important; }
  .home-page .ba86-layer-main strong { font-size: clamp(38px, 10.5vw, 52px) !important; }
}

/* BA91 — strict intro gate. The website stays hidden until the intro is fully over. */
body.intro-active {
  overflow: hidden !important;
  background: #000 !important;
}

.intro-gate {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #000 !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.intro-gate.is-finishing {
  opacity: 0;
  transition: opacity 420ms cubic-bezier(.22,.61,.36,1);
}

.intro-animation-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  display: block !important;
  background: #000 !important;
}

/* Restrained amber accents from the opening animation. */
.section-label,
.ba86-layered-head > span:first-child {
  color: #ff9719 !important;
}

.page-header-rule,
.ba88-header-rule,
.ba87-header-rule {
  background: linear-gradient(
    90deg,
    rgba(255,151,25,.50),
    rgba(255,151,25,.09),
    transparent
  ) !important;
}

a:hover { color: #ffd374; }
.mobile-menu a[aria-current="page"] { color: #ff9719; }
.ba86-layer:hover .ba86-layer-number,
.ba86-layer.is-active .ba86-layer-number { color: #ff9719; }


/* BA92 — smoother intro handoff + corrected homepage type hierarchy */
.intro-gate .intro-animation-frame {
  opacity: 1;
  transition: opacity 420ms cubic-bezier(.22,.61,.36,1);
}
.intro-gate.is-to-black .intro-animation-frame {
  opacity: 0 !important;
}
.intro-gate.is-site-reveal {
  opacity: 0 !important;
  transition: opacity 820ms cubic-bezier(.16,1,.3,1) !important;
}

/* Homepage masthead: still the largest type on the page, but controlled. */
.home-page #ba83HeroBrand {
  font-size: var(--ba85-font-size, clamp(72px, 10.5vw, 172px)) !important;
  line-height: .86 !important;
  letter-spacing: -.068em !important;
}

/* Product Index is a real section heading, not a tiny eyebrow label. */
.ba86-layered-head {
  align-items: flex-end !important;
  padding-bottom: clamp(18px, 2vw, 28px) !important;
  margin-bottom: clamp(20px, 2.4vw, 34px) !important;
}
.ba86-layered-head h2 {
  margin: 0 !important;
  color: var(--text) !important;
  font-family: var(--font-site) !important;
  font-size: clamp(34px, 4vw, 58px) !important;
  font-weight: 500 !important;
  line-height: .9 !important;
  letter-spacing: -.045em !important;
  text-transform: uppercase !important;
}
.ba86-layered-head > span:last-child {
  padding-bottom: .2em;
  font-size: 10px !important;
  letter-spacing: .17em !important;
}

@media (max-width: 767px) {
  .home-page #ba83HeroBrand {
    font-size: var(--ba85-font-size, clamp(48px, 14vw, 80px)) !important;
    line-height: .9 !important;
  }
  .ba86-layered-head h2 {
    font-size: clamp(28px, 9vw, 42px) !important;
  }
  .ba86-layered-head {
    align-items: baseline !important;
    gap: 16px !important;
  }
}


/* BA93 — particle palette from the opening animation */
:root {
  --particle-amber: #ff9719;
  --particle-amber-light: #ffd374;
  --particle-amber-deep: #a9600d;
  --gold: var(--particle-amber);
  --gold-light: var(--particle-amber-light);
  --gold-deep: var(--particle-amber-deep);
  --border: rgba(255,151,25,.18);
  --border-strong: rgba(255,151,25,.30);
}

.section-label,
.ba86-layered-head > span:first-child,
.ba86-layer-number,
.ba86-newsroom-item time,
.ba86-newsroom-item > span,
.ba86-footer-title {
  color: var(--particle-amber) !important;
}

.page-header-rule,
.ba88-header-rule,
.ba87-header-rule {
  background: linear-gradient(90deg,
    rgba(255,151,25,.62),
    rgba(255,151,25,.15) 42%,
    transparent 100%) !important;
}

a:hover,
.mobile-menu a[aria-current="page"],
.ba86-layer:hover .ba86-layer-number,
.ba86-layer.is-active .ba86-layer-number {
  color: var(--particle-amber-light) !important;
}

.menu-button::before {
  border-color: rgba(255,151,25,.30) !important;
}
.menu-button:hover::before,
.menu-button:focus-visible::before,
body.menu-open .menu-button::before {
  border-color: rgba(255,151,25,.62) !important;
}


/* BA97 — restrained interface. Keep colour in the space field, not across the whole UI. */
:root {
  --gold: #f4f1e9 !important;
  --gold-light: #ffffff !important;
  --gold-deep: #9d9991 !important;
  --border: rgba(255,255,255,.13) !important;
  --border-strong: rgba(255,255,255,.24) !important;
}

.section-label,
.ba86-layered-head > span:first-child,
.ba86-layer-number,
.ba86-newsroom-item time,
.ba86-newsroom-item > span,
.ba86-footer-title {
  color: rgba(255,255,255,.58) !important;
}

.page-header-rule,
.ba88-header-rule,
.ba87-header-rule {
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.52),
    rgba(255,255,255,.13) 44%,
    transparent 100%
  ) !important;
}

a:hover,
.mobile-menu a[aria-current="page"],
.ba86-layer:hover .ba86-layer-number,
.ba86-layer.is-active .ba86-layer-number {
  color: #ffffff !important;
}

.menu-button::before {
  border-color: rgba(255,255,255,.24) !important;
}
.menu-button:hover::before,
.menu-button:focus-visible::before,
body.menu-open .menu-button::before {
  border-color: rgba(255,255,255,.56) !important;
}

.home-page #ba83HeroBrand,
body:not(.home-page) .page-title,
.ba86-layered-head h2,
.ba86-newsroom h2 {
  color: #f4f1e9 !important;
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
}

/* BA99 — content must never disappear behind scroll-animation states on internal pages. */
body:not(.home-page) .reveal,
body:not(.home-page) .material-card.reveal,
body:not(.home-page) .content-panel.reveal,
body:not(.home-page) .product-card.reveal,
body:not(.home-page) .service-editorial-card.reveal {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}

/* BA1 — readability fix: the starfield is background only.
   All website content must render above it in every viewport and scroll position. */
.site-shell {
  position: relative !important;
  z-index: 1 !important;
}
#starfield {
  z-index: 0 !important;
}

/* BA1 — homepage content stays readable even while scroll focus/animation is active. */
.home-page .ba86-layer {
  opacity: calc(.72 + var(--focus) * .28) !important;
  transform: scale(calc(.985 + var(--focus) * .015)) !important;
  filter: none !important;
}
.home-page .ba86-layer-copy {
  opacity: calc(.74 + var(--focus) * .26) !important;
  transform: none !important;
}
.home-page .ba86-layer i {
  opacity: calc(.72 + var(--focus) * .28) !important;
}
.home-page .ba86-scroll-char {
  opacity: .72;
}

/* BA1 — preserve real word spacing inside animated page headings. */
.character-field .space {
  display: inline-block !important;
  width: .24em !important;
  flex: 0 0 .24em !important;
}

/* BA1 — inactive homepage products remain clearly readable. */
.home-page .ba86-layer {
  opacity: calc(.88 + var(--focus) * .12) !important;
}
.home-page .ba86-layer-copy {
  opacity: calc(.84 + var(--focus) * .16) !important;
}
.home-page .ba86-layer i {
  opacity: calc(.84 + var(--focus) * .16) !important;
}
.home-page .ba86-scroll-char {
  opacity: .82;
}


/* BA1.1 — requested mobile corrections: one-time intro, compact footer logo,
   and stable two-line service-development headings. */
.footer-brand,
.footer-logo-trigger {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  text-align: left !important;
  cursor: pointer;
}
.footer-brand img,
.footer-logo-trigger img,
.ba86-footer-brand .footer-brand img {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  flex: 0 0 32px !important;
  object-fit: contain !important;
}
.footer-brand strong,
.footer-logo-trigger strong {
  display: inline-block !important;
  margin: 0 !important;
  line-height: 1 !important;
}

/* data-lines="APP|DEVELOPMENT" and "WEBSITE|DEVELOPMENT" are real rows,
   never side-by-side flex items and never wrapping mid-word. */
.service-detail-hero .page-title.character-field {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: .02em !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}
.service-detail-hero .page-title.character-field .character-line {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: none !important;
  justify-content: center !important;
  white-space: nowrap !important;
  margin-inline: auto !important;
}
.ba87-service-detail > .container {
  display: grid !important;
  justify-items: center !important;
}
.ba87-service-detail .simple-service-pitch {
  width: 100% !important;
  margin-inline: auto !important;
}

@media (max-width: 767px) {
  .service-detail-hero .page-title.character-field {
    font-size: clamp(42px, 13vw, 62px) !important;
    line-height: .88 !important;
    letter-spacing: -.055em !important;
  }
  .service-detail-hero .container,
  .ba87-service-detail > .container,
  .ba87-project-contact > .container {
    width: min(calc(100% - 40px), var(--container)) !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }
  .ba87-service-detail .simple-service-pitch {
    padding: 34px 24px !important;
  }
  .footer-brand img,
  .footer-logo-trigger img,
  .ba86-footer-brand .footer-brand img {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    flex-basis: 28px !important;
  }
}


/* BA1 v105 — opening-animation text palette and readability */
:root {
  --text: #fff4ca;
  --muted: #c9a96b;
  --gold: #ff9719;
  --gold-light: #ffd374;
  --gold-mid: #e4a330;
  --gold-deep: #a9600d;
}
.site-shell,
.mobile-menu,
.logo-viewer { color: var(--text); }
.page-title,
.section-heading h2,
.prism-section-heading h2,
.chain-section-heading h2,
.ba86-founder blockquote,
.ba86-founder h2,
.ba86-about h2,
.ba86-service-copy h2,
.ba86-product-copy h2,
.simple-service-pitch h2,
.simple-service-card h2,
.site-footer strong { color: #fff4ca; }
.section-label,
.card-link-label,
.text-link,
.ba86-social-link strong,
.ba86-footer-title { color: var(--gold-light); }
.company-address,
.site-footer p,
.site-footer span,
.ba86-founder p,
.ba86-about p,
.ba86-service-copy p,
.ba86-product-copy p,
.simple-service-pitch p,
.simple-service-card p { color: var(--muted); }

/* BA1 v106 — exact particle palette for all visible website text.
   Uses the same three RGB colours as drawStar(): #FF9719, #E4A330, #FFD374. */
:root {
  --text: #FFD374 !important;
  --muted: #E4A330 !important;
  --gold: #FF9719 !important;
  --gold-light: #FFD374 !important;
  --gold-mid: #E4A330 !important;
  --gold-deep: #FF9719 !important;
}

/* Primary copy / headings = light pulse gold. */
.site-shell :is(h1,h2,h3,h4,h5,h6,strong,blockquote),
.mobile-menu a,
.logo-viewer {
  color: #FFD374 !important;
  -webkit-text-fill-color: currentColor !important;
}
.site-shell :is(h1,h2,h3,h4,h5,h6) *,
.site-shell blockquote * {
  color: #FFD374 !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Supporting copy = the exact warm-gold particle tone. */
.site-shell :is(p,small,time,label),
.site-footer :is(p,span,small),
.ba86-layer-copy,
.ba86-product-tagline,
.ba86-product-status small,
.ba86-newsroom-item > span:nth-of-type(2) {
  color: #E4A330 !important;
}

/* Labels, numbering and interactive accents = the exact amber particle tone. */
.section-label,
.ba-product-number,
.ba86-layer-number,
.ba86-layered-head > span:first-child,
.ba86-newsroom-item time,
.ba86-newsroom-item > span,
.ba86-footer-title,
.card-link-label,
.text-link,
.service-handle-copy > span,
.ba86-work > .container > a > span,
.ba86-social-link > span {
  color: #FF9719 !important;
}

/* Keep ordinary links readable but within the same particle palette. */
.site-shell a:not(.button),
.site-footer a { color: #FFD374 !important; }
.site-shell a:not(.button):hover,
.site-shell a:not(.button):focus-visible { color: #FF9719 !important; }

/* Buttons use only particle colours as well. */
.button.primary { background:#FF9719 !important; border-color:#FF9719 !important; color:#030303 !important; }
.button.secondary { color:#FFD374 !important; border-color:rgba(255,211,116,.45) !important; }

/* BA1 v107 — restrained warm-neutral text palette.
   The particles keep their saturated amber/gold colours; typography only borrows
   a small amount of that warmth so the interface does not read as yellow. */
:root {
  --text: #F3EBDD !important;
  --muted: #C8BFB2 !important;
  --gold: #D39A5B !important;
  --gold-light: #E0BB84 !important;
  --gold-mid: #C79A66 !important;
  --gold-deep: #A96F36 !important;
}

/* Main headings: warm ivory, not gold. */
.site-shell :is(h1,h2,h3,h4,h5,h6,strong,blockquote),
.mobile-menu a,
.logo-viewer,
.site-shell :is(h1,h2,h3,h4,h5,h6) *,
.site-shell blockquote * {
  color: #F3EBDD !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Body copy: neutral stone with a very slight warm cast. */
.site-shell :is(p,small,time,label),
.site-footer :is(p,span,small),
.ba86-layer-copy,
.ba86-product-tagline,
.ba86-product-status small,
.ba86-newsroom-item > span:nth-of-type(2) {
  color: #C8BFB2 !important;
}

/* Small accents echo the particles without matching their saturation. */
.section-label,
.ba-product-number,
.ba86-layer-number,
.ba86-layered-head > span:first-child,
.ba86-newsroom-item time,
.ba86-newsroom-item > span,
.ba86-footer-title,
.card-link-label,
.text-link,
.service-handle-copy > span,
.ba86-work > .container > a > span,
.ba86-social-link > span {
  color: #D39A5B !important;
}

.site-shell a:not(.button),
.site-footer a { color: #E0BB84 !important; }
.site-shell a:not(.button):hover,
.site-shell a:not(.button):focus-visible { color: #D39A5B !important; }

.button.primary {
  background: #D39A5B !important;
  border-color: #D39A5B !important;
  color: #090705 !important;
}
.button.secondary {
  color: #E0BB84 !important;
  border-color: rgba(224,187,132,.42) !important;
}


/* BA1 v109 — sparse white starfield + footer navigation masthead. */
.ba1-footer-nav-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 24px;
  padding: 0 0 clamp(28px, 5vw, 52px);
  margin: 0 0 clamp(30px, 5vw, 54px);
  border-bottom: 1px solid rgba(255,255,255,.10);
}
.ba1-footer-nav-header > span {
  color: #9f978d !important;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.ba1-footer-nav-header > strong {
  color: #F3EBDD !important;
  font-size: clamp(34px, 6vw, 82px);
  font-weight: 700;
  line-height: .82;
  letter-spacing: -.065em;
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 700px) {
  .ba1-footer-nav-header {
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
  }
  .ba1-footer-nav-header > strong {
    text-align: left;
    font-size: clamp(34px, 12vw, 52px);
  }
}


/* BA1 v110 — smoother, more prominent homepage motion and intro-colour highlights. */
.home-page .ba86-layered-index{height:249svh}.home-page .ba86-layer{position:relative;isolation:isolate;overflow:hidden;opacity:calc(.78 + var(--focus)*.22)!important;transform:translate3d(calc((1 - var(--focus))*8px),0,0) scale(calc(.975 + var(--focus)*.025))!important;transition:border-color .28s ease,color .28s ease;will-change:transform,opacity}.home-page .ba86-layer::before{content:"";position:absolute;z-index:-1;inset:7px -12px;border-radius:14px;background:linear-gradient(90deg,rgba(255,151,25,calc(var(--focus)*.11)),rgba(228,163,48,calc(var(--focus)*.045)) 48%,transparent 82%);border-left:2px solid rgba(255,151,25,calc(var(--focus)*.88));opacity:calc(.18 + var(--focus)*.82);transition:opacity .18s linear}.home-page .ba86-layer.is-active{border-color:rgba(255,211,116,.24)}.home-page .ba86-layer.is-active .ba86-layer-main strong{color:#FFD374!important;text-shadow:0 0 28px rgba(255,151,25,.16)}.home-page .ba86-layer.is-active .ba86-layer-main small{color:#E4A330!important}.home-page .ba86-layer.is-active .ba86-layer-number{color:#FF9719!important}.home-page .ba86-layer.is-active .ba86-layer-copy{color:#E7D0A8!important}.home-page .ba86-layer.is-active i{color:#FF9719!important;transform:translate3d(3px,-3px,0)}.home-page .ba86-layer i{transition:transform .26s ease,color .26s ease}.home-page .ba86-scroll-scrub{perspective:900px}.home-page .ba86-scroll-char{will-change:transform,opacity,filter,text-shadow;transition:color .18s linear}.ba86-newsroom-more{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding:18px 2px;border-bottom:1px solid rgba(255,255,255,.1);color:#E0BB84!important;text-decoration:none;font-size:11px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.ba86-newsroom-more i{font-style:normal;font-size:18px;transition:transform .22s ease}.ba86-newsroom-more:hover i{transform:translate3d(4px,-4px,0)}

/* Newsroom archive */
.newsroom-hero{min-height:78svh;display:grid;align-items:center;padding-top:110px}.newsroom-intro{max-width:620px;margin:24px auto 0;text-align:center;font-size:clamp(16px,2vw,22px);line-height:1.55}.ba86-newsroom-archive{padding-top:70px}.archive-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.archive-head>span:last-child{color:#9d958b!important;font:600 9px/1 var(--font-site);letter-spacing:.14em;text-transform:uppercase}.ba86-product-type{display:block;margin:20px auto 0;color:#D39A5B!important;font:650 9px/1 var(--font-site);letter-spacing:.17em;text-transform:uppercase;text-align:center}

/* Footer masthead now belongs to the literal bottom edge. */
.ba1-footer-nav-header{grid-template-columns:minmax(0,1fr) auto;align-items:end;margin:clamp(44px,7vw,80px) 0 0!important;padding:clamp(24px,4vw,42px) 0 0!important;border-top:1px solid rgba(211,154,91,.24)!important;border-bottom:0!important}.ba1-footer-nav-header>span{color:#C58A47!important}.ba1-footer-nav-header>strong{color:#D39A5B!important;text-shadow:0 0 28px rgba(211,154,91,.08)}

@media(max-width:767px){.home-page .ba86-layer::before{inset:5px -8px}.home-page .ba86-layer.is-active .ba86-layer-main strong{text-shadow:0 0 22px rgba(255,151,25,.14)}.newsroom-hero{min-height:68svh;padding-top:90px}.ba1-footer-nav-header{grid-template-columns:1fr;gap:8px}.ba1-footer-nav-header>strong{font-size:clamp(30px,10vw,48px)!important}}


/* BA1 v113 — remove active-app left accent while preserving the complete card highlight. */
.home-page .ba86-layer::before {
  border-left: 0 !important;
}

/* BA1 v114 — desktop alignment correction.
   Several BA86/BA87 content blocks had max-widths without auto margins, which
   left them pinned to the viewport edge on desktop. Mobile layout is unchanged. */
@media (min-width: 768px) {
  /* Reliable desktop gutter for internal-page content and footer. */
  body:not(.home-page) main > section:not(.page-hero):not(.compact-page-hero):not(.service-detail-hero) > .container,
  body:not(.home-page) .site-footer > .container {
    width: min(calc(100% - 96px), 1180px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Keep internal page titles centred on the same desktop axis. */
  body:not(.home-page) .page-hero > .container,
  body:not(.home-page) .compact-page-hero > .container,
  body:not(.home-page) .service-detail-hero > .container {
    width: min(calc(100% - 96px), var(--container)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Founder — editorial left alignment inside a genuinely centred column. */
  .ba86-founder > .container {
    width: min(calc(100% - 120px), 1050px) !important;
    max-width: 1050px !important;
    margin-inline: auto !important;
  }
  .ba86-founder blockquote {
    max-width: 1000px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ba86-founder h2,
  .ba86-founder .section-label {
    text-align: left !important;
  }
  .ba86-social-link {
    width: 100% !important;
  }

  /* About — centred editorial composition with consistent readable measure. */
  .ba87-about > .container {
    width: min(calc(100% - 120px), 1050px) !important;
    max-width: 1050px !important;
    margin-inline: auto !important;
  }
  .ba87-about h2 {
    max-width: 960px !important;
    margin-inline: auto !important;
  }
  .ba87-about .ba86-about-lead,
  .ba87-about .ba86-about-company {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Services — each chapter is centred on one shared desktop axis. */
  .ba87-services-intro > .container,
  .ba87-services-list > .container,
  .ba87-project-contact > .container {
    width: min(calc(100% - 120px), 1180px) !important;
    max-width: 1180px !important;
    margin-inline: auto !important;
  }
  .ba87-scope > .container {
    width: min(calc(100% - 120px), 980px) !important;
    max-width: 980px !important;
    margin-inline: auto !important;
  }
  .ba87-scope h2 {
    max-width: 900px !important;
    margin: 18px auto 20px !important;
  }
  .ba87-scope p {
    max-width: 760px !important;
    margin-inline: auto !important;
  }
  .ba87-services-intro-inner,
  .ba87-project-contact-inner {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* BA1 v115 — homepage Newsroom alignment, restored bottom masthead, and Newsroom menu entry. */
.home-page .ba86-newsroom > .container {
  width: min(calc(100% - 96px), 1180px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
.home-page .ba86-newsroom h2 {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  font-size: clamp(68px, 8.2vw, 128px) !important;
  line-height: .86 !important;
}
.home-page .ba86-newsroom-feed,
.home-page .ba86-newsroom-more {
  width: 100% !important;
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.home-page .ba86-newsroom {
  padding-top: clamp(150px, 14vw, 210px) !important;
}

/* The bottom masthead is the final footer element: no eyebrow label, centred and gold. */
.ba1-footer-nav-header {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  margin: clamp(46px, 7vw, 88px) 0 0 !important;
  padding: clamp(28px, 4vw, 46px) 0 clamp(8px, 1vw, 16px) !important;
  border-top: 1px solid rgba(211,154,91,.24) !important;
  border-bottom: 0 !important;
  text-align: center !important;
  overflow: visible !important;
}
.ba1-footer-nav-header > span { display: none !important; }
.ba1-footer-nav-header > strong {
  display: inline-block !important;
  color: #D39A5B !important;
  font-size: clamp(42px, 6vw, 86px) !important;
  font-weight: 700 !important;
  line-height: .84 !important;
  letter-spacing: -.06em !important;
  text-align: center !important;
  white-space: nowrap !important;
  transform-origin: 50% 70%;
  animation: ba1FooterFiddle 5.8s cubic-bezier(.4,0,.2,1) infinite;
  text-shadow: 0 0 26px rgba(211,154,91,.08) !important;
}
@keyframes ba1FooterFiddle {
  0%, 78%, 100% { transform: rotate(0deg) translateY(0); }
  82% { transform: rotate(-.7deg) translateY(-1px); }
  86% { transform: rotate(.55deg) translateY(0); }
  90% { transform: rotate(-.3deg) translateY(-1px); }
  94% { transform: rotate(.15deg) translateY(0); }
}

@media (max-width: 767px) {
  .home-page .ba86-newsroom > .container {
    width: min(calc(100% - 40px), 1180px) !important;
  }
  .home-page .ba86-newsroom {
    padding-top: 112px !important;
  }
  .home-page .ba86-newsroom h2 {
    font-size: clamp(52px, 14vw, 72px) !important;
  }
  .ba1-footer-nav-header > strong {
    font-size: clamp(38px, 11.5vw, 54px) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ba1-footer-nav-header > strong { animation: none !important; }
}



/* =========================================================
   STAR BACKGROUND ANIMATION UPDATE
   Star-field layer inspired by the uploaded ba35 sample.
   ========================================================= */

.ba-star-background {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(255, 225, 116, 0.16), transparent 24%),
    radial-gradient(circle at 80% 30%, rgba(255, 214, 90, 0.12), transparent 22%),
    radial-gradient(circle at 50% 80%, rgba(80, 50, 0, 0.16), transparent 28%),
    #f4c84f;
}

/* Keep page content above the star layer. */
body > *:not(.ba-star-background) {
  position: relative;
  z-index: 1;
}

/* The black navbar must stay above the background layer. */
header,
.site-header,
.navbar,
.navigation {
  z-index: 50 !important;
}

.ba-star {
  position: absolute;
  width: var(--star-size, 2px);
  height: var(--star-size, 2px);
  left: var(--star-x, 50%);
  top: var(--star-y, 50%);
  border-radius: 50%;
  background: rgba(25, 15, 0, var(--star-alpha, 0.55));
  box-shadow:
    0 0 8px rgba(25, 15, 0, 0.22),
    0 0 16px rgba(255, 240, 170, 0.14);
  animation:
    baStarTwinkle var(--star-speed, 4s) ease-in-out infinite,
    baStarDrift var(--star-drift-speed, 18s) linear infinite;
  animation-delay: var(--star-delay, 0s);
  opacity: 0.72;
}

.ba-star.is-bright {
  background: rgba(255, 246, 196, 0.86);
  box-shadow:
    0 0 10px rgba(255, 246, 196, 0.52),
    0 0 22px rgba(93, 58, 0, 0.24);
}

.ba-shooting-star {
  position: absolute;
  width: 130px;
  height: 2px;
  left: var(--shoot-x, 60%);
  top: var(--shoot-y, 20%);
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(25, 15, 0, 0.62), transparent);
  transform: rotate(-28deg) translate3d(0, 0, 0);
  opacity: 0;
  animation: baShootingStar var(--shoot-speed, 7s) ease-in-out infinite;
  animation-delay: var(--shoot-delay, 0s);
}

@keyframes baStarTwinkle {
  0%, 100% {
    opacity: 0.20;
    transform: scale(0.72);
  }
  45% {
    opacity: 0.95;
    transform: scale(1.18);
  }
  70% {
    opacity: 0.48;
    transform: scale(0.92);
  }
}

@keyframes baStarDrift {
  from {
    translate: 0 0;
  }
  to {
    translate: var(--star-drift-x, 18px) var(--star-drift-y, -24px);
  }
}

@keyframes baShootingStar {
  0%, 68%, 100% {
    opacity: 0;
    transform: rotate(-28deg) translate3d(0, 0, 0);
  }
  72% {
    opacity: 0.82;
  }
  86% {
    opacity: 0;
    transform: rotate(-28deg) translate3d(-360px, 220px, 0);
  }
}

/* Let section backgrounds show the star layer instead of blocking it. */
main,
section,
.section,
[class*="section"],
[class*="page"],
[class*="hero"],
[class*="ecosystem"],
[class*="showcase"],
[class*="flow"],
[class*="orbit"],
[class*="stats"],
[class*="cta"] {
  background-color: transparent !important;
}

/* Preserve the site gold color as the base page color. */
html,
body {
  background: #f4c84f !important;
}

/* Keep dark cards/nav readable over the animated background. */
[class*="card"],
[class*="panel"],
[class*="tile"],
[class*="box"],
.exact-service-card,
.home-fullscreen-swipe-card {
  position: relative;
  z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
  .ba-star,
  .ba-shooting-star {
    animation: none !important;
  }
}
