:root {
  --ink: #f8f5ea;
  --muted: rgba(238, 240, 249, .72);
  --navy: #070b22;
  --deep: #05081b;
  --indigo: #11143a;
  --teal: #55c5d4;
  --lavender: #b4a3d8;
  --gold: #ead9a9;
  --line: rgba(255, 255, 255, .16);
  --serif: Georgia, "Times New Roman", serif;
  --sans: "Segoe UI", Inter, system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--navy); }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--navy);
  font-family: var(--sans);
  font-weight: 300;
}
button, a { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
em { color: var(--gold); font-family: var(--serif); font-weight: 500; }

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 1000; left: 18px; top: -70px; padding: 12px 18px;
  border-radius: 999px; color: #071022; background: var(--gold); transition: top .2s;
}
.skip-link:focus { top: 18px; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

.site-header {
  position: fixed; z-index: 50; top: 18px; left: 50%;
  width: min(1480px, calc(100% - 40px)); height: 82px;
  padding: 12px 22px 12px 34px; transform: translateX(-50%);
  display: flex; align-items: center; justify-content: space-between;
  border: 1px solid rgba(255,255,255,.2); border-radius: 29px;
  background: linear-gradient(120deg, rgba(10,23,48,.72), rgba(18,30,57,.48));
  box-shadow: inset 0 1px rgba(255,255,255,.2), 0 16px 50px rgba(1,5,20,.25);
  backdrop-filter: blur(22px) saturate(145%);
  transition: background .35s, border-color .35s, box-shadow .35s;
}
.site-header.scrolled {
  background: rgba(5,10,31,.9); border-color: rgba(255,255,255,.14);
  box-shadow: inset 0 1px rgba(255,255,255,.15), 0 18px 55px rgba(0,0,0,.35);
}
.brand { width: clamp(135px,12vw,185px); flex: 0 0 auto; }
.brand img { width: 100%; height: 54px; object-fit: contain; object-position: left center; }
.site-header nav { height: 100%; display: flex; align-items: center; gap: clamp(22px,3vw,52px); }
.nav-link {
  position: relative; padding: 28px 0; border: 0; color: rgba(255,255,255,.82);
  background: none; cursor: pointer; font-size: .88rem; letter-spacing: .02em;
}
.nav-link::after {
  content: ""; position: absolute; left: 50%; right: 50%; bottom: 7px; height: 2px;
  background: var(--gold); box-shadow: 0 0 14px var(--gold); transition: left .25s, right .25s;
}
.nav-link:hover { color: #fff; }
.nav-link:hover::after, .nav-link:focus-visible::after { left: 0; right: 0; }
.menu-toggle { display: none; border: 0; background: none; width: 42px; height: 42px; }
.menu-toggle span:not(.sr-only) { display: block; width: 22px; height: 1px; margin: 6px auto; background: white; }

.button {
  min-height: 48px; padding: 14px 22px; display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer;
  transition: transform .25s, background .25s, border-color .25s, box-shadow .25s;
}
.button:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.38); }
.button--small { min-height: 44px; padding: 10px 18px; font-size: .84rem; }
.button--outline { background: rgba(255,255,255,.04); }
.button--primary {
  color: #0c1830; background: linear-gradient(125deg,#f2e7c7,#d6c38d);
  border-color: rgba(255,255,255,.54); font-weight: 600;
  box-shadow: 0 12px 40px rgba(0,0,0,.22), inset 0 1px rgba(255,255,255,.8);
}
.button--primary:hover { box-shadow: 0 16px 50px rgba(0,0,0,.32), 0 0 30px rgba(234,217,169,.14); }
.button--back {
  color: rgba(255,255,255,.78); background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.18); font-size: .86rem;
}

.eyebrow, .stage-label {
  color: var(--gold); text-transform: uppercase; letter-spacing: .24em; font-weight: 500;
}

/* Approved galaxy homepage */
.hero {
  position: relative; min-height: max(920px,100svh); padding: 150px clamp(18px,3vw,48px) 28px;
  overflow: hidden; display: flex; flex-direction: column; align-items: center;
  isolation: isolate; background: #061027;
}
.hero-art, .hero-art img, .hero-vignette { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-art { z-index: -3; }
.hero-art img { object-fit: cover; object-position: 50% 50%; }
.hero-vignette {
  z-index: -2; pointer-events: none;
  background:
    linear-gradient(180deg,rgba(2,7,22,.34),rgba(2,7,22,.04) 24%,rgba(3,7,24,.08) 54%,rgba(4,7,25,.72)),
    linear-gradient(90deg,rgba(3,7,22,.18),transparent 30%,transparent 72%,rgba(3,7,22,.18));
}
.hero-starfield, .stage-stars { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.hero-starfield span, .stage-stars span {
  position: absolute; width: 4px; aspect-ratio: 1; border-radius: 50%;
  background: #fff1bd; box-shadow: 0 0 8px #fff,0 0 18px #f5cc79;
  animation: twinkle 3.8s ease-in-out infinite;
}
.hero-starfield span:nth-child(1), .stage-stars span:nth-child(1){left:9%;top:31%;animation-delay:-1.3s}
.hero-starfield span:nth-child(2), .stage-stars span:nth-child(2){left:31%;top:18%;animation-delay:-2.4s;width:3px}
.hero-starfield span:nth-child(3), .stage-stars span:nth-child(3){left:56%;top:30%;animation-delay:-.8s}
.hero-starfield span:nth-child(4), .stage-stars span:nth-child(4){right:13%;top:23%;animation-delay:-3s;width:3px}
.hero-starfield span:nth-child(5){right:8%;top:56%;animation-delay:-1.8s}
.hero-starfield span:nth-child(6){left:43%;top:54%;animation-delay:-2.1s;width:2px}
@keyframes twinkle { 0%,100%{opacity:.2;transform:scale(.75)} 50%{opacity:1;transform:scale(1.35)} }

.hero-copy { position: relative; z-index: 2; width: min(880px,92vw); text-align: center; }
.hero-copy::before {
  content: ""; position: absolute; z-index: 0; inset: -28px -90px -38px; pointer-events: none;
  background: radial-gradient(ellipse at center,rgba(3,10,29,.7),rgba(3,10,29,.42) 42%,rgba(3,10,29,.08) 67%,transparent 78%);
}
.hero-copy > * { position: relative; z-index: 1; }
.eyebrow { margin: 0 0 18px; font-size: clamp(.68rem,.8vw,.78rem); }
.hero h1 {
  margin-bottom: 28px; font-size: clamp(3.8rem,5.8vw,6rem); line-height: .9;
  letter-spacing: -.045em; font-weight: 400; text-shadow: 0 3px 24px rgba(1,3,16,.72);
}
.hero h1 em { font-size: 1.02em; }
.hero-actions { position: relative; z-index: 1; display: flex; justify-content: center; width: 100%; margin-top: 30px; }
.hero-stage-dock { position: relative; z-index: 3; width: min(1360px,100%); margin-top: auto; padding-top: 64px; scroll-margin-top: 120px; }
.dock { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; align-items: end; }
.stage-card {
  --scale: 1; --lift: 0px; position: relative; min-height: 340px; padding: 22px 24px; overflow: hidden;
  display: flex; flex-direction: column; border: 1px solid rgba(255,255,255,.27); border-radius: 28px;
  background: linear-gradient(145deg,rgba(255,255,255,.14),rgba(11,24,49,.36) 48%,rgba(5,13,34,.58));
  box-shadow: inset 0 1px rgba(255,255,255,.28),inset 0 -1px rgba(234,217,169,.18),0 22px 55px rgba(0,0,0,.34);
  backdrop-filter: blur(12px) saturate(145%);
  transform: translateY(var(--lift)) scale(var(--scale)); transform-origin: 50% 100%;
  transition: transform .34s cubic-bezier(.22,.8,.26,1),border-color .3s,box-shadow .3s;
}
.stage-card::before {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background: linear-gradient(180deg,rgba(5,11,30,.02),rgba(5,12,31,.44) 42%,rgba(4,10,28,.88) 78%);
}
.stage-card::after {
  content: ""; position: absolute; inset: 0; z-index: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(circle at 16% 8%,rgba(255,255,255,.22),transparent 25%),linear-gradient(135deg,rgba(255,255,255,.08),transparent 38%);
}
.stage-card:hover, .stage-card:focus-visible {
  border-color: rgba(242,220,158,.68);
  box-shadow: inset 0 1px rgba(255,255,255,.35),0 28px 66px rgba(0,0,0,.4),0 0 34px rgba(232,203,132,.16);
}
.stage-card-art { position: absolute; inset: 0; z-index: -1; }
.stage-card-art img { width: 100%; height: 100%; object-fit: cover; opacity: .68; transform: scale(1.01); transition: transform .6s,opacity .35s; }
.stage-card:hover .stage-card-art img, .stage-card:focus-visible .stage-card-art img { transform: scale(1.045); opacity: .8; }
.card-shine { position: absolute; z-index: 1; inset: -30% auto auto -50%; width: 120%; height: 65%; transform: rotate(-14deg); background: linear-gradient(180deg,rgba(255,255,255,.13),transparent); pointer-events: none; }
.card-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.53); font-size: .76rem; letter-spacing: .16em; }
.stage-icon {
  width: 66px; height: 66px; display: grid; place-items: center;
  border: 1px solid rgba(255,255,255,.34); border-radius: 20px; color: var(--gold);
  background: linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.06));
  box-shadow: inset 0 1px rgba(255,255,255,.32),0 8px 24px rgba(0,0,0,.22),0 0 22px rgba(236,199,115,.18);
  backdrop-filter: blur(10px);
}
.stage-icon svg { width: 34px; height: 34px; fill: currentColor; filter: drop-shadow(0 0 8px rgba(255,214,127,.45)); }
.card-copy { position: relative; z-index: 1; margin: auto 0 22px; }
.stage-kicker { margin-bottom: 8px; color: var(--gold); font-size: .68rem; letter-spacing: .17em; text-transform: uppercase; }
.stage-card h2 { margin-bottom: 12px; font-size: clamp(1.45rem,1.7vw,2rem); line-height: 1.04; letter-spacing: -.03em; font-weight: 500; text-shadow: 0 2px 14px rgba(0,0,0,.75); }
.stage-card .card-copy > p:last-child { margin-bottom: 0; color: rgba(255,255,255,.78); line-height: 1.48; font-size: .82rem; text-shadow: 0 2px 10px rgba(0,0,0,.7); }
.card-action { position: relative; z-index: 2; padding: 14px 0 2px; display: flex; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.24); color: #fff; font-size: .82rem; font-weight: 500; }

/* Dedicated stage pages */
.stage-page { background: #070b22; }
.stage-hero {
  position: relative; width: 100%; height: clamp(720px,56.25vw,1000px); min-height: 720px;
  overflow: hidden; isolation: isolate; background: linear-gradient(180deg,#061027,#080b23);
}
.stage-hero-art-wrap { position: absolute; inset: 0; overflow: hidden; background: #061027; }
.stage-hero-art, .stage-hero-art img { width: 100%; height: 100%; }
.stage-hero-art img { object-fit: cover; object-position: center; }
.stage-hero-shade {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(180deg,rgba(2,6,20,.34),transparent 24%,transparent 72%,rgba(3,6,22,.46));
}
.stage-get-found .stage-hero-shade, .stage-build-trust .stage-hero-shade {
  background:
    linear-gradient(90deg,transparent 35%,rgba(3,8,28,.1) 53%,rgba(3,8,28,.68) 100%),
    linear-gradient(180deg,rgba(2,6,20,.3),transparent 25%,transparent 72%,rgba(3,6,22,.48));
}
.stage-convert-grow .stage-hero-shade {
  background:
    linear-gradient(90deg,rgba(3,8,28,.72),rgba(3,8,28,.13) 46%,transparent 68%),
    linear-gradient(180deg,rgba(2,6,20,.3),transparent 25%,transparent 72%,rgba(3,6,22,.48));
}
.stage-optimize-sustain .stage-hero-shade {
  background: linear-gradient(180deg,rgba(2,6,20,.64),rgba(2,6,20,.08) 36%,transparent 64%,rgba(3,6,22,.44));
}
.stage-stars { z-index: 1; }

.stage-hero-panel {
  position: absolute; z-index: 3; width: min(590px,42vw); padding: 0;
  border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none;
}
.stage-hero-panel::before {
  content: ""; position: absolute; z-index: -1; inset: -54px -72px; pointer-events: none;
  background: radial-gradient(ellipse at center,rgba(3,9,28,.56),rgba(3,9,28,.22) 46%,transparent 74%);
}
.stage-get-found .stage-hero-panel { top: 48%; right: clamp(34px,6vw,112px); transform: translateY(-38%); }
.stage-build-trust .stage-hero-panel { top: 48%; right: clamp(34px,6vw,112px); transform: translateY(-38%); }
.stage-convert-grow .stage-hero-panel { top: 47%; left: clamp(34px,6vw,112px); transform: translateY(-36%); }
.stage-optimize-sustain .stage-hero-panel {
  top: 15%; left: 50%; width: min(760px,58vw); padding: 0;
  transform: translateX(-50%); text-align: center;
}
.stage-label { margin: 0 0 18px; font-size: clamp(.68rem,.9vw,.82rem); text-shadow: 0 2px 18px rgba(0,0,0,.86); }
.stage-hero-panel h1 {
  margin: 0 0 20px; color: #fff4ce; font-family: var(--serif);
  font-size: clamp(3.5rem,5.5vw,6.7rem); line-height: .92; letter-spacing: -.045em; font-weight: 500;
  text-shadow: 0 4px 32px rgba(0,0,0,.82),0 1px 4px rgba(0,0,0,.95);
}
.stage-build-trust .stage-hero-panel h1 { font-size: clamp(3rem,4.8vw,5.8rem); }
.stage-optimize-sustain .stage-hero-panel h1 { font-size: clamp(3.25rem,5vw,6rem); }
.stage-purpose { margin: 0; max-width: 36ch; color: rgba(255,255,255,.94); font-size: clamp(1.08rem,1.45vw,1.42rem); line-height: 1.52; font-weight: 400; text-shadow: 0 3px 18px rgba(0,0,0,.9); }
.stage-optimize-sustain .stage-purpose { max-width: 48ch; margin-inline: auto; }

/* Full-width service explorer */
.stage-services {
  position: relative; padding: clamp(54px,6vw,90px) clamp(14px,2.3vw,42px) clamp(70px,8vw,120px);
  background:
    radial-gradient(circle at 84% 10%,rgba(111,87,169,.15),transparent 30%),
    radial-gradient(circle at 8% 60%,rgba(73,172,184,.1),transparent 28%),
    linear-gradient(180deg,#080b25,#06091e);
}
.stage-services::before {
  content: ""; position: absolute; inset: 0; opacity: .14; pointer-events: none;
  background-image: radial-gradient(circle,rgba(255,255,255,.7) 0 1px,transparent 1.4px);
  background-size: 88px 88px; mask-image: linear-gradient(to bottom,black,transparent 74%);
}
.services-shell {
  position: relative; z-index: 1; width: min(1500px,100%); margin: auto; padding: clamp(28px,3.5vw,58px);
  border: 1px solid rgba(255,255,255,.18); border-radius: 34px;
  background: linear-gradient(145deg,rgba(255,255,255,.09),rgba(7,14,39,.62));
  box-shadow: inset 0 1px rgba(255,255,255,.22),0 28px 75px rgba(0,0,0,.3);
  backdrop-filter: blur(24px) saturate(140%);
}
.services-heading { margin-bottom: 36px; display: flex; align-items: end; justify-content: space-between; gap: 36px; }
.services-heading h2 { margin: 0; font-size: clamp(2rem,4vw,3.8rem); line-height: 1.02; letter-spacing: -.04em; font-weight: 400; }
.services-heading > p { max-width: 430px; margin: 0; color: var(--muted); line-height: 1.65; text-align: right; }
.service-desktop-layout { display: grid; grid-template-columns: minmax(0,1.04fr) minmax(420px,.96fr); gap: 28px; align-items: start; }
.service-tile-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.service-tile {
  min-height: 144px; padding: 20px; display: flex; flex-direction: column; align-items: flex-start; text-align: left;
  border: 1px solid rgba(255,255,255,.16); border-radius: 20px; color: var(--ink);
  background: linear-gradient(145deg,rgba(255,255,255,.095),rgba(255,255,255,.03));
  box-shadow: inset 0 1px rgba(255,255,255,.12); cursor: pointer;
  transition: transform .25s,border-color .25s,background .25s,box-shadow .25s;
}
.service-tile:hover { transform: translateY(-2px); border-color: rgba(234,217,169,.4); }
.service-tile.selected {
  border-color: rgba(234,217,169,.7);
  background: linear-gradient(145deg,rgba(234,217,169,.14),rgba(116,103,176,.1));
  box-shadow: inset 0 1px rgba(255,255,255,.2),0 15px 36px rgba(0,0,0,.18),0 0 26px rgba(234,217,169,.08);
}
.service-tile span { color: var(--gold); font-size: .68rem; letter-spacing: .12em; }
.service-tile strong { margin-top: auto; font-size: .98rem; line-height: 1.38; font-weight: 600; }
.selected-service-panel {
  position: sticky; top: 118px; min-height: 600px; padding: clamp(30px,3.2vw,52px); display: flex; flex-direction: column;
  border: 1px solid rgba(255,255,255,.2); border-radius: 26px;
  background: radial-gradient(circle at 88% 10%,rgba(218,171,209,.14),transparent 28%),linear-gradient(145deg,rgba(16,30,60,.88),rgba(7,15,40,.94));
  box-shadow: inset 0 1px rgba(255,255,255,.18),0 24px 60px rgba(0,0,0,.22);
}
.selected-service-code { margin-bottom: 20px; color: var(--gold); font-size: .72rem; letter-spacing: .16em; }
.selected-service-panel h3 { margin-bottom: 30px; font-size: clamp(2rem,3vw,3.15rem); line-height: 1.04; letter-spacing: -.04em; font-weight: 400; }
.service-detail-block { margin-bottom: 24px; }
.service-detail-label { margin-bottom: 8px; color: var(--gold); text-transform: uppercase; letter-spacing: .13em; font-size: .66rem; font-weight: 600; }
.service-detail-block > p:last-child { margin: 0; color: rgba(255,255,255,.72); line-height: 1.7; }
.founder-validation { margin: auto 0 26px; padding: 18px; border: 1px solid rgba(234,217,169,.18); border-radius: 16px; background: rgba(234,217,169,.05); }
.founder-validation span { color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: .65rem; }
.founder-validation p { margin: 8px 0 0; color: rgba(255,255,255,.64); font-size: .82rem; line-height: 1.55; }
.selected-service-panel .button { align-self: flex-start; }
.service-mobile-list { display: none; }

.mobile-service {
  overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 20px;
  background: linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.025));
  box-shadow: inset 0 1px rgba(255,255,255,.12);
  transition: border-color .25s,background .25s,box-shadow .25s;
}
.mobile-service.is-open {
  border-color: rgba(234,217,169,.58);
  background: linear-gradient(145deg,rgba(234,217,169,.12),rgba(116,103,176,.08));
  box-shadow: inset 0 1px rgba(255,255,255,.2),0 16px 42px rgba(0,0,0,.18);
}
.mobile-service h3 { margin: 0; }
.mobile-service-toggle {
  width: 100%; min-height: 82px; padding: 20px 18px; display: grid;
  grid-template-columns: 58px 1fr 32px; gap: 12px; align-items: center;
  border: 0; text-align: left; color: var(--ink); background: transparent; cursor: pointer;
}
.service-code { color: var(--gold); font-size: .7rem; letter-spacing: .12em; }
.service-name { font-size: clamp(1rem,1.6vw,1.18rem); line-height: 1.35; font-weight: 500; }
.accordion-icon { position: relative; width: 30px; height: 30px; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.04); }
.accordion-icon::before, .accordion-icon::after {
  content: ""; position: absolute; left: 8px; right: 8px; top: 14px; height: 1px; background: var(--gold);
  transition: transform .25s,opacity .25s;
}
.accordion-icon::after { transform: rotate(90deg); }
.is-open .accordion-icon::after { transform: rotate(0); opacity: 0; }
.mobile-service-panel {
  display: grid; grid-template-rows: 0fr; opacity: 0;
  transition: grid-template-rows .34s ease,opacity .28s ease;
}
.mobile-service.is-open .mobile-service-panel { grid-template-rows: 1fr; opacity: 1; }
.mobile-service-inner { min-height: 0; overflow: hidden; padding: 0 18px; }
.mobile-service.is-open .mobile-service-inner { padding-bottom: 22px; }
.mobile-service-inner > p:not(.service-detail-label) { color: rgba(255,255,255,.74); line-height: 1.67; }
.mobile-service-inner .service-detail-label { margin-top: 20px; }
.mobile-service-inner .founder-validation { margin-top: 24px; }
.mobile-service-inner .button { width: 100%; }
.stage-back-row { margin-top: 34px; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.12); }

/* Restored NAVI approach and closing sections */
.philosophy {
  position: relative; min-height: clamp(780px,56.25vw,940px); padding: clamp(112px,8vw,150px) clamp(32px,5.5vw,96px);
  display: grid; grid-template-columns: 1.08fr .92fr; gap: 4vw; align-items: center;
  overflow: hidden; isolation: isolate; background: #070b22;
}
.philosophy::before {
  content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background: linear-gradient(90deg,transparent 38%,rgba(4,8,28,.18) 54%,rgba(4,8,28,.8) 100%);
}
.philosophy-art {
  position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; overflow: hidden;
}
.philosophy-art img { width: 100%; max-width: none; height: 100%; object-fit: cover; object-position: left center; }
.philosophy-copy { position: relative; z-index: 2; grid-column: 2; width: 100%; max-width: 760px; justify-self: end; }
.philosophy h2 { margin-bottom: 26px; font-size: clamp(3rem,4.5vw,5.3rem); line-height: .98; letter-spacing: -.045em; font-weight: 400; }
.closing h2 { margin-bottom: 26px; font-size: clamp(2.5rem,5vw,5.25rem); line-height: .98; letter-spacing: -.045em; font-weight: 400; }
.philosophy-copy > p:nth-of-type(2) { max-width: 680px; color: var(--muted); line-height: 1.8; }
.principles { margin-top: 45px; border-top: 1px solid var(--line); }
.principles > div { padding: 22px 0; display: grid; grid-template-columns: 52px 1fr; gap: 12px; border-bottom: 1px solid var(--line); }
.principles span { color: var(--gold); font-size: .7rem; letter-spacing: .12em; }
.principles p { margin: 0; color: var(--muted); line-height: 1.55; }
.principles strong { display: block; margin-bottom: 3px; color: var(--ink); font-weight: 500; }
.closing { position: relative; min-height: 680px; padding: 120px 24px; display: grid; place-items: center; text-align: center; overflow: hidden; background: #070a22; }
.closing > div:not(.closing-glow) { position: relative; z-index: 2; max-width: 900px; }
.closing-glow { position: absolute; width: 620px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,rgba(91,176,187,.19),rgba(109,87,161,.1) 35%,transparent 70%); filter: blur(15px); }
.closing p:not(.eyebrow) { max-width: 580px; margin: 0 auto 35px; color: var(--muted); line-height: 1.7; }
.closing-actions { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }

footer {
  padding: 38px clamp(24px,4vw,72px); display: grid; grid-template-columns: 1fr auto 1fr; gap: 30px; align-items: center;
  border-top: 1px solid rgba(255,255,255,.08); background: #05071a; color: rgba(255,255,255,.5); font-size: .73rem;
}
.brand--footer { width: 146px; }
.brand--footer img { height: 42px; }
.footer-note { text-align: right; color: rgba(234,217,169,.62); }
footer p { margin: 0; }

.notice {
  position: fixed; z-index: 100; right: 22px; bottom: 22px; width: min(430px,calc(100vw - 44px));
  padding: 16px 18px; display: flex; gap: 16px; align-items: flex-start;
  border: 1px solid rgba(255,255,255,.18); border-radius: 16px;
  background: rgba(13,16,44,.96); box-shadow: 0 20px 60px rgba(0,0,0,.4); backdrop-filter: blur(18px);
  transform: translateY(150%); transition: transform .35s;
}
.notice.show { transform: translateY(0); }
.notice span { color: rgba(255,255,255,.8); line-height: 1.5; font-size: .82rem; }
.notice button { margin-left: auto; border: 0; background: none; cursor: pointer; font-size: 1.1rem; }

@media (max-width: 1050px) {
  .dock { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .stage-card { min-height: 310px; transform: none !important; }
  .hero-stage-dock { padding-top: 52px; }

  .stage-hero { height: clamp(700px,84vw,860px); min-height: 700px; }
  .stage-hero .stage-hero-art-wrap { position: absolute; inset: 0; width: 100%; border: 0; border-radius: 0; box-shadow: none; }
  .stage-hero .stage-hero-panel, .stage-get-found .stage-hero-panel, .stage-build-trust .stage-hero-panel,
  .stage-convert-grow .stage-hero-panel, .stage-optimize-sustain .stage-hero-panel {
    position: absolute; width: min(520px,48vw); max-width: none; margin: 0; padding: 0;
  }
  .stage-get-found .stage-hero-panel, .stage-build-trust .stage-hero-panel { top: 49%; right: 5vw; left: auto; transform: translateY(-35%); text-align: left; }
  .stage-convert-grow .stage-hero-panel { top: 48%; left: 5vw; right: auto; transform: translateY(-34%); text-align: left; }
  .stage-optimize-sustain .stage-hero-panel { top: 16%; left: 50%; width: min(700px,76vw); transform: translateX(-50%); text-align: center; }
  .stage-hero-panel h1, .stage-build-trust .stage-hero-panel h1 { font-size: clamp(3rem,6vw,5rem); }
  .stage-optimize-sustain .stage-purpose { margin-inline: auto; }
  .service-desktop-layout { grid-template-columns: 1fr; }
  .selected-service-panel { position: static; min-height: 520px; }
  .philosophy { grid-template-columns: 1fr 1fr; gap: 3vw; padding-inline: 4vw; }
}

@media (max-width: 1180px) and (min-width: 761px) {
  .site-header { padding-left: 22px; }
  .site-header nav { gap: 22px; }
  .nav-link { font-size: .8rem; }
  .site-header .button--small { padding: 10px 15px; }
}

@media (max-width: 760px) {
  .site-header { top: 10px; width: calc(100% - 20px); height: 68px; padding: 8px 14px 8px 18px; border-radius: 22px; }
  .brand { width: 145px; }
  .brand img { height: 45px; }
  .menu-toggle { display: block; position: relative; z-index: 2; cursor: pointer; }
  .site-header nav {
    position: fixed; top: 0; right: -10px; width: min(340px,92vw); min-height: 100svh;
    padding: 100px 30px 30px; flex-direction: column; align-items: stretch; gap: 0;
    background: rgba(6,10,31,.98); border-left: 1px solid var(--line); box-shadow: -20px 0 60px rgba(0,0,0,.35);
    transform: translateX(105%); transition: transform .3s;
  }
  .site-header nav.open { transform: translateX(0); }
  .nav-link { width: 100%; padding: 17px 0; border-bottom: 1px solid var(--line); text-align: left; font-size: 1rem; }
  .nav-link::after { display: none; }
  .site-header nav .button { margin-top: 24px; }

  .hero { min-height: 0; padding: 115px 12px 20px; }
  .hero-art img { object-position: 54% 50%; }
  .hero-copy { width: min(620px,94vw); }
  .hero-copy::before { inset: -18px -28px -18px; }
  .hero h1 { font-size: clamp(2.9rem,12vw,4.1rem); line-height: .94; }
  .hero-actions { width: min(370px,100%); margin: 24px auto 0; }
  .hero-actions .button { width: 100%; }
  .hero-stage-dock { padding-top: 50px; }
  .dock { grid-template-columns: 1fr; gap: 12px; }
  .stage-card { min-height: 300px; padding: 20px; }

  .stage-hero { height: 760px; min-height: 720px; padding: 0; }
  .stage-hero .stage-hero-art-wrap { width: 100%; border-radius: 0; }
  .stage-hero .stage-hero-panel, .stage-get-found .stage-hero-panel, .stage-build-trust .stage-hero-panel,
  .stage-convert-grow .stage-hero-panel, .stage-optimize-sustain .stage-hero-panel {
    position: absolute; left: 24px; right: 24px; width: auto; margin: 0; padding: 0;
    transform: none; text-align: left;
  }
  .stage-get-found .stage-hero-art img { object-position: 24% center; }
  .stage-build-trust .stage-hero-art img { object-position: 28% center; }
  .stage-convert-grow .stage-hero-art img { object-position: 72% center; }
  .stage-optimize-sustain .stage-hero-art img { object-position: 50% center; }
  .stage-get-found .stage-hero-panel, .stage-build-trust .stage-hero-panel, .stage-convert-grow .stage-hero-panel { top: auto; bottom: 64px; }
  .stage-optimize-sustain .stage-hero-panel { top: 126px; bottom: auto; text-align: center; }
  .stage-label { margin-bottom: 14px; }
  .stage-hero-panel h1, .stage-build-trust .stage-hero-panel h1, .stage-optimize-sustain .stage-hero-panel h1 { margin-bottom: 14px; font-size: clamp(2.8rem,12vw,4.1rem); }
  .stage-purpose { max-width: 31ch; font-size: 1.02rem; line-height: 1.48; }
  .stage-optimize-sustain .stage-purpose { margin-inline: auto; }

  .stage-services { padding: 34px 10px 70px; }
  .services-shell { padding: 24px 14px; border-radius: 24px; }
  .services-heading { align-items: start; flex-direction: column; gap: 16px; }
  .services-heading > p { text-align: left; }
  .service-desktop-layout { display: none; }
  .service-mobile-list { display: grid; gap: 12px; }
  .mobile-service-toggle { min-height: 76px; padding: 18px 16px; grid-template-columns: 56px 1fr 30px; gap: 10px; }
  .stage-back-row .button { width: 100%; }
  .philosophy { min-height: 0; grid-template-columns: 1fr; gap: 0; padding: 0 26px 84px; }
  .philosophy::before { background: linear-gradient(180deg,transparent 28%,rgba(4,8,28,.22) 46%,rgba(4,8,28,.9) 69%,#070b22 100%); }
  .philosophy-art { position: relative; z-index: -2; width: calc(100% + 52px); height: auto; aspect-ratio: 1 / 1.05; margin-left: -26px; }
  .philosophy-art img { width: auto; max-width: none; height: 100%; object-fit: cover; object-position: left center; }
  .philosophy-copy { grid-column: 1; max-width: none; padding-top: 48px; }
  .philosophy h2 { font-size: clamp(2.7rem,12vw,4rem); }

  footer { grid-template-columns: 1fr; text-align: center; }
  .brand--footer { margin: auto; }
  .footer-note { text-align: center; }
}

@media (max-width: 430px) {
  .hero-copy::before { inset: -14px -16px -16px; }
  .hero h1 { font-size: clamp(2.7rem,13vw,3.3rem); }
  .stage-card { padding: 21px; }
  .mobile-service-toggle { grid-template-columns: 1fr 30px; }
  .service-code { grid-column: 1; margin-bottom: -4px; }
  .service-name { grid-column: 1; }
  .accordion-icon { grid-column: 2; grid-row: 1 / span 2; }
}

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