/* noXcuses workout: V0.6 VISUAL FIX
   Exact dark app captures, focused Photo AI presentation and restored restrained motion. */

:root {
  --v6-red: #ff334b;
  --v6-coral: #ff6c56;
  --v6-orange: #ff7846;
  --v6-panel: #0b0c11;
  --v6-line: rgba(255,255,255,.11);
}

/* The red manifesto carried more depth in the earlier concept. Keep the pulse slow. */
.v5-manifest-band::before {
  transform-origin: 50% 50%;
  animation: v6ManifestPulse 6.8s cubic-bezier(.45,0,.55,1) infinite;
}

.v5-manifest-band {
  min-height: 0;
}

.v5-manifest-band .container {
  padding-block: clamp(48px, 4.8vw, 68px);
}

.v5-manifest-band .eyebrow {
  margin: 0;
  color: rgba(36, 6, 10, 0.9);
  font-size: clamp(0.82rem, 0.88vw, 0.94rem);
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.19em;
}

.v5-manifest-band .v5-halftone {
  position: absolute;
  inset: 0;
  opacity: 0.2;
  pointer-events: none;
  background-image: radial-gradient(rgba(45,8,13,.74) .75px, transparent .9px);
  background-size: 6px 6px;
  animation: v5HalftoneDrift 17s linear infinite;
  mask-image: linear-gradient(90deg,#000,rgba(0,0,0,.42) 58%,transparent);
  -webkit-mask-image: linear-gradient(90deg,#000,rgba(0,0,0,.42) 58%,transparent);
}

@media (min-width: 561px) {
  .v5-manifest-band .v5-halftone {
    opacity: 0.24;
  }
}

.v5-manifest-band h2 {
  width: min(100%, 1120px);
  margin: 14px 0 18px;
  font-size: clamp(4rem, 7.8vw, 7.4rem);
  line-height: 0.8;
}

.v5-manifest-band h2 b {
  white-space: nowrap;
  font-size: clamp(3.25rem, 5.3vw, 5rem);
  line-height: 0.92;
  letter-spacing: -0.065em;
}

.v5-manifest-band .container > p:last-child {
  max-width: 60ch;
  margin: 0;
  font-size: clamp(0.98rem, 1.15vw, 1.1rem);
  line-height: 1.5;
}

.v3-product-device::after {
  border-color: rgba(255,83,61,.14);
  box-shadow: 0 0 70px rgba(255,51,75,.035);
  animation: v6ProductPulse 7.2s cubic-bezier(.45,0,.55,1) infinite;
}

.v3-product-device.v4-is-switching .pro-device__rail {
  animation: v6DevicePulse .72s ease;
}

/* --------------------------------------------------------------------------
   Photo AI: a focused product action instead of another app screenshot.
   The scan is clipped to the action itself.
   -------------------------------------------------------------------------- */

.v6-photo-ai-stage {
  position: relative;
  isolation: isolate;
  width: min(100%,640px);
  min-height: 480px;
  margin: 0 auto 26px;
  padding: 58px clamp(22px,5vw,48px) 42px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 28px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 40%,rgba(255,57,67,.16),transparent 34%),
    radial-gradient(circle at 9% 92%,rgba(255,119,67,.08),transparent 31%),
    linear-gradient(145deg,#14151d,#08090e 72%);
  box-shadow: 0 30px 80px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.055);
}

.v6-photo-ai-stage::before,
.v6-photo-ai-stage::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: 50%;
  top: 44%;
  transform: translate(-50%,-50%);
  border-radius: 50%;
  pointer-events: none;
}

.v6-photo-ai-stage::before {
  width: 76%;
  aspect-ratio: 1.8;
  border: 1px solid rgba(255,91,65,.2);
  box-shadow: 0 0 58px rgba(255,52,67,.08);
  animation: v6PhotoOrbit 8.6s ease-in-out infinite;
}

.v6-photo-ai-stage::after {
  width: 46%;
  aspect-ratio: 1;
  background: radial-gradient(circle,rgba(255,79,61,.13),transparent 66%);
  filter: blur(18px);
  animation: v6PhotoGlow 5.8s ease-in-out infinite;
}

.v6-photo-action {
  position: relative;
  z-index: 3;
  width: min(100%,470px);
  min-height: 150px;
  padding: 22px 22px;
  display: grid;
  grid-template-columns: 68px minmax(0,1fr) 34px;
  align-items: center;
  gap: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,117,78,.52);
  border-radius: 27px;
  color: #f9f9fa;
  background:
    linear-gradient(105deg,rgba(255,53,70,.2),rgba(255,112,65,.08) 54%,rgba(255,255,255,.025)),
    rgba(11,12,17,.96);
  box-shadow:
    0 24px 70px rgba(0,0,0,.5),
    0 0 0 1px rgba(255,255,255,.035) inset,
    0 0 48px rgba(255,52,66,.1);
  text-align: left;
  cursor: pointer;
  transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.v6-photo-action:hover,
.v6-photo-action:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(255,134,84,.86);
  box-shadow:
    0 28px 78px rgba(0,0,0,.56),
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 0 62px rgba(255,52,66,.16);
}

.v6-photo-action:focus-visible {
  outline: 2px solid #ff8b68;
  outline-offset: 4px;
}

.v6-photo-icon {
  position: relative;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,137,91,.48);
  border-radius: 21px;
  background: linear-gradient(145deg,#ff354c,#ff7846);
  box-shadow: 0 13px 30px rgba(255,51,75,.27),inset 0 1px rgba(255,255,255,.34);
  animation: v6PhotoButtonBreathe 4.8s ease-in-out infinite;
}

.v6-photo-icon::before {
  content: "";
  width: 29px;
  height: 22px;
  border: 3px solid #fff;
  border-radius: 7px;
  box-sizing: border-box;
}

.v6-photo-icon::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border: 3px solid #fff;
  border-radius: 50%;
}

.v6-photo-action-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.v6-photo-action-copy small {
  color: #ff826d;
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .2em;
}

.v6-photo-action-copy strong {
  font-size: clamp(1.18rem,2.8vw,1.55rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.v6-photo-action-copy em {
  color: #a5a6ae;
  font-size: .72rem;
  font-style: normal;
  font-weight: 650;
  line-height: 1.45;
}

.v6-photo-action-arrow {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  color: #ff8b71;
  background: rgba(255,255,255,.035);
  font-size: 1rem;
}

.v6-photo-action-scan {
  position: absolute;
  z-index: 5;
  left: 13px;
  right: 13px;
  top: 14px;
  height: 2px;
  border-radius: 999px;
  opacity: 0;
  background: linear-gradient(90deg,transparent,#ff3d50 14%,#ffb06d 50%,#ff3d50 86%,transparent);
  box-shadow: 0 0 10px #ff4a4d,0 0 24px rgba(255,107,67,.52);
  pointer-events: none;
}

.v6-photo-ai-stage.is-scanning .v6-photo-action-scan {
  opacity: 1;
  animation: v6PhotoScan 3.2s cubic-bezier(.45,0,.55,1) both;
}

.v6-photo-ai-stage.is-ready .v6-photo-action {
  border-color: rgba(255,139,91,.78);
  box-shadow: 0 26px 76px rgba(0,0,0,.54),0 0 58px rgba(255,72,62,.19),inset 0 1px rgba(255,255,255,.055);
}

.v6-photo-steps {
  position: relative;
  z-index: 3;
  width: min(100%,470px);
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}

.v6-photo-steps span {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 15px;
  color: #8f9099;
  background: rgba(255,255,255,.025);
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .12em;
}

.v6-photo-steps b { color: #ff725f; }

.v6-photo-status {
  position: relative;
  z-index: 4;
  width: min(100%,470px);
  padding: 17px 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 6px 14px;
  border: 1px solid rgba(255,99,73,.24);
  border-radius: 18px;
  background: rgba(8,9,13,.88);
  box-shadow: 0 18px 48px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.045);
  backdrop-filter: blur(16px);
}

.v6-photo-status small {
  grid-column: 1 / -1;
  color: #ff7d68;
  font-size: .53rem;
  font-weight: 950;
  letter-spacing: .18em;
}

.v6-photo-status strong {
  color: #f6f6f8;
  font-size: .87rem;
}

.v6-photo-status span {
  color: #9798a1;
  font-size: .62rem;
  line-height: 1.4;
  text-align: right;
}

.v5-detail-photo .v6-photo-ai-stage {
  width: min(100%,610px);
  min-height: 560px;
}

@keyframes v6ManifestPulse {
  0%,100% {
    opacity: .76;
    transform: translateY(-50%) rotate(18deg) scale(.98);
    filter: drop-shadow(0 0 0 rgba(91,8,17,0));
  }
  50% {
    opacity: 1;
    transform: translateY(-50%) rotate(18deg) scale(1.025);
    filter: drop-shadow(0 0 44px rgba(91,8,17,.18));
  }
}

@keyframes v6ProductPulse {
  0%,100% {
    transform: translate(-50%,-50%) scale(.98);
    border-color: rgba(255,83,61,.11);
    box-shadow: 0 0 52px rgba(255,51,75,.025);
  }
  50% {
    transform: translate(-50%,-50%) scale(1.015);
    border-color: rgba(255,83,61,.23);
    box-shadow: 0 0 84px rgba(255,51,75,.09);
  }
}

@keyframes v6DevicePulse {
  45% {
    box-shadow:
      0 0 0 .42cqw rgba(0,0,0,.94),
      inset .55cqw .45cqw .8cqw rgba(255,255,255,.2),
      inset -.55cqw -.7cqw .9cqw rgba(0,0,0,.78),
      0 0 18cqw rgba(255,59,62,.17);
  }
}

@keyframes v6PhotoOrbit {
  0%,100% { transform: translate(-50%,-50%) scale(.96); opacity: .55; }
  50% { transform: translate(-50%,-50%) scale(1.035); opacity: 1; }
}

@keyframes v6PhotoGlow {
  0%,100% { opacity: .48; transform: translate(-50%,-50%) scale(.9); }
  50% { opacity: .92; transform: translate(-50%,-50%) scale(1.08); }
}

@keyframes v6PhotoButtonBreathe {
  50% { transform: translateY(-2px); box-shadow: 0 16px 38px rgba(255,51,75,.35),inset 0 1px rgba(255,255,255,.34); }
}

@keyframes v6PhotoScan {
  0%,100% { top: calc(100% - 16px); }
  50% { top: 14px; }
}

@media (max-width:560px) {
  .v6-photo-ai-stage {
    min-height: 445px;
    padding: 38px 17px 30px;
    gap: 19px;
    border-radius: 24px;
  }

  .v6-photo-action {
    grid-template-columns: 56px minmax(0,1fr) 30px;
    min-height: 132px;
    padding: 18px 16px;
    gap: 13px;
    border-radius: 22px;
  }

  .v6-photo-icon { width: 54px; height: 54px; border-radius: 18px; }
  .v6-photo-action-copy strong { font-size: 1.12rem; }
  .v6-photo-action-copy em { font-size: .65rem; }
  .v6-photo-action-arrow { width: 30px; height: 30px; }
  .v6-photo-steps span { min-height: 44px; gap: 5px; font-size: .49rem; letter-spacing: .08em; }
  .v6-photo-status { grid-template-columns: 1fr; padding: 14px 15px; }
  .v6-photo-status span { text-align: left; }
  .v5-detail-photo .v6-photo-ai-stage { min-height: 470px; }
}

@media (min-width: 1101px) {
  #innehall .v3-offer-card .v3-offer-brand h2 {
    width: 100%;
    max-width: none;
    font-size: clamp(2.86rem, 3.2vw, 3.36rem);
    line-height: 0.94;
    letter-spacing: -0.055em;
  }

  #innehall .v3-offer-card .v3-offer-brand h2 > span {
    display: block;
    width: 100%;
    white-space: nowrap;
  }

  body[data-page="home"] .v3-loop-section .v3-loop-grid article {
    min-height: 0;
    padding: 22px 22px 20px;
  }

  body[data-page="home"] .v3-loop-section .v3-loop-grid article > span {
    margin-bottom: 28px;
  }

  body[data-page="home"] .v3-loop-section .v3-loop-grid h3 {
    margin: 10px 0 7px;
  }

  body[data-page="home"] .v3-loop-section .v3-loop-grid p {
    line-height: 1.55;
  }
}

@media (prefers-reduced-motion:reduce) {
  .v5-manifest-band::before,
  .v3-product-device::after,
  .v3-product-device.v4-is-switching .pro-device__rail,
  .v6-photo-ai-stage::before,
  .v6-photo-ai-stage::after,
  .v6-photo-icon,
  .v6-photo-ai-stage.is-scanning .v6-photo-action-scan {
    animation: none !important;
  }

  .v6-photo-action { transition: none; }
  .v6-photo-action:hover,
  .v6-photo-action:focus-visible { transform: none; }
}

/* --------------------------------------------------------------------------
   V0.7 MOBILE POLISH
   Neutral graphite surfaces, a real Home app demo and one premium device
   language for Live Coach. Authentic app captures keep their exact geometry.
   -------------------------------------------------------------------------- */

:root {
  --v3-bg: #050505;
  --v3-bg-soft: #080809;
  --v3-surface: #0d0d0f;
  --v3-surface-2: #121214;
  --v5-panel: #0d0d0f;
  --v6-panel: #0d0d0f;
}

html,
body {
  background-color: #050505;
}

body {
  background:
    radial-gradient(circle at 82% 5%,rgba(255,51,75,.07),transparent 32rem),
    radial-gradient(circle at 8% 34%,rgba(255,120,70,.018),transparent 28rem),
    #050505;
}

.v3-product,
.v3-faq-section,
.v3-coach-section,
.v3-avatar-section,
.v3-founder-section,
.v3-loop-section,
.v3-feature-section {
  background: #050505;
}

.v3-loop-grid article,
.v3-feature-card,
.v3-avatar-studio,
.v3-achievement-proof,
.v3-founder-card {
  background:
    radial-gradient(circle at 92% 0,rgba(255,66,58,.075),transparent 35%),
    linear-gradient(150deg,#111113,#09090b 72%);
}

body[data-page="home"] .v3-founder-section .v3-founder-logo {
  width: 62px;
  height: auto;
  min-width: 0;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
  display: block;
  flex: 0 0 auto;
}

body[data-page="home"] .v3-founder-section .v3-founder-logo::before,
body[data-page="home"] .v3-founder-section .v3-founder-logo::after {
  content: none;
  display: none;
}

body[data-page="home"] .v3-founder-section .v3-founder-logo img {
  display: block;
  width: 62px;
  height: auto;
  max-width: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 0 18px rgba(255, 65, 50, 0.28));
}

@media (min-width: 1101px) {
  body[data-page="home"] .v3-founder-section {
    padding-block: clamp(62px, 6vw, 82px);
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card {
    width: min(calc(100% - 48px), 1120px);
    max-width: 1120px;
    margin-inline: auto;
    display: block;
    padding: 40px 44px 38px;
    border-radius: 26px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-brandline {
    display: flex;
    align-items: center;
    gap: 15px;
    margin: 0 0 20px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-brandline .eyebrow {
    margin: 0;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card h2 {
    width: 100%;
    max-width: 1040px;
    margin: 0 0 27px;
    font-size: clamp(3.35rem, 4.5vw, 4.55rem);
    line-height: 0.89;
    letter-spacing: -0.065em;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card h2 span {
    display: block;
    white-space: nowrap;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.82fr);
    gap: 46px;
    align-items: center;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy {
    min-width: 0;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > p {
    max-width: 74ch;
    margin: 0;
    font-size: 1rem;
    line-height: 1.58;
    text-wrap: pretty;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > strong {
    display: block;
    margin-top: 13px;
    font-size: 0.94rem;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card blockquote {
    width: 100%;
    max-width: 360px;
    margin: 0;
    padding: 7px 0 7px 22px;
    border-left: 2px solid rgba(255, 74, 58, 0.68);
    font-size: clamp(1.08rem, 1.35vw, 1.27rem);
    line-height: 1.46;
    align-self: center;
  }
}

/* --------------------------------------------------------------------------
   V0.7 features: local typographic and spacing constraints on feature copy.
   These rules are intentionally scoped to the features page to avoid global
   impacts while enabling the refreshed copy layout.
   -------------------------------------------------------------------------- */

body[data-page="features"] .v3-detail-copy h2 > span,
body[data-page="features"] .nox-inline-cta h2 > span {
  display: block;
}

/* Keep the two approved About headings as two intentional text rows. */
body[data-page="about"] .v3-about-system .v3-title > span,
body[data-page="about"] .v3-about-journey .v3-title > span {
  display: block;
}

@media (min-width: 821px) {
  body[data-page="about"] .v3-about-system .v3-title,
  body[data-page="about"] .v3-about-journey .v3-title {
    width: 100%;
    max-width: none;
    max-inline-size: none;
  }

  body[data-page="about"] .v3-about-journey .v3-section-head {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  body[data-page="about"] .v3-about-system .v3-title > span,
  body[data-page="about"] .v3-about-journey .v3-title > span {
    white-space: nowrap;
  }
}

/* --------------------------------------------------------------------------
   OM: Lägg alla delar i "ALLT HÄNGER IHOP"-rubriken på exakt två rader.
   -------------------------------------------------------------------------- */
body[data-page="about"] .v3-principle-band .container > div > h2,
body[data-page="about"] .v3-principle-band .container > div > h2 > span {
  width: 100%;
  max-width: none;
  max-inline-size: none;
}

body[data-page="about"] .v3-principle-band .container > div > h2 > span {
  display: block;
  white-space: nowrap;
}

body[data-page="about"] .v3-principle-band .container > div > h2 > span:first-child {
  color: #f8f8fa;
  background: none;
  background-image: none;
  background-clip: initial;
  -webkit-background-clip: initial;
  -webkit-text-fill-color: initial;
}

body[data-page="about"] .v3-principle-band .container > div > h2 > span:last-child {
  color: transparent !important;
  background: var(--v3-gradient-text);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 0 !important;
}

@media (min-width: 1101px) {
  body[data-page="features"] .v3-detail-row,
  body[data-page="features"] .v3-avatar-detail-row {
    min-height: 0;
    padding-block: clamp(76px, 7vw, 96px);
  }

  body[data-page="features"] .v3-detail-copy {
    min-width: 0;
  }

  body[data-page="features"] .v3-detail-copy h2 {
    max-inline-size: none;
    font-size: clamp(3.05rem, 4.35vw, 4.5rem);
    line-height: 0.92;
  }

  body[data-page="features"] .v3-detail-copy h2 > span {
    white-space: nowrap;
  }

  body[data-page="features"] #pass-djup .v3-detail-copy h2 > span,
  body[data-page="features"] #avatar-djup .v3-detail-copy h2 > span {
    display: block;
    white-space: nowrap;
  }

  body[data-page="features"] .v3-detail-copy > p {
    max-width: 720px;
    line-height: 1.65;
  }
}

body[data-page="features"] .plain-check--expanded {
  min-width: 0;
}

body[data-page="contact"] .contact-cards article,
body[data-page="contact"] .contact-form {
  background: linear-gradient(150deg, #111117, #0a0b10) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 24px 58px rgba(0,0,0,.36) !important;
}

body[data-page="contact"] .contact-form input,
body[data-page="contact"] .contact-form textarea,
body[data-page="contact"] .contact-form select {
  background: #080a0a !important;
  border-color: rgba(255,255,255,.14) !important;
  color: #f5f5f7 !important;
}

body[data-page="contact"] .contact-form input:focus,
body[data-page="contact"] .contact-form textarea:focus,
body[data-page="contact"] .contact-form select:focus {
  border-color: rgba(255,101,79,.62) !important;
  box-shadow: 0 0 0 3px rgba(255,69,57,.1) !important;
}

body[data-page="features"] .plain-check--expanded li {
  min-width: 0;
  line-height: 1.5;
  break-inside: avoid;
}

@media (min-width: 1200px) {
  body[data-page="features"] .plain-check--expanded {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 24px;
    row-gap: 10px;
    align-items: start;
  }
}

@media (max-width: 1199px) {
  body[data-page="features"] .plain-check--expanded {
    grid-template-columns: 1fr;
  }
}

body[data-page="features"] #foto-ai-djup .v3-detail-copy h2 > span {
  white-space: nowrap;
}

body[data-page="features"] #foto-ai-djup .v6-photo-steps {
  grid-template-columns: 0.82fr 1.36fr 1fr;
}

body[data-page="features"] #foto-ai-djup .v6-photo-steps span {
  white-space: nowrap;
}

@media (min-width: 1280px) {
  body[data-page="features"] .nox-inline-cta h2 > span {
    white-space: nowrap;
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  body[data-page="home"] .v3-founder-section {
    padding-block: 56px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card {
    width: min(calc(100% - 36px), 980px);
    max-width: 980px;
    margin-inline: auto;
    display: block;
    padding: 34px 34px 32px;
    border-radius: 24px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-brandline {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-bottom: 18px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-logo,
  body[data-page="home"] .v3-founder-section .v3-founder-logo img {
    width: 54px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-brandline .eyebrow {
    margin: 0;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card h2 {
    width: 100%;
    max-width: none;
    margin: 0 0 23px;
    font-size: clamp(2.85rem, 5.4vw, 3.7rem);
    line-height: 0.9;
    letter-spacing: -0.062em;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card h2 span {
    display: block;
    white-space: nowrap;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(245px, 0.78fr);
    gap: 30px;
    align-items: center;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > p {
    margin: 0;
    font-size: 0.96rem;
    line-height: 1.56;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > strong {
    display: block;
    margin-top: 12px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card blockquote {
    margin: 0;
    padding: 6px 0 6px 19px;
    border-left: 2px solid rgba(255, 74, 58, 0.68);
    font-size: 1.04rem;
    line-height: 1.45;
  }
}

@media (max-width: 820px) {
  body[data-page="home"] .v3-founder-section {
    padding-block: 48px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card {
    width: calc(100% - 24px);
    max-width: none;
    margin-inline: auto;
    display: block;
    padding: 23px;
    border-radius: 22px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-brandline {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-bottom: 17px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-logo,
  body[data-page="home"] .v3-founder-section .v3-founder-logo img {
    width: 50px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-brandline .eyebrow {
    margin: 0;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card h2 {
    width: 100%;
    max-width: none;
    margin: 0 0 18px;
    font-size: clamp(2.12rem, 8.8vw, 2.75rem);
    line-height: 0.91;
    letter-spacing: -0.06em;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card h2 span {
    display: block;
    white-space: normal;
    text-wrap: balance;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-bottom {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > p {
    max-width: none;
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.52;
    text-wrap: pretty;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > strong {
    display: block;
    margin-top: 11px;
    font-size: 0.87rem;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card blockquote {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 5px 0 5px 17px;
    border-left: 2px solid rgba(255, 74, 58, 0.68);
    font-size: 1rem;
    line-height: 1.44;
  }
}

@media (max-width: 560px) {
  body[data-page="home"] .v3-founder-section {
    padding-block: 44px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card {
    width: calc(100% - 20px);
    padding: 19px;
    border-radius: 20px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-brandline {
    gap: 10px;
    margin-bottom: 15px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-logo,
  body[data-page="home"] .v3-founder-section .v3-founder-logo img {
    width: 44px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card h2 {
    margin-bottom: 15px;
    font-size: clamp(2rem, 8.2vw, 2.38rem);
    line-height: 0.92;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-bottom {
    gap: 15px;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > p {
    font-size: 0.9rem;
    line-height: 1.48;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-copy > strong {
    margin-top: 10px;
    font-size: 0.84rem;
  }

  body[data-page="home"] .v3-founder-section .v3-founder-card blockquote {
    padding-left: 15px;
    font-size: 0.96rem;
    line-height: 1.42;
  }
}

/* The hero bitmap never moves or changes size. Motion lives in this overlay. */
.v7-home-demo-screen {
  position: relative;
  isolation: isolate;
}

.v7-home-demo-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  border-radius: inherit;
  pointer-events: none;
}

/* The lower scroll story is a second app demo, not a screenshot stack. Its
   coach-free Home render is the single full-size base, while the approved
   coach, orbit and XP motion live above it. Keep this scoped away from the
   locked hero demo. */
.v7-product-home-demo {
  isolation: isolate;
  background-color: #020204 !important;
  background-image: url("assets/app/v07/home-avatar-coach-cleanup-v07.png?v=2") !important;
  background-repeat: no-repeat !important;
  background-position: center top !important;
  background-size: 100% 100% !important;
}

.product-screen.v7-product-home-demo > .v7-product-home-base {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: fill !important;
  object-position: center top !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  background: transparent !important;
  pointer-events: none !important;
}

.v7-product-home-demo > .v7-home-demo-layer {
  z-index: 3 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

.v7-product-home-demo .v7-home-demo-layer > .v7-avatar-card-coach {
  height: auto !important;
  max-height: none !important;
  background: transparent !important;
}

/* Only the original baked presenter is cleaned away. The approved Home UI,
   card chrome, platform, CTA and buttons remain the original pixels. */
.v7-avatar-cleanup {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: fill !important;
  pointer-events: none;
}

.phone-screen .v7-home-demo-layer > .v7-avatar-card-coach,
.v7-product-home-demo .v7-home-demo-layer > .v7-avatar-card-coach {
  position: absolute;
  left: 6.15%;
  top: 11.77%;
  z-index: 3;
  display: block;
  width: 27.1% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: drop-shadow(0 8px 10px rgba(0,0,0,.32));
  transform-origin: 50% 100%;
  pointer-events: none;
}

.v7-avatar-orbit-field {
  position: absolute;
  left: 1.7%;
  top: 12.1%;
  width: 34%;
  height: 21.4%;
  overflow: hidden;
  border-radius: 7% 5% 16% 16%;
  pointer-events: none;
}

.v7-avatar-orbit-field--rear {
  z-index: 2;
  opacity: .5;
}

.v7-avatar-orbit-field--front {
  z-index: 4;
  opacity: .82;
}

.v7-avatar-orbit-field > i {
  --v7-avatar-orbit-angle: 0deg;
  position: absolute;
  left: 50%;
  top: 101%;
  display: block;
  width: 96%;
  height: 10%;
  border-radius: 50%;
  background: conic-gradient(
    from var(--v7-avatar-orbit-angle),
    transparent 0 12%,
    rgba(255,104,78,.84) 19% 29%,
    transparent 36% 58%,
    rgba(255,67,69,.2) 65%,
    rgba(255,139,84,.68) 75% 85%,
    transparent 92% 100%
  );
  -webkit-mask: radial-gradient(farthest-side,transparent calc(100% - 1.15px),#000 calc(100% - .35px));
  mask: radial-gradient(farthest-side,transparent calc(100% - 1.15px),#000 calc(100% - .35px));
  filter: drop-shadow(0 0 4px rgba(255,91,69,.34));
  opacity: 0;
  transform: translate(-50%,-50%);
  animation:
    v7AvatarOrbitRise 6.6s cubic-bezier(.42,.06,.35,.98) infinite,
    v7AvatarOrbitRun 2.4s linear infinite;
}

.v7-avatar-orbit-field--rear > i {
  clip-path: inset(0 0 50% 0);
}

.v7-avatar-orbit-field--front > i {
  clip-path: inset(50% 0 0 0);
}

.v7-avatar-orbit-field > i:nth-child(2) {
  animation-delay: -2.2s,-.8s;
}

.v7-avatar-orbit-field > i:nth-child(3) {
  animation-delay: -4.4s,-1.6s;
}

.v7-avatar-orbit {
  --v7-avatar-orbit-angle: 0deg;
  position: absolute;
  left: 2.1%;
  top: 29.2%;
  width: 33%;
  height: 3%;
  z-index: 2;
  border-radius: 50%;
  background: conic-gradient(
    from var(--v7-avatar-orbit-angle),
    transparent 0 44%,
    rgba(255,112,84,.08) 50%,
    rgba(255,112,84,.86) 61%,
    rgba(224,116,83,.6) 70%,
    transparent 79% 100%
  );
  -webkit-mask: radial-gradient(farthest-side,transparent calc(100% - 1.25px),#000 calc(100% - .35px));
  mask: radial-gradient(farthest-side,transparent calc(100% - 1.25px),#000 calc(100% - .35px));
  opacity: .78;
  filter: drop-shadow(0 0 4px rgba(255,112,84,.3));
  animation:
    v7AvatarOrbitRun 5.8s linear infinite,
    v7AvatarOrbitBreathe 2.9s ease-in-out infinite;
}

.v7-xp-track {
  position: absolute;
  /* Pixel-locked to the real 1320 x 2544 XP rail in home-avatar.png. */
  left: 39.55%;
  top: 30.74%;
  width: 56.3%;
  height: .78%;
  overflow: visible;
  z-index: 5;
  border-radius: 999px;
  opacity: 0;
  background: rgba(255,255,255,.09);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.26);
  animation: v7XpTrack 8.6s ease-in-out infinite;
}

.v7-xp-track > i {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 3px;
  overflow: hidden;
  transform: scaleX(.015);
  transform-origin: left center;
  border-radius: inherit;
  background: linear-gradient(90deg,#ee4249 0%,#ff7054 28%,#ff935d 54%,#f2c968 75%,#42d78b 100%);
  filter: drop-shadow(0 0 4px rgba(255,112,84,.52)) drop-shadow(0 0 8px rgba(242,201,104,.24));
  animation:
    v7XpFill 8.6s cubic-bezier(.2,.8,.2,1) infinite,
    v7XpPulse 2.8s ease-in-out infinite;
}

.v7-xp-track > i::after {
  content: "";
  position: absolute;
  inset: -2px auto -2px -34%;
  width: 28%;
  border-radius: inherit;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
  transform: skewX(-18deg);
  animation: v7XpSheen 8.6s cubic-bezier(.4,0,.2,1) infinite;
}

.v7-xp-gain {
  position: absolute;
  z-index: 6;
  left: 78%;
  top: 26.65%;
  opacity: 0;
  transform: translate(-50%,8px) scale(.9);
  animation: v7XpGain 8.6s cubic-bezier(.18,.9,.2,1.18) infinite;
}

.v7-xp-gain > b {
  position: relative;
  display: block;
  padding: .42em .72em;
  border: 1px solid rgba(255,124,84,.48);
  border-radius: 999px;
  color: #fff8f1;
  background: linear-gradient(115deg,rgba(255,51,75,.94),rgba(255,120,70,.94));
  box-shadow: 0 7px 18px rgba(255,49,67,.26),inset 0 1px rgba(255,255,255,.25);
  font-size: clamp(.36rem,2.15cqw,.62rem);
  font-weight: 950;
  letter-spacing: .07em;
  white-space: nowrap;
}

.v7-xp-gain > b::before,
.v7-xp-gain > b::after {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid rgba(255,255,255,.46);
  border-radius: inherit;
  opacity: 0;
  pointer-events: none;
  animation: v7XpImpactRing 8.6s ease-out infinite;
}

.v7-xp-gain > b::after {
  animation-delay: .14s;
}

.v7-xp-gain::before,
.v7-xp-gain::after {
  content: "";
  position: absolute;
  z-index: 4;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 7px rgba(255,255,255,.9);
  opacity: 0;
  pointer-events: none;
  animation: v7XpSpark 8.6s ease-out infinite;
}

.v7-xp-gain::before {
  left: 8%;
  top: -3px;
  --v7-spark-x: -7px;
  --v7-spark-y: -12px;
}

.v7-xp-gain::after {
  right: 7%;
  bottom: -2px;
  --v7-spark-x: 8px;
  --v7-spark-y: 11px;
  animation-delay: .12s;
}

.v7-xp-burst {
  position: absolute;
  z-index: 5;
  left: 78%;
  top: 27.3%;
  width: 15%;
  height: 2.8%;
  border: 1px solid rgba(255,123,82,.66);
  border-radius: 999px;
  opacity: 0;
  box-shadow: 0 0 18px rgba(255,64,60,.3);
  transform: translate(-50%,-50%) scale(.72);
  animation: v7XpBurst 8.6s ease-out infinite;
}

body[data-page="features"] .v3-inner-visual > .v3-float-card {
  bottom: auto;
  top: 50%;
  right: -58px;
  transform: translateY(-50%);
}

@media (min-width: 1051px) {
  body[data-page="features"] .v3-inner-visual > .v3-float-card {
    top: 50%;
    right: -58px;
    bottom: auto;
    transform: translateY(-50%);
  }
}

@media (min-width: 821px) and (max-width: 1050px) {
  body[data-page="features"] .v3-inner-visual > .v3-float-card {
    top: 48%;
    right: -28px;
    bottom: auto;
    transform: translateY(-50%);
  }
}

@media (min-width: 561px) and (max-width: 820px) {
  body[data-page="features"] .v3-inner-visual > .v3-float-card {
    top: 43%;
    right: 1vw;
    bottom: auto;
    transform: translateY(-50%);
  }
}

@media (max-width: 560px) {
  body[data-page="features"] .v3-inner-visual > .v3-float-card {
    top: 17%;
    right: auto;
    left: 17%;
    bottom: auto;
    transform: translateY(0);
    max-width: 150px;
    text-align: left;
  }
}

/* Hero presenters and decision cards sit in front of the device like a live demo. */
/* Lock hero layer order: cards (top), coaches (middle), phone (base). */
.v3-hero-stage {
  pointer-events: none;
  position: relative;
  isolation: isolate;
  transform-style: flat;
  perspective: 1400px;
  overflow: visible;
  --hero-rx: 0deg !important;
  --hero-ry: 0deg !important;
  transform: none !important;
}

.v3-hero-stage .v3-stage-orbit {
  z-index: 10 !important;
  animation: none !important;
  pointer-events: none !important;
}

.v3-hero-stage .v3-stage-orbit-a,
.v3-hero-stage .v3-stage-orbit-b {
  animation: none !important;
}

.v3-hero-stage .v3-presenter,
.v3-hero-stage .v3-presenter-man,
.v3-hero-stage .v3-presenter-woman {
  transition: none !important;
  will-change: transform;
}

.v3-hero-stage .phone-shell.v3-hero-phone {
  transform: translate(-50%, -50%) !important;
  transition: none !important;
  animation: v3HeroPhoneFloat 6.2s ease-in-out infinite !important;
  animation-delay: -2.2s !important;
  will-change: transform;
}

.v3-hero-stage .v3-float-card {
  animation: v3Float 5s ease-in-out infinite !important;
  animation-fill-mode: both !important;
}

.v3-hero-stage .v3-float-card-b {
  animation: v3Float 5.8s ease-in-out infinite reverse !important;
  animation-fill-mode: both !important;
}

@keyframes v3Float {
  0%,100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes v3CoachFloat {
  0%,100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
}

@keyframes v3CoachFloatReverse {
  0%,100% {
    transform: translateY(-3px);
  }
  50% {
    transform: translateY(4px);
  }
}

@keyframes v3HeroPhoneFloat {
  0%,100% {
    transform: translate3d(-50%, -50%, 0);
  }
  50% {
    transform: translate3d(-50%, calc(-50% - 7px), 0);
  }
}

.v3-hero-stage .v3-float-card {
  z-index: 80 !important;
  isolation: isolate;
  overflow: hidden;
  border-color: rgba(255,112,84,.26);
  background:
    radial-gradient(circle at 12% 0,rgba(255,116,78,.13),transparent 46%),
    linear-gradient(145deg,rgba(20,20,24,.94),rgba(8,8,10,.91));
  box-shadow:
    0 18px 42px rgba(0,0,0,.48),
    0 0 26px rgba(255,64,60,.075),
    inset 0 1px rgba(255,255,255,.075);
}

.v3-hero-stage .v3-float-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg,transparent,#ff4555 34%,#ff8b61 70%,transparent);
  box-shadow: 0 0 12px rgba(255,86,72,.5);
}

.v3-hero-stage .v3-float-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -80% -34%;
  background: linear-gradient(112deg,transparent 40%,rgba(255,255,255,.055) 49%,transparent 58%);
  transform: translateX(-36%);
}

.v3-hero-stage .v3-float-card small {
  color: #ff806b;
  text-shadow: 0 0 12px rgba(255,92,73,.38);
}

.v3-hero-stage .v3-float-card-b {
  min-width: 220px;
}

.v3-hero-stage .v3-float-card-b small {
  color: #ffb06a;
  text-shadow: 0 0 12px rgba(255,149,79,.32);
}

.v3-hero-stage .v3-float-card strong {
  color: #fffaf7;
  letter-spacing: -.01em;
}

.v3-hero-stage .v3-float-card-b strong {
  white-space: nowrap;
}

.v3-hero-stage .v3-presenter-man,
.v3-hero-stage .v3-presenter-woman {
  z-index: 60 !important;
  animation: v3CoachFloat 8.5s ease-in-out infinite !important;
  animation-delay: -2.1s;
}

.v3-hero-stage .v3-presenter-woman {
  animation: v3CoachFloatReverse 9.2s ease-in-out infinite !important;
  animation-delay: -5.4s;
}

.v3-hero-stage .v3-presenter-man {
  left: -112px;
}

.v3-hero-stage .v3-presenter-woman {
  right: -84px;
}

.v3-hero-stage .phone-shell.v3-hero-phone {
  z-index: 40 !important;
  transform-origin: center center !important;
}

/* Live Coach now uses the same content-safe chassis as every full app screen. */
.v7-coach-device {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 50%;
  width: min(40%,330px);
  display: grid;
  justify-items: center;
  gap: 14px;
  transform: translate(-50%,-50%);
}

.v7-coach-device .phone-shell {
  width: 100%;
}

.v7-coach-device > span {
  position: static;
  display: block;
  max-width: 100%;
  padding: 10px 13px;
  border: 1px solid rgba(255,105,75,.26);
  border-radius: 999px;
  color: #ff7c68;
  background: rgba(7,7,8,.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 14px 32px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.05);
  font-size: .56rem;
  font-weight: 950;
  letter-spacing: .17em;
  line-height: 1.35;
  text-align: center;
}

.v7-coach-device--detail {
  position: relative;
  inset: auto;
  width: min(100%,330px);
  margin: auto;
  transform: none;
}

.v5-detail-coach {
  min-height: 0;
  display: grid;
  place-items: center;
}

@keyframes v7AvatarOrbitBreathe {
  0%,100% { opacity: .5; filter: drop-shadow(0 0 2px rgba(255,82,60,.18)); }
  50% { opacity: 1; filter: drop-shadow(0 0 6px rgba(255,82,60,.42)); }
}

@keyframes v7AvatarOrbitRise {
  0% {
    top: 101%;
    width: 100%;
    height: 10%;
    opacity: 0;
    transform: translate(-50%,-50%);
  }
  8% { opacity: .76; }
  68% { opacity: .62; }
  92% {
    top: 12%;
    width: 56%;
    height: 6.8%;
    opacity: .2;
  }
  100% {
    top: 3%;
    width: 48%;
    height: 5.5%;
    opacity: 0;
    transform: translate(-50%,-50%);
  }
}

@property --v7-avatar-orbit-angle {
  syntax: "<angle>";
  initial-value: 0deg;
  inherits: false;
}

@keyframes v7AvatarOrbitRun {
  to { --v7-avatar-orbit-angle: 360deg; }
}

@keyframes v7XpTrack {
  0%,37%,91%,100% { opacity: 0; }
  42%,86% { opacity: 1; }
}

@keyframes v7XpFill {
  0%,40% { transform: scaleX(.015); }
  58%,86% { transform: scaleX(.425); }
  94%,100% { transform: scaleX(.015); }
}

@keyframes v7DecisionCardSheen {
  0%,62%,100% { transform: translateX(-36%); opacity: 0; }
  70% { opacity: .75; }
  86% { transform: translateX(36%); opacity: 0; }
}

@keyframes v7XpPulse {
  0%,100% { filter: drop-shadow(0 0 3px rgba(255,112,84,.42)) drop-shadow(0 0 7px rgba(242,201,104,.16)); }
  50% { filter: drop-shadow(0 0 5px rgba(255,112,84,.66)) drop-shadow(0 0 11px rgba(66,215,139,.28)); }
}

@keyframes v7XpSheen {
  0%,43% { left: -34%; opacity: 0; }
  48% { opacity: .85; }
  64% { left: 112%; opacity: 0; }
  100% { left: 112%; opacity: 0; }
}

@keyframes v7XpGain {
  0%,39%,87%,100% { opacity: 0; transform: translate(-50%,-14px) scale(.62); }
  48% { opacity: 1; transform: translate(-50%,4px) scale(1.08); }
  55%,76% { opacity: 1; transform: translate(-50%,0) scale(1); }
  84% { opacity: 0; transform: translate(-50%,-8px) scale(.96); }
}

@keyframes v7XpImpactRing {
  0%,41% { opacity: 0; transform: scale(.72); }
  48% { opacity: .68; transform: scale(.82); }
  62%,100% { opacity: 0; transform: scale(1.34); }
}

@keyframes v7XpSpark {
  0%,42% { opacity: 0; transform: translate(0,0) scale(.4); }
  49% { opacity: 1; }
  62%,100% { opacity: 0; transform: translate(var(--v7-spark-x),var(--v7-spark-y)) scale(1); }
}

@keyframes v7XpBurst {
  0%,41% { opacity: 0; transform: translate(-50%,-50%) scale(.72); }
  49% { opacity: .68; transform: translate(-50%,-50%) scale(.86); }
  64%,100% { opacity: 0; transform: translate(-50%,-50%) scale(1.55); }
}

@media (max-width:820px) {
  .v3-coach-stage .v7-coach-device { width: min(46vw,270px); }

  .v3-hero-stage .v3-presenter-man {
    left: -6vw;
  }

  .v3-hero-stage .v3-presenter-woman {
    right: -4vw;
  }
}

@media (min-width: 561px) and (max-width: 1100px) {
  .v5-manifest-band {
    min-height: 0;
  }

  .v5-manifest-band .container {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding-top: clamp(48px, 5.5vw, 62px);
    padding-right: clamp(42px, 6vw, 68px);
    padding-bottom: clamp(50px, 5.8vw, 66px);
    padding-left: clamp(42px, 6vw, 68px);
  }

  .v5-manifest-band .eyebrow {
    width: 100%;
    margin: 0;
    font-size: clamp(0.76rem, 1.2vw, 0.9rem);
    line-height: 1;
    letter-spacing: 0.17em;
  }

  .v5-manifest-band h2 {
    width: 100%;
    max-width: none;
    margin: 14px 0 18px;
    line-height: 0.78;
  }

  .v5-manifest-band h2 span,
  .v5-manifest-band h2 b {
    display: block;
    white-space: nowrap;
  }

  .v5-manifest-band h2 span:nth-child(1) {
    font-size: clamp(4.4rem, 11.4vw, 7.7rem);
    letter-spacing: -0.07em;
  }

  .v5-manifest-band h2 span:nth-child(2) {
    font-size: clamp(4.3rem, 11.1vw, 7.5rem);
    letter-spacing: -0.07em;
  }

  .v5-manifest-band h2 b {
    font-size: clamp(3rem, 8.2vw, 5.5rem);
    line-height: 0.92;
    letter-spacing: -0.065em;
  }

  .v5-manifest-band .container > p:last-child {
    width: 72%;
    max-width: 68ch;
    margin: 0;
    font-size: clamp(0.94rem, 1.45vw, 1.05rem);
    line-height: 1.47;
    letter-spacing: -0.01em;
    text-wrap: pretty;
  }
}

@media (max-width:560px) {
  .v5-manifest-band {
    min-height: 0;
  }

  .v5-manifest-band .container {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding-top: 42px;
    padding-right: 16px;
    padding-bottom: 44px;
    padding-left: 16px;
  }

  .v5-manifest-band .eyebrow {
    width: 100%;
    margin: 0;
    font-size: 0.73rem;
    line-height: 1;
    letter-spacing: 0.15em;
  }

  .v5-manifest-band h2 {
    width: 100%;
    max-width: none;
    margin: 13px 0 18px;
    line-height: 0.79;
  }

  .v5-manifest-band h2 span,
  .v5-manifest-band h2 b {
    display: block;
    white-space: nowrap;
  }

  .v5-manifest-band h2 span:nth-child(1) {
    font-size: clamp(3.25rem, 16.6vw, 4.1rem);
    letter-spacing: -0.07em;
  }

  .v5-manifest-band h2 span:nth-child(2) {
    font-size: clamp(3.1rem, 15.2vw, 3.85rem);
    letter-spacing: -0.07em;
  }

  .v5-manifest-band h2 b {
    font-size: clamp(2.1rem, 10.7vw, 2.7rem);
    line-height: 0.94;
    letter-spacing: -0.07em;
  }

  body[data-page="home"] .v5-manifest-band--final h2 {
    width: 100%;
    max-width: none;
    margin: 12px 0 18px;
    line-height: 0.82;
  }

  body[data-page="home"] .v5-manifest-band--final h2 span,
  body[data-page="home"] .v5-manifest-band--final h2 b {
    display: block;
    width: 100%;
    max-width: 100%;
    white-space: nowrap;
  }

  body[data-page="home"] .v5-manifest-band--final h2 span:nth-child(1) {
    font-size: clamp(2.15rem, 11.2vw, 3.2rem);
    line-height: 0.86;
    letter-spacing: -0.065em;
  }

  body[data-page="home"] .v5-manifest-band--final h2 span:nth-child(2) {
    font-size: clamp(2.1rem, 10.6vw, 3rem);
    line-height: 0.86;
    letter-spacing: -0.065em;
  }

  body[data-page="home"] .v5-manifest-band--final h2 b {
    font-size: clamp(1.95rem, 9.4vw, 2.65rem);
    line-height: 0.94;
    letter-spacing: -0.06em;
  }

  .v5-manifest-band .container > p:last-child {
    width: 100%;
    max-width: none;
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.43;
    letter-spacing: -0.01em;
    text-wrap: pretty;
  }

  .v3-loop-grid article {
    min-height: 0;
    padding: 23px;
  }

  .v3-loop-grid article > span {
    margin-bottom: 22px;
    font-size: 2.65rem;
  }

  .v6-photo-ai-stage,
  .v5-detail-photo .v6-photo-ai-stage {
    min-height: 0;
    padding-block: 28px 24px;
    gap: 15px;
  }

  .v6-photo-action {
    min-height: 118px;
  }

  .v3-coach-stage {
    min-height: 530px;
  }

  .v3-hero-stage {
    min-height: clamp(470px,76svh,560px);
  }

  .v3-hero-stage .v3-presenter-man {
    left: -7vw;
  }

  .v3-hero-stage .v3-presenter-woman {
    right: -5vw;
  }

  .v3-hero-stage .v3-float-card {
    max-width: none;
    padding: 11px 13px 11px 15px;
    border-radius: 16px;
  }

  .v3-hero-stage .v3-float-card-a {
    right: 0;
  }

  .v3-hero-stage .v3-float-card-b {
    left: 0;
    min-width: 204px;
  }

  .v3-hero-stage .v3-float-card-b strong {
    font-size: .72rem;
  }

  .v3-coach-stage .v7-coach-device {
    width: min(54vw,235px);
    gap: 10px;
  }

  .v7-coach-device > span {
    padding: 8px 10px;
    font-size: .48rem;
    letter-spacing: .13em;
  }

  .v7-coach-device--detail {
    width: min(82vw,330px);
  }

  .v3-founder-card,
  .v3-avatar-studio,
  .v3-achievement-proof {
    padding: 22px;
  }

  .v3-faq-section {
    padding-block: 64px;
  }

  .v3-final-cta {
    padding-block: 58px;
  }
}

@media (prefers-reduced-motion:reduce) {
  .v7-avatar-orbit,
  .v7-avatar-orbit-field > i,
  .v7-avatar-orbit-runner,
  .v7-xp-track,
  .v7-xp-track > i,
  .v7-xp-gain,
  .v7-xp-burst {
    animation: none !important;
  }

  .v7-xp-track > i::after,
  .v7-xp-gain::before,
  .v7-xp-gain::after,
  .v7-xp-gain > b::before,
  .v7-xp-gain > b::after,
  .v3-hero-stage .v3-float-card::after {
    animation: none !important;
  }

  .v7-avatar-orbit { opacity: .38; }
  .v7-avatar-orbit-field > i { opacity: .22; }
  .v7-avatar-orbit-field > i:nth-child(1) { top: 82%; transform: translateX(-50%) scale(1,.92); }
  .v7-avatar-orbit-field > i:nth-child(2) { top: 47%; transform: translateX(-50%) scale(.78,.84); }
  .v7-avatar-orbit-field > i:nth-child(3) { top: 13%; transform: translateX(-50%) scale(.6,.78); }
  .v7-xp-track,
  .v7-xp-gain,
  .v7-xp-burst { display: none; }
}

/* --------------------------------------------------------------------------
   V0.7 PRODUCT SCROLL STORY
   Five real app views become one controlled, mobile-first performance demo.
   This block is intentionally namespaced to the product showcase: the approved
   Home hero/demo above it is never selected or altered here.
   -------------------------------------------------------------------------- */

.v3-product[data-product-showcase] {
  --v7-story-rx: 1.2deg;
  --v7-story-ry: -3.2deg;
  --v7-story-shift: 0px;
  position: relative;
  overflow: clip;
  isolation: isolate;
}

/* The product story is controlled by scroll on mobile and by explicit tabs on
   desktop. Legacy autoplay meters and pause buttons must never reappear. */
.v3-product[data-product-showcase] .v5-cycle-controls {
  display: none !important;
}

.v3-product[data-product-showcase]::before {
  content: "";
  position: absolute;
  inset: 7% -18% auto;
  height: 58%;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 73% 42%,rgba(255,69,62,.105),transparent 38%),
    linear-gradient(105deg,transparent 34%,rgba(255,104,65,.018),transparent 66%);
  filter: blur(12px);
}

.v3-product[data-product-showcase] .v3-product-grid {
  grid-template-columns: minmax(0,1fr) minmax(360px,.78fr);
  grid-template-rows: auto minmax(0,1fr);
  align-items: start;
  perspective: 1600px;
}

.v3-product[data-product-showcase] .v7-product-intro {
  grid-column: 1;
  grid-row: 1;
}

.v3-product[data-product-showcase] .v7-product-step-list {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
}

.v3-product[data-product-showcase] .v7-product-step-list > .text-link {
  display: inline-flex;
  margin-top: 24px;
}

.v3-product[data-product-showcase] .v3-product-device {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  transform-style: preserve-3d;
}

.v3-product[data-product-showcase] .v3-product-phone {
  position: relative;
  z-index: 3;
  transform:
    perspective(1500px)
    translate3d(0,var(--v7-story-shift),24px)
    rotateX(var(--v7-story-rx))
    rotateY(var(--v7-story-ry));
  transform-origin: 50% 78%;
  transform-style: preserve-3d;
  filter: drop-shadow(0 34px 34px rgba(0,0,0,.54));
  transition:
    transform .88s cubic-bezier(.16,.78,.18,1),
    filter .6s ease;
  will-change: transform;
}

.v3-product[data-active-product="home"] { --v7-story-rx: 1.1deg; --v7-story-ry: -3.4deg; }
.v3-product[data-active-product="meso"] { --v7-story-rx: .4deg; --v7-story-ry: 2.8deg; }
.v3-product[data-active-product="pass"] { --v7-story-rx: -.8deg; --v7-story-ry: -2deg; }
.v3-product[data-active-product="nutrition"] { --v7-story-rx: .8deg; --v7-story-ry: 3.2deg; }
.v3-product[data-active-product="lab"] { --v7-story-rx: -.3deg; --v7-story-ry: -2.6deg; }

.v3-product[data-product-showcase] .pro-device__media .product-screen {
  filter: saturate(.86) brightness(.78);
  transform: translate3d(0,1.2%,0) scale(.988);
  transition:
    opacity .48s cubic-bezier(.2,.72,.2,1),
    transform .7s cubic-bezier(.16,.78,.18,1),
    filter .55s ease,
    visibility .48s step-end;
}

.v3-product[data-product-showcase] .pro-device__media .product-screen.is-active {
  filter: none;
  transform: translate3d(0,0,0) scale(1);
  transition:
    opacity .48s cubic-bezier(.2,.72,.2,1),
    transform .7s cubic-bezier(.16,.78,.18,1),
    filter .55s ease,
    visibility 0s;
}

.v7-product-scene {
  position: absolute;
  z-index: -1;
  inset: 9% -24% 8%;
  pointer-events: none;
  transform: translateZ(-30px);
  transform-style: preserve-3d;
}

.v7-product-scene::before,
.v7-product-scene::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  pointer-events: none;
  transform: translate(-50%,-50%);
}

.v7-product-scene::before {
  width: 88%;
  aspect-ratio: 1;
  background: radial-gradient(circle,rgba(255,61,68,.105),rgba(255,104,65,.022) 38%,transparent 67%);
  filter: blur(18px);
  animation: v7ProductSceneBreathe 6.8s ease-in-out infinite;
}

.v7-product-scene::after {
  width: 78%;
  aspect-ratio: 1.75;
  border: 1px solid rgba(255,84,66,.16);
  box-shadow: 0 0 54px rgba(255,54,66,.035),inset 0 0 38px rgba(255,100,65,.02);
  transform: translate(-50%,-50%) rotateX(66deg) rotateZ(-4deg);
  animation: v7ProductSceneOrbit 12s linear infinite;
}

.v7-product-scene > i {
  position: absolute;
  left: 50%;
  top: 50%;
  display: block;
  width: 66%;
  aspect-ratio: 2.25;
  border: 1px solid rgba(255,93,68,.11);
  border-left-color: rgba(255,125,76,.38);
  border-radius: 50%;
  transform: translate(-50%,-50%) rotateX(68deg) rotateZ(var(--v7-ring-angle,0deg));
  box-shadow: -18px 0 28px rgba(255,67,64,.04);
  animation: v7ProductRing 10.5s linear infinite;
}

.v7-product-scene > i:nth-child(2) {
  --v7-ring-angle: 42deg;
  width: 82%;
  opacity: .58;
  animation-duration: 15s;
  animation-direction: reverse;
}

.v7-product-scene > i:nth-child(3) {
  --v7-ring-angle: -36deg;
  width: 49%;
  opacity: .46;
  animation-duration: 8.5s;
}

.v7-product-index {
  position: absolute;
  z-index: 5;
  top: 50%;
  right: -34px;
  display: grid;
  gap: 9px;
  transform: translateY(-50%);
}

.v7-product-index span {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 50%;
  color: rgba(255,255,255,.38);
  background: rgba(8,8,10,.74);
  font-size: .46rem;
  font-weight: 900;
  letter-spacing: .04em;
  transition: color .35s ease,border-color .35s ease,background .35s ease,box-shadow .35s ease,transform .35s ease;
}

.v7-product-index span.is-active {
  color: #fff;
  border-color: rgba(255,115,76,.72);
  background: linear-gradient(135deg,#ff334b,#ff7846);
  box-shadow: 0 8px 24px rgba(255,53,67,.25),0 0 18px rgba(255,105,66,.14);
  transform: scale(1.08);
}

@keyframes v7ProductSceneBreathe {
  0%,100% { opacity: .72; transform: translate(-50%,-50%) scale(.94); }
  50% { opacity: 1; transform: translate(-50%,-50%) scale(1.04); }
}

@keyframes v7ProductSceneOrbit {
  to { transform: translate(-50%,-50%) rotateX(66deg) rotateZ(356deg); }
}

@keyframes v7ProductRing {
  to { transform: translate(-50%,-50%) rotateX(68deg) rotateZ(calc(var(--v7-ring-angle,0deg) + 360deg)); }
}

@media (max-width:820px) {
  .v3-product[data-product-showcase] {
    padding-block: 76px 0;
  }

  .v3-product[data-product-showcase] .v3-product-grid {
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: auto auto auto;
    gap: 0;
    max-width: 100%;
  }

  .v3-product[data-product-showcase] .v7-product-intro {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
  }

  .v3-product[data-product-showcase] .v7-product-intro .section-lead {
    margin-inline: auto;
  }

  .v3-product[data-product-showcase] .v7-product-intro .v3-title {
    margin-inline: auto;
  }

  .v3-product[data-product-showcase] .v7-product-step-list {
    grid-column: 1;
    grid-row: 2;
    text-align: center;
  }

  .v3-product[data-product-showcase] .v3-product-device {
    grid-column: 1;
    grid-row: 3;
    width: 100%;
    margin-top: 46px;
  }

  .v3-product[data-product-showcase] .v7-product-index {
    right: max(4px,calc(50% - 190px));
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-device {
    position: sticky;
    top: 72px;
    z-index: 8;
    grid-row: 2;
    align-self: start;
    min-height: min(68svh,590px);
    margin-top: 28px;
    padding: 14px 0 30px;
    background:
      linear-gradient(180deg,#050505 0%,#050505 84%,rgba(5,5,5,.94) 90%,transparent 100%);
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-step-list {
    position: relative;
    z-index: 3;
    grid-row: 3;
    margin-top: -4px;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-phone {
    width: min(62vw,250px);
    transform:
      perspective(1350px)
      translate3d(0,var(--v7-story-shift),18px)
      rotateX(var(--v7-story-rx))
      rotateY(var(--v7-story-ry));
    filter: drop-shadow(0 24px 24px rgba(0,0,0,.6));
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-device-caption {
    width: min(62vw,250px);
    margin-top: 11px;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-device-caption span,
  .v3-product[data-product-showcase].v7-is-scroll-story .v3-device-caption strong {
    font-size: .46rem;
    letter-spacing: .12em;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-index {
    position: relative;
    inset: auto;
    width: min(62vw,250px);
    margin-top: 11px;
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 6px;
    transform: none;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-index span {
    width: 100%;
    height: 3px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    color: transparent;
    background: rgba(255,255,255,.08);
    font-size: 0;
    transform: none;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-index span.is-active {
    background: linear-gradient(90deg,#ff334b,#ff7846);
    box-shadow: 0 0 14px rgba(255,79,61,.36);
    transform: none;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v5-cycle-controls {
    display: none !important;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-step-list > .v3-product-copy-panel,
  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-step-list > .v3-product-copy-panel[hidden] {
    position: relative;
    display: flex !important;
    min-height: 48svh;
    max-width: min(100%,540px);
    margin: 0 auto;
    padding: 0 18px 44px;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    overflow: visible;
    border: 0;
    opacity: .28;
    transform: translate3d(0,18px,0) scale(.985);
    transition: opacity .55s ease,transform .7s cubic-bezier(.16,.78,.18,1);
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-step-list > .v3-product-copy-panel::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    bottom: 22px;
    height: min(215px,calc(100% - 44px));
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 24px;
    background:
      radial-gradient(circle at 78% 0,rgba(255,70,61,.1),transparent 38%),
      linear-gradient(145deg,rgba(18,18,21,.96),rgba(8,8,10,.98));
    box-shadow: 0 24px 52px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035);
    opacity: .45;
    transition: opacity .5s ease,border-color .5s ease,box-shadow .5s ease;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-step-list > .v3-product-copy-panel.is-active {
    opacity: 1;
    transform: translate3d(0,0,0) scale(1);
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-step-list > .v3-product-copy-panel.is-active::before {
    opacity: 1;
    border-color: rgba(255,102,73,.27);
    box-shadow: 0 28px 60px rgba(0,0,0,.36),0 0 38px rgba(255,58,66,.055),inset 0 1px rgba(255,255,255,.05);
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-copy-panel small,
  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-copy-panel h3,
  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-copy-panel p {
    position: relative;
    z-index: 1;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-copy-panel h3 {
    margin: 10px auto 8px;
    font-size: clamp(1.35rem,6.2vw,1.75rem);
    line-height: 1.02;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-copy-panel p {
    max-width: 33ch;
    margin-inline: auto;
    font-size: clamp(.86rem,3.7vw,.98rem);
    line-height: 1.56;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-step-list > .text-link {
    min-height: 26svh;
    margin: 0;
    align-items: center;
    justify-content: center;
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-scene {
    inset: 4% -4% 7%;
  }
}

@media (max-width:420px) {
  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-device {
    top: 68px;
    min-height: min(67svh,570px);
  }

  .v3-product[data-product-showcase].v7-is-scroll-story .v3-product-phone,
  .v3-product[data-product-showcase].v7-is-scroll-story .v3-device-caption,
  .v3-product[data-product-showcase].v7-is-scroll-story .v7-product-index {
    width: min(61vw,242px);
  }
}

@media (prefers-reduced-motion:reduce) {
  .v3-product[data-product-showcase] .v3-product-phone,
  .v3-product[data-product-showcase] .pro-device__media .product-screen,
  .v3-product[data-product-showcase] .pro-device__media .product-screen.is-active,
  .v3-product[data-product-showcase] .v7-product-index span,
  .v7-product-scene::before,
  .v7-product-scene::after,
  .v7-product-scene > i {
    animation: none !important;
    transition: none !important;
  }

  .v3-product[data-product-showcase] .v3-product-phone {
    transform: none !important;
  }
}

.v5-manifest-band .eyebrow {
  color: #4f0a12 !important;
  opacity: 1;
}

/* --------------------------------------------------------------------------
   Final CTA: hero-inspired closing section
   -------------------------------------------------------------------------- */
.v3-final-cta {
  position: relative;
  padding: clamp(72px, 7vw, 100px) 0;
  overflow: hidden;
  isolation: isolate;
  color: #fff;
  background:
    radial-gradient(circle at 70% 8%, rgba(255, 73, 60, 0.24), transparent 45%),
    radial-gradient(circle at 18% 90%, rgba(255, 118, 74, 0.16), transparent 56%),
    linear-gradient(180deg, #07070c 0%, #09090f 46%, #0b0c12 100%);
}

.v3-final-cta::before {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 15%;
  width: min(880px, 96%);
  aspect-ratio: 1.6;
  transform: translateX(-50%);
  border-radius: 42%;
  background:
    radial-gradient(ellipse at 50% 35%, rgba(255, 73, 60, 0.26), rgba(255, 73, 60, 0.06) 64%, transparent 79%);
  filter: blur(11px);
  pointer-events: none;
  opacity: .86;
}

.v3-final-cta::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(130deg, rgba(255, 255, 255, 0) 28%, rgba(255, 69, 52, 0.08) 56%, rgba(255, 255, 255, 0) 82%);
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: .18;
}

.v3-final-glow {
  position: absolute;
  z-index: 2;
  inset: -8% -8% auto;
  height: 160px;
  background:
    radial-gradient(circle at 12% 50%, rgba(255, 103, 67, 0.32), transparent 68%);
  pointer-events: none;
}

.v3-final-cta .container {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
  align-items: center;
}

.v3-final-copy {
  text-align: left;
  max-width: 640px;
}

.v3-final-copy .eyebrow {
  margin: 0;
  color: #ff8d73;
  font-size: .68rem;
  line-height: 1;
  letter-spacing: .2em;
}

.v3-final-copy h2 {
  margin: 12px 0 24px;
  color: #fff;
  font-size: clamp(2.7rem, 8.8vw, 4.05rem);
  line-height: .95;
  letter-spacing: -0.05em;
}

.v3-final-copy .btn.btn-primary {
  min-height: 48px;
}

.v3-final-stage {
  position: relative;
  z-index: 3;
  width: min(280px, 100%);
  min-height: 180px;
  display: grid;
  place-items: center;
  justify-self: start;
}

.v3-final-brand {
  width: min(132px, 34vw);
  height: auto;
  max-width: 100%;
  opacity: .72;
  filter: drop-shadow(0 0 24px rgba(255, 60, 46, 0.24));
}

@media (min-width: 821px) and (max-width: 1100px) {
  .v3-final-cta .container {
    gap: 28px;
    width: min(100%, 720px);
  }

  .v3-final-copy h2 {
    margin: 12px 0 22px;
    font-size: clamp(2.9rem, 9.6vw, 4.05rem);
    line-height: .95;
  }
}

@media (min-width: 1101px) {
  body[data-page="home"] .v3-final-cta .container {
    grid-template-columns: minmax(0, 1.25fr) minmax(250px, 0.78fr);
    gap: clamp(28px, 4.4vw, 58px);
    width: min(100%, calc(100% - 48px));
    max-width: 1120px;
    margin-inline: auto;
    align-items: stretch;
    transform: translateY(2px);
  }

  body[data-page="home"] .v3-final-copy h2 {
    white-space: normal;
    margin: 14px 0 30px;
    font-size: clamp(3rem, 4.7vw, 4.65rem);
    line-height: .93;
    letter-spacing: -0.058em;
  }

  body[data-page="home"] .v3-final-copy {
    max-width: 780px;
  }

  body[data-page="home"] .v3-final-stage {
    justify-self: end;
    min-height: 0;
    align-self: center;
    width: min(260px, 38vw);
    margin-left: auto;
    margin-right: 0;
  }

  body[data-page="home"] .v3-final-brand {
    width: min(166px, 22vw);
    opacity: .78;
  }

  body[data-page="home"] .v3-final-glow {
    width: min(100%, 720px);
    height: 360px;
    right: 1%;
    inset-block-start: 10%;
  }
}

@media (max-width: 560px) {
  .v3-final-cta {
    padding-block: 60px;
  }

  body[data-page="home"] .v3-final-cta .container {
    width: calc(100% - 24px) !important;
    gap: 20px !important;
  }

  body[data-page="home"] .v3-final-copy h2 {
    margin: 10px 0 20px;
    font-size: clamp(2.45rem, 11.8vw, 3.2rem);
    line-height: .94;
    text-wrap: balance;
  }

  body[data-page="home"] .v3-final-stage {
    width: min(220px, 100%);
    min-height: 150px;
  }

  body[data-page="home"] .v3-final-brand {
    width: min(102px, 42vw);
  }
}

/* --------------------------------------------------------------------------
   Responsive type safety

   Keep intentional two-line headings inside their real text tracks. These
   rules are deliberately page- and component-scoped; artwork, motion and
   surrounding section geometry remain untouched.
   -------------------------------------------------------------------------- */

/* Pricing rows must remain separate even when a line wraps on small screens. */
#innehall .v3-offer-card .v3-offer-brand h2 > span {
  display: block;
  width: 100%;
}

@media (min-width: 1101px) {
  /* Home: retain two strong Live Coach rows without clipping in its copy rail. */
  body[data-page="home"] .v3-coach-copy .v3-title {
    max-inline-size: none;
    font-size: clamp(2.75rem, 3.2vw, 3.25rem);
    white-space: nowrap;
  }

  /* Features: give reversed rows the wider copy rail and cap only long titles. */
  body[data-page="features"] .v3-detail-row.is-reverse {
    grid-template-columns: minmax(390px, .78fr) minmax(0, 1fr);
  }

  body[data-page="features"] .v3-avatar-detail-row {
    grid-template-columns: minmax(0, 1fr) minmax(520px, .95fr);
  }

  body[data-page="features"] .v3-detail-copy h2 {
    font-size: clamp(3.05rem, 4.35vw, 4rem);
  }

  html:lang(en) body[data-page="features"] .v3-detail-copy h2 {
    font-size: clamp(3rem, 4.15vw, 3.6rem);
  }

  /* About hero: its two rows share the width with the approved visual stage. */
  body[data-page="about"] .v3-about-hero .v3-inner-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(510px, .8fr);
    gap: 30px;
  }

  body[data-page="about"] .v3-about-hero .page-title {
    max-width: none !important;
    font-size: clamp(3.45rem, 4.5vw, 4.65rem) !important;
    white-space: nowrap;
  }

  html:lang(en) body[data-page="about"] .v3-about-hero .page-title {
    font-size: clamp(3.15rem, 4vw, 4.15rem) !important;
  }

  /* Pricing: English needs a local cap because its approved first row is longer. */
  html:lang(en) body[data-page="pricing"] #innehall .v3-offer-card .v3-offer-brand h2 {
    font-size: clamp(2.15rem, 2.7vw, 2.75rem);
  }

  html:lang(en) body[data-page="pricing"] .v3-price-proof .v3-title {
    max-inline-size: none;
    font-size: clamp(3rem, 4.25vw, 3.9rem) !important;
  }
}

@media (min-width: 821px) {
  /* About: both approved rows fit their actual copy columns at every width. */
  body[data-page="about"] .v3-about-system .v3-title {
    font-size: clamp(2.55rem, 4.45vw, 4.8rem);
  }

  body[data-page="about"] .v3-about-journey .v3-title {
    font-size: clamp(2.4rem, 4.25vw, 4.4rem);
  }

  body[data-page="about"] .v3-about-hero .page-title {
    white-space: nowrap;
  }
}

@media (min-width: 821px) and (max-width: 1100px) {
  /* A single copy rail keeps the About hero premium in tablet landscape. */
  body[data-page="about"] .v3-about-hero .v3-inner-hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* English price-proof copy gets its full row before the desktop composition. */
  html:lang(en) body[data-page="pricing"] .v3-price-proof .v3-section-head {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 821px) and (max-width: 1050px) {
  body[data-page="about"] .v3-about-system-grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
    gap: 36px;
  }

  body:is([data-page="features"], [data-page="about"]) .v3-principle-band .container {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (min-width: 1051px) {
  html:lang(en) body[data-page="about"] .v3-principle-band .container > div > h2 {
    font-size: clamp(3rem, 5.6vw, 5.55rem);
  }
}

@media (min-width: 821px) and (max-width: 949px) {
  body[data-page="about"] .v3-about-journey .v3-section-head {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  body[data-page="about"] .v3-about-journey .v3-section-head > .text-link {
    justify-self: start;
  }
}

@media (min-width: 821px) and (max-width: 920px) {
  body[data-page="about"] .v3-about-journey .v3-journey-grid {
    grid-template-columns: 1fr;
  }

  body[data-page="about"] .v3-about-journey .v3-journey-path {
    grid-template-columns: repeat(7, auto);
    align-items: center;
  }

  body[data-page="about"] .v3-about-journey .v3-journey-path i {
    transform: none;
  }
}

@media (min-width: 561px) and (max-width: 820px) {
  body[data-page="home"] .v3-loop-section .v3-title {
    max-inline-size: none !important;
    font-size: clamp(1.4rem, 7.3vw, 3.35rem) !important;
  }

  body[data-page="home"] .v3-loop-section .v3-title > span {
    white-space: nowrap;
  }

  body[data-page="about"] .v3-about-hero .page-title {
    max-inline-size: none !important;
    font-size: clamp(3rem, 8.5vw, 3.65rem) !important;
    white-space: nowrap;
  }

  body[data-page="contact"] .nox-page-hero .page-title {
    max-inline-size: none !important;
    font-size: clamp(1.9rem, 9.8vw, 4rem) !important;
    white-space: nowrap;
  }

  html:lang(en) body[data-page="pricing"] .v3-price-proof .v3-title {
    max-inline-size: none !important;
    font-size: clamp(2.8rem, 7.4vw, 3.6rem) !important;
  }
}

@media (min-width: 821px) {
  body[data-page="home"] .v3-loop-section .v3-title {
    max-inline-size: none;
    font-size: clamp(2.15rem, 4vw, 3.65rem);
  }

  body[data-page="home"] .v3-loop-section .v3-title > span {
    white-space: nowrap;
  }
}

/* Legal rails stay usable at the exact point where the old cascade conflicted. */
@media screen and (min-width: 821px) and (max-width: 940px) {
  body.legal-page .legal-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  body.legal-page .legal-toc {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: none;
    overflow: visible;
  }

  body.legal-page .legal-toc strong,
  body.legal-page .legal-toc .toc-back {
    grid-column: 1 / -1;
  }
}

@media screen and (min-width: 941px) {
  body.legal-page .legal-toc {
    max-height: calc(100dvh - 124px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
}
