@font-face {
  font-family: "Jost";
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url("/assets/jost-latin-variable.woff2") format("woff2");
}

:root {
  color-scheme: light;
  --paper: #fbf7f8;
  --ink: #423642;
  --ink-soft: #5b505d;
  --line: rgba(102, 82, 99, .29);
  --side: clamp(1.5rem, 6.2vw, 7rem);
  font-family: "Jost", "Avenir Next", "Helvetica Neue", sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

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

html { overflow-x: hidden; }

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--paper);
  color: var(--ink);
}

h1, h2, h3, p { margin: 0; }

h1, h2, h3 { font-weight: 300; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }

.hero,
.intro,
.closing { position: relative; isolation: isolate; overflow: hidden; }

.hero { min-height: 40rem; min-height: max(40rem, 100svh); color: #201923; background: #65576c; }

.hero__image,
.closing__image { position: absolute; inset: 0; z-index: -1; background-repeat: no-repeat; background-size: cover; }

.hero__image { background-image: url("/assets/hero-dusk-upscaled-4320.jpg"); background-position: center 54%; }

/* PNG layers share the original photograph's cover geometry, not the viewport's. */
.hero__ocean { position: absolute; inset: 0; overflow: hidden; pointer-events: none; visibility: hidden; }
.hero[data-ocean="ready"] .hero__ocean { visibility: visible; }
.ocean-scene { position: absolute; width: var(--ocean-width); height: var(--ocean-height); left: var(--ocean-left); top: var(--ocean-top); mask-image: linear-gradient(to bottom, transparent 58%, #000 66%, #000 98%, transparent 100%); }
.ocean-layer { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; animation-play-state: paused !important; }
.ocean-layer { transform-origin: center 78%; opacity: var(--alpha-low, .15); animation: ocean-drift var(--duration, 27s) ease-in-out var(--phase, -8s) infinite; }
.ocean-layer--wave { mask-image: linear-gradient(to bottom, transparent var(--band-start), #000 var(--band-center), transparent var(--band-end)); }
.hero[data-motion="running"] .ocean-layer { animation-play-state: running !important; }
.hero__inner { position: relative; z-index: 1; }
@keyframes ocean-drift {
  0%, 100% { transform: var(--pose-0); opacity: var(--alpha-low); }
  20% { transform: var(--pose-1); opacity: var(--alpha-high); }
  40% { transform: var(--pose-2); opacity: var(--alpha-mid); }
  60% { transform: var(--pose-3); opacity: var(--alpha-high); }
  80% { transform: var(--pose-4); opacity: var(--alpha-mid); }
}
@media (prefers-reduced-motion: reduce) {
  .hero .hero__ocean { display: none; }
  .hero .ocean-layer { animation: none; }
}

.closing__inner { min-height: inherit; display: grid; grid-template-rows: auto 1fr; }

.hero__inner {
  min-height: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 5rem;
  padding: clamp(10rem, 30svh, 25rem) var(--side) clamp(3rem, 10svh, 7rem);
  text-align: center;
}

.wordmark {
  display: block;
  height: auto;
  max-width: 100%;
  margin-inline: auto;
}

.wordmark--hero { width: min(44vw, 36rem); }

.hero__identity { width: 100%; }
.hero__eyebrow { margin-bottom: clamp(1.75rem, 3.5vw, 3rem); font-size: clamp(1.15rem, 1.65vw, 1.55rem); font-weight: 400; letter-spacing: .015em; line-height: 1.4; }
.hero__descriptor { margin-top: clamp(1.75rem, 3.2vw, 2.6rem); font-size: clamp(.88rem, 1.05vw, .98rem); font-weight: 400; letter-spacing: .16em; text-transform: uppercase; line-height: 1.8; color: #fffaf6; }

.hero h1 {
  font-size: clamp(1.7rem, 2.35vw, 2.5rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.3;
  color: #fffaf6;
  text-shadow: 0 1px 12px rgba(31, 25, 37, .28);
}

.vertical-rule { display: block; width: 1px; height: 39px; margin: clamp(1.8rem, 4vh, 3rem) auto 1.65rem; background: rgba(255,255,255,.78); }

.intro { min-height: 680px; display: flex; align-items: center; background: #f8f1f4; }

.intro__image { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; object-position: center; }

.intro__inner { width: min(100%, 1600px); margin-inline: auto; padding: 8rem var(--side); }

.intro__copy { max-width: 38rem; }

.intro h2 {
  font-size: clamp(3rem, 4.9vw, 4.8rem);
  letter-spacing: -.035em;
  line-height: 1.08;
  color: #574357;
}

.horizontal-rule { display: block; width: 56px; height: 1px; margin: 2.9rem 0 2rem; background: #8e7789; }

.intro p { max-width: 27rem; font-size: clamp(1.1rem, 1.4vw, 1.25rem); line-height: 1.65; color: #544450; }

.partnership {
  --partnership-paper: #fbf8f9;
  --partnership-plum: #3f3450;
  --partnership-muted: #62566a;
  --partnership-line: rgba(88, 70, 91, .24);
  overflow: hidden;
  background-color: var(--partnership-paper);
  background-image: url("/assets/approach-waves.png");
  background-size: 110rem auto;
  color: var(--partnership-plum);
}

.partnership .section-shell { width: min(calc(100% - 2 * var(--side)), 1320px); }

.partnership h2 {
  color: var(--partnership-plum);
  font-size: clamp(2.75rem, 4.2vw, 4.5rem);
  letter-spacing: -.045em;
  line-height: 1.08;
}

.partnership__rule {
  display: block;
  width: 3.5rem;
  height: 1px;
  margin-block: 2.5rem 1.8rem;
  background: #8d778c;
}

.subscription__copy > p:last-child,
.partnership__fit-copy p {
  max-width: 29rem;
  color: var(--partnership-muted);
  font-size: clamp(1.05rem, 1.35vw, 1.22rem);
  line-height: 1.65;
}

.working-model { padding-block: clamp(4.5rem, 7vw, 7rem); }

.section-label-row {
  display: grid;
  grid-template-columns: max-content 1fr;
  align-items: center;
  gap: 1.75rem;
  margin-bottom: 2.75rem;
}

.section-label {
  color: #5e5164;
  font-size: .72rem;
  font-weight: 500;
  letter-spacing: .34em;
  line-height: 1.5;
  text-transform: uppercase;
}

.section-label-row > span { height: 1px; background: var(--partnership-line); }

.working-model__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--partnership-line);
  border-bottom: 1px solid var(--partnership-line);
}

.working-model__steps li {
  position: relative;
  min-height: 23rem;
  padding: 2.25rem clamp(1.8rem, 3vw, 3.5rem) 2rem 0;
}

.working-model__steps li + li {
  padding-left: clamp(1.8rem, 3vw, 3.5rem);
  border-left: 1px solid var(--partnership-line);
}

.working-model__number {
  display: block;
  margin-bottom: .3rem;
  color: #cbbbc5;
  font-size: clamp(2.2rem, 3vw, 3.25rem);
  font-weight: 300;
  letter-spacing: -.04em;
  line-height: 1;
}

.working-model__steps h3 {
  margin-bottom: .65rem;
  color: #403550;
  font-size: clamp(1.6rem, 2.2vw, 2.25rem);
  letter-spacing: -.035em;
  line-height: 1.2;
}

.working-model__steps p {
  max-width: 18rem;
  color: var(--partnership-muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.working-model__motif {
  position: absolute;
  right: clamp(1.5rem, 3vw, 3rem);
  bottom: 2.4rem;
  display: block;
  width: 10rem;
  height: 7.25rem;
  isolation: isolate;
}

.motif-layer {
  position: absolute;
  display: block;
  height: auto;
  pointer-events: none;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}

.working-model__motif--understand .motif-layer {
  top: 10%;
  width: 61%;
  opacity: .52;
  mix-blend-mode: multiply;
}

.working-model__motif--understand .motif-layer--u1 {
  top: 2%;
  left: -2%;
  width: 68%;
  animation: motif-circle-left 9.6s cubic-bezier(.44, .05, .27, .98) -3.1s infinite;
}

.working-model__motif--understand .motif-layer--u2 {
  top: 22%;
  right: 7%;
  width: 49%;
  animation: motif-circle-right 11.8s cubic-bezier(.4, .04, .24, 1) -7.4s infinite;
}

.working-model__motif--build .motif-layer {
  width: 71%;
  opacity: .42;
  mix-blend-mode: multiply;
}

.motif-layer--b1 { top: 5%; left: 0; animation: motif-panel-one 12.8s ease-in-out -4.2s infinite; }
.motif-layer--b2 { top: 19%; left: 9%; animation: motif-panel-two 15.1s ease-in-out -10.3s infinite; }
.motif-layer--b3 { top: 33%; left: 18%; animation: motif-panel-three 10.9s ease-in-out -6.6s infinite; }
.motif-layer--b4 { top: 47%; left: 27%; animation: motif-panel-four 14.2s ease-in-out -1.9s infinite; }

.working-model__motif--evolve .motif-layer {
  opacity: .43;
  mix-blend-mode: multiply;
}

.motif-layer--e1 { top: 29%; left: 0; width: 30%; animation: motif-orbit-a 11.2s ease-in-out -2.4s infinite; }
.motif-layer--e2 { top: 25%; left: 16%; width: 36%; animation: motif-orbit-b 14.7s ease-in-out -11.1s infinite; }
.motif-layer--e3 { top: 20%; left: 32%; width: 44%; animation: motif-orbit-c 9.8s ease-in-out -5.8s infinite; }
.motif-layer--e4 { top: 14%; left: 47%; width: 52%; animation: motif-orbit-d 13.3s ease-in-out -8.7s infinite; }

@keyframes motif-circle-left {
  0%, 100% { transform: translate3d(-4%, 2%, 0) scale(.95) rotate(-1.5deg); opacity: .47; }
  38% { transform: translate3d(10%, -5%, 0) scale(1.035) rotate(1deg); opacity: .6; }
  72% { transform: translate3d(3%, 6%, 0) scale(.99) rotate(-.5deg); opacity: .52; }
}

@keyframes motif-circle-right {
  0%, 100% { transform: translate3d(7%, -3%, 0) scale(1.02) rotate(1deg); opacity: .5; }
  42% { transform: translate3d(-9%, 5%, 0) scale(.955) rotate(-1.25deg); opacity: .62; }
  76% { transform: translate3d(-1%, -6%, 0) scale(1.01); opacity: .54; }
}

@keyframes motif-panel-one {
  0%, 100% { transform: translate3d(-5%, -5%, 0) rotate(-6deg) scale(.96); }
  46% { transform: translate3d(7%, 8%, 0) rotate(-3deg) scale(1.025); }
}

@keyframes motif-panel-two {
  0%, 100% { transform: translate3d(4%, -2%, 0) rotate(-3deg) scale(1.01); opacity: .38; }
  54% { transform: translate3d(-7%, 6%, 0) rotate(-.5deg) scale(.97); opacity: .52; }
}

@keyframes motif-panel-three {
  0%, 100% { transform: translate3d(-2%, 5%, 0) rotate(.5deg) scale(.97); }
  40% { transform: translate3d(8%, -7%, 0) rotate(3deg) scale(1.035); }
}

@keyframes motif-panel-four {
  0%, 100% { transform: translate3d(6%, 4%, 0) rotate(3.5deg) scale(1.02); opacity: .36; }
  50% { transform: translate3d(-7%, -6%, 0) rotate(1deg) scale(.965); opacity: .5; }
}

@keyframes motif-orbit-a {
  0%, 100% { transform: translate3d(-8%, 4%, 0) scale(.88); opacity: .34; }
  50% { transform: translate3d(12%, -7%, 0) scale(1.06); opacity: .52; }
}

@keyframes motif-orbit-b {
  0%, 100% { transform: translate3d(8%, -6%, 0) scale(.95); opacity: .39; }
  47% { transform: translate3d(-11%, 8%, 0) scale(1.08); opacity: .55; }
}

@keyframes motif-orbit-c {
  0%, 100% { transform: translate3d(-5%, -4%, 0) scale(1.08); opacity: .48; }
  55% { transform: translate3d(9%, 9%, 0) scale(.9); opacity: .34; }
}

@keyframes motif-orbit-d {
  0%, 100% { transform: translate3d(11%, 6%, 0) scale(.9); opacity: .37; }
  52% { transform: translate3d(-12%, -8%, 0) scale(1.04); opacity: .52; }
}

.subscription { background: rgba(246, 238, 241, .86); border-block: 1px solid rgba(88, 70, 91, .08); }

.subscription__inner {
  min-height: 37rem;
  display: grid;
  grid-template-columns: minmax(19rem, .76fr) minmax(31rem, 1.24fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
  padding-block: clamp(5rem, 7vw, 7rem);
}

.subscription__copy h2 {
  max-width: 29rem;
  margin-bottom: 1.6rem;
  font-size: clamp(2.7rem, 3.8vw, 4rem);
}

.subscription__copy .partnership__rule { margin-block: 1.15rem 2.1rem; }

.subscription__cycle {
  position: relative;
  min-width: 0;
  height: 21rem;
  color: #66526c;
  isolation: isolate;
}

.subscription__loop {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}

.subscription__loop--back {
  z-index: -2;
  opacity: .2;
  filter: blur(5px) saturate(.7);
  animation: subscription-loop-back 18s ease-in-out -9s infinite;
}

.subscription__loop--front {
  z-index: -1;
  opacity: .52;
  mix-blend-mode: multiply;
  animation: subscription-loop-front 13.6s ease-in-out -4.3s infinite;
}

.subscription__node {
  position: absolute;
  z-index: 1;
  width: .34rem;
  height: .34rem;
  border-radius: 50%;
  background: #594461;
  box-shadow: 0 0 0 .2rem rgba(139, 112, 145, .1);
  animation: subscription-node-pulse 4.6s ease-in-out infinite;
}

.subscription__node--build { top: 18%; left: 30%; animation-delay: -1.1s; }
.subscription__node--operate { top: 18%; right: 23%; animation-delay: -2.7s; }
.subscription__node--support { right: 24%; bottom: 17%; animation-delay: -3.8s; }
.subscription__node--improve { left: 29%; bottom: 17%; animation-delay: -.2s; }

@keyframes subscription-loop-front {
  0%, 100% { transform: translate3d(-50.4%, -49.4%, 0) scale(.985) rotate(-.2deg); opacity: .47; }
  44% { transform: translate3d(-49.5%, -50.5%, 0) scale(1.016) rotate(.18deg); opacity: .57; }
  72% { transform: translate3d(-50%, -49.8%, 0) scale(.998); opacity: .51; }
}

@keyframes subscription-loop-back {
  0%, 100% { transform: translate3d(-49.2%, -50.7%, 0) scale(1.018) rotate(.25deg); opacity: .15; }
  50% { transform: translate3d(-50.8%, -49.1%, 0) scale(.978) rotate(-.22deg); opacity: .25; }
}

@keyframes subscription-node-pulse {
  0%, 100% { transform: scale(.78); opacity: .48; }
  50% { transform: scale(1.18); opacity: .92; }
}

.subscription__stage,
.subscription__center {
  position: absolute;
  color: #5b4863;
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .3em;
  line-height: 1.45;
  text-align: center;
  text-transform: uppercase;
}

.subscription__stage--build { top: 3%; left: 30%; }
.subscription__stage--operate { top: 3%; right: 23%; }
.subscription__stage--support { right: 24%; bottom: 3%; }
.subscription__stage--improve { left: 29%; bottom: 3%; }
.subscription__center {
  top: 50%;
  left: 50%;
  padding: .35rem .65rem;
  transform: translate(-50%, -50%);
  background: rgba(246, 238, 241, .96);
  font-size: .62rem;
}

.partnership__fit { position: relative; min-height: 31rem; overflow: hidden; }

.partnership__fit::before {
  content: "";
  position: absolute;
  inset: 0 0 0 34%;
  background-image: url("/assets/closing-sea-upscaled-4320.jpg");
  background-position: 58% 48%;
  background-size: cover;
  mask-image: linear-gradient(to right, transparent 0, #000 30%, #000 100%);
  opacity: .58;
}

.partnership__fit-inner { position: relative; min-height: inherit; display: flex; align-items: center; }

.partnership__fit-copy { max-width: 40rem; padding-block: 5rem; }
.partnership__fit-copy h2 { max-width: 39rem; }
.partnership__fit-copy p { max-width: 32rem; }

.approach {
  --approach-ink: #472b40;
  --approach-brass: #99865f;
  background: #e5dfd6;
  color: var(--approach-ink);
  padding-top: clamp(4.5rem, 6vw, 6rem);
}

.section-shell { width: min(100%, 1320px); margin-inline: auto; }

.approach > .section-shell { width: min(calc(100% - 2 * var(--side)), 1260px); }

.approach__lead { text-align: center; margin-bottom: clamp(3rem, 4vw, 4rem); }

.approach__lead h2 { font-size: clamp(1.8rem, 3.4vw, 3rem); font-weight: 300; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; }
.approach__lead h2 span { display: block; }
.approach__rule { display: block; width: 5.5rem; height: 1px; margin: 1.75rem auto; background: var(--approach-brass); }
.approach__lead p { max-width: 42rem; margin-inline: auto; font-size: 1.15rem; line-height: 1.7; }

.steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; margin: 0; padding: 2.5rem 0 4.5rem; list-style: none; border-top: 1px solid var(--approach-brass); }

.steps li { text-align: center; }

.steps__number { display: block; margin-bottom: .85rem; font-size: .95rem; letter-spacing: .2em; color: #806e4e; }

.steps h3 { margin-bottom: 1.1rem; font-size: 1.45rem; font-weight: 400; line-height: 1.3; letter-spacing: .17em; text-transform: uppercase; }

.steps p { max-width: 17rem; margin-inline: auto; font-size: 1.1rem; line-height: 1.6; }

.outcomes-band { padding: 3.5rem var(--side); background-color: #82616d; background-image: linear-gradient(rgba(130,97,109,.9), rgba(130,97,109,.82)), url('/assets/closing-sea-upscaled-4320.jpg'); background-size: cover; background-position: center bottom; color: #fffaf6; }

.outcomes { display: grid; grid-template-columns: 1fr 1fr; text-align: center; }
.outcomes > div { padding: .5rem 2.5rem; }
.outcomes > div + div { border-left: 1px solid rgba(255,250,246,.42); }

.outcomes h3 { margin-bottom: 1rem; font-size: .8rem; font-weight: 400; letter-spacing: .26em; text-transform: uppercase; }

.outcomes p { max-width: 25rem; margin-inline: auto; font-size: clamp(1.3rem, 1.8vw, 1.6rem); font-weight: 300; line-height: 1.5; }

.closing { min-height: 82vh; min-height: 82svh; background: #ad91a0; }

.closing__image { background-image: url("/assets/closing-sea-upscaled-4320.jpg"); background-position: center top; }

.closing__inner { position: relative; min-height: inherit; grid-template-rows: 1fr auto; align-items: center; padding: 6rem var(--side) 3rem; }

.closing__copy { text-align: center; }

.closing h2 { font-size: clamp(3rem, 5vw, 5rem); letter-spacing: -.035em; line-height: 1.1; color: #302735; }

.vertical-rule--dark { height: 28px; margin-top: 1.6rem; margin-bottom: 1.25rem; background: rgba(58, 45, 60, .75); }

.closing__copy p { font-size: clamp(1.05rem, 1.4vw, 1.2rem); font-weight: 400; letter-spacing: .015em; line-height: 1.6; color: #302735; }

.wordmark--closing { width: clamp(11rem, 20vw, 17rem); filter: brightness(0) invert(1); }

@media (max-width: 640px) {
  :root { --side: 1.5rem; }
  .hero { min-height: 38rem; min-height: max(38rem, 100svh); }
  .hero__image { background-position: 59% center; }
  .hero__inner { padding-block: clamp(6.75rem, 18svh, 12rem) clamp(4rem, 18svh, 10rem); }
  .wordmark--hero { width: 80vw; max-width: 25rem; }
  .hero__eyebrow { font-size: 1.08rem; margin-bottom: 1.9rem; }
  .hero__descriptor { font-size: .84rem; letter-spacing: .12em; margin-top: 1.8rem; line-height: 1.85; color: #201923; }
  .hero h1 { font-size: clamp(1.3rem, 5.6vw, 1.65rem); letter-spacing: -.025em; }
  .intro { min-height: 36rem; min-height: clamp(36rem, 85svh, 46rem); }
  .intro__image { object-position: 52% center; }
  .intro__inner { padding-block: 6rem 4rem; }
  .intro h2 { font-size: clamp(1.875rem, 9vw, 2.5rem); line-height: 1.12; }
  .intro .horizontal-rule { margin-block: 2.5rem 1.75rem; }
  .intro p { font-size: 1.08rem; }
  .partnership { background-size: 76rem auto; }
  .partnership h2 { font-size: clamp(2.25rem, 10vw, 3rem); line-height: 1.08; }
  .partnership__rule { width: 3rem; margin-block: 2rem 1.5rem; }
  .subscription__copy > p:last-child,
  .partnership__fit-copy p { font-size: 1.05rem; line-height: 1.62; }
  .working-model { padding-block: 4rem; }
  .section-label-row { gap: 1rem; margin-bottom: 1.8rem; }
  .section-label { font-size: .66rem; letter-spacing: .29em; }
  .working-model__steps { grid-template-columns: 1fr; }
  .working-model__steps li,
  .working-model__steps li + li {
    min-height: 0;
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) 4.5rem;
    column-gap: .85rem;
    padding: 1.7rem 0;
    border-left: 0;
  }
  .working-model__steps li + li { border-top: 1px solid var(--partnership-line); }
  .working-model__number { grid-row: 1 / 3; margin-top: .18rem; font-size: 1.45rem; }
  .working-model__steps h3 { font-size: 1.55rem; margin-bottom: .45rem; }
  .working-model__steps p { font-size: 1rem; }
  .working-model__motif { position: relative; right: auto; bottom: auto; grid-column: 3; grid-row: 1 / 3; align-self: center; width: 4.5rem; height: 3.5rem; }
  .subscription__inner { min-height: 0; grid-template-columns: 1fr; gap: 1.5rem; padding-block: 4.5rem 3.75rem; }
  .subscription__copy h2 { margin-bottom: 1.3rem; font-size: clamp(2.2rem, 9.5vw, 2.85rem); }
  .subscription__cycle { height: 14.5rem; margin-inline: -1rem; }
  .subscription__stage,
  .subscription__center { font-size: .5rem; letter-spacing: .22em; }
  .subscription__stage--build { left: 27%; }
  .subscription__stage--operate { right: 19%; }
  .subscription__stage--support { right: 19%; }
  .subscription__stage--improve { left: 26%; }
  .partnership__fit { min-height: 36rem; }
  .partnership__fit::before {
    inset: 34% 0 0;
    background-position: 54% center;
    mask-image: linear-gradient(to bottom, transparent 0, #000 27%, #000 100%);
    opacity: .62;
  }
  .partnership__fit-inner { align-items: flex-start; }
  .partnership__fit-copy { padding-block: 4.5rem; }
  .partnership__fit-copy h2 { font-size: clamp(2.1rem, 9vw, 2.8rem); }
  .approach { padding-top: 3.25rem; }
  .approach__lead { margin-bottom: 2.25rem; }
  .approach__lead h2 { font-size: clamp(1.2rem, 6vw, 1.8rem); letter-spacing: .1em; line-height: 1.55; }
  .approach__rule { width: 4rem; margin-block: 1.5rem; }
  .approach__lead p { max-width: 25rem; font-size: 1rem; line-height: 1.65; }
  .steps { grid-template-columns: 1fr; gap: 0; padding-block: .4rem 2rem; }
  .steps li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); column-gap: .85rem; text-align: left; padding-block: 1.4rem; }
  .steps li + li { border-top: 1px solid rgba(153,134,95,.3); }
  .steps__number { grid-row: 1 / 3; margin: .15rem 0 0; font-size: .8rem; }
  .steps h3 { font-size: 1.1rem; margin-bottom: .55rem; letter-spacing: .14em; }
  .steps p { max-width: none; margin: 0; font-size: 1rem; }
  .outcomes-band { padding-block: 2.25rem; background-size: auto 260%; }
  .outcomes { grid-template-columns: 1fr; gap: 1.5rem; }
  .outcomes > div { padding: 0; }
  .outcomes > div + div { border-left: 0; border-top: 1px solid rgba(255,250,246,.36); padding-top: 1.5rem; }
  .outcomes h3 { font-size: .72rem; margin-bottom: .7rem; }
  .outcomes p { max-width: 18rem; font-size: 1.2rem; }
  .closing { min-height: 36rem; min-height: max(36rem, 84svh); }
  .closing__image { background-position: 51% center; }
  .closing__inner { padding-block: 3rem 2.5rem; }
  .closing__copy { align-self: start; padding-top: 3rem; }
  .closing h2 { font-size: clamp(2.6rem, 11vw, 3.6rem); }
  .closing__copy p { max-width: 17rem; margin-inline: auto; font-size: 1.03rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
  .motif-layer,
  .subscription__loop,
  .subscription__node { animation: none !important; }
}
