:root {
  --navy: #1741aa;
  --blue: #174bbc;
  --aqua: #80ccfd;
  --white: #ffffff;
  --panel-white-a: rgba(229,237,244,.94);
  --panel-white-b: rgba(211,225,236,.91);
  --ink: #020916;
  --ease: cubic-bezier(.2,.78,.2,1);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--ink); }
body {
  color: var(--white);
  overflow: hidden;
  font-family: "Inter", Arial, sans-serif;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.stage {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  isolation: isolate;
  background: #010711;
}

.hero-video {
  position: absolute;
  inset: 0;
  z-index: -4;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  transform: scale(1.002);
  filter: saturate(1.06) contrast(1.03) brightness(1);
  transition: filter 1.8s var(--ease), transform 3s var(--ease);
}

.cinematic-shade {
  position: absolute;
  inset: 0;
  z-index: -3;
  opacity: 0;
  background:
    linear-gradient(90deg, rgba(1,7,17,.95) 0%, rgba(1,7,17,.79) 32%, rgba(1,7,17,.24) 67%, rgba(1,7,17,.44) 100%),
    linear-gradient(0deg, rgba(1,7,17,.80) 0%, rgba(1,7,17,.08) 52%, rgba(1,7,17,.48) 100%);
  transition: opacity 1.7s var(--ease);
}

.scanlines {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: 0;
  pointer-events: none;
  background-image: repeating-linear-gradient(180deg, rgba(255,255,255,.024) 0, rgba(255,255,255,.024) 1px, transparent 1px, transparent 4px);
  mix-blend-mode: overlay;
  transition: opacity 1.2s ease;
}

body.is-revealed .hero-video {
  filter: saturate(.88) contrast(1.05) brightness(.49);
  transform: scale(1.045);
}
body.is-revealed .cinematic-shade { opacity: 1; }
body.is-revealed .scanlines { opacity: .22; }

/* Intro interface */
.intro-interface {
  position: absolute;
  left: clamp(24px, 4vw, 72px);
  right: clamp(24px, 4vw, 72px);
  bottom: clamp(26px, 4vw, 58px);
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 24px;
  color: rgba(255,255,255,.72);
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  transition: opacity .7s ease, transform .7s var(--ease);
}
.intro-status {
  width: min(420px, 45vw);
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
}
.intro-track { height: 1px; overflow: hidden; background: rgba(255,255,255,.28); }
.intro-progress { width: 0; height: 100%; background: var(--aqua); box-shadow: 0 0 12px var(--aqua); }
body.is-revealed .intro-interface { opacity: 0; transform: translateY(10px); pointer-events: none; }

.skip-intro {
  position: absolute;
  top: clamp(22px, 4vw, 48px);
  right: clamp(24px, 4vw, 72px);
  z-index: 8;
  padding: 5px 0;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.35);
  color: rgba(255,255,255,.76);
  background: transparent;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity .35s ease, color .25s ease;
}
.skip-intro:hover { color: white; }
body.is-revealed .skip-intro { opacity: 0; pointer-events: none; }

/* Cover */
.cover {
  min-height: 100svh;
  display: grid;
  grid-template-rows: auto 1fr;
  padding: clamp(20px, 2.6vw, 42px) clamp(24px, 5vw, 86px) clamp(24px, 3vw, 42px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.15s .4s ease, visibility 0s 1.55s;
}
body.is-revealed .cover {
  opacity: 1;
  visibility: visible;
  transition: opacity 1.15s .4s ease, visibility 0s;
}

.site-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0;
  transform: translateY(-16px);
  transition: transform 1s .52s var(--ease), opacity 1s .52s ease;
}
body.is-revealed .site-header { opacity: 1; transform: translateY(0); }
.brand {
  position: relative;
  display: block;
  width: clamp(195px, 15.5vw, 270px);
  padding: 8px 13px 9px 10px;
  background: linear-gradient(90deg, rgba(2,9,22,.60), rgba(2,9,22,.20) 72%, transparent);
  border-left: 2px solid rgba(128,204,253,.92);
  box-shadow: -10px 0 34px rgba(128,204,253,.10);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
}
.brand img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 9px 24px rgba(0,0,0,.44)) drop-shadow(0 0 12px rgba(128,204,253,.17));
}

.cover-content {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(390px, 28vw, 485px);
  align-items: start;
  gap: clamp(48px, 5.2vw, 94px);
  width: 100%;
  margin-top: clamp(42px, 7.5vh, 84px);
}

.hero-copy {
  position: relative;
  align-self: start;
  width: min(870px, 100%);
  margin-top: 0;
  padding-left: clamp(16px, 1.9vw, 31px);
}
.hero-copy::before {
  content: "";
  position: absolute;
  left: 0;
  top: .18em;
  width: 2px;
  height: min(62vh, 520px);
  background: linear-gradient(180deg, var(--aqua), rgba(128,204,253,.1) 72%, transparent);
  box-shadow: 0 0 18px rgba(128,204,253,.28);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 1.25s .72s var(--ease);
}
body.is-revealed .hero-copy::before { transform: scaleY(1); }

h1 {
  margin: 0;
  max-width: 1100px;
  text-wrap: balance;
}
h1 .headline-primary,
h1 .headline-accent {
  display: block;
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 1s ease, transform 1s var(--ease);
}
h1 .headline-primary {
  max-width: 1080px;
  color: var(--white);
  font-family: "Inter", sans-serif;
  font-size: clamp(38px, 4.15vw, 68px);
  font-weight: 700;
  line-height: .99;
  letter-spacing: -.058em;
  text-shadow: 0 22px 60px rgba(0,0,0,.42);
  transition-delay: .72s;
}
h1 .headline-primary em {
  color: var(--aqua);
  font-style: normal;
  text-shadow: 0 0 30px rgba(128,204,253,.18);
}
h1 .headline-accent {
  max-width: 970px;
  margin-top: clamp(18px, 2.3vh, 28px);
  color: var(--aqua);
  font-family: "Inter", sans-serif;
  font-size: clamp(21px, 2vw, 32px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.045em;
  text-shadow: 0 0 30px rgba(128,204,253,.16);
  transition-delay: .87s;
}
body.is-revealed h1 .headline-primary,
body.is-revealed h1 .headline-accent { opacity: 1; transform: translateY(0); }

.headline-support {
  max-width: 850px;
  margin: clamp(16px, 2vh, 24px) 0 0;
  color: rgba(255,255,255,.76);
  font-family: "Inter", sans-serif;
  font-size: clamp(14px, 1.05vw, 18px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: -.018em;
  opacity: 0;
  transform: translateY(16px);
  text-shadow: 0 12px 36px rgba(0,0,0,.32);
  transition: opacity .9s 1s ease, transform .9s 1s var(--ease);
}
body.is-revealed .headline-support {
  opacity: 1;
  transform: translateY(0);
}

/* Orbital navigation */
.hero-actions {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(42px, 6vw, 92px);
  width: max-content;
  max-width: 100%;
  margin-top: clamp(32px, 4.6vh, 52px);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .9s 1.03s ease, transform .9s 1.03s var(--ease);
}
body.is-revealed .hero-actions { opacity: 1; transform: translateY(0); }
.hero-actions::before {
  content: "";
  position: absolute;
  left: 39px;
  right: 39px;
  top: 39px;
  z-index: -1;
  height: 1px;
  background: linear-gradient(90deg, rgba(128,204,253,.78), rgba(255,255,255,.2), rgba(128,204,253,.55));
  box-shadow: 0 0 12px rgba(128,204,253,.24);
}

.action-orbit {
  position: relative;
  display: inline-grid;
  grid-template-columns: 80px auto;
  align-items: center;
  gap: 19px;
  min-width: 270px;
  color: white;
  isolation: isolate;
}
.orbit-mark {
  position: relative;
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  filter: drop-shadow(0 0 16px rgba(128,204,253,.22));
}
.orbit-mark::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 15deg,
    var(--aqua) 0 58deg,
    transparent 58deg 112deg,
    rgba(255,255,255,.82) 112deg 179deg,
    transparent 179deg 250deg,
    rgba(128,204,253,.7) 250deg 329deg,
    transparent 329deg 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 0);
  mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 0);
  animation: orbitIdle 11s linear infinite;
  transition: filter .35s ease, animation-duration .35s ease;
}
.orbit-mark::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(4,15,35,.28);
  box-shadow: inset 0 0 20px rgba(128,204,253,.05);
  backdrop-filter: blur(2px);
  transition: inset .45s var(--ease), border-color .35s ease, background .35s ease;
}
.orbit-tracer {
  position: absolute;
  left: 50%;
  top: -3px;
  z-index: 3;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: white;
  box-shadow: 0 0 4px white, 0 0 16px var(--aqua), 0 0 30px rgba(128,204,253,.72);
  transform: translateX(-50%);
}
.orbit-core {
  position: relative;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: var(--aqua);
  transition: color .3s ease, transform .45s var(--ease);
}
.orbit-core svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.action-copy {
  position: relative;
  display: inline-block;
  width: max-content;
  max-width: 100%;
  padding-bottom: 9px;
  color: rgba(255,255,255,.98);
  font-family: "Inter", sans-serif;
  font-size: clamp(15px, 1.25vw, 19px);
  font-weight: 600;
  letter-spacing: -.02em;
  line-height: 1.25;
  text-shadow: 0 6px 20px rgba(0,0,0,.45);
}
.action-copy::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--aqua), rgba(128,204,253,.18));
  transform: scaleX(.26);
  transform-origin: left;
  box-shadow: 0 0 12px rgba(128,204,253,.45);
  transition: transform .5s var(--ease), opacity .3s ease;
}
.action-orbit:hover .orbit-mark::before,
.action-orbit:focus-visible .orbit-mark::before {
  animation-duration: 1.5s;
  filter: drop-shadow(0 0 8px rgba(128,204,253,.65));
}
.action-orbit:hover .orbit-mark::after,
.action-orbit:focus-visible .orbit-mark::after {
  inset: 5px;
  border-color: rgba(128,204,253,.75);
  background: rgba(23,65,170,.2);
}
.action-orbit:hover .orbit-core,
.action-orbit:focus-visible .orbit-core {
  color: white;
  transform: translate(3px, -3px);
}
.action-orbit:hover .action-copy::after,
.action-orbit:focus-visible .action-copy::after { transform: scaleX(1); }
.action-orbit:focus-visible { outline: none; }
.action-orbit:focus-visible .orbit-mark { box-shadow: 0 0 0 2px rgba(128,204,253,.65); }
@keyframes orbitIdle { to { transform: rotate(360deg); } }


/* Right-side digital presence check */
.service-manifest {
  position: relative;
  z-index: 2;
  top: -96px;
  left: -96px;
  width: 100%;
  min-height: clamp(470px, 54vh, 570px);
  padding: 28px 32px 28px 34px;
  overflow: hidden;
  color: #06132d;
  background:
    linear-gradient(rgba(23,65,170,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,65,170,.05) 1px, transparent 1px),
    linear-gradient(145deg, var(--panel-white-a), var(--panel-white-b));
  background-size: 28px 28px, 28px 28px, auto;
  border: 1px solid rgba(218,231,241,.72);
  border-radius: 30px;
  box-shadow:
    0 42px 110px rgba(0,0,0,.38),
    0 0 0 1px rgba(128,204,253,.13),
    inset 0 1px 0 rgba(255,255,255,.52);
  backdrop-filter: blur(20px) saturate(1.18);
  opacity: 0;
  transform: translateX(42px) scale(.982);
  transition: opacity .9s 1.02s ease, transform 1s 1.02s var(--ease);
}
body.is-revealed .service-manifest {
  opacity: 1;
  transform: translateX(0) scale(1);
}
.service-manifest::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(23,75,188,.24);
  border-radius: 22px;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28), 0 0 18px rgba(128,204,253,.07);
}
.service-manifest::after {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1.5px;
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(128,204,253,.95), rgba(23,75,188,.82) 42%, rgba(23,65,170,.72) 70%, rgba(128,204,253,.82));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  box-shadow: 0 0 26px rgba(23,75,188,.14), 0 0 10px rgba(128,204,253,.12);
}
.scan-watermark {
  position: absolute;
  right: -10px;
  top: -18px;
  color: rgba(23,65,170,.055);
  font-family: "Inter", sans-serif;
  font-size: clamp(92px, 6.9vw, 128px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.075em;
  pointer-events: none;
  user-select: none;
}
.scan-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(6,19,45,.16);
  color: rgba(6,19,45,.64);
  font-family: "Inter", sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.scan-label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.scan-label i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aqua);
  box-shadow: 0 0 0 5px rgba(128,204,253,.15), 0 0 18px rgba(23,75,188,.42);
  animation: manifestPulse 1.9s ease-in-out infinite;
}
.scan-title {
  position: relative;
  z-index: 2;
  margin: 18px 0 0;
  max-width: 390px;
  color: #071633;
  font-family: "Inter", sans-serif;
  font-size: clamp(28px, 2.35vw, 36px);
  font-weight: 700;
  line-height: .98;
  letter-spacing: -.058em;
}
.scan-description {
  position: relative;
  z-index: 2;
  max-width: 360px;
  margin: 12px 0 0;
  color: rgba(6,19,45,.72);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -.015em;
}
.scan-visual {
  position: relative;
  z-index: 2;
  height: 262px;
  margin-top: 22px;
  border: 1px solid rgba(6,19,45,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.2), rgba(255,255,255,.05));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
  overflow: hidden;
}
.scan-visual::before,
.scan-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.scan-visual::before {
  background:
    linear-gradient(rgba(23,65,170,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,65,170,.045) 1px, transparent 1px);
  background-size: 18px 18px;
}
.scan-visual::after {
  background: linear-gradient(180deg, rgba(128,204,253,.07), transparent 28%, transparent 72%, rgba(23,75,188,.06));
}
.scan-center {
  position: absolute;
  left: 50%;
  top: 54%;
  width: 134px;
  height: 134px;
  transform: translate(-50%, -50%);
  display: grid;
  place-items: center;
}
.scan-ring {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(23,75,188,.18);
}
.scan-ring--outer {
  inset: 0;
  box-shadow: 0 0 22px rgba(128,204,253,.16), inset 0 0 18px rgba(128,204,253,.06);
}
.scan-ring--mid {
  inset: 14px;
  border-style: dashed;
  border-color: rgba(23,75,188,.28);
  animation: spinSlow 12s linear infinite;
}
.scan-ring--inner {
  inset: 34px;
  border-color: rgba(128,204,253,.38);
}
.scan-sweep {
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, rgba(128,204,253,0) 0 312deg, rgba(128,204,253,.35) 342deg, rgba(128,204,253,0) 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 18px), #000 calc(100% - 17px));
  mask: radial-gradient(farthest-side, transparent calc(100% - 18px), #000 calc(100% - 17px));
  animation: spinSweep 4.6s linear infinite;
}
.scan-eye-shell {
  position: absolute;
  width: 66px;
  height: 40px;
  border: 2px solid rgba(23,75,188,.58);
  border-radius: 100% / 85%;
  transform: rotate(-10deg);
  box-shadow: 0 0 20px rgba(128,204,253,.22);
  background: linear-gradient(180deg, rgba(255,255,255,.52), rgba(220,232,241,.24));
}
.scan-eye-outline {
  position: absolute;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(23,75,188,.34);
  border-radius: 50%;
  box-shadow: inset 0 0 12px rgba(128,204,253,.16);
}
.scan-eye-pupil {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #c6ebff, var(--aqua) 38%, var(--blue) 78%, #0d2c72 100%);
  box-shadow: 0 0 0 6px rgba(128,204,253,.16), 0 0 18px rgba(23,75,188,.44);
  animation: pulseEye 2.2s ease-in-out infinite;
}
.scan-core-glow {
  position: absolute;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(128,204,253,.17), rgba(128,204,253,0) 70%);
}
.scan-link {
  position: absolute;
  left: 50%;
  top: 54%;
  height: 1px;
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(23,75,188,.35), rgba(128,204,253,.12));
  box-shadow: 0 0 10px rgba(128,204,253,.18);
}
.scan-link--one { width: 112px; transform: translate(0,-50%) rotate(-152deg); }
.scan-link--two { width: 116px; transform: translate(0,-50%) rotate(-28deg); }
.scan-link--three { width: 122px; transform: translate(0,-50%) rotate(8deg); }
.scan-link--four { width: 112px; transform: translate(0,-50%) rotate(46deg); }
.scan-link--five { width: 108px; transform: translate(0,-50%) rotate(150deg); }
.scan-node {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  color: #071633;
  font-family: "Inter", sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  background: rgba(255,255,255,.34);
  border: 1px solid rgba(23,65,170,.14);
  box-shadow: 0 8px 18px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.45);
  backdrop-filter: blur(6px);
  animation: nodeFlash 6.2s ease-in-out infinite;
}
.scan-node--website { left: 18px; top: 22px; animation-delay: 0s; }
.scan-node--search { right: 16px; top: 38px; animation-delay: 1.2s; }
.scan-node--reputation { right: 10px; top: 50%; transform: translateY(-50%); animation-delay: 2.4s; }
.scan-node--conversion { right: 42px; bottom: 20px; animation-delay: 3.6s; }
.scan-node--systems { left: 24px; bottom: 26px; animation-delay: 4.8s; }
.node-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aqua);
  box-shadow: 0 0 0 4px rgba(128,204,253,.13), 0 0 12px rgba(23,75,188,.35);
}
.node-text { white-space: nowrap; }
.scan-cta {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 18px;
  padding: 20px 68px 20px 24px;
  overflow: hidden;
  color: #071633;
  text-align: center;
  border: 1.5px solid rgba(23,75,188,.52);
  border-radius: 18px;
  background:
    linear-gradient(rgba(23,65,170,.038) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,65,170,.038) 1px, transparent 1px),
    rgba(244,248,251,.84);
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow: 0 12px 28px rgba(6,19,45,.10), inset 0 0 0 1px rgba(128,204,253,.18), inset 0 1px 0 rgba(255,255,255,.62);
  transition: transform .35s var(--ease), box-shadow .35s ease, background .35s ease, border-color .35s ease;
}
.scan-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 18px;
  border: 1px solid rgba(128,204,253,.18);
  pointer-events: none;
}
.scan-cta-copy {
  width: 100%;
  font-family: "Inter", sans-serif;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.045em;
  text-align: center;
}
.scan-cta-arrow {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: var(--navy);
  border: 1px solid rgba(23,75,188,.28);
  background: rgba(255,255,255,.92);
  box-shadow: 0 6px 18px rgba(23,65,170,.08);
  transition: transform .35s var(--ease), background .3s ease, color .3s ease, border-color .3s ease, box-shadow .35s ease;
}
.scan-cta:hover,
.scan-cta:focus-visible {
  outline: none;
  transform: translateY(-4px);
  border-color: rgba(23,75,188,.78);
  background:
    linear-gradient(rgba(23,65,170,.044) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,65,170,.044) 1px, transparent 1px),
    rgba(248,251,253,.96);
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow: 0 20px 42px rgba(6,19,45,.14), 0 0 24px rgba(128,204,253,.14), inset 0 0 0 1px rgba(23,75,188,.16), inset 0 1px 0 rgba(255,255,255,.72);
}
.scan-cta:hover .scan-cta-arrow,
.scan-cta:focus-visible .scan-cta-arrow {
  color: white;
  background: var(--navy);
  border-color: var(--navy);
  box-shadow: 0 10px 24px rgba(23,65,170,.22);
  transform: translate(2px, calc(-50% - 2px));
}
@keyframes spinSlow { to { transform: rotate(360deg); } }
@keyframes spinSweep { to { transform: rotate(360deg); } }
@keyframes pulseEye { 50% { transform: scale(.85); opacity: .72; } }
@keyframes nodeFlash {
  0%, 15%, 100% { background: rgba(255,255,255,.34); box-shadow: 0 8px 18px rgba(0,0,0,.08), inset 0 1px 0 rgba(255,255,255,.45); }
  8% { background: rgba(128,204,253,.28); box-shadow: 0 8px 24px rgba(23,75,188,.16), 0 0 16px rgba(128,204,253,.26), inset 0 1px 0 rgba(255,255,255,.45); }
}
@keyframes manifestPulse { 50% { opacity: .5; transform: scale(.72); } }

/* Audio control — icon only, lower left */
.sound-control {
  position: absolute;
  left: clamp(24px, 5vw, 86px);
  bottom: clamp(22px, 3vw, 40px);
  z-index: 9;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .7s 1.15s ease, transform .7s 1.15s var(--ease);
}
body.is-revealed .sound-control {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
body.is-intro .sound-control {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  transition-delay: .18s;
}
body.is-intro .intro-interface {
  left: clamp(92px, 9vw, 150px);
}
.sound-control button {
  position: relative;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: rgba(255,255,255,.8);
  background: rgba(4,14,31,.34);
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: color .3s ease, background .3s ease, transform .3s var(--ease);
}
.sound-control button:hover {
  color: white;
  background: rgba(23,65,170,.22);
  transform: translateY(-2px);
}
.sound-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 20deg, var(--aqua) 0 75deg, transparent 75deg 205deg, rgba(255,255,255,.55) 205deg 280deg, transparent 280deg 360deg);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 1px), #000 0);
  mask: radial-gradient(farthest-side, transparent calc(100% - 1px), #000 0);
  animation: soundRing 9s linear infinite;
  opacity: .8;
}
.sound-icon {
  position: absolute;
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: opacity .24s ease, transform .3s var(--ease);
}
.sound-icon--live { opacity: 0; transform: scale(.72); color: var(--aqua); }
.sound-icon--muted { opacity: 1; transform: scale(1); }
.sound-control button[aria-pressed="true"] .sound-icon--muted { opacity: 0; transform: scale(.72); }
.sound-control button[aria-pressed="true"] .sound-icon--live { opacity: 1; transform: scale(1); }
.sound-control button[aria-pressed="true"] .sound-ring { animation-duration: 2.2s; opacity: 1; }
@keyframes soundRing { to { transform: rotate(360deg); } }

@media (max-width: 980px) {
  .cover-content {
    grid-template-columns: minmax(0, 1fr) clamp(330px, 34vw, 385px);
    gap: 34px;
  }
  .hero-copy {
    width: 94vw;
    margin-top: clamp(34px, 6vh, 58px);
  }
  h1 .headline-primary { font-size: clamp(36px, 6.5vw, 62px); }
  h1 .headline-accent { max-width: 820px; font-size: clamp(21px, 3.2vw, 31px); }
  .hero-actions { gap: 34px; }
  .action-orbit { min-width: 235px; }
}

@media (max-width: 700px) {
  .cover { padding: 20px 20px 22px; }
  .brand { width: 188px; padding: 7px 11px 8px 9px; }
  .hero-video { object-position: 58% center; }
  .cinematic-shade {
    background:
      linear-gradient(90deg, rgba(1,7,17,.92), rgba(1,7,17,.40)),
      linear-gradient(0deg, rgba(1,7,17,.84) 0%, rgba(1,7,17,.24) 68%, rgba(1,7,17,.52) 100%);
  }
  .hero-copy {
    width: 100%;
    margin-top: 0;
    padding-left: 15px;
  }
  .hero-copy::before { height: 72vh; }
  h1 .headline-primary {
    max-width: 98%;
    font-size: clamp(34px, 10vw, 50px);
    line-height: 1.04;
    letter-spacing: -.045em;
  }
  h1 .headline-accent {
    max-width: 96%;
    margin-top: 18px;
    font-size: clamp(20px, 5.3vw, 27px);
    line-height: 1.17;
  }
  .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 18px;
    width: 100%;
    margin-top: 27px;
  }
  .hero-actions::before {
    left: 36px;
    right: auto;
    top: 37px;
    bottom: 37px;
    width: 1px;
    height: auto;
    background: linear-gradient(180deg, rgba(128,204,253,.75), rgba(255,255,255,.15), rgba(128,204,253,.45));
  }
  .action-orbit {
    grid-template-columns: 74px auto;
    min-width: 0;
    width: 100%;
  }
  .orbit-mark { width: 72px; height: 72px; }
  .action-copy { font-size: 16px; }
  .sound-control { left: 20px; bottom: 18px; }
  .intro-interface { display: block; }
  body.is-intro .intro-interface { left: 82px; }
  .intro-brand { margin-bottom: 14px; }
  .intro-status { width: 100%; }
}

@media (max-height: 760px) and (min-width: 701px) {
  .cover-content { margin-top: 28px; }
  .hero-copy { margin-top: 0; }
  h1 .headline-primary { font-size: clamp(34px, 4.2vw, 60px); }
  h1 .headline-accent { margin-top: 14px; font-size: clamp(19px, 2vw, 29px); }
  .hero-actions { margin-top: 24px; }
  .orbit-mark { width: 68px; height: 68px; }
  .action-orbit { grid-template-columns: 68px auto; }
  .hero-actions::before { top: 34px; }
}


@media (max-width: 1180px) and (min-width: 701px) {
  .hero-copy { width: min(720px, 56vw); }
  h1 .headline-primary { font-size: clamp(36px, 4.4vw, 58px); }
  h1 .headline-accent { font-size: clamp(20px, 2.15vw, 28px); }
  .cover-content {
    grid-template-columns: minmax(0, 1fr) clamp(340px, 32vw, 410px);
    gap: clamp(30px, 3.5vw, 54px);
  }
  .service-manifest { padding-inline: 28px; }
  .scan-title { font-size: clamp(24px, 2.2vw, 32px); }
  .scan-description { max-width: 320px; }
  .scan-visual { height: 248px; }
  .scan-node { font-size: 11px; padding: 7px 10px; }
}

@media (max-width: 700px) {
  body { overflow-y: auto; }
  .stage { min-height: 100svh; overflow-x: hidden; overflow-y: auto; }
  .cover { min-height: 100svh; height: auto; padding-bottom: 96px; }
  .cover-content {
    display: block;
    margin-top: clamp(28px, 5vh, 46px);
  }
  .service-manifest {
    top: 0;
    left: 0;
    width: calc(100% - 15px);
    min-height: 0;
    margin: 34px 0 0 15px;
    padding: 23px 19px 20px 27px;
    border-radius: 24px;
  }
  .service-manifest::after { border-radius: 24px; }
  .scan-watermark { font-size: 104px; top: -10px; right: -3px; }
  .scan-title { max-width: none; font-size: clamp(25px, 7vw, 32px); }
  .scan-description { max-width: none; font-size: 13px; }
  .scan-visual { height: 236px; margin-top: 18px; }
  .scan-center { width: 122px; height: 122px; }
  .scan-node { padding: 7px 9px; font-size: 10px; }
  .scan-node--website { left: 10px; top: 14px; }
  .scan-node--search { right: 10px; top: 28px; }
  .scan-node--reputation { right: 8px; }
  .scan-node--conversion { right: 22px; bottom: 18px; }
  .scan-node--systems { left: 12px; bottom: 18px; }
  .scan-cta { margin-top: 15px; padding: 14px 54px 14px 18px; border-radius: 16px; }
  .scan-cta::before { border-radius: 16px; }
  .scan-cta-copy { font-size: 15px; }
  .scan-cta-arrow { width: 32px; height: 32px; right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* Bottom navigation — futuristic tech navigation modules */
.section-dock {
  --dock-edge: clamp(154px, 10.2vw, 206px);
  position: absolute;
  left: var(--dock-edge);
  right: var(--dock-edge);
  bottom: clamp(98px, 10.8vh, 128px);
  z-index: 5;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 24px);
  min-height: 108px;
  opacity: 0;
  transform: translateY(26px);
  transition: opacity .85s 1.18s ease, transform .95s 1.18s var(--ease);
}
body.is-revealed .section-dock {
  opacity: 1;
  transform: translateY(0);
}

.dock-item {
  position: relative;
  min-width: 0;
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px 24px 24px;
  overflow: hidden;
  isolation: isolate;
  text-decoration: none;
  color: #f3f8ff;
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(128,204,253,.14), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(23,75,188,.16), transparent 30%),
    linear-gradient(rgba(128,204,253,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(128,204,253,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(10,18,36,.82), rgba(7,14,30,.64));
  background-size: auto, auto, 18px 18px, 18px 18px, auto;
  border: 1px solid rgba(160,208,255,.14);
  box-shadow:
    0 18px 48px rgba(0,0,0,.28),
    0 0 0 1px rgba(128,204,253,.05),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -16px 22px rgba(0,0,0,.12);
  transition: transform .45s var(--ease), box-shadow .45s ease, background .45s ease, border-color .35s ease;
}
.dock-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  padding: 1.4px;
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(128,204,253,.95), rgba(23,75,188,.82) 42%, rgba(23,65,170,.75) 74%, rgba(128,204,253,.84));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  opacity: .95;
  box-shadow: 0 0 20px rgba(128,204,253,.14), 0 0 10px rgba(23,75,188,.10);
}
.dock-item::after {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: 1;
  border-radius: 15px;
  border: 1px solid rgba(255,255,255,.06);
  background:
    linear-gradient(90deg, rgba(128,204,253,.16), rgba(128,204,253,.02) 24%, rgba(128,204,253,.02) 76%, rgba(23,75,188,.16)),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  pointer-events: none;
}

.dock-label {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  color: #eef5ff;
  font-family: "Inter", sans-serif;
  font-size: clamp(22px, 1.72vw, 28px);
  font-weight: 680;
  line-height: 1.03;
  letter-spacing: -.045em;
  text-align: center;
  text-wrap: balance;
  transition: transform .42s var(--ease), color .3s ease, text-shadow .3s ease;
  text-shadow: 0 0 10px rgba(128,204,253,.08);
}

.dock-pulse {
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 15px;
  z-index: 2;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(128,204,253,0), rgba(128,204,253,.14) 18%, rgba(128,204,253,.14) 82%, rgba(128,204,253,0));
  overflow: hidden;
}
.dock-pulse::before {
  content: "";
  position: absolute;
  left: -24%;
  top: 50%;
  width: 24%;
  height: 100%;
  border-radius: 999px;
  transform: translateY(-50%);
  background: linear-gradient(90deg, transparent, rgba(128,204,253,.98), rgba(23,75,188,.96), transparent);
  box-shadow: 0 0 12px rgba(128,204,253,.44), 0 0 20px rgba(23,75,188,.22);
  animation: dockTravel 4s linear infinite;
}
.dock-pulse::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

.dock-item:hover,
.dock-item:focus-visible {
  outline: none;
  transform: translateY(-7px);
  border-color: rgba(128,204,253,.26);
  background:
    radial-gradient(circle at 100% 0%, rgba(128,204,253,.18), transparent 34%),
    radial-gradient(circle at 0% 100%, rgba(23,75,188,.20), transparent 30%),
    linear-gradient(rgba(128,204,253,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(128,204,253,.05) 1px, transparent 1px),
    linear-gradient(180deg, rgba(12,22,44,.90), rgba(9,17,35,.74));
  background-size: auto, auto, 18px 18px, 18px 18px, auto;
  box-shadow:
    0 26px 66px rgba(0,0,0,.36),
    0 0 0 1px rgba(128,204,253,.14),
    0 0 28px rgba(23,75,188,.14),
    inset 0 1px 0 rgba(255,255,255,.08);
}
.dock-item:hover::before,
.dock-item:focus-visible::before {
  filter: brightness(1.12) saturate(1.08) drop-shadow(0 0 9px rgba(128,204,253,.24));
}
.dock-item:hover .dock-label,
.dock-item:focus-visible .dock-label {
  color: #ffffff;
  transform: translateY(-2px);
  text-shadow: 0 0 16px rgba(128,204,253,.18);
}
.dock-item:hover .dock-pulse::before,
.dock-item:focus-visible .dock-pulse::before {
  animation-duration: 2.2s;
}
@keyframes dockTravel {
  0% { left: -24%; }
  100% { left: 100%; }
}

@media (max-width: 1180px) and (min-width: 701px) {

  .section-dock {
    --dock-edge: clamp(128px, 9vw, 160px);
    left: var(--dock-edge);
    right: var(--dock-edge);
    gap: 12px;
    min-height: 100px;
  }
  .dock-item {
    min-height: 100px;
    padding: 22px 24px 24px;
  }
  .dock-label { font-size: clamp(18px, 1.8vw, 22px); }
  .dock-pulse { left: 24px; right: 24px; }
}

@media (max-width: 700px) {
  .section-dock {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: calc(100% - 30px);
    min-height: 0;
    margin: 28px 15px 0;
  }
  .dock-item {
    min-height: 92px;
    padding: 16px 14px 18px;
    border-radius: 20px;
  }
  .dock-item::before { border-radius: 20px; }
  .dock-item::after { inset: 8px; border-radius: 13px; }
  .dock-label {
    font-size: clamp(18px, 4.8vw, 21px);
    white-space: normal;
  }
  .dock-pulse { left: 16px; right: 16px; bottom: 12px; }
}


/* ========================================================================== */
/* Functional inner pages                                                     */
/* ========================================================================== */
:root {
  --pointer-x: 0;
  --pointer-y: 0;
  --page-pad-x: clamp(44px, 5vw, 86px);
  --page-top: clamp(104px, 12vh, 132px);
  --page-bottom: clamp(132px, 16vh, 170px);
  --panel-ink: #071633;
  --panel-line: rgba(23, 75, 188, .18);
}

.site-view {
  position: absolute;
  inset: 0;
}
.cover {
  transition: opacity .55s ease, visibility 0s .55s, transform .8s var(--ease);
}
.cover:not(.is-active) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none;
  transform: scale(1.018);
}

.site-page {
  z-index: 3;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: scale(1.018) translateY(10px);
  transition: opacity .5s ease, transform .85s var(--ease), visibility 0s .5s;
}
.site-page.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1) translateY(0);
  transition: opacity .58s .05s ease, transform .95s .03s var(--ease), visibility 0s;
}
.site-page::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at calc(58% + var(--pointer-x) * 2%) calc(46% + var(--pointer-y) * 2%), rgba(23,75,188,.08), transparent 30%),
    linear-gradient(90deg, rgba(1,7,17,.94), rgba(1,7,17,.70) 35%, rgba(1,7,17,.28) 68%, rgba(1,7,17,.43));
  pointer-events: none;
}

.page-brand {
  position: absolute;
  top: clamp(20px, 2.6vw, 42px);
  left: clamp(24px, 5vw, 86px);
  z-index: 9;
  width: clamp(195px, 15.5vw, 270px);
  padding: 8px 13px 9px 10px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-15px);
  background: linear-gradient(90deg, rgba(2,9,22,.60), rgba(2,9,22,.20) 72%, transparent);
  border-left: 2px solid rgba(128,204,253,.92);
  box-shadow: -10px 0 34px rgba(128,204,253,.10);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 0 100%);
  transition: opacity .42s ease, transform .55s var(--ease), visibility 0s .42s;
}
.page-brand img { display: block; width: 100%; height: auto; filter: drop-shadow(0 9px 24px rgba(0,0,0,.44)) drop-shadow(0 0 12px rgba(128,204,253,.17)); }
.page-brand.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition: opacity .55s .18s ease, transform .7s .14s var(--ease), visibility 0s;
}

.page-layout {
  position: absolute;
  top: var(--page-top);
  left: var(--page-pad-x);
  right: var(--page-pad-x);
  bottom: var(--page-bottom);
  display: grid;
  align-items: stretch;
  gap: clamp(54px, 6vw, 112px);
}
.page-copy {
  position: relative;
  align-self: center;
  padding-left: clamp(14px, 1.7vw, 28px);
}
.page-copy::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: linear-gradient(180deg, var(--aqua), rgba(128,204,253,.22));
  box-shadow: 0 0 14px rgba(128,204,253,.20);
}
.page-eyebrow {
  display: block;
  margin-bottom: 18px;
  color: var(--aqua);
  font-family: "Inter", sans-serif;
  font-size: clamp(14px, 1.08vw, 18px);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.page-copy h2 {
  margin: 0;
  color: #fff;
  font-family: "Inter", sans-serif;
  font-size: clamp(58px, 5.1vw, 92px);
  font-weight: 750;
  line-height: .93;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.page-lead {
  margin: 22px 0 0;
  max-width: 660px;
  color: var(--aqua);
  font-family: "Inter", sans-serif;
  font-size: clamp(21px, 1.7vw, 30px);
  font-weight: 500;
  line-height: 1.24;
  letter-spacing: -.035em;
}

.white-tech-panel {
  position: relative;
  overflow: hidden;
  color: var(--panel-ink);
  background:
    linear-gradient(rgba(23,65,170,.042) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,65,170,.042) 1px, transparent 1px),
    linear-gradient(145deg, rgba(239,245,249,.97), rgba(218,230,239,.95));
  background-size: 24px 24px, 24px 24px, auto;
  border: 1px solid rgba(218,231,241,.85);
  border-radius: 30px;
  box-shadow: 0 34px 100px rgba(0,0,0,.38), 0 0 0 1px rgba(128,204,253,.15), inset 0 1px 0 rgba(255,255,255,.72);
  backdrop-filter: blur(22px) saturate(1.12);
}
.white-tech-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 8;
  padding: 1.5px;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(128,204,253,.95), rgba(23,75,188,.82) 42%, rgba(23,65,170,.72) 70%, rgba(128,204,253,.82));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask-composite: exclude;
  pointer-events: none;
  box-shadow: 0 0 22px rgba(23,75,188,.12), 0 0 10px rgba(128,204,253,.12);
}
.white-tech-panel::after {
  content: "";
  position: absolute;
  inset: 13px;
  z-index: 1;
  border: 1px solid rgba(23,75,188,.11);
  border-radius: 21px;
  pointer-events: none;
}

/* Services */
.page-layout--services {
  grid-template-columns: minmax(360px, .72fr) minmax(690px, 1.28fr);
}
.services-copy { align-self: center; }
.services-copy h2 { font-size: clamp(64px, 5.2vw, 94px); }
.services-page.is-active { z-index: 6; }
/* Hidden Mission controls must never overlap the Services hit area. */
.mission-page:not(.is-active),
.mission-page:not(.is-active) * { pointer-events: none !important; }
.services-page.is-active .services-panel,
.services-page.is-active .service-row,
.services-page.is-active .outline-button { pointer-events: auto; }
.services-panel {
  z-index: 2;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  padding: 15px 20px;
  min-height: 0;
}
.service-row {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  padding: 18px 18px;
  border-bottom: 1px solid rgba(23,75,188,.14);
  transition: background .35s ease, transform .35s var(--ease);
}
.service-row:last-child { border-bottom: 0; }
.service-row:hover { background: rgba(255,255,255,.26); transform: translateX(-3px); }
.service-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 116px;
  height: 116px;
  margin-inline: auto;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.84), rgba(205,219,232,.62));
  border: 1px solid rgba(23,75,188,.16);
  box-shadow: 0 14px 28px rgba(23,65,170,.10), inset 0 1px 0 rgba(255,255,255,.8), 0 0 0 12px rgba(128,204,253,.055);
}
.service-icon::before,
.service-icon::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(23,75,188,.16);
}
.service-icon::before { inset: -12px; border-style: dashed; animation: spinSlow 15s linear infinite; }
.service-icon::after { inset: -23px; border-color: rgba(128,204,253,.18); }
.service-icon svg { width: 58px; height: 58px; fill: none; stroke: var(--blue); stroke-width: 3.1; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 5px 8px rgba(23,75,188,.22)); }
.service-number { color: #2374ee; font-family: "Inter", sans-serif; font-size: 15px; font-weight: 800; }
.service-row-copy h3 { margin: 8px 0 8px; color: #06132d; font-family: "Inter", sans-serif; font-size: clamp(22px, 1.55vw, 29px); line-height: 1.05; letter-spacing: -.045em; }
.service-row-copy p { margin: 0; max-width: 520px; color: rgba(6,19,45,.70); font-family: "Inter", sans-serif; font-size: clamp(13px, .92vw, 15px); line-height: 1.45; }
.outline-button {
  position: relative;
  z-index: 12;
  pointer-events: auto !important;
  touch-action: manipulation;
  min-width: 162px;
  padding: 15px 18px;
  border: 1px solid rgba(23,75,188,.52);
  border-radius: 13px;
  color: var(--navy);
  background: rgba(255,255,255,.45);
  font-family: "Inter", sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .3s var(--ease), color .25s ease, background .25s ease, box-shadow .3s ease;
}
.outline-button span { margin-left: 12px; }
.outline-button:hover,
.outline-button:focus-visible { outline: none; transform: translateY(-3px); color: white; background: var(--navy); box-shadow: 0 13px 28px rgba(23,65,170,.22); }

/* Pricing expansion */
.pricing-overlay {
  position: absolute;
  top: clamp(94px, 11vh, 124px);
  left: clamp(36px, 4vw, 70px);
  right: clamp(36px, 4vw, 70px);
  bottom: clamp(122px, 15.5vh, 164px);
  z-index: 18;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform-origin: 72% 50%;
  transform: scale(.72) translate(14%, 1%);
  transition: opacity .36s ease, transform .72s var(--ease), visibility 0s .72s;
}
.pricing-overlay.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: scale(1) translate(0,0);
  transition: opacity .38s ease, transform .72s var(--ease), visibility 0s;
}
.pricing-close {
  position: absolute;
  top: 19px;
  right: 22px;
  z-index: 12;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(23,75,188,.34);
  border-radius: 50%;
  color: var(--navy);
  background: rgba(255,255,255,.55);
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  transition: transform .3s var(--ease), background .25s ease, color .25s ease;
}
.pricing-close:hover { transform: rotate(90deg); color: white; background: var(--navy); }
.pricing-columns {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  height: 100%;
  padding: 42px 42px 28px;
}
.pricing-column {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0 clamp(24px, 2.5vw, 46px);
  border-right: 1px solid rgba(23,75,188,.17);
  transition: background .35s ease, box-shadow .35s ease;
}
.pricing-column:last-child { border-right: 0; }
.pricing-column.is-highlighted { background: rgba(128,204,253,.09); box-shadow: inset 0 0 0 1px rgba(128,204,253,.25); }
.pricing-icon {
  position: relative;
  display: grid;
  place-items: center;
  width: 110px;
  height: 110px;
  margin: 0 auto 15px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.88), rgba(208,222,233,.64));
  border: 1px solid rgba(23,75,188,.18);
  box-shadow: 0 14px 28px rgba(23,65,170,.11), 0 0 0 12px rgba(128,204,253,.055);
}
.pricing-icon::before { content:""; position:absolute; inset:-12px; border:1px dashed rgba(23,75,188,.22); border-radius:50%; animation:spinSlow 15s linear infinite; }
.pricing-icon svg { width: 57px; height: 57px; fill:none; stroke:var(--blue); stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }
.pricing-column h3 { min-height: 58px; margin: 7px 0 13px; color: #06132d; font-family:"Inter",sans-serif; font-size: clamp(21px,1.65vw,31px); line-height:1.02; letter-spacing:-.048em; }
.pricing-column ul { margin:0; padding:0; list-style:none; color:rgba(6,19,45,.75); font-family:"Inter",sans-serif; font-size:clamp(13px,.93vw,16px); line-height:1.42; }
.pricing-column li { position:relative; padding:4px 0 4px 20px; }
.pricing-column li::before { content:""; position:absolute; left:0; top:.85em; width:6px; height:6px; border-radius:50%; background:#2374ee; box-shadow:0 0 9px rgba(35,116,238,.35); }
.why-block { margin-top:auto; padding:18px 0 17px; border-top:1px solid rgba(23,75,188,.18); border-bottom:1px solid rgba(23,75,188,.18); }
.why-block strong { display:block; margin-bottom:8px; color:#1667df; font-family:"Inter",sans-serif; font-size:14px; text-transform:uppercase; letter-spacing:.02em; }
.why-block p { margin:0; color:rgba(6,19,45,.74); font-family:"Inter",sans-serif; font-size:clamp(13px,.92vw,15px); line-height:1.45; }
.price-row { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-top:17px; }
.price { color:#1768db; font-family:"Inter",sans-serif; font-size:clamp(31px,2.45vw,46px); font-weight:750; letter-spacing:-.055em; white-space:nowrap; }
.price small { color:#071633; font-size:.42em; font-weight:500; letter-spacing:-.02em; }
.price-row button { min-width:110px; padding:12px 18px; border:1px solid #2374ee; border-radius:11px; color:var(--navy); background:rgba(255,255,255,.55); font:700 15px "Inter",sans-serif; cursor:pointer; transition:.3s var(--ease); }
.price-row button:hover { color:white; background:var(--navy); transform:translateY(-3px); box-shadow:0 12px 24px rgba(23,65,170,.20); }
body.pricing-open .services-page { filter: brightness(.55) blur(2px); transform: scale(1.01); }
body.pricing-open .page-dock, body.pricing-open .page-brand { filter: brightness(.55); }

/* Mission */
.mission-page::before {
  background:
    linear-gradient(90deg, rgba(1,7,17,.96) 0%, rgba(1,7,17,.87) 32%, rgba(1,7,17,.16) 71%, rgba(1,7,17,.25) 100%),
    linear-gradient(0deg, rgba(1,7,17,.55), transparent 55%);
}
.mission-copy {
  position: absolute;
  top: clamp(130px, 16vh, 174px);
  left: var(--page-pad-x);
  width: min(690px, 43vw);
  align-self: unset;
}
.mission-copy h2 { font-size: clamp(47px, 4.25vw, 76px); line-height: 1.01; }
.mission-copy h2 em { color: var(--aqua); font-style: normal; }
.mission-copy .page-lead { max-width: 600px; font-size: clamp(19px,1.5vw,27px); }
.mission-body { max-width: 580px; margin: 24px 0 0; color: rgba(255,255,255,.88); font-family:"Inter",sans-serif; font-size:clamp(15px,1.08vw,19px); line-height:1.48; letter-spacing:-.018em; }

/* Previous work */
.page-layout--work { grid-template-columns: minmax(390px,.72fr) minmax(700px,1.28fr); }
.work-copy h2 { font-size: clamp(56px, 5.25vw, 92px); }
.work-copy .page-lead { max-width: 580px; }
.work-body { max-width: 530px; margin:22px 0 0; color:rgba(255,255,255,.76); font:500 clamp(15px,1.08vw,19px)/1.5 "Inter",sans-serif; }
.work-actions { display:flex; gap:34px; margin-top:32px; }
.mini-action { display:flex; align-items:center; gap:13px; padding:0; border:0; color:#fff; background:none; font:600 14px "Inter",sans-serif; cursor:pointer; }
.mini-action span { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; border:1px solid rgba(128,204,253,.58); color:var(--aqua); box-shadow:0 0 0 6px rgba(128,204,253,.06); transition:.3s var(--ease); }
.mini-action:hover span { transform:translateY(-3px); background:var(--navy); color:white; }
.project-panel { z-index:2; display:flex; flex-direction:column; min-height:0; padding:22px 36px 24px; }
.project-panel-top { position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; height:34px; font:650 12px "Inter",sans-serif; color:#071633; text-transform:uppercase; letter-spacing:.03em; }
.project-kicker { display:inline-flex; align-items:center; gap:10px; }
.project-kicker i { width:9px; height:9px; border-radius:50%; background:var(--aqua); box-shadow:0 0 0 6px rgba(128,204,253,.16),0 0 15px rgba(128,204,253,.45); }
.project-counter { color:rgba(6,19,45,.45); }
.project-counter b { color:var(--navy); }
.project-stage { position:relative; z-index:2; flex:1; min-height:0; display:grid; place-items:center; padding:14px 48px 10px; }
.project-browser { width:min(100%,760px); border:1px solid rgba(23,75,188,.26); border-radius:16px; overflow:hidden; background:#061022; box-shadow:0 18px 42px rgba(6,19,45,.24); transition:opacity .2s ease, transform .36s var(--ease); }
.project-panel.is-changing .project-browser, .project-panel.is-changing .project-summary, .project-panel.is-changing .project-meta { opacity:.15; transform:translateX(10px); }
.browser-bar { height:30px; display:flex; align-items:center; gap:6px; padding:0 12px; background:#e7eef4; border-bottom:1px solid rgba(23,75,188,.16); }
.browser-bar > span { width:7px; height:7px; border-radius:50%; background:rgba(23,75,188,.28); }
.browser-bar small { margin-left:8px; color:rgba(6,19,45,.45); font:500 9px "Inter",sans-serif; }
.browser-screen { position:relative; height:clamp(260px,31vh,360px); overflow:hidden; color:white; background:#020918; transition:background .4s ease; }
.browser-screen::before { content:""; position:absolute; inset:0; background:linear-gradient(rgba(128,204,253,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(128,204,253,.035) 1px,transparent 1px); background-size:24px 24px; }
.mock-nav { position:relative; z-index:2; display:flex; justify-content:space-between; padding:18px 24px; color:rgba(255,255,255,.72); font:500 8px "Inter",sans-serif; }
.mock-nav b { color:white; font-size:11px; letter-spacing:.08em; }
.mock-copy { position:relative; z-index:2; width:54%; padding:35px 0 0 44px; }
.mock-copy h4 { margin:0; color:white; font:750 clamp(22px,2.1vw,36px)/.98 "Inter",sans-serif; letter-spacing:-.055em; }
.mock-copy p { width:90%; margin:14px 0 16px; color:rgba(255,255,255,.65); font:500 11px/1.45 "Inter",sans-serif; }
.mock-copy button { padding:9px 13px; border:1px solid rgba(128,204,253,.35); border-radius:6px; color:white; background:rgba(23,75,188,.35); font:600 9px "Inter",sans-serif; }
.mock-visual { position:absolute; right:3%; bottom:4%; width:42%; height:85%; }
.browser-screen--aerospace {
  background-color:#020918;
  background-image:url("assets/encore-cover.png");
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
}
.browser-screen--aerospace::before { display:none; }
.browser-screen--aerospace .mock-nav,
.browser-screen--aerospace .mock-copy,
.browser-screen--aerospace .mock-visual {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.engine-ring { position:absolute; right:13%; top:10%; width:210px; aspect-ratio:1; border-radius:50%; border:22px solid #8996a4; box-shadow:inset 0 0 0 11px #1a2735,0 22px 30px rgba(0,0,0,.45),0 0 28px rgba(128,204,253,.14); background:repeating-conic-gradient(from 2deg,#111c29 0 7deg,#53606b 8deg 12deg); }
.engine-core { position:absolute; right:calc(13% + 77px); top:calc(10% + 77px); width:56px; height:56px; border-radius:50%; background:radial-gradient(circle,#e43b30 0 22%,#871b19 23% 58%,#172434 60%); box-shadow:0 0 0 9px #0e1825; }
.browser-screen--industrial { background:radial-gradient(circle at 76% 55%,rgba(103,191,80,.17),transparent 35%),linear-gradient(135deg,#06100e,#0a1b23); }
.tower { position:absolute; bottom:12%; width:32px; border:2px solid rgba(179,201,206,.55); background:linear-gradient(90deg,#14252b,#33494c,#0d181c); box-shadow:0 0 18px rgba(103,191,80,.14); }
.tower::before,.tower::after { content:""; position:absolute; left:-18px; width:68px; height:3px; background:#40565a; box-shadow:0 14px 0 #40565a,0 28px 0 #40565a,0 42px 0 #40565a; }
.tower--one { right:45%; height:52%; }.tower--two { right:28%; height:72%; width:44px; }.tower--three { right:10%; height:42%; }
.factory-light { position:absolute; inset:25% 4% 7% 38%; background:radial-gradient(circle at 35% 65%,rgba(103,191,80,.28),transparent 28%),linear-gradient(transparent 75%,rgba(255,255,255,.08)); }
.browser-screen--growth { background:radial-gradient(circle at 76% 54%,rgba(128,204,253,.18),transparent 36%),linear-gradient(135deg,#070d1b,#0a1429); }
.growth-chart { position:absolute; right:2%; bottom:9%; width:94%; height:72%; filter:drop-shadow(0 0 13px rgba(128,204,253,.2)); }
.project-arrow { position:absolute; z-index:4; top:50%; display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(23,75,188,.42); border-radius:13px; color:#2374ee; background:rgba(255,255,255,.65); font-size:24px; cursor:pointer; transform:translateY(-50%); transition:.3s var(--ease); }
.project-arrow:hover { color:white; background:var(--navy); box-shadow:0 13px 28px rgba(23,65,170,.22); }
.project-arrow--left { left:0; }.project-arrow--right { right:0; }
.project-summary { position:relative; z-index:2; padding:2px 30px 14px; transition:opacity .2s ease,transform .35s var(--ease); }
.project-summary h3 { margin:0 0 7px; color:#071633; font:750 clamp(20px,1.6vw,29px)/1 "Inter",sans-serif; letter-spacing:-.045em; }
.project-summary p { margin:0; color:rgba(6,19,45,.68); font:500 13px/1.42 "Inter",sans-serif; }
.project-meta { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:15px 30px 4px; border-top:1px solid rgba(23,75,188,.15); transition:opacity .2s ease,transform .35s var(--ease); }
.project-meta span { display:block; margin-bottom:7px; color:#2374ee; font:700 9px "Inter",sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.project-meta strong { color:rgba(6,19,45,.72); font:600 10px/1.35 "Inter",sans-serif; }

/* Contact */
.contact-page { display:grid; place-items:center; padding:var(--page-top) var(--page-pad-x) var(--page-bottom); }
.contact-page::before { background:rgba(1,7,17,.34); backdrop-filter:blur(16px) brightness(.66); }
.contact-blur { position:absolute; inset:-40px; z-index:-2; background:radial-gradient(circle at 50% 43%,rgba(128,204,253,.12),transparent 30%); filter:blur(25px); }
.contact-form { z-index:2; width:min(760px,62vw); padding:48px 38px 32px; }
.contact-form > * { position:relative; z-index:2; }
.hidden-field { position:absolute!important; left:-9999px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; }
.contact-form label { display:block; }
.contact-form label > span { display:block; margin:0 0 7px 2px; color:rgba(6,19,45,.62); font:500 13px "Inter",sans-serif; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%; border:1px solid rgba(23,75,188,.20); border-radius:10px; outline:none; color:#071633; background:rgba(255,255,255,.43); box-shadow:inset 0 1px 0 rgba(255,255,255,.62); font:500 15px "Inter",sans-serif; transition:border-color .25s ease,box-shadow .25s ease,background .25s ease; }
.contact-form input { height:48px; padding:0 14px; }
.contact-form select { height:58px; padding:0 14px; cursor:pointer; }
.contact-form textarea { min-height:132px; padding:14px; resize:vertical; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:rgba(23,75,188,.62); background:rgba(255,255,255,.70); box-shadow:0 0 0 4px rgba(128,204,253,.12); }
.select-field,.message-field { margin-top:18px; }
.send-button { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:62px; margin-top:18px; overflow:hidden; border:1.5px solid rgba(23,75,188,.54); border-radius:14px; color:#071633; background:rgba(255,255,255,.45); font:750 19px "Inter",sans-serif; cursor:pointer; transition:.35s var(--ease); }
.send-button svg { position:absolute; right:16px; width:35px; height:35px; padding:8px; border:1px solid rgba(23,75,188,.24); border-radius:8px; fill:none; stroke:var(--navy); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; transition:.3s var(--ease); }
.send-button::before { content:""; position:absolute; top:0; bottom:0; left:-35%; width:24%; transform:skewX(-22deg); background:linear-gradient(90deg,transparent,rgba(128,204,253,.36),transparent); transition:left .75s var(--ease); }
.send-button:hover { color:white; background:var(--navy); transform:translateY(-3px); box-shadow:0 16px 32px rgba(23,65,170,.22); }
.send-button:hover::before { left:120%; }.send-button:hover svg { stroke:white; border-color:rgba(255,255,255,.35); }
.send-button.is-sending span::after { content:"…"; animation:dots 1s steps(3,end) infinite; }
@keyframes dots { 0%{content:""} 33%{content:"."} 66%{content:".."} 100%{content:"..."} }
.form-success { position:absolute; z-index:20; display:grid; place-items:center; text-align:center; width:min(520px,80vw); padding:54px 42px; opacity:0; visibility:hidden; transform:scale(.82); border:1px solid rgba(128,204,253,.55); border-radius:28px; color:white; background:rgba(2,9,22,.92); box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 34px rgba(128,204,253,.16); backdrop-filter:blur(18px); transition:.55s var(--ease); }
.form-success.is-visible { opacity:1; visibility:visible; transform:scale(1); }
.success-mark { display:grid; place-items:center; width:88px; height:88px; border-radius:50%; border:1px solid rgba(128,204,253,.55); box-shadow:0 0 0 13px rgba(128,204,253,.07),0 0 30px rgba(128,204,253,.18); }
.success-mark svg { width:48px; fill:none; stroke:var(--aqua); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.form-success h2 { margin:27px 0 8px; font:750 40px/1 "Inter",sans-serif; letter-spacing:-.05em; }.form-success p { margin:0;color:rgba(255,255,255,.72);font:500 16px "Inter",sans-serif; }.form-success button { margin-top:26px;padding:12px 20px;border:1px solid rgba(128,204,253,.44);border-radius:10px;color:white;background:rgba(23,75,188,.3);font:650 14px "Inter",sans-serif;cursor:pointer; }

/* Page dock and transitions */
.page-dock { opacity:0!important; visibility:hidden; pointer-events:none; transform:translateY(25px)!important; }
.page-dock.is-visible { opacity:1!important; visibility:visible; pointer-events:auto; transform:translateY(0)!important; transition:opacity .55s .25s ease,transform .75s .2s var(--ease),visibility 0s!important; }
.page-dock .dock-item.is-current { transform:translateY(-3px); border-color:rgba(128,204,253,.40); box-shadow:0 24px 62px rgba(0,0,0,.34),0 0 0 1px rgba(128,204,253,.22),0 0 30px rgba(23,75,188,.16),inset 0 1px 0 rgba(255,255,255,.08); }
.page-dock .dock-item.is-current::before { filter:brightness(1.18) saturate(1.12) drop-shadow(0 0 9px rgba(128,204,253,.26)); }
.page-dock .dock-item.is-current .dock-label { color:#fff; text-shadow:0 0 16px rgba(128,204,253,.19); }
.page-dock .dock-item.is-current .dock-pulse::before { animation-duration:2s; }
.page-transition { position:absolute; inset:0; z-index:30; opacity:0; pointer-events:none; overflow:hidden; background:radial-gradient(circle at 50% 50%,rgba(128,204,253,.10),transparent 36%); }
.page-transition span { position:absolute; left:-40%; width:38%; height:2px; background:linear-gradient(90deg,transparent,var(--aqua),transparent); box-shadow:0 0 18px rgba(128,204,253,.8); transform:skewX(-22deg); opacity:0; }
.page-transition span:nth-child(1){top:34%}.page-transition span:nth-child(2){top:50%}.page-transition span:nth-child(3){top:66%}
body.is-switching .page-transition { animation:pageFlash .75s ease both; }
body.is-switching .page-transition span { animation:pageStreak .72s cubic-bezier(.2,.8,.2,1) both; }
body.is-switching .page-transition span:nth-child(2){animation-delay:.07s}body.is-switching .page-transition span:nth-child(3){animation-delay:.14s}
@keyframes pageFlash { 0%{opacity:0}30%{opacity:1}100%{opacity:0} }
@keyframes pageStreak { 0%{left:-40%;opacity:0}25%{opacity:1}100%{left:110%;opacity:0} }

/* Responsive inner pages */
@media (max-width: 1320px) {
  :root { --page-pad-x: clamp(34px,4vw,58px); --page-top: 100px; --page-bottom: 142px; }
  .page-layout { gap:38px; }
  .page-layout--services { grid-template-columns:minmax(310px,.62fr) minmax(620px,1.38fr); }
  .service-row { grid-template-columns:125px minmax(0,1fr) auto; gap:16px; padding-inline:10px; }
  .service-icon { width:96px;height:96px; }.service-icon svg{width:48px;height:48px;}
  .outline-button{min-width:145px;padding:13px 13px;}
  .page-layout--work { grid-template-columns:minmax(330px,.62fr) minmax(630px,1.38fr); }
  .project-panel { padding-inline:24px; }
  .pricing-columns { padding-inline:25px; }.pricing-column{padding-inline:24px;}
}

@media (max-width: 1050px) {
  body { overflow:auto; }
  .stage { min-height:100svh; overflow-x:hidden; overflow-y:auto; }
  .site-view { position:absolute; min-height:100svh; }
  .site-page.is-active { position:relative; min-height:100svh; }
  .page-brand { width:190px; }
  .page-layout { position:relative; top:auto;left:auto;right:auto;bottom:auto;display:block;padding:120px 28px 170px; }
  .page-copy { width:100%; max-width:680px; margin-bottom:38px; }
  .page-layout--services,.page-layout--work { display:block; }
  .services-panel,.project-panel { min-height:680px; }
  .mission-copy { position:relative; top:auto;left:auto;width:auto;max-width:680px;margin:0;padding:140px 28px 180px 52px; }
  .contact-page { position:relative; min-height:100svh; padding:125px 24px 165px; }
  .contact-form { width:min(760px,94vw); }
  .pricing-overlay { position:fixed; top:82px;left:22px;right:22px;bottom:112px; overflow:auto; }
  .pricing-columns { grid-template-columns:1fr; height:auto; }.pricing-column{border-right:0;border-bottom:1px solid rgba(23,75,188,.17);padding:25px;}.pricing-column:last-child{border-bottom:0}.pricing-column h3{min-height:0}.why-block{margin-top:18px}
}

@media (max-width: 700px) {
  :root { --page-top:90px; --page-bottom:190px; }
  .page-brand { top:18px;left:18px;width:170px; }
  .page-layout { padding:105px 16px 210px; }
  .page-copy { padding-left:17px; }
  .page-copy h2 { font-size:clamp(48px,14vw,66px); }
  .page-lead { font-size:20px; }
  .services-panel { padding:15px 14px; min-height:0; }
  .service-row { grid-template-columns:82px 1fr; gap:13px; padding:23px 6px; }
  .service-icon { width:68px;height:68px; }.service-icon::before{inset:-7px}.service-icon::after{display:none}.service-icon svg{width:35px;height:35px}.service-row-copy h3{font-size:20px}.service-row-copy p{font-size:12px}.outline-button{grid-column:1/-1;width:100%;margin-top:8px;}
  .mission-copy { padding:115px 20px 210px 42px; }.mission-copy h2{font-size:43px}.mission-copy .page-lead{font-size:19px}.mission-body{font-size:15px}
  .work-actions{flex-direction:column;gap:18px}.project-panel{padding:18px 12px 22px;min-height:620px}.project-stage{padding:12px 0}.project-arrow{width:36px;height:36px}.browser-screen{height:250px}.mock-copy{width:64%;padding:28px 0 0 22px}.mock-copy h4{font-size:23px}.engine-ring{width:135px;border-width:15px}.engine-core{right:calc(13% + 48px);top:calc(10% + 48px);width:40px;height:40px}.project-meta{grid-template-columns:1fr 1fr;padding-inline:18px}.project-summary{padding-inline:18px}
  .contact-page { padding:110px 14px 220px; }.contact-form{width:100%;padding:32px 18px 24px}.contact-grid{grid-template-columns:1fr}.contact-form textarea{min-height:120px}
  .pricing-overlay { top:76px;left:9px;right:9px;bottom:132px;border-radius:22px; }.pricing-columns{padding:55px 12px 18px}.pricing-column{padding:22px 14px}.pricing-icon{width:90px;height:90px}.price-row{align-items:flex-end}.price{font-size:32px}
  .page-dock { position:fixed!important; left:12px!important;right:12px!important;bottom:12px!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:auto!important;margin:0!important; }.page-dock .dock-item{min-height:64px!important;padding:12px!important;border-radius:18px!important}.page-dock .dock-item::before{border-radius:18px!important}.page-dock .dock-item::after{border-radius:12px!important;inset:7px!important}.page-dock .dock-label{font-size:15px!important}.page-dock .dock-pulse{bottom:8px!important;left:16px!important;right:16px!important}
}

/* Inner-page viewport fit: keep content panels above the navigation dock */
@media (min-width: 1051px) {
  :root {
    --page-top: clamp(96px, 10.5vh, 118px);
    --page-bottom: clamp(142px, 15vh, 162px);
  }

  .page-dock {
    bottom: clamp(28px, 4vh, 48px);
    min-height: 84px;
  }

  .page-dock .dock-item {
    min-height: 84px;
    padding: 17px 22px 20px;
  }

  .page-dock .dock-label {
    font-size: clamp(18px, 1.35vw, 23px);
  }

  .page-dock .dock-pulse {
    bottom: 11px;
  }

  .services-panel,
  .project-panel {
    height: 100%;
    max-height: 100%;
    min-height: 0;
  }
}

@media (min-width: 1051px) and (max-height: 850px) {
  :root {
    --page-top: 88px;
    --page-bottom: 138px;
  }

  .page-layout {
    gap: clamp(34px, 4vw, 64px);
  }

  .services-copy h2,
  .work-copy h2 {
    font-size: clamp(52px, 4.4vw, 72px);
  }

  .page-lead {
    margin-top: 16px;
    font-size: clamp(18px, 1.45vw, 24px);
  }

  .services-panel {
    padding: 10px 15px;
  }

  .service-row {
    grid-template-columns: 112px minmax(0, 1fr) auto;
    gap: 14px;
    padding: 10px 8px;
  }

  .service-icon {
    width: 82px;
    height: 82px;
  }

  .service-icon::before { inset: -8px; }
  .service-icon::after { inset: -15px; }
  .service-icon svg { width: 41px; height: 41px; }
  .service-row-copy h3 { margin: 5px 0 5px; font-size: clamp(19px, 1.4vw, 25px); }
  .service-row-copy p { font-size: 12px; line-height: 1.36; }
  .outline-button { min-width: 140px; padding: 12px 12px; font-size: 12px; }

  .work-body {
    margin-top: 15px;
    font-size: 14px;
  }

  .work-actions {
    margin-top: 20px;
  }

  .project-panel {
    padding: 14px 24px 15px;
  }

  .project-panel-top {
    height: 26px;
  }

  .project-stage {
    padding: 8px 42px 6px;
  }

  .browser-screen {
    height: clamp(205px, 27vh, 245px);
  }

  .mock-copy {
    padding-top: 25px;
  }

  .engine-ring {
    width: 160px;
    border-width: 18px;
  }

  .engine-core {
    right: calc(13% + 58px);
    top: calc(10% + 58px);
    width: 44px;
    height: 44px;
  }

  .project-summary {
    padding: 0 24px 8px;
  }

  .project-summary h3 {
    margin-bottom: 4px;
    font-size: clamp(18px, 1.45vw, 24px);
  }

  .project-summary p {
    font-size: 11px;
  }

  .project-meta {
    gap: 10px;
    padding: 9px 24px 0;
  }

  .project-meta span { margin-bottom: 4px; font-size: 8px; }
  .project-meta strong { font-size: 9px; }

  .page-dock {
    bottom: 22px;
    min-height: 76px;
  }

  .page-dock .dock-item {
    min-height: 76px;
    padding: 14px 18px 17px;
  }
}


/* ========================================================================== */
/* Scrolling mission experience                                               */
/* ========================================================================== */
.mission-page {
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 34%, rgba(23,75,188,.10), transparent 32%),
    linear-gradient(180deg, rgba(1,7,17,.10), rgba(1,7,17,.24));
}
.mission-page::before {
  position: fixed;
  background:
    linear-gradient(90deg, rgba(1,7,17,.93) 0%, rgba(1,7,17,.68) 42%, rgba(1,7,17,.28) 73%, rgba(1,7,17,.44) 100%),
    linear-gradient(0deg, rgba(1,7,17,.74), transparent 62%);
}
.mission-scroll {
  position: absolute;
  inset: 0;
  z-index: 1;
  overflow-x: hidden;
  overflow-y: auto;
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.mission-scroll::-webkit-scrollbar { width: 0; height: 0; }
.mission-section {
  position: relative;
  min-height: 100svh;
  height: 100svh;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: grid;
  align-items: center;
  padding: clamp(126px, 14vh, 158px) clamp(80px, 7vw, 128px) clamp(176px, 18vh, 206px);
  isolation: isolate;
}
.mission-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}
.mission-section::after {
  content: "";
  position: absolute;
  left: clamp(80px, 7vw, 128px);
  right: clamp(80px, 7vw, 128px);
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(128,204,253,.18), rgba(23,75,188,.28), transparent);
  pointer-events: none;
}
.mission-reveal {
  opacity: .08;
  transform: translateY(42px);
  filter: blur(7px);
  transition: opacity .9s ease, transform 1s var(--ease), filter .9s ease;
}
.mission-reveal.is-in-view {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

/* Section 1 — purpose */
.mission-hero {
  grid-template-columns: minmax(470px,.92fr) minmax(420px,.72fr);
  gap: clamp(70px, 8vw, 150px);
}
.mission-hero::before {
  background:
    radial-gradient(circle at 72% 48%, rgba(128,204,253,.075), transparent 28%),
    linear-gradient(90deg, rgba(1,7,17,.82), rgba(1,7,17,.22) 68%, rgba(1,7,17,.1));
}
.mission-hero-copy {
  position: relative;
  max-width: 760px;
  padding-left: clamp(18px,1.8vw,30px);
}
.mission-hero-copy::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: linear-gradient(180deg,var(--aqua),rgba(128,204,253,.14));
  box-shadow: 0 0 15px rgba(128,204,253,.22);
}
.mission-hero-copy h2,
.mission-statement h2,
.mission-stage-heading h2,
.principles-intro h2,
.mission-close-inner h2 {
  margin: 0;
  color: white;
  font-family: "Inter",sans-serif;
  font-weight: 760;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.mission-hero-copy h2 { font-size: clamp(54px,5vw,92px); line-height:.94; }
.mission-hero-copy h2 em,
.mission-statement h2 em { color: var(--aqua); font-style: normal; }
.mission-hero-lead {
  max-width: 690px;
  margin: 28px 0 0;
  color: var(--aqua);
  font: 520 clamp(21px,1.55vw,29px)/1.24 "Inter",sans-serif;
  letter-spacing: -.038em;
}
.mission-hero-body {
  max-width: 640px;
  margin: 22px 0 0;
  color: rgba(255,255,255,.78);
  font: 480 clamp(15px,1vw,18px)/1.58 "Inter",sans-serif;
  letter-spacing: -.018em;
}
.mission-scroll-cue {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 30px;
  padding: 0;
  border: 0;
  color: white;
  background: transparent;
  font: 650 14px "Inter",sans-serif;
  cursor: pointer;
}
.mission-scroll-cue span { transition: color .3s ease, transform .35s var(--ease); }
.mission-scroll-cue:hover span,
.mission-scroll-cue:focus-visible span { color: var(--aqua); transform: translateX(3px); }
.mission-scroll-cue:focus-visible { outline: 2px solid rgba(128,204,253,.75); outline-offset: 8px; border-radius: 8px; }
.mission-scroll-cue i {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(128,204,253,.45);
  border-radius: 50%;
  color: var(--aqua);
  font-style: normal;
  box-shadow: 0 0 0 7px rgba(128,204,253,.05);
  animation: missionNudge 2.2s ease-in-out infinite;
}
@keyframes missionNudge { 50% { transform: translateY(6px); } }
.mission-signal {
  position: relative;
  justify-self: center;
  width: min(38vw,530px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle,rgba(128,204,253,.09),transparent 57%);
}
.mission-orbit,.mission-sweep,.mission-core { position:absolute; border-radius:50%; }
.mission-orbit { inset: 9%; border:1px solid rgba(128,204,253,.19); }
.mission-orbit--two { inset: 21%; border-style:dashed; border-color:rgba(23,75,188,.33); animation:spinSlow 17s linear infinite reverse; }
.mission-orbit--three { inset: 33%; border-color:rgba(128,204,253,.33); box-shadow:0 0 30px rgba(128,204,253,.08); }
.mission-orbit--one::before,.mission-orbit--two::before,.mission-orbit--three::before {
  content:"";
  position:absolute;
  top:50%;left:-4px;
  width:8px;height:8px;
  margin-top:-4px;
  border-radius:50%;
  background:var(--aqua);
  box-shadow:0 0 14px rgba(128,204,253,.8);
}
.mission-sweep {
  inset:5%;
  background:conic-gradient(from 30deg,transparent 0 314deg,rgba(128,204,253,.7) 336deg,transparent 360deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);
  mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 0);
  animation:scanSweep 6.5s linear infinite;
}
.mission-core {
  inset:36%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,rgba(235,244,250,.95),rgba(190,209,224,.88));
  border:1px solid rgba(128,204,253,.65);
  box-shadow:0 22px 48px rgba(0,0,0,.28),0 0 0 18px rgba(128,204,253,.055),0 0 34px rgba(128,204,253,.16);
}
.mission-logo-mark {
  position: relative;
  z-index: 2;
  display: block;
  width: 72%;
  height: 72%;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(23,65,170,.22)) drop-shadow(0 0 14px rgba(128,204,253,.18));
  animation: missionLogoFloat 4.8s var(--ease) infinite;
}
@keyframes missionLogoFloat {
  0%,100% { transform: translateY(0) scale(.98); }
  50% { transform: translateY(-5px) scale(1.025); }
}
.mission-signal-label {
  position:absolute;
  padding:10px 14px;
  border:1px solid rgba(128,204,253,.2);
  border-radius:10px;
  color:rgba(255,255,255,.82);
  background:rgba(4,14,31,.58);
  box-shadow:0 12px 26px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(10px);
  font:600 12px "Inter",sans-serif;
}
.mission-signal-label--one { left:0; top:25%; }
.mission-signal-label--two { right:0; top:43%; }
.mission-signal-label--three { left:10%; bottom:16%; }

/* Section 2 — complete team */
.mission-team::before {
  background:
    radial-gradient(circle at 14% 50%,rgba(23,75,188,.11),transparent 31%),
    radial-gradient(circle at 83% 44%,rgba(128,204,253,.06),transparent 28%),
    linear-gradient(180deg,rgba(1,7,17,.5),rgba(3,12,28,.82));
}
.mission-team-grid {
  display:grid;
  grid-template-columns:minmax(480px,.92fr) minmax(520px,1.08fr);
  gap:clamp(70px,9vw,160px);
  align-items:center;
}
.mission-statement { max-width:760px; }
.mission-statement h2 { font-size:clamp(56px,5.25vw,96px); line-height:.94; }
.mission-statement p {
  max-width:700px;
  margin:28px 0 0;
  color:rgba(255,255,255,.76);
  font:480 clamp(16px,1.13vw,20px)/1.6 "Inter",sans-serif;
}
.mission-system {
  position:relative;
  padding:24px 0;
}
.mission-system::before {
  content:"";
  position:absolute;
  left:28px;
  top:55px;
  bottom:55px;
  width:1px;
  background:linear-gradient(var(--aqua),rgba(23,75,188,.18));
  box-shadow:0 0 14px rgba(128,204,253,.18);
}
.system-row {
  position:relative;
  display:grid;
  grid-template-columns:62px 165px 1fr;
  align-items:center;
  gap:16px;
  min-height:110px;
  padding:18px 20px;
  border-bottom:1px solid rgba(128,204,253,.12);
  transition:background .35s ease,transform .4s var(--ease);
}
.system-row:last-child { border-bottom:0; }
.system-row:hover { transform:translateX(8px); background:linear-gradient(90deg,rgba(128,204,253,.055),transparent); }
.system-row span {
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border:1px solid rgba(128,204,253,.35);
  border-radius:50%;
  color:var(--aqua);
  background:#061226;
  font:750 13px "Inter",sans-serif;
  box-shadow:0 0 0 8px rgba(128,204,253,.04);
}
.system-row strong { color:#fff; font:690 clamp(19px,1.35vw,24px) "Inter",sans-serif; letter-spacing:-.035em; }
.system-row p { margin:0; color:rgba(255,255,255,.60); font:480 14px/1.45 "Inter",sans-serif; }

/* Section 3 — every stage */
.mission-every-stage {
  align-content:center;
  gap:50px;
}
.mission-every-stage::before {
  background:
    radial-gradient(circle at 50% 5%,rgba(128,204,253,.08),transparent 32%),
    linear-gradient(180deg,rgba(3,12,28,.82),rgba(1,7,17,.86));
}
.mission-stage-heading { max-width:1030px; }
.mission-stage-heading h2 { font-size:clamp(46px,4.3vw,78px); line-height:.98; }
.mission-stage-heading p { max-width:830px; margin:22px 0 0; color:rgba(255,255,255,.7); font:480 clamp(16px,1.08vw,19px)/1.55 "Inter",sans-serif; }
.mission-stage-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.stage-card {
  position:relative;
  min-height:390px;
  padding:34px 32px 30px;
  overflow:hidden;
  border:1px solid rgba(128,204,253,.18);
  border-radius:25px;
  background:
    linear-gradient(rgba(128,204,253,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(128,204,253,.025) 1px,transparent 1px),
    linear-gradient(145deg,rgba(9,21,43,.82),rgba(4,13,29,.72));
  background-size:22px 22px,22px 22px,auto;
  box-shadow:0 24px 55px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.035);
  transition:transform .45s var(--ease),border-color .35s ease,box-shadow .4s ease;
}
.stage-card::before {
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--aqua),var(--blue),transparent);
  opacity:.55;
}
.stage-card:hover { transform:translateY(-9px); border-color:rgba(128,204,253,.36); box-shadow:0 32px 74px rgba(0,0,0,.34),0 0 28px rgba(23,75,188,.10); }
.stage-card-number { color:rgba(128,204,253,.68); font:750 13px "Inter",sans-serif; letter-spacing:.08em; }
.stage-card-icon {
  display:flex;
  align-items:flex-end;
  gap:7px;
  width:78px;
  height:64px;
  margin:30px 0 27px;
  padding:12px;
  border:1px solid rgba(128,204,253,.22);
  border-radius:17px;
  background:rgba(128,204,253,.035);
}
.stage-card-icon i { display:block; width:12px; border-radius:4px 4px 1px 1px; background:linear-gradient(var(--aqua),var(--blue)); box-shadow:0 0 10px rgba(128,204,253,.2); }
.stage-card-icon i:nth-child(1){height:18px}.stage-card-icon i:nth-child(2){height:30px}.stage-card-icon i:nth-child(3){height:42px}
.stage-card-icon--growth i:nth-child(1){height:26px}.stage-card-icon--growth i:nth-child(2){height:39px}.stage-card-icon--growth i:nth-child(3){height:52px}
.stage-card-icon--scale i:nth-child(1){height:35px}.stage-card-icon--scale i:nth-child(2){height:45px}.stage-card-icon--scale i:nth-child(3){height:54px}
.stage-card h3 { margin:0; color:white; font:720 clamp(23px,1.7vw,31px)/1.04 "Inter",sans-serif; letter-spacing:-.045em; }
.stage-card p { min-height:105px; margin:18px 0 24px; color:rgba(255,255,255,.65); font:480 15px/1.52 "Inter",sans-serif; }
.stage-card strong { display:block; padding-top:18px; border-top:1px solid rgba(128,204,253,.13); color:var(--aqua); font:650 11px "Inter",sans-serif; letter-spacing:.08em; text-transform:uppercase; }

/* Section 4 — principles */
.mission-principles {
  grid-template-columns:minmax(420px,.72fr) minmax(590px,1.28fr);
  gap:clamp(70px,8vw,140px);
}
.mission-principles::before {
  background:
    radial-gradient(circle at 82% 48%,rgba(23,75,188,.09),transparent 34%),
    linear-gradient(180deg,rgba(1,7,17,.86),rgba(3,12,27,.82));
}
.principles-intro { max-width:690px; }
.principles-intro h2 { font-size:clamp(45px,4vw,73px); line-height:.98; }
.principles-intro p { margin:25px 0 0; color:rgba(255,255,255,.68); font:480 clamp(16px,1.08vw,19px)/1.58 "Inter",sans-serif; }
.principles-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.principle {
  min-height:225px;
  padding:27px 26px;
  border:1px solid rgba(128,204,253,.15);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(9,22,44,.68),rgba(4,13,29,.65));
  transition:transform .4s var(--ease),background .35s ease,border-color .35s ease;
}
.principle:hover { transform:translateY(-6px); border-color:rgba(128,204,253,.3); background:linear-gradient(145deg,rgba(12,28,54,.78),rgba(5,15,33,.72)); }
.principle span { color:var(--aqua); font:750 12px "Inter",sans-serif; }
.principle h3 { margin:27px 0 13px; color:white; font:700 clamp(20px,1.35vw,25px)/1.08 "Inter",sans-serif; letter-spacing:-.035em; }
.principle p { margin:0; color:rgba(255,255,255,.62); font:470 14px/1.52 "Inter",sans-serif; }

/* Section 5 — close */
.mission-close {
  min-height:100svh;
  text-align:center;
  place-items:center;
}
.mission-close::before {
  background:
    radial-gradient(circle at 50% 46%,rgba(23,75,188,.19),transparent 28%),
    radial-gradient(circle at 50% 46%,rgba(128,204,253,.07),transparent 48%),
    linear-gradient(180deg,rgba(3,12,27,.8),rgba(1,7,17,.94));
}
.mission-close-inner { max-width:1100px; }
.mission-close-inner h2 { font-size:clamp(50px,5.1vw,92px); line-height:.95; }
.mission-close-inner p { max-width:790px; margin:28px auto 0; color:var(--aqua); font:520 clamp(19px,1.5vw,27px)/1.35 "Inter",sans-serif; letter-spacing:-.035em; }
.mission-close-actions { display:flex; justify-content:center; gap:16px; margin-top:38px; }
.mission-primary,.mission-secondary {
  min-width:210px;
  padding:16px 24px;
  border-radius:14px;
  font:700 14px "Inter",sans-serif;
  cursor:pointer;
  transition:transform .35s var(--ease),background .3s ease,color .3s ease,box-shadow .35s ease;
}
.mission-primary { border:1px solid var(--aqua); color:#041022; background:var(--aqua); box-shadow:0 14px 32px rgba(128,204,253,.16); }
.mission-secondary { border:1px solid rgba(128,204,253,.42); color:white; background:rgba(7,21,43,.52); }
.mission-primary:hover,.mission-secondary:hover { transform:translateY(-5px); box-shadow:0 19px 40px rgba(23,75,188,.22); }
.mission-secondary:hover { background:var(--navy); }

/* Fixed mission progress */
.mission-progress {
  position:absolute;
  z-index:10;
  top:50%;
  right:clamp(22px,2.3vw,42px);
  display:flex;
  flex-direction:column;
  gap:10px;
  transform:translateY(-50%);
}
.mission-progress::before {
  content:"";
  position:absolute;
  top:18px;bottom:18px;right:8px;
  width:1px;
  background:rgba(128,204,253,.14);
}
.mission-progress button {
  position:relative;
  display:grid;
  place-items:center;
  width:22px;
  height:30px;
  padding:0;
  border:0;
  color:rgba(255,255,255,.34);
  background:transparent;
  font-family:"Inter",sans-serif;
  cursor:pointer;
  transition:color .3s ease;
}
.mission-progress button i {
  position:absolute;
  right:29px;
  width:max-content;
  opacity:0;
  transform:translateX(8px);
  color:rgba(255,255,255,.76);
  font-size:10px;
  font-style:normal;
  font-weight:600;
  white-space:nowrap;
  transition:opacity .3s ease,transform .3s var(--ease);
}
.mission-progress button::after {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#415069;
  box-shadow:0 0 0 5px rgba(128,204,253,0);
  transition:transform .3s var(--ease),background .3s ease,box-shadow .3s ease;
}
.mission-progress button:hover i,
.mission-progress button:focus-visible i { opacity:.78; transform:translateX(0); }
.mission-progress button:hover::after,
.mission-progress button:focus-visible::after { transform:scale(1.25); }
.mission-progress button.is-active::after { background:var(--aqua); box-shadow:0 0 0 5px rgba(128,204,253,.1),0 0 13px rgba(128,204,253,.55); }

@media (max-width:1200px) {
  .mission-section { padding-left:58px; padding-right:70px; }
  .mission-hero { grid-template-columns:minmax(420px,1fr) minmax(330px,.72fr); gap:50px; }
  .mission-team-grid { grid-template-columns:1fr 1fr; gap:55px; }
  .system-row { grid-template-columns:58px 130px 1fr; }
  .mission-principles { grid-template-columns:.8fr 1.2fr; gap:55px; }
}

@media (max-width:1050px) {
  .mission-page.is-active { position:absolute; }
  .mission-scroll { scroll-snap-type:y proximity; }
  .mission-section { min-height:auto; height:auto; padding:135px 42px 175px; }
  .mission-hero,.mission-team-grid,.mission-principles { grid-template-columns:1fr; }
  .mission-hero { min-height:100svh; }
  .mission-signal { width:min(70vw,470px); margin-top:10px; }
  .mission-system { max-width:760px; }
  .mission-stage-cards { grid-template-columns:1fr; max-width:760px; }
  .stage-card { min-height:0; }
  .stage-card p { min-height:0; }
  .principles-list { max-width:760px; }
  .mission-progress { display:none; }
}

@media (max-width:700px) {
  .mission-section { padding:112px 20px 190px; }
  .mission-hero-copy { padding-left:16px; }
  .mission-hero-copy h2 { font-size:44px; }
  .mission-statement h2 { font-size:46px; }
  .mission-stage-heading h2,.principles-intro h2 { font-size:40px; }
  .mission-close-inner h2 { font-size:43px; }
  .mission-signal { width:88vw; }
  .mission-signal-label { font-size:10px; padding:8px 10px; }
  .system-row { grid-template-columns:52px 1fr; gap:13px; }
  .system-row p { grid-column:2; }
  .principles-list { grid-template-columns:1fr; }
  .mission-close-actions { flex-direction:column; align-items:center; }
  .mission-primary,.mission-secondary { width:min(100%,320px); }
}

@media (prefers-reduced-motion:reduce) {
  .mission-scroll { scroll-behavior:auto; }
  .mission-reveal { opacity:1; transform:none; filter:none; }
  .mission-orbit,.mission-sweep,.mission-scroll-cue i,.mission-logo-mark { animation:none!important; }
}

@media (max-width: 1180px) {
  .headline-support { max-width: 760px; font-size: clamp(14px, 1.3vw, 17px); }
}
@media (max-width: 700px) {
  .headline-support { margin-top: 14px; font-size: 14px; line-height: 1.48; }
}

/* Digital presence report console */
.scan-cta {
  width: 100%;
  cursor: pointer;
}

.scan-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: clamp(18px, 3vw, 52px);
  background:
    radial-gradient(circle at 76% 24%, rgba(128,204,253,.15), transparent 34%),
    rgba(1,7,17,.76);
  backdrop-filter: blur(18px) saturate(.92);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .45s ease, visibility 0s .45s;
}
.scan-overlay.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity .45s ease, visibility 0s;
}
body.scan-open {
  overflow: hidden;
}
body.scan-open .cover,
body.scan-open .page-brand,
body.scan-open .page-dock,
body.scan-open .sound-control {
  filter: blur(5px) brightness(.64);
  pointer-events: none;
}

.scan-console {
  position: relative;
  width: min(1460px, 96vw);
  height: min(790px, 88svh);
  min-height: 610px;
  overflow: hidden;
  color: #06132d;
  border: 1px solid rgba(128,204,253,.82);
  border-radius: 32px;
  background:
    linear-gradient(rgba(23,65,170,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,65,170,.045) 1px, transparent 1px),
    linear-gradient(145deg, rgba(241,247,251,.98), rgba(217,230,239,.96));
  background-size: 28px 28px, 28px 28px, auto;
  box-shadow:
    0 42px 120px rgba(0,0,0,.58),
    0 0 0 1px rgba(23,75,188,.24),
    0 0 46px rgba(128,204,253,.16),
    inset 0 1px 0 rgba(255,255,255,.72);
  transform: translate3d(16vw, -16vh, 0) scale(.38);
  transform-origin: 78% 18%;
  opacity: .2;
  transition: transform .72s cubic-bezier(.18,.86,.22,1), opacity .35s ease;
}
.scan-overlay.is-visible .scan-console {
  transform: translate3d(0,0,0) scale(1);
  opacity: 1;
}
.scan-console::before {
  content: "";
  position: absolute;
  inset: 13px;
  border: 1px solid rgba(23,75,188,.18);
  border-radius: 24px;
  pointer-events: none;
}
.scan-console::after {
  content: "SCAN";
  position: absolute;
  right: 38px;
  top: -18px;
  color: rgba(23,65,170,.045);
  font: 800 clamp(90px, 10vw, 165px)/1 "Inter", sans-serif;
  letter-spacing: -.08em;
  pointer-events: none;
}
.scan-console-close {
  position: absolute;
  top: 24px;
  right: 25px;
  z-index: 8;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(23,75,188,.25);
  border-radius: 13px;
  color: #1741aa;
  background: rgba(255,255,255,.62);
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
  transition: transform .3s var(--ease), color .25s ease, background .25s ease;
}
.scan-console-close:hover,
.scan-console-close:focus-visible {
  outline: none;
  color: white;
  background: #1741aa;
  transform: rotate(90deg);
}
.scan-console-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(360px, .78fr) minmax(560px, 1.22fr);
  height: 100%;
}
.scan-console-copy {
  padding: clamp(56px, 5.2vw, 84px) clamp(38px, 4.4vw, 70px) 44px;
  border-right: 1px solid rgba(23,75,188,.16);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(23,75,188,.3) transparent;
}
.scan-console-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: rgba(6,19,45,.6);
  font: 700 10px/1 "Inter", sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.scan-console-kicker i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aqua);
  box-shadow: 0 0 0 6px rgba(128,204,253,.13), 0 0 16px rgba(128,204,253,.5);
}
.scan-console-copy h2 {
  max-width: 570px;
  margin: 22px 0 16px;
  color: #06132d;
  font: 780 clamp(34px, 3.15vw, 56px)/.98 "Inter", sans-serif;
  letter-spacing: -.06em;
}
.scan-console-copy > p {
  max-width: 610px;
  margin: 0;
  color: rgba(6,19,45,.68);
  font: 500 15px/1.55 "Inter", sans-serif;
}
.scan-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.scan-field {
  display: grid;
  gap: 7px;
}
.scan-field:nth-of-type(3) {
  grid-column: 1 / -1;
}
.scan-field > span {
  color: rgba(6,19,45,.67);
  font: 700 10px/1 "Inter", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.scan-field input {
  width: 100%;
  min-height: 52px;
  padding: 0 15px;
  border: 1px solid rgba(23,75,188,.2);
  border-radius: 13px;
  outline: none;
  color: #06132d;
  background: rgba(255,255,255,.68);
  font: 600 14px/1 "Inter", sans-serif;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
  transition: border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.scan-field input::placeholder { color: rgba(6,19,45,.38); }
.scan-field input:focus {
  border-color: rgba(23,75,188,.65);
  background: rgba(255,255,255,.92);
  box-shadow: 0 0 0 4px rgba(128,204,253,.13), inset 0 1px 0 white;
}
.scan-field input:invalid:not(:placeholder-shown) {
  border-color: rgba(186,52,74,.48);
}
.scan-field small {
  color: rgba(6,19,45,.48);
  font: 500 10px/1.4 "Inter", sans-serif;
}
.scan-run-button {
  grid-column: 1 / -1;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  margin-top: 4px;
  border: 1px solid rgba(23,75,188,.82);
  border-radius: 16px;
  color: white;
  background: linear-gradient(135deg, #174bbc, #1741aa);
  box-shadow: 0 15px 32px rgba(23,65,170,.22), inset 0 1px 0 rgba(255,255,255,.22);
  font: 750 16px/1 "Inter", sans-serif;
  letter-spacing: -.02em;
  cursor: pointer;
  transition: transform .35s var(--ease), box-shadow .35s ease, filter .25s ease;
}
.scan-run-button svg {
  width: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.scan-run-button:hover,
.scan-run-button:focus-visible {
  outline: none;
  transform: translateY(-3px);
  filter: brightness(1.06);
  box-shadow: 0 22px 38px rgba(23,65,170,.28), 0 0 24px rgba(128,204,253,.16);
}
.scan-run-button:disabled {
  cursor: wait;
  filter: grayscale(.2);
  opacity: .72;
  transform: none;
}

.scan-console-stage {
  position: relative;
  min-width: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 54% 45%, rgba(128,204,253,.18), transparent 27%),
    linear-gradient(rgba(23,65,170,.032) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,65,170,.032) 1px, transparent 1px);
  background-size: auto, 22px 22px, 22px 22px;
}
.scan-idle,
.scan-running,
.scan-error,
.scan-results {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(42px, 4vw, 68px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(14px) scale(.985);
  transition: opacity .45s ease, transform .65s var(--ease), visibility 0s .45s;
}
.scan-idle.is-active,
.scan-running.is-active,
.scan-error.is-active,
.scan-results.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
  transition: opacity .45s ease, transform .65s var(--ease), visibility 0s;
}
.scan-idle-orbit,
.scan-running-visual {
  position: relative;
  width: clamp(210px, 20vw, 310px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
}
.scan-idle-orbit::before,
.scan-running-visual::before,
.scan-idle-orbit::after,
.scan-running-visual::after,
.scan-idle-orbit > span,
.scan-running-visual > span {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(23,75,188,.24);
}
.scan-idle-orbit::before,
.scan-running-visual::before { inset: 0; }
.scan-idle-orbit::after,
.scan-running-visual::after { inset: 18%; border-style: dashed; }
.scan-idle-orbit > span:nth-child(1),
.scan-running-visual > span:nth-child(1) { inset: 8%; border-top-color: var(--aqua); animation: scanConsoleSpin 8s linear infinite; }
.scan-idle-orbit > span:nth-child(2),
.scan-running-visual > span:nth-child(2) { inset: 27%; border-right-color: var(--blue); animation: scanConsoleSpin 5.5s linear infinite reverse; }
.scan-idle-orbit > span:nth-child(3),
.scan-running-visual > span:nth-child(3) { inset: 39%; background: radial-gradient(circle, rgba(128,204,253,.28), rgba(23,65,170,.08) 58%, transparent 60%); border-color: rgba(128,204,253,.36); }
.scan-idle-orbit img,
.scan-running-visual img {
  position: relative;
  z-index: 2;
  width: 38%;
  height: 38%;
  object-fit: contain;
  filter: drop-shadow(0 15px 24px rgba(23,65,170,.18)) drop-shadow(0 0 12px rgba(128,204,253,.22));
}
.scan-idle p {
  margin: 18px 0 0;
  color: rgba(6,19,45,.62);
  font: 600 15px/1.3 "Inter", sans-serif;
}
.scan-idle-labels {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
}
.scan-idle-labels span {
  padding: 8px 11px;
  border: 1px solid rgba(23,75,188,.14);
  border-radius: 999px;
  color: rgba(6,19,45,.62);
  background: rgba(255,255,255,.42);
  font: 650 10px/1 "Inter", sans-serif;
}
@keyframes scanConsoleSpin { to { transform: rotate(360deg); } }

.scan-running-visual {
  width: clamp(180px, 17vw, 250px);
}
.scan-running-visual::before {
  border-color: rgba(23,75,188,.18);
  box-shadow: 0 0 0 16px rgba(128,204,253,.045), 0 0 38px rgba(128,204,253,.12);
}
.scan-running-visual > span:nth-child(1) { animation-duration: 1.7s; }
.scan-running-visual > span:nth-child(2) { animation-duration: 2.4s; }
.scan-running strong {
  margin-top: 10px;
  color: #06132d;
  font: 760 clamp(22px, 2vw, 30px)/1.1 "Inter", sans-serif;
  letter-spacing: -.04em;
  text-align: center;
}
.scan-running > p {
  max-width: 500px;
  margin: 9px 0 0;
  color: rgba(6,19,45,.6);
  font: 500 13px/1.5 "Inter", sans-serif;
  text-align: center;
}
.scan-stage-list {
  width: min(540px, 90%);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin-top: 26px;
}
.scan-stage-list span {
  position: relative;
  padding-top: 14px;
  color: rgba(6,19,45,.38);
  font: 650 9px/1.2 "Inter", sans-serif;
  text-align: center;
  transition: color .3s ease;
}
.scan-stage-list span::before {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  top: 0;
  height: 3px;
  border-radius: 999px;
  background: rgba(23,75,188,.12);
  transition: background .3s ease, box-shadow .3s ease;
}
.scan-stage-list span.is-complete,
.scan-stage-list span.is-active { color: #1741aa; }
.scan-stage-list span.is-complete::before { background: rgba(23,75,188,.52); }
.scan-stage-list span.is-active::before {
  background: var(--aqua);
  box-shadow: 0 0 12px rgba(128,204,253,.8);
}

.scan-error-mark {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(160,55,75,.35);
  border-radius: 50%;
  color: #a0354b;
  background: rgba(255,255,255,.55);
  font: 800 32px/1 "Inter", sans-serif;
}
.scan-error h3 {
  margin: 20px 0 8px;
  color: #06132d;
  font: 760 28px/1.05 "Inter", sans-serif;
  letter-spacing: -.04em;
}
.scan-error p {
  max-width: 520px;
  margin: 0;
  color: rgba(6,19,45,.62);
  font: 500 14px/1.5 "Inter", sans-serif;
  text-align: center;
}
.scan-error button,
.scan-result-actions button {
  min-height: 44px;
  margin-top: 20px;
  padding: 0 18px;
  border: 1px solid rgba(23,75,188,.35);
  border-radius: 12px;
  color: #1741aa;
  background: rgba(255,255,255,.52);
  font: 700 12px/1 "Inter", sans-serif;
  cursor: pointer;
}

.scan-results {
  align-items: stretch;
  justify-content: flex-start;
  overflow-y: auto;
  padding: clamp(50px, 4.2vw, 70px);
}
.scan-result-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 25px;
  align-items: center;
}
.scan-grade {
  width: clamp(112px, 9vw, 145px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 2px solid var(--blue);
  border-radius: 30px;
  color: #1741aa;
  background: rgba(255,255,255,.52);
  box-shadow: 0 0 0 8px rgba(128,204,253,.075), 0 18px 35px rgba(23,65,170,.14), inset 0 1px 0 white;
  font: 800 clamp(60px, 5vw, 82px)/1 "Inter", sans-serif;
  letter-spacing: -.08em;
}
.scan-grade.grade-a { color: #1741aa; border-color: #1741aa; }
.scan-grade.grade-b { color: #174bbc; border-color: #80ccfd; }
.scan-grade.grade-c { color: #8b6e14; border-color: #c7a83e; }
.scan-grade.grade-d { color: #a85a19; border-color: #d4833e; }
.scan-grade.grade-f { color: #9f3348; border-color: #c45b70; }
.scan-result-head > div:last-child > span {
  color: #174bbc;
  font: 700 11px/1 "Inter", sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.scan-result-head h3 {
  margin: 9px 0 8px;
  color: #06132d;
  font: 760 clamp(25px, 2.2vw, 35px)/1.04 "Inter", sans-serif;
  letter-spacing: -.05em;
}
.scan-result-head p {
  max-width: 670px;
  margin: 0;
  color: rgba(6,19,45,.65);
  font: 500 13px/1.5 "Inter", sans-serif;
}
.scan-score-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 10px;
  margin-top: 27px;
}
.scan-score-card {
  padding: 13px 13px 12px;
  border: 1px solid rgba(23,75,188,.14);
  border-radius: 14px;
  background: rgba(255,255,255,.35);
}
.scan-score-card span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: rgba(6,19,45,.64);
  font: 700 10px/1 "Inter", sans-serif;
}
.scan-score-card span b { color: #1741aa; }
.scan-score-track {
  height: 5px;
  margin-top: 11px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(23,75,188,.11);
}
.scan-score-track i {
  display: block;
  width: var(--score);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #174bbc, #80ccfd);
  box-shadow: 0 0 10px rgba(128,204,253,.55);
  transform-origin: left;
  animation: scoreGrow .9s var(--ease) both;
}
@keyframes scoreGrow { from { transform: scaleX(0); } }
.scan-result-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 24px;
}
.scan-result-columns > div {
  padding: 17px 19px;
  border: 1px solid rgba(23,75,188,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.3);
}
.scan-result-columns strong {
  color: #1741aa;
  font: 750 11px/1 "Inter", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.scan-result-columns ul {
  display: grid;
  gap: 8px;
  margin: 13px 0 0;
  padding: 0;
  list-style: none;
}
.scan-result-columns li {
  position: relative;
  padding-left: 17px;
  color: rgba(6,19,45,.72);
  font: 550 12px/1.42 "Inter", sans-serif;
}
.scan-result-columns li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .5em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--aqua);
  box-shadow: 0 0 8px rgba(128,204,253,.5);
}
.scan-result-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid rgba(23,75,188,.14);
}
.scan-result-footer > p {
  max-width: 490px;
  margin: 0;
  color: rgba(6,19,45,.48);
  font: 500 10px/1.45 "Inter", sans-serif;
}
.scan-result-actions {
  display: flex;
  gap: 9px;
}
.scan-result-actions button { margin: 0; }
.scan-result-actions .scan-talk-button {
  color: white;
  border-color: #1741aa;
  background: #1741aa;
  box-shadow: 0 10px 22px rgba(23,65,170,.2);
}
.scan-result-actions button:hover,
.scan-result-actions button:focus-visible,
.scan-error button:hover,
.scan-error button:focus-visible {
  outline: none;
  transform: translateY(-2px);
}

@media (max-width: 1120px) {
  .scan-console {
    height: min(880px, 92svh);
  }
  .scan-console-grid { grid-template-columns: minmax(320px,.8fr) minmax(440px,1.2fr); }
  .scan-console-copy { padding: 54px 34px 36px; }
  .scan-console-copy h2 { font-size: clamp(31px, 3.5vw, 46px); }
  .scan-score-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}

@media (max-width: 800px) {
  .scan-overlay {
    align-items: start;
    padding: 12px;
    overflow-y: auto;
  }
  .scan-console {
    width: 100%;
    height: auto;
    min-height: calc(100svh - 24px);
    border-radius: 24px;
    transform-origin: 80% 10%;
  }
  .scan-console::before { inset: 8px; border-radius: 18px; }
  .scan-console::after { font-size: 72px; right: 20px; top: 4px; }
  .scan-console-close { top: 18px; right: 18px; }
  .scan-console-grid { grid-template-columns: 1fr; }
  .scan-console-copy {
    padding: 62px 24px 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(23,75,188,.16);
    overflow: visible;
  }
  .scan-console-copy h2 { font-size: clamp(34px, 10vw, 48px); }
  .scan-form { grid-template-columns: 1fr; }
  .scan-field:nth-of-type(3), .scan-run-button { grid-column: auto; }
  .scan-console-stage { min-height: 640px; }
  .scan-idle, .scan-running, .scan-error, .scan-results { padding: 38px 24px; }
  .scan-results { position: relative; min-height: 640px; }
  .scan-result-head { grid-template-columns: 90px 1fr; gap: 16px; }
  .scan-grade { width: 90px; border-radius: 22px; font-size: 56px; }
  .scan-score-grid { grid-template-columns: 1fr 1fr; }
  .scan-result-columns { grid-template-columns: 1fr; }
  .scan-result-footer { align-items: stretch; flex-direction: column; }
  .scan-result-actions { flex-direction: column; }
}

/* Reliable form submission feedback */
.form-submit-status,
.scan-submit-status {
  min-height: 20px;
  margin: 10px 2px 0;
  font: 600 12px/1.45 "Inter", sans-serif;
  letter-spacing: .01em;
}
.form-submit-status { color: rgba(6,19,45,.58); }
.scan-submit-status {
  grid-column: 1 / -1;
  color: rgba(6,19,45,.58);
}
.form-submit-status.is-success,
.scan-submit-status.is-success { color: #17745a; }
.form-submit-status.is-error,
.scan-submit-status.is-error { color: #a5303b; }
.form-submit-status.is-info,
.scan-submit-status.is-info { color: #1741aa; }
.send-button:disabled,
.scan-run-button:disabled { cursor: wait; opacity: .72; }

/* Report source links */
.scan-sources {
  margin-top: 18px;
  padding: 15px 17px;
  border: 1px solid rgba(23,75,188,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.3);
}
.scan-sources[hidden] { display: none; }
.scan-sources > strong {
  display: block;
  margin-bottom: 10px;
  color: #1741aa;
  font: 750 10px/1 "Inter", sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.scan-sources > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.scan-sources a {
  max-width: 100%;
  padding: 8px 10px;
  overflow: hidden;
  border: 1px solid rgba(23,75,188,.16);
  border-radius: 999px;
  color: #1741aa;
  background: rgba(255,255,255,.48);
  font: 650 10px/1 "Inter", sans-serif;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.scan-sources a:hover,
.scan-sources a:focus-visible {
  outline: none;
  transform: translateY(-1px);
  border-color: rgba(23,75,188,.42);
  background: rgba(255,255,255,.8);
}


/* Final production polish */
::selection { background: rgba(128,204,253,.92); color: #020916; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
input, textarea, select { caret-color: var(--blue); }
.page-lead, .work-body, .headline-support { text-wrap: pretty; }
.headline-primary, .headline-accent, .mission-section h2 { text-wrap: balance; }
.project-panel, .services-panel, .contact-form, .scan-console { box-shadow: 0 28px 90px rgba(0,0,0,.26), 0 1px 0 rgba(255,255,255,.42) inset; }
@media (hover:hover) {
  .dock-item, .mini-action, .outline-button, .scan-cta, .send-button { transition-duration: .24s; }
}

/* Desktop composition refinements */
@media (min-width: 1101px) and (min-height: 760px) {
  .hero-copy { width: min(790px, 100%); }
  .headline-support { max-width: 720px; }
  .service-manifest {
    top: -74px;
    left: -72px;
    min-height: 0;
    padding: 24px 28px 22px;
  }
  .scan-header { padding-bottom: 14px; }
  .scan-title { margin-top: 14px; font-size: clamp(27px, 2.15vw, 34px); }
  .scan-description { margin-top: 10px; font-size: 13px; }
  .scan-visual { height: 210px; margin-top: 16px; }
  .scan-center { transform: translate(-50%, -50%) scale(.86); }
  .scan-cta { margin-top: 14px; padding-top: 16px; padding-bottom: 16px; }
  .home-dock {
    bottom: clamp(42px, 5.5vh, 68px);
    min-height: 92px;
  }
  .home-dock .dock-item { min-height: 92px; }
  .home-dock .dock-label { font-size: clamp(19px, 1.45vw, 24px); }
}

/* Crawlable service detail links */
.service-row-copy h3 a { color: inherit; text-decoration: none; }
.service-row-copy h3 a:hover,
.service-row-copy h3 a:focus-visible { color: var(--navy); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
