:root {
  --bg: #000;
  --text: #ffffff;
  --muted: #b3bcc8;
  --accent: #ffffff;
  --text-soft: rgba(255, 255, 255, 0.86);
  --border: rgba(255, 255, 255, 0.12);
  --line: rgba(255, 255, 255, 0.18);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Manrope", "Space Grotesk", "DM Sans", sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  letter-spacing: -0.01em;
  scroll-snap-type: y mandatory;
  overscroll-behavior-y: contain;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Glass header */
.glass-header {
  position: fixed;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  width: 95%;
  height: 72px;
  z-index: 20;
  pointer-events: none;
}

.glass-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(var(--glass-blur, 12px));
  -webkit-backdrop-filter: blur(var(--glass-blur, 12px));
  border-radius: 28px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.glass-header__inner {
  position: relative;
  inset: 0;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 18px;
  pointer-events: auto;
}

.glass-header__brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.glass-header__spacer {
  flex: 1;
}

.glass-header__nav {
  display: flex;
  gap: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.86);
}

.glass-header__nav a {
  padding: 6px 8px;
  border-radius: 12px;
  transition: opacity 0.2s ease;
}

.glass-header__nav a:hover {
  opacity: 0.7;
}

.glass-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: transparent;
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: opacity 0.2s ease, background-color 0.2s ease;
}

.glass-header__cta:hover {
  opacity: 0.8;
  background-color: rgba(255, 255, 255, 0.06);
}

.glass-header__logo {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.35));
}

.glass-header__wordmark {
  display: inline-block;
}

main {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.8s ease, transform 0.8s ease;
  padding: 10vh 0 12vh;
  position: relative;
  z-index: 1;
}

.page-ready main {
  opacity: 1;
  transform: translateY(0);
}

#bg {
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.environment {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background: #050505;
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}

.env__scene {
  position: relative;
  width: 100%;
  height: 100vh;
  perspective: 1800px;
  transform-style: preserve-3d;
  background: radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.06), transparent 28%),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.04), transparent 32%),
    #0a0c10;
  transform: translateZ(0);
}

.env__layer {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  --jx: 0px;
  --jy: 0px;
  transform: translateZ(var(--z, 0)) translateX(calc(var(--x, 0) + var(--jx, 0px)))
    translateY(calc(var(--y, 0) + var(--jy, 0px))) rotateY(var(--ry, 0)) rotateX(var(--rx, 0));
}

.env__layer--foreground {
  --z: 140px;
  --x: -18vw;
  --y: 8vh;
  --ry: -4deg;
  --rx: -3deg;
}

.env__layer--mid {
  --z: 90px;
  --x: 16vw;
  --y: 2vh;
  --ry: 3deg;
  --rx: -2deg;
}

.env__layer--background {
  --z: 30px;
  --x: -8vw;
  --y: -6vh;
  --ry: -2deg;
  --rx: 0deg;
}

.env__layer--far {
  --z: -120px;
  --x: 0vw;
  --y: -14vh;
  --ry: 1deg;
  --rx: 0deg;
}

.plane {
  position: absolute;
  background: linear-gradient(130deg, #5a606c, #3a3f48);
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow:
    0 26px 60px rgba(0, 0, 0, 0.6),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(255, 255, 255, 0.12);
}

.plane::after {
  content: "";
  position: absolute;
  inset: -1px;
  background: linear-gradient(120deg, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0));
  opacity: 0.32;
  mix-blend-mode: screen;
  pointer-events: none;
}

.plane--foreground {
  width: 52vw;
  height: 14vh;
  top: 74%;
  left: -24%;
  background: linear-gradient(140deg, #666d7a, #424853);
  transform: translateZ(32px) rotateX(-3deg) rotateY(-12deg);
}

.plane--foreground-slab {
  width: 20vw;
  height: 14vh;
  top: 8%;
  left: 68%;
  background: linear-gradient(150deg, #6a7180, #3d434e);
  transform: translateZ(30px) rotateX(-1deg) rotateY(14deg);
}

.plane--mid-left {
  width: 66vw;
  height: 32vh;
  top: 6%;
  left: -32%;
  background: linear-gradient(130deg, #6f7684, #414753);
  transform: translateZ(22px) rotateX(1deg) rotateY(-10deg);
}

.plane--mid-right {
  width: 28vw;
  height: 30vh;
  top: 34%;
  right: -26%;
  background: linear-gradient(150deg, #646c7a, #3c414c);
  transform: translateZ(16px) rotateX(-2deg) rotateY(12deg);
}

.plane--mid-upper {
  width: 22vw;
  height: 12vh;
  top: 0%;
  right: 4%;
  background: linear-gradient(145deg, #68707f, #3d424e);
  transform: translateZ(16px) rotateX(0deg) rotateY(8deg);
}

.plane--mid-lower {
  width: 32vw;
  height: 12vh;
  top: 66%;
  left: 22%;
  background: linear-gradient(135deg, #5f6774, #383d48);
  transform: translateZ(12px) rotateX(-1deg) rotateY(-6deg);
}

.plane--mid-top-right {
  width: 24vw;
  height: 12vh;
  top: -4%;
  right: -12%;
  background: linear-gradient(150deg, #707886, #454c58);
  transform: translateZ(18px) rotateX(0deg) rotateY(10deg);
}

.plane--mid-bottom-left {
  width: 28vw;
  height: 14vh;
  top: 72%;
  left: -22%;
  background: linear-gradient(140deg, #c3c8d2, #8c939f);
  transform: translateZ(14px) rotateX(-2deg) rotateY(-10deg);
}

.plane--mid-bottom-left-2 {
  width: 22vw;
  height: 12vh;
  top: 78%;
  left: -10%;
  background: linear-gradient(140deg, #c8ced8, #9097a3);
  transform: translateZ(12px) rotateX(-1deg) rotateY(-8deg);
}

.plane--mid-bottom-right {
  width: 26vw;
  height: 14vh;
  top: 76%;
  right: -18%;
  background: linear-gradient(150deg, #c2c8d3, #8a919d);
  transform: translateZ(12px) rotateX(-1deg) rotateY(10deg);
}

.plane--mid-bottom-left-3 {
  width: 18vw;
  height: 10vh;
  top: 82%;
  left: -4%;
  background: linear-gradient(145deg, #ccd2dc, #939aa6);
  transform: translateZ(10px) rotateX(-1deg) rotateY(-6deg);
}

.plane--mid-bottom-left-4 {
  width: 16vw;
  height: 9vh;
  top: 86%;
  left: -2%;
  background: linear-gradient(145deg, #d1d7e2, #9aa1ad);
  transform: translateZ(10px) rotateX(-1deg) rotateY(-6deg);
}

.plane--mid-bottom-right-2 {
  width: 22vw;
  height: 12vh;
  top: 82%;
  right: -16%;
  background: linear-gradient(150deg, #c9cfda, #8f97a4);
  transform: translateZ(12px) rotateX(-1deg) rotateY(10deg);
}

.plane--mid-bottom-right-3 {
  width: 18vw;
  height: 10vh;
  top: 86%;
  right: -10%;
  background: linear-gradient(150deg, #d0d6e1, #98a0ac);
  transform: translateZ(10px) rotateX(-1deg) rotateY(8deg);
}

.plane--background {
  width: 118vw;
  height: 52vh;
  top: -10%;
  left: -14%;
  background: linear-gradient(160deg, #525a68, #2c313c);
  transform: translateZ(-14px) rotateX(0deg) rotateY(-6deg);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow:
    0 20px 60px rgba(0, 0, 0, 0.5),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.1);
}

.plane--background-slab {
  width: 74vw;
  height: 16vh;
  top: 68%;
  left: -10%;
  background: linear-gradient(160deg, #4b5360, #262b36);
  transform: translateZ(-24px) rotateX(0deg) rotateY(-8deg);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow:
    0 18px 48px rgba(0, 0, 0, 0.45),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.08);
}

.plane--background-corner {
  width: 52vw;
  height: 14vh;
  top: -2%;
  right: -18%;
  background: linear-gradient(150deg, #58606d, #323843);
  transform: translateZ(-30px) rotateX(-1deg) rotateY(10deg);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow:
    0 16px 44px rgba(0, 0, 0, 0.42),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.08);
}

.plane--background-bottom-left {
  width: 54vw;
  height: 12vh;
  top: 74%;
  left: -18%;
  background: linear-gradient(150deg, #9ca3b2, #626975);
  transform: translateZ(-18px) rotateX(-1deg) rotateY(-8deg);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.42),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--background-bottom-right {
  width: 48vw;
  height: 10vh;
  top: 80%;
  right: -12%;
  background: linear-gradient(150deg, #a0a8b8, #656c78);
  transform: translateZ(-20px) rotateX(-1deg) rotateY(8deg);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.42),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--background-bottom-left-2 {
  width: 42vw;
  height: 10vh;
  top: 82%;
  left: -6%;
  background: linear-gradient(150deg, #a4acbd, #6a7180);
  transform: translateZ(-22px) rotateX(-1deg) rotateY(-6deg);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.42),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--background-bottom-left-3 {
  width: 36vw;
  height: 9vh;
  top: 86%;
  left: -12%;
  background: linear-gradient(150deg, #aab2c2, #6f7684);
  transform: translateZ(-24px) rotateX(-1deg) rotateY(-8deg);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.42),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--background-bottom-right-2 {
  width: 38vw;
  height: 10vh;
  top: 84%;
  right: -8%;
  background: linear-gradient(150deg, #a6aebe, #69707d);
  transform: translateZ(-22px) rotateX(-1deg) rotateY(10deg);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.42),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--background-bottom-right-3 {
  width: 32vw;
  height: 9vh;
  top: 88%;
  right: -4%;
  background: linear-gradient(150deg, #acb4c5, #6e7583);
  transform: translateZ(-24px) rotateX(-1deg) rotateY(12deg);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.42),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--void {
  width: 120vw;
  height: 140vh;
  top: -10%;
  left: -10%;
  background: linear-gradient(180deg, #050608 0%, #030306 45%, #010102 100%);
  opacity: 0.9;
  border: none;
  box-shadow: none;
}

.plane--far-top-right {
  width: 64vw;
  height: 18vh;
  top: -12%;
  right: -28%;
  background: linear-gradient(150deg, #4c5360, #272c35);
  transform: translateZ(-60px) rotateX(-2deg) rotateY(12deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--far-bottom-left {
  width: 68vw;
  height: 16vh;
  bottom: -10%;
  left: -26%;
  background: linear-gradient(130deg, #9aa4b6, #606672);
  transform: translateZ(-70px) rotateX(-2deg) rotateY(-10deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--far-bottom-right {
  width: 64vw;
  height: 14vh;
  bottom: -12%;
  right: -24%;
  background: linear-gradient(150deg, #95a0b3, #5a616d);
  transform: translateZ(-80px) rotateX(-2deg) rotateY(12deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--far-bottom-left-2 {
  width: 52vw;
  height: 12vh;
  bottom: -16%;
  left: -30%;
  background: linear-gradient(140deg, #9ca8ba, #5d6470);
  transform: translateZ(-86px) rotateX(-2deg) rotateY(-12deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--far-bottom-left-3 {
  width: 44vw;
  height: 10vh;
  bottom: -20%;
  left: -28%;
  background: linear-gradient(150deg, #a3afc1, #626a76);
  transform: translateZ(-90px) rotateX(-2deg) rotateY(-10deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--far-bottom-right-2 {
  width: 48vw;
  height: 12vh;
  bottom: -14%;
  right: -22%;
  background: linear-gradient(150deg, #9aa6b8, #606874);
  transform: translateZ(-84px) rotateX(-2deg) rotateY(12deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--far-bottom-right-3 {
  width: 42vw;
  height: 10vh;
  bottom: -18%;
  right: -18%;
  background: linear-gradient(150deg, #a1adbf, #656c79);
  transform: translateZ(-88px) rotateX(-2deg) rotateY(10deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.plane--far-bottom-center {
  width: 46vw;
  height: 12vh;
  bottom: -12%;
  left: 8%;
  background: linear-gradient(150deg, #9aa7ba, #5f6773);
  transform: translateZ(-82px) rotateX(-2deg) rotateY(0deg);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.environment::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 30% 70%, rgba(0, 0, 0, 0.45), transparent 48%),
    radial-gradient(circle at 70% 30%, rgba(0, 0, 0, 0.4), transparent 46%),
    linear-gradient(180deg, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.75));
  pointer-events: none;
}

.env__layer {
  transition: transform 0.35s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* Preloader */
.preloader {
  position: fixed;
  inset: 0;
  background: #000;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 99;
  overflow: hidden;
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.preloader__glow {
  display: none;
}

.preloader__center {
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  position: relative;
  z-index: 1;
  text-shadow: 0 0 20px rgba(255, 255, 255, 0.2);
}

.preloader__text {
  opacity: 0;
}

.preloader__text.fade {
  animation: fadeWord 1.33s ease forwards;
}

.preloader__progress {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 10px;
  background: rgba(255, 255, 255, 0.12);
}

.preloader__bar {
  height: 100%;
  width: 0;
  background: var(--accent);
  box-shadow: none;
  animation: fill 4s linear forwards;
}

.preloader--done {
  opacity: 0;
  transform: translateY(-8px);
  pointer-events: none;
}

@keyframes fadeWord {
  0% {
    opacity: 0;
    transform: translateY(14px) scale(0.98);
    filter: blur(10px);
  }
  20% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
  80% {
    opacity: 1;
    transform: translateY(0) scale(1.01);
    filter: blur(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-10px) scale(0.98);
    filter: blur(6px);
  }
}

@keyframes fill {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

@keyframes drift {
  from {
    transform: scale(1) translate(0, 0);
  }
  to {
    transform: scale(1.05) translate(0, 0);
  }
}

.scroll-section {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 160px 20px;
  position: relative;
  opacity: var(--visible, 0);
  transform: translateY(calc((1 - var(--visible, 0)) * 80px));
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 1;
  text-shadow: 0 10px 40px rgba(0, 0, 0, 0.45);
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

.scroll-section__inner {
  max-width: 960px;
  width: min(960px, 90vw);
  padding: 48px 42px;
  text-align: center;
  transform: translateY(var(--shift, 0px));
  transition: transform 0.4s ease;
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.16em;
  font-size: 0.82rem;
  color: rgba(255, 255, 255, 0.64);
  margin: 0 0 12px;
}

.scroll-section h1 {
  margin: 0 0 16px;
  font-size: clamp(2.6rem, 4vw, 3.4rem);
  letter-spacing: -0.03em;
}

.scroll-section h2 {
  margin: 0 0 16px;
  font-size: clamp(2rem, 3.4vw, 2.6rem);
  letter-spacing: -0.02em;
}

.scroll-section p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 1.14rem;
  line-height: 1.8;
}

.scroll-section .lede {
  color: var(--text-soft);
  font-size: 1.12rem;
  line-height: 1.8;
}

.soft-tail {
  color: rgba(255, 255, 255, 0.5);
  margin-top: 22px;
}

.build-section__inner {
  max-width: 900px;
  width: min(900px, 92vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
  text-align: center;
}

.build-subline--v2 {
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.7;
}

.build-meaning {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.build-heading {
  margin: 0;
  font-size: clamp(3.6rem, 6.7vw, 5rem);
  letter-spacing: -0.02em;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.build-subline {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.8;
  color: var(--muted);
  opacity: 0;
  transition: opacity 0.6s ease 0.14s;
}

.build-proof {
  position: relative;
  padding-left: 32px;
}

.build-divider {
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), var(--line), rgba(255, 255, 255, 0));
  opacity: 0.9;
}

.build-list {
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

.build-item {
  opacity: 0;
  transition: opacity 0.5s ease;
}

.build-item + .build-item {
  margin-top: 12px;
}

.build-list--enhanced .build-item + .build-item {
  margin-top: 0;
}

.build-list--enhanced {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.build-list--enhanced .build-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: start;
  padding: 16px 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 14px 44px rgba(0, 0, 0, 0.35),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.04);
}

.build-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.build-icon img {
  width: 22px;
  height: 22px;
  filter: invert(1) opacity(0.86);
}

.build-copy {
  display: grid;
  gap: 6px;
}

.build-text {
  font-size: 1.08rem;
  font-weight: 700;
  color: #fff;
}

.build-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.6;
}

.build-cta {
  display: inline-block;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.68);
  font-size: 1.1rem;
  text-decoration: none;
  position: relative;
  opacity: 0;
  transition: opacity 0.5s ease 0.3s;
}

.build-cta::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 20px;
  height: 1px;
  background: rgba(255, 255, 255, 0.28);
  opacity: 0;
  transform: translateY(2px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.build-cta:hover {
  opacity: 1;
}

.build-section__inner--v2 {
  gap: 18px;
}

.section-kicker {
  margin: 0;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.58);
}

.transform-pairs {
  display: grid;
  gap: 12px;
  width: min(760px, 100%);
}

.transform-pair {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 14px 44px rgba(0, 0, 0, 0.35),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.05);
  opacity: 0;
  transition: opacity 0.6s ease;
}

.transform-pair .pair-from {
  font-size: 1.04rem;
  font-weight: 600;
  color: #fff;
}

.transform-pair .pair-arrow {
  color: rgba(255, 255, 255, 0.7);
  font-size: 1.14rem;
  letter-spacing: 0.06em;
}

.transform-pair .pair-to {
  font-size: 1rem;
  color: rgba(140, 186, 255, 0.9);
  font-weight: 700;
  text-align: right;
}

.transform-pair.is-visible {
  opacity: 1;
}

.build-cta--small {
  font-size: 0.98rem;
  padding: 10px 16px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
}

.build-cta:hover::after {
  opacity: 1;
  transform: translateY(0);
}

.scroll-section--build.is-build-visible .build-heading,
.scroll-section--build.is-build-visible .build-subline,
.scroll-section--build.is-build-visible .build-cta {
  opacity: 1;
}

.scroll-section--build.is-build-visible .build-item {
  opacity: 1;
}

.scroll-section--reframe {
  transform: none !important;
  transition: opacity 0.6s ease;
}

.reframe-inner {
  max-width: 1180px;
  width: min(1180px, 94vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: center;
}

.reframe-heading {
  margin: 0;
  font-size: clamp(3.8rem, 7vw, 5.4rem);
  letter-spacing: -0.025em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 1s ease;
  line-height: 1.1;
}

.reframe-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  width: 100%;
  opacity: 0;
  transition: opacity 1s ease 0.2s;
}

.reframe-card {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px 16px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.35),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.05);
}

.reframe-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.reframe-icon img {
  width: 20px;
  height: 20px;
  filter: invert(1) opacity(0.85);
}

.reframe-card p {
  margin: 0;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.reframe-closing {
  margin: 0;
  font-size: 1.18rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.82);
  opacity: 0;
  transition: opacity 1s ease 0.35s;
}

.scroll-section--reframe.is-active .reframe-heading,
.scroll-section--reframe.is-active .reframe-grid,
.scroll-section--reframe.is-active .reframe-closing {
  opacity: 1;
}

.philosophy-inner {
  max-width: 1180px;
  width: min(1180px, 94vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: center;
}

.philosophy-heading {
  margin: 0;
  font-size: clamp(3.4rem, 6.6vw, 4.8rem);
  letter-spacing: -0.02em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 1s ease;
  line-height: 1.12;
}

.philosophy-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 16px;
  width: 100%;
  opacity: 0;
  transition: opacity 1s ease 0.18s;
}

.philosophy-card {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px 16px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 16px 48px rgba(0, 0, 0, 0.35),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.05);
}

.philosophy-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.philosophy-icon img {
  width: 20px;
  height: 20px;
  filter: invert(1) opacity(0.85);
}

.philosophy-card p {
  margin: 0;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.philosophy-closing {
  margin: 0;
  font-size: 1.14rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 1s ease 0.32s;
}

.scroll-section--philosophy {
  transform: none !important;
  transition: opacity 0.6s ease;
}

.scroll-section--philosophy.is-active .philosophy-heading,
.scroll-section--philosophy.is-active .philosophy-grid,
.scroll-section--philosophy.is-active .philosophy-closing {
  opacity: 1;
}

.system-inner {
  max-width: 1200px;
  width: min(1200px, 95vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: center;
}

.system-heading {
  margin: 0;
  font-size: clamp(3.2rem, 6vw, 4.6rem);
  letter-spacing: -0.02em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 1s linear;
}

.system-subline {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.8;
  color: var(--muted);
  opacity: 0;
  transition: opacity 1s linear 0.15s;
}

.system-flow {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 32px 0;
  opacity: 0;
  transition: opacity 1s linear 0.3s;
}

.system-stage {
  padding: 10px 6px;
  font-size: 1.08rem;
  color: rgba(255, 255, 255, 0.68);
  transition: color 0.4s linear;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  min-width: 120px;
}

.system-stage span {
  display: inline-block;
}

.system-stage__icon {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.01)),
    linear-gradient(140deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.02));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 16px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.08);
}

.system-stage__icon img {
  width: 28px;
  height: 28px;
  filter: invert(1) opacity(0.86);
}

.system-connector {
  text-align: center;
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.5);
}

.scroll-section--system {
  transform: none !important;
  transition: opacity 0.8s linear;
}

.scroll-section--system.is-active .system-heading,
.scroll-section--system.is-active .system-subline,
.scroll-section--system.is-active .system-flow {
  opacity: 1;
}

.system-stage.is-lit {
  color: #fff;
}

.outcomes-inner {
  max-width: 1200px;
  width: min(1200px, 95vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: center;
  position: relative;
}

.outcomes-heading {
  margin: 0;
  font-size: clamp(3rem, 5.6vw, 4.4rem);
  letter-spacing: -0.02em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.outcomes-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  width: 100%;
}

.outcome-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  align-items: center;
  padding: 18px 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.35),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.05);
  opacity: 0;
  transition: opacity 0.7s ease, transform 0.2s ease;
  transition-delay: calc(0.12s * var(--i, 0));
}

.outcome-card:hover {
  transform: translateY(-2px);
}

.outcome-icon {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.outcome-icon img {
  width: 24px;
  height: 24px;
  filter: invert(1) opacity(0.86);
}

.outcome-title {
  margin: 0;
  color: #fff;
  font-size: 1.12rem;
  letter-spacing: -0.01em;
}

.outcome-sub {
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.6;
}

.outcomes-closing {
  margin: 0;
  font-size: 1.18rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.82);
  opacity: 0;
  transition: opacity 0.8s ease 0.4s;
}

.scroll-section--outcomes.is-active .outcomes-heading,
.scroll-section--outcomes.is-active .outcome-card,
.scroll-section--outcomes.is-active .outcomes-closing {
  opacity: 1;
}

.process-inner {
  max-width: 1200px;
  width: min(1200px, 95vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: center;
}

.process-heading {
  margin: 0;
  font-size: clamp(3rem, 5.4vw, 4.2rem);
  letter-spacing: -0.02em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.process-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 32px;
  width: 100%;
  position: relative;
  padding: 18px 0;
}

.process-steps::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.12));
  pointer-events: none;
  transform: translateY(-50%);
}

.process-step {
  text-align: left;
  opacity: 0;
  transition: opacity 0.6s ease;
  transition-delay: calc(0.15s * var(--i, 0));
}

.process-step__badge {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 12px;
  box-shadow:
    0 14px 40px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.06);
}

.process-step__badge img {
  width: 26px;
  height: 26px;
  filter: invert(1) opacity(0.82);
}

.process-step__number {
  position: absolute;
  top: -10px;
  right: -10px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.24);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.82rem;
  font-weight: 700;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.process-step__title {
  font-weight: 700;
  font-size: 1.08rem;
  color: #fff;
  margin-bottom: 6px;
}

.process-step__text {
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.7;
}

.process-closing {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  transition: opacity 0.8s ease 0.4s;
}

.scroll-section--process {
  transform: none !important;
  transition: opacity 0.7s ease;
}

.scroll-section--process.is-active .process-heading,
.scroll-section--process.is-active .process-step,
.scroll-section--process.is-active .process-closing {
  opacity: 1;
}

.fit-inner {
  max-width: 1200px;
  width: min(1200px, 95vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: center;
  position: relative;
}

.fit-heading {
  margin: 0;
  font-size: clamp(3rem, 5.4vw, 4.2rem);
  letter-spacing: -0.02em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.fit-columns {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  position: relative;
}

.fit-col {
  text-align: left;
  display: grid;
  gap: 12px;
  padding: 22px 20px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.35),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.04);
  opacity: 0;
  transition: opacity 0.7s ease, transform 0.2s ease;
}

.fit-col:hover {
  transform: translateY(-2px);
}

.fit-col--good {
  color: #fff;
  transition-delay: 0.15s;
  background: linear-gradient(140deg, rgba(140, 186, 255, 0.08), rgba(255, 255, 255, 0.01));
}

.fit-col--not {
  color: rgba(255, 255, 255, 0.82);
  transition-delay: 0.35s;
  background: linear-gradient(140deg, rgba(255, 255, 255, 0.02), rgba(140, 186, 255, 0.02));
}

.fit-label {
  font-weight: 700;
  margin: 0;
  font-size: 1.02rem;
  letter-spacing: 0.01em;
}

.fit-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 12px;
}

.fit-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  font-size: 1.02rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.86);
}

.fit-icon {
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.08);
}

.fit-icon img {
  width: 16px;
  height: 16px;
  filter: invert(1) opacity(0.8);
}

.fit-icon--good {
  background: rgba(140, 186, 255, 0.12);
  border-color: rgba(140, 186, 255, 0.28);
}

.fit-icon--not {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
}

.fit-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 0.84rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.78);
}

.fit-chip--good {
  border-color: rgba(140, 186, 255, 0.32);
  background: rgba(140, 186, 255, 0.14);
  color: #e8f1ff;
}

.fit-chip--not {
  border-color: rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.82);
}

.fit-closing {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.82);
  opacity: 0;
  transition: opacity 0.8s ease 0.45s;
}

.scroll-section--fit {
  transform: none !important;
  transition: opacity 0.7s ease;
}

.scroll-section--fit.is-active .fit-heading,
.scroll-section--fit.is-active .fit-col,
.scroll-section--fit.is-active .fit-closing {
  opacity: 1;
}

.care-inner {
  max-width: 1180px;
  width: min(1180px, 94vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 26px;
  align-items: center;
  position: relative;
}

.care-heading {
  margin: 0;
  font-size: clamp(3.2rem, 6vw, 4.6rem);
  letter-spacing: -0.02em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.care-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  width: 100%;
  opacity: 0;
  transition: opacity 0.8s ease 0.18s;
}

.care-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 18px 16px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.35),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.05);
}

.care-icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(140, 186, 255, 0.12);
  border: 1px solid rgba(140, 186, 255, 0.26);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.08);
}

.care-icon img {
  width: 24px;
  height: 24px;
  filter: invert(1) opacity(0.86);
}

.care-card__body h3 {
  margin: 0 0 6px;
  font-size: 1.14rem;
  color: #fff;
  letter-spacing: -0.01em;
}

.care-card__body p {
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.7;
}

.care-closing {
  margin: 0;
  font-size: 1.14rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.82);
  opacity: 0;
  transition: opacity 0.8s ease 0.32s;
}

.scroll-section--care {
  transform: none !important;
  transition: opacity 0.7s ease;
}

.scroll-section--care.is-active .care-heading,
.scroll-section--care.is-active .care-grid,
.scroll-section--care.is-active .care-closing {
  opacity: 1;
}

.cta-inner {
  max-width: 1180px;
  width: min(1180px, 94vw);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 18px;
  align-items: center;
  padding: 32px 0 16px;
  position: relative;
  overflow: hidden;
}

.cta-inner > :not(.cta-motif) {
  position: relative;
  z-index: 1;
}

.cta-motif {
  position: absolute;
  inset: -60px;
  background:
    radial-gradient(circle at 22% 18%, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0)),
    radial-gradient(circle at 78% 84%, rgba(140, 186, 255, 0.12), rgba(255, 255, 255, 0)),
    url("https://grainy-gradients.vercel.app/noise.svg");
  opacity: 0.32;
  pointer-events: none;
  filter: blur(1px);
}

.cta-heading {
  margin: 0;
  font-size: clamp(3rem, 5.4vw, 4.2rem);
  letter-spacing: -0.02em;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.8s ease;
}

.cta-subline {
  margin: 0;
  font-size: 1.12rem;
  line-height: 1.8;
  color: var(--muted);
  max-width: 64ch;
  opacity: 0;
  transition: opacity 0.8s ease 0.18s;
}

.cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  opacity: 0;
  transition: opacity 0.8s ease 0.32s, background-color 0.2s ease, transform 0.2s ease;
}

.cta-button:hover {
  background: rgba(255, 255, 255, 0.12);
  transform: translateY(-1px);
}

.cta-helper {
  margin: 0;
  font-size: 0.98rem;
  color: rgba(255, 255, 255, 0.6);
  opacity: 0;
  transition: opacity 0.8s ease 0.44s;
}

.scroll-section--cta {
  transform: none !important;
  transition: opacity 0.7s ease;
}

.scroll-section--cta.is-active .cta-heading,
.scroll-section--cta.is-active .cta-subline,
.scroll-section--cta.is-active .cta-button,
.scroll-section--cta.is-active .cta-helper {
  opacity: 1;
}
@media (max-width: 1000px) {
  .process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .process-steps {
    grid-template-columns: 1fr;
  }

  .process-steps::before {
    display: none;
  }

  .process-step {
    text-align: center;
  }
}

@media (max-width: 900px) {
  .fit-columns {
    grid-template-columns: 1fr;
  }

  .fit-col {
    text-align: center;
  }
}

@media (max-width: 900px) {
  .system-flow {
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
  }

  .system-connector {
    display: none;
  }

  .system-heading {
    font-size: clamp(2.6rem, 7vw, 3.8rem);
  }
}

@media (max-width: 860px) {
  .philosophy-inner {
    width: 92vw;
    gap: 22px;
  }

  .philosophy-heading {
    font-size: clamp(2.8rem, 8vw, 4rem);
  }

  .philosophy-card p,
  .philosophy-closing {
    font-size: 1.08rem;
  }
}

@media (max-width: 860px) {
  .reframe-inner {
    width: 92vw;
    gap: 24px;
  }

  .reframe-heading {
    font-size: clamp(3rem, 8vw, 4.6rem);
  }

  .reframe-card p,
  .reframe-closing {
    font-size: 1.12rem;
  }
}

@media (max-width: 860px) {
  .build-section__inner {
    gap: 24px;
  }
}

.scroll-section--playbook h2 {
  max-width: 900px;
  font-size: clamp(2.1rem, 3.8vw, 2.9rem);
}

.scroll-section--playbook {
  min-height: auto;
  padding: 90px 18px;
}

.scroll-section--build {
  min-height: auto;
  padding: 90px 18px 100px;
}

.scroll-section--playbook h2 {
  max-width: 900px;
  font-size: clamp(2.1rem, 3.8vw, 2.9rem);
}

.playbook-layout {
  display: grid;
  grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
  gap: 18px 26px;
  align-items: start;
}

.playbook-intro h2 {
  text-align: left;
  margin-bottom: 10px;
}

.playbook-sub {
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.7;
  text-align: left;
}

@media (max-width: 820px) {
  .playbook-layout {
    grid-template-columns: 1fr;
  }

  .playbook-intro h2,
  .playbook-sub {
    text-align: center;
  }
}

.playbook-lines {
  display: grid;
  gap: 12px;
  margin-top: 22px;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.playbook-line {
  opacity: 1;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 12px 36px rgba(0, 0, 0, 0.32),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.04);
  color: var(--text-soft);
}

.playbook-line__icon {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.08);
}

.playbook-line__icon img {
  width: 18px;
  height: 18px;
  filter: invert(1) opacity(0.86);
}

.playbook-line--tail {
  background: linear-gradient(140deg, rgba(140, 186, 255, 0.1), rgba(255, 255, 255, 0.04));
}

.playbook-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.playbook-step {
  text-align: left;
  padding: 18px 18px 16px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    0 18px 60px rgba(0, 0, 0, 0.4),
    inset 0 0 0 0.5px rgba(255, 255, 255, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.step-label {
  display: inline-block;
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.64);
  margin-bottom: 6px;
}

.step-title {
  font-weight: 700;
  color: var(--text);
  margin: 2px 0 8px;
  letter-spacing: -0.01em;
}

.playbook-step p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.6;
}

.cta-row {
  display: inline-flex;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
  flex-wrap: wrap;
  justify-content: center;
}

.hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: opacity 0.2s ease, transform 0.2s ease;
  text-decoration: none;
}

.hero__cta:hover {
  opacity: 0.82;
  transform: translateY(-2px);
}

.text-link {
  color: var(--text-soft);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 10px 12px;
  border-radius: 12px;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.text-link:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}
