/* 10xElite — design system
   Desktop sizes stay in rem, with 1rem tracking the viewport so the layout
   keeps the same proportions. Below 1024px we switch to a 16px rem base and
   a stacked layout. */

:root {
  --bg: #fafbf6;
  --ink: #121210;
  --ink-soft: #5a5b56;
  --ink-nav: #5b5c57;
  --orange: #fea201;
  --orange-deep: #d99619;
  --bronze: #7a5c22;
  --hair: rgba(17, 17, 15, 0.09);
  --hair-soft: rgba(17, 17, 15, 0.06);
  --grid-line: rgba(17, 17, 15, 0.05);

  --sans: "Inter Tight", "Inter", "Helvetica Neue", Arial, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  --script: "Homemade Apple", "Segoe Script", cursive;

  --pad: 7.6172rem;
  --cell: 4.5557rem;
  --grid-offset: 1.1084rem;
  --header-h: 4.7rem;
  --ticker-h: 3.9rem;
}

* { box-sizing: border-box; }

html {
  font-size: clamp(10.24px, 1vw, 16px);
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

html.lenis,
html.lenis body { height: auto; }

html.lenis { scroll-behavior: auto !important; }

body {
  position: relative;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--sans);
  font-synthesis-weight: none;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

body.nav-open { overflow: hidden; }

html {
  scrollbar-width: thin;
  scrollbar-color: #fea201 #eceee6;
}

::-webkit-scrollbar {
  width: 13px;
  height: 13px;
}

::-webkit-scrollbar-track {
  background:
    repeating-linear-gradient(
      to bottom,
      transparent 0 7px,
      rgba(17, 17, 15, 0.08) 7px 8px
    ),
    #eceee6;
  border-left: 1px solid rgba(17, 17, 15, 0.08);
}

::-webkit-scrollbar-thumb {
  background:
    linear-gradient(90deg, transparent 4px, #121210 4px, #121210 5px, transparent 5px),
    linear-gradient(180deg, #ffc14d 0%, #fea201 42%, #d99619 100%);
  background-clip: padding-box;
  border: 3px solid #eceee6;
  border-radius: 99px;
  box-shadow: inset 0 0 0 1px rgba(17, 17, 15, 0.12);
}

::-webkit-scrollbar-thumb:hover {
  background:
    linear-gradient(90deg, transparent 4px, #fea201 4px, #fea201 5px, transparent 5px),
    #121210;
}

::-webkit-scrollbar-corner { background: #eceee6; }

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button { font: inherit; }

.page-grid {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(to right, var(--grid-line) 1px, transparent 1px),
    linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);
  background-size: var(--cell) 100%, 100% var(--cell);
  background-position: var(--grid-offset) 0, 0 0;
}

/* ---------- header ---------- */

.site-chrome {
  position: sticky;
  top: 0;
  z-index: 20;
  background: var(--bg);
}

.site-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--header-h);
  padding: 0 var(--pad);
  border-bottom: 1px solid var(--hair);
  background: var(--bg);
}

.brand {
  flex: none;
  line-height: 0;
}

.brand img {
  height: 2.9rem;
  width: auto;
  mix-blend-mode: multiply;
  transform: translateZ(0);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 1.8066rem;
  font-family: var(--mono);
  font-size: 0.8818rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--ink-nav);
  white-space: nowrap;
}

.nav-kicker,
.nav-scrim,
.site-nav a span { display: none; }

.site-nav .nav-apply { display: none; }

.nav-links {
  display: flex;
  align-items: center;
  gap: inherit;
}

.site-nav a {
  position: relative;
  transition: color 0.18s ease;
}

.site-nav .nav-links a::after {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -0.38rem;
  height: 2px;
  background: var(--orange);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.22s ease;
  content: "";
}

.site-nav a:hover { color: var(--ink); }

.menu-toggle {
  display: none;
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: background-color 0.28s ease, border-color 0.28s ease, transform 0.28s ease;
}

.menu-toggle span {
  position: absolute;
  left: 0.35rem;
  right: 0.35rem;
  height: 1.5px;
  background: var(--ink);
  transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), top 0.32s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.25s ease;
}

.menu-toggle span:first-child { top: 0.82rem; }
.menu-toggle span:last-child { top: 1.32rem; }

body.nav-open .menu-toggle {
  background: var(--ink);
  border-color: var(--ink);
}

body.nav-open .menu-toggle span { background: #fff; }

body.nav-open .menu-toggle span:first-child {
  top: 1.28rem;
  transform: rotate(45deg);
}

body.nav-open .menu-toggle span:last-child {
  top: 1.28rem;
  transform: rotate(-45deg);
}

/* ---------- announcement bar ---------- */

.ticker {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: var(--ticker-h);
  height: var(--ticker-h);
  padding: 0 var(--pad);
  border-bottom: 1px solid var(--hair-soft);
}

.ticker-msg {
  display: flex;
  align-items: center;
  gap: 0.68rem;
  margin: 0;
  min-width: 0;
  white-space: nowrap;
}

.ticker-flag {
  font-family: var(--mono);
  font-size: 0.8818rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--orange-deep);
}

.ticker-dot {
  font-size: 0.8rem;
  color: var(--orange-deep);
}

.ticker-note {
  font-size: 0.8613rem;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--ink);
}

.ticker-side {
  display: flex;
  align-items: center;
  flex: none;
  gap: 1.15rem;
}

.countdown {
  display: flex;
  align-items: center;
  gap: 0.82rem;
  font-variant-numeric: tabular-nums;
}

.cd-cell {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.08rem;
}

.cd-num {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--ink);
}

.cd-unit {
  font-family: var(--mono);
  font-size: 0.55rem;
  font-weight: 500;
  line-height: 1;
  margin-top: 0.08rem;
  color: rgba(17, 17, 15, 0.38);
}

/* ---------- buttons ---------- */

.btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3.418rem;
  padding: 0 1.6113rem;
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 0.9277rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  white-space: nowrap;
  transition:
    color 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.35s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    background-color 0.35s ease;
}

.btn::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  transform: translateY(101%);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  content: "";
  pointer-events: none;
}

.btn-solid {
  background: var(--ink);
  color: #fff;
}

.btn-solid::before { background: var(--orange); }

.btn-solid::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 25%, rgba(255, 255, 255, 0.22) 48%, transparent 72%);
  transform: translateX(-130%);
  transition: transform 0.55s ease;
  content: "";
  pointer-events: none;
}

.btn-ghost {
  border: 1px solid rgba(17, 17, 15, 0.14);
  color: var(--ink);
  background: transparent;
}

.btn-ghost::before { background: var(--ink); }

.btn:active {
  transform: translateY(0) scale(0.98);
  box-shadow: none;
}

.btn-solid:active {
  color: var(--ink);
}

.btn-ghost:active {
  color: #fff;
  border-color: var(--ink);
}

.btn:active::before { transform: translateY(0); }

.btn-sm {
  height: 2.55rem;
  padding: 0 1.35rem;
  font-size: 0.84rem;
  font-weight: 600;
}

.btn-plain {
  font-family: var(--sans);
  font-weight: 800;
  font-size: 1.02rem;
  letter-spacing: 0.01em;
  text-transform: none;
}

/* ---------- hero ---------- */

.hero {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 0.7rem var(--pad) 12rem;
}

.hero-copy {
  position: relative;
  z-index: 1;
  max-width: 62rem;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.3418rem;
  height: 1.2695rem;
  margin: 0;
  font-family: var(--mono);
  font-size: 0.8818rem;
  font-weight: 600;
  letter-spacing: 0.1486em;
  text-transform: uppercase;
  color: var(--bronze);
}

.eyebrow-mark {
  flex: none;
  width: 1.2695rem;
  height: 1.2695rem;
  fill: none;
  stroke: rgba(17, 17, 15, 0.45);
  stroke-width: 1;
}

.hero-title {
  margin: 1.7rem 0 0;
  font-size: 6.4rem;
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.hero-title .hl {
  background: var(--orange);
  color: var(--ink);
  padding: 0 0.12em;
  border-radius: 0.18em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.hero-sub {
  max-width: 40.5273rem;
  margin: 2.2rem 0 0;
  font-size: 1.3672rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.03em;
  color: var(--ink-soft);
}

.hero-sub strong {
  font-weight: 700;
  color: var(--ink);
}

.hero-cta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.9766rem;
  margin-top: 2.4rem;
}

.scroll-cue {
  position: absolute;
  left: 50%;
  bottom: 1.55rem;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.7rem;
  transform: translateX(-50%);
  color: rgba(17, 17, 15, 0.38);
}

.scroll-cue span {
  font-family: var(--mono);
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.scroll-cue i {
  position: relative;
  display: block;
  width: 1px;
  height: 4.5rem;
  background: rgba(17, 17, 15, 0.16);
}

.scroll-cue b {
  position: absolute;
  top: 0;
  left: 50%;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  background: var(--ink);
  animation: scroll-dot 2s cubic-bezier(0.22, 1, 0.36, 1) infinite;
}

@keyframes scroll-dot {
  0% { top: 0; opacity: 1; }
  72% { opacity: 1; }
  100% { top: calc(100% - 5px); opacity: 0; }
}

/* ---------- flywheel ---------- */

.flywheel {
  position: absolute;
  top: -2.2rem;
  left: 60.2rem;
  width: 54rem;
  height: 54rem;
  pointer-events: none;
}

.flywheel svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.flywheel circle,
.flywheel line,
.flywheel path { fill: none; }

.fw-rim { stroke: rgba(17, 17, 15, 0.22); stroke-width: 1.5; }
.fw-ticks line { stroke: rgba(17, 17, 15, 0.22); stroke-width: 1; }
.fw-ticks-inner line { stroke: rgba(17, 17, 15, 0.16); stroke-width: 0.9; }
.fw-dotted-in { stroke: rgba(17, 17, 15, 0.13); stroke-width: 1; stroke-dasharray: 1.5 5.5; }
.fw-dotted-out { stroke: rgba(17, 17, 15, 0.09); stroke-width: 1; stroke-dasharray: 2 7; }
.fw-guide-outer { stroke: rgba(17, 17, 15, 0.08); stroke-width: 1; stroke-dasharray: 0.8 4.8; }
.fw-guide-mid { stroke: rgba(17, 17, 15, 0.14); stroke-width: 1; }
.fw-guide-core { stroke: rgba(17, 17, 15, 0.12); stroke-width: 1; stroke-dasharray: 1.2 4.2; }
.fw-guide-hub { stroke: rgba(17, 17, 15, 0.18); stroke-width: 1.1; }
.fw-spokes line { stroke: rgba(17, 17, 15, 0.16); stroke-width: 1; }
.fw-arc { stroke: var(--orange); stroke-width: 3.4; }
.fw-arc-inner { stroke: var(--orange); stroke-width: 1.5; stroke-opacity: 0.7; }
.fw-hub { fill: var(--ink); }
.fw-hub-cross { stroke: #fff; stroke-width: 0.9; }

/* ---------- how it works ---------- */

.how {
  position: relative;
  z-index: 1;
  padding: 4.2rem var(--pad) 5rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.how-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.how-kicker,
.how-index,
.how-foot {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.8818rem;
  font-weight: 600;
  letter-spacing: 0.1486em;
  text-transform: uppercase;
  color: var(--bronze);
}

.how-index,
.how-foot {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--ink-nav);
}

.how-index .eyebrow-mark,
.how-foot .eyebrow-mark {
  stroke: rgba(17, 17, 15, 0.4);
}

.how-title {
  margin: 2.15rem 0 0;
  font-size: 5.1rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
  text-align: center;
  color: var(--ink);
}

.how-title .hl {
  background: var(--orange);
  padding: 0 0.14em;
  border-radius: 0.18em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.how-stage {
  position: relative;
  width: 100%;
  max-width: 86rem;
  margin: 3.1rem auto 0;
}

.how-video {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border-radius: 1.55rem;
  background: #111;
  box-shadow: 0 22px 55px rgba(17, 17, 15, 0.14);
}

.how-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  pointer-events: none;
}

.how-video.is-live iframe { pointer-events: auto; }

.how-video-arm {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(17, 17, 15, 0.18);
  cursor: pointer;
  color: #fff;
}

.how-video-arm:hover .how-video-play { transform: scale(1.06); }

.how-video-play {
  width: 4.1rem;
  height: 4.1rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 10px 30px rgba(17, 17, 15, 0.22);
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.how-video-play::after {
  display: block;
  width: 0;
  height: 0;
  margin: 1.35rem 0 0 1.5rem;
  border-style: solid;
  border-width: 0.7rem 0 0.7rem 1.15rem;
  border-color: transparent transparent transparent var(--ink);
  content: "";
}

.how-video-arm em {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.how-video.is-live .how-video-arm { display: none; }

.how-bracket {
  position: absolute;
  width: 1.35rem;
  height: 1.35rem;
  border: 1.5px solid rgba(17, 17, 15, 0.28);
  pointer-events: none;
}

.how-bracket-tl {
  top: -0.55rem;
  left: -0.55rem;
  border-right: 0;
  border-bottom: 0;
}

.how-bracket-tr {
  top: -0.55rem;
  right: -0.55rem;
  border-left: 0;
  border-bottom: 0;
}

.how-bracket-bl {
  bottom: -0.55rem;
  left: -0.55rem;
  border-right: 0;
  border-top: 0;
}

.how-bracket-br {
  right: -0.55rem;
  bottom: -0.55rem;
  border-top: 0;
  border-left: 0;
}

.how-foot {
  justify-content: center;
  margin-top: 2.35rem;
}

/* ---------- by the numbers ---------- */

.numbers {
  position: relative;
  z-index: 1;
  padding: 3.4rem var(--pad) 3.6rem;
  border-top: 1px solid var(--hair);
  background-image: radial-gradient(rgba(17, 17, 15, 0.1) 1px, transparent 1.15px);
  background-size: 1.7rem 1.7rem;
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.numbers-title {
  max-width: 58rem;
  margin: 1.6rem 0 0;
  font-size: 5.4rem;
  font-weight: 900;
  line-height: 1.16;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.numbers-title .hl,
.who-title .hl {
  display: inline-block;
  background: var(--orange);
  padding: 0.16em 0.2em 0.18em;
  border-radius: 0.18em;
  line-height: 1.12;
  vertical-align: baseline;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.numbers-body {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) auto;
  align-items: end;
  gap: 2.4rem 3.5rem;
  margin-top: 1.8rem;
}

.numbers-copy {
  max-width: 38rem;
  margin: 0;
  font-size: 1.32rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: var(--ink);
}

.numbers-copy strong { font-weight: 800; }

.numbers-statblock {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.55rem;
}

.numbers-stat {
  margin: 0;
  font-size: 9.6rem;
  font-weight: 900;
  line-height: 0.82;
  letter-spacing: -0.055em;
  color: var(--ink);
}

.numbers-caption {
  margin: 0;
  font-family: var(--mono);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--ink);
  white-space: nowrap;
}

.numbers-caption span { color: var(--orange-deep); }

/* ---------- who's running this ---------- */

.who {
  position: relative;
  z-index: 1;
  padding: 3.4rem var(--pad) 4rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.who-title {
  max-width: 62rem;
  margin: 1.5rem 0 0;
  font-size: 4.4rem;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.who-grid {
  display: grid;
  grid-template-columns: minmax(16rem, 24rem) minmax(0, 1fr);
  align-items: start;
  gap: 2.2rem 2.6rem;
  margin-top: 2.2rem;
}

.who-photo {
  margin: 0.4rem 0 0;
  padding: 0.72rem;
  overflow: hidden;
  background: #fff;
  box-shadow:
    0 0 0 1px rgba(17, 17, 15, 0.1),
    0 18px 40px rgba(17, 17, 15, 0.1);
  transform: rotate(-2.6deg);
}

.who-photo img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: 50% 18%;
  transform: scale(1);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.who-copy {
  padding-top: 0.15rem;
}

.who-id {
  margin: 0 0 1.35rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--hair);
}

.who-name {
  margin: 0;
  font-size: 2.55rem;
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1;
  color: var(--ink);
}

.who-copy p {
  margin: 0;
  font-size: 1.22rem;
  line-height: 1.55;
  letter-spacing: 0.015em;
  color: var(--ink);
}

.who-copy > p + p { margin-top: 1.05rem; }

.who-copy .who-role {
  margin: 0.55rem 0 0;
  font-family: var(--mono);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--orange);
}

.who-copy .hl {
  display: inline;
  background: var(--orange);
  padding: 0.04em 0.16em 0.08em;
  border-radius: 0.18em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.who-brands {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin: 1.6rem 0 0;
  padding: 0;
  list-style: none;
}

.who-brands li {
  padding: 0.62rem 0.95rem;
  border: 1px solid rgba(17, 17, 15, 0.1);
  transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
  border-radius: 0.28rem;
  background: rgba(255, 255, 255, 0.72);
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-nav);
}

/* ---------- receipts ---------- */

.receipts {
  position: relative;
  z-index: 1;
  padding: 3.4rem var(--pad) 4rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.receipts-title {
  max-width: 58rem;
  margin: 1.7rem 0 0;
  font-size: 4.6rem;
  font-weight: 900;
  line-height: 1.06;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.receipts-title .hl {
  display: inline-block;
  background: var(--orange);
  padding: 0 0.14em;
  border-radius: 0.18em;
  color: var(--ink);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.receipt-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.05rem;
  margin-top: 2.4rem;
}

.receipt {
  display: flex;
  flex-direction: column;
  background: #fff;
  box-shadow:
    0 1px 0 rgba(17, 17, 15, 0.04),
    0 14px 28px rgba(17, 17, 15, 0.06);
  clip-path: polygon(
    0 0.72rem,
    3.3% 0, 6.6% 0.72rem, 9.9% 0, 13.2% 0.72rem, 16.5% 0, 19.8% 0.72rem, 23.1% 0, 26.4% 0.72rem, 29.7% 0, 33% 0.72rem, 36.3% 0, 39.6% 0.72rem, 42.9% 0, 46.2% 0.72rem, 49.5% 0, 52.8% 0.72rem, 56.1% 0, 59.4% 0.72rem, 62.7% 0, 66% 0.72rem, 69.3% 0, 72.6% 0.72rem, 75.9% 0, 79.2% 0.72rem, 82.5% 0, 85.8% 0.72rem, 89.1% 0, 92.4% 0.72rem, 95.7% 0, 100% 0.72rem,
    100% 100%, 0 100%
  );
}

.receipt-cut { display: none; }

.receipt-head {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 1.35rem 1.1rem 0;
  padding-bottom: 0.85rem;
  border-bottom: 1px dashed rgba(17, 17, 15, 0.16);
}

.receipt-head img {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50%;
  object-fit: cover;
  background: #ecece8;
}

.receipt-head strong {
  display: block;
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: var(--ink);
}

.receipt-head span {
  display: block;
  margin-top: 0.22rem;
  font-family: var(--mono);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.receipt-win {
  margin: 0.85rem 1.1rem 0;
  font-family: var(--mono);
  font-size: 0.88rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  line-height: 1.4;
  text-transform: lowercase;
  color: var(--ink);
}

.receipt-tag {
  align-self: flex-start;
  margin: 0.85rem 1.1rem 1.05rem;
  padding: 0.32rem 0.5rem;
  background: var(--orange);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink);
}

/* ---------- the shift / flywheel ---------- */

.shift {
  position: relative;
  z-index: 1;
  overflow-x: clip;
  padding: 3.6rem var(--pad) 4.4rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.shift .how-meta { text-align: left; }

.shift-title {
  max-width: 58rem;
  margin: 1.7rem auto 0;
  font-size: 4.6rem;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.04em;
  text-align: center;
  color: var(--ink);
}

.shift-title .hl {
  background: var(--orange);
  padding: 0 0.12em;
  border-radius: 0.18em;
}

.shift-sub {
  max-width: 44rem;
  margin: 1.6rem auto 0;
  font-size: 1.28rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  text-align: center;
  color: var(--ink-soft);
}

.venn {
  position: relative;
  width: min(38rem, 100%);
  height: 34rem;
  margin: 2.6rem auto 0;
}

.venn-stage {
  position: absolute;
  left: 50%;
  top: 3.4rem;
  width: 28.5rem;
  height: 26.5rem;
  transform: translateX(-50%);
  isolation: isolate;
  overflow: visible;
}

.venn-orb {
  position: absolute;
  width: 16.6rem;
  height: 16.6rem;
  border-radius: 50%;
  mix-blend-mode: multiply;
}

.venn-orb-acq {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #09A269;
}

.venn-orb-aut {
  right: 0;
  bottom: 0;
  background: #44DEE0;
}

.venn-orb-ath {
  left: 0;
  bottom: 0;
  background: #FFA303;
}

.venn-label {
  position: absolute;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0.12rem;
  width: 14rem;
}

.venn-label strong {
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--ink);
}

.venn-label span {
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bronze);
}

.venn-label-acq {
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

.venn-label-aut {
  right: 0;
  bottom: 0;
  text-align: right;
}

.venn-label-ath {
  left: 0;
  bottom: 0;
  text-align: left;
}

.shift-offer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  margin: 1em auto 0;
  font-size: 2.85rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.1;
  text-align: center;
  color: var(--ink);
}

.shift-offer i {
  display: block;
  width: 0.9rem;
  height: 1.5px;
  background: rgba(17, 17, 15, 0.28);
}

.msg-card {
  width: min(26.5rem, 100%);
  margin: 2.1rem auto 0;
  padding: 0.95rem 1.05rem 0.9rem;
  background: #fff;
  border: 1px solid #e4e4e2;
  border-radius: 0.85rem;
  box-shadow: 0 8px 22px rgba(17, 17, 15, 0.05);
}

.msg-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 0.6rem;
}

.msg-avatar {
  grid-row: 1;
  width: 2.15rem;
  height: 2.15rem;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 0.42rem;
}

.msg-id { min-width: 0; }

.msg-name {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--ink);
}

.msg-time {
  margin: 0.12rem 0 0;
  font-size: 0.78rem;
  font-weight: 500;
  color: #9a9a97;
}

.msg-body {
  margin: 0.55rem 0 0 2.75rem;
  font-size: 0.95rem;
  font-weight: 450;
  line-height: 1.4;
  color: var(--ink);
}

.msg-reacts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.38rem;
  margin: 0.72rem 0 0 2.75rem;
}

.msg-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.22rem;
  height: 1.55rem;
  padding: 0 0.48rem;
  border: 1px solid #8eb4e8;
  border-radius: 999px;
  background: #fff;
  color: #2f6fbf;
  font-size: 0.72rem;
  font-weight: 600;
  line-height: 1;
}

.msg-pill span { font-size: 0.82rem; }

.msg-badge {
  display: block;
  width: 1.05rem;
  height: 1.05rem;
}

.msg-add {
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
}

.msg-add svg {
  width: 1.35rem;
  height: 1.35rem;
}

/* ---------- the goal ---------- */

.goal,
.problem {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.2rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.goal-title {
  max-width: 62rem;
  margin: 2.4rem 0 0;
  font-size: 5.2rem;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.goal-title .hl,
.goal-value .hl {
  background: var(--orange);
  padding: 0 0.12em;
  border-radius: 0.12em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.goal-sub {
  max-width: 46rem;
  margin: 1.7rem 0 0;
  font-size: 1.28rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.015em;
  color: var(--ink-soft);
}

.goal-sub strong {
  font-weight: 800;
  color: var(--ink);
}

.goal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  margin-top: 2.8rem;
  border-top: 1px solid var(--hair);
}

.goal-col {
  padding: 1.7rem 1.5rem 0.4rem 0;
}

.goal-col + .goal-col {
  padding-left: 1.8rem;
  border-left: 1px solid var(--hair);
}

.goal-idx {
  display: block;
  font-family: var(--mono);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--ink-nav);
}

.goal-script {
  margin: 1.15rem 0 0;
  font-family: var(--script);
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1.2;
  color: #b06a22;
}

.goal-value {
  margin: 1.35rem 0 0;
  font-size: 5.6rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 0.9;
  color: var(--ink);
}

.problem {
  overflow-x: clip;
  padding-bottom: 5.2rem;
}

.problem-ghost {
  position: absolute;
  right: -4%;
  top: 7.4rem;
  margin: 0;
  font-size: 18vw;
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 0.78;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(17, 17, 15, 0.07);
  pointer-events: none;
  user-select: none;
  transform: rotate(-8deg);
}

.problem-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 13.5rem;
  align-items: start;
  gap: 2rem 3rem;
  margin-top: 1.6rem;
}

.problem-title {
  max-width: 52rem;
  margin: 0;
  font-size: 4.7rem;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.problem-title .strike {
  position: relative;
  display: inline-block;
}

.problem-title .strike svg {
  position: absolute;
  left: -4%;
  right: -6%;
  top: 46%;
  width: 110%;
  height: 0.42em;
  overflow: visible;
}

.problem-title .strike path {
  fill: none;
  stroke: var(--orange);
  stroke-width: 7;
  stroke-linecap: round;
}

.problem-sub {
  max-width: 40rem;
  margin: 1.55rem 0 0;
  font-size: 1.26rem;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.015em;
  color: var(--ink-soft);
}

.problem-sub strong {
  font-weight: 800;
  color: var(--ink);
  background: linear-gradient(transparent 62%, rgba(254, 162, 1, 0.45) 62%);
}

.problem-seal {
  position: relative;
  display: grid;
  place-items: center;
  width: 13.2rem;
  height: 13.2rem;
  margin: 0.4rem 0 0 auto;
  border: 2px solid #b06a22;
  border-radius: 50%;
  box-shadow: inset 0 0 0 6px rgba(176, 106, 34, 0.18);
  transform: rotate(-14deg);
  background:
    radial-gradient(circle at 50% 50%, rgba(254, 162, 1, 0.16), transparent 62%),
    #fffaf1;
}

.problem-seal::before,
.problem-seal::after {
  position: absolute;
  inset: 0.7rem;
  border: 1px dashed rgba(176, 106, 34, 0.55);
  border-radius: 50%;
  content: "";
}

.problem-seal-ring {
  position: absolute;
  top: 1.55rem;
  font-family: var(--mono);
  font-size: 0.58rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #b06a22;
}

.problem-seal strong {
  font-family: var(--mono);
  font-size: 1.85rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: #c2410c;
  transform: rotate(-8deg);
}

.problem-seal em {
  position: absolute;
  bottom: 1.85rem;
  font-family: var(--mono);
  font-size: 0.52rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b06a22;
}

.problem-board {
  position: relative;
  z-index: 1;
  margin-top: 2.8rem;
}

.problem-board-bar {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0 0 1.35rem;
  font-family: var(--mono);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
}

.problem-board-bar i {
  flex: 1;
  height: 1px;
  background: var(--hair);
}

.problem-tickets {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem 1.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.problem-ticket {
  position: relative;
  display: flex;
  align-items: baseline;
  gap: 0.85rem;
  min-width: 0;
  min-height: 6.6rem;
  padding: 1.35rem 1.4rem 1.25rem 1.7rem;
  overflow: hidden;
  background:
    linear-gradient(90deg, var(--bg) 0.7rem, transparent 0.7rem),
    repeating-linear-gradient(
      90deg,
      transparent,
      transparent 11px,
      rgba(17, 17, 15, 0.04) 11px,
      rgba(17, 17, 15, 0.04) 12px
    ),
    #fff;
  border: 1px solid rgba(17, 17, 15, 0.12);
  box-shadow: 0 14px 30px rgba(17, 17, 15, 0.06);
}

.problem-ticket::before {
  position: absolute;
  left: -0.55rem;
  top: 50%;
  width: 1.1rem;
  height: 1.1rem;
  border: 1px solid rgba(17, 17, 15, 0.12);
  border-radius: 50%;
  background: var(--bg);
  transform: translateY(-50%);
  content: "";
}

.pt-idx {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--bronze);
}

.pt-text {
  min-width: 0;
  font-size: 2.15rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
  color: rgba(17, 17, 15, 0.28);
}

.pt-mark {
  flex: none;
  margin-left: auto;
  font-family: var(--script);
  font-size: 1.35rem;
  color: #c2410c;
  transform: rotate(-12deg);
  white-space: nowrap;
}

.pt-slash {
  position: absolute;
  inset: 18% 8% 22% 12%;
  width: auto;
  height: auto;
  pointer-events: none;
}

.pt-slash path {
  fill: none;
  stroke: var(--orange);
  stroke-width: 6;
  stroke-linecap: round;
}

.problem-ticket.t1 { transform: rotate(-1.4deg); }
.problem-ticket.t2 { transform: rotate(1.2deg); margin-top: 0.85rem; }
.problem-ticket.t3 { transform: rotate(0.8deg); }
.problem-ticket.t4 { transform: rotate(-1.1deg); margin-top: 0.55rem; }

.problem-ticket.t5 {
  grid-column: 1 / -1;
  min-height: 8.4rem;
  margin-top: 0.35rem;
  padding-right: 2.4rem;
  transform: rotate(-0.6deg);
  background:
    linear-gradient(90deg, var(--bg) 0.7rem, transparent 0.7rem),
    repeating-linear-gradient(
      -18deg,
      transparent,
      transparent 14px,
      rgba(254, 162, 1, 0.09) 14px,
      rgba(254, 162, 1, 0.09) 16px
    ),
    #fff8ee;
  box-shadow:
    0 18px 36px rgba(17, 17, 15, 0.08),
    inset 0 0 0 2px rgba(194, 65, 12, 0.18);
}

.problem-ticket.t5 .pt-text {
  font-size: 3.15rem;
  color: rgba(17, 17, 15, 0.38);
}

.problem-ticket.t5 .pt-mark {
  font-size: 1.85rem;
  z-index: 1;
}

.pt-void-stamp {
  position: absolute;
  right: 7.5rem;
  top: 50%;
  z-index: 1;
  padding: 0.15rem 0.7rem 0.05rem;
  border: 3px solid #c2410c;
  border-radius: 0.2rem;
  font-family: var(--mono);
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: #c2410c;
  transform: translateY(-50%) rotate(-12deg);
  opacity: 0.82;
}

/* ---------- elite flywheel / opportunity ---------- */

.cycle {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.6rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.cycle-title {
  max-width: 58rem;
  margin: 2.2rem 0 0;
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.cycle-title .hl {
  background: var(--orange);
  padding: 0 0.12em;
  border-radius: 0.16em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.cycle-sub {
  max-width: 46rem;
  margin: 1.5rem 0 0;
  font-size: 1.26rem;
  line-height: 1.55;
  color: var(--ink-soft);
}

.cycle-sub strong {
  font-weight: 800;
  color: var(--ink);
}

.cycle-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.45rem;
  margin-top: 2.1rem;
}

.cycle-flow span {
  padding: 0.48rem 0.85rem;
  border: 1px solid rgba(17, 17, 15, 0.12);
  border-radius: 999px;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.72);
}

.cycle-flow i {
  width: 1.35rem;
  height: 1px;
  background: var(--bronze);
  position: relative;
}

.cycle-flow i::after {
  position: absolute;
  right: -2px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-right: 1px solid var(--bronze);
  border-top: 1px solid var(--bronze);
  transform: translateY(-50%) rotate(45deg);
  content: "";
}

.cycle-main {
  display: grid;
  grid-template-columns: minmax(18rem, 28rem) minmax(0, 1fr);
  align-items: start;
  gap: 2.4rem 3rem;
  margin-top: 2.8rem;
}

.cycle-visual {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cycle-wheel {
  position: relative;
  width: min(28rem, 100%);
  aspect-ratio: 1;
  margin: 0 auto;
}

.cycle-wheel svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.cycle-seg {
  fill: none;
  stroke-width: 18;
  stroke-linecap: butt;
  stroke-dasharray: 117 243;
}

.cycle-seg-acq { stroke: #09A269; }
.cycle-seg-aut { stroke: #44DEE0; }
.cycle-seg-ath { stroke: #FFA303; }

.cycle-ticks line {
  stroke: rgba(17, 17, 15, 0.16);
  stroke-width: 0.9;
}

.cycle-hub {
  position: absolute;
  inset: 24%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  pointer-events: none;
}

.cycle-hub p {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-nav);
}

.cycle-hub strong {
  max-width: 9.8rem;
  margin: 0.35rem 0 0;
  font-size: 1.42rem;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.cycle-end {
  max-width: 22rem;
  margin: 1.15rem 0 0;
  font-size: 1.08rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.35;
  text-align: center;
  color: var(--ink);
}

.cycle-cards {
  display: grid;
  gap: 0.85rem;
}

.cycle-card {
  padding: 1.15rem 1.25rem 1.15rem 1.35rem;
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 0.85rem;
  border-left-width: 4px;
  box-shadow: 0 10px 24px rgba(17, 17, 15, 0.04);
}

.cycle-card-acq { border-left-color: #09A269; }
.cycle-card-aut { border-left-color: #44DEE0; }
.cycle-card-ath { border-left-color: #FFA303; }

.cycle-card-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.8rem;
}

.cycle-card h3 {
  margin: 0;
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.cycle-card-top span {
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bronze);
  white-space: nowrap;
}

.cycle-card p {
  margin: 0.45rem 0 0;
  font-size: 1.02rem;
  line-height: 1.45;
  color: var(--ink);
}

.cycle-out {
  color: var(--ink-soft) !important;
}

.cycle-out span {
  display: block;
  margin-bottom: 0.2rem;
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bronze);
}

/* ---------- three phases ---------- */

.phases,
.motion {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.6rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.phases-title,
.motion-title {
  max-width: 58rem;
  margin: 2.2rem 0 0;
  font-size: 5.1rem;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.phases-title .hl,
.motion-title .hl {
  background: var(--orange);
  padding: 0 0.12em;
  border-radius: 0.16em;
}

.phases-sub,
.motion-sub {
  max-width: 48rem;
  margin: 1.7rem 0 0;
  font-size: max(1.28rem, 18px);
  line-height: 1.5;
  color: var(--ink-soft);
}

.phases-sub strong,
.motion-sub strong {
  font-weight: 800;
  color: var(--ink);
}

.phase-map {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  align-items: stretch;
  gap: 0.7rem;
  margin-top: 2.8rem;
}

.pm {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 8.4rem;
  padding: 1.15rem 1.25rem 1.2rem;
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 1rem;
  border-bottom-width: 5px;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.pm:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(17, 17, 15, 0.06); }

.pm-acq { border-bottom-color: #09A269; }
.pm-aut { border-bottom-color: #44DEE0; }
.pm-ath { border-bottom-color: #FFA303; }

.pm-num {
  font-size: 2.35rem;
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.9;
  color: var(--bronze);
}

.pm-acq .pm-num { color: #09A269; }
.pm-aut .pm-num { color: #1aa8ab; }
.pm-ath .pm-num { color: #c47a00; }

.pm strong {
  margin-top: 1.15rem;
  font-size: 1.85rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--ink);
}

.pm em {
  margin-top: 0.4rem;
  font-style: normal;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--ink-soft);
}

.pm-join {
  width: 1.6rem;
  align-self: center;
  height: 2px;
  background: var(--bronze);
  position: relative;
}

.pm-join::after {
  position: absolute;
  right: -3px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--bronze);
  border-top: 2px solid var(--bronze);
  transform: translateY(-50%) rotate(45deg);
  content: "";
}

.phase-panel {
  margin-top: 2rem;
  padding: 2.1rem 2.2rem 2.15rem;
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 1.25rem;
  border-left: 7px solid #09A269;
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.phase-panel.phase-aut { border-left-color: #44DEE0; }
.phase-panel.phase-ath { border-left-color: #FFA303; }

.pp-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.pp-label {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bronze);
}

.pp-name {
  margin: 0;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.phase-acq .pp-name { color: #09A269; }
.phase-aut .pp-name { color: #1aa8ab; }
.phase-ath .pp-name { color: #c47a00; }

.phase-panel h3 {
  max-width: 42rem;
  margin: 1.15rem 0 0;
  font-size: 3.15rem;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.phase-panel h3 .hl {
  display: inline-block;
  background: var(--orange);
  padding: 0.04em 0.22em 0.1em;
  border-radius: 0.16em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.pp-copy {
  max-width: 48rem;
  margin: 1.2rem 0 0;
  font-size: max(1.22rem, 18px);
  line-height: 1.55;
  color: var(--ink);
}

.pp-billboard {
  margin: 1.6rem 0 0;
  padding: 1.5rem 1.6rem;
  background: #11110f;
  border-radius: 0.95rem;
}

.pp-billboard p {
  margin: 0;
  max-width: 36rem;
  font-size: 2.15rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.15;
  color: #fff;
}

.pp-split {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(16rem, 0.85fr);
  gap: 1.6rem 2rem;
  margin-top: 1.85rem;
  align-items: start;
}

.pp-kicker {
  margin: 0;
  font-family: var(--mono);
  font-size: max(0.78rem, 12px);
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
}

.pp-install {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem 1.1rem;
  margin: 0.85rem 0 0;
  padding: 0;
  list-style: none;
}

.pp-install li {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.5rem;
  background: var(--bg);
  font-size: max(1.05rem, 16px);
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink);
}

.pp-install li::before {
  flex: none;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: currentColor;
  content: "";
}

.phase-acq .pp-install li::before { background: #09A269; }
.phase-aut .pp-install li::before { background: #44DEE0; }
.phase-ath .pp-install li::before { background: #FFA303; }

.pp-outcome {
  padding: 1.45rem 1.4rem 1.5rem;
  border-radius: 0.95rem;
  background: rgba(9, 162, 105, 0.1);
}

.phase-aut .pp-outcome { background: rgba(68, 222, 224, 0.16); }
.phase-ath .pp-outcome { background: rgba(255, 163, 3, 0.14); }

.pp-outcome span {
  display: block;
  font-family: var(--mono);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
}

.pp-outcome p {
  margin: 0.7rem 0 0;
  font-size: max(1.45rem, 22px);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.28;
  color: var(--ink);
}

.pp-insight {
  margin: 1.45rem 0 0;
  padding: 1.1rem 1.25rem;
  border-radius: 0.75rem;
  background: var(--bg);
  font-size: max(1.12rem, 17px);
  line-height: 1.5;
  color: var(--ink);
}

.pp-insight strong { font-weight: 800; }

.motion-chain {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.4rem;
  margin-top: 2.4rem;
}

.motion-chain span {
  padding: 0.82rem 1.2rem;
  border: 1px solid rgba(17, 17, 15, 0.12);
  border-radius: 999px;
  background: #fff;
  font-size: max(1.05rem, 16px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.motion-chain i {
  width: 1.7rem;
  height: 2px;
  background: var(--bronze);
  position: relative;
}

.motion-chain i::after {
  position: absolute;
  right: -3px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-right: 2px solid var(--bronze);
  border-top: 2px solid var(--bronze);
  transform: translateY(-50%) rotate(45deg);
  content: "";
}

.motion-formula {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1rem;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.motion-formula li {
  display: flex;
  gap: 0.95rem;
  padding: 1.45rem 1.3rem 1.5rem;
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 1rem;
  border-top: 6px solid #09A269;
}

.motion-formula .motion-aut { border-top-color: #44DEE0; }
.motion-formula .motion-ath { border-top-color: #FFA303; }

.motion-formula li > span {
  font-family: var(--mono);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--bronze);
}

.motion-formula strong {
  display: block;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.motion-formula p {
  margin: 0.35rem 0 0;
  font-size: max(1.45rem, 22px);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.2;
  color: var(--ink);
}

/* ---------- flywheel score ---------- */

.leverage {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.6rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.leverage-title {
  max-width: 52rem;
  margin: 2rem 0 0;
  font-size: 5.1rem;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.leverage-title .hl {
  display: inline-block;
  background: var(--orange);
  padding: 0 0.14em;
  border-radius: 0.18em;
}

.leverage-sub {
  max-width: 42rem;
  margin: 1.35rem 0 0;
  font-size: max(1.2rem, 18px);
  line-height: 1.5;
  color: var(--ink-soft);
}

.leverage-sub strong {
  font-weight: 800;
  color: var(--ink);
}

.leverage-stage {
  position: relative;
  margin-top: 2.5rem;
}

.leverage-card {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.8fr);
  gap: 2.4rem 2.8rem;
  align-items: center;
  padding: 2rem 2.1rem 2.1rem;
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 1.15rem;
}

.leverage-sliders {
  display: flex;
  flex-direction: column;
  gap: 1.45rem;
}

.lev-row {
  display: block;
  --p: 50%;
}

.lev-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.lev-top strong {
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.lev-top em {
  font-family: var(--mono);
  font-size: 0.88rem;
  font-style: normal;
  font-weight: 700;
  color: var(--lev);
}

.lev-slide {
  position: relative;
  display: block;
  height: 1.45rem;
  margin: 0.4rem 0 0;
}

.lev-bar {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 6px;
  border-radius: 99px;
  background: #e6e6e1;
  transform: translateY(-50%);
  pointer-events: none;
}

.lev-bar i {
  display: block;
  width: var(--p);
  height: 100%;
  border-radius: inherit;
  background: var(--lev);
}

.lev-row input[type="range"] {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  margin: 0;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.lev-row input[type="range"]::-webkit-slider-runnable-track {
  height: 6px;
  background: transparent;
}

.lev-row input[type="range"]::-webkit-slider-thumb {
  width: 1.1rem;
  height: 1.1rem;
  margin-top: -5px;
  border: 2px solid var(--lev);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(17, 17, 15, 0.14);
  -webkit-appearance: none;
  appearance: none;
}

.lev-row input[type="range"]::-moz-range-track {
  height: 6px;
  background: transparent;
}

.lev-row input[type="range"]::-moz-range-thumb {
  width: 1.1rem;
  height: 1.1rem;
  border: 2px solid var(--lev);
  border-radius: 50%;
  background: #fff;
}

.lev-ends {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 0.35rem;
  font-family: var(--mono);
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.leverage-gauge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.lg-ring {
  position: relative;
  width: min(18rem, 100%);
  aspect-ratio: 1;
}

.lg-ring svg {
  display: block;
  width: 100%;
  height: 100%;
  transform: rotate(-90deg);
}

.lg-track,
.lg-fill {
  fill: none;
  stroke-width: 7;
}

.lg-track { stroke: #ecece6; }

.lg-fill {
  stroke: #7a5c22;
  stroke-linecap: round;
  stroke-dasharray: 490;
  stroke-dashoffset: 255;
  transition: stroke-dashoffset 0.28s ease;
}

.lg-score {
  position: absolute;
  left: 50%;
  top: 46%;
  margin: 0;
  transform: translate(-50%, -50%);
  font-size: 3.4rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 0.9;
  color: var(--ink);
}

.lg-score span {
  font-size: 0.42em;
  font-weight: 700;
  color: var(--ink-soft);
}

.lg-state {
  position: absolute;
  left: 50%;
  top: 64%;
  margin: 0;
  transform: translate(-50%, -50%);
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #7a5c22;
}

.lg-caption {
  margin: 0.85rem 0 0;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

/* ---------- who it's for ---------- */

.fit {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.4rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.fit-title {
  margin: 2.2rem 0 0;
  font-size: 5.1rem;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.fit-stage {
  position: relative;
  margin-top: 2.6rem;
}

.fit-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.35rem;
}

.fit-card {
  padding: 1.7rem 1.65rem 0.4rem;
  background: #fff;
  border-radius: 1.15rem;
  box-shadow: 0 18px 40px rgba(17, 17, 15, 0.05);
}

.fit-yes {
  border-top: 2px solid #3d8f5a;
  border-left: 2px solid #3d8f5a;
  border-right: 1px solid rgba(17, 17, 15, 0.06);
  border-bottom: 1px solid rgba(17, 17, 15, 0.06);
}

.fit-no {
  border-top: 2px solid #d24b4b;
  border-right: 2px solid #d24b4b;
  border-left: 1px solid rgba(17, 17, 15, 0.06);
  border-bottom: 1px solid rgba(17, 17, 15, 0.06);
}

.fit-card h3 {
  margin: 0 0 0.85rem;
  padding-bottom: 1.05rem;
  border-bottom: 1px solid var(--hair);
  font-size: 1.22rem;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.fit-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fit-card li {
  display: grid;
  grid-template-columns: 1.7rem minmax(0, 1fr);
  gap: 0.85rem;
  padding: 1.05rem 0;
  border-bottom: 1px solid var(--hair);
}

.fit-card li:last-child { border-bottom: 0; }

.fit-ico {
  display: grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  margin-top: 0.08rem;
  border-radius: 0.28rem;
}

.fit-yes .fit-ico {
  background: #e7f5ec;
  color: #1f6b3a;
}

.fit-no .fit-ico {
  background: #fdecea;
  color: #c2410c;
}

.fit-ico svg { width: 0.95rem; height: 0.95rem; }

.fit-card strong {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--ink);
}

.fit-no strong {
  color: rgba(17, 17, 15, 0.42);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
}

.fit-card p {
  margin: 0.28rem 0 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

/* ---------- proof wall ---------- */

.wall {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.4rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.wall-title {
  max-width: 48rem;
  margin: 1.8rem 0 0;
  font-size: 4.6rem;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.wall-title .hl {
  display: inline-block;
  background: var(--orange);
  padding: 0 0.14em;
  border-radius: 0.18em;
}

.wall-grid {
  column-count: 3;
  column-gap: 1rem;
  margin-top: 2.3rem;
}

.wall-card {
  display: inline-block;
  width: 100%;
  margin: 0 0 1rem;
  padding: 0.95rem 1.05rem 0.95rem;
  background: #fff;
  border: 1px solid #e4e4e2;
  border-radius: 0.85rem;
  box-shadow: 0 8px 22px rgba(17, 17, 15, 0.05);
  break-inside: avoid;
}

.wall-head {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.wall-head img {
  width: 2.05rem;
  height: 2.05rem;
  border-radius: 50%;
  object-fit: cover;
}

.wall-head strong {
  font-size: 0.95rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.wall-head span {
  margin-left: auto;
  font-size: 0.72rem;
  font-weight: 500;
  color: #9a9a97;
  white-space: nowrap;
}

.wall-card > p {
  margin: 0.5rem 0 0 2.55rem;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--ink);
}

.wall-reacts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 0.7rem 0 0 2.55rem;
}

.wall-reacts span {
  display: inline-flex;
  align-items: center;
  height: 1.5rem;
  padding: 0 0.5rem;
  border: 1px solid #8eb4e8;
  border-radius: 999px;
  background: #fff;
  font-size: 0.72rem;
  font-weight: 600;
  color: #2f6fbf;
}

.wall-replies {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0.55rem 0 0 2.55rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #6a6a66;
}

.wall-replies img {
  width: 1.15rem;
  height: 1.15rem;
  margin-right: -0.35rem;
  border: 1.5px solid #fff;
  border-radius: 50%;
  object-fit: cover;
}

.wall-replies img:last-of-type { margin-right: 0.2rem; }

/* ---------- how to join ---------- */

.join {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.6rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.join-title {
  max-width: 52rem;
  margin: 1.8rem 0 0;
  font-size: 4.4rem;
  font-weight: 900;
  line-height: 1.08;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.join-title .hl {
  display: inline-block;
  background: var(--orange);
  padding: 0 0.14em;
  border-radius: 0.18em;
}

.join-sub {
  max-width: 40rem;
  margin: 1.25rem 0 0;
  font-size: max(1.18rem, 17px);
  line-height: 1.5;
  color: var(--ink-soft);
}

.join-sub strong {
  font-weight: 800;
  color: var(--ink);
}

.join-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 1.15rem;
  align-items: stretch;
  margin-top: 2.3rem;
}

.join-card,
.join-guarantee {
  padding: 1.6rem 1.65rem 1.55rem;
  border-radius: 1.1rem;
}

.join-card {
  background: #fff;
  border: 1px solid var(--hair);
}

.join-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.join-card-top p {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.join-card-top .eyebrow-mark {
  width: 0.85rem;
  height: 0.85rem;
  color: var(--bronze);
}

.join-price {
  margin: 1.15rem 0 0;
  font-size: 4.4rem;
  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 0.9;
  color: var(--ink);
}

.join-price span {
  margin-right: 0.2em;
  font-family: var(--mono);
  font-size: 0.28em;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--ink-soft);
}

.join-term {
  margin: 0.7rem 0 0;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid var(--hair);
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--ink);
}

.join-copy {
  margin: 1.05rem 0 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

.join-note {
  margin: 1rem 0 0;
  padding: 0.85rem 0.95rem;
  border-radius: 0.7rem;
  background: var(--bg);
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--ink);
}

.join-card .btn {
  width: 100%;
  margin-top: 1.15rem;
}

.join-spots {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.85rem 0 0;
  font-family: var(--mono);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bronze);
}

.join-spots i {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--orange);
}

.join-guarantee {
  position: relative;
  overflow: hidden;
  background: #f3f3ee;
}

.join-stamp {
  position: absolute;
  top: 1.4rem;
  right: 1.2rem;
  margin: 0;
  padding: 0.2rem 0.45rem;
  border: 2px solid #c2410c;
  border-radius: 0.15rem;
  font-family: var(--mono);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #c2410c;
  transform: rotate(-12deg);
  opacity: 0.72;
}

.join-guarantee h3 {
  margin: 0.2rem 0 0;
  font-size: 1.85rem;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.join-guarantee p {
  margin: 1rem 0 0;
  font-size: 1.08rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

/* ---------- apply / cta ---------- */

.apply {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.6rem;
  border-top: 1px solid var(--hair);
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.apply-title {
  max-width: 58rem;
  margin: 2.2rem auto 0;
  font-size: 5.1rem;
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: -0.045em;
  text-align: center;
  color: var(--ink);
}

.apply-title .hl {
  background: var(--orange);
  padding: 0 0.12em;
  border-radius: 0.16em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.apply-sub {
  max-width: 40rem;
  margin: 1.5rem auto 0;
  font-size: 1.28rem;
  line-height: 1.5;
  letter-spacing: 0.015em;
  text-align: center;
  color: var(--ink-soft);
}

.apply-stage {
  position: relative;
  max-width: 72rem;
  margin: 2.8rem auto 0;
}

.apply-panel {
  padding: 1.6rem 1.7rem 1.5rem;
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 1.2rem;
  box-shadow: 0 22px 50px rgba(17, 17, 15, 0.06);
}

.apply-steps {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.apply-steps li {
  display: grid;
  gap: 0.35rem;
  padding: 0.4rem 1.4rem 0.55rem 0;
}

.apply-steps li + li {
  padding-left: 1.5rem;
  border-left: 1px solid var(--hair);
}

.apply-steps span {
  font-family: var(--mono);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: var(--bronze);
}

.apply-steps strong {
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: -0.035em;
  color: var(--ink);
}

.apply-steps em {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-nav);
}

.apply-cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--hair);
}

.apply-cta-row p {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-nav);
}

.apply-cta-row p span { color: var(--orange); }

/* ---------- faq ---------- */

.faq {
  position: relative;
  z-index: 1;
  padding: 3.6rem var(--pad) 4.6rem;
  border-top: 1px solid var(--hair);
  background: #fff;
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.faq-title {
  margin: 2.2rem 0 0;
  font-size: 5.1rem;
  font-weight: 900;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.faq-list {
  margin-top: 2.4rem;
  border-top: 1px solid var(--hair);
}

.faq-item {
  border-bottom: 1px solid var(--hair);
}

.faq-item summary {
  display: grid;
  grid-template-columns: 2.4rem minmax(0, 1fr) 1.4rem;
  align-items: center;
  gap: 0.6rem;
  padding: 1.35rem 0;
  cursor: pointer;
  list-style: none;
}

.faq-item summary::-webkit-details-marker { display: none; }

.faq-num {
  font-family: var(--mono);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-nav);
}

.faq-q {
  font-size: 1.28rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--ink);
}

.faq-item summary::after {
  justify-self: end;
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 1;
  color: var(--ink-soft);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  content: "+";
}

.faq-item.is-open summary::after { transform: rotate(45deg); }

.faq-a {
  overflow: hidden;
  height: 0;
  padding: 0 0 0 3rem;
  opacity: 0;
  transition:
    height 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.4s ease;
}

.faq-item.is-open .faq-a {
  padding-bottom: 1.55rem;
  opacity: 1;
}

.faq-a p {
  margin: 0 0 0.85rem;
  max-width: 46rem;
  font-size: 1.08rem;
  line-height: 1.55;
  color: var(--ink-soft);
}

.faq-a p:last-child { margin-bottom: 0; }

.faq-a strong { color: var(--ink); }

/* ---------- footer ---------- */

.site-footer {
  position: relative;
  z-index: 1;
  overflow: hidden;
  padding: 3.2rem var(--pad) 0;
  border-top: 1px solid var(--hair);
  background: var(--bg);
}

.foot-top {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) 1fr 1fr;
  gap: 2rem 3rem;
}

.foot-brand p {
  max-width: 22rem;
  margin: 1rem 0 0;
  font-size: 1.05rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

.foot-social {
  display: flex;
  align-items: center;
  gap: 0.95rem;
  max-width: 22rem;
  margin-top: 1.2rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--hair);
}

.foot-social a {
  display: grid;
  place-items: center;
  width: 1.7rem;
  height: 1.7rem;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.foot-social img {
  display: block;
  width: 1.7rem;
  height: 1.7rem;
}

@media (hover: hover) and (pointer: fine) {
  .foot-social a:hover {
    transform: translateY(-2px);
    opacity: 0.82;
  }
}

.foot-col {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding-top: 0.35rem;
}

.foot-col p {
  margin: 0 0 0.45rem;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
}

.foot-col a {
  font-size: 0.98rem;
  color: var(--ink);
}

.foot-col a:hover { color: var(--bronze); }

.foot-legal {
  margin-top: 2.4rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--hair);
}

.foot-legal p {
  max-width: 52rem;
  margin: 0;
  font-size: 0.82rem;
  line-height: 1.5;
  color: var(--ink-nav);
}

.foot-legal strong { color: var(--ink); }

.foot-bar {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem 2.5rem;
  margin-top: 1.6rem;
  padding-top: 1.15rem;
  border-top: 1px solid var(--hair);
}

.foot-bar p,
.foot-links a {
  margin: 0;
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ink-nav);
}

.foot-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 2.1rem;
}

.foot-links a:hover { color: var(--ink); }

.foot-mark {
  display: block;
  width: 100%;
  margin: 1.8rem 0 -3px;
  font-family: var(--sans);
  font-size: min(20vw, 17rem);
  font-weight: 800;
  letter-spacing: -0.07em;
  line-height: 0.86;
  text-align: center;
  color: transparent;
  -webkit-text-stroke: 1.5px rgba(17, 17, 15, 0.2);
  user-select: none;
  pointer-events: none;
}

.foot-line {
  display: block;
  height: 4px;
  margin: 0 calc(var(--pad) * -1);
  background: linear-gradient(90deg, #7c3aed 0%, #2563eb 18%, #06b6d4 38%, #22c55e 58%, #eab308 78%, #f97316 100%);
}

/* ---------- tablet ---------- */

@media (max-width: 1100px) {
  html { font-size: 16px; }

  :root {
    --pad: 2.25rem;
    --cell: 2.8rem;
    --grid-offset: 0.4rem;
    --header-h: 4.25rem;
    --ticker-h: 3.5rem;
  }

  .brand img { height: 2.55rem; }

  .site-nav {
    gap: 1.15rem;
    font-size: 0.72rem;
  }

  .hero {
    padding: 1.25rem var(--pad) 8rem;
  }

  .hero-title { font-size: 4.15rem; }

  .hero-sub {
    max-width: 36rem;
    font-size: 1.12rem;
  }

  .flywheel {
    top: 3.5rem;
    left: auto;
    right: -11rem;
    width: 34rem;
    height: 34rem;
    opacity: 0.9;
  }

  .how { padding: 3.25rem var(--pad) 4.2rem; }

  .how-title { font-size: 3.35rem; }

  .how-stage { margin-top: 2.5rem; }

  .numbers,
  .who,
  .receipts,
  .goal,
  .problem,
  .cycle,
  .phases,
  .motion,
  .leverage,
  .fit,
  .wall,
  .join,
  .faq { padding: 3rem var(--pad) 3.4rem; }

  .apply { padding: 3rem var(--pad) 3.8rem; }

  .numbers-title { font-size: 3.5rem; }

  .numbers-body {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin-top: 1.4rem;
  }

  .numbers-copy { font-size: 1.12rem; }

  .numbers-statblock { align-items: flex-start; }

  .numbers-stat { font-size: 6.8rem; }

  .numbers-caption { font-size: 0.95rem; }

  .who-title { font-size: 3.1rem; }

  .receipts-title { font-size: 3.15rem; }

  .receipt-row { grid-template-columns: 1fr 1fr; }

  .fit-title,
  .faq-title,
  .apply-title,
  .cycle-title,
  .phases-title,
  .motion-title,
  .leverage-title,
  .wall-title,
  .join-title { font-size: 3.2rem; }

  .wall-grid { column-count: 2; }

  .join-grid { grid-template-columns: 1fr; }

  .leverage-card {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1.5rem 1.35rem 1.6rem;
  }

  .lg-ring { width: min(15rem, 70%); }

  .phase-panel { padding: 1.5rem 1.35rem 1.55rem; }

  .phase-panel h3 { font-size: 2.35rem; }

  .pp-split { grid-template-columns: 1fr; }

  .pp-billboard p { font-size: 1.7rem; }

  .motion-formula { grid-template-columns: 1fr; }

  .fit-grid { grid-template-columns: 1fr; }

  .foot-top { grid-template-columns: 1fr 1fr; }

  .foot-brand { grid-column: 1 / -1; }

  .goal-title { font-size: 3.15rem; }

  .goal-value { font-size: 3.6rem; }

  .problem-top {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .problem-title { font-size: 3.05rem; }

  .problem-seal {
    width: 10.5rem;
    height: 10.5rem;
    margin: 0 auto 0 0;
  }

  .problem-seal strong { font-size: 2.1rem; }

  .pt-text { font-size: 1.7rem; }

  .problem-ticket.t5 {
    flex-wrap: wrap;
    overflow: visible;
  }

  .problem-ticket.t5 .pt-text { font-size: 2.25rem; }

  .who-grid {
    grid-template-columns: minmax(14rem, 18rem) minmax(0, 1fr);
    gap: 1.8rem;
    margin-top: 1.8rem;
  }

  .who-name { font-size: 1.9rem; }

  .who-copy p { font-size: 1.05rem; }

  .shift { padding: 3rem var(--pad) 3.6rem; }

  .shift-title { font-size: 3.1rem; }

  .shift-sub { font-size: 1.08rem; }

  .venn {
    width: min(34rem, 100%);
    height: 31rem;
    margin-top: 2.1rem;
  }

  .venn-stage {
    width: 25rem;
    height: 23.5rem;
  }

  .venn-orb {
    width: 14.6rem;
    height: 14.6rem;
  }

  .venn-label strong { font-size: 1.1rem; }

  .shift-offer { font-size: 2.1rem; }
}

/* ---------- mobile ---------- */

@media (max-width: 820px) {
  :root {
    --pad: 1.15rem;
    --header-h: 3.65rem;
    --ticker-h: 5.4rem;
  }

  .site-header { padding: 0 1.15rem; }

  .brand img { height: 2.35rem; }

  .menu-toggle {
    display: grid;
    place-items: center;
    z-index: 24;
    width: 2.7rem;
    height: 2.7rem;
    border: 1px solid rgba(17, 17, 15, 0.1);
    border-radius: 50%;
    background: #fff;
  }

  .menu-toggle span {
    left: 0.78rem;
    right: 0.78rem;
  }

  .menu-toggle span:first-child { top: 1.06rem; }
  .menu-toggle span:last-child { top: 1.52rem; }

  .site-nav .nav-links a:hover,
  .site-nav .nav-links a:active {
    color: #8a6418;
    padding-left: 0.28rem;
  }

  .nav-scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 18;
    background: rgba(18, 18, 16, 0.38);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }

  body.nav-open .nav-scrim {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav-kicker {
    display: block;
    margin: 0 0 1.1rem;
    font-family: var(--mono);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bronze);
  }

  .site-nav .nav-apply { display: inline-flex; width: 100%; margin-top: auto; }

  .site-nav a span {
    display: inline-block;
    width: 1.6rem;
    flex: none;
    font-family: var(--mono);
    font-size: 0.68rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--bronze);
  }

  .site-nav {
    display: flex;
    position: fixed;
    top: var(--header-h);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 21;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 1.35rem 1.35rem 1.5rem;
    overflow: auto;
    background:
      linear-gradient(to right, var(--grid-line) 1px, transparent 1px),
      linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px),
      var(--bg);
    background-size: 2.4rem 100%, 100% 2.4rem, auto;
    white-space: normal;
    font-size: 1.05rem;
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition:
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.32s ease,
      visibility 0.32s ease;
  }

  body.nav-open .site-nav {
    transform: none;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .nav-links {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin-bottom: 1.4rem;
    border-top: 1px solid var(--hair);
  }

  .site-nav .nav-links a {
    display: flex;
    align-items: baseline;
    gap: 0.85rem;
    padding: 1.15rem 0.1rem;
    border-bottom: 1px solid var(--hair);
    font-family: var(--sans);
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.1;
    text-transform: none;
    color: var(--ink);
    transform: translateY(14px);
    opacity: 0;
    transition:
      transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
      opacity 0.45s ease,
      color 0.2s ease,
      padding 0.2s ease;
  }

  .site-nav .nav-links a::after {
    display: none;
  }

  body.nav-open .site-nav .nav-links a {
    transform: none;
    opacity: 1;
  }

  body.nav-open .site-nav .nav-links a:nth-child(1) { transition-delay: 0.08s; }
  body.nav-open .site-nav .nav-links a:nth-child(2) { transition-delay: 0.13s; }
  body.nav-open .site-nav .nav-links a:nth-child(3) { transition-delay: 0.18s; }
  body.nav-open .site-nav .nav-links a:nth-child(4) { transition-delay: 0.23s; }
  body.nav-open .site-nav .nav-links a:nth-child(5) { transition-delay: 0.28s; }

  .site-nav .nav-apply {
    opacity: 0;
    transform: translateY(12px);
    transition:
      transform 0.45s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
      opacity 0.45s ease 0.32s,
      color 0.35s cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 0.35s ease;
  }

  body.nav-open .site-nav .nav-apply {
    opacity: 1;
    transform: none;
  }

  .site-header { z-index: 22; }

  .ticker {
    height: auto;
    min-height: 0;
    flex-wrap: wrap;
    gap: 0.75rem 0.85rem;
    padding: 1.05rem 1.15rem;
  }

  .ticker-dot,
  .ticker-note { display: none; }

  .ticker-side {
    margin-left: auto;
    gap: 0.75rem;
  }

  .countdown { gap: 0.55rem; }

  .cd-num { font-size: 0.98rem; }

  .btn-sm {
    height: 2.15rem;
    padding: 0 0.95rem;
    font-size: 0.72rem;
  }

  .hero {
    padding: 2.15rem 1.15rem 7rem;
  }

  .hero-copy { max-width: none; }

  .eyebrow {
    height: auto;
    font-size: 0.68rem;
    letter-spacing: 0.12em;
  }

  .hero-title {
    margin-top: 1.85rem;
    font-size: clamp(2.35rem, 11.2vw, 3.4rem);
    line-height: 1.05;
    letter-spacing: -0.035em;
  }

  .hero-sub {
    max-width: none;
    margin-top: 1.9rem;
    font-size: 1.02rem;
    line-height: 1.55;
    letter-spacing: 0.028em;
  }

  .hero-cta {
    flex-direction: column;
    align-items: stretch;
    gap: 0.95rem;
    margin-top: 2.35rem;
  }

  .hero-cta .btn {
    width: 100%;
    height: 3.35rem;
  }

  .scroll-cue { bottom: 1.05rem; }
  .scroll-cue i { height: 3.35rem; }

  .btn-plain { font-size: 1.05rem; font-weight: 800; }

  .hide-mobile { display: none; }

  .flywheel {
    top: 11.5rem;
    bottom: auto;
    right: -7.5rem;
    left: auto;
    width: 30rem;
    height: 30rem;
    opacity: 0.72;
  }

  .how {
    padding: 2.7rem 1.15rem 3.8rem;
  }

  .how-kicker,
  .how-index,
  .how-foot {
    font-size: 0.68rem;
    letter-spacing: 0.12em;
  }

  .how-title {
    margin-top: 1.7rem;
    font-size: clamp(2.15rem, 9.4vw, 2.85rem);
  }

  .how-stage { margin-top: 2.15rem; }

  .how-video { border-radius: 1.1rem; }

  .how-bracket {
    width: 1rem;
    height: 1rem;
  }

  .how-foot { margin-top: 1.85rem; }

  .numbers,
  .who,
  .receipts,
  .goal,
  .problem,
  .cycle,
  .phases,
  .motion,
  .leverage,
  .fit,
  .wall,
  .join,
  .faq { padding: 2.5rem 1.15rem 3.2rem; }

  .apply { padding: 2.6rem 1.15rem 3.4rem; }

  .numbers-title {
    margin-top: 1.4rem;
    font-size: clamp(2.15rem, 9vw, 2.85rem);
  }

  .numbers-body {
    grid-template-columns: 1fr;
    gap: 1.4rem;
    margin-top: 1.35rem;
  }

  .numbers-copy {
    font-size: 1.02rem;
  }

  .numbers-statblock { align-items: flex-start; }

  .numbers-stat { font-size: 5.4rem; }

  .numbers-caption { font-size: 0.92rem; white-space: normal; }

  .who-title {
    margin-top: 1.4rem;
    font-size: clamp(2.05rem, 8.6vw, 2.7rem);
  }

  .goal-title {
    margin-top: 1.5rem;
    font-size: clamp(2.05rem, 8.8vw, 2.7rem);
  }

  .problem-title {
    font-size: clamp(2.05rem, 8.8vw, 2.7rem);
  }

  .goal-sub,
  .problem-sub { font-size: 1.02rem; }

  .goal-grid {
    grid-template-columns: 1fr;
    margin-top: 1.8rem;
  }

  .goal-col {
    padding: 1.15rem 0;
  }

  .goal-col + .goal-col {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--hair);
  }

  .goal-value { font-size: 3.4rem; }

  .problem-ghost { font-size: 28vw; top: 5.5rem; }

  .problem-tickets { grid-template-columns: 1fr; }

  .problem-ticket {
    overflow: visible;
    flex-wrap: wrap;
    min-height: 0;
    width: 100%;
  }

  .problem-ticket.t1,
  .problem-ticket.t2,
  .problem-ticket.t3,
  .problem-ticket.t4,
  .problem-ticket.t5 {
    transform: none;
    margin-top: 0;
  }

  .pt-text { font-size: 1.55rem; }

  .problem-ticket.t5 {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas:
      "idx text"
      ". mark";
    align-items: center;
    column-gap: 0.7rem;
    row-gap: 0.35rem;
    padding: 1.15rem 1.05rem 1.2rem 1.2rem;
  }

  .problem-ticket.t5 .pt-idx { grid-area: idx; }

  .problem-ticket.t5 .pt-text {
    grid-area: text;
    font-size: clamp(1.15rem, 5.6vw, 1.55rem);
    line-height: 1.15;
  }

  .problem-ticket.t5 .pt-mark {
    grid-area: mark;
    justify-self: end;
    margin-left: 0;
    font-size: 1.2rem;
  }

  .problem-ticket.t5 .pt-slash {
    inset: 22% 8% 28% 18%;
  }

  .pt-mark { font-size: 1.15rem; }

  .pt-void-stamp {
    right: 1rem;
    font-size: 1.05rem;
    padding: 0.1rem 0.45rem;
  }

  .who-grid {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    margin-top: 1.7rem;
  }

  .who-photo {
    max-width: 20rem;
    margin: 0 auto;
  }

  .who-id { margin-bottom: 1.1rem; }

  .who-name { font-size: 2rem; text-align: left; }

  .who-copy p { font-size: 1.02rem; }

  .who-brands { margin-top: 1.35rem; }

  .shift { padding: 2.5rem 1.15rem 3.2rem; }

  .receipts-title {
    font-size: clamp(2.05rem, 8.6vw, 2.7rem);
  }

  .receipt-row {
    display: flex;
    gap: 0.85rem;
    overflow-x: auto;
    padding-bottom: 0.4rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .receipt {
    flex: 0 0 min(16.5rem, 82vw);
    scroll-snap-align: start;
  }

  .shift-title {
    margin-top: 1.4rem;
    font-size: clamp(2.05rem, 8.4vw, 2.7rem);
  }

  .shift-sub {
    margin-top: 1.25rem;
    font-size: 1.02rem;
  }

  .venn {
    width: 100%;
    height: 26.5rem;
    margin-top: 1.5rem;
    display: block;
  }

  .venn-stage {
    position: absolute;
    left: 50%;
    top: 2.65rem;
    width: min(19.5rem, 82vw);
    height: 18.2rem;
    margin: 0;
    transform: translateX(-50%);
  }

  .venn-orb {
    width: 11.4rem;
    height: 11.4rem;
    mix-blend-mode: multiply;
    opacity: 1;
  }

  .venn-label {
    display: flex;
    position: absolute;
    width: auto;
    max-width: 8.8rem;
    padding: 0;
    border: 0;
    background: none;
  }

  .venn-label-acq {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
  }

  .venn-label-ath {
    left: 0;
    right: auto;
    top: auto;
    bottom: 0;
    text-align: left;
  }

  .venn-label-aut {
    right: 0;
    left: auto;
    top: auto;
    bottom: 0;
    text-align: right;
  }

  .venn-label strong { font-size: 1rem; }

  .venn-label span { font-size: 0.62rem; }

  .shift-offer {
    margin-top: 1em;
    font-size: 1.55rem;
    gap: 0.5rem;
  }

  .msg-card {
    width: 100%;
    max-width: 100%;
    margin-top: 1.5rem;
    padding: 1rem 1rem 0.95rem;
  }

  .msg-body,
  .msg-reacts {
    margin-left: 2.75rem;
  }

  .fit-title,
  .faq-title,
  .apply-title,
  .cycle-title,
  .phases-title,
  .motion-title,
  .leverage-title,
  .wall-title,
  .join-title {
    font-size: clamp(2.05rem, 8.6vw, 2.7rem);
  }

  .wall-grid { column-count: 1; }

  .wall-card > p,
  .wall-reacts,
  .wall-replies { margin-left: 0; }

  .join-price { font-size: 3.4rem; }

  .join-stamp { position: static; display: inline-block; transform: rotate(-8deg); margin-bottom: 0.6rem; }

  .leverage-sub { font-size: 1.08rem; }

  .leverage-card { padding: 1.2rem 1.05rem 1.3rem; }

  .lg-score { font-size: 2.6rem; }

  .phase-map {
    grid-template-columns: 1fr;
  }

  .pm-join { display: none; }

  .pm { min-height: 0; }

  .pm strong { margin-top: 0.35rem; font-size: 1.55rem; }

  .phases-sub,
  .motion-sub { font-size: 1.18rem; }

  .phase-panel h3 { font-size: clamp(1.85rem, 7vw, 2.25rem); }

  .pp-copy { font-size: 1.12rem; }

  .pp-install { grid-template-columns: 1fr; }

  .pp-install li { font-size: 1.02rem; }

  .pp-outcome p { font-size: 1.28rem; }

  .pp-insight { font-size: 1.05rem; }

  .pp-billboard { padding: 1.15rem 1.2rem; }

  .pp-billboard p { font-size: 1.45rem; }

  .motion-chain span { font-size: 0.95rem; }

  .motion-formula p { font-size: 1.28rem; }

  .cycle-main {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }

  .cycle-card-top {
    flex-wrap: wrap;
  }

  .faq-q { font-size: 1.05rem; }

  .faq-a { padding-left: 0; }

  .apply-sub { font-size: 1.05rem; }

  .apply-steps { grid-template-columns: 1fr; }

  .apply-steps li {
    padding: 0.95rem 0;
  }

  .apply-steps li + li {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--hair);
  }

  .apply-cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .apply-cta-row .btn { width: 100%; }

  .apply-cta-row p { text-align: center; }

  .foot-top { grid-template-columns: 1fr; }

  .foot-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
  }

  .foot-mark { font-size: 20vw; }

  .site-footer { padding: 2.5rem 1.15rem 0; }

  .foot-line { margin-left: -1.15rem; margin-right: -1.15rem; }
}

@media (max-width: 480px) {
  .ticker-side { width: 100%; justify-content: space-between; }

  .hero {
    padding: 2.35rem 1.15rem 7.25rem;
  }

  .hero-title {
    margin-top: 2rem;
    font-size: clamp(2.15rem, 12.4vw, 2.9rem);
  }

  .hero-sub { margin-top: 2.05rem; }

  .hero-cta { margin-top: 2.5rem; }

  .how { padding: 2.9rem 1.15rem 4.1rem; }

  .how-title { margin-top: 1.9rem; }

  .how-stage { margin-top: 2.35rem; }

  .numbers,
  .who,
  .receipts,
  .goal,
  .problem,
  .cycle,
  .phases,
  .motion,
  .leverage,
  .fit,
  .wall,
  .join,
  .faq { padding: 2.6rem 1.15rem 3.4rem; }

  .apply { padding: 2.7rem 1.15rem 3.5rem; }

  .numbers-title { margin-top: 1.5rem; }

  .who-title { margin-top: 1.5rem; }

  .shift { padding: 2.6rem 1.15rem 3.4rem; }
}

/* ---------- motion + hover ---------- */

html.js-anim .hero-copy > * {
  animation: fx-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}

html.js-anim .hero-copy .eyebrow { animation-delay: 0.04s; }
html.js-anim .hero-copy .hero-title { animation-delay: 0.12s; }
html.js-anim .hero-copy .hero-sub { animation-delay: 0.22s; }
html.js-anim .hero-copy .hero-cta { animation-delay: 0.32s; }
html.js-anim .scroll-cue { animation: fx-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.55s both; }

html.js-anim .flywheel {
  animation: fx-wheel 1.15s cubic-bezier(0.22, 1, 0.36, 1) 0.16s both;
}

@keyframes fx-rise {
  from { opacity: 0; transform: translate3d(0, 1.6rem, 0); }
  to { opacity: 1; transform: none; }
}

@keyframes fx-wheel {
  from { opacity: 0; transform: scale(0.88) rotate(-7deg); }
  to { opacity: 1; transform: none; }
}

@keyframes fx-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.45; }
}

html.js-anim :is(
  section:not(.hero) .how-meta,
  section:not(.hero) > h2,
  section:not(.hero) > .shift-sub,
  section:not(.hero) > .goal-sub,
  section:not(.hero) > .cycle-sub,
  section:not(.hero) > .leverage-sub,
  section:not(.hero) > .apply-sub,
  .how-stage,
  .how-foot,
  .numbers-copy,
  .numbers-statblock,
  .who-copy,
  .receipt,
  .venn,
  .shift-offer,
  .goal-col,
  .cycle-flow,
  .cycle-visual,
  .cycle-card,
  .phase-map,
  .phase-panel,
  .motion-chain,
  .motion-formula li,
  .leverage-card,
  .fit-card,
  .wall-card,
  .join-card,
  .join-guarantee,
  .apply-panel,
  .faq-item,
  .foot-top,
  .foot-legal
) {
  opacity: 0;
  transform: translate3d(0, 3.4rem, 0);
}

html.js-anim.fx-ready :is(
  section:not(.hero) .how-meta,
  section:not(.hero) > h2,
  section:not(.hero) > .shift-sub,
  section:not(.hero) > .goal-sub,
  section:not(.hero) > .cycle-sub,
  section:not(.hero) > .leverage-sub,
  section:not(.hero) > .apply-sub,
  .how-stage,
  .how-foot,
  .numbers-copy,
  .numbers-statblock,
  .who-copy,
  .receipt,
  .venn,
  .shift-offer,
  .goal-col,
  .cycle-flow,
  .cycle-visual,
  .cycle-card,
  .phase-map,
  .phase-panel,
  .motion-chain,
  .motion-formula li,
  .leverage-card,
  .fit-card,
  .wall-card,
  .join-card,
  .join-guarantee,
  .apply-panel,
  .faq-item,
  .foot-top,
  .foot-legal
) {
  transition:
    opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

html.js-anim :is(.who-photo, .problem-ticket) {
  opacity: 0;
}

html.js-anim.fx-ready :is(.who-photo, .problem-ticket) {
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

html.js-anim :is(.numbers-copy, .cycle-visual) {
  transform: translate3d(-2.8rem, 0, 0);
}

html.js-anim :is(.numbers-statblock, .who-copy, .cycle-card) {
  transform: translate3d(2.8rem, 0, 0);
}

html.js-anim :is(.how-stage, .venn, .apply-panel, .leverage-card) {
  transform: scale(0.92);
}

html.js-anim .wall-card { transform: translate3d(0, 1.6rem, 0); }

html.js-anim :is(
  section:not(.hero) .how-meta,
  section:not(.hero) > h2,
  section:not(.hero) > .shift-sub,
  section:not(.hero) > .goal-sub,
  section:not(.hero) > .cycle-sub,
  section:not(.hero) > .leverage-sub,
  section:not(.hero) > .apply-sub,
  .how-stage,
  .how-foot,
  .numbers-copy,
  .numbers-statblock,
  .who-copy,
  .receipt,
  .venn,
  .shift-offer,
  .goal-col,
  .cycle-flow,
  .cycle-visual,
  .cycle-card,
  .phase-map,
  .phase-panel,
  .motion-chain,
  .motion-formula li,
  .leverage-card,
  .fit-card,
  .wall-card,
  .join-card,
  .join-guarantee,
  .apply-panel,
  .faq-item,
  .foot-top,
  .foot-legal,
  .who-photo,
  .problem-ticket
).is-in {
  opacity: 1;
  transform: none;
  filter: none;
  will-change: auto;
}

html.js-anim .who-photo.is-in { transform: rotate(-2.6deg); }

html.js-anim .receipt:nth-child(2) { transition-delay: 0.08s; }
html.js-anim .receipt:nth-child(3) { transition-delay: 0.16s; }
html.js-anim .receipt:nth-child(4) { transition-delay: 0.24s; }

html.js-anim .goal-col:nth-child(2) { transition-delay: 0.08s; }
html.js-anim .goal-col:nth-child(3) { transition-delay: 0.16s; }

html.js-anim .problem-ticket:nth-child(2) { transition-delay: 0.07s; }
html.js-anim .problem-ticket:nth-child(3) { transition-delay: 0.14s; }
html.js-anim .problem-ticket:nth-child(4) { transition-delay: 0.21s; }
html.js-anim .problem-ticket:nth-child(5) { transition-delay: 0.28s; }

html.js-anim .cycle-card:nth-child(2) { transition-delay: 0.1s; }
html.js-anim .cycle-card:nth-child(3) { transition-delay: 0.2s; }

html.js-anim .phase-panel:nth-of-type(2) { transition-delay: 0.08s; }
html.js-anim .phase-panel:nth-of-type(3) { transition-delay: 0.16s; }

html.js-anim .motion-formula li:nth-child(2) { transition-delay: 0.08s; }
html.js-anim .motion-formula li:nth-child(3) { transition-delay: 0.16s; }

html.js-anim .fit-card:nth-child(2) { transition-delay: 0.1s; }

html.js-anim .wall-card:nth-child(2) { transition-delay: 0.05s; }
html.js-anim .wall-card:nth-child(3) { transition-delay: 0.1s; }
html.js-anim .wall-card:nth-child(4) { transition-delay: 0.15s; }
html.js-anim .wall-card:nth-child(5) { transition-delay: 0.2s; }
html.js-anim .wall-card:nth-child(6) { transition-delay: 0.25s; }
html.js-anim .wall-card:nth-child(7) { transition-delay: 0.3s; }

html.js-anim .faq-item:nth-child(2) { transition-delay: 0.04s; }
html.js-anim .faq-item:nth-child(3) { transition-delay: 0.08s; }
html.js-anim .faq-item:nth-child(4) { transition-delay: 0.12s; }
html.js-anim .faq-item:nth-child(5) { transition-delay: 0.16s; }
html.js-anim .faq-item:nth-child(6) { transition-delay: 0.2s; }
html.js-anim .faq-item:nth-child(7) { transition-delay: 0.24s; }
html.js-anim .faq-item:nth-child(8) { transition-delay: 0.28s; }
html.js-anim .faq-item:nth-child(9) { transition-delay: 0.32s; }
html.js-anim .faq-item:nth-child(10) { transition-delay: 0.36s; }
html.js-anim .faq-item:nth-child(11) { transition-delay: 0.4s; }

.ticker-flag { animation: fx-pulse 2.6s ease-in-out infinite; }
.join-spots i { animation: fx-pulse 1.6s ease-in-out infinite; }

.receipt,
.cycle-card,
.goal-col,
.phase-panel,
.motion-formula li,
.fit-card,
.join-card,
.join-guarantee,
.how-stage,
.leverage-card,
.apply-panel {
  transition:
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.28s ease,
    border-color 0.28s ease,
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.wall-card {
  transition:
    box-shadow 0.25s ease,
    border-color 0.25s ease,
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.problem-ticket {
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.28s ease,
    box-shadow 0.28s ease;
}

.faq-item summary {
  transition: color 0.18s ease, background-color 0.18s ease, padding 0.18s ease;
}

@media (hover: hover) and (pointer: fine) {
  .brand:hover img { transform: scale(1.05); }

  .site-nav .nav-links a:hover::after { transform: scaleX(1); }

  .btn-solid:hover {
    color: var(--ink);
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(254, 162, 1, 0.28);
  }

  .btn-ghost:hover {
    color: #fff;
    border-color: var(--ink);
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(17, 17, 15, 0.14);
  }

  .btn:hover::before { transform: translateY(0); }

  .btn-solid:hover::after { transform: translateX(125%); }

  .who-photo:hover img { transform: scale(1.06); }

  .who-brands li:hover {
    transform: translateY(-2px);
    border-color: rgba(17, 17, 15, 0.28);
    background: #fff;
    color: var(--ink);
  }

  html.js-anim .receipt.is-in:hover,
  .receipt:hover {
    transform: translateY(-7px);
    box-shadow:
      0 1px 0 rgba(17, 17, 15, 0.04),
      0 22px 36px rgba(17, 17, 15, 0.12);
  }

  html.js-anim .how-stage.is-in:hover,
  .how-stage:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 40px rgba(17, 17, 15, 0.08);
  }

  html.js-anim :is(.goal-col, .cycle-card, .phase-panel, .motion-formula li, .fit-card, .join-card, .join-guarantee).is-in:hover,
  .goal-col:hover,
  .cycle-card:hover,
  .phase-panel:hover,
  .motion-formula li:hover,
  .fit-card:hover,
  .join-card:hover,
  .join-guarantee:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 36px rgba(17, 17, 15, 0.1);
  }

  html.js-anim .wall-card.is-in:hover,
  .wall-card:hover {
    border-color: rgba(17, 17, 15, 0.18);
    box-shadow: 0 16px 28px rgba(17, 17, 15, 0.1);
  }

  html.js-anim .problem-ticket.t1.is-in:hover,
  .problem-ticket.t1:hover { transform: rotate(-1.4deg) translateY(-5px); }
  html.js-anim .problem-ticket.t2.is-in:hover,
  .problem-ticket.t2:hover { transform: rotate(1.2deg) translateY(-5px); }
  html.js-anim .problem-ticket.t3.is-in:hover,
  .problem-ticket.t3:hover { transform: rotate(0.8deg) translateY(-5px); }
  html.js-anim .problem-ticket.t4.is-in:hover,
  .problem-ticket.t4:hover { transform: rotate(-1.1deg) translateY(-5px); }
  html.js-anim .problem-ticket.t5.is-in:hover,
  .problem-ticket.t5:hover { transform: rotate(-0.6deg) translateY(-5px); }

  .faq-item summary:hover .faq-q { color: var(--bronze); }

  .apply-steps li:hover strong { color: var(--bronze); }

  .lev-row:hover .lev-top strong { color: var(--bronze); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* ---------- apply page ---------- */

.page-apply { overflow-x: hidden; }

.book {
  position: relative;
  z-index: 1;
  padding: 2.4rem var(--pad) 0;
}

.book-title {
  max-width: 52rem;
  margin: 1.8rem 0 0;
  font-size: 4.6rem;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.book-title .hl {
  background: var(--orange);
  padding: 0 0.12em;
  border-radius: 0.16em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.book-sub {
  max-width: 38rem;
  margin: 1.35rem 0 0;
  font-size: 1.22rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

.book-main {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
  padding: 2.1rem var(--pad) 4.4rem;
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 0.85rem);
}

.book-points {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.book-points li {
  padding: 1.25rem 1.2rem 1.3rem;
  background: #fff;
  border: 1px solid var(--hair);
  border-radius: 1rem;
  box-shadow: 0 14px 32px rgba(17, 17, 15, 0.04);
}

.book-points span {
  display: block;
  margin: 0 0 0.7rem;
  font-family: var(--mono);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--bronze);
}

.book-points strong {
  display: block;
  font-size: 1.22rem;
  font-weight: 800;
  letter-spacing: -0.035em;
}

.book-points p {
  margin: 0.4rem 0 0;
  font-size: 0.98rem;
  line-height: 1.48;
  color: var(--ink-soft);
}

.book-callout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.15rem 1rem;
  align-items: start;
  padding: 1.05rem 1.25rem 1.1rem;
  border: 1px solid rgba(254, 162, 1, 0.42);
  border-radius: 1rem;
  background: linear-gradient(180deg, #fff8ee 0%, #fff4e3 100%);
}

.book-callout strong {
  grid-row: 1 / 3;
  margin-top: 0.18rem;
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bronze);
}

.book-callout p {
  grid-column: 2;
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.5;
  color: var(--ink);
}

.book-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.55rem 1.4rem;
  padding: 0.15rem 0.15rem 0.35rem;
}

.book-note .join-spots { margin: 0; }

.book-note p + p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

.book-note a {
  color: var(--ink);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.book-cal {
  position: relative;
  min-width: 0;
}

.book-cal-frame {
  overflow: hidden;
  min-height: 700px;
  border: 1px solid var(--hair);
  border-radius: 1.15rem;
  background: #fff;
  box-shadow: 0 22px 50px rgba(17, 17, 15, 0.06);
}

.page-apply .calendly-inline-widget,
.page-apply .calendly-inline-widget iframe {
  min-width: 0 !important;
  width: 100% !important;
}

@media (max-width: 1100px) {
  .book-title { font-size: 3.6rem; }

  .book-points { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .book { padding: 1.8rem 1.15rem 0; }

  .book-title {
    margin-top: 1.4rem;
    font-size: clamp(2.15rem, 9vw, 2.7rem);
  }

  .book-sub { font-size: 1.05rem; }

  .book-main { padding: 1.35rem 1.15rem 3.4rem; gap: 0.95rem; }

  .book-points li { padding: 1.1rem 1.05rem 1.15rem; }

  .book-callout {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .book-callout strong { grid-row: auto; margin-top: 0; }

  .book-callout p { grid-column: auto; font-size: 0.98rem; }

  .book-note { align-items: flex-start; flex-direction: column; }

  .book-cal-frame {
    min-height: 640px;
    border-radius: 1rem;
  }

  .page-apply .calendly-inline-widget { height: 680px !important; }
}

/* ---------- legal pages ---------- */

.page-legal { overflow-x: hidden; }

.legal {
  position: relative;
  z-index: 1;
  padding: 2.4rem var(--pad) 4.4rem;
}

.legal-title {
  max-width: 40rem;
  margin: 1.6rem 0 0;
  font-size: clamp(2.4rem, 6vw, 4.2rem);
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--ink);
}

.legal-updated {
  margin: 1rem 0 0;
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--bronze);
}

.legal-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.15rem;
  margin: 1.8rem 0 0.4rem;
  padding: 1rem 0 1.15rem;
  border-top: 1px solid var(--hair);
  border-bottom: 1px solid var(--hair);
}

.legal-toc a {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.legal-toc a:hover { color: var(--bronze); }

.legal-doc {
  max-width: 46rem;
}

.legal-doc h2 {
  margin: 2.4rem 0 0.7rem;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  scroll-margin-top: calc(var(--header-h) + var(--ticker-h) + 1rem);
}

.legal-doc h3 {
  margin: 1.35rem 0 0.45rem;
  font-size: 1.05rem;
  font-weight: 700;
}

.legal-doc p,
.legal-doc li {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--ink-soft);
}

.legal-doc p { margin: 0 0 0.9rem; }

.legal-doc ul {
  margin: 0 0 1rem;
  padding: 0 0 0 1.2rem;
}

.legal-doc li { margin: 0 0 0.45rem; }

.legal-doc a {
  color: var(--ink);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.legal-doc a.btn {
  text-decoration: none;
}

.legal-doc a:hover { color: var(--bronze); }

.legal-doc strong { color: var(--ink); }

@media (max-width: 820px) {
  .legal { padding: 1.8rem 1.15rem 3.4rem; }

  .legal-doc p,
  .legal-doc li { font-size: 1rem; }
}
