:root {
  color-scheme: dark;
  --bg: #070b10;
  --soft: #0b121b;
  --panel: #0f1823;
  --panel-2: #131e2b;
  --line: #253247;
  --line-soft: #182536;
  --text: #e8eef8;
  --muted: #8fa1b8;
  --mint: #4fd5ae;
  --amber: #f2b33f;
  --blue: #69a9ee;
  --danger: #ef6a73;
  --max: 1054px;
  --compact-max: 843px;
  --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --surface-base: var(--bg);
  --surface-subtle: var(--soft);
  --surface-raised: var(--panel);
  --surface-hover: var(--panel-2);
  --border-strong: var(--line);
  --border-subtle: var(--line-soft);
  --copy-primary: var(--text);
  --copy-secondary: var(--muted);
  --accent-primary: var(--mint);
  --accent-warm: var(--amber);
  --accent-primary-soft: rgba(79, 213, 174, .035);
  --accent-primary-line: rgba(79, 213, 174, .16);
  --accent-warm-soft: rgba(242, 179, 63, .025);
  --icon-muted: #60758f;
  --component-width: var(--compact-max);
  --component-radius: 14px;
  --row-height: 58px;
  /* Keep legacy components from main.css on the homepage token system. */
  --bg-primary: var(--surface-base);
  --bg-secondary: var(--surface-raised);
  --bg-textbox: var(--surface-subtle);
  --bg-card: var(--surface-subtle);
  --text-primary: var(--copy-primary);
  --text-secondary: var(--copy-secondary);
  --accent: var(--accent-primary);
  --accent-hover: var(--accent-primary);
  --accent-secondary: var(--accent-primary);
  --border: var(--border-strong);
  --border2: var(--border-strong);
  --radius: var(--component-radius);
  --radius-sm: var(--component-radius);
  --max-width: var(--component-width);
  --max-width-lg: var(--max);
  font-family: var(--font-sans);
}

/* MCP demonstrations: lightweight posters become privacy-enhanced YouTube
   players only after an explicit click. */
.product-stories .mcp-story {
  display: grid !important;
  grid-template-columns: minmax(300px, .68fr) minmax(520px, 1.32fr);
  gap: clamp(48px, 6vw, 92px);
  padding: clamp(92px, 12vh, 144px) 0;
  align-items: center
}

.mcp-story .story-message {
  max-width: 520px
}

.mcp-clip-shell {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid rgba(128, 157, 184, .24);
  border-radius: 18px;
  background: #080d12;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .42), 0 0 0 1px rgba(0, 0, 0, .35)
}

.mcp-clip-poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: #080d12;
  color: #f5f8fb;
  cursor: pointer
}

.mcp-clip-poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), filter .35s ease
}

.mcp-clip-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(3, 7, 11, .05) 40%, rgba(3, 7, 11, .84) 100%)
}

.mcp-clip-label {
  position: absolute;
  left: 24px;
  bottom: 22px;
  display: grid;
  gap: 4px;
  text-align: left
}

.mcp-clip-label small {
  color: #79d8bb;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase
}

.mcp-clip-label strong {
  font-size: clamp(17px, 2vw, 24px);
  letter-spacing: -.025em
}

.mcp-clip-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .58);
  border-radius: 50%;
  background: rgba(4, 10, 15, .76);
  box-shadow: 0 12px 36px rgba(0, 0, 0, .42);
  transform: translate(-50%, -50%);
  transition: transform .3s ease, background .3s ease, border-color .3s ease
}

.mcp-clip-play i {
  width: 0;
  height: 0;
  margin-left: 4px;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 13px solid #fff
}

.mcp-clip-poster:hover img {
  filter: brightness(1.08);
  transform: scale(1.018)
}

.mcp-clip-poster:hover .mcp-clip-play {
  border-color: #79d8bb;
  background: rgba(24, 94, 77, .86);
  transform: translate(-50%, -50%) scale(1.06)
}

.mcp-clip-poster:focus-visible {
  outline: 3px solid #79d8bb;
  outline-offset: -4px
}

.mcp-clip-shell iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0
}

@media(max-width:1050px) {
  .product-stories .mcp-story {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .mcp-story .story-message {
    max-width: 680px
  }
}

@media(max-width:680px) {
  .product-stories .mcp-story {
    padding: 72px 0
  }

  .mcp-clip-shell {
    border-radius: 12px
  }

  .mcp-clip-label {
    left: 16px;
    bottom: 14px
  }

  .mcp-clip-play {
    width: 54px;
    height: 54px
  }
}

* {
  box-sizing: border-box
}

html {
  scroll-behavior: auto;
  scroll-padding-top: 84px;
  background: var(--bg)
}

body {
  margin: 0;
  padding-top: 68px;
  color: var(--text);
  background: radial-gradient(circle at 70% 10%, rgba(52, 96, 150, .13), transparent 28rem), var(--bg)
}

button,
input {
  font: inherit
}

button {
  color: inherit
}

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

.site-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  height: 68px;
  padding: 0 max(24px, calc((100vw - var(--max))/2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(37, 50, 71, .75);
  background: rgba(7, 11, 16, .9);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .24);
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px)
}

.brand {
  display: flex;
  align-items: center;
  gap: 10px
}

.brand img {
  width: 32px;
  height: 32px;
  border-radius: 9px
}

.site-header nav {
  display: flex;
  align-items: center;
  gap: 26px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600
}

.site-header nav a:hover {
  color: var(--text)
}

.nav-download {
  padding: 10px 15px;
  border-radius: 8px;
  color: #17120a !important;
  background: var(--amber)
}

.hero {
  width: min(var(--max), calc(100% - 48px));
  min-height: calc(100vh - 68px);
  margin: auto;
  padding: 70px 0;
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 70px;
  align-items: center
}

.hero-intro-only {
  min-height: calc(100svh - 68px);
  grid-template-columns: minmax(0, 860px);
  justify-content: center;
  padding: 72px 0;
  text-align: center
}

.hero-intro-only .hero-copy>p:not(.eyebrow) {
  margin-inline: auto
}

.hero-intro-only .hero-actions,
.hero-intro-only .proof-row {
  justify-content: center
}

.interactive-app {
  padding: 0
}

.interactive-note {
  width: min(1280px, calc(100% - 48px));
  margin: auto;
  padding: 28px 0 22px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 40px;
  border-top: 1px solid var(--line-soft)
}

.interactive-note .eyebrow {
  margin: 0;
  white-space: nowrap
}

.interactive-note>p:last-child {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  text-align: right
}

.interactive-app-frame {
  width: min(1280px, calc(100% - 48px));
  height: 970px;
  margin: auto;
  overflow: hidden;
  scroll-margin-top: 84px
}

.interactive-app-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent
}

.carousel-heading {
  width: min(1280px, calc(100% - 48px));
  padding: 72px 0 28px;
  align-items: baseline;
  border-top: 1px solid var(--line-soft)
}

.carousel-heading .eyebrow {
  margin: 0;
  white-space: nowrap
}

.carousel-heading>p:last-child {
  max-width: 520px;
  text-align: right
}

.eyebrow {
  display: none !important;
  margin: 0 0 15px;
  color: var(--amber);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase
}

.hero h1 {
  margin: 0;
  font-size: clamp(52px, 6vw, 82px);
  line-height: .98;
  letter-spacing: -.055em
}

.hero-copy>p:not(.eyebrow) {
  max-width: 570px;
  margin: 25px 0 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7
}

.hero-actions,
.download-actions {
  display: flex;
  gap: 11px;
  margin-top: 32px
}

.button {
  min-height: 49px;
  padding: 0 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer
}

.primary {
  border-color: var(--amber);
  background: var(--amber);
  color: #17120a
}

.secondary {
  background: var(--panel)
}

.proof-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 24px;
  color: #657b94;
  font-size: 11px
}

.proof-row span+span::before {
  content: "•";
  margin-right: 18px;
  color: var(--mint)
}

.media-placeholder {
  position: relative;
  min-height: 390px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px dashed #3a4c64;
  border-radius: 14px;
  background: repeating-linear-gradient(-45deg, rgba(18, 31, 45, .62) 0 12px, rgba(12, 22, 33, .62) 12px 24px);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .3)
}

.media-placeholder::after {
  content: "MEDIA PLACEHOLDER";
  position: absolute;
  left: 16px;
  top: 14px;
  color: #50657e;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em
}

.placeholder-icon {
  width: 58px;
  height: 58px;
  margin-bottom: 20px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(79, 213, 174, .55);
  border-radius: 50%;
  color: var(--mint);
  background: rgba(79, 213, 174, .08)
}

.media-placeholder strong {
  font-size: 20px
}

.media-placeholder small {
  max-width: 500px;
  margin-top: 10px;
  color: var(--muted);
  line-height: 1.55
}

.hero-media {
  min-height: 500px
}

.section-heading {
  width: min(var(--max), calc(100% - 48px));
  margin: auto;
  padding: 110px 0 54px;
  display: flex;
  justify-content: space-between;
  gap: 60px;
  align-items: end
}

.section-heading h2 {
  margin: 0;
  font-size: clamp(36px, 4vw, 56px);
  letter-spacing: -.045em
}

.section-heading>p {
  max-width: 430px;
  margin: 0;
  color: var(--muted);
  line-height: 1.65
}

.section-heading.centered {
  display: block;
  text-align: center
}

.section-heading.centered>p {
  margin: 18px auto 0
}

.screen-showcase {
  overflow: hidden
}

.screen-carousel {
  position: relative;
  width: min(var(--max), calc(100% - 48px));
  margin: auto;
  padding: 0 58px 90px
}

.screen-viewport {
  overflow: hidden;
  border: 1px solid #34455c;
  border-radius: 14px;
  background: #0b121a;
  box-shadow: 0 35px 90px rgba(0, 0, 0, .45)
}

.screen-slide {
  margin: 0
}

.screen-slide img {
  width: 100%;
  aspect-ratio: 1.7;
  display: block;
  object-fit: cover;
  object-position: top
}

.screen-slide figcaption {
  padding: 16px 20px;
  display: flex;
  justify-content: space-between
}

.screen-slide figcaption small {
  color: var(--muted)
}

.carousel-arrow {
  position: absolute;
  top: 42%;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--panel);
  cursor: pointer
}

.carousel-arrow.previous {
  left: 0
}

.carousel-arrow.next {
  right: 0
}

.carousel-dots {
  height: 30px;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 8px
}

.carousel-dots button {
  width: 7px;
  height: 7px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #33465d;
  cursor: pointer
}

.carousel-dots button.active {
  width: 24px;
  border-radius: 5px;
  background: var(--mint)
}

.comparison {
  padding-bottom: 110px
}

.comparison-table {
  width: min(930px, calc(100% - 48px));
  margin: auto;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft)
}

.comparison-row {
  min-height: 58px;
  padding: 12px 24px;
  display: grid;
  grid-template-columns: 1fr 130px 130px;
  align-items: center;
  border-bottom: 1px solid var(--line-soft)
}

.comparison-row>strong:not(:first-child),
.comparison-row>b {
  text-align: center
}

.comparison-row b {
  color: var(--mint)
}

.comparison-header {
  min-height: 48px;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .09em
}

.premium-feature {
  background: rgba(242, 179, 63, .025)
}

.premium-feature span::after {
  content: "PREMIUM";
  margin-left: 10px;
  padding: 3px 6px;
  border: 1px solid rgba(242, 179, 63, .28);
  border-radius: 10px;
  color: var(--amber);
  font-size: 8px
}

.comparison-actions {
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px
}

.comparison-actions button {
  padding: 14px;
  display: grid;
  gap: 4px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  cursor: pointer
}

.comparison-actions small {
  color: var(--muted)
}

.comparison-actions .premium-choice {
  border-color: var(--amber);
  background: var(--amber);
  color: #17120a
}

.comparison-actions .premium-choice small {
  color: #5f450e
}

.download-section {
  width: min(var(--max), calc(100% - 48px));
  margin: 0 auto 110px;
  padding: 58px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel)
}

.download-section h2 {
  max-width: 700px;
  margin: 0;
  font-size: clamp(35px, 4vw, 54px);
  letter-spacing: -.045em
}

.download-actions {
  margin: 0;
  flex-shrink: 0
}

.site-footer {
  width: min(var(--max), calc(100% - 48px));
  margin: auto;
  padding: 28px 0 45px;
  display: flex;
  justify-content: space-between;
  border-top: 1px solid var(--line-soft);
  color: #60738b;
  font-size: 12px
}

.demo-overlay {
  position: fixed;
  inset: 0;
  z-index: 300;
  padding: 24px;
  place-items: center;
  background: rgba(2, 5, 9, .8);
  backdrop-filter: blur(12px)
}

.demo-overlay:not([hidden]) {
  display: grid
}

.download-dialog {
  position: relative;
  width: min(570px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 30px;
  border: 1px solid #33445b;
  border-radius: 15px;
  background: #0d1621;
  box-shadow: 0 35px 100px rgba(0, 0, 0, .65)
}

.dialog-close {
  position: absolute;
  right: 17px;
  top: 13px;
  border: 0;
  background: none;
  color: var(--muted);
  font-size: 28px;
  cursor: pointer
}

.demo-flag {
  display: inline-flex;
  margin-bottom: 22px;
  padding: 7px 10px;
  border: 1px solid rgba(242, 179, 63, .35);
  border-radius: 20px;
  color: var(--amber);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase
}

.download-dialog header>small {
  color: var(--mint)
}

.download-dialog header h2 {
  margin: 6px 0 9px;
  font-size: 31px
}

.download-dialog header p {
  margin: 0 0 22px;
  color: var(--muted);
  line-height: 1.5
}

.platform-picker {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 18px
}

.platform-picker button {
  padding: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #09111a;
  color: var(--muted);
  cursor: pointer
}

.platform-picker button.active {
  border-color: var(--mint);
  color: var(--text);
  background: rgba(79, 213, 174, .08)
}

.platform-picker img {
  width: 19px;
  height: 19px;
  filter: brightness(0) invert(1);
  opacity: .7
}

.download-dialog label:not(.terms-row) {
  display: block;
  margin: 13px 0 7px;
  color: var(--muted);
  font-size: 12px
}

.download-dialog input[type=email],
.download-dialog input[type=text] {
  width: 100%;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 7px;
  outline: 0;
  background: #080f17;
  color: var(--text)
}

.download-dialog input:focus {
  border-color: var(--mint)
}

.coupon-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px
}

.coupon-row button {
  padding: 0 15px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel-2)
}

.coupon-result {
  display: block;
  min-height: 17px;
  margin-top: 6px;
  color: var(--mint)
}

.turnstile-mock {
  width: 100%;
  margin-top: 18px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 24px 1fr auto;
  gap: 12px;
  align-items: center;
  text-align: left;
  border: 1px solid #34455d;
  border-radius: 6px;
  background: #111b27;
  cursor: pointer
}

.turnstile-mock>span:first-child {
  width: 22px;
  height: 22px;
  border: 2px solid #647891;
  border-radius: 4px
}

.turnstile-mock>span:nth-child(2) {
  display: grid
}

.turnstile-mock small {
  color: #697e97
}

.turnstile-mock b {
  color: #ef7e43
}

.turnstile-mock.verified>span:first-child {
  display: grid;
  place-items: center;
  border-color: var(--mint);
  background: var(--mint);
  color: #07100d
}

.turnstile-mock.verified>span:first-child::after {
  content: "✓";
  font-weight: 800
}

.terms-row {
  margin: 17px 0;
  display: flex;
  gap: 9px;
  color: var(--muted);
  font-size: 12px
}

.dialog-primary {
  width: 100%;
  padding: 13px;
  border: 0;
  border-radius: 8px;
  background: var(--amber);
  color: #17120a;
  font-weight: 800;
  cursor: pointer
}

.dialog-primary:disabled {
  opacity: .35
}

.back-button {
  margin-bottom: 15px;
  border: 0;
  background: none;
  color: var(--muted)
}

.order-summary {
  padding: 17px;
  display: flex;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #09111a
}

.order-summary>div {
  display: grid;
  gap: 4px
}

.order-summary small {
  color: var(--muted)
}

.paypal-button,
.card-button {
  width: 100%;
  margin-top: 12px;
  padding: 13px;
  border: 0;
  border-radius: 7px;
  font-weight: 800;
  cursor: pointer
}

.paypal-button {
  background: #ffc439;
  color: #163c77;
  font-size: 18px
}

.paypal-button b {
  color: #1389cf
}

.card-button {
  background: #e8edf4;
  color: #111
}

.payment-marks {
  margin-top: 13px;
  display: flex;
  justify-content: center;
  gap: 7px
}

.payment-marks span {
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--muted);
  font-size: 9px
}

.secure-note {
  color: #697d96;
  font-size: 11px;
  text-align: center
}

.success-step {
  text-align: center
}

.success-step>div {
  width: 62px;
  height: 62px;
  margin: 10px auto 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--mint);
  color: #07100d;
  font-size: 29px;
  font-weight: 800
}

.success-step p {
  color: var(--muted);
  line-height: 1.6
}

body.dialog-open {
  overflow: hidden
}

@media(max-width:900px) {
  .hero {
    grid-template-columns: 1fr;
    padding-top: 48px
  }

  .section-heading {
    display: block
  }

  .section-heading>p {
    margin-top: 17px
  }

  .download-section {
    align-items: flex-start;
    flex-direction: column
  }

  .site-header nav a:not(.nav-download) {
    display: none
  }
}

@media(max-width:620px) {
  .site-header {
    padding-inline: 16px
  }

  .hero,
  .download-section {
    width: calc(100% - 28px)
  }

  .hero h1 {
    font-size: 48px
  }

  .hero-actions,
  .download-actions {
    flex-direction: column
  }

  .hero-media {
    min-height: 350px
  }

  .section-heading {
    width: calc(100% - 28px);
    padding-top: 75px
  }

  .screen-carousel {
    width: 100%;
    padding-inline: 14px
  }

  .carousel-arrow {
    z-index: 2;
    top: 35%
  }

  .carousel-arrow.previous {
    left: 20px
  }

  .carousel-arrow.next {
    right: 20px
  }

  .screen-slide img {
    aspect-ratio: 1.15
  }

  .media-placeholder {
    min-height: 320px
  }

  .comparison-table {
    width: calc(100% - 28px)
  }

  .comparison-row {
    grid-template-columns: 1fr 58px 72px;
    padding-inline: 13px;
    font-size: 12px
  }

  .premium-feature span::after {
    display: none
  }

  .comparison-actions {
    grid-template-columns: 1fr;
    padding: 14px
  }

  .download-section {
    padding: 30px
  }

  .site-footer {
    width: calc(100% - 28px);
    flex-direction: column;
    gap: 10px
  }

  .platform-picker {
    grid-template-columns: 1fr
  }

  .download-dialog {
    padding: 24px 18px
  }
}

@media(max-width:900px) {
  .interactive-app-frame {
    height: 900px
  }
}

@media(max-width:620px) {
  .hero-intro-only {
    min-height: auto;
    padding: 64px 0 56px;
    text-align: left
  }

  .hero-intro-only .hero-copy>p:not(.eyebrow) {
    margin-inline: 0
  }

  .hero-intro-only .hero-actions {
    justify-content: flex-start
  }

  .hero-intro-only .proof-row {
    justify-content: flex-start
  }

  .interactive-note {
    width: calc(100% - 28px);
    padding: 24px 0 18px;
    display: block
  }

  .interactive-note>p:last-child {
    margin-top: 10px;
    text-align: left
  }

  .interactive-app-frame {
    width: 100%;
    height: 760px;
    scroll-margin-top: 68px
  }

  .carousel-heading {
    width: calc(100% - 28px);
    padding: 48px 0 22px
  }

  .carousel-heading .eyebrow {
    margin-bottom: 10px
  }

  .carousel-heading>p:last-child {
    margin: 0;
    text-align: left
  }
}

/* Marketing narrative prototype */
.marketing-hero {
  width: min(1280px, calc(100% - 48px));
  min-height: 760px;
  margin: auto;
  padding: 86px 0;
  display: grid;
  grid-template-columns: minmax(360px, .82fr) minmax(600px, 1.18fr);
  gap: 72px;
  align-items: center
}

.marketing-hero h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(54px, 5.4vw, 78px);
  line-height: .98;
  letter-spacing: -.055em
}

.marketing-hero .hero-copy>p:not(.eyebrow) {
  max-width: 590px;
  margin: 25px 0 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7
}

.hero-journey-ui {
  position: relative;
  min-height: 510px;
  display: grid;
  grid-template-columns: 1fr 150px 1fr;
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: linear-gradient(145deg, #0d151f, #080e15);
  box-shadow: 0 35px 90px rgba(0, 0, 0, .4)
}

.hero-journey-ui::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 48%, rgba(79, 213, 174, .11), transparent 31%);
  pointer-events: none
}

.journey-column {
  position: relative;
  z-index: 1;
  padding: 22px;
  display: flex;
  flex-direction: column
}

.journey-column>small {
  color: var(--mint);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase
}

.journey-column>b {
  margin-top: auto;
  color: #688099;
  font-size: 11px
}

.cover-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px
}

.cover-grid i,
.loose-tracks i,
.arc-albums i {
  aspect-ratio: 1;
  border-radius: 6px;
  background: linear-gradient(145deg, #3d6b78, #574063);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08)
}

.cover-grid i:nth-child(2n),
.loose-tracks i:nth-child(2n),
.arc-albums i:nth-child(2n) {
  background: linear-gradient(145deg, #7d5d36, #315d50)
}

.cover-grid i:nth-child(3n),
.loose-tracks i:nth-child(3n),
.arc-albums i:nth-child(3n) {
  background: linear-gradient(145deg, #663e48, #3b5878)
}

.journey-engine {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center
}

.journey-engine::before,
.journey-engine::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 105px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--mint))
}

.journey-engine::before {
  right: 68%;
}

.journey-engine::after {
  left: 68%;
  transform: scaleX(-1)
}

.journey-engine strong {
  position: relative;
  z-index: 1;
  width: 94px;
  height: 94px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(79, 213, 174, .65);
  border-radius: 50%;
  background: #0a1816;
  color: var(--mint);
  box-shadow: 0 0 40px rgba(79, 213, 174, .17)
}

.journey-engine small {
  margin-top: 12px;
  color: #789187;
  font-size: 9px
}

.engine-orbit {
  position: absolute;
  width: 130px;
  height: 130px;
  border: 1px dashed rgba(79, 213, 174, .25);
  border-radius: 50%;
  animation: marketing-spin 18s linear infinite
}

.arranged-list ol {
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  gap: 8px;
  list-style: none
}

.arranged-list li {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 9px;
  color: #a9b9cb;
  font-size: 11px
}

.arranged-list li i {
  width: 24px;
  height: 24px;
  border-radius: 4px;
  background: linear-gradient(145deg, #6b4c37, #315d64)
}

.mini-curve {
  position: relative;
  height: 80px;
  margin-top: auto;
  border-bottom: 1px solid #25394a
}

.mini-curve i {
  position: absolute;
  inset: 15px 5px 8px;
  background: linear-gradient(155deg, transparent 43%, var(--mint) 44% 46%, transparent 47%), linear-gradient(35deg, transparent 47%, var(--mint) 48% 50%, transparent 51%);
  opacity: .8
}

.proof-clips,
.product-stories {
  width: min(1280px, calc(100% - 48px));
  margin: auto
}

.quiet-heading {
  padding: 70px 0 25px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 50px;
  border-top: 1px solid var(--line-soft)
}

.quiet-heading .eyebrow {
  margin: 0
}

.quiet-heading>p:last-child {
  max-width: 530px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
  text-align: right
}

.proof-clip-grid {
  display: grid;
  grid-template-columns: 1.45fr .75fr;
  gap: 18px;
  padding-bottom: 120px
}

.clip-card {
  min-width: 0
}

.clip-poster {
  position: relative;
  min-height: 280px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 1px dashed #35506b;
  border-radius: 13px;
  background: repeating-linear-gradient(-45deg, rgba(18, 31, 45, .76) 0 12px, rgba(11, 20, 30, .76) 12px 24px)
}

.clip-card-primary .clip-poster {
  min-height: 390px
}

.clip-poster::before {
  content: "CLIP POSTER";
  position: absolute;
  left: 15px;
  top: 13px;
  color: #50657e;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .14em
}

.clip-play {
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  display: grid;
  place-items: center;
  border: 1px solid var(--mint);
  border-radius: 50%;
  color: var(--mint);
  background: rgba(79, 213, 174, .08)
}

.clip-poster strong {
  max-width: 420px;
  font-size: 17px;
  line-height: 1.45
}

.clip-poster small {
  margin-top: 8px;
  color: var(--muted)
}

.clip-card h2 {
  margin: 19px 0 8px;
  font-size: 22px;
  letter-spacing: -.025em
}

.clip-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6
}

.product-story {
  padding: 120px 0;
  display: grid;
  grid-template-columns: minmax(300px, .62fr) minmax(600px, 1.38fr);
  gap: 76px;
  align-items: center;
  border-top: 1px solid var(--line-soft)
}

.product-story.library-story {
  grid-template-columns: minmax(650px, 1.35fr) minmax(300px, .65fr)
}

.story-message h2 {
  max-width: 540px;
  margin: 10px 0 19px;
  font-size: clamp(38px, 4vw, 57px);
  line-height: 1.04;
  letter-spacing: -.048em
}

.story-message>p:not(.eyebrow) {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.72
}

.arrangement-canvas {
  min-height: 480px;
  padding: 28px;
  display: grid;
  grid-template-columns: 1fr 170px 1.25fr;
  gap: 18px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #0a1119
}

.loose-tracks {
  position: relative;
  min-height: 365px;
  border: 1px solid var(--line-soft);
  border-radius: 11px
}

.loose-tracks small,
.journey-path small {
  position: absolute;
  left: 13px;
  top: 11px;
  color: #6f8297;
  font-size: 9px;
  text-transform: uppercase
}

.loose-tracks i {
  position: absolute;
  width: 68px;
  transform: rotate(var(--r, 0deg))
}

.loose-tracks i:nth-of-type(1) {
  left: 22px;
  top: 70px;
  --r: -12deg
}

.loose-tracks i:nth-of-type(2) {
  right: 25px;
  top: 55px;
  --r: 9deg
}

.loose-tracks i:nth-of-type(3) {
  left: 65px;
  top: 135px;
  --r: 6deg
}

.loose-tracks i:nth-of-type(4) {
  right: 18px;
  top: 170px;
  --r: -8deg
}

.loose-tracks i:nth-of-type(5) {
  left: 20px;
  bottom: 60px;
  --r: 11deg
}

.loose-tracks i:nth-of-type(6) {
  right: 67px;
  bottom: 36px;
  --r: -5deg
}

.loose-tracks i:nth-of-type(7) {
  right: 12px;
  bottom: 86px;
  --r: 14deg
}

.arrangement-node {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  color: #71899d;
  font-size: 9px
}

.arrangement-node b {
  width: 76px;
  height: 76px;
  margin-bottom: 8px;
  display: grid;
  place-items: center;
  border: 1px solid var(--mint);
  border-radius: 50%;
  color: var(--mint);
  font-size: 20px;
  background: #0b1917;
  box-shadow: 0 0 32px rgba(79, 213, 174, .14)
}

.arrangement-node::before,
.arrangement-node::after {
  content: "";
  position: absolute;
  top: 37px;
  width: 65px;
  border-top: 1px solid rgba(79, 213, 174, .5)
}

.arrangement-node::before {
  right: 80%
}

.arrangement-node::after {
  left: 80%
}

.journey-path {
  position: relative;
  min-height: 365px;
  overflow: hidden;
  border: 1px solid var(--line-soft);
  border-radius: 11px;
  background: radial-gradient(circle at 55% 45%, rgba(79, 213, 174, .08), transparent 45%)
}

.path-line {
  position: absolute;
  left: 10%;
  right: 8%;
  top: 41%;
  height: 110px;
  border-top: 3px solid var(--mint);
  border-radius: 50%;
  transform: rotate(-8deg);
  box-shadow: 0 -7px 25px rgba(79, 213, 174, .12)
}

.journey-path ol {
  position: absolute;
  left: 7%;
  right: 6%;
  bottom: 60px;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: space-between;
  list-style: none;
  color: #8ea1b7;
  font-size: 9px
}

.journey-path ol li::before {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  margin: 0 auto 7px;
  border: 2px solid #0a1119;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 10px var(--mint)
}

.library-review-ui {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #0c141e;
  box-shadow: 0 25px 70px rgba(0, 0, 0, .3)
}

.library-review-ui>header {
  padding: 15px 18px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: #121d29
}

.library-review-ui>header span {
  font-weight: 700
}

.library-review-ui>header small {
  color: var(--mint)
}

.library-review-ui {
  display: grid;
  grid-template-columns: 1fr 50px 1fr
}

.library-review-ui>header,
.library-review-ui>footer {
  grid-column: 1/-1
}

.review-before,
.review-after {
  min-height: 235px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 11px
}

.review-before small,
.review-after small {
  color: #6e8197;
  text-transform: uppercase;
  letter-spacing: .1em
}

.review-before span,
.review-after span {
  color: var(--muted);
  line-height: 1.55
}

.review-after {
  background: rgba(79, 213, 174, .035)
}

.review-after strong {
  color: var(--mint)
}

.review-arrow {
  display: grid;
  place-items: center;
  color: var(--mint);
  font-size: 28px
}

.library-review-ui>footer {
  padding: 14px 18px;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid var(--line)
}

.library-review-ui button {
  padding: 9px 13px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #111c28
}

.library-review-ui button:last-child {
  border-color: var(--mint);
  background: rgba(79, 213, 174, .12);
  color: var(--mint)
}

.trust-note {
  margin-top: 24px;
  padding: 14px 16px;
  border-left: 2px solid var(--mint);
  background: rgba(79, 213, 174, .04);
  color: #b8c8d7;
  font-size: 12px
}

.emotion-ui {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: #0b131c
}

.emotion-prompt {
  padding: 17px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid #2d4057;
  border-radius: 9px;
  background: #111c28;
  color: #d5dfeb;
  line-height: 1.5
}

.emotion-prompt button {
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  border: 1px solid var(--mint);
  border-radius: 7px;
  background: rgba(79, 213, 174, .11);
  color: var(--mint)
}

.emotion-arc {
  position: relative;
  height: 210px;
  margin-top: 20px;
  overflow: hidden
}

.emotion-arc::before {
  content: "";
  position: absolute;
  left: 3%;
  right: 3%;
  top: 52%;
  height: 95px;
  border-top: 3px solid var(--mint);
  border-radius: 50%;
  transform: rotate(-5deg);
  box-shadow: 0 -9px 25px rgba(79, 213, 174, .12)
}

.emotion-arc i {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 28% 39%, rgba(105, 169, 238, .22), transparent 22%), radial-gradient(circle at 72% 32%, rgba(242, 179, 63, .16), transparent 20%)
}

.emotion-arc span {
  position: absolute;
  left: var(--x);
  top: var(--y);
  color: #9db0c4;
  font-size: 9px;
  transform: translate(-50%, -50%)
}

.emotion-arc span::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  margin: 0 auto 6px;
  border-radius: 50%;
  background: var(--mint);
  box-shadow: 0 0 11px var(--mint)
}

.arc-albums {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 10px
}

.arc-albums i {
  width: 100%
}

.metric-controls {
  margin-top: 28px;
  display: grid;
  gap: 13px
}

.metric-controls label {
  display: grid;
  grid-template-columns: 82px 1fr;
  align-items: center;
  color: #8799ad;
  font-size: 10px
}

.metric-controls i {
  position: relative;
  height: 3px;
  border-radius: 4px;
  background: #253449
}

.metric-controls i::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: var(--value);
  height: 100%;
  background: var(--mint)
}

.metric-controls i::after {
  content: "";
  position: absolute;
  left: var(--value);
  top: 50%;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #d9fff3;
  transform: translate(-50%, -50%)
}

.metric-orbit {
  position: relative;
  min-height: 560px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: repeating-radial-gradient(circle at center, transparent 0 75px, rgba(48, 76, 96, .32) 76px 77px), radial-gradient(circle at center, rgba(79, 213, 174, .09), transparent 58%)
}

.metric-orbit::before,
.metric-orbit::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: rgba(79, 213, 174, .12);
  transform: translate(-50%, -50%)
}

.metric-orbit::before {
  width: 1px;
  height: 90%
}

.metric-orbit::after {
  width: 90%;
  height: 1px
}

.seed-track {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 125px;
  height: 125px;
  display: grid;
  place-content: center;
  text-align: center;
  border: 1px solid var(--mint);
  border-radius: 14px;
  background: linear-gradient(145deg, #315c6c, #57405f);
  box-shadow: 0 0 45px rgba(79, 213, 174, .24);
  transform: translate(-50%, -50%)
}

.seed-track small {
  color: #d0dae5
}

.metric-orbit>i {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 64px;
  height: 64px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 8px;
  background: linear-gradient(145deg, #6b4b35, #315b65);
  transform: translate(-50%, -50%) rotate(var(--angle)) translateX(195px) rotate(calc(-1 * var(--angle)));
  box-shadow: 0 0 0 1px rgba(79, 213, 174, .1)
}

.metric-orbit>i:nth-of-type(even) {
  width: 52px;
  height: 52px;
  transform: translate(-50%, -50%) rotate(var(--angle)) translateX(245px) rotate(calc(-1 * var(--angle)));
  opacity: .7
}

.ingredient-story {
  grid-template-columns: minmax(330px, .55fr) minmax(700px, 1.45fr)
}

.ingredient-mixer {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px
}

.ingredient {
  min-height: 330px;
  padding: 18px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .02), #0a1119)
}

.ingredient b {
  color: var(--mix);
  font-size: 30px
}

.ingredient span {
  min-height: 43px;
  margin-top: 7px;
  color: #c2cfdd;
  font-size: 10px;
  line-height: 1.4
}

.ingredient i {
  position: relative;
  width: 70px;
  height: 70px;
  margin: 20px 0;
  border: 7px solid #1e2a38;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px var(--mix)
}

.ingredient i::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -130px;
  width: 46px;
  height: 120px;
  background: linear-gradient(transparent, var(--mix));
  clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%);
  transform: translateX(-50%);
  opacity: .55
}

.mix-result {
  grid-column: 1/-1;
  margin-top: 12px;
  padding: 17px 20px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  border: 1px solid rgba(79, 213, 174, .45);
  border-radius: 10px;
  background: rgba(79, 213, 174, .05)
}

.mix-result strong {
  color: var(--mint);
  font-size: 25px
}

.mix-result span {
  font-weight: 700
}

.mix-result small {
  color: var(--muted)
}

.interactive-app {
  padding-top: 120px
}

.interactive-note {
  border-top: 1px solid var(--line)
}

.screen-showcase {
  padding-top: 110px
}

.carousel-heading {
  padding-top: 0
}

.comparison {
  padding-top: 40px
}

.download-section h2 {
  font-size: clamp(32px, 3.5vw, 48px)
}

@keyframes marketing-spin {
  to {
    transform: rotate(360deg)
  }
}

@media(max-width:1100px) {
  .marketing-hero {
    grid-template-columns: 1fr;
    min-height: auto
  }

  .hero-journey-ui {
    min-height: 500px
  }

  .proof-clip-grid {
    grid-template-columns: 1fr
  }

  .product-story,
  .product-story.library-story,
  .ingredient-story {
    grid-template-columns: 1fr
  }

  .library-story .story-message {
    order: -1
  }

  .metric-orbit {
    min-height: 650px
  }
}

.story-message h2 {
  max-width: 520px;
  font-size: clamp(31px, 3.1vw, 44px);
  line-height: 1.08;
  letter-spacing: -.04em
}

/* Production components, recolored for this homepage */
main {
  max-width: none;
  margin: 0;
  padding: 0
}

.screen-showcase .theme-carousel {
  width: min(var(--compact-max), calc(100% - 48px));
  max-width: none;
  margin: 0 auto 92px
}

.screen-showcase .carousel-track {
  height: 640px;
  perspective: 1500px
}

.screen-showcase .carousel-slide {
  width: auto;
  max-width: min(78vw, var(--compact-max));
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: all .6s cubic-bezier(.4, 0, .2, 1)
}

.screen-showcase .carousel-slide img {
  width: auto;
  height: auto;
  max-width: min(78vw, var(--compact-max));
  max-height: 600px;
  border: 0;
  border-radius: 0;
  outline: 0;
  object-fit: contain;
  filter: grayscale(100%) blur(5px) brightness(.34);
  box-shadow: none;
  transition: all .6s cubic-bezier(.4, 0, .2, 1)
}

.screen-showcase .carousel-slide.active {
  box-shadow: none
}

.screen-showcase .carousel-slide.active img {
  filter: grayscale(40%) blur(0);
  box-shadow: 0 0 20px rgb(0 0 0 / 40%), 0 0 40px rgb(0 0 0 / 20%), 0 0 60px rgb(0 0 0 / 10%)
}

.screen-showcase .carousel-slide.prev-1 {
  transform: translateX(-55%) translateZ(-150px) rotateY(25deg) scale(.85);
  opacity: 1
}

.screen-showcase .carousel-slide.next-1 {
  transform: translateX(55%) translateZ(-150px) rotateY(-25deg) scale(.85);
  opacity: 1
}

.screen-showcase .carousel-slide.prev-2 {
  transform: translateX(-85%) translateZ(-250px) rotateY(35deg) scale(.7);
  opacity: 1
}

.screen-showcase .carousel-slide.next-2 {
  transform: translateX(85%) translateZ(-250px) rotateY(-35deg) scale(.7);
  opacity: 1
}

.screen-showcase .carousel-slide.prev-far,
.screen-showcase .carousel-slide.next-far {
  opacity: 0;
  pointer-events: none
}

.screen-showcase .carousel-slide.prev-1:hover {
  transform: translateX(-55%) translateZ(-100px) rotateY(25deg) scale(.9)
}

.screen-showcase .carousel-slide.next-1:hover {
  transform: translateX(55%) translateZ(-100px) rotateY(-25deg) scale(.9)
}

.screen-showcase .carousel-slide.prev-2:hover {
  transform: translateX(-85%) translateZ(-200px) rotateY(35deg) scale(.75)
}

.screen-showcase .carousel-slide.next-2:hover {
  transform: translateX(85%) translateZ(-200px) rotateY(-35deg) scale(.75)
}

.screen-showcase .carousel-controls {
  margin-top: 14px;
  gap: 18px
}

.screen-showcase .carousel-btn {
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  box-shadow: none
}

.screen-showcase .carousel-btn:hover {
  border-color: var(--mint);
  background: rgba(79, 213, 174, .09);
  color: var(--mint)
}

.screen-showcase .carousel-dots {
  height: auto;
  align-items: center;
  gap: 7px
}

.screen-showcase .carousel-dots .dot {
  width: 7px;
  height: 7px;
  border: 0;
  background: #33465d
}

.screen-showcase .carousel-dots .dot:hover {
  background: #5a7594
}

.screen-showcase .carousel-dots .dot.active {
  width: 24px;
  height: 7px;
  border: 0;
  border-radius: 5px;
  background: var(--mint)
}

@media(min-width:769px) {
  .screen-showcase .carousel-slide.active.zoomed {
    transform: translateX(0) translateZ(0) rotateY(0) scale(1.5)
  }

  .screen-showcase .carousel-slide.active.zoomed img {
    filter: grayscale(0) blur(0);
    box-shadow: 0 0 24px rgb(0 0 0 / 55%), 0 0 54px rgb(0 0 0 / 30%), 0 0 90px rgb(0 0 0 / 18%)
  }
}

.comparison .features-comparison {
  width: min(var(--compact-max), calc(100% - 48px));
  max-width: none;
  margin: 0 auto
}

.comparison .comparison-table {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--soft);
  box-shadow: 0 30px 80px rgba(0, 0, 0, .24)
}

.comparison .comparison-header {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto;
  gap: 12px;
  min-height: 50px;
  padding: 12px 20px;
  align-items: center;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase
}

.comparison .comparison-row {
  display: block;
  min-height: 0;
  padding: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  font-size: 13px
}

.comparison .comparison-row:last-child {
  border-bottom: 0
}

.comparison .comparison-row.highlight {
  background: rgba(242, 179, 63, .025);
  font-weight: 500
}

.comparison .comparison-row.comparison-expandable>summary {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr auto;
  gap: 12px;
  min-height: 58px;
  padding: 12px 20px;
  align-items: center;
  cursor: pointer;
  list-style: none
}

.comparison .comparison-row.comparison-expandable>summary:hover {
  background: rgba(79, 213, 174, .035)
}

.comparison .comparison-row.comparison-expandable[open]>summary {
  border-bottom: 1px solid rgba(79, 213, 174, .16);
  background: rgba(79, 213, 174, .025)
}

.comparison .col-feature {
  display: flex;
  align-items: center;
  color: var(--text);
  font-weight: 600
}

.comparison .col-free,
.comparison .col-pro {
  text-align: center;
  color: var(--muted)
}

.comparison .col-pro {
  color: var(--mint);
  font-weight: 700
}

.comparison .feature-icon {
  flex: 0 0 auto;
  width: 19px;
  height: 19px;
  margin-right: 10px;
  opacity: .8
}

.comparison .faq-icon {
  justify-self: end;
  width: 22px;
  color: #60758f;
  text-align: center;
  transition: transform .2s
}

.comparison .comparison-row[open] .faq-icon {
  transform: rotate(45deg);
  color: var(--mint)
}

.comparison .comparison-detail {
  padding: 15px 54px 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
  text-align: left;
  background: rgba(255, 255, 255, .012)
}

.comparison .comparison-detail strong,
.comparison .comparison-detail em {
  color: var(--text)
}

.comparison>.comparison-actions {
  width: min(var(--compact-max), calc(100% - 48px));
  margin: 0 auto;
  padding: 20px 0
}

@media(max-width:900px) {
  .screen-showcase .carousel-track {
    height: 500px
  }

  .screen-showcase .carousel-slide,
  .screen-showcase .carousel-slide img {
    max-width: min(80vw, 760px)
  }
}

@media(max-width:620px) {
  .screen-showcase .theme-carousel {
    width: 100%;
    margin-bottom: 65px
  }

  .screen-showcase .carousel-track {
    height: 330px;
    overflow: hidden
  }

  .screen-showcase .carousel-slide {
    top: 0;
    width: auto;
    max-width: calc(100% - 28px)
  }

  .screen-showcase .carousel-slide img {
    max-width: calc(100vw - 28px)
  }

  .screen-showcase .carousel-slide.active {
    transform: none
  }

  .screen-showcase .carousel-slide.prev-1,
  .screen-showcase .carousel-slide.prev-2,
  .screen-showcase .carousel-slide.prev-far,
  .screen-showcase .carousel-slide.next-1,
  .screen-showcase .carousel-slide.next-2,
  .screen-showcase .carousel-slide.next-far {
    opacity: 0;
    pointer-events: none
  }

  .screen-showcase .carousel-slide img {
    max-height: 300px
  }

  .screen-showcase .carousel-controls {
    gap: 10px;
    margin-top: 10px
  }

  .screen-showcase .carousel-btn {
    width: 36px;
    height: 36px
  }

  .screen-showcase .carousel-dots {
    gap: 5px
  }

  .screen-showcase .carousel-dots .dot {
    width: 6px;
    height: 6px
  }

  .screen-showcase .carousel-dots .dot.active {
    width: 15px;
    height: 6px
  }

  .comparison .features-comparison {
    width: calc(100% - 28px)
  }

  .comparison .comparison-header,
  .comparison .comparison-row.comparison-expandable>summary {
    grid-template-columns: minmax(0, 1fr) 42px 56px 18px;
    gap: 5px;
    padding: 10px;
    font-size: 10px
  }

  .comparison .comparison-row.comparison-expandable>summary {
    min-height: 54px
  }

  .comparison .feature-icon {
    width: 16px;
    height: 16px;
    margin-right: 6px
  }

  .comparison .comparison-detail {
    padding: 12px 14px;
    font-size: 11px
  }

  .comparison>.comparison-actions {
    width: calc(100% - 28px)
  }
}

/* Final stripped layout overrides. Kept last so the earlier prototype rules cannot revive removed visuals. */
body {
  background: var(--bg)
}

.marketing-hero {
  width: min(var(--max), calc(100% - 48px));
  min-height: 690px;
  padding: 100px 0 110px;
  display: block
}

.marketing-hero .hero-copy {
  max-width: 820px
}

.marketing-hero h1 {
  max-width: 780px;
  font-size: clamp(58px, 7.2vw, 96px)
}

.marketing-hero .hero-copy>p:not(.eyebrow) {
  max-width: 680px
}

.product-stories {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line-soft)
}

.product-story,
.product-story.library-story,
.ingredient-story {
  min-width: 0;
  padding: 72px 54px;
  display: block;
  border-top: 0;
  border-bottom: 1px solid var(--line-soft)
}

.product-story:nth-child(odd) {
  border-right: 1px solid var(--line-soft)
}

.product-story:last-child {
  grid-column: 1/-1;
  border-right: 0
}

.story-message {
  max-width: 520px
}

.story-message h2 {
  margin-top: 12px;
  font-size: clamp(31px, 3.2vw, 45px)
}

.story-message>p:not(.eyebrow) {
  max-width: 470px
}

.trust-note {
  max-width: 440px;
  border-left-color: var(--amber);
  background: transparent
}

.interactive-app {
  padding: 108px 0 0
}

.interactive-app-gate {
  width: min(var(--max), calc(100% - 48px));
  margin: auto;
  padding: 42px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line)
}

.interactive-app-gate h2 {
  margin: 4px 0 9px;
  font-size: clamp(30px, 3vw, 43px);
  letter-spacing: -.04em
}

.interactive-app-gate p:last-child {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65
}

.app-explore-button {
  min-width: 180px;
  flex: 0 0 auto;
  gap: 12px;
  background: transparent
}

.app-explore-button span {
  transition: transform .2s ease
}

.app-explore-button.is-open span {
  transform: rotate(180deg)
}

.interactive-app-frame {
  width: min(1280px, calc(100% - 48px));
  height: 970px;
  margin: 34px auto 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #080d13
}

.interactive-app-frame[hidden] {
  display: none
}

.interactive-app-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: transparent
}

@media(max-width:800px) {
  .product-stories {
    grid-template-columns: 1fr
  }

  .product-story,
  .product-story.library-story,
  .ingredient-story {
    padding: 58px 0;
    border-right: 0 !important
  }

  .product-story:last-child {
    grid-column: auto
  }

  .interactive-app-gate {
    align-items: flex-start;
    flex-direction: column
  }

  .app-explore-button {
    width: 100%
  }

  .interactive-app-frame {
    height: 820px
  }
}

@media(max-width:620px) {
  .marketing-hero {
    width: calc(100% - 28px);
    min-height: auto;
    padding: 72px 0 80px
  }

  .marketing-hero h1 {
    font-size: 51px
  }

  .product-stories {
    width: calc(100% - 28px)
  }

  .interactive-app {
    padding-top: 72px
  }

  .interactive-app-gate {
    width: calc(100% - 28px);
    padding: 32px 0
  }

  .interactive-app-frame {
    width: 100%;
    height: 740px;
    margin-top: 22px;
    border-inline: 0;
    border-radius: 0
  }
}

/* Real product slices */
.product-stories {
  display: block;
  border-top: 1px solid var(--line-soft)
}

.product-story,
.product-story.library-story,
.ingredient-story {
  padding: 96px 0;
  display: grid;
  grid-template-columns: minmax(270px, .38fr) minmax(0, .62fr);
  gap: 70px;
  align-items: center;
  border-right: 0;
  border-bottom: 1px solid var(--line-soft)
}

.product-story:last-child {
  display: grid;
  grid-column: auto
}

.story-message {
  max-width: 420px
}

.story-message h2 {
  font-size: clamp(32px, 3.15vw, 46px)
}

.product-slice {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #263447;
  border-radius: 10px;
  background: #0c121a;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .24);
  color: #dbe5f3
}

.slice-titlebar {
  height: 38px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #263447;
  background: #111923;
  font-size: 10px
}

.slice-titlebar strong {
  font-size: 11px
}

.slice-titlebar span {
  color: #748399
}

/* Arranger slice */
.arrangement-slice {
  padding-bottom: 7px
}

.slice-prompt {
  height: 51px;
  margin: 10px;
  padding: 0 8px 0 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #324157;
  border-radius: 5px;
  background: #0a1017;
  color: #b8c4d3;
  font-size: 11px
}

.slice-prompt b {
  padding: 8px 12px;
  border-radius: 4px;
  background: var(--mint);
  color: #07110f;
  font-size: 9px
}

.arranged-track-list {
  padding: 0 10px
}

.arranged-track-list>div {
  height: 45px;
  padding: 0 10px;
  display: grid;
  grid-template-columns: 25px minmax(150px, 1fr) minmax(90px, 190px) 35px;
  gap: 10px;
  align-items: center;
  border-top: 1px solid #1d2938;
  color: #9caabd
}

.arranged-track-list>div.active {
  margin-inline: -1px;
  border: 1px solid #31574f;
  border-radius: 4px;
  background: #10201f;
  color: #e9fffa
}

.arranged-track-list em {
  color: #5f6f83;
  font-size: 8px;
  font-style: normal
}

.arranged-track-list span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px
}

.arranged-track-list strong {
  overflow: hidden;
  color: #dbe5f3;
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.arranged-track-list small {
  color: #6f7e91;
  font-size: 7px
}

.arranged-track-list>div>i {
  position: relative;
  height: 3px;
  border-radius: 3px;
  background: #253246
}

.arranged-track-list>div>i::after {
  content: "";
  display: block;
  width: var(--level);
  height: 100%;
  border-radius: inherit;
  background: var(--mint)
}

.arranged-track-list>div>b {
  color: #90a1b5;
  font-size: 9px;
  text-align: right
}

/* Review slice */
.review-track {
  min-height: 62px;
  padding: 10px 13px;
  display: flex;
  align-items: center;
  gap: 11px;
  border-bottom: 1px solid #263447
}

.review-cover {
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border: 1px solid #354357;
  border-radius: 4px;
  background: #172230;
  color: #75859a;
  font-size: 9px
}

.review-track>div {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 4px
}

.review-track strong {
  font-size: 10px
}

.review-track small {
  overflow: hidden;
  color: #718096;
  font-size: 7px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.review-track>b {
  padding: 5px 7px;
  border: 1px solid #31574f;
  border-radius: 12px;
  color: var(--mint);
  font-size: 7px
}

.review-fields {
  padding: 5px 13px
}

.review-fields>div {
  min-height: 36px;
  display: grid;
  grid-template-columns: 90px 1fr 1.2fr;
  gap: 12px;
  align-items: center;
  border-bottom: 1px solid #1d2938;
  font-size: 9px
}

.review-fields>div:first-child {
  min-height: 27px;
  color: #64748b;
  font-size: 7px;
  text-transform: uppercase
}

.review-fields strong {
  font-size: 8px
}

.review-fields span {
  color: #78879a
}

.review-fields b {
  color: #dbe5f3;
  font-weight: 500
}

.slice-actions {
  padding: 10px 13px;
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  background: #0f161f
}

.slice-actions button {
  padding: 7px 11px;
  border: 1px solid #334155;
  border-radius: 4px;
  background: #131c27;
  color: #8998aa;
  font: inherit;
  font-size: 8px
}

.slice-actions .approve {
  border-color: var(--mint);
  background: #10241f;
  color: var(--mint)
}

/* Agent slice */
.connected {
  color: var(--mint) !important
}

.connected::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--mint)
}

.agent-request {
  margin: 12px;
  padding: 13px 15px;
  border: 1px solid #324157;
  border-radius: 6px;
  background: #0a1017;
  color: #c8d3df;
  font-size: 11px;
  line-height: 1.55
}

.agent-steps {
  padding: 0 12px
}

.agent-steps>div {
  min-height: 48px;
  display: grid;
  grid-template-columns: 22px 1fr auto;
  gap: 10px;
  align-items: center;
  border-top: 1px solid #1e2a39
}

.agent-steps i {
  width: 19px;
  height: 19px;
  display: grid;
  place-items: center;
  border: 1px solid #31574f;
  border-radius: 50%;
  color: var(--mint);
  font-size: 7px;
  font-style: normal
}

.agent-steps span,
.agent-result span {
  display: flex;
  flex-direction: column;
  gap: 3px
}

.agent-steps strong,
.agent-result strong {
  font-size: 9px
}

.agent-steps small,
.agent-result small {
  color: #718096;
  font-size: 7px
}

.agent-steps>b {
  color: var(--mint);
  font-size: 7px
}

.agent-result {
  min-height: 57px;
  padding: 10px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid #29483f;
  background: #101d1b
}

.agent-result button {
  padding: 8px 11px;
  border: 0;
  border-radius: 4px;
  background: var(--mint);
  color: #07110f;
  font: inherit;
  font-size: 8px;
  font-weight: 700
}

/* Compact Metric Lens. Knobs use the same construction as the app's Mixer/EQ controls. */
.metric-seed {
  height: 53px;
  padding: 7px 11px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #263447
}

.seed-cover {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #354357;
  border-radius: 4px;
  background: #172230;
  color: #8d9bad;
  font-size: 8px
}

.metric-seed>div {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  gap: 3px
}

.metric-seed small {
  color: #718096;
  font-size: 7px
}

.metric-seed strong {
  overflow: hidden;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.metric-seed button {
  padding: 6px 9px;
  border: 1px solid #334155;
  border-radius: 4px;
  background: #131c27;
  color: #8e9cad;
  font: inherit;
  font-size: 7px
}

.metric-rows {
  padding: 4px 11px 7px
}

.metric-row {
  height: 38px;
  display: grid;
  grid-template-columns: 112px minmax(160px, 1fr) 20px;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #1c2735
}

.metric-row:last-child {
  border-bottom: 0
}

.metric-row>span {
  display: flex;
  flex-direction: column;
  gap: 2px
}

.metric-row strong {
  font-size: 8px
}

.metric-row small {
  color: #718096;
  font-size: 6px
}

.metric-row>button {
  border: 0;
  background: transparent;
  color: #526176;
  font-size: 13px
}

.metric-range {
  position: relative;
  height: 25px
}

.metric-range::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 11px;
  height: 3px;
  border-radius: 3px;
  background: #273548
}

.metric-range>em {
  position: absolute;
  left: var(--from);
  right: calc(100% - var(--to));
  top: 11px;
  height: 3px;
  background: var(--mint);
  opacity: .76
}

.metric-knob,
.app-knob {
  position: absolute;
  top: 2px;
  width: 21px;
  height: 21px;
  display: block;
  border: 2px solid #344255;
  border-radius: 50%;
  background: #151f2b;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .48);
  transform: translateX(-50%)
}

.metric-knob.from {
  left: var(--from)
}

.metric-knob.to {
  left: var(--to)
}

.metric-knob::before,
.app-knob::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: conic-gradient(from 225deg, var(--mint) 0deg var(--knob-progress), transparent var(--knob-progress));
  opacity: .72;
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px), transparent 100%)
}

.metric-knob>b,
.app-knob>b {
  position: absolute;
  top: 2px;
  left: 50%;
  width: 2px;
  height: 5px;
  border-radius: 2px;
  background: var(--mint);
  transform: translateX(-50%) rotate(var(--knob-angle));
  transform-origin: 50% 7px
}

/* Mixer slice, copied from the real Help app builder proportions and labels. */
.metric-knob {
  top: 1px;
  width: 23px;
  height: 23px;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .48), 0 2px 4px rgba(0, 0, 0, .35)
}

.metric-knob::after {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  background: repeating-conic-gradient(from 225deg, #c7d2df 0 2deg, transparent 2deg 15deg);
  opacity: .18;
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px), transparent 100%)
}

.metric-knob>b {
  transform-origin: 50% 8px
}

.mixer-top {
  height: 39px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #263447;
  background: #111923
}

.mixer-top>div {
  display: flex;
  gap: 5px
}

.mixer-top button {
  padding: 5px 9px;
  border: 1px solid #33445a;
  border-radius: 14px;
  background: #151f2b;
  color: #aab8c9;
  font: inherit;
  font-size: 8px
}

.mixer-top button.active {
  border-color: var(--mint);
  background: var(--mint);
  color: #07110f
}

.mixer-top>span {
  font-size: 8px
}

.mixer-top>span b {
  margin-left: 8px;
  color: var(--mint)
}

.mixer-search {
  margin: 8px 10px;
  padding: 8px 9px;
  border: 1px solid #33445a;
  border-radius: 4px;
  background: #0b1119;
  color: #65758a;
  font-size: 8px
}

.mixer-rows {
  padding: 0 10px 6px
}

.mixer-row {
  min-height: 45px;
  margin-bottom: 4px;
  padding: 5px 8px;
  display: grid;
  grid-template-columns: 27px minmax(150px, 1fr) 35px 38px;
  gap: 7px;
  align-items: center;
  border: 1px solid #29394d;
  border-radius: 4px;
  background: #0c131c
}

.mixer-row:hover {
  border-color: var(--mint)
}

.drain {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px
}

.drain i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #8ade38
}

.drain small {
  color: #718096;
  font-size: 6px
}

.mixer-row>span:nth-child(2) {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px
}

.mixer-row strong {
  font-size: 8px
}

.mixer-row small {
  color: #718096;
  font-size: 7px
}

.mixer-row>em {
  color: var(--mint);
  font-size: 8px;
  font-style: normal;
  text-align: right
}

.app-knob {
  position: relative;
  top: auto;
  width: 25px;
  height: 25px;
  transform: none
}

.app-knob>b {
  top: 3px;
  transform-origin: 50% 9px
}

.app-knob.locked {
  opacity: .4
}

.mixer-footer {
  min-height: 70px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 27px;
  border-top: 1px solid #263447;
  background: #111923
}

.mixer-footer>span {
  min-width: 38px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px
}

.app-knob.large {
  width: 31px;
  height: 31px
}

.app-knob.large>b {
  height: 6px;
  transform-origin: 50% 12px
}

.mixer-footer strong {
  font-size: 8px
}

.mixer-footer small {
  color: #8090a4;
  font-size: 6px;
  letter-spacing: .08em
}

@media(max-width:1000px) {

  .product-story,
  .product-story.library-story,
  .ingredient-story {
    grid-template-columns: 1fr;
    gap: 35px
  }

  .story-message {
    max-width: 680px
  }

  .product-slice {
    width: 100%
  }
}

@media(max-width:620px) {

  .product-story,
  .product-story.library-story,
  .ingredient-story {
    padding: 68px 0
  }

  .arranged-track-list>div {
    grid-template-columns: 22px minmax(120px, 1fr) 65px 28px
  }

  .review-fields>div {
    grid-template-columns: 60px 1fr 1fr;
    gap: 7px
  }

  .metric-row {
    grid-template-columns: 82px minmax(130px, 1fr) 14px;
    gap: 5px
  }

  .mixer-footer {
    gap: 10px
  }

  .mixer-footer>span {
    min-width: 34px
  }

  .mixer-row {
    grid-template-columns: 24px minmax(110px, 1fr) 31px 34px
  }

  .slice-titlebar span {
    font-size: 8px
  }
}

/* Metric Lens Range Explorer — mirrors the real application. */
.lens-toolbar {
  min-height: 48px;
  padding: 7px 10px 7px 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #334154;
  background: #171d25
}

.lens-toolbar>span {
  display: flex;
  flex-direction: column;
  gap: 3px
}

.lens-toolbar>span strong {
  font-size: 11px
}

.lens-toolbar>span small {
  color: #8a98aa;
  font-size: 7px
}

.lens-toolbar>div {
  display: flex;
  gap: 5px
}

.lens-toolbar button {
  height: 27px;
  padding: 0 9px;
  border: 1px solid #334154;
  border-radius: 4px;
  background: #1c232c;
  color: #9aa6b6;
  font: inherit;
  font-size: 7px
}

.lens-toolbar button.active {
  border-color: #225e9c;
  background: #14263a;
  color: #268bf0
}

.lens-tabs {
  height: 40px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid #303d4d;
  background: #0c1117;
  color: #8f9aaa;
  font-size: 7px;
  text-transform: uppercase
}

.lens-tabs b {
  height: 100%;
  padding: 0 11px;
  display: flex;
  align-items: center;
  border: 1px solid #334154;
  border-bottom-color: #111820;
  border-radius: 4px 4px 0 0;
  background: #111820;
  color: #268bf0
}

.lens-tabs small {
  margin-left: auto;
  color: #8f9aaa;
  font-size: 7px;
  text-transform: none
}

.lens-range-rows {
  padding: 7px;
  background: #0c1117
}

.lens-range-row {
  height: 54px;
  margin-bottom: 5px;
  padding: 4px 9px;
  display: grid;
  grid-template-columns: 28px 142px minmax(210px, 1fr) 62px;
  gap: 8px;
  align-items: center;
  border: 1px solid #303b49;
  border-radius: 5px;
  background: #151b22
}

.lens-range-row:last-child {
  margin-bottom: 0
}

.lens-range-row.active {
  border-color: #2469a9;
  box-shadow: inset 0 0 0 1px rgba(38, 139, 240, .15)
}

.lens-toggle {
  width: 25px;
  height: 25px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid #344254;
  border-radius: 50%;
  background: #0a1016
}

.lens-toggle i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: transparent
}

.lens-range-row.active .lens-toggle i {
  background: #268bf0;
  box-shadow: 0 0 8px #268bf0
}

.lens-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px
}

.lens-copy strong {
  overflow: hidden;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.lens-copy code {
  margin-left: 4px;
  color: #268bf0;
  font: 700 6px ui-monospace, SFMono-Regular, Consolas, monospace
}

.lens-copy small {
  color: #91bdf0;
  font-size: 7px
}

.lens-range-row>em {
  color: #9bacc0;
  font-size: 7px;
  font-style: normal;
  text-align: right
}

.lens-hist {
  position: relative;
  height: 40px;
  overflow: hidden
}

.lens-selection {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 13px;
  left: var(--from);
  width: calc(var(--to) - var(--from));
  background: #1a3c62;
  opacity: .75
}

.lens-bars {
  position: absolute;
  z-index: 1;
  inset: 0 0 13px;
  display: flex;
  align-items: end;
  gap: 2px;
  padding-inline: 3px
}

.lens-bars i {
  flex: 1;
  height: var(--h);
  min-height: 1px;
  background: #245b91
}

.lens-track {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 10px;
  height: 4px;
  border-radius: 4px;
  background: #07101a;
  box-shadow: 0 0 0 1px #263b50
}

.lens-track b {
  position: absolute;
  left: var(--from);
  right: calc(100% - var(--to));
  top: 1px;
  bottom: 1px;
  background: #177dda
}

.lens-track i {
  position: absolute;
  top: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid #304963;
  border-radius: 50%;
  background: #14202d;
  box-shadow: 0 0 0 2px #0a1119, 0 0 6px rgba(38, 139, 240, .45);
  transform: translate(-50%, -50%)
}

.lens-track .left {
  left: var(--from)
}

.lens-track .right {
  left: var(--to)
}

.lens-hist>small {
  position: absolute;
  z-index: 3;
  bottom: 0;
  color: #9eb0c5;
  font-size: 6px
}

.lens-hist .min {
  left: 0
}

.lens-hist .max {
  right: 0
}

@media(max-width:620px) {
  .lens-toolbar>div button:nth-child(n+3) {
    display: none
  }

  .lens-tabs {
    gap: 12px
  }

  .lens-tabs small {
    display: none
  }

  .lens-range-row {
    grid-template-columns: 24px 96px minmax(150px, 1fr);
    gap: 5px;
    padding-inline: 5px
  }

  .lens-range-row>em {
    display: none
  }

  .lens-copy strong {
    font-size: 7px
  }

  .lens-copy small {
    font-size: 6px
  }
}

.lens-range-row>em {
  white-space: nowrap
}

.lens-range-row.active>em {
  color: #91bdf0
}

/* Equal text / product columns and both Metric Lens modes. */
.product-story,
.product-story.library-story,
.ingredient-story {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px
}

.story-message {
  max-width: 470px
}

.metric-visual-stack {
  min-width: 0;
  display: grid;
  gap: 13px
}

.metric-visual-stack .lens-range-row:nth-child(n+4) {
  display: none
}

.metric-visual-stack .lens-range-rows {
  padding-bottom: 7px
}

.neighbor-seed {
  min-height: 44px;
  margin: 7px;
  padding: 7px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid #344253;
  border-radius: 5px;
  background: #151c24
}

.neighbor-seed>span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px
}

.neighbor-seed strong {
  overflow: hidden;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap
}

.neighbor-seed small {
  color: #8290a2;
  font-size: 6px
}

.neighbor-seed button {
  height: 25px;
  padding: 0 9px;
  border: 1px solid #334154;
  border-radius: 4px;
  background: #1c232c;
  color: #aeb9c7;
  font: inherit;
  font-size: 7px;
  white-space: nowrap
}

.neighbor-rows {
  padding: 0 7px 7px
}

.neighbor-row {
  height: 55px;
  margin-bottom: 5px;
  padding: 4px 7px;
  display: grid;
  grid-template-columns: 25px 125px minmax(150px, 1fr) 35px 45px;
  gap: 6px;
  align-items: center;
  border: 1px solid #303b49;
  border-radius: 5px;
  background: #151b22
}

.neighbor-row:last-child {
  margin-bottom: 0
}

.neighbor-row.active {
  border-color: #2469a9
}

.neighbor-hist {
  position: relative;
  height: 40px;
  overflow: hidden
}

.neighbor-hist>span {
  position: absolute;
  z-index: 0;
  left: calc(var(--seed) - var(--spread));
  width: calc(var(--spread) * 2);
  top: 0;
  bottom: 13px;
  background: #1a3c62
}

.neighbor-hist .lens-bars {
  bottom: 13px
}

.neighbor-hist>b {
  position: absolute;
  z-index: 2;
  left: var(--seed);
  top: 0;
  bottom: 13px;
  width: 2px;
  background: #268bf0;
  box-shadow: 0 0 5px rgba(38, 139, 240, .55);
  transform: translateX(-50%)
}

.neighbor-hist>em {
  position: absolute;
  z-index: 2;
  left: calc(var(--seed) - var(--spread));
  bottom: 9px;
  width: calc(var(--spread) * 2);
  height: 4px;
  border-radius: 3px;
  background: #177dda
}

.neighbor-hist::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  height: 4px;
  border-radius: 4px;
  background: #07101a;
  box-shadow: 0 0 0 1px #263b50
}

.neighbor-knob {
  position: relative;
  width: 28px;
  height: 28px;
  display: block;
  border: 2px solid #344255;
  border-radius: 50%;
  background: #151f2b;
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, .55), 0 2px 4px rgba(0, 0, 0, .4)
}

.neighbor-knob::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  background: conic-gradient(from 210deg, #268bf0 0deg var(--knob-progress), transparent var(--knob-progress) 360deg);
  opacity: .72;
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px), transparent 100%)
}

.neighbor-knob::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  background: repeating-conic-gradient(from 210deg, #c7d2df 0 2deg, transparent 2deg 15deg);
  opacity: .2;
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px), transparent 100%), conic-gradient(from 210deg, #000 0deg 300deg, transparent 300deg);
  -webkit-mask-composite: source-in;
  mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 calc(100% - 2px), transparent 100%), conic-gradient(from 210deg, #000 0deg 300deg, transparent 300deg);
  mask-composite: intersect
}

.neighbor-knob i {
  position: absolute;
  top: 3px;
  left: 50%;
  width: 2px;
  height: 6px;
  border-radius: 2px;
  background: #268bf0;
  box-shadow: 0 0 4px #268bf0;
  transform: translateX(-50%) rotate(var(--knob-angle));
  transform-origin: 50% 11px
}

.neighbor-value {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  color: #9eb0c5;
  font-size: 6px
}

.neighbor-value b {
  color: #e2ebf5;
  font-size: 8px
}

.neighbor-value span {
  white-space: nowrap
}

@media(max-width:1000px) {

  .product-story,
  .product-story.library-story,
  .ingredient-story {
    grid-template-columns: 1fr
  }

  .metric-visual-stack {
    width: 100%
  }
}

@media(max-width:620px) {
  .neighbor-row {
    grid-template-columns: 23px 90px minmax(125px, 1fr) 31px;
    gap: 4px
  }

  .neighbor-value {
    display: none
  }

  .neighbor-seed strong {
    max-width: 210px
  }
}

/* Interactive Metric Lens bodies: every metric remains available inside a bounded scroll area. */
.metric-visual-stack .lens-range-row:nth-child(n+4) {
  display: grid
}

.metric-visual-stack .lens-range-rows,
.metric-visual-stack .neighbor-rows {
  max-height: 252px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #395068 #0c1117
}

.metric-visual-stack .lens-range-rows::-webkit-scrollbar,
.metric-visual-stack .neighbor-rows::-webkit-scrollbar {
  width: 7px
}

.metric-visual-stack .lens-range-rows::-webkit-scrollbar-thumb,
.metric-visual-stack .neighbor-rows::-webkit-scrollbar-thumb {
  border-radius: 6px;
  background: #395068
}

.metric-visual-stack .lens-range-rows::-webkit-scrollbar-track,
.metric-visual-stack .neighbor-rows::-webkit-scrollbar-track {
  background: #0c1117
}

.lens-tabs>b {
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit
}

.lens-tabs>b,
.lens-tabs>span {
  cursor: pointer
}

.lens-tabs>.active {
  height: 100%;
  padding: 0 11px;
  display: flex;
  align-items: center;
  border: 1px solid #334154;
  border-bottom-color: #111820;
  border-radius: 4px 4px 0 0;
  background: #111820;
  color: #268bf0
}

.neighbor-row {
  grid-template-columns: 25px 112px minmax(135px, 1fr) 35px 42px 52px
}

.neighbor-hist>span {
  left: var(--left);
  width: var(--selected)
}

.neighbor-hist>em {
  left: var(--left);
  width: var(--selected)
}

.neighbor-count {
  color: #9bacc0;
  font-size: 6px;
  font-style: normal;
  text-align: right;
  white-space: nowrap
}

.lens-empty {
  margin: 0;
  padding: 28px;
  color: #79889b;
  font-size: 8px;
  text-align: center
}

@media(max-width:620px) {
  .neighbor-row {
    grid-template-columns: 23px 86px minmax(115px, 1fr) 31px 46px
  }

  .neighbor-count {
    display: none
  }

  .metric-visual-stack .lens-range-rows,
  .metric-visual-stack .neighbor-rows {
    max-height: 230px
  }
}

.metric-mode-message {
  padding: 5px 2px 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 15px;
  align-items: baseline
}

.metric-mode-message strong {
  font-size: 13px
}

.metric-mode-message p {
  margin: 0;
  color: #8393a7;
  font-size: 9px;
  line-height: 1.5
}

.neighbor-row.active .lens-toggle i {
  background: #268bf0;
  box-shadow: 0 0 8px #268bf0
}

.lens-toggle {
  cursor: pointer
}

.lens-hist {
  cursor: ew-resize;
  touch-action: none
}

.lens-track b {
  cursor: grab
}

.lens-track b:active {
  cursor: grabbing
}

.quiet-heading,
.carousel-heading {
  display: block
}

.quiet-heading>p:last-child,
.carousel-heading>p:last-child {
  max-width: 620px;
  margin: 0;
  text-align: left
}

@media(max-width:620px) {
  .metric-mode-message {
    grid-template-columns: 1fr;
    gap: 4px
  }
}

/* Metric Lens is two independent 50/50 tool stories, not one combined message. */
.metric-story {
  display: block !important
}

.metric-tool-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 56px;
  align-items: center
}

.metric-tool-row+.metric-tool-row {
  margin-top: 76px;
  padding-top: 76px;
  border-top: 1px solid var(--line-soft)
}

.metric-story .lens-range-rows,
.metric-story .neighbor-rows {
  max-height: 252px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #395068 #0c1117
}

.metric-story .lens-range-rows::-webkit-scrollbar,
.metric-story .neighbor-rows::-webkit-scrollbar {
  width: 7px
}

.metric-story .lens-range-rows::-webkit-scrollbar-thumb,
.metric-story .neighbor-rows::-webkit-scrollbar-thumb {
  border-radius: 6px;
  background: #395068
}

.metric-story .lens-range-rows::-webkit-scrollbar-track,
.metric-story .neighbor-rows::-webkit-scrollbar-track {
  background: #0c1117
}

@media(max-width:1000px) {
  .metric-tool-row {
    grid-template-columns: 1fr;
    gap: 35px
  }

  .metric-tool-row+.metric-tool-row {
    margin-top: 64px;
    padding-top: 64px
  }
}

@media(max-width:620px) {

  .metric-story .lens-range-rows,
  .metric-story .neighbor-rows {
    max-height: 230px
  }
}

/* Desktop Metric Lens comparison: the two complete tools sit horizontally side by side. */
.metric-story {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  align-items: start
}

.metric-tool-row {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 30px
}

.metric-tool-row+.metric-tool-row {
  margin: 0;
  padding: 0;
  border-top: 0
}

.metric-tool-row .story-message {
  min-height: 190px;
  max-width: 520px
}

.metric-tool-row .product-slice {
  width: 100%
}

@media(max-width:1000px) {
  .metric-story {
    grid-template-columns: 1fr
  }

  .metric-tool-row+.metric-tool-row {
    margin-top: 64px;
    padding-top: 64px;
    border-top: 1px solid var(--line-soft)
  }

  .metric-tool-row .story-message {
    min-height: 0
  }
}

/* Editorial product-story rhythm. Each tool gets its own composition instead of
   repeating the same copy-left / interface-right row. */
@media(min-width:1001px) {
  .product-stories {
    overflow: visible
  }

  .product-story {
    position: relative;
    min-height: 610px;
    padding: 128px 0
  }

  .arrangement-story {
    grid-template-columns: minmax(280px, .34fr) minmax(0, .66fr);
    gap: 8%;
    align-items: center
  }

  .arrangement-story .product-slice {
    transform: translateY(34px)
  }

  .library-story {
    grid-template-columns: minmax(0, .64fr) minmax(280px, .36fr) !important;
    gap: 8%;
    align-items: end
  }

  .library-story .product-slice {
    grid-column: 1;
    grid-row: 1;
    transform: translateY(-30px)
  }

  .library-story .story-message {
    grid-column: 2;
    grid-row: 1;
    padding-bottom: 18px
  }

  .emotion-story {
    min-height: 720px;
    display: grid;
    grid-template-columns: minmax(0, .28fr) minmax(0, .72fr);
    grid-template-rows: auto 1fr;
    column-gap: 0;
    align-items: start
  }

  .emotion-story .story-message {
    position: relative;
    z-index: 2;
    grid-column: 1/-1;
    grid-row: 1;
    max-width: 790px;
    margin: 0 0 58px 8%
  }

  .emotion-story .story-message h2 {
    max-width: 760px;
    font-size: clamp(44px, 5vw, 70px)
  }

  .emotion-story .story-message>p {
    max-width: 610px
  }

  .emotion-story .product-slice {
    grid-column: 2;
    grid-row: 2;
    width: 100%
  }

  .metric-story {
    min-height: auto;
    padding: 132px 0;
    gap: 38px
  }

  .metric-tool-row {
    gap: 34px
  }

  .metric-tool-row:first-child {
    transform: translateY(-28px)
  }

  .metric-tool-row:last-child {
    transform: translateY(54px)
  }

  .metric-tool-row .story-message {
    min-height: 0;
    padding-inline: 22px
  }

  .metric-tool-row .story-message h2 {
    font-size: clamp(31px, 3vw, 44px)
  }

  .ingredient-story {
    min-height: 720px;
    display: grid !important;
    grid-template-columns: minmax(0, .31fr) minmax(0, .69fr) !important;
    grid-template-rows: auto 1fr;
    column-gap: 7%;
    align-items: start
  }

  .ingredient-story .story-message {
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: 150px;
    padding-top: 54px
  }

  .ingredient-story .product-slice {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    transform: scale(1.05);
    transform-origin: center left
  }
}


/* Hero product gallery */
.hero-product.hero-screen-gallery {
  width: min(86vw, 1220px);
  max-width: none;
  transform: translate(clamp(-68px, -4vw, -32px), 72px);
}

.hero-screen-gallery::before {
  inset: 6% 3% 8% 14%;
  background: rgba(38, 139, 240, .14);
  filter: blur(86px);
}

.hero-screen-gallery-layout {
  display: grid;
  grid-template-columns: 138px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
}

.hero-screen-thumbnails {
  display: grid;
  gap: 10px;
  align-content: center;
}

.hero-screen-thumbnails button {
  position: relative;
  width: 138px;
  aspect-ratio: 1.48;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(137, 163, 189, .38);
  border-radius: 10px;
  background: #0c1219;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035), 0 9px 22px rgba(0, 0, 0, .52), 0 0 16px rgba(38, 139, 240, .035);
  cursor: pointer;
  opacity: .78;
  transition: opacity .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.hero-screen-thumbnails button::after {
  content: "";
  position: absolute;
  inset: 40% 0 0;
  background: linear-gradient(transparent, rgba(3, 7, 11, .94));
  pointer-events: none;
}

.hero-screen-thumbnails button:hover,
.hero-screen-thumbnails button.active {
  opacity: 1;
  transform: translateX(4px);
  border-color: rgba(114, 178, 241, .68);
  box-shadow: inset 0 1px rgba(255, 255, 255, .055), 0 13px 30px rgba(0, 0, 0, .62), 0 0 20px rgba(38, 139, 240, .1);
}

.hero-screen-thumbnails button.active {
  border-color: rgba(85, 169, 251, .98);
  box-shadow: inset 0 1px rgba(255, 255, 255, .07), 0 0 0 1px rgba(65, 155, 246, .34), 0 14px 34px rgba(0, 0, 0, .68), 0 0 28px rgba(38, 139, 240, .2);
}

.hero-screen-thumbnails button:focus-visible {
  outline: 2px solid #79baff;
  outline-offset: 3px;
}

.hero-screen-thumbnails img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.hero-screen-thumbnails .compact-screen-tab img {
  object-fit: contain;
  object-position: center;
}

.hero-screen-thumbnails .mixer-screen-tab img {
  object-position: center 32%;
}

.hero-screen-thumbnails span {
  position: absolute;
  z-index: 2;
  right: 9px;
  bottom: 7px;
  left: 9px;
  color: #e7eef7;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .045em;
  text-align: left;
  text-shadow: 0 2px 8px #000;
}

.hero-screen-stage {
  position: relative;
  min-width: 0;
}

.hero-screen-stage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 5% 2% 8%;
  border-radius: 24%;
  background: radial-gradient(ellipse at center, rgba(50, 139, 226, .2), rgba(28, 86, 143, .08) 48%, transparent 74%);
  filter: blur(42px);
  pointer-events: none;
}

.hero-screen-open {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(151, 187, 221, .5);
  border-radius: 18px;
  background: #080d12;
  box-shadow: inset 0 1px rgba(255, 255, 255, .045), 0 0 0 1px rgba(0, 0, 0, .72), 0 30px 74px rgba(0, 0, 0, .72), 0 54px 130px rgba(0, 0, 0, .46), 0 0 42px rgba(38, 139, 240, .15);
}

.hero-screen-open .hero-desktop-app {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.hero-screen-zoom {
  position: absolute;
  right: 14px;
  bottom: 14px;
  padding: 7px 10px;
  border: 1px solid rgba(173, 194, 214, .3);
  border-radius: 8px;
  background: rgba(6, 11, 16, .82);
  color: #dce7f2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .18s ease, transform .18s ease;
}

.hero-screen-open:hover .hero-screen-zoom,
.hero-screen-open:focus-visible .hero-screen-zoom {
  opacity: 1;
  transform: translateY(0);
}

.hero-screen-open:focus-visible {
  outline: 3px solid #79baff;
  outline-offset: 4px;
}

.hero-screen-stage figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 4px 0;
  color: #667a91;
  font-size: 10px;
}

.hero-screen-stage figcaption strong {
  color: #b8c6d5;
  font-size: 11px;
  letter-spacing: .035em;
}

.hero-screen-stage .hero-remote {
  filter: drop-shadow(0 3px 0 rgba(114, 178, 241, .2)) drop-shadow(0 28px 34px rgba(0, 0, 0, .88)) drop-shadow(0 0 22px rgba(38, 139, 240, .16));
  transition: opacity .2s ease, transform .2s ease, visibility .2s step-start;
}

.hero-screen-stage .hero-remote.is-hidden {
  visibility: hidden;
  opacity: 0;
  transform: translateY(12px) scale(.97);
  transition: opacity .16s ease, transform .16s ease, visibility .16s step-end;
}

.hero-screen-dialog {
  width: min(94vw, 1480px);
  max-width: none;
  padding: 0;
  overflow: visible;
  border: 1px solid rgba(151, 177, 203, .34);
  border-radius: 14px;
  background: #080d12;
  box-shadow: 0 40px 140px rgba(0, 0, 0, .82);
}

.hero-screen-dialog::backdrop {
  background: rgba(2, 5, 8, .86);
  backdrop-filter: blur(10px);
}

.hero-screen-dialog img {
  display: block;
  width: 100%;
  max-height: 88vh;
  object-fit: contain;
  border-radius: 13px;
}

.hero-screen-dialog > strong {
  position: absolute;
  left: 14px;
  bottom: 12px;
  padding: 7px 10px;
  border-radius: 7px;
  background: rgba(4, 9, 14, .82);
  color: #dce7f2;
  font-size: 11px;
}

.hero-screen-dialog-close {
  position: absolute;
  z-index: 2;
  top: -17px;
  right: -17px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(173, 194, 214, .35);
  border-radius: 50%;
  background: #111b26;
  color: #edf4fb;
  font-size: 24px;
  cursor: pointer;
}

@media(max-width:1100px) {
  .hero-product.hero-screen-gallery {
    display: block;
    width: 100%;
    transform: none;
  }

  .hero-screen-gallery-layout {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .hero-screen-thumbnails {
    grid-row: 2;
    display: flex;
    gap: 9px;
    padding: 5px 3px 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .hero-screen-thumbnails::-webkit-scrollbar {
    display: none;
  }

  .hero-screen-thumbnails button {
    flex: 0 0 132px;
    width: 132px;
    scroll-snap-align: start;
  }

  .hero-screen-thumbnails button:hover,
  .hero-screen-thumbnails button.active {
    transform: translateY(-3px);
  }

  .hero-screen-stage {
    grid-row: 1;
  }

  .hero-screen-stage .hero-remote {
    position: absolute;
    right: -14px;
    bottom: -32px;
    width: clamp(150px, 21vw, 210px);
    margin: 0;
  }
}

@media(max-width:620px) {
  .hero-screen-open {
    border-radius: 10px;
  }

  .hero-screen-thumbnails button {
    flex-basis: 112px;
    width: 112px;
  }

  .hero-screen-stage figcaption span {
    display: none;
  }

  .hero-screen-stage .hero-remote {
    display: none;
  }

  .hero-screen-dialog-close {
    top: 8px;
    right: 8px;
  }
}

/* The long edition matrix stays out of the main scroll until requested. */
.comparison .section-heading {
  padding-bottom: 72px
}

.comparison-reveal {
  margin: 24px auto 0;
  padding: 12px 17px;
  display: flex;
  align-items: center;
  gap: 18px;
  border: 1px solid #334154;
  border-radius: 5px;
  background: #111820;
  color: #dfe8f2;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer
}

.comparison-reveal:hover {
  border-color: #52677e;
  background: #151e28
}

.comparison-reveal span {
  color: #268bf0;
  font-size: 14px;
  transition: transform .25s ease
}

.comparison-reveal[aria-expanded="true"] span {
  transform: rotate(180deg)
}

.comparison-details[hidden] {
  display: none
}

.comparison-details.is-open {
  animation: comparison-open .55s cubic-bezier(.2, .72, .2, 1) both
}

@keyframes comparison-open {
  from {
    opacity: 0;
    transform: translateY(28px)
  }

  to {
    opacity: 1;
    transform: none
  }
}

/* Keep the final CTA compact; its two halves animate into this shared baseline. */
.download-section {
  min-height: 0;
  padding: 52px 58px
}

.download-section>div:first-child {
  min-width: 0;
  flex: 1
}

.download-section .download-actions {
  align-items: center
}

/* Until real clips exist, keep the lead-in typographic. Metric Lens is the first
   product visualization on the page. */
.proof-clip-grid {
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  padding: 18px 0 92px
}

.proof-clip-grid .clip-card {
  padding-top: 24px;
  border-top: 1px solid var(--line-soft)
}

.proof-clip-grid .clip-card h2 {
  margin: 0 0 10px
}

.product-story.text-story {
  display: block !important;
  min-height: 0;
  padding: 72px 0
}

.text-story .story-message {
  max-width: none
}

.text-story .story-message h2 {
  max-width: 820px;
  margin: 0 0 18px;
  font-size: clamp(44px, 4.8vw, 64px)
}

.text-story .story-message>p {
  max-width: 570px
}

.library-story.text-story .story-message {
  width: 62%;
  margin-left: auto
}

.library-story.text-story .story-message h2 {
  max-width: 720px
}

.emotion-story.text-story .story-message {
  max-width: 900px;
  margin: 0 auto;
  text-align: center
}

.emotion-story.text-story .story-message h2 {
  max-width: 900px
}

.emotion-story.text-story .story-message>p {
  margin-inline: auto
}

@media(max-width:1000px) {
  .proof-clip-grid {
    grid-template-columns: 1fr;
    gap: 30px
  }

  .product-story.text-story {
    padding: 56px 0
  }

  .library-story.text-story .story-message {
    width: auto;
    margin-left: 0
  }

  .emotion-story.text-story .story-message {
    text-align: left
  }

  .emotion-story.text-story .story-message>p {
    margin-inline: 0
  }
}

/* Mixer uses the same blue instrumentation language as Metric Lens. */
.mixer-slice {
  border-color: #2b3d50;
  background: #0c1117;
  color: #dbe5f3
}

.mixer-top,
.mixer-footer {
  border-color: #303d4d;
  background: #171d25
}

.mixer-top button {
  border-color: #334154;
  background: #1c232c;
  color: #9aa6b6
}

.mixer-top button.active {
  border-color: #225e9c;
  background: #14263a;
  color: #268bf0
}

.mixer-top>span b,
.mixer-row>em {
  color: #268bf0
}

.mixer-picker {
  position: relative;
  margin: 8px 10px
}

.mixer-search {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  border: 1px solid #334154;
  background: #0c1117;
  color: #c4d1df;
  font: inherit;
  font-size: 8px;
  outline: none
}

.mixer-search:focus {
  border-color: #2469a9;
  box-shadow: 0 0 0 1px rgba(38, 139, 240, .16)
}

.mixer-dropdown {
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  top: calc(100% + 5px);
  max-height: 210px;
  overflow-y: auto;
  border: 1px solid #334154;
  border-radius: 5px;
  background: #111820;
  box-shadow: 0 16px 35px rgba(0, 0, 0, .5)
}

.mixer-dropdown-group {
  padding: 7px 9px 4px;
  color: #647b94;
  font-size: 6px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase
}

.mixer-option {
  width: 100%;
  padding: 7px 10px;
  display: flex;
  justify-content: space-between;
  border: 0;
  border-top: 1px solid #1f2b38;
  background: transparent;
  color: #bdc9d7;
  font: inherit;
  font-size: 8px;
  text-align: left;
  cursor: pointer
}

.mixer-option:hover,
.mixer-option.active {
  background: #14263a;
  color: #268bf0
}

.mixer-option small {
  color: #647b94;
  font-size: 6px
}

.mixer-row {
  border-color: #303b49;
  background: #151b22
}

.mixer-row:hover {
  border-color: #2469a9
}

.drain i {
  background: #268bf0;
  box-shadow: 0 0 7px rgba(38, 139, 240, .65)
}

.mixer-slice .app-knob {
  padding: 0;
  border-color: #304963;
  background: #14202d;
  cursor: ns-resize;
  touch-action: none
}

.mixer-slice .app-knob::before {
  background: conic-gradient(from 225deg, #268bf0 0deg var(--knob-progress), transparent var(--knob-progress))
}

.mixer-slice .app-knob>b {
  background: #268bf0;
  box-shadow: 0 0 4px #268bf0
}

.mixer-slice .app-knob:focus-visible {
  outline: 2px solid #268bf0;
  outline-offset: 3px
}

.mixer-top>span b.total-warning {
  color: #f2af35
}

.mixer-row {
  grid-template-columns: 27px minmax(112px, 1fr) 22px 35px 34px 18px
}

.mixer-lock {
  width: 22px;
  height: 26px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #536274;
  cursor: pointer
}

.mixer-lock svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

.mixer-lock:hover {
  color: #92a6bc
}

.mixer-lock[aria-pressed="true"] {
  color: #268bf0
}

.mixer-row.is-locked .app-knob {
  cursor: not-allowed;
  opacity: .62
}

.mixer-remove {
  width: 18px;
  height: 22px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  color: #536274;
  cursor: pointer
}

.mixer-remove svg {
  width: 13px;
  height: 13px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round
}

.mixer-remove:hover {
  color: #d57a7a
}

/* Distinct, quiet section atmospheres that all resolve into the same base. */
.arrangement-story {
  background: linear-gradient(112deg, rgba(31, 68, 102, .13), #070d13 42%, #070d13)
}

.library-story {
  background: linear-gradient(248deg, rgba(25, 78, 72, .12), #070d13 44%, #070d13)
}

.emotion-story {
  background: linear-gradient(125deg, rgba(92, 70, 34, .10), #070d13 43%, #070d13)
}

.metric-story {
  background: linear-gradient(102deg, rgba(28, 65, 105, .14), #070d13 36%, #070d13 64%, rgba(28, 65, 105, .09))
}

.ingredient-story {
  background: linear-gradient(242deg, rgba(30, 66, 90, .13), #070d13 45%, #070d13)
}

/* Flat section field: no atmospheric backgrounds or separator rules. */
.product-stories {
  border: 0
}

.product-story,
.product-story.library-story,
.ingredient-story {
  background: none !important;
  border: 0 !important
}

@media(min-width:1001px) {
  .ingredient-story {
    grid-template-columns: minmax(0, .56fr) minmax(420px, .44fr) !important;
    column-gap: 6%
  }

  .ingredient-story .product-slice {
    transform: none
  }
}

/* All rotary controls advertise interactivity consistently. */
.app-knob,
.metric-knob,
.neighbor-knob,
.mixer-slice .app-knob,
.mixer-row.is-locked .app-knob {
  cursor: pointer
}

/* One-shot hero motion at its native 16:9 ratio—no crop and no stretch. */
.marketing-hero {
  display: grid;
  grid-template-columns: minmax(480px, .88fr) minmax(520px, 1.12fr);
  gap: 64px;
  align-items: center
}

.marketing-hero .hero-copy {
  min-width: 0
}

.marketing-hero h1 {
  font-size: clamp(54px, 5.7vw, 82px)
}

.hero-motion {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  border: 1px solid var(--border-strong);
  border-radius: var(--component-radius);
  background: var(--surface-subtle);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .24)
}

.hero-motion video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain
}

.brand-motion-sound {
  position: absolute;
  z-index: 2;
  right: 14px;
  bottom: 14px;
  padding: 8px 11px;
  display: flex;
  align-items: center;
  gap: 7px;
  border: 0;
  border-radius: 4px;
  background: rgba(8, 13, 18, .84);
  color: #e3e9ef;
  font: inherit;
  font-size: 8px;
  cursor: pointer;
  backdrop-filter: blur(5px)
}

.brand-motion-sound:hover {
  background: #0b1219;
  color: #fff
}

.brand-motion-sound svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round
}

@media(max-width:1100px) {
  .marketing-hero {
    grid-template-columns: 1fr
  }

  .hero-motion {
    width: min(820px, 100%)
  }
}

@media(max-width:620px) {
  .brand-motion-sound {
    right: 9px;
    bottom: 9px
  }
}

/* Metrics and Mixer share one disciplined product grid. */
@media(min-width:1001px) {
  .metric-story {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 52px;
    align-items: start;
    padding: 118px 0
  }

  .metric-tool-row,
  .metric-tool-row:first-child,
  .metric-tool-row:last-child {
    transform: none
  }

  .metric-tool-row {
    gap: 28px
  }

  .metric-tool-row .story-message {
    min-height: 215px;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end
  }

  .metric-tool-row .story-message h2 {
    max-width: 470px;
    margin-top: 0
  }

  .metric-tool-row .product-slice {
    width: 100%;
    min-height: 382px
  }

  .ingredient-story {
    min-height: 650px;
    grid-template-columns: minmax(0, .54fr) minmax(420px, .46fr) !important;
    gap: 6%;
    align-items: center
  }

  .ingredient-story .story-message {
    position: static;
    max-width: 500px;
    padding: 0
  }

  .ingredient-story .product-slice {
    width: 100%;
    align-self: center
  }
}

/* Page-wide editorial motion and viewport focus. */
.page-motion .motion-item {
  will-change: transform, opacity, filter;
  opacity: .4;
  filter: grayscale(1);
  transition: transform 1.55s cubic-bezier(.12, .7, .18, 1), opacity 1.1s ease, filter .8s ease
}

.page-motion .motion-from-left {
  transform: translate3d(105px, -75px, 0) scale(.84) rotate(var(--sleep-rotation, 0deg))
}

.page-motion .motion-from-right {
  transform: translate3d(-105px, -75px, 0) scale(.84) rotate(var(--sleep-rotation, 0deg))
}

.page-motion .motion-copy.motion-from-left {
  transform: translate3d(70px, -48px, 0) scale(.88) rotate(var(--sleep-rotation, 0deg))
}

.page-motion .motion-copy.motion-from-right {
  transform: translate3d(-70px, -48px, 0) scale(.88) rotate(var(--sleep-rotation, 0deg))
}

.page-motion .motion-visual.motion-from-left {
  transform: translate3d(140px, 100px, 0) scale(.78) rotate(var(--sleep-rotation, 0deg))
}

.page-motion .motion-visual.motion-from-right {
  transform: translate3d(-140px, 100px, 0) scale(.78) rotate(var(--sleep-rotation, 0deg))
}

.page-motion .motion-copy {
  transition-delay: .15s;
  transition-duration: 1.43s
}

.page-motion .motion-visual {
  transition-delay: .27s;
  transition-duration: 1.63s
}

.page-motion .motion-item.motion-in {
  transform: translate3d(0, 0, 0);
  filter: grayscale(0)
}

.page-motion .motion-copy {
  opacity: .28
}

.page-motion .motion-visual {
  opacity: .38
}

.page-motion .focus-block .motion-title.motion-in {
  opacity: .26
}

.page-motion .focus-block.section-focus .motion-title.motion-in {
  opacity: 1
}

.page-motion .motion-copy.motion-in {
  opacity: .76
}

.page-motion .motion-visual.motion-in {
  opacity: 1
}

.page-motion .focus-block h1.motion-title {
  letter-spacing: -.035em
}

.page-motion .focus-block h2.motion-title {
  letter-spacing: -.025em
}

.page-motion .focus-block .motion-copy {
  letter-spacing: 0
}

.focus-block .motion-title {
  transition-property: transform, opacity, color;
  transition-duration: 1.32s, .72s, .72s
}

.eq-word {
  display: inline-block;
  white-space: nowrap
}

.eq-letter {
  display: inline-block;
  transform-origin: 50% 100%;
  will-change: transform
}

/* Keep spread animations inside the page instead of extending scroll width. */
html,
body {
  overflow-x: hidden
}

.focus-block {
  position: relative;
  isolation: isolate;
  overflow: visible
}

/* Live mirrors belong only to product scenes that have a visualization. */
.product-story:not(.text-story) .story-message,
.product-story .product-slice {
  -webkit-box-reflect: below 16px linear-gradient(to bottom, transparent 5%, rgba(255, 255, 255, .025) 34%, rgba(255, 255, 255, .085) 68%, rgba(255, 255, 255, .2) 100%);
  box-reflect: below 16px linear-gradient(to bottom, transparent 5%, rgba(255, 255, 255, .025) 34%, rgba(255, 255, 255, .085) 68%, rgba(255, 255, 255, .2) 100%)
}

/* Give every mirror a floor and enough real layout space to finish fading. */
:root {
  --mirror-runway: clamp(250px, 27vh, 350px);
  --metric-row-runway: clamp(280px, 29vh, 340px);
  --metric-exit-runway: clamp(180px, 20vh, 240px)
}

.product-story:not(.text-story):not(.metric-story) {
  margin-bottom: var(--mirror-runway)
}

.metric-story {
  margin-bottom: var(--metric-exit-runway)
}

.product-story:not(.text-story) .story-message {
  padding-bottom: var(--mirror-title-drop, 0px);
  margin-bottom: calc(var(--mirror-title-drop, 0px) * -1)
}

.product-story:not(.text-story):not(.metric-story)::after,
.metric-tool-row::after {
  content: "";
  position: absolute;
  z-index: -1;
  left: -7%;
  right: -7%;
  bottom: calc(var(--mirror-runway) * -.82 + var(--floor-inset, 0px));
  height: calc(var(--mirror-runway) * .82);
  border-top: 1px solid rgba(126, 148, 171, .14);
  background: linear-gradient(to bottom, rgba(20, 31, 42, .34), rgba(12, 20, 29, .13) 34%, transparent 88%);
  opacity: .38;
  transform: perspective(520px) rotateX(67deg) scaleX(.94);
  transform-origin: 50% 0;
  pointer-events: none;
  transition: opacity .7s ease, filter .8s ease, transform 1.15s cubic-bezier(.16, .72, .2, 1)
}

.product-story:not(.text-story).section-focus::after,
.metric-tool-row.section-focus::after {
  opacity: .82;
  filter: grayscale(.35);
  transform: perspective(520px) rotateX(67deg) scaleX(1)
}

@media(min-width:1001px) {
  .metric-tool-row:last-child {
    margin-top: var(--metric-row-runway)
  }
}

@media(max-width:1000px) {
  :root {
    --mirror-runway: 220px;
    --metric-row-runway: 270px;
    --metric-exit-runway: 180px
  }

  .product-story,
  .product-story.library-story,
  .ingredient-story {
    gap: 190px
  }

  .metric-tool-row+.metric-tool-row {
    margin-top: var(--metric-row-runway);
    padding-top: 0;
    border-top: 0
  }
}

@media(max-width:620px) {
  :root {
    --mirror-runway: 175px;
    --metric-row-runway: 230px;
    --metric-exit-runway: 150px
  }

  .product-story,
  .product-story.library-story,
  .ingredient-story {
    gap: 150px
  }
}

/* Crossed, stacked Metric Lens stories. Product surfaces are 20% narrower. */
@media(min-width:1001px) {
  .metric-story {
    display: block !important;
    padding: 118px 0
  }

  .metric-tool-row {
    display: grid;
    align-items: center;
    gap: 7%;
    min-height: 500px
  }

  .metric-tool-row:first-child {
    grid-template-columns: minmax(300px, .42fr) minmax(0, .58fr)
  }

  .metric-tool-row:last-child {
    grid-template-columns: minmax(0, .58fr) minmax(300px, .42fr);
    margin-top: 24px
  }

  .metric-tool-row .story-message {
    min-height: 0;
    max-width: 470px;
    padding: 0;
    display: block
  }

  .metric-tool-row .product-slice {
    width: 80%;
    min-height: 382px
  }

  .metric-tool-row:first-child .story-message {
    grid-column: 1;
    grid-row: 1
  }

  .metric-tool-row:first-child .product-slice {
    grid-column: 2;
    grid-row: 1;
    justify-self: start
  }

  .metric-tool-row:last-child .product-slice {
    grid-column: 1;
    grid-row: 1;
    justify-self: end
  }

  .metric-tool-row:last-child .story-message {
    grid-column: 2;
    grid-row: 1;
    justify-self: end
  }

  .ingredient-story .product-slice {
    width: 80%;
    justify-self: start
  }
}

/* Floor geometry must win over the crossed-layout prototype above. */
@media(min-width:1001px) {
  .metric-tool-row:last-child {
    margin-top: var(--metric-row-runway)
  }
}

/* Closing CTA: no card, just one centered decision. */
.download-section {
  margin-bottom: clamp(220px, 32vh, 360px);
  padding: 110px 24px;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: center
}

.download-section>div:first-child {
  width: 100%;
  flex: none
}

.download-section h2 {
  max-width: 900px;
  margin: 0 auto;
  font-size: clamp(45px, 5.5vw, 76px);
  line-height: 1.02
}

.download-message p {
  max-width: 620px;
  margin: 18px auto 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65
}

.download-section .download-actions {
  margin: 0;
  justify-content: center;
  gap: 16px
}

.download-section .download-actions .button {
  min-height: 64px;
  padding-inline: 30px;
  font-size: 17px;
  border-radius: 9px
}

@media(max-width:620px) {
  .download-section {
    margin-bottom: 180px;
    padding: 78px 14px
  }

  .download-section .download-actions {
    width: 100%
  }

  .download-section .download-actions .button {
    width: 100%
  }
}

/* Page sections flow into one another; rules remain only inside product UI. */
.quiet-heading,
.carousel-heading,
.product-stories,
.product-story,
.interactive-app-gate,
.proof-clip-grid .clip-card,
.site-footer {
  border-top: 0;
  border-right: 0;
  border-bottom: 0;
  border-left: 0;
}

/* Shared product-surface language for the comparison matrix and FAQ. */
.comparison .features-comparison,
.faq-section {
  width: min(var(--component-width), calc(100% - 48px));
  max-width: none;
  font-family: var(--font-sans)
}

.comparison .comparison-table,
.faq-container {
  border: 1px solid var(--border-strong);
  border-radius: var(--component-radius);
  background: var(--surface-subtle);
  box-shadow: none
}

.comparison .comparison-table {
  background: var(--surface-subtle)
}

.comparison .comparison-header {
  border-color: var(--border-strong);
  background: var(--surface-raised);
  color: var(--copy-secondary)
}

.comparison .comparison-row {
  border-color: var(--border-subtle);
  color: var(--copy-primary)
}

.comparison .comparison-row.highlight {
  background: var(--accent-warm-soft)
}

.comparison .comparison-row.comparison-expandable>summary:hover {
  background: var(--accent-primary-soft)
}

.comparison .comparison-row.comparison-expandable[open]>summary {
  border-color: var(--accent-primary-line);
  background: var(--accent-primary-soft)
}

.comparison .col-feature,
.comparison .comparison-detail strong,
.comparison .comparison-detail em {
  color: var(--copy-primary)
}

.comparison .col-free,
.comparison .comparison-detail {
  color: var(--copy-secondary)
}

.comparison .col-pro {
  color: var(--accent-primary)
}

.comparison .faq-icon {
  color: var(--icon-muted)
}

.comparison .comparison-row[open] .faq-icon {
  color: var(--accent-primary)
}

.comparison-reveal {
  border-color: var(--border-strong);
  border-radius: 8px;
  background: var(--surface-raised);
  color: var(--copy-primary);
  font-family: var(--font-sans)
}

.comparison-reveal:hover {
  border-color: var(--icon-muted);
  background: var(--surface-hover)
}

.comparison-reveal span {
  color: var(--accent-primary)
}

.faq-section {
  margin: 0 auto;
  padding: 110px 0
}

.faq-section .heading-2 {
  margin: 0;
  color: var(--copy-primary);
  font-family: var(--font-sans);
  font-size: clamp(36px, 4vw, 56px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.05;
  text-align: center
}

.faq-details {
  margin-top: 52px
}

.faq-container {
  gap: 0;
  overflow: hidden
}

.faq-item {
  border: 0;
  border-bottom: 1px solid var(--border-subtle);
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none
}

.faq-item:last-child {
  border-bottom: 0
}

.faq-item:hover,
.faq-item.active {
  border-color: var(--border-subtle);
  background: var(--accent-primary-soft)
}

.faq-question {
  min-height: var(--row-height);
  padding: 12px 20px;
  color: var(--copy-primary);
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45
}

.faq-question:hover {
  color: var(--copy-primary)
}

.faq-icon {
  width: 22px;
  color: var(--icon-muted);
  text-align: center;
  opacity: 1
}

.faq-item.active .faq-icon {
  color: var(--accent-primary)
}

.faq-answer {
  color: var(--copy-secondary);
  font-family: var(--font-sans);
  font-size: 13px;
  line-height: 1.65;
  background: rgba(255, 255, 255, .012)
}

.faq-item.active .faq-answer {
  padding: 15px 20px 18px;
  border-top: 1px solid var(--accent-primary-line)
}

.faq-answer strong {
  color: var(--copy-primary)
}

@media(max-width:620px) {

  .comparison .features-comparison,
  .faq-section {
    width: calc(100% - 28px)
  }

  .faq-section {
    padding: 78px 0
  }

  .faq-section .heading-2 {
    margin-bottom: 36px
  }

  .faq-question {
    min-height: 54px;
    padding: 10px;
    font-size: 12px
  }

  .faq-item.active .faq-answer {
    padding: 12px 14px 14px;
    font-size: 11px
  }
}

/* Hero environment: the collection is the architecture, not another card. */
.marketing-hero {
  position: relative;
  isolation: isolate;
  height: 42.4242vw;
  min-height: 0;
  grid-template-columns: minmax(0, 660px) 1fr;
  gap: clamp(44px, 6vw, 96px)
}

.marketing-hero::before {
  display: none
}

.hero-camera {
  position: absolute;
  z-index: -2;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  overflow: hidden;
  transform: translateX(-50%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 69%, rgba(0, 0, 0, .9) 77%, rgba(0, 0, 0, .58) 88%, rgba(0, 0, 0, .18) 96%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 69%, rgba(0, 0, 0, .9) 77%, rgba(0, 0, 0, .58) 88%, rgba(0, 0, 0, .18) 96%, transparent 100%);
  pointer-events: none
}

.hero-camera img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translate3d(var(--camera-start-x, 5%), var(--camera-start-y, 4%), 0) scale(1.24);
  background: #03070b;
  will-change: transform
}

.marketing-hero.hero-camera-active .hero-camera img {
  animation: hero-camera-travel 17s cubic-bezier(.34, .01, .18, 1) both !important
}

@keyframes hero-camera-travel {
  0% {
    transform: translate3d(var(--camera-start-x), var(--camera-start-y), 0) scale(1.24)
  }

  58% {
    transform: translate3d(var(--camera-end-x), var(--camera-end-y), 0) scale(1.24)
  }

  100% {
    transform: translate3d(0, 0, 0) scale(1)
  }
}

.marketing-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background: rgba(3, 7, 11, .16);
  pointer-events: none
}

.marketing-hero .hero-copy {
  padding: clamp(28px, 4vw, 58px) 0;
  text-shadow: 0 3px 26px rgba(0, 0, 0, .82)
}

.marketing-hero .hero-copy>p:not(.eyebrow) {
  width: fit-content;
  max-width: 590px;
  margin-left: -14px;
  padding: 10px 14px 12px;
  border-radius: 7px;
  background: rgba(3, 7, 11, .48);
  color: #bec8d4;
  box-shadow: 0 12px 38px rgba(0, 0, 0, .22);
  backdrop-filter: blur(7px)
}

.marketing-hero .proof-row {
  width: fit-content;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 5px;
  background: rgba(3, 7, 11, .44);
  color: #a7b3c1;
  text-shadow: 0 2px 9px #000;
  backdrop-filter: blur(6px)
}

@media(max-width:1100px) {
  .marketing-hero {
    height: 42.4242vw;
    min-height: 0;
    grid-template-columns: minmax(0, 620px) 1fr;
    gap: 30px
  }
}

@media(max-width:760px) {
  .marketing-hero {
    height: min(680px, calc(100svh - 68px));
    min-height: 560px;
    grid-template-columns: 1fr;
    align-content: center;
    padding: 72px 0 54px
  }

  .hero-camera img {
    object-position: center
  }

  .marketing-hero::after {
    background: rgba(3, 7, 11, .58)
  }

  .marketing-hero .hero-copy {
    padding: 0
  }

  .marketing-hero .hero-copy>p:not(.eyebrow) {
    max-width: 100%;
    margin-left: -8px;
    padding: 9px 8px 11px
  }
}

/* Live hero: miniature records roll under gravity, sort into compact queues,
   then selected records drop into an ordered playlist. */
.marketing-hero {
  width: min(1440px, calc(100% - 56px));
  height: auto;
  min-height: calc(100svh - 72px);
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-content: start;
  align-items: center;
  gap: clamp(64px, 7vh, 84px);
  padding: clamp(96px, 10vh, 132px) 0 220px;
  background: transparent
}

.marketing-hero::after {
  display: none
}

.hero-live-field {
  position: absolute;
  z-index: -2;
  inset: 0 50%;
  width: 100vw;
  overflow: hidden;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 76% 42%, rgba(38, 139, 240, .13), transparent 36%),
    radial-gradient(circle at 18% 52%, rgba(91, 119, 147, .09), transparent 34%),
    linear-gradient(180deg, rgba(9, 13, 18, .98) 0%, rgba(7, 11, 16, .9) 72%, rgba(5, 8, 12, 0) 100%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 86%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 86%, transparent 100%);
  pointer-events: none
}

.hero-live-field::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 10, 14, .78) 0%, rgba(7, 10, 14, .44) 34%, rgba(7, 10, 14, .04) 72%, rgba(7, 10, 14, .34) 100%);
  pointer-events: none
}

.hero-live-field svg {
  display: block;
  width: 100%;
  height: 100%;
  opacity: .82
}

.hero-field-haze {
  animation: hero-field-breathe 8s ease-in-out infinite alternate;
  transform-box: fill-box;
  transform-origin: center
}

.hero-field-haze-cool {
  animation-delay: -3.5s
}

.hero-sorter-track {
  fill: none;
  stroke: #638aab;
  stroke-width: .85;
  opacity: .025;
  stroke-linecap: round
}

.hero-sorter-tracks,
.hero-sorter-rack,
.hero-sorter-objects {
  will-change: opacity
}

.hero-sorter-track.is-jagged {
  stroke-dasharray: 3 7
}

.hero-sorter-rack {
  opacity: .3
}

.hero-sorter-rack-base,
.hero-sorter-rack-slot {
  fill: none;
  stroke: #6f8599;
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke
}

.hero-sorter-rack-base {
  stroke-width: 1.15;
  opacity: .54
}

.hero-sorter-rack-base.accent-blue {
  stroke: #397fbe
}

.hero-sorter-rack-base.accent-amber {
  stroke: #d8a33d
}

.hero-sorter-rack-base.accent-mint {
  stroke: #3fb694
}

.hero-sorter-rack-base.accent-violet {
  stroke: #a879d3
}

.hero-sorter-rack-base.accent-red {
  stroke: #d95757
}

.hero-sorter-rack-base.accent-cyan {
  stroke: #45b8d8
}

.hero-sorter-rack-base.accent-rose {
  stroke: #d96b9c
}

.hero-sorter-rack-base.accent-lime {
  stroke: #88bd55
}

.hero-sorter-chute {
  fill: none;
  stroke: rgba(111, 133, 153, .62);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke
}

.hero-sorter-outlet-route {
  fill: none;
  stroke: transparent;
  stroke-width: 0;
  vector-effect: non-scaling-stroke
}

.hero-playlist-guides {
  opacity: 0
}

.hero-playlist-rail,
.hero-playlist-tick {
  fill: none;
  stroke: rgba(122, 151, 177, .62);
  stroke-width: 1;
  vector-effect: non-scaling-stroke
}

.hero-playlist-rail {
  stroke: rgba(122, 151, 177, .52)
}

.hero-playlist-tick {
  opacity: .52
}

.hero-sorter-rack-slot {
  opacity: .62
}

.hero-ambient-vinyl-layer {
  opacity: .76;
}

.hero-ambient-vinyl {
  transform-box: fill-box;
  transform-origin: center;
  animation: hero-ambient-vinyl-spin 1.8s linear infinite;
}

.hero-vinyl-intro .hero-ambient-vinyl-motion {
  transform: translateY(260px);
  transition: transform 3.2s cubic-bezier(.22, .72, .2, 1);
}

.hero-vinyl-intro.hero-vinyl-arrived .hero-ambient-vinyl-motion {
  transform: translateY(0);
}

@media(min-width:1101px) {
  .hero-vinyl-intro .hero-screen-gallery.cover-screen-active .hero-screen-open {
    transform: translateY(-170px);
    transition: transform 3.2s cubic-bezier(.22, .72, .2, 1);
  }

  .hero-vinyl-intro.hero-vinyl-arrived .hero-screen-gallery.cover-screen-active .hero-screen-open {
    transform: translateY(0);
  }
}

.hero-vinyl-intro .hero-ambient-vinyl {
  animation-play-state: paused;
}

.hero-vinyl-intro.hero-vinyl-spinning .hero-ambient-vinyl {
  animation-play-state: running;
}

.hero-ambient-vinyl-edge {
  fill: #000;
  stroke: rgba(92, 103, 113, .4);
  stroke-width: 2;
}

.hero-ambient-vinyl-face {
  fill: #020304;
}

.hero-ambient-vinyl-groove {
  fill: none;
  stroke: rgba(134, 144, 153, .24);
  stroke-width: 1;
}

.hero-ambient-vinyl-leadin,
.hero-ambient-vinyl-runout {
  fill: none;
  stroke: rgba(164, 175, 184, .34);
  stroke-width: 1.2;
}

.hero-ambient-vinyl-texture {
  fill: #d8e0e6;
  filter: url(#hero-vinyl-texture);
  opacity: .42;
  mix-blend-mode: screen;
}

.hero-ambient-vinyl-grain {
  fill: rgba(191, 202, 211, .2);
}

.hero-ambient-vinyl-scuff {
  fill: none;
  stroke: rgba(183, 195, 204, .26);
  stroke-width: 1.15;
  stroke-linecap: round;
}

.hero-ambient-vinyl-label-edge {
  fill: #08090b;
  stroke: rgba(229, 96, 90, .35);
  stroke-width: 2;
}

.hero-ambient-vinyl-label {
  fill: #8f2730;
  stroke: #bc4547;
  stroke-width: 1.2;
}

.hero-ambient-vinyl-label-name,
.hero-ambient-vinyl-label-detail {
  fill: #f2e8df;
  font-family: Inter, Arial, sans-serif;
  text-anchor: middle;
}

.hero-ambient-vinyl-label-name {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.1px;
}

.hero-ambient-vinyl-label-detail {
  fill: rgba(242, 232, 223, .7);
  font-size: 6px;
  font-weight: 600;
  letter-spacing: .55px;
}

.hero-ambient-vinyl-star-shadow {
  fill: #4d2608;
  opacity: .9;
}

.hero-ambient-vinyl-star {
  fill: url(#hero-label-star-gold);
  stroke: #f6ce62;
  stroke-width: 1.1;
  stroke-linejoin: round;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .58));
}

.hero-ambient-vinyl-hole {
  fill: #000;
  stroke: rgba(15, 20, 24, .86);
  stroke-width: 1;
}

.record-edge {
  fill: #05070a;
  stroke: #6d8295;
  stroke-width: .65
}

.record-face {
  fill: url(#hero-record-sheen)
}

.record-groove {
  fill: none;
  stroke: rgba(160, 185, 206, .19);
  stroke-width: .45
}

.record-label {
  fill: #397fbe
}

.accent-amber .record-label {
  fill: #d8a33d
}

.accent-mint .record-label {
  fill: #3fb694
}

.accent-violet .record-label {
  fill: #a879d3
}

.accent-red .record-label {
  fill: #d95757
}

.accent-cyan .record-label {
  fill: #45b8d8
}

.accent-rose .record-label {
  fill: #d96b9c
}

.accent-lime .record-label {
  fill: #88bd55
}

.record-hole {
  fill: #071018;
  stroke: rgba(235, 242, 248, .34);
  stroke-width: .45
}

.record-motion-mark {
  stroke: rgba(225, 237, 247, .4);
  stroke-width: .75;
  stroke-linecap: round
}

@keyframes hero-field-breathe {
  from { transform: scale(.92); opacity: .72 }
  to { transform: scale(1.08); opacity: 1 }
}

@keyframes hero-ambient-vinyl-spin {
  to { transform: rotate(360deg) }
}

.marketing-hero .hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  grid-column: 1;
  grid-row: 1;
  width: min(1120px, 100%);
  margin: 0 auto;
  padding: 0;
  text-align: center;
  text-shadow: none
}

.marketing-hero h1 {
  max-width: 1120px;
  margin: 0 auto;
  font-size: clamp(54px, 5.2vw, 82px);
  line-height: 1;
  letter-spacing: -.055em
}

.marketing-hero .hero-accessible-title {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.marketing-hero .hero-copy-sleeve-spacer {
  min-height: clamp(300px, 35vh, 360px);
  justify-content: center;
}

.marketing-hero .hero-sleeve-title {
  max-width: 940px;
  color: #eef3fb;
  text-shadow: 0 8px 34px rgba(0, 0, 0, .72);
}

.marketing-hero .hero-free-action {
  width: auto;
  margin-top: 28px;
}

.marketing-hero .hero-free-action .button {
  min-width: 164px;
}

.marketing-hero .hero-copy>p:not(.eyebrow) {
  width: auto;
  max-width: 610px;
  margin-left: 0;
  padding: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  color: #aeb9c7
}

.marketing-hero .hero-copy > .hero-platform-line {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 18px;
  max-width: 1040px;
  margin: 22px auto 0;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.3
}

.hero-platform-kicker {
  color: var(--amber);
  font-size: clamp(18px, 1.45vw, 22px);
  letter-spacing: -.018em
}

.hero-platforms {
  display: inline-flex;
  align-items: center;
  gap: 8px
}

.hero-platforms > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 12px 7px 9px;
  border: 1px solid rgba(108, 132, 156, .32);
  border-radius: 9px;
  background: rgba(15, 24, 34, .82);
  box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 8px 24px rgba(0, 0, 0, .16);
  color: #e3eaf2;
  font-size: 13px;
  white-space: nowrap
}

.hero-platforms img {
  width: 32px;
  height: 32px
}

.platform-picker img {
  width: 32px;
  height: 32px
}

.marketing-hero .hero-positioning-strap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: min(1040px, 100%);
  margin: 28px auto 0;
  font-family: var(--font-sans);
  font-size: clamp(12px, 1.05vw, 14px);
  font-weight: 600;
  letter-spacing: .14em;
  line-height: 1.35;
  text-transform: uppercase
}

.hero-positioning-primary,
.hero-positioning-secondary {
  white-space: nowrap
}

.hero-positioning-primary {
  color: var(--amber)
}

.hero-positioning-secondary {
  color: #bdc8d5
}

.hero-positioning-rule {
  width: clamp(36px, 5vw, 72px);
  height: 1px;
  flex: 0 1 auto;
  background: linear-gradient(90deg, rgba(242, 179, 63, .18), rgba(242, 179, 63, .78), rgba(242, 179, 63, .18))
}

.marketing-hero .proof-row {
  gap: 16px;
  width: fit-content;
  margin: 18px auto 0;
  padding: 0;
  background: none;
  color: #b9c7d6;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-shadow: none;
  backdrop-filter: none
}

.marketing-hero .hero-actions,
.marketing-hero .proof-row {
  justify-content: center
}

.marketing-hero .hero-actions {
  width: 100%;
  margin-top: 36px
}

.marketing-hero .proof-row span + span::before {
  margin-right: 16px
}

.hero-product {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 2;
  width: min(70vw, 1000px);
  margin: 0 auto;
  justify-self: center;
  transform: none;
}

.hero-product::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% 4%;
  border-radius: 50%;
  background: rgba(38, 139, 240, .11);
  filter: blur(72px)
}

.hero-product > .hero-desktop-app {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(151, 177, 203, .2);
  border-radius: 18px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .5), 0 26px 80px rgba(0, 0, 0, .48)
}

.hero-remote {
  position: absolute;
  z-index: 3;
  right: clamp(-86px, -9.3vw, -113px);
  bottom: clamp(-38px, -4.6vw, -56px);
  width: clamp(170px, 14vw, 205px);
  filter: drop-shadow(0 24px 34px rgba(0, 0, 0, .66))
}

.hero-remote img {
  display: block;
  width: 100%;
  height: auto;
  border: 0
}

.hero-remote-callout {
  position: absolute;
  z-index: 4;
  right: 8px;
  top: -56px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px 8px 9px;
  border: 1px solid rgba(88, 185, 232, .28);
  border-radius: 10px;
  background: rgba(10, 17, 24, .82);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .32);
  color: #d5e1ec;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .055em;
  line-height: 1.18;
  text-transform: uppercase;
  white-space: nowrap
}

.hero-remote-callout::after {
  content: "";
  position: absolute;
  right: 24px;
  top: 100%;
  width: 1px;
  height: 14px;
  background: linear-gradient(rgba(88, 185, 232, .4), transparent)
}

.hero-wifi-mark {
  position: relative;
  width: 21px;
  height: 16px;
  flex: 0 0 auto
}

.hero-wifi-mark::before,
.hero-wifi-mark::after,
.hero-wifi-mark i {
  content: "";
  position: absolute;
  left: 50%;
  border: 2px solid #58b9e8;
  border-color: #58b9e8 transparent transparent;
  border-radius: 50%;
  transform: translateX(-50%)
}

.hero-wifi-mark::before {
  top: 0;
  width: 20px;
  height: 14px
}

.hero-wifi-mark::after {
  top: 5px;
  width: 11px;
  height: 8px
}

.hero-wifi-mark i {
  top: 11px;
  width: 2px;
  height: 2px;
  border: 0;
  background: #58b9e8
}

@media(max-width:1100px) {
  .marketing-hero {
    width: min(100% - 40px, 980px);
    height: auto;
    min-height: calc(100svh - 72px);
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 92px 0 72px
  }

  .hero-live-field {
    display: none
  }

  .marketing-hero .hero-copy {
    max-width: 820px;
    text-align: center
  }

  .marketing-hero .hero-copy-sleeve-spacer {
    min-height: 0;
  }

  .hero-product {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 34px;
    width: min(980px, 100%);
    margin: 0 auto;
    justify-self: center;
    transform: none
  }

  .hero-product > .hero-desktop-app {
    order: 1;
    width: 100%
  }

  .hero-remote {
    position: relative;
    right: auto;
    bottom: auto;
    order: 2;
    width: clamp(180px, 28vw, 240px);
    margin-top: 14px;
    transform: none
  }

  .hero-remote-callout {
    position: static;
    justify-content: center;
    margin-bottom: 12px;
    transform: none
  }

  .hero-remote-callout::after {
    display: none
  }

  .marketing-hero .proof-row {
    justify-content: center;
    font-size: 13px
  }
}

@media(max-width:620px) {
  .marketing-hero {
    width: calc(100% - 28px);
    min-height: auto;
    align-content: start;
    padding: 28px 0 48px;
    gap: 0
  }

  .marketing-hero h1 {
    font-size: clamp(42px, 13vw, 62px)
  }

  .marketing-hero .hero-copy > .hero-platform-line {
    margin-top: 16px;
    gap: 9px 10px
  }

  .marketing-hero .hero-positioning-strap {
    display: block;
    max-width: 350px;
    margin-top: 20px;
    font-size: 11px;
    letter-spacing: .1em;
    line-height: 1.75
  }

  .hero-positioning-primary,
  .hero-positioning-secondary {
    white-space: normal
  }

  .hero-positioning-rule {
    display: inline-block;
    width: 22px;
    margin: 0 8px;
    vertical-align: middle
  }

  .hero-platform-kicker {
    font-size: 19px
  }

  .hero-platforms {
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px
  }

  .hero-platforms > span {
    padding: 6px 9px 6px 7px;
    font-size: 12px
  }

  .hero-platforms img {
    width: 28px;
    height: 28px
  }

  .marketing-hero .hero-actions {
    flex-wrap: wrap
  }

  .marketing-hero .hero-actions .button {
    flex: 1 1 150px
  }

  .marketing-hero .proof-row {
    gap: 9px 12px;
    margin-top: 18px;
    font-size: 12px
  }

  .marketing-hero .proof-row span + span::before {
    margin-right: 12px
  }

  .hero-live-field::after {
    background: rgba(7, 10, 14, .36)
  }

  .hero-sorter-tracks,
  .hero-sorter-rack,
  .hero-sorter-objects {
    display: none
  }

  .hero-product > .hero-desktop-app {
    border-radius: 10px
  }

  .hero-product {
    gap: 26px
  }

  .hero-remote-callout {
    gap: 4px;
    margin-bottom: 9px;
    font-size: 9px
  }

  .hero-remote {
    width: clamp(156px, 48vw, 200px);
    margin-top: 4px
  }

  .hero-wifi-mark {
    transform: scale(.8)
  }
}

/* Two substantial proofs replace the repeated narrative sections. */
.proof-clips {
  padding-top: clamp(76px, 10vh, 118px)
}

.proof-clip-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(54px, 7vw, 108px);
  padding: 0 0 clamp(110px, 16vh, 180px)
}

.proof-clip-grid-single {
  grid-template-columns: minmax(0, 840px)
}

.proof-clip-grid .clip-card {
  min-height: 330px;
  padding: 0;
  display: flex;
  flex-direction: column;
  justify-content: center
}

.proof-clip-grid .clip-card h2 {
  max-width: 560px;
  margin: 0 0 22px;
  color: var(--copy-primary);
  font-size: clamp(34px, 3.8vw, 54px);
  line-height: 1.04;
  letter-spacing: -.045em
}

.proof-clip-grid .clip-card p {
  max-width: 590px;
  color: var(--copy-secondary);
  font-size: 15px;
  line-height: 1.72
}

.proof-capabilities {
  margin: 26px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none
}

.proof-capabilities li {
  padding: 7px 10px;
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  background: rgba(255, 255, 255, .018);
  color: var(--copy-secondary);
  font-size: 11px
}

/* Short, readable editorial explanation shared by each product story. */
.story-message>.story-summary {
  max-width: 620px !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #aebdce !important;
  font-size: 18px !important;
  line-height: 1.62 !important;
  box-shadow: none
}

.emotion-story .story-message>.story-summary {
  margin-inline: auto
}

@media(max-width:1000px) {
  .emotion-story .story-message>.story-summary {
    margin-inline: 0
  }
}

@media(max-width:620px) {
  .story-message>.story-summary {
    padding: 0;
    font-size: 16px !important
  }
}

/* Let the hero fade finish before the first product statement begins. */
.marketing-hero+.product-stories {
  padding-top: 72px
}

@media(max-width:620px) {
  .marketing-hero+.product-stories {
    padding-top: 48px
  }
}

/* Compact platform setup guidance between pricing and FAQ. */
.home-installation {
  width: min(1120px, calc(100% - 48px));
  max-width: none;
  margin: 0 auto;
  padding: 96px 0;
  border-top: 1px solid var(--line-soft);
  text-align: left
}

.home-installation .section-heading {
  padding-top: 0
}

.home-installation .installation-container {
  max-width: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px
}

.home-installation .installation-card {
  min-width: 0;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--soft);
  backdrop-filter: none
}

.home-installation .installation-header {
  margin-bottom: 18px
}

.home-installation .installation-header h3 {
  margin: 0;
  font-size: 20px;
  letter-spacing: -.025em
}

.home-installation .installation-content p,
.home-installation .installation-steps {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65
}

.home-installation .installation-steps {
  margin: 0 0 18px;
  padding-left: 20px
}

.home-installation .installation-steps li {
  margin-bottom: 8px
}

.home-installation .installation-steps strong {
  color: var(--text)
}

.home-installation .code-block {
  width: 100%;
  min-width: 0;
  margin: 14px 0;
  padding: 13px 14px;
  display: block;
  border: 1px solid var(--line);
  border-left: 3px solid var(--mint);
  border-radius: 6px;
  background: #070b10
}

.home-installation .code-block code {
  color: var(--mint);
  font-size: 12px;
  white-space: nowrap
}

.home-installation .installation-note {
  margin-top: 16px !important;
  padding: 11px 12px;
  border-left-color: var(--amber);
  background: rgba(242, 179, 63, .055);
  font-size: 12px
}

@media(max-width:900px) {
  .home-installation .installation-container {
    grid-template-columns: 1fr
  }
}

@media(max-width:620px) {
  .home-installation {
    width: calc(100% - 28px);
    padding: 72px 0
  }

  .home-installation .installation-card {
    padding: 20px
  }

  .home-installation .installation-header {
    flex-direction: row;
    align-items: center
  }

  .home-installation .code-block code {
    font-size: 11px
  }
}

.metric-tool-row[hidden] {
  display: none !important
}

.metric-story .metric-tool-row:not([hidden]) {
  margin-top: 0 !important
}

@media(max-width:900px) {
  .proof-clip-grid {
    grid-template-columns: 1fr;
    gap: 70px
  }

  .proof-clip-grid .clip-card {
    min-height: 0
  }
}

/* Metadata normalization is a concept diagram, not a fictional application surface. */
.metadata-story {
  grid-template-columns: minmax(300px, .82fr) minmax(560px, 1.18fr)
}

.identity-normalization-diagram {
  min-height: 420px;
  padding: 42px;
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(150px, .7fr) minmax(180px, .72fr);
  grid-template-rows: 1fr auto;
  align-items: center;
  column-gap: 0;
  border: 0;
  background: transparent;
  color: var(--copy-primary)
}

.identity-variants {
  display: grid;
  gap: 12px
}

.identity-variants span {
  min-height: 48px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  background: var(--surface-subtle);
  color: var(--copy-secondary);
  font-size: 13px;
  font-weight: 600
}

.identity-convergence {
  width: 100%;
  height: 240px;
  overflow: visible
}

.identity-convergence path,
.identity-convergence circle {
  fill: none;
  stroke: var(--icon-muted);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke
}

.identity-convergence circle {
  fill: var(--surface-subtle);
  stroke: var(--accent-primary);
  stroke-width: 2
}

.identity-convergence .identity-arrow-line,
.identity-convergence .identity-arrow-head {
  stroke: var(--accent-primary);
  stroke-width: 2
}

.identity-result {
  min-height: 156px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--accent-primary-line);
  border-radius: 10px;
  background: var(--accent-primary-soft)
}

.identity-result small {
  color: var(--copy-secondary);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase
}

.identity-result strong {
  margin-top: 8px;
  font-size: clamp(38px, 4vw, 58px);
  letter-spacing: -.055em
}

.identity-methods {
  grid-column: 1/-1;
  margin-top: 26px;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--border-subtle);
  color: var(--copy-secondary);
  font-size: 10px
}

.identity-methods span {
  display: flex;
  gap: 7px
}

.identity-methods b {
  color: var(--copy-primary)
}

@media(max-width:1000px) {
  .metadata-story {
    grid-template-columns: 1fr
  }
}

@media(max-width:620px) {
  .identity-normalization-diagram {
    padding: 24px 6px;
    grid-template-columns: 1fr;
    grid-template-rows: auto 92px auto auto
  }

  .identity-convergence {
    height: 92px;
    transform: rotate(90deg) scale(.46);
    transform-origin: center
  }

  .identity-methods {
    flex-direction: column
  }
}

/* Compact homepage rhythm: preserve the scenes without scrolling through
   large areas of empty runway between them. */
:root {
  --mirror-runway: 110px;
  --metric-row-runway: 180px;
  --metric-exit-runway: 70px
}

.product-story.text-story {
  padding-top: 11em;
}

.metric-story {
  padding-top: 82px !important;
  padding-bottom: 82px !important
}

.ingredient-story {
  min-height: 0 !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important
}

.download-section {
  margin-bottom: 48px;
  padding: 48px 24px;
  gap: 20px
}

.download-section h2 {
  font-size: clamp(32px, 3.2vw, 42px)
}

.comparison {
  --mint: var(--amber);
  --accent-primary: var(--amber);
  --accent-primary-soft: rgba(242, 179, 63, .045);
  --accent-primary-line: rgba(242, 179, 63, .2);
  padding-top: 24px;
  padding-bottom: 72px
}

.comparison .comparison-reveal {
  border-color: rgba(242, 179, 63, .42)
}

.comparison .comparison-reveal:hover {
  border-color: var(--amber);
  background: rgba(242, 179, 63, .07)
}

.comparison .comparison-reveal:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 2px;
  box-shadow: none
}

.comparison>.section-heading {
  padding-top: 64px;
  padding-bottom: 48px
}

.home-installation {
  padding-top: 56px;
  padding-bottom: 56px
}

.home-installation>.section-heading {
  padding-bottom: 38px
}

.faq-section {
  padding-top: 56px;
  padding-bottom: 56px
}

.faq-details {
  margin-top: 32px
}

.faq-container {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  column-gap: 0
}

/* Real download and PayPal purchase flow, shared with the production page. */
.purchase-section {
  --mint: var(--amber);
  width: min(1180px, calc(100% - 48px));
  margin: 26px auto 48px;
  padding: 54px 0 48px
}

.purchase-product-image {
  width: clamp(340px, 38vw, 470px);
  margin: -34px auto 52px;
  aspect-ratio: 1;
  position: relative;
  z-index: 0;
  pointer-events: none
}

.purchase-product-image>img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 24px 34px rgba(0, 0, 0, .42))
}

.purchase-heading {
  max-width: 780px;
  margin: 0 auto 42px;
  text-align: center
}

.purchase-heading h2 {
  margin: 0;
  color: var(--copy-primary);
  font-size: clamp(34px, 4.2vw, 56px);
  line-height: 1.02;
  letter-spacing: -.045em
}

.purchase-heading p {
  max-width: 620px;
  margin: 18px auto 0;
  color: var(--copy-secondary);
  font-size: 17px;
  line-height: 1.55
}

.purchase-options {
  display: grid;
  grid-template-columns: 1fr 1.12fr;
  gap: 18px;
  align-items: stretch;
  width: min(100%, 980px);
  margin: 0 auto
}

.purchase-card {
  min-width: 0;
  padding: 34px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 22px;
  background: rgba(255, 255, 255, .025)
}

.purchase-card-premium {
  border-color: rgba(242, 179, 63, .28);
  background: linear-gradient(145deg, rgba(242, 179, 63, .065), rgba(255, 255, 255, .02) 54%)
}

.purchase-card-copy {
  margin-bottom: 26px
}

.purchase-card h3 {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 0;
  color: var(--copy-primary);
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.08;
  letter-spacing: -.035em
}

.purchase-card-copy p {
  margin: 12px 0 0;
  color: var(--copy-secondary);
  font-size: 15px
}

.purchase-price {
  color: var(--mint);
  white-space: nowrap
}

.purchase-card .download-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 0
}

.purchase-card .download-btn {
  justify-content: center;
  gap: 8px;
  min-width: 0;
  padding: 13px 10px;
  border-radius: 12px
}

.purchase-card .download-btn .icon {
  width: 24px;
  height: 24px
}

.purchase-card .download-btn .platform {
  font-size: 14px
}

.purchase-card .version-tag {
  display: block;
  margin: 10px 0 0
}

.purchase-card a.version-tag {
  text-decoration: none;
  transition: color .18s ease, opacity .18s ease;
}

.purchase-card a.version-tag:hover,
.purchase-card a.version-tag:focus-visible {
  color: var(--amber);
  opacity: .9;
}

.purchase-cta {
  display: block;
  width: min(100%, 240px);
  min-height: 52px;
  margin: 0 auto;
  padding: 13px 20px;
  border: 1px solid rgba(255, 255, 255, .17);
  border-radius: 12px;
  background: rgba(255, 255, 255, .065);
  color: var(--copy-primary);
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease
}

.purchase-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(190px, 240px));
  justify-content: center;
  align-items: start;
  gap: 14px;
  width: 100%;
  margin: 0 auto
}

.purchase-action {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center
}

.purchase-cta:hover {
  transform: translateY(-2px);
  border-color: var(--mint);
  background: rgba(242, 179, 63, .09)
}

.purchase-cta-premium {
  border-color: rgba(81, 207, 166, .42);
  background: var(--mint);
  color: #07130f
}

.purchase-cta-premium:hover {
  background: #ffc657
}

.purchase-assurances {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 22px
}

.purchase-assurances .coupon-hint {
  gap: 7px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--amber);
  font-size: 13px
}

.purchase-assurances #coupon-icon {
  width: 28px;
  height: 22px;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="50" height="32" viewBox="0 0 31 24" fill="none" stroke="%23f2b33f" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><path d="M27 5H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1 2 2 0 1 1 0 4 1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h24a1 1 0 0 0 1-1v-4a1 1 0 1 1 0-4 1 1 0 0 0 1-1V6a1 1 0 0 0-1-1Z"/><line x1="19" y1="5" x2="19" y2="19" stroke-dasharray="2 2"/></svg>')
}

.purchase-assurances #paypalLogo {
  width: 180px;
  height: auto
}

.purchase-card .trust-message {
  margin: 13px 0 0;
  font-size: 12px
}

.purchase-card .trust-shield-icon {
  color: var(--amber)
}

.checkout-choice {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0
}

[data-unified-checkout] .download-dialog {
  --mint: var(--amber);
  width: min(570px, 100%);
  padding: 22px 28px
}

[data-unified-checkout] .download-dialog header h2 {
  margin: 4px 0 6px;
  font-size: 28px
}

[data-unified-checkout] .download-dialog header p {
  margin-bottom: 12px
}

[data-unified-checkout] .download-dialog label:not(.terms-row),
[data-unified-checkout] .checkout-choice legend {
  margin: 9px 0 5px
}

[data-unified-checkout] .platform-picker {
  margin-bottom: 10px
}

[data-unified-checkout] .platform-picker button,
[data-unified-checkout] .checkout-tier-picker button {
  padding-top: 10px;
  padding-bottom: 10px
}

[data-unified-checkout] .download-dialog input[type=email],
[data-unified-checkout] .download-dialog input[type=text] {
  padding: 10px 12px
}

.checkout-choice legend {
  margin: 13px 0 7px;
  color: var(--muted);
  font-size: 12px
}

.checkout-tier-picker {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 3px
}

.checkout-tier-picker button {
  min-width: 0;
  padding: 13px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  text-align: left;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #09111a;
  color: var(--muted);
  cursor: pointer
}

.checkout-tier-picker button:disabled {
  opacity: 1;
  cursor: default;
  pointer-events: none
}

.checkout-tier-picker button span {
  display: grid;
  gap: 3px
}

.checkout-tier-picker button strong,
.checkout-tier-picker button b {
  color: var(--text)
}

.checkout-tier-picker button small {
  color: var(--muted);
  font-size: 10px
}

.checkout-tier-picker button.active {
  border-color: var(--mint);
  background: rgba(79, 213, 174, .08)
}

.checkout-tier-picker button.active b {
  color: var(--mint)
}

.download-dialog .coupon-row button {
  color: var(--text);
  cursor: pointer
}

.coupon-result.error {
  color: #ff7882
}

[data-premium-fields]:not([hidden]) {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: start;
  margin-top: 10px
}

.checkout-coupon {
  max-width: 330px
}

.checkout-recovery {
  margin-top: 2px;
  padding-top: 13px;
  display: block;
  border-top: 1px solid var(--line-soft)
}

.checkout-recovery>strong {
  display: block;
  color: var(--text);
  font-size: 14px
}

.checkout-recovery>p {
  display: block;
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px
}

.checkout-recovery>label {
  display: block;
  margin-top: 11px !important
}

.checkout-recovery>input {
  display: block;
  margin-top: 0;
  width: 100%
}

.checkout-recovery>small {
  display: block;
  margin-top: 5px;
  color: #72859c;
  font-size: 10px;
  line-height: 1.45
}

.checkout-terms-note {
  margin: 11px 0 8px;
  color: #72859c;
  font-size: 11px;
  line-height: 1.4
}

[data-unified-checkout] [data-continue-checkout] {
  margin-top: 12px;
  background: var(--mint);
  color: #06130f
}

[data-unified-checkout] [data-continue-checkout]:hover {
  background: #ffc657
}

[data-unified-checkout] button:focus-visible,
[data-unified-checkout] input:focus-visible,
.terms-modal-overlay button:focus-visible {
  outline: 2px solid var(--mint);
  outline-offset: 2px;
  box-shadow: none
}

[data-unified-checkout] .checkout-tier-picker button.active:focus-visible,
[data-unified-checkout] .platform-picker button.active:focus-visible {
  outline-color: var(--mint);
  border-color: var(--mint)
}

[data-unified-checkout] .coupon-row button:hover {
  border-color: var(--mint);
  color: var(--mint)
}

.terms-modal-overlay {
  --mint: var(--amber);
  background: rgba(2, 5, 9, .82);
  backdrop-filter: blur(12px)
}

.terms-modal-content {
  border-color: #33445b;
  background: #0d1621;
  box-shadow: 0 35px 100px rgba(0, 0, 0, .65)
}

.terms-modal-header,
.terms-modal-footer {
  border-color: var(--line-soft)
}

.terms-modal-header .heading-3 {
  color: var(--copy-primary)
}

.terms-modal-body {
  color: var(--copy-secondary);
  scrollbar-color: #33445b #09111a
}

.terms-modal-btn-cancel {
  border-color: var(--line);
  color: var(--copy-secondary)
}

.terms-modal-btn-cancel:hover {
  border-color: var(--mint);
  background: rgba(79, 213, 174, .07);
  color: var(--copy-primary)
}

.terms-modal-btn-accept,
.terms-modal-btn-accept:hover:not(:disabled) {
  border-color: var(--mint);
  background: var(--mint);
  color: #06130f
}

.popup-overlay .popup-content {
  --mint: var(--amber);
  border-color: #33445b;
  background: #0d1621
}

.popup-overlay .btn-primary:not(.paypal-button),
.popup-overlay .email-submit-btn {
  border-color: var(--mint);
  background: var(--mint);
  color: #06130f
}

.popup-overlay .price-display,
.popup-overlay .discount-badge {
  color: var(--mint)
}

@media(max-width:800px) {
  :root {
    --mirror-runway: 95px;
    --metric-row-runway: 155px;
    --metric-exit-runway: 75px
  }

  .product-story.text-story {
    padding: 62px 0
  }

  .metric-story {
    padding-top: 64px !important;
    padding-bottom: 64px !important
  }

  .ingredient-story {
    padding-top: 58px !important;
    padding-bottom: 58px !important
  }

  .download-section {
    margin-bottom: 36px;
    padding: 44px 20px
  }

  .purchase-section {
    width: min(100% - 28px, 680px);
    margin-bottom: 36px;
    padding: 42px 0 34px
  }

  .purchase-heading {
    margin-bottom: 30px
  }

  .purchase-product-image {
    width: clamp(250px, 78vw, 340px);
    margin-top: -22px;
    margin-bottom: 34px
  }

  .purchase-options {
    grid-template-columns: 1fr
  }

  .purchase-card {
    padding: 28px 22px
  }

  .purchase-assurances {
    flex-direction: column;
    gap: 12px
  }

  .comparison>.section-heading {
    padding-top: 52px;
    padding-bottom: 40px
  }

  .home-installation,
  .faq-section {
    padding-top: 48px;
    padding-bottom: 48px
  }

  .faq-container {
    grid-template-columns: 1fr;
    column-gap: 0
  }
}

@media(max-width:520px) {
  [data-unified-checkout] {
    padding: 12px
  }

  [data-unified-checkout] .download-dialog {
    padding: 20px
  }

  .purchase-card h3 {
    display: block
  }

  .purchase-price {
    display: block;
    margin-top: 6px
  }

  .purchase-card .download-buttons {
    grid-template-columns: 1fr
  }

  .checkout-tier-picker {
    grid-template-columns: 1fr 1fr
  }

  [data-unified-checkout] .checkout-tier-picker button {
    position: relative;
    display: block;
    min-height: 78px
  }

  [data-unified-checkout] .checkout-tier-picker button span {
    padding-right: 40px
  }

  [data-unified-checkout] .checkout-tier-picker button b {
    position: absolute;
    top: 12px;
    right: 10px
  }

  [data-unified-checkout] .platform-picker {
    grid-template-columns: repeat(3, 1fr)
  }

  [data-unified-checkout] .platform-picker button {
    padding-left: 6px;
    padding-right: 6px;
    font-size: 12px
  }

  [data-premium-fields]:not([hidden]) {
    grid-template-columns: 1fr;
    gap: 12px
  }

  .checkout-recovery {
    display: block;
    margin-top: 0;
    padding: 16px 0 0;
    border-top: 1px solid var(--line-soft);
    border-left: 0
  }

  .checkout-coupon {
    max-width: none
  }
}

/* Production contact flow, adapted to the homepage visual system. */
.contact-section {
  --accent: var(--amber);
  --accent-secondary: var(--amber);
  width: min(840px, calc(100% - 48px));
  max-width: none;
  margin: 8px auto 76px;
  padding: 0
}

.contact-toggle {
  min-height: 64px;
  padding: 16px 20px;
  border-color: var(--border-strong);
  border-radius: 12px;
  background: var(--surface-raised);
  color: var(--copy-primary);
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 650
}

.contact-toggle:hover {
  border-color: rgba(242, 179, 63, .48);
  color: var(--copy-primary)
}

.contact-toggle:focus-visible {
  border-color: var(--amber);
  outline: 2px solid var(--amber);
  outline-offset: 2px;
  box-shadow: none
}

.contact-toggle .faq-icon {
  color: var(--amber)
}

.contact-section.active .contact-toggle {
  border-color: rgba(242, 179, 63, .42);
  border-radius: 12px 12px 0 0
}

.contact-body {
  border-color: var(--border-strong);
  border-radius: 0 0 12px 12px;
  background: var(--surface-subtle)
}

.contact-section.active .contact-body {
  max-height: 720px;
  padding: 24px
}

.contact-form {
  max-width: 680px;
  margin: 0 auto
}

.contact-form .cf-turnstile {
  min-height: 65px;
  margin-bottom: 22px
}

.contact-form .input-label {
  display: block;
  margin: 14px 0 7px;
  color: var(--copy-secondary);
  font-size: 12px
}

.contact-form .form-input {
  width: 100%;
  border-color: var(--border-strong);
  border-radius: 8px;
  background: #080f17;
  color: var(--copy-primary)
}

.contact-form .form-input:focus {
  border-color: var(--amber);
  outline: 2px solid rgba(242, 179, 63, .3);
  outline-offset: 1px
}

.contact-form .contact-textarea {
  min-height: 130px
}

#contactSendWrapper .btn-primary {
  min-width: 148px;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 8px;
  border-color: var(--amber);
  background: var(--amber);
  color: #11130f;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: none
}

#contactSendWrapper .btn-primary:hover {
  background: #ffc657
}

@media(max-width:620px) {
  .contact-section {
    width: calc(100% - 28px);
    margin-bottom: 54px
  }

  .contact-section.active .contact-body {
    padding: 18px
  }

  #contactSendWrapper .btn-primary {
    width: 100%
  }
}

/* Full interactive application tour, shared with the Help hub. */
.homepage-app-tour {
  width: min(1360px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(82px, 10vw, 138px) 0 36px
}

.homepage-app-tour-heading {
  width: min(880px, calc(100% - 32px));
  margin: 0 auto 34px;
  text-align: center
}

.homepage-app-tour-heading h2 {
  max-width: 780px;
  margin: 0 auto 18px;
  color: var(--copy-primary);
  font-family: var(--font-display);
  font-size: clamp(38px, 5vw, 68px);
  font-weight: 600;
  letter-spacing: -.045em;
  line-height: .98
}

.homepage-app-tour-heading>p:last-child {
  max-width: 760px;
  margin: 0 auto;
  color: var(--copy-secondary);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.7
}

.homepage-app-tour-frame {
  overflow: hidden;
  border: 1px solid var(--line-soft);
  border-radius: 16px;
  background: #090d12;
  box-shadow: 0 38px 90px rgba(0, 0, 0, .42)
}

.homepage-app-tour-frame iframe {
  display: block;
  width: 100%;
  min-height: 1050px;
  border: 0;
  background: transparent
}

@media(max-width:800px) {
  .homepage-app-tour {
    width: calc(100% - 12px);
    padding-top: 72px
  }

  .homepage-app-tour-heading {
    width: calc(100% - 24px)
  }
}

/* Complete feature instrument. */
.library-lecture {
  --lecture-accent: var(--amber);
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(90px, 11vw, 150px) 0 88px
}

.lecture-screen {
  min-height: min(860px, calc(100svh - 68px));
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 72px 0;
  border-bottom: 1px solid var(--line-soft)
}

.lecture-screen:last-child {
  border-bottom: 0
}

.lecture-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
  column-gap: clamp(48px, 8vw, 110px);
  align-items: end;
  margin-bottom: 56px
}

.lecture-heading h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(38px, 5.1vw, 68px);
  line-height: .99;
  letter-spacing: -.055em
}

.lecture-heading>p:last-child {
  max-width: 540px;
  margin: 0;
  color: #a6b4c7;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.62
}

.library-principle>.lecture-heading {
  display: block;
  margin-bottom: 52px
}

.library-principle>.lecture-heading h2 {
  max-width: 940px
}

.signal-lesson {
  padding: 42px 0 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line)
}

.library-definition {
  max-width: 1050px;
  margin: 0 0 42px;
  color: #a6b4c7;
  font-size: clamp(20px, 1.85vw, 27px);
  line-height: 1.55
}

.knowledge-map {
  margin: 0
}

.knowledge-map>div {
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  align-items: baseline;
  column-gap: clamp(38px, 6vw, 100px);
  padding: 24px 0;
  border-top: 1px solid var(--line-soft)
}

.knowledge-map dt,
.knowledge-map dd {
  margin: 0
}

.knowledge-map dt {
  color: var(--muted);
  font-size: clamp(15px, 1.25vw, 18px);
  font-weight: 650
}

.knowledge-map dd {
  color: var(--text);
  font-size: clamp(19px, 1.65vw, 24px);
  font-weight: 650;
  line-height: 1.25
}

.library-consequences {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 38px
}

.library-consequences>div {
  min-height: 126px;
  padding: 0 28px;
  border-left: 1px solid var(--line)
}

.library-consequences>div:first-child {
  padding-left: 0;
  border-left: 0
}

.library-consequences b {
  display: block;
  margin-bottom: 12px;
  color: var(--lecture-accent);
  font-size: 20px
}

.library-consequences span {
  color: #96a6ba;
  font-size: 16px;
  line-height: 1.5
}

.mcp-lesson {
  display: block;
  margin-top: 42px;
  padding: 54px 0 12px;
  border-top: 1px solid var(--line)
}

.mcp-lesson h3 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(23px, 2.5vw, 34px);
  line-height: 1.08;
  letter-spacing: -.035em
}

.mcp-lesson>p {
  max-width: 900px;
  margin: 28px 0 0;
  color: #a6b4c7;
  font-size: clamp(18px, 1.65vw, 21px);
  line-height: 1.58
}

.feature-atlas {
  padding-top: 106px
}

/* The feature atlas follows the hero as the next statement, not a new viewport. */
.library-lecture {
  padding-top: 28px
}

.lecture-screen.feature-atlas {
  min-height: 0;
  justify-content: flex-start;
  padding: 38px 0 72px
}

.feature-atlas {
  padding-top: 0
}

.atlas-heading {
  margin-bottom: 44px
}

.atlas-heading h2 {
  grid-column: 1 / -1;
  max-width: none;
  white-space: nowrap;
  font-size: clamp(38px, 4.65vw, 60px)
}

.atlas-tabs {
  display: flex;
  gap: 0;
  overflow-x: auto;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  scrollbar-width: none
}

.atlas-tabs::-webkit-scrollbar {
  display: none
}

.atlas-tabs button {
  flex: 1 0 auto;
  min-height: 54px;
  padding: 0 22px;
  border: 0;
  border-right: 1px solid var(--line-soft);
  background: transparent;
  color: #77899f;
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .035em
}

.atlas-tabs button:first-child {
  padding-left: 0;
  text-align: left
}

.atlas-tabs button:hover,
.atlas-tabs button[aria-selected="true"] {
  color: var(--text)
}

.atlas-tabs button[aria-selected="true"] {
  box-shadow: inset 0 -3px var(--lecture-accent)
}

.atlas-workbench {
  display: grid;
  grid-template-columns: minmax(330px, .88fr) minmax(400px, 1.12fr);
  min-height: 470px
}

.atlas-questions {
  padding: 24px 42px 20px 0;
  border-right: 1px solid var(--line)
}

.atlas-question {
  width: 100%;
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: baseline;
  padding: 12px 0;
  border: 0;
  border-bottom: 1px solid var(--line-soft);
  background: transparent;
  color: #93a3b7;
  text-align: left;
  cursor: pointer
}

.atlas-question small {
  color: #56677d;
  font-size: 10px;
  font-variant-numeric: tabular-nums
}

.atlas-question span {
  font-size: 15px;
  line-height: 1.32
}

.atlas-question:hover,
.atlas-question[aria-selected="true"] {
  color: var(--text)
}

.atlas-question[aria-selected="true"] small {
  color: var(--lecture-accent)
}

.atlas-explanation {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 48px 0 48px clamp(48px, 7vw, 90px)
}

.atlas-emblem {
  position: absolute;
  top: 52px;
  right: 0;
  width: 128px;
  aspect-ratio: 1;
  overflow: visible;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(143, 161, 184, .22);
  border-radius: 18px;
  background: rgba(15, 24, 35, .34);
  box-shadow: none;
  transition: color .16s ease, transform .16s ease
}

.atlas-emblem:hover {
  color: #ffd071;
  border-color: rgba(242, 179, 63, .42);
  transform: translateY(-2px);
  box-shadow: none
}

.atlas-emblem-art {
  width: 82px;
  height: 82px;
  color: var(--amber);
  filter: none
}

.atlas-emblem-art svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor
}

.atlas-emblem-art.is-shaking {
  animation: atlas-icon-shake 333ms cubic-bezier(.36, .07, .19, .97) both;
  transform-origin: 50% 50%;
}

@keyframes atlas-icon-shake {
  0%, 100% { transform: translateX(0) rotate(0); }
  20% { transform: translateX(-3px) rotate(-2deg); }
  40% { transform: translateX(3px) rotate(2deg); }
  60% { transform: translateX(-2px) rotate(-1.5deg); }
  80% { transform: translateX(1px) rotate(1deg); }
}

.atlas-explanation h3 {
  max-width: calc(100% - 148px);
  margin: 0;
  font-size: clamp(30px, 3.9vw, 52px);
  line-height: 1.03;
  letter-spacing: -.045em
}

.atlas-answer {
  max-width: calc(100% - 148px);
  margin: 24px 0 0;
  color: #a5b3c5;
  font-size: 17px;
  line-height: 1.65
}

.atlas-principle {
  max-width: 580px;
  margin-top: 34px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line)
}

.atlas-principle strong {
  font-size: 16px;
  line-height: 1.45
}

.atlas-explanation>a {
  align-self: flex-start;
  margin-top: 26px;
  color: var(--lecture-accent);
  font-size: 13px;
  font-weight: 700
}

.atlas-explanation>a:hover {
  color: #ffd071
}

@media(max-width:900px) {
  .lecture-screen {
    min-height: 0
  }

  .lecture-heading,
  .mcp-lesson {
    grid-template-columns: 1fr
  }

  .lecture-heading {
    gap: 26px
  }

  .atlas-heading h2 {
    white-space: normal
  }

  .knowledge-map>div {
    grid-template-columns: minmax(210px, .8fr) minmax(0, 1.2fr);
    column-gap: 34px
  }

  .library-consequences {
    grid-template-columns: 1fr 1fr;
    row-gap: 30px
  }

  .library-consequences>div:nth-child(3) {
    padding-left: 0;
    border-left: 0
  }

  .atlas-workbench {
    grid-template-columns: minmax(280px, .8fr) minmax(340px, 1.2fr)
  }

  .atlas-questions {
    padding-right: 26px
  }

  .atlas-explanation {
    padding-left: 38px
  }

  .atlas-emblem {
    width: 126px
  }

  .atlas-emblem-art {
    width: 88px;
    height: 88px
  }

  .atlas-explanation h3,
  .atlas-answer {
    max-width: calc(100% - 144px)
  }
}

@media(max-width:680px) {
  .library-lecture {
    width: calc(100% - 28px);
    padding-top: 82px;
    padding-bottom: 50px
  }

  .lecture-screen {
    padding: 54px 0
  }

  .lecture-heading {
    margin-bottom: 38px
  }

  .lecture-heading h2 {
    font-size: clamp(36px, 12vw, 50px)
  }

  .atlas-heading h2 {
    white-space: normal;
    font-size: clamp(34px, 10.5vw, 46px)
  }

  .signal-lesson {
    padding-top: 30px
  }

  .library-definition {
    margin-bottom: 30px;
    font-size: 18px
  }

  .knowledge-map>div {
    grid-template-columns: 1fr;
    row-gap: 8px;
    padding: 20px 0
  }

  .knowledge-map dt {
    font-size: 14px
  }

  .knowledge-map dd {
    font-size: 19px
  }

  .library-consequences {
    grid-template-columns: 1fr;
    gap: 0
  }

  .library-consequences>div,
  .library-consequences>div:nth-child(3) {
    min-height: 0;
    padding: 18px 0;
    border-left: 0;
    border-bottom: 1px solid var(--line-soft)
  }

  .mcp-lesson {
    gap: 22px
  }

  .feature-atlas {
    padding-top: 72px
  }

  .atlas-tabs button {
    padding: 0 16px
  }

  .atlas-tabs button:first-child {
    padding-left: 12px
  }

  .atlas-workbench {
    grid-template-columns: 1fr
  }

  .atlas-questions {
    padding: 16px 0 26px;
    border-right: 0;
    border-bottom: 1px solid var(--line)
  }

  .atlas-explanation {
    min-height: 470px;
    padding: 42px 0 20px
  }

  .atlas-emblem {
    position: relative;
    top: auto;
    right: auto;
    width: 132px;
    flex: 0 0 auto;
    margin-bottom: 30px
  }

  .atlas-explanation h3,
  .atlas-answer {
    max-width: none
  }
}

/* Keep the MCP video layout authoritative over earlier text-story variants. */
.product-stories .product-story.mcp-story {
  display: grid !important;
  grid-template-columns: minmax(300px, .68fr) minmax(520px, 1.32fr);
  grid-template-rows: none;
  gap: clamp(48px, 6vw, 92px);
  min-height: 0;
  padding: clamp(92px, 12vh, 144px) 0;
  align-items: center
}

.product-stories .product-story.mcp-story .story-message {
  position: relative;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  order: 1;
  width: auto;
  max-width: 520px;
  margin: 0;
  padding: 0;
  text-align: left
}

.product-stories .product-story.mcp-story .story-message h2 {
  max-width: 520px;
  margin: 0 0 18px;
  font-size: clamp(44px, 4.8vw, 64px)
}

.product-stories .product-story.mcp-story .story-message > .story-summary {
  max-width: 520px !important;
  margin-inline: 0
}

.product-stories .product-story.mcp-story .mcp-clip-shell {
  grid-column: 2;
  grid-row: 1;
  order: 2;
  justify-self: stretch
}

@media(max-width:1050px) {
  .product-stories .product-story.mcp-story {
    grid-template-columns: 1fr;
    gap: 36px
  }

  .product-stories .product-story.mcp-story .story-message,
  .product-stories .product-story.mcp-story .mcp-clip-shell {
    grid-column: 1
  }

  .product-stories .product-story.mcp-story .story-message {
    grid-row: 1;
    max-width: 680px
  }

  .product-stories .product-story.mcp-story .mcp-clip-shell {
    grid-row: 2
  }
}

@media(max-width:680px) {
  .product-stories .product-story.mcp-story {
    padding: 72px 0
  }
}

/* The videos are supporting evidence, not two competing hero panels. */
.product-stories .product-story.mcp-story {
  display: grid !important;
  grid-template-columns: minmax(0, 560px) minmax(260px, 300px);
  gap: clamp(24px, 2.4vw, 34px);
  width: min(100%, 894px);
  min-height: 0;
  margin: 0 auto;
  padding: clamp(26px, 3.2vh, 36px) 0;
  border-top: 0;
  align-items: center;
  justify-content: center;
  filter: grayscale(1);
  transition: background .28s ease, filter .28s ease
}

.product-stories .product-story.mcp-story::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: 116px;
  height: 1px;
  background: linear-gradient(90deg, rgba(109, 132, 154, .5), rgba(109, 132, 154, 0));
  opacity: .46;
  transition: opacity .28s ease;
  pointer-events: none
}

.product-stories .product-story.mcp-story:hover,
.product-stories .product-story.mcp-story:focus-within,
.product-stories .product-story.mcp-story.is-video-active {
  filter: grayscale(0);
  background: linear-gradient(90deg, transparent, rgba(139, 171, 201, .025) 50%, transparent)
}

.product-stories .product-story.mcp-story:hover::before,
.product-stories .product-story.mcp-story:focus-within::before,
.product-stories .product-story.mcp-story.is-video-active::before {
  opacity: 1
}

.product-stories .product-story.mcp-story .story-message {
  grid-column: auto;
  grid-row: auto;
  width: auto;
  max-width: 520px;
  margin: 0;
  padding: 0;
  text-align: left
}

.product-stories .product-story.mcp-story .story-message h2 {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 15px;
  align-items: start;
  max-width: 560px;
  margin: 0 0 10px;
  font-size: clamp(29px, 2.7vw, 40px);
  line-height: 1.06;
  letter-spacing: -.04em;
  opacity: .62;
  transition: color .28s ease, opacity .28s ease
}

.product-stories .product-story.mcp-story .video-story-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  color: var(--amber);
  opacity: .95
}

.product-stories .product-story.mcp-story .video-story-icon svg {
  width: 42px;
  height: 42px;
  stroke-width: 1.2
}

.product-stories .product-story.mcp-story .story-message > .story-summary {
  max-width: 550px !important;
  margin: 0;
  font-size: 16px !important;
  line-height: 1.5 !important;
  opacity: .52;
  transition: opacity .28s ease
}

.product-stories .product-story.mcp-story .mcp-clip-shell {
  grid-column: auto;
  grid-row: auto;
  width: min(100%, 300px);
  margin: 0;
  justify-self: stretch;
  opacity: .6;
  transition: opacity .28s ease, transform .28s ease, border-color .28s ease
}

.product-stories .product-story.mcp-story:hover .story-message h2,
.product-stories .product-story.mcp-story:hover .story-message > .story-summary,
.product-stories .product-story.mcp-story:hover .mcp-clip-shell,
.product-stories .product-story.mcp-story:focus-within .story-message h2,
.product-stories .product-story.mcp-story:focus-within .story-message > .story-summary,
.product-stories .product-story.mcp-story:focus-within .mcp-clip-shell,
.product-stories .product-story.mcp-story.is-video-active .story-message h2,
.product-stories .product-story.mcp-story.is-video-active .story-message > .story-summary,
.product-stories .product-story.mcp-story.is-video-active .mcp-clip-shell {
  opacity: 1
}

.product-stories .product-story.mcp-story:hover .story-message h2,
.product-stories .product-story.mcp-story:focus-within .story-message h2,
.product-stories .product-story.mcp-story.is-video-active .story-message h2 {
  color: var(--amber)
}

.product-stories .product-story.mcp-story:hover .mcp-clip-shell,
.product-stories .product-story.mcp-story:focus-within .mcp-clip-shell,
.product-stories .product-story.mcp-story.is-video-active .mcp-clip-shell {
  transform: translateY(-2px);
  border-color: rgba(164, 191, 215, .42)
}

/* Both proofs sit in the same quiet side column; this is a narrative, not a chessboard. */
.product-stories .metadata-story.mcp-story .story-message { order: 1 }
.product-stories .metadata-story.mcp-story .mcp-clip-shell { order: 2 }

.product-stories .emotion-story.mcp-story {
  grid-template-columns: minmax(0, 560px) minmax(260px, 300px);
  margin: 0 auto;
  padding-top: clamp(26px, 3.2vh, 36px);
  justify-content: center
}

.product-stories .emotion-story.mcp-story .story-message { order: 1 }
.product-stories .emotion-story.mcp-story .mcp-clip-shell { order: 2 }

.product-stories .product-story.mcp-story .mcp-clip-shell {
  border-radius: 12px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .36), 0 0 0 1px rgba(0, 0, 0, .28)
}

.product-stories .mcp-story .mcp-clip-label {
  left: 15px;
  bottom: 13px;
  display: block
}

.product-stories .mcp-story .mcp-clip-label strong {
  font-size: 14px
}

.product-stories .mcp-story .mcp-clip-play {
  width: 48px;
  height: 48px
}

@media(max-width:900px) {
  .product-stories .product-story.mcp-story {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 20px
  }

  .product-stories .metadata-story.mcp-story .mcp-clip-shell {
    order: 2;
    justify-self: start
  }

  .product-stories .metadata-story.mcp-story .story-message {
    order: 1
  }

  .product-stories .emotion-story.mcp-story .story-message {
    order: 1
  }

  .product-stories .emotion-story.mcp-story .mcp-clip-shell {
    order: 2;
    justify-self: start
  }
}

@media(max-width:620px) {
  .product-stories .product-story.mcp-story {
    padding: 40px 0
  }

  .product-stories .product-story.mcp-story .story-message h2 {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px
  }

  .product-stories .product-story.mcp-story .video-story-icon,
  .product-stories .product-story.mcp-story .video-story-icon svg {
    width: 36px;
    height: 36px
  }

  .product-stories .emotion-story.mcp-story .story-message {
    text-align: left
  }

  .product-stories .emotion-story.mcp-story .story-message h2,
  .product-stories .emotion-story.mcp-story .story-message > .story-summary {
    margin-inline: 0
  }

  .product-stories .emotion-story.mcp-story .mcp-clip-shell {
    justify-self: start
  }

  .product-stories .product-story.mcp-story .mcp-clip-shell {
    width: min(100%, 300px)
  }
}

/* Authoritative desktop layout for the two live product demonstrations. */
@media(min-width:1001px) {
  .metric-story .metric-tool-row:not([hidden]) {
    display: grid;
    grid-template-columns: minmax(520px, 1.15fr) minmax(360px, .85fr);
    gap: clamp(48px, 5vw, 80px);
    min-height: 0;
    align-items: start
  }

  .metric-story .metric-tool-row:not([hidden]) .product-slice {
    grid-column: 1;
    grid-row: 1;
    width: 100%;
    max-width: 720px;
    justify-self: end
  }

  .metric-story .metric-tool-row:not([hidden]) .story-message {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    max-width: 480px;
    padding-top: 8px;
    justify-self: start
  }

  .metric-story + .ingredient-story {
    margin-top: 76px;
    padding-top: 98px !important;
    border-top: 1px solid rgba(109, 132, 154, .26) !important;
    grid-template-columns: minmax(360px, 440px) minmax(420px, 560px) !important;
    column-gap: clamp(28px, 3vw, 48px);
    justify-content: center;
    align-items: start
  }

  .metric-story + .ingredient-story .story-message {
    width: 100%;
    max-width: 440px;
    padding-top: 0;
    justify-self: end
  }

  .metric-story + .ingredient-story .product-slice {
    width: 100%;
    max-width: 560px;
    justify-self: start;
    align-self: start;
    transform: none;
    transform-origin: initial
  }
}

/* Final hero elevation: light separates the dark product surfaces without
   drawing hard boxes around them. */
.hero-screen-stage {
  isolation: isolate;
}

.hero-screen-stage::before {
  z-index: -1;
  inset: 12% 3% -2%;
  border-radius: 36%;
  background:
    radial-gradient(ellipse at 50% 82%, rgba(69, 157, 239, .36), rgba(40, 116, 190, .14) 42%, transparent 72%);
  filter: blur(46px);
}

.hero-screen-open {
  border-color: rgba(172, 203, 231, .18);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, .025),
    0 0 0 1px rgba(4, 9, 14, .74),
    0 28px 68px rgba(0, 0, 0, .76),
    0 58px 130px rgba(0, 0, 0, .52),
    0 14px 64px rgba(61, 151, 235, .07);
}

.hero-screen-gallery.frameless-screen-active .hero-screen-open {
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.hero-screen-gallery.compact-screen-active .hero-desktop-app {
  filter:
    drop-shadow(0 18px 16px rgba(0, 0, 0, .58))
    drop-shadow(0 5px 5px rgba(0, 0, 0, .42));
}

.hero-screen-gallery.mixer-screen-active .hero-screen-open {
  display: flex;
  justify-content: center;
}

.hero-screen-gallery.mixer-screen-active .hero-desktop-app {
  width: min(62%, 560px);
  filter:
    drop-shadow(0 22px 20px rgba(0, 0, 0, .68))
    drop-shadow(0 6px 6px rgba(0, 0, 0, .46));
}

.hero-screen-stage .hero-remote {
  filter:
    drop-shadow(0 0 1px rgba(174, 218, 255, .58))
    drop-shadow(0 30px 38px rgba(0, 0, 0, .92))
    drop-shadow(0 9px 28px rgba(52, 149, 239, .26));
}

.hero-screen-thumbnails button.active {
  border-color: rgba(172, 203, 231, .5);
  box-shadow:
    inset 0 1px rgba(255, 255, 255, .055),
    0 14px 32px rgba(0, 0, 0, .7),
    0 0 16px rgba(61, 160, 255, .48),
    0 0 36px rgba(38, 139, 240, .25);
}

.hero-screen-stage figcaption {
  justify-content: flex-start;
  padding-top: 15px;
}

.hero-screen-stage figcaption strong {
  color: #d7e3ef;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.01em;
}

/* Upcoming real clips use the same editorial frame as the two published MCP
   videos. These slots can later receive a YouTube id and thumbnail directly. */
.product-stories .pending-video-story {
  display: grid !important;
  grid-template-columns: minmax(300px, .68fr) minmax(520px, 1.32fr);
  gap: clamp(48px, 6vw, 92px);
  min-height: 0;
  padding: clamp(92px, 12vh, 144px) 0;
  align-items: center;
}

.product-stories .pending-video-story::after {
  display: none !important;
}

.pending-video-story .story-message {
  order: 1 !important;
  max-width: 520px !important;
}

.pending-video-story .pending-video-shell {
  order: 2 !important;
}

.pending-video-poster {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 34%, rgba(38, 139, 240, .19), transparent 33%),
    radial-gradient(circle at 22% 72%, rgba(242, 179, 63, .1), transparent 29%),
    linear-gradient(145deg, #111a24, #080d12 66%);
}

.pending-video-grid {
  position: absolute;
  inset: 0;
  opacity: .46;
  background-image:
    linear-gradient(rgba(115, 151, 183, .12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(115, 151, 183, .12) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(135deg, transparent 4%, #000 35%, #000 70%, transparent 96%);
}

.pending-video-grid::before,
.pending-video-grid::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(71, 159, 244, .75), transparent);
  box-shadow: 0 0 18px rgba(38, 139, 240, .34);
  transform: rotate(-8deg);
}

.pending-video-grid::before {
  top: 42%;
}

.pending-video-grid::after {
  top: 61%;
  transform: rotate(6deg);
}

.pending-video-grid-mixer::before {
  top: 36%;
  height: 54px;
  border-radius: 28px;
  background: linear-gradient(90deg, rgba(79, 213, 174, .1) 0 24%, rgba(38, 139, 240, .28) 24% 59%, rgba(242, 179, 63, .2) 59% 100%);
  box-shadow: 0 0 30px rgba(38, 139, 240, .12);
  transform: none;
}

.pending-video-grid-mixer::after {
  display: none;
}

.pending-video-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  padding: 7px 9px;
  border: 1px solid rgba(117, 149, 179, .32);
  border-radius: 7px;
  background: rgba(7, 13, 19, .72);
  color: #9dafc1;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pending-video-play {
  opacity: .72;
}

/* Premium and Free share one focused purchase decision. */
.purchase-options {
  grid-template-columns: minmax(0, 1fr);
  justify-content: center;
  width: min(100%, 780px);
}

.purchase-card-unified {
  padding: clamp(34px, 4vw, 48px) clamp(28px, 6vw, 64px);
  text-align: center;
}

.purchase-card-unified .purchase-card-copy {
  margin-bottom: 26px;
}

.purchase-card-unified h3 {
  justify-content: center;
  gap: 26px;
}

.purchase-cta-free {
  border-color: rgba(135, 171, 204, .46);
  background: rgba(95, 132, 166, .1)
}

.purchase-card-unified .purchase-assurances {
  max-width: 640px;
  margin-right: auto;
  margin-left: auto;
  justify-content: center;
  gap: 20px 28px;
}

.purchase-card-unified .trust-message {
  justify-content: center;
}

.purchase-card-unified .coupon-hint {
  white-space: nowrap;
}

@media(max-width:760px) {
  .purchase-options {
    grid-template-columns: 1fr;
  }

  .purchase-actions {
    grid-template-columns: minmax(0, 240px)
  }
}

/* FAQ categories mirror the Help index: independent summary bars with a
   subtle connector line, native collapse behavior, and chevrons. */
.faq-container {
  display: grid;
  gap: 10px;
  overflow: visible;
}

.faq-group {
  position: relative;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.faq-group[open] {
  padding-bottom: 6px;
}

.faq-group[open]::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 43px;
  bottom: 11px;
  left: 21px;
  border-left: 1px solid rgba(74, 105, 135, .42);
}

.faq-group-heading {
  position: relative;
  z-index: 1;
  min-height: 44px;
  padding: 0 14px 0 12px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto 16px;
  gap: 11px;
  align-items: center;
  list-style: none;
  cursor: pointer;
  border: 1px solid rgba(92, 116, 141, .42);
  border-radius: 8px;
  background: rgba(15, 23, 32, .92);
  color: var(--text);
  transition: border-color .18s ease, background .18s ease;
}

.faq-group-heading::-webkit-details-marker {
  display: none;
}

.faq-group-heading:hover {
  border-color: rgba(122, 151, 179, .58);
  background: rgba(18, 28, 39, .96);
}

.faq-group-symbol {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  color: var(--amber);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
}

.faq-group-symbol svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.faq-group-heading strong {
  color: var(--text);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.015em;
}

.faq-group-heading small {
  color: #8292a4;
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
}

.faq-group-chevron {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #8292a4;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s ease;
}

.faq-group[open] .faq-group-chevron {
  transform: rotate(180deg);
}

.faq-group .faq-item {
  position: relative;
  z-index: 1;
  margin-left: 42px;
  border-color: rgba(92, 116, 141, .2);
}

.faq-group .faq-item::before {
  content: "";
  position: absolute;
  top: 29px;
  left: -20px;
  width: 15px;
  border-top: 1px solid rgba(74, 105, 135, .42);
}

.faq-group .faq-question {
  padding-right: 22px;
}

/* Minimal brand footer: keep its interactions inside the site's gold palette. */
.site-footer-nav a:hover,
.site-footer-nav a:focus-visible {
  color: var(--amber);
}

.creator-footer {
  padding-bottom: 28px;
}

@media(max-width:900px) {
  .product-stories .pending-video-story {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .pending-video-story .story-message,
  .pending-video-story .pending-video-shell {
    width: 100% !important;
    max-width: 680px !important;
    justify-self: start !important;
  }
}

@media(max-width:620px) {
  .hero-screen-stage figcaption strong {
    font-size: 14px;
  }

  .product-stories .pending-video-story {
    padding: 60px 0;
  }

  .product-stories .pending-video-story .pending-video-shell {
    width: 100% !important;
    max-width: none !important;
  }

  .purchase-card-premium .coupon-hint {
    white-space: normal;
  }

  .faq-group-heading {
    grid-template-columns: 20px minmax(0, 1fr) 14px;
    gap: 9px;
    padding: 0 12px;
  }

  .faq-group-heading small {
    display: none;
  }

  .faq-group .faq-item {
    margin-left: 28px;
  }

  .faq-group[open]::before {
    left: 14px;
  }

  .faq-group .faq-item::before {
    left: -14px;
    width: 10px;
  }
}

/* A low-contrast blue atmosphere continues below the hero instead of cutting
   abruptly to flat black; each glow resolves softly into the same base. */
main {
  background:
    radial-gradient(ellipse 78% 14% at 12% 20%, rgba(30, 77, 121, .09), transparent 72%),
    radial-gradient(ellipse 68% 12% at 74% 43%, rgba(34, 83, 126, .065), transparent 74%),
    radial-gradient(ellipse 72% 13% at 38% 67%, rgba(38, 91, 132, .055), transparent 76%),
    linear-gradient(180deg, #070b10 0%, #05090d 48%, #05080c 100%);
}

/* Major homepage chapters keep their quiet divider after the opening transition. */
.product-stories,
.purchase-section,
.faq-section {
  border-top: 1px solid var(--line-soft);
}

.library-lecture {
  position: relative;
  border-top: 0;
}

.library-lecture::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: -300px;
  bottom: -120px;
  left: 50%;
  width: 100vw;
  transform: translateX(-50%);
  background:
    radial-gradient(ellipse 58% 48% at 14% 26%, rgba(31, 82, 128, .105), transparent 72%),
    radial-gradient(ellipse 46% 38% at 70% 74%, rgba(29, 69, 105, .055), transparent 76%);
  pointer-events: none;
}

.library-lecture > * {
  position: relative;
  z-index: 1;
}

.purchase-card-premium {
  background: #0b1016;
}

.purchase-cta-premium {
  border-color: rgba(242, 179, 63, .72);
  background: #f2b33f;
  color: #080b0f;
  box-shadow: none;
}

.purchase-cta-premium:hover {
  border-color: #ffc657;
  background: #ffc657;
}

@media(max-width:620px) {
  .marketing-hero .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 26px;
  }

  .marketing-hero .hero-actions .button {
    width: 100%;
    min-height: 52px;
    flex: none;
    padding: 0 18px;
    border-radius: 9px;
    font-size: 15px;
  }

  .marketing-hero .hero-free-action {
    width: auto;
    justify-items: center;
  }

  .marketing-hero .hero-free-action .button {
    width: auto;
    min-width: 164px;
  }

  .atlas-explanation {
    min-height: 0;
    justify-content: flex-start;
    padding: 28px 0 20px;
  }

  .atlas-emblem {
    display: none;
  }

  .atlas-explanation h3 {
    margin-top: 0;
  }

  .atlas-answer {
    margin-top: 18px;
  }

  .atlas-principle {
    margin-top: 24px;
  }
}
