  /* Brand palette. Change --red here when the final red code is ready. */
  :root {
    --red: #EF4444;
    --red-deep: #DC2626;
    --blue: #1D4ED8;
    --white: #FFFFFF;

    /* Light theme */
    --bg: #FFFFFF;
    --card: #FFFFFF;
    --surface: #F7F8FA;
    --ink: #111827;
    --ink-soft: #4B5563;
    --ink-faint: #9CA3AF;
    --red-text: #DC2626;
    --red-tint: #FEF2F2;
    --blue-text: #1D4ED8;
    --blue-tint: #EFF4FF;

    --serif: "Fraunces", Georgia, serif;
    --sans: "Inter", system-ui, -apple-system, sans-serif;
    --radius: 20px;
    color-scheme: light;
  }

  /* Dark theme: follows the device setting unless the visitor picks one with the toggle */
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
      --bg: #0B0F19; --card: #151B2B; --surface: #111726;
      --ink: #F3F4F6; --ink-soft: #B4BCCB; --ink-faint: #7A8499;
      --red-text: #F87171; --red-tint: #2A1418;
      --blue-text: #8FB0FF; --blue-tint: #16213D;
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"] {
    --bg: #0B0F19; --card: #151B2B; --surface: #111726;
    --ink: #F3F4F6; --ink-soft: #B4BCCB; --ink-faint: #7A8499;
    --red-text: #F87171; --red-tint: #2A1418;
    --blue-text: #8FB0FF; --blue-tint: #16213D;
    color-scheme: dark;
  }

  * { box-sizing: border-box; margin: 0; padding: 0; }
  html { scroll-behavior: smooth; }
  body {
    background: var(--bg);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
  }
  a { color: inherit; }
  img { max-width: 100%; display: block; }
  .wrap { max-width: 1180px; margin: 0 auto; padding: 0 28px; }

  h1, h2, h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -0.02em; line-height: 1.05; }
  h2 { font-size: clamp(36px, 5vw, 58px); }
  h2 .red { color: var(--red); }
  .kicker {
    display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--red-text); margin-bottom: 18px;
  }
  .lead { font-size: 19px; color: var(--ink-soft); max-width: 52ch; }

  /* Buttons */
  .btn {
    display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 600; font-size: 16px;
    padding: 15px 26px; border-radius: 999px; transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
    border: 0; cursor: pointer; font-family: inherit;
  }
  .btn-red { background: var(--red); color: var(--white); box-shadow: 0 8px 24px -10px rgba(239, 68, 68, .7); }
  .btn-red:hover { background: var(--red-deep); transform: translateY(-2px); }
  .btn-quiet { color: var(--blue-text); padding-left: 6px; padding-right: 6px; }
  .btn-quiet:hover { transform: translateX(3px); }
  .wa-icon { width: 20px; height: 20px; flex: none; }

  /* Photo placeholders (swap for real images later) */
  .ph {
    background: var(--blue-tint);
    border-radius: var(--radius);
    display: grid; place-items: center; text-align: center;
    color: var(--blue-text); font-size: 14px; font-weight: 500; padding: 20px;
    position: relative; overflow: hidden;
  }
  .ph::before {
    content: ""; position: absolute; inset: 0; opacity: .5;
    background-image: radial-gradient(var(--blue) 1px, transparent 1px); background-size: 18px 18px;
    mask-image: linear-gradient(135deg, transparent 30%, #000);
    -webkit-mask-image: linear-gradient(135deg, transparent 30%, #000);
    opacity: .12;
  }
  .ph:not(.gfx) span { position: relative; background: var(--card); padding: 6px 12px; border-radius: 999px; }

  /* Nav */
  nav { position: sticky; top: 0; z-index: 20; background: color-mix(in srgb, var(--bg) 88%, transparent); backdrop-filter: blur(10px); }
  nav .wrap { display: flex; align-items: center; justify-content: space-between; height: 72px; }
  .logo { display: flex; align-items: center; gap: 10px; text-decoration: none; font-family: var(--serif); font-size: 22px; font-weight: 600; letter-spacing: -0.02em; }
  .logo-mark { width: 30px; height: 30px; border-radius: 9px; background: var(--red); display: grid; place-items: center; color: var(--white); font-family: var(--sans); font-size: 15px; font-weight: 600; }
  .nav-links { display: flex; align-items: center; gap: 30px; }
  .nav-links a:not(.btn) { text-decoration: none; font-size: 15px; color: var(--ink-soft); }
  .nav-links a:not(.btn):hover { color: var(--ink); }
  .nav-links .btn { padding: 11px 20px; font-size: 15px; }

  /* Hero */
  .hero { padding: 72px 0 96px; }
  .hero .wrap { display: grid; grid-template-columns: 1.25fr 1fr; gap: 64px; align-items: center; }
  .hero h1 { font-size: clamp(46px, 6.6vw, 86px); }
  .hero h1 .red { color: var(--red); font-style: italic; }
  .hero .lead { margin-top: 28px; }
  .hero-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 40px; }
  .hero-note { margin-top: 16px; font-size: 14px; color: var(--ink-faint); }
  .who { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
  .who span { font-size: 14px; font-weight: 500; padding: 7px 14px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); }
  .hero-photo { position: relative; }
  .hero-photo .ph { aspect-ratio: 4 / 5; }
  .badge {
    position: absolute; left: -28px; bottom: 36px; background: var(--card); border-radius: 18px; padding: 16px 20px;
    box-shadow: 0 20px 50px -20px rgba(17, 24, 39, .35); max-width: 230px;
  }
  .badge strong { display: block; font-family: var(--serif); font-size: 19px; font-weight: 600; }
  .badge small { color: var(--ink-soft); font-size: 13.5px; }
  .badge-2 { left: auto; right: -20px; top: 32px; bottom: auto; background: var(--red); color: var(--white); }
  .badge-2 small { color: rgba(255,255,255,.85); }

  /* Proof numbers */
  .proof { background: var(--surface); padding: 72px 0; }
  .proof-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
  .stat { background: var(--card); border-radius: var(--radius); padding: 28px 24px; }
  .stat b { display: block; font-family: var(--serif); font-size: clamp(36px, 4vw, 50px); font-weight: 500; color: var(--blue-text); letter-spacing: -0.03em; line-height: 1; }
  .stat span { display: block; margin-top: 10px; font-size: 15px; color: var(--ink-soft); }
  .proof-foot { margin-top: 28px; text-align: center; color: var(--ink-soft); font-size: 15px; }

  section { padding: 120px 0; }

  /* Story */
  .story .wrap { display: grid; grid-template-columns: 1fr 1.15fr; gap: 80px; align-items: start; }
  .story-photo { position: sticky; top: 104px; }
  .story-photo .ph { aspect-ratio: 1 / 1.1; }
  .story h2 { margin-bottom: 24px; }
  .timeline { margin-top: 44px; display: grid; gap: 14px; }
  .t-item { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; background: var(--surface); border-radius: 18px; padding: 20px 22px; }
  .t-num { width: 40px; height: 40px; border-radius: 50%; background: var(--blue-tint); color: var(--blue-text); display: grid; place-items: center; font-weight: 600; font-size: 15px; }
  .t-item h3 { font-family: var(--sans); font-size: 17px; font-weight: 600; letter-spacing: 0; line-height: 1.4; }
  .t-item p { font-size: 15.5px; color: var(--ink-soft); margin-top: 2px; }
  .t-item.now { background: var(--red-tint); }
  .t-item.now .t-num { background: var(--red); color: var(--white); }
  .quote { margin-top: 44px; font-family: var(--serif); font-size: clamp(28px, 3.4vw, 40px); line-height: 1.15; letter-spacing: -0.02em; }
  .quote .red { color: var(--red); font-style: italic; }
  .quote-by { margin-top: 12px; font-size: 15px; color: var(--ink-soft); }

  /* Done with you */
  .compare { background: var(--surface); }
  .compare-head { text-align: center; max-width: 720px; margin: 0 auto 56px; }
  .compare-head .lead { margin: 20px auto 0; }
  .compare-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .c-card { border-radius: 24px; padding: 40px; background: var(--card); }
  .c-card h3 { font-size: 30px; margin-bottom: 22px; }
  .c-card ul { list-style: none; display: grid; gap: 14px; }
  .c-card li { display: flex; gap: 12px; align-items: flex-start; color: var(--ink-soft); }
  .c-card li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 12px no-repeat; }
  .c-card.us { background: var(--blue); color: var(--white); }
  .c-card.us li { color: rgba(255,255,255,.9); }
  .c-card.us li::before { background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23EF4444' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
  .c-label { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 12px; color: var(--ink-faint); }
  .c-card.us .c-label { color: rgba(255,255,255,.7); }

  /* Products */
  .section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 56px; flex-wrap: wrap; }
  .section-head .lead { max-width: 44ch; }
  .tiers { display: grid; grid-template-columns: 1fr 1.15fr 1fr; gap: 20px; align-items: stretch; }
  .tier { border-radius: 24px; padding: 36px 32px; background: var(--surface); display: flex; flex-direction: column; }
  .tier .tag { align-self: flex-start; font-size: 12.5px; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: var(--card); color: var(--ink-soft); margin-bottom: 22px; }
  .tier h3 { font-size: 34px; }
  .tier > p { color: var(--ink-soft); margin: 10px 0 24px; font-size: 16px; }
  .tier ul { list-style: none; display: grid; gap: 12px; margin-bottom: 28px; }
  .tier li { display: flex; gap: 10px; font-size: 15.5px; }
  .tier li::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--blue); margin-top: 9px; }
  .tier .btn { margin-top: auto; align-self: flex-start; }
  .tier.flag { background: var(--red); color: var(--white); transform: translateY(-12px); box-shadow: 0 30px 60px -30px rgba(239, 68, 68, .8); }
  .tier.flag .tag { background: rgba(255,255,255,.18); color: var(--white); }
  .tier.flag > p { color: rgba(255,255,255,.88); }
  .tier.flag li::before { background: var(--white); }
  .tier.flag .btn { background: var(--white); color: var(--red-deep); }
  .tier.flag .btn:hover { background: var(--red-tint); transform: translateY(-2px); }
  .tier .btn-outline { background: var(--card); color: var(--ink); }
  .tier .btn-outline:hover { transform: translateY(-2px); }
  .guarantees { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 32px; }
  .g { display: flex; gap: 18px; align-items: center; padding: 24px 28px; border-radius: 20px; background: var(--blue-tint); }
  .g-icon { width: 46px; height: 46px; flex: none; border-radius: 14px; background: var(--blue); color: var(--white); display: grid; place-items: center; }
  .g-icon svg { width: 22px; height: 22px; }
  .g strong { display: block; font-size: 17px; }
  .g span { font-size: 15px; color: var(--ink-soft); }

  /* Wins */
  .wins { background: var(--surface); }
  .wins-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .win { background: var(--card); border-radius: 22px; padding: 14px 14px 24px; }
  .win .ph { aspect-ratio: 4 / 3; border-radius: 14px; }
  .win blockquote { margin: 20px 10px 0; font-family: var(--serif); font-size: 21px; line-height: 1.3; letter-spacing: -0.01em; }
  .win cite { display: block; margin: 12px 10px 0; font-style: normal; font-size: 14px; color: var(--ink-soft); }
  .privacy { margin-top: 28px; display: flex; align-items: center; justify-content: center; gap: 10px; color: var(--ink-soft); font-size: 15px; }
  .privacy svg { width: 18px; height: 18px; color: var(--blue-text); }

  /* Villa */
  .villa-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; grid-template-rows: 240px 240px; gap: 20px; }
  .villa-grid .ph:first-child { grid-row: span 2; }
  .villa-grid .ph:nth-child(4) { grid-column: span 2; }
  .villa-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
  .villa-tags span { font-size: 15px; font-weight: 500; padding: 9px 16px; border-radius: 999px; background: var(--blue-tint); color: var(--blue-text); }

  /* WhatsApp CTA */
  .join { padding: 40px 0 120px; }
  .join-box {
    background: var(--red); color: var(--white); border-radius: 32px; padding: 80px 72px;
    display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: center; position: relative; overflow: hidden;
  }
  .join-box::after {
    content: ""; position: absolute; right: -120px; top: -120px; width: 420px; height: 420px; border-radius: 50%;
    background: var(--blue); opacity: .9;
  }
  .join-box > * { position: relative; z-index: 1; }
  .join-box h2 { font-size: clamp(40px, 5.4vw, 66px); }
  .join-box p { margin-top: 20px; font-size: 19px; color: rgba(255,255,255,.9); max-width: 44ch; }
  .join-list { list-style: none; display: grid; gap: 14px; margin-bottom: 32px; }
  .join-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 16.5px; }
  .join-list li::before { content: ""; flex: none; width: 22px; height: 22px; margin-top: 2px; border-radius: 50%; background: var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D4ED8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
  .btn-white { background: var(--white); color: var(--red-deep); }
  .btn-white:hover { transform: translateY(-2px); background: var(--red-tint); }
  .join-small { margin-top: 14px; font-size: 14px; color: rgba(255,255,255,.8); }

  footer { padding: 0 0 48px; }
  footer .wrap { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; color: var(--ink-soft); font-size: 15px; }
  footer .links { display: flex; gap: 24px; }
  footer a { text-decoration: none; }
  footer a:hover { color: var(--red-text); }

  /* Reveal on scroll */
  .reveal { opacity: 0; transform: translateY(20px); transition: opacity .7s ease, transform .7s ease; }
  .reveal.in { opacity: 1; transform: none; }

  @media (max-width: 1000px) {
    .hero .wrap, .story .wrap, .join-box { grid-template-columns: 1fr; }
    .hero-photo { max-width: 460px; }
    .story-photo { position: static; max-width: 460px; }
    .proof-grid { grid-template-columns: repeat(2, 1fr); }
    .proof-grid .stat:last-child { grid-column: span 2; }
    .tiers, .wins-grid { grid-template-columns: 1fr; }
    .tier.flag { transform: none; }
    .compare-grid, .guarantees { grid-template-columns: 1fr; }
    .villa-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 220px 160px 160px; }
    .villa-grid .ph:first-child { grid-row: auto; grid-column: span 2; }
    .villa-grid .ph:nth-child(4) { grid-column: span 2; }
    .nav-links a:not(.btn) { display: none; }
    section { padding: 88px 0; }
  }
  @media (max-width: 560px) {
    .wrap { padding: 0 16px; }
    .hero { padding: 40px 0 72px; }
    .badge { left: 12px; bottom: 16px; }
    .badge-2 { right: 12px; top: 16px; }
    .c-card, .tier { padding: 30px 24px; }
    .join-box { padding: 48px 24px; border-radius: 24px; gap: 36px; }
    .join-box::after { width: 260px; height: 260px; right: -110px; top: -110px; }
    .nav-links .btn { padding: 10px 14px; font-size: 14px; }
    .nav-links .btn .wa-icon { display: none; }
  }
  @media (prefers-reduced-motion: reduce) {
    * { transition: none !important; scroll-behavior: auto !important; }
    .reveal { opacity: 1; transform: none; }
  }

  /* Shared nav: page links, theme toggle, mobile menu */
  .nav-links a.active { color: var(--ink); font-weight: 600; }
  .icon-btn {
    width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer; flex: none;
    background: var(--surface); color: var(--ink); display: grid; place-items: center;
  }
  .icon-btn svg { width: 19px; height: 19px; }
  .icon-btn:hover { background: var(--blue-tint); color: var(--blue-text); }
  .theme-toggle .moon { display: none; }
  :root[data-theme="dark"] .theme-toggle .sun { display: none; }
  :root[data-theme="dark"] .theme-toggle .moon { display: block; }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .theme-toggle .sun { display: none; }
    :root:not([data-theme="light"]) .theme-toggle .moon { display: block; }
  }
  .menu-btn { display: none; }
  .nav-right { display: flex; align-items: center; gap: 10px; }
  @media (max-width: 1000px) {
    .menu-btn { display: grid; }
    .nav-links { display: none; }
    nav.open .nav-links {
      display: flex; flex-direction: column; align-items: stretch; gap: 4px;
      position: absolute; top: 72px; left: 0; right: 0; padding: 12px 16px 20px;
      background: var(--bg); box-shadow: 0 20px 40px -24px rgba(0,0,0,.35);
    }
    nav.open .nav-links a:not(.btn) { display: block; padding: 12px 8px; font-size: 17px; color: var(--ink); }
    nav.open .nav-links .btn { justify-content: center; margin-top: 8px; }
  }
  @media (max-width: 560px) {
    .nav-right .btn { display: none; }
  }
  .nav-links .nav-join { display: none; }
  .nav-right .btn { padding: 11px 20px; font-size: 15px; }
  @media (max-width: 1000px) { nav.open .nav-links .nav-join { display: inline-flex; } }

  /* Reviews page */
  .r-hero { padding: 72px 0 56px; }
  .r-hero h1 { font-size: clamp(44px, 6.4vw, 82px); max-width: 15ch; }
  .r-hero h1 .red { color: var(--red); font-style: italic; }
  .r-hero .lead { margin-top: 24px; }
  .r-counts { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 40px; }
  .r-counts div { background: var(--surface); border-radius: 18px; padding: 18px 24px; min-width: 160px; }
  .r-counts b { display: block; font-family: var(--serif); font-size: 38px; font-weight: 500; line-height: 1; color: var(--blue-text); }
  .r-counts span { font-size: 14.5px; color: var(--ink-soft); }
  .r-jump { position: sticky; top: 72px; z-index: 15; background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(10px); }
  .r-jump .wrap { display: flex; gap: 8px; overflow-x: auto; padding-top: 10px; padding-bottom: 10px; scrollbar-width: none; }
  .r-jump .wrap::-webkit-scrollbar { display: none; }
  .r-jump a { flex: none; text-decoration: none; font-size: 14.5px; font-weight: 500; padding: 8px 16px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); }
  .r-jump a:hover { background: var(--red); color: var(--white); }
  .r-sec { padding: 96px 0; scroll-margin-top: 130px; }
  .r-sec.alt { background: var(--surface); }
  .r-sec .section-head { margin-bottom: 40px; }

  .video-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .video { position: relative; aspect-ratio: 9 / 16; border: 0; padding: 0; border-radius: 18px; overflow: hidden; background: var(--ink); cursor: pointer; }
  .video img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
  .video:hover img { transform: scale(1.04); }
  .video .play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 62px; height: 62px; border-radius: 50%; background: var(--red); color: var(--white); display: grid; place-items: center; box-shadow: 0 10px 30px -8px rgba(0,0,0,.5); }
  .video .play svg { width: 26px; height: 26px; margin-left: 3px; }
  .video.playing iframe { width: 100%; height: 100%; border: 0; }

  .shot { display: block; width: 100%; border: 0; padding: 0; background: var(--card); border-radius: 16px; overflow: hidden; cursor: zoom-in; transition: transform .25s ease, box-shadow .25s ease; }
  .shot:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -22px rgba(17,24,39,.45); }
  .shot img { width: 100%; height: auto; }
  .ba-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .masonry { columns: 4 240px; column-gap: 16px; }
  .masonry .shot { break-inside: avoid; margin-bottom: 16px; }
  .masonry.phones { columns: 5 200px; }
  .profile-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .profile-grid .shot img { aspect-ratio: 1414 / 2000; object-fit: cover; }
  .more-wrap { text-align: center; margin-top: 36px; }
  .btn-outline-strong { background: var(--card); color: var(--ink); box-shadow: inset 0 0 0 1.5px var(--ink); }
  .btn-outline-strong:hover { background: var(--ink); color: var(--bg); }
  .more-wrap .btn[hidden] { display: none; }

  .lightbox { position: fixed; inset: 0; z-index: 100; background: rgba(5,8,15,.92); display: flex; align-items: center; justify-content: center; gap: 16px; padding: 24px; }
  .lightbox[hidden] { display: none; }
  .lightbox img { max-width: min(92vw, 1100px); max-height: 88vh; width: auto; border-radius: 12px; }
  .lightbox .icon-btn { background: rgba(255,255,255,.12); color: #fff; width: 46px; height: 46px; }
  .lightbox .icon-btn:hover { background: var(--red); color: #fff; }
  .lb-close { position: absolute; top: 18px; right: 18px; }

  @media (max-width: 1000px) {
    .video-grid { grid-template-columns: repeat(3, 1fr); }
    .profile-grid { grid-template-columns: repeat(3, 1fr); }
    .r-jump { top: 72px; }
  }
  @media (max-width: 640px) {
    .video-grid, .profile-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .ba-grid { grid-template-columns: 1fr; }
    .masonry, .masonry.phones { columns: 2; column-gap: 12px; }
    .masonry .shot { margin-bottom: 12px; }
    .r-sec { padding: 72px 0; }
    .lightbox { padding: 12px; gap: 6px; }
    .lightbox .lb-prev, .lightbox .lb-next { position: absolute; bottom: 20px; }
    .lightbox .lb-prev { left: calc(50% - 56px); }
    .lightbox .lb-next { right: calc(50% - 56px); }
  }

  /* Conversion pieces: social proof, trust strip, steps, FAQ, sticky bar */
  .social-proof { display: flex; align-items: center; gap: 14px; margin-top: 22px; }
  .social-proof p { font-size: 14.5px; color: var(--ink-soft); }
  .social-proof strong { color: var(--ink); }
  .faces { display: flex; }
  .faces span { width: 34px; height: 34px; border-radius: 50%; border: 2.5px solid var(--bg); margin-left: -10px; background: var(--blue-tint); }
  .faces span:first-child { margin-left: 0; background: var(--red); }
  .faces span:nth-child(2) { background: var(--blue); }
  .faces span:nth-child(3) { background: #F59E0B; }
  .faces span:nth-child(4) { background: var(--ink-faint); }

  .proof-grid { grid-template-columns: repeat(4, 1fr); }
  .trust-strip { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px 20px; margin-top: 30px; color: var(--ink-soft); font-size: 15px; text-align: center; }
  .trust-strip b { font-family: var(--serif); font-size: 24px; font-weight: 600; color: var(--ink); letter-spacing: -0.01em; }

  .steps-sec { padding-bottom: 40px; }
  .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .step { background: var(--surface); border-radius: 24px; padding: 34px 30px; }
  .step-num { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--red); color: var(--white); font-weight: 600; margin-bottom: 20px; }
  .step h3 { font-size: 28px; margin-bottom: 10px; }
  .step p { color: var(--ink-soft); font-size: 16px; }
  .center-cta { text-align: center; margin-top: 40px; }

  .kit { margin-top: 56px; display: grid; grid-template-columns: 1fr 1.6fr; gap: 40px; align-items: center; background: var(--blue-tint); border-radius: 28px; padding: 44px; }
  .kit h3 { font-size: clamp(30px, 3.4vw, 42px); }
  .kit h3 .red { color: var(--red); font-style: italic; }
  .kit p { color: var(--ink-soft); margin-top: 14px; }
  .kit-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .kit-item .ph { aspect-ratio: 1; border-radius: 16px; background: var(--card); }
  .kit-item b { display: block; margin-top: 10px; font-size: 15px; }
  .kit-item small { color: var(--ink-soft); font-size: 13px; }

  .home-videos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }

  .team-sec { background: var(--surface); }
  .team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .person { background: var(--card); border-radius: 22px; padding: 14px 14px 24px; }
  .person .ph { aspect-ratio: 4 / 5; border-radius: 14px; }
  .person h3 { font-size: 24px; margin: 18px 8px 4px; }
  .person b { display: block; margin: 0 8px; font-size: 14px; color: var(--red-text); }
  .person p { margin: 10px 8px 0; font-size: 15px; color: var(--ink-soft); }

  .faq-wrap { display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; align-items: start; }
  .faq { display: grid; gap: 12px; }
  .faq details { background: var(--surface); border-radius: 18px; padding: 0 24px; }
  .faq summary { cursor: pointer; list-style: none; padding: 22px 32px 22px 0; font-weight: 600; font-size: 17px; position: relative; }
  .faq summary::-webkit-details-marker { display: none; }
  .faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; translate: 0 -50%; font-size: 26px; font-weight: 400; color: var(--red); transition: rotate .2s; }
  .faq details[open] summary::after { rotate: 45deg; }
  .faq details p { padding: 0 0 22px; color: var(--ink-soft); }

  .mid-cta { margin-top: 32px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; background: var(--red-tint); border-radius: 20px; padding: 22px 28px; }
  .mid-cta p { color: var(--ink-soft); }
  .mid-cta strong { color: var(--ink); }

  .sticky-join { display: none; }
  @media (max-width: 760px) {
    .sticky-join {
      display: flex; align-items: center; justify-content: space-between; gap: 12px;
      position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 30;
      background: var(--card); border-radius: 999px; padding: 8px 8px 8px 20px;
      box-shadow: 0 16px 40px -12px rgba(0,0,0,.4); font-size: 14.5px; font-weight: 600;
      transform: translateY(140%); transition: transform .3s ease;
    }
    .sticky-join.show { transform: none; }
    .sticky-join .btn { padding: 11px 20px; font-size: 15px; }
  }

  @media (max-width: 1000px) {
    .steps, .home-videos { grid-template-columns: repeat(2, 1fr); }
    .steps .step:last-child { grid-column: span 2; }
    .kit { grid-template-columns: 1fr; padding: 32px 24px; }
    .team-grid { grid-template-columns: repeat(2, 1fr); }
    .faq-wrap { grid-template-columns: 1fr; gap: 32px; }
    .proof-grid .stat:last-child { grid-column: auto; }
  }
  @media (max-width: 560px) {
    .steps { grid-template-columns: 1fr; }
    .steps .step:last-child { grid-column: auto; }
    .kit-items { grid-template-columns: repeat(2, 1fr); }
    .team-grid { gap: 12px; }
    .person h3 { font-size: 20px; }
  }

  /* Phone fixes */
  @media (max-width: 1000px) { .proof-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 560px) { .badge-2 { left: auto; bottom: auto; } }

  /* Join form */
  .jf-overlay { position: fixed; inset: 0; z-index: 120; background: rgba(5,8,15,.6); backdrop-filter: blur(4px); display: grid; place-items: center; padding: 16px; overflow-y: auto; }
  .jf-overlay[hidden] { display: none; }
  .jf { position: relative; width: 100%; max-width: 480px; background: var(--card); color: var(--ink); border-radius: 26px; padding: 36px 32px 28px; box-shadow: 0 30px 80px -30px rgba(0,0,0,.6); }
  .jf h2 { font-size: 32px; }
  .jf-sub { color: var(--ink-soft); margin: 10px 0 22px; font-size: 16px; }
  .jf label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 14px; }
  .jf input:not([type="checkbox"]), .jf select {
    display: block; width: 100%; margin-top: 6px; font: inherit; font-size: 16px; font-weight: 400; color: var(--ink);
    background: var(--surface); border: 1.5px solid transparent; border-radius: 12px; padding: 12px 14px; outline: none;
  }
  .jf input:focus, .jf select:focus { border-color: var(--blue-text); }
  .jf-phone { display: grid; grid-template-columns: 140px 1fr; gap: 8px; }
  .jf-opt { font-weight: 400; color: var(--ink-faint); }
  .jf-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; color: var(--ink-soft); }
  .jf-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--red); flex: none; }
  .jf-error { color: var(--red-text); font-size: 14px; min-height: 1.2em; margin-bottom: 8px; }
  .jf-submit { width: 100%; justify-content: center; }
  .jf-submit:disabled { opacity: .7; cursor: wait; }
  .jf-small { text-align: center; font-size: 13px; color: var(--ink-faint); margin-top: 12px; }
  .jf-close { position: absolute; top: 16px; right: 16px; }
  .jf-done { text-align: center; padding: 20px 0 8px; }
  .jf-done[hidden], .jf-step[hidden], .jf-wa[hidden], .jf-pending[hidden] { display: none; }
  .jf-tick { width: 64px; height: 64px; border-radius: 50%; background: var(--red); color: var(--white); display: grid; place-items: center; margin: 0 auto 18px; }
  .jf-tick svg { width: 30px; height: 30px; }
  @media (max-width: 560px) { .jf { padding: 30px 20px 22px; } .jf-phone { grid-template-columns: 110px 1fr; } }
  .c-card.same li::before { background: var(--blue-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D4ED8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }

  /* About page */
  .about-hero .hero-photo .ph { aspect-ratio: 4 / 4.6; }
  .gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; grid-auto-flow: dense; gap: 16px; }
  .gallery .g-tall { grid-row: span 2; }
  .gallery .g-wide { grid-column: span 2; }
  .goa-sec { padding-top: 0; }
  .goa { display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: center; background: var(--surface); border-radius: 32px; padding: 40px; }
  .goa-photo .ph { aspect-ratio: 4 / 3.4; }
  .goa-pill { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; padding: 7px 14px; border-radius: 999px; background: var(--red-tint); color: var(--red-text); margin-bottom: 18px; }
  .goa-pill .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); animation: pulse 2s infinite; }
  @keyframes pulse { 50% { opacity: .35; } }
  .goa h2 { margin-bottom: 18px; }
  .goa .join-list { margin: 26px 0 30px; }
  .dark-checks li { color: var(--ink-soft); }
  .dark-checks li::before { background-color: var(--blue-tint) !important; }
  .values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .value { background: var(--surface); border-radius: 22px; padding: 30px 26px; }
  .value h3 { font-size: 28px; color: var(--red); margin-bottom: 10px; }
  .value p { color: var(--ink-soft); font-size: 16px; }
  .team-sec .team-grid { row-gap: 24px; }

  /* What's Included page */
  .r-jump-inline { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
  .r-jump-inline a { text-decoration: none; font-size: 14.5px; font-weight: 500; padding: 8px 16px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); }
  .r-jump-inline a:hover { background: var(--red); color: var(--white); }
  #tiers, #apply, #week, #fit { scroll-margin-top: 90px; }
  .week { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .w-card { background: var(--card); border-radius: 24px; padding: 32px; }
  .w-tag { display: inline-block; font-size: 13px; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: var(--blue-tint); color: var(--blue-text); margin-bottom: 16px; }
  .w-card h3 { font-size: 32px; margin-bottom: 10px; }
  .w-card p { color: var(--ink-soft); }

  /* Versus Agency page */
  .vs-hero h1 { max-width: 17ch; }
  .vs-table { background: var(--card); border-radius: 26px; overflow: hidden; }
  .vs-row { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .vs-row > span { padding: 20px 26px; font-size: 16px; }
  .vs-row + .vs-row > span { box-shadow: inset 0 1px 0 var(--surface); }
  .vs-row [role="rowheader"] { font-weight: 600; }
  .vs-row [role="cell"]:not(.us) { color: var(--ink-soft); }
  .vs-row .us { background: var(--blue); color: var(--white); font-weight: 500; }
  .vs-row + .vs-row > .us { box-shadow: inset 0 1px 0 rgba(255,255,255,.15); }
  .vs-head > span { font-family: var(--serif); font-size: 22px; font-weight: 500; padding-top: 26px; padding-bottom: 18px; }
  .own-grid { display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px; }
  .own { background: var(--surface); border-radius: 26px; padding: 36px; }
  .own.us { background: var(--red); color: var(--white); }
  .own.us .c-label { color: rgba(255,255,255,.75); }
  .own-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 22px; }
  .own-list span { font-size: 16px; font-weight: 600; padding: 10px 16px; border-radius: 14px; background: var(--card); }
  .own.us .own-list span { background: rgba(255,255,255,.16); }
  .own p { color: var(--ink-soft); }
  .own.us p { color: rgba(255,255,255,.9); }
  .why { display: grid; gap: 14px; }
  .why-item { display: grid; grid-template-columns: 48px 1fr; gap: 18px; background: var(--card); border-radius: 20px; padding: 24px; }
  .why-item b { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); }
  .why-item h3 { font-family: var(--sans); font-size: 18px; font-weight: 600; letter-spacing: 0; margin-bottom: 4px; }
  .why-item p { color: var(--ink-soft); font-size: 16px; }

  .story-short .hero-cta { margin-top: 32px; }

  @media (max-width: 1000px) {
    .gallery { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 180px; }
    .goa { grid-template-columns: 1fr; padding: 28px; gap: 28px; }
    .values, .week { grid-template-columns: repeat(2, 1fr); }
    .own-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 640px) {
    .values, .week { grid-template-columns: 1fr; }
    .vs-row { grid-template-columns: 1fr 1fr; }
    .vs-row [role="rowheader"] { grid-column: 1 / -1; padding-bottom: 6px; }
    .vs-row [role="rowheader"] + span { box-shadow: none !important; }
    .vs-row + .vs-row > [role="cell"] { box-shadow: none; }
    .vs-head > span:first-child { display: none; }
    .vs-row > span { padding: 14px 16px; font-size: 15px; }
    .vs-head > span { font-size: 18px; }
    .goa { padding: 20px; border-radius: 24px; }
    .own { padding: 26px 22px; }
  }

  /* Member wins (wins.js) */
  .wins-rail { position: relative; }
  .wins-track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(260px, calc((100% - 48px) / 4)); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 2px 8px; scrollbar-width: none; overscroll-behavior-x: contain; }
  .wins-track::-webkit-scrollbar { display: none; }
  .wins-grid-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
  .win-card { scroll-snap-align: start; background: var(--card); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 1px 0 rgba(17,24,39,.04), 0 12px 30px -24px rgba(17,24,39,.5); }
  .alt .win-card, .wins .win-card, .team-sec .win-card { background: var(--card); }
  .win-img { display: block; border: 0; padding: 0; background: var(--surface); cursor: zoom-in; aspect-ratio: 4 / 3; overflow: hidden; }
  .win-img img { width: 100%; height: 100%; object-fit: cover; object-position: top center; transition: transform .4s ease; }
  .win-img:hover img { transform: scale(1.04); }
  .win-body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
  .win-metric { font-family: var(--serif); font-size: 28px; font-weight: 500; line-height: 1.05; letter-spacing: -0.02em; color: var(--red-text); }
  .win-card.no-img .win-body { padding-top: 26px; }
  .win-card.no-img .win-metric { font-size: 34px; }
  .win-line, .win-quote { color: var(--ink-soft); font-size: 15px; line-height: 1.5; }
  .win-quote { font-family: var(--serif); font-size: 17px; color: var(--ink); }
  .win-who { margin-top: auto; display: flex; align-items: center; gap: 10px; padding-top: 6px; }
  .win-who > span:nth-child(2) { flex: 1; min-width: 0; }
  .win-who strong { display: block; font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .win-who small { display: block; font-size: 13px; color: var(--ink-faint); }
  .win-avatar { width: 36px; height: 36px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--blue-tint); color: var(--blue-text); font-weight: 600; font-size: 15px; }
  .win-ig { width: 36px; height: 36px; flex: none; border-radius: 50%; display: grid; place-items: center; color: var(--ink-soft); background: var(--surface); }
  .win-ig:hover { color: var(--red-text); }
  .win-ig svg { width: 18px; height: 18px; }
  .wins-nav { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
  .sub-head { font-family: var(--sans); font-size: 18px; font-weight: 600; letter-spacing: 0; margin: 48px 0 18px; }
  .inline-link { color: var(--red-text); font-weight: 600; text-decoration: none; white-space: nowrap; }
  .win-lightbox img { max-height: 90vh; }

  /* Before and after cards (Reviews) */
  .ba-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; align-items: start; }
  .ba-card { background: var(--card); border-radius: 22px; padding: 14px; box-shadow: 0 1px 0 rgba(17,24,39,.04), 0 12px 30px -24px rgba(17,24,39,.5); }
  .ba-panes { display: grid; grid-template-columns: 1fr 34px 1fr; align-items: start; gap: 6px; }
  .ba-pane { position: relative; border-radius: 14px; overflow: hidden; background: var(--surface); }
  .ba-pane img { width: 100%; height: auto; display: block; }
  .ba-pane:hover { transform: none; box-shadow: none; }
  .ba-tag { position: absolute; left: 8px; top: 8px; z-index: 1; font-size: 12px; font-weight: 600; letter-spacing: .02em; padding: 4px 10px; border-radius: 999px; background: rgba(17,24,39,.78); color: #fff; }
  .ba-tag.after { background: var(--red); }
  .ba-arrow { align-self: center; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); }
  .ba-arrow svg { width: 18px; height: 18px; }
  .ba-stats { display: block; width: 100%; height: auto; margin-top: 10px; border-radius: 12px; }
  .r-sec .section-head .lead a { color: var(--red-text); }

  /* Touch devices: no hover lifts, no grey tap flash */
  html { -webkit-tap-highlight-color: transparent; }
  @media (hover: none) {
    .btn:hover, .shot:hover, .card:hover, .win-img:hover img, .video:hover img { transform: none; }
  }

  /* Phone pass */
  @media (max-width: 760px) {
    body { font-size: 16px; }
    section, .r-sec { padding: 64px 0; }
    .lead { font-size: 17px; }
    nav .wrap { height: 64px; }
    nav.open .nav-links { top: 64px; }
    .r-jump { top: 64px; }
    .section-head { margin-bottom: 28px; gap: 14px; }
    .compare-head { margin-bottom: 32px; }
    h2 { font-size: clamp(32px, 9vw, 44px); }
    .hero h1, .r-hero h1 { font-size: clamp(38px, 11vw, 52px); }
    .hero { padding: 28px 0 56px; }
    .hero .wrap { gap: 36px; }
    .r-hero { padding: 36px 0 40px; }
    .hero-cta, .center-cta { flex-direction: column; align-items: stretch; }
    .hero-cta .btn, .center-cta .btn, .mid-cta .btn, .join-box .btn { justify-content: center; width: 100%; min-height: 50px; }
    .hero-cta .btn-quiet { min-height: 44px; }
    .hero-photo { max-width: none; }
    .hero-photo .ph, .about-hero .hero-photo .ph { aspect-ratio: 4 / 3.2; }
    .badge { max-width: 200px; padding: 12px 14px; }
    .badge strong { font-size: 16px; }
    .who { margin-top: 28px; }
    .proof { padding: 48px 0; }
    .stat { padding: 20px 18px; }
    .stat b { font-size: 32px; }
    .trust-strip b { font-size: 20px; }
    .story .wrap { gap: 32px; }
    .story-photo .ph { aspect-ratio: 4 / 3; }
    .t-item { padding: 16px 16px; grid-template-columns: 44px 1fr; gap: 12px; }
    .quote { font-size: 26px; }
    .c-card { padding: 28px 22px; }
    .c-card h3 { font-size: 26px; }
    .step { padding: 26px 22px; }
    .step h3 { font-size: 24px; }
    .tiers { gap: 16px; }
    .tier.flag { order: -1; }
    .g { padding: 18px 20px; }
    .kit { margin-top: 32px; }
    .mid-cta { flex-direction: column; align-items: stretch; text-align: left; padding: 20px; }
    .faq summary { font-size: 16px; padding: 18px 30px 18px 0; }
    .faq details { padding: 0 18px; }
    .join { padding: 16px 0 88px; }
    .join-box h2 { font-size: 36px; }
    footer { padding-bottom: 96px; }
    footer .wrap { flex-direction: column; align-items: flex-start; gap: 16px; }
    footer .links { flex-wrap: wrap; gap: 12px 20px; }
    .sticky-join { bottom: calc(10px + env(safe-area-inset-bottom)); }
    .reveal { transform: translateY(12px); }

    /* Swipe rows instead of long stacks */
    .wins-track { grid-auto-columns: 82%; gap: 12px; margin: 0 -16px; padding: 4px 16px 8px; scroll-padding: 0 16px; }
    .wins-nav { display: none; }
    .wins-grid-list { grid-template-columns: 1fr 1fr; gap: 12px; }
    .wins-grid-list .win-metric { font-size: 22px; }
    .wins-grid-list .win-body { padding: 14px 14px 16px; gap: 8px; }
    .wins-grid-list .win-line, .wins-grid-list .win-quote { font-size: 14px; }
    .wins-grid-list .win-ig { display: none; }
    .home-videos, .video-grid { display: grid; grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 62%; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 -16px; padding: 0 16px 6px; scrollbar-width: none; }
    .home-videos::-webkit-scrollbar, .video-grid::-webkit-scrollbar { display: none; }
    .home-videos .video, .video-grid .video { scroll-snap-align: start; }
    .team-grid { gap: 12px; }
    .person { padding: 10px 10px 18px; }
    .person h3 { font-size: 19px; margin: 14px 6px 2px; }
    .person b, .person p { margin-left: 6px; margin-right: 6px; }
    .person p { font-size: 14px; }
    .values .value { padding: 24px 20px; }
    .value h3 { font-size: 24px; }
    .w-card { padding: 24px 22px; }
    .w-card h3 { font-size: 26px; }
    .ba-list { grid-template-columns: 1fr; gap: 14px; }
    .ba-card { padding: 10px; border-radius: 18px; }
    .ba-panes { grid-template-columns: 1fr 26px 1fr; gap: 4px; }
    .ba-arrow { width: 26px; height: 26px; }
    .ba-arrow svg { width: 14px; height: 14px; }
    .ba-tag { font-size: 11px; padding: 3px 8px; left: 6px; top: 6px; }
    .profile-grid { grid-template-columns: repeat(2, 1fr); }
    .r-counts div { min-width: 0; flex: 1; padding: 14px 16px; }
    .r-counts b { font-size: 30px; }
    .goa-text .btn { width: 100%; justify-content: center; }
    .vs-hero h1 { max-width: none; }
  }
.win-card[hidden] { display: none; }

  /* Application form steps */
  .jf-progress { height: 4px; border-radius: 4px; background: var(--surface); overflow: hidden; margin: -6px 0 8px; }
  .jf-progress span { display: block; height: 100%; width: 50%; background: var(--red); border-radius: 4px; transition: width .35s ease; }
  #jfForm:not(.is-apply) .jf-progress, #jfForm:not(.is-apply) .jf-stepnum { display: none; }
  .jf-stepnum { font-size: 13px; font-weight: 600; color: var(--ink-faint); margin-bottom: 14px; }
  .jf textarea { display: block; width: 100%; margin-top: 6px; font: inherit; font-size: 16px; font-weight: 400; color: var(--ink); background: var(--surface); border: 1.5px solid transparent; border-radius: 12px; padding: 12px 14px; outline: none; resize: vertical; }
  .jf textarea:focus { border-color: var(--blue-text); }
  .jf label[hidden], .jf-page[hidden] { display: none !important; }
  .jf-actions { display: flex; gap: 10px; align-items: center; }
  .jf-actions .jf-submit { flex: 1; }
  .jf-back[hidden] { display: none; }
  .jf-trust { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 13px; color: var(--ink-faint); margin-top: 12px; }
  .jf-trust + .jf-trust { margin-top: 6px; }
  .jf-trust svg { width: 15px; height: 15px; flex: none; color: var(--blue-text); }
  .jf-guarantee[hidden] { display: none; }
  .jf-next a { color: var(--red-text); font-weight: 600; text-decoration: none; }
  .jf-next[hidden] { display: none; }

  /* ===== Conversion and polish pass ===== */
  :root { --green: #16A34A; --green-tint: #DCFCE7; --shadow: 0 1px 1px rgba(17,24,39,.03), 0 18px 40px -28px rgba(17,24,39,.35);
          --serif: "Fraunces", "Noto Serif Devanagari", "Noto Serif Gujarati", Georgia, serif;
          --sans: "Inter", "Noto Sans Devanagari", "Noto Sans Gujarati", system-ui, -apple-system, sans-serif; }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --green: #4ADE80; --green-tint: #11331F; } }
  :root[data-theme="dark"] { --green: #4ADE80; --green-tint: #11331F; }

  /* More air, Apple-like rhythm */
  @media (min-width: 761px) {
    section, .r-sec { padding: 128px 0; }
    .section-head { margin-bottom: 56px; }
    .compare-head { margin-bottom: 64px; }
  }
  .shot[hidden], .masonry .shot[hidden] { display: none; }
  .stat, .c-card, .tier:not(.flag), .step, .w-card, .person, .value { box-shadow: var(--shadow); }

  /* Menu: underline that grows from the centre on hover */
  .nav-links a:not(.btn) { position: relative; padding: 6px 0; transition: color .2s ease; }
  .nav-links a:not(.btn)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px; background: var(--red); transform: scaleX(0); transition: transform .28s cubic-bezier(.2,.8,.2,1); }
  .nav-links a:not(.btn):hover { color: var(--ink); }
  .nav-links a:not(.btn):hover::after, .nav-links a.active::after { transform: scaleX(1); }
  .nav-links a.active { font-weight: 500; }
  .nav-right .nav-apply { padding: 11px 20px; font-size: 15px; }
  .btn-lg { padding: 17px 30px; font-size: 17px; }
  @media (max-width: 1000px) { nav.open .nav-links a:not(.btn)::after { display: none; } }

  /* Language menu */
  .lang-menu { position: relative; }
  .lang-list { position: absolute; right: 0; top: 48px; min-width: 170px; background: var(--card); border-radius: 16px; padding: 8px; box-shadow: 0 20px 50px -18px rgba(0,0,0,.4); display: grid; z-index: 40; }
  .lang-list[hidden] { display: none; }
  .lang-list a { text-decoration: none; padding: 10px 12px; border-radius: 10px; font-size: 15px; color: var(--ink); }
  .lang-list a:hover { background: var(--surface); }
  .lang-list a[aria-current] { color: var(--red-text); font-weight: 600; }

  /* Calmer hero */
  .hero-clean { padding: 96px 0 72px; }
  .hero-clean .wrap, .sales-hero .wrap { grid-template-columns: 1.15fr .85fr; gap: 80px; }
  .hero-clean h1 { font-size: clamp(48px, 6.2vw, 84px); }
  .hero-clean .lead, .sales-hero .lead { margin-top: 26px; font-size: 20px; max-width: 46ch; }
  .hero-clean .hero-cta, .sales-hero .hero-cta { margin-top: 38px; }
  .hero-clean .hero-photo .ph { aspect-ratio: 4 / 4.8; border-radius: 28px; }
  .trust-ticks { list-style: none; display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 26px; }
  .trust-ticks li, .final-ticks li { display: flex; align-items: center; gap: 8px; font-size: 14.5px; color: var(--ink-soft); }
  .trust-ticks li::before, .final-ticks li::before { content: ""; width: 18px; height: 18px; flex: none; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat; }

  /* Logos */
  .logo-strip { padding: 28px 0 32px; }
  .logo-strip .wrap { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 18px 44px; }
  .logo-strip span { font-size: 14px; color: var(--ink-faint); letter-spacing: .01em; }
  .logo-strip img { height: 30px; width: auto; filter: grayscale(1); opacity: .7; transition: filter .3s, opacity .3s; }
  .logo-strip .logo-ab { height: 46px; }
  .logo-strip img:hover { filter: none; opacity: 1; }
  :root[data-theme="dark"] .logo-uber { filter: grayscale(1) invert(1); }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .logo-uber { filter: grayscale(1) invert(1); } }

  /* Green ticks and red crosses */
  .c-card li::before { background: var(--red-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 11px no-repeat !important; }
  .c-card.us li::before, .c-card.same li::before { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat !important; }
  .c-card.same li::before { background-color: var(--green-tint) !important; }
  .vs-row [role="cell"] { display: flex; align-items: flex-start; gap: 10px; }
  .vs-row:not(.vs-head) [role="cell"]::before { content: ""; width: 20px; height: 20px; flex: none; margin-top: 1px; border-radius: 50%; background: var(--red-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 11px no-repeat; }
  .vs-row:not(.vs-head) [role="cell"].us::before { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }

  /* 100x sales page */
  .sales-hero { padding: 88px 0 56px; }
  .sales-hero h1 { font-size: clamp(46px, 5.8vw, 78px); }
  .offer-card { background: var(--card); border-radius: 28px; padding: 32px; box-shadow: 0 30px 70px -40px rgba(17,24,39,.5); }
  .offer-tag { display: inline-block; font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 14px; }
  .offer-list { list-style: none; display: grid; gap: 4px; }
  .offer-list li { display: grid; grid-template-columns: 22px 1fr; column-gap: 12px; padding: 12px 0; }
  .offer-list li::before { content: ""; grid-row: span 2; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
  .offer-list b { font-size: 16.5px; }
  .offer-list span { font-size: 14.5px; color: var(--ink-soft); }
  .offer-seal { display: flex; gap: 12px; align-items: flex-start; margin-top: 18px; padding: 16px 18px; border-radius: 18px; background: var(--blue-tint); font-size: 14.5px; color: var(--ink-soft); }
  .offer-seal svg { width: 24px; height: 24px; flex: none; color: var(--blue-text); }
  .offer-seal b { color: var(--ink); }
  .outcomes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
  .outcome { padding: 32px 28px; border-radius: 24px; background: var(--surface); }
  .o-num { font-family: var(--serif); font-size: 20px; color: var(--red-text); }
  .outcome h3 { font-size: 26px; margin: 18px 0 10px; }
  .outcome p { color: var(--ink-soft); font-size: 16px; }
  .mentors { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .mentor { display: grid; grid-template-columns: 120px 1fr; gap: 22px; align-items: center; background: var(--card); border-radius: 24px; padding: 18px; box-shadow: var(--shadow); }
  .mentor .ph { aspect-ratio: 1; border-radius: 18px; padding: 8px; font-size: 12px; }
  .mentor h3 { font-size: 24px; }
  .mentor b { display: block; font-size: 14px; color: var(--red-text); margin: 4px 0 8px; }
  .mentor p { font-size: 15.5px; color: var(--ink-soft); }
  .guarantee-sec { padding-top: 24px; padding-bottom: 24px; }
  .guarantee-box { display: grid; grid-template-columns: 140px 1fr; gap: 40px; align-items: center; background: var(--blue); color: var(--white); border-radius: 32px; padding: 56px; }
  .guarantee-box .kicker { color: rgba(255,255,255,.75); }
  .guarantee-box h2 .red { color: #FFB4B4; }
  .guarantee-box .lead { color: rgba(255,255,255,.88); margin-top: 18px; max-width: 56ch; }
  .seal { width: 140px; height: 140px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 2px rgba(255,255,255,.35); }
  .seal svg { width: 64px; height: 64px; }
  .hero-note { margin-top: 16px; font-size: 15px; color: var(--ink-soft); }

  /* Closing section */
  .final-box { grid-template-columns: 1.25fr 1fr; }
  .final-kicker { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75); margin-bottom: 14px; }
  .final-ticks { list-style: none; display: grid; gap: 10px; margin-top: 26px; }
  .final-ticks li { color: rgba(255,255,255,.95); font-size: 16px; }
  .final-ticks li::before { background-color: #fff; }
  .final-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
  .final-alt { color: rgba(255,255,255,.9); font-size: 15px; font-weight: 500; text-underline-offset: 3px; }
  .final-alt:hover { color: #fff; }

  /* Quote pauses between Reviews sections */
  .breather { padding: 40px 0 96px; text-align: center; }
  .breather blockquote { font-family: var(--serif); font-size: clamp(28px, 3.6vw, 44px); line-height: 1.2; letter-spacing: -0.015em; max-width: 26ch; margin: 0 auto; }
  .breather cite { display: block; margin-top: 18px; font-style: normal; font-size: 15px; color: var(--ink-soft); }
  .breather blockquote::before { content: ""; display: block; width: 44px; height: 4px; border-radius: 4px; background: var(--red); margin: 0 auto 28px; }
  .masonry { column-gap: 20px; }
  .masonry .shot { margin-bottom: 20px; }

  /* Sticky apply bar */
  .sticky-join > span:first-child { display: flex; flex-direction: column; line-height: 1.2; }   /* only the text on the left, not the buttons */
  .sticky-join span b { font-size: 15px; }
  .sticky-join span small { font-size: 12.5px; color: var(--ink-soft); font-weight: 500; }

  @media (max-width: 1000px) {
    .hero-clean .wrap, .sales-hero .wrap { grid-template-columns: 1fr; gap: 40px; }
    .outcomes { grid-template-columns: repeat(2, 1fr); }
    .mentors { grid-template-columns: 1fr; }
    .final-box { grid-template-columns: 1fr; }
    .nav-right .nav-apply { display: none; }
  }
  @media (max-width: 760px) {
    .hero-clean { padding: 32px 0 40px; }
    .hero-clean h1, .sales-hero h1 { font-size: clamp(38px, 10.5vw, 50px); }
    .hero-clean .lead, .sales-hero .lead { font-size: 17.5px; margin-top: 18px; }
    .trust-ticks { flex-direction: column; gap: 10px; margin-top: 22px; }
    .hero-clean .hero-photo .ph { aspect-ratio: 4 / 3.4; }
    .logo-strip .wrap { gap: 14px 30px; }
    .logo-strip span { width: 100%; text-align: center; }
    .sales-hero { padding: 32px 0 32px; }
    .offer-card { padding: 24px 20px; border-radius: 22px; }
    .outcomes { grid-template-columns: 1fr; gap: 12px; }
    .outcome { padding: 24px 22px; }
    .outcome h3 { font-size: 22px; margin: 10px 0 6px; }
    .mentor { grid-template-columns: 84px 1fr; gap: 16px; padding: 14px; }
    .mentor h3 { font-size: 20px; }
    .mentor p { font-size: 14.5px; }
    .guarantee-box { grid-template-columns: 1fr; padding: 36px 24px; gap: 22px; text-align: left; }
    .seal { width: 84px; height: 84px; }
    .seal svg { width: 40px; height: 40px; }
    .final-actions { align-items: stretch; }
    .final-alt { text-align: center; }
    .breather { padding: 16px 0 64px; }
    .vs-row:not(.vs-head) [role="cell"]::before { width: 18px; height: 18px; }
    .masonry .shot { margin-bottom: 12px; }
  }
  .logo-strip .logo-ab, :root[data-theme="dark"] .logo-strip .logo-ab { filter: none; opacity: .95; }
  .alt .faq details, .faq-sec.alt .faq details { background: var(--card); box-shadow: var(--shadow); }

  /* ===== Breathing room pass: fewer words per screen, more space between them ===== */
  body { line-height: 1.7; }
  .lead { line-height: 1.65; max-width: 54ch; }
  .compare-head { max-width: 680px; }
  .compare-head .lead { margin-left: auto; margin-right: auto; }
  .kicker { margin-bottom: 16px; }
  h2 { line-height: 1.08; }
  .section-head { align-items: flex-end; }
  .section-head .lead { margin-top: 0; }
  p + p { margin-top: 12px; }
  @media (min-width: 761px) {
    section, .r-sec { padding: 136px 0; }
    .section-head { margin-bottom: 64px; }
    .compare-head { margin-bottom: 72px; }
    .steps, .week, .compare-grid, .outcomes, .who-grid, .values, .mentors { gap: 24px; }
    .step, .w-card, .outcome, .who-card { padding: 40px 36px; }
    .c-card { padding: 48px 44px; }
    .c-card ul, .tier ul { gap: 16px; }
    .center-cta { margin-top: 56px; }
  }

  /* Home: compact numbers under the logos */
  .proof-compact { background: none; padding: 8px 0 72px; }
  .proof-compact .stat { box-shadow: none; background: var(--surface); text-align: center; padding: 26px 18px; }
  .proof-compact .stat b { font-size: clamp(30px, 3.4vw, 42px); }

  /* Home: who it's for */
  .who-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .who-card { background: var(--surface); border-radius: 24px; padding: 32px 28px; }
  .who-card h3 { font-size: 24px; margin-bottom: 10px; }
  .who-card p { color: var(--ink-soft); font-size: 16px; }

  /* Home: 100x summary card */
  .offer-wide { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; background: var(--card); border-radius: 32px; padding: 64px; box-shadow: 0 30px 80px -50px rgba(17,24,39,.55); }
  .offer-points { list-style: none; display: grid; gap: 16px; margin-top: 30px; }
  .offer-points li { display: flex; gap: 12px; align-items: center; font-size: 17px; }
  .offer-points li::before { content: ""; width: 24px; height: 24px; flex: none; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
  .offer-side { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; padding-left: 48px; box-shadow: inset 1px 0 0 var(--surface); }
  .offer-badge { font-size: 16px; color: var(--ink-soft); }
  .offer-badge b { display: block; color: var(--ink); font-size: 18px; margin-bottom: 4px; }

  /* Home: what's new strip */
  .news-sec { padding: 0 0 24px; }
  .news-strip { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; text-decoration: none; background: var(--blue-tint); border-radius: 999px; padding: 16px 26px; color: var(--ink); max-width: 760px; margin: 0 auto; transition: transform .2s ease; }
  .news-strip:hover { transform: translateY(-2px); }
  .news-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 5px var(--red-tint); flex: none; animation: pulse 2s infinite; }
  .news-strip > span:nth-child(2) { flex: 1; min-width: 200px; font-size: 15.5px; }
  .news-link { color: var(--red-text); font-weight: 600; font-size: 15px; white-space: nowrap; }

  /* What's new page */
  .news-hero { padding-bottom: 16px; }
  .news-list-sec { padding-top: 48px; }
  .updates { display: grid; gap: 20px; max-width: 880px; }
  .update { display: grid; grid-template-columns: 180px 1fr; gap: 32px; background: var(--card); border-radius: 26px; padding: 40px; box-shadow: var(--shadow); }
  .update-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
  .update-meta time { font-size: 15px; font-weight: 600; color: var(--ink-soft); }
  .update-tag { font-size: 12.5px; font-weight: 600; padding: 4px 12px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); }
  .update-tag.new { background: var(--red); color: var(--white); }
  .update h2 { font-size: clamp(28px, 3.2vw, 38px); margin-bottom: 12px; }
  .update p { color: var(--ink-soft); max-width: 56ch; }
  .update ul { list-style: none; display: grid; gap: 10px; margin-top: 20px; }
  .update li { display: flex; gap: 10px; align-items: center; font-size: 15.5px; }
  .update li::before { content: ""; width: 20px; height: 20px; flex: none; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat; }

  /* Sticky bar: WhatsApp + Apply */
  .sticky-actions { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; gap: 8px; flex-shrink: 0; }
  .sticky-chat { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #25D366; color: #fff; }
  .sticky-chat svg { width: 22px; height: 22px; }

  @media (max-width: 1000px) {
    .who-grid { grid-template-columns: 1fr; }
    .offer-wide { grid-template-columns: 1fr; padding: 40px 32px; gap: 32px; }
    .offer-side { padding-left: 0; box-shadow: none; }
  }

  /* Phones: one idea per screen, generous spacing, big tap targets */
  @media (max-width: 760px) {
    .wrap { padding: 0 20px; }
    body { font-size: 17px; line-height: 1.7; }
    section, .r-sec { padding: 80px 0; }
    .kicker { font-size: 12px; margin-bottom: 12px; }
    h2 { font-size: clamp(30px, 8.4vw, 38px); }
    .lead { font-size: 17px; }
    .section-head { margin-bottom: 36px; flex-direction: column; align-items: flex-start; gap: 16px; }
    .compare-head { margin-bottom: 40px; text-align: left; }
    .compare-head .lead { margin-left: 0; }
    .steps, .week, .compare-grid, .outcomes, .who-grid, .values, .mentors, .tiers { gap: 14px; }
    .step, .w-card, .outcome, .who-card, .c-card { padding: 28px 24px; border-radius: 22px; }
    .who-card h3, .step h3 { font-size: 22px; }
    .proof-compact { padding: 0 0 56px; }
    .proof-compact .stat { padding: 20px 12px; }
    .offer-wide { padding: 32px 24px; border-radius: 24px; }
    .offer-points li { font-size: 16px; }
    .offer-side .btn { width: 100%; justify-content: center; }
    .news-strip { border-radius: 22px; padding: 18px 20px; }
    .update { grid-template-columns: 1fr; gap: 14px; padding: 28px 24px; border-radius: 22px; }
    .update-meta { flex-direction: row; align-items: center; }
    .faq summary { min-height: 56px; display: flex; align-items: center; }
    .btn { min-height: 48px; }
    .trust-ticks li { font-size: 15px; }
    .story .quote { font-size: 24px; }
    .wins-track { margin: 0 -20px; padding: 4px 20px 8px; scroll-padding: 0 20px; }
    .home-videos, .video-grid { margin: 0 -20px; padding: 0 20px 6px; }
  }

  /* Wins: whole screenshot on a square tile, quieter card */
  .win-img { aspect-ratio: 1 / 1; background: #0c1015; }
  .win-img img { object-fit: cover; object-position: center; }
  .win-card { box-shadow: 0 1px 2px rgba(17,24,39,.05), 0 0 0 1px rgba(17,24,39,.05); }
  :root[data-theme="dark"] .win-card { box-shadow: 0 0 0 1px rgba(255,255,255,.06); }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .win-card { box-shadow: 0 0 0 1px rgba(255,255,255,.06); } }
  .win-who { padding-top: 10px; }
  .win-who > span { flex: 1; min-width: 0; }
  .win-metric { font-size: 26px; }
  /* Softer shadows everywhere: light lift, no grey smudge under cards */
  :root { --shadow: 0 1px 2px rgba(17,24,39,.04), 0 8px 24px -16px rgba(17,24,39,.18); }
  .ba-card { box-shadow: 0 1px 2px rgba(17,24,39,.05), 0 0 0 1px rgba(17,24,39,.05); }

  /* Closing section: one calm centred column */
  .final-box { display: flex !important; flex-direction: column; align-items: center; text-align: center; padding: 88px 48px !important; gap: 0 !important; }
  .final-box::after { display: none; }
  .final-box h2 { max-width: 16ch; }
  .final-box p { margin: 18px auto 0; max-width: 44ch; }
  .final-actions { flex-direction: column; align-items: center !important; gap: 16px; margin-top: 36px; }
  .final-ticks { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 10px 28px !important; margin-top: 32px; }
  .final-ticks li { font-size: 15px; }
  @media (max-width: 760px) {
    .final-box { padding: 56px 24px !important; }
    .final-actions { width: 100%; }
    .final-actions .btn { width: 100%; }
    .final-ticks { flex-direction: column; align-items: flex-start; gap: 10px !important; text-align: left; }
  }

  /* Values: headings line up */
  .value h3 { font-size: 24px; line-height: 1.2; min-height: 2.4em; display: flex; align-items: flex-end; margin-bottom: 12px; }
  @media (max-width: 1000px) { .value h3 { min-height: 0; display: block; } }

  /* Footer */
  footer { padding: 32px 0 56px; }
  footer .wrap { padding-top: 32px; box-shadow: inset 0 1px 0 var(--surface); }
  footer .links { gap: 10px 26px; flex-wrap: wrap; }
  footer a { color: var(--ink-soft); font-size: 15px; }

  /* Icons */
  .ico { display: inline-grid; place-items: center; width: 48px; height: 48px; flex: none; border-radius: 14px; background: var(--red-tint); color: var(--red-text); margin-bottom: 20px; }
  .ico svg { width: 24px; height: 24px; }
  .step .ico { background: var(--blue-tint); color: var(--blue-text); }

  /* Trust badges */
  .trust-badges-sec { padding: 0 0 24px; }
  .trust-badges { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .trust-badges li { display: flex; align-items: center; gap: 14px; padding: 18px 20px; border-radius: 20px; background: var(--card); box-shadow: 0 0 0 1px rgba(17,24,39,.06); }
  .trust-badges .ico { margin: 0; width: 42px; height: 42px; border-radius: 12px; background: var(--green-tint); color: var(--green); }
  .trust-badges .ico svg { width: 21px; height: 21px; }
  .trust-badges b { display: block; font-size: 15.5px; line-height: 1.3; }
  .trust-badges small { display: block; font-size: 13.5px; color: var(--ink-soft); line-height: 1.4; }

  /* Starting points */
  .start-row { margin-top: 40px; padding: 32px; border-radius: 24px; background: var(--blue-tint); text-align: center; }
  .start-title { font-weight: 600; font-size: 16px; }
  .start-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 16px 0; }
  .start-chips span { padding: 8px 18px; border-radius: 999px; background: var(--card); font-weight: 600; font-size: 15px; color: var(--blue-text); }
  .start-note { color: var(--ink-soft); font-size: 15.5px; max-width: 56ch; margin: 0 auto; }

  /* New-this-month line inside the 100x card */
  .offer-new { display: inline-flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; color: var(--ink-soft); text-decoration: none; padding: 8px 14px; border-radius: 999px; background: var(--surface); }
  .offer-new:hover { color: var(--ink); }
  .offer-new .news-dot { width: 8px; height: 8px; box-shadow: 0 0 0 4px var(--red-tint); }
  .sticky-chat { background: var(--blue-tint); color: var(--blue-text); }

  @media (max-width: 1000px) { .trust-badges { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 760px) {
    .trust-badges { grid-template-columns: 1fr; gap: 10px; }
    .trust-badges li { padding: 14px 16px; }
    .start-row { padding: 24px 20px; margin-top: 24px; }
    .ico { width: 44px; height: 44px; margin-bottom: 16px; }
  }
  .onboard { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
  .onb { background: var(--surface); border-radius: 24px; padding: 30px 24px; }
  .onb h3 { font-size: 21px; line-height: 1.2; margin-bottom: 10px; }
  .onb p { font-size: 15px; color: var(--ink-soft); }
  .mentor-guest { align-items: center; }
  .mentor-guest .ico { width: 84px; height: 84px; border-radius: 18px; margin: 0 auto; background: var(--blue-tint); color: var(--blue-text); }
  .mentor-guest .ico svg { width: 36px; height: 36px; }
  @media (min-width: 761px) { .mentor-guest { grid-template-columns: 120px 1fr; } }
  @media (max-width: 1100px) { .onboard { grid-template-columns: repeat(2, 1fr); } .onb:last-child { grid-column: span 2; } }
  @media (max-width: 760px) { .onboard { grid-template-columns: 1fr; gap: 12px; } .onb:last-child { grid-column: auto; } .onb { padding: 24px 22px; } .mentor-guest .ico { width: 64px; height: 64px; } }
  .fun { margin: 14px 8px 0 !important; padding: 12px 14px; border-radius: 14px; background: var(--surface); font-size: 14px !important; color: var(--ink-soft); }
  .fun span { display: block; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--red-text); margin-bottom: 4px; }

  /* Thank-you and contact pages */
  .btn-wa { background: #25D366; color: #fff; }
  .btn-wa:hover { background: #1EBE5A; transform: translateY(-2px); }
  .thanks-hero { text-align: center; padding-top: 96px; }
  .thanks-hero .wrap { display: flex; flex-direction: column; align-items: center; }
  .thanks-hero .lead { margin-left: auto; margin-right: auto; text-align: center; }
  .thanks-hero .hero-cta { justify-content: center; margin-top: 32px; }
  .thanks-tick { width: 76px; height: 76px; border-radius: 50%; background: var(--green-tint); color: var(--green); display: grid; place-items: center; margin-bottom: 24px; }
  .thanks-tick svg { width: 36px; height: 36px; }
  .contact-sec { padding-top: 24px; }
  .contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .contact-card { background: var(--card); border-radius: 26px; padding: 36px 32px; box-shadow: var(--shadow); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
  .contact-card h2 { font-size: 26px; }
  .contact-card p { color: var(--ink-soft); font-size: 16px; }
  .contact-big, .contact-big a { font-size: 22px !important; font-weight: 600; color: var(--ink) !important; text-decoration: none; }
  .contact-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
  .contact-apply { background: var(--red-tint); }
  .contact-apply .btn { margin-top: 10px; }
  @media (max-width: 1000px) { .contact-grid { grid-template-columns: 1fr; } }
  @media (max-width: 760px) { .thanks-hero { padding-top: 48px; } .thanks-hero .btn { width: 100%; justify-content: center; } .contact-card { padding: 28px 24px; } .contact-actions .btn { flex: 1; justify-content: center; } }
  .win-range { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
  .win-from { color: var(--ink-faint); font-size: .72em; }
  .win-arrow { color: var(--ink-faint); font-family: var(--sans); font-size: .6em; }
  .win-unit { display: block; margin-top: -6px; font-size: 13.5px; font-weight: 600; letter-spacing: .02em; color: var(--ink-soft); }

  /* Bigger, clearer crosses and ticks in lists */
  .c-card li::before { width: 26px !important; height: 26px !important; margin-top: 0 !important; background-size: 14px !important; }
  .c-card li { gap: 14px; align-items: flex-start; }
  .c-card:not(.us):not(.same) li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") !important; }
  .vs-row:not(.vs-head) [role="cell"]::before { width: 24px; height: 24px; background-size: 13px !important; }

  /* FAQ: a calm chevron instead of a red plus that turns into a cross */
  .faq summary::after {
    content: ""; width: 28px; height: 28px; border-radius: 50%; right: 0;
    background: var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B5563' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 15px no-repeat;
    transition: transform .25s ease; rotate: none; font-size: 0;
  }
  .alt .faq summary::after, .faq-sec.alt .faq summary::after { background-color: var(--surface); }
  .faq details { background: var(--card); box-shadow: 0 0 0 1px rgba(17,24,39,.06); }
  .faq details[open] summary::after { rotate: none; transform: translateY(-50%) rotate(180deg); }
  .faq summary::after { transform: translateY(-50%); translate: none; }
  .fun span { color: var(--blue-text); }
  .price { display: flex; align-items: baseline; gap: 4px; margin: 6px 0 4px; min-height: 0; }
  .price:empty { display: none; }
  .price b { font-family: var(--serif); font-size: 40px; font-weight: 500; letter-spacing: -0.02em; }
  .price span { font-size: 15px; color: var(--ink-soft); }
  .tier.flag .price span { color: rgba(255,255,255,.8); }
  .currency { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--surface); margin-bottom: 14px; }
  .currency[hidden] { display: none; }
  .currency button { font: inherit; font-size: 14px; font-weight: 600; border: 0; border-radius: 999px; padding: 8px 16px; background: none; color: var(--ink-soft); cursor: pointer; }
  .currency button[aria-pressed="true"] { background: var(--card); color: var(--ink); box-shadow: 0 1px 3px rgba(17,24,39,.12); }
  .price-note { font-size: 14.5px; color: var(--ink-soft); margin-bottom: 24px; }
  .price { flex-wrap: wrap; }
  .price small { flex-basis: 100%; font-size: 13.5px; color: var(--ink-soft); margin-top: 2px; }
  .tier.flag .price small { color: rgba(255,255,255,.85); }

  /* Language links in the footer */
  .footer-lang { flex-basis: 100%; display: flex; align-items: center; flex-wrap: wrap; gap: 6px 4px; margin-bottom: 18px; }
  .footer-lang svg { width: 18px; height: 18px; color: var(--ink-faint); margin-right: 6px; }
  .footer-lang a { font-size: 14.5px; padding: 6px 12px; border-radius: 999px; color: var(--ink-soft); text-decoration: none; }
  .footer-lang a:hover { background: var(--surface); color: var(--ink); }
  .footer-lang a[aria-current] { background: var(--surface); color: var(--ink); font-weight: 600; }
  footer .wrap { flex-wrap: wrap; }

  /* Results Promise: sit on the same grey as the section below, so there's no seam under the blue box */
  .guarantee-sec { background: var(--surface); padding: 112px 0 0 !important; }
  .guarantee-sec + .r-sec.alt { padding-top: 112px; }
  @media (max-width: 760px) { .guarantee-sec { padding-top: 72px !important; } .guarantee-sec + .r-sec.alt { padding-top: 72px; } }

  /* More room between the trust badges and the next section */
  .trust-badges-sec { padding-bottom: 112px; }
  @media (max-width: 760px) { .trust-badges-sec { padding-bottom: 72px; } }

  /* 100x Engine plan-length switch */
  .term-switch { flex-basis: 100%; display: flex; gap: 6px; padding: 4px; border-radius: 14px; background: rgba(255,255,255,.16); margin: 4px 0 14px; }
  .term-switch button { flex: 1; font: inherit; font-size: 13.5px; font-weight: 600; border: 0; border-radius: 10px; padding: 8px 6px; background: none; color: rgba(255,255,255,.9); cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px; line-height: 1.2; }
  .term-switch button[aria-pressed="true"] { background: #fff; color: var(--red-deep); }
  .term-switch em { font-style: normal; font-size: 11px; font-weight: 600; color: #FFE08A; }
  .term-switch button[aria-pressed="true"] em { color: var(--green); }

  /* Quote pauses: proof button */
  .proof-link { margin-top: 18px; display: inline-flex; align-items: center; gap: 8px; font: inherit; font-size: 14.5px; font-weight: 600; color: var(--blue-text); background: var(--blue-tint); border: 0; border-radius: 999px; padding: 10px 18px; cursor: zoom-in; }
  .proof-link::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='M21 16l-5-5-9 9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='3'/%3E%3Ccircle cx='9' cy='10' r='2'/%3E%3Cpath d='M21 16l-5-5-9 9'/%3E%3C/svg%3E") center / contain no-repeat; }
  .proof-link:hover { filter: brightness(.97); }
  .breather { padding-top: 96px; }
  .breather + section, .breather + .r-sec { padding-top: 96px; }
  @media (max-width: 760px) { .breather { padding: 56px 0 64px; } .breather blockquote { font-size: 26px; } .breather + section, .breather + .r-sec { padding-top: 64px; } }

  /* Versus page: three columns, clarity, myths */
  .vs3 .vs-row { grid-template-columns: 1.05fr 1fr 1fr 1.15fr; }
  .vs3 .vs-head small { display: block; font-family: var(--sans); font-size: 13.5px; font-weight: 500; margin-top: 4px; color: var(--ink-faint); }
  .vs3 .vs-head .us small { color: rgba(255,255,255,.75); }
  .vs3 .vs-row > span { padding: 20px 22px; }
  .vs-note { margin-top: 18px; font-size: 14px; color: var(--ink-faint); text-align: center; }
  .clarity-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .clarity { background: var(--surface); border-radius: 24px; padding: 30px; }
  .clarity .ico { margin-bottom: 18px; }
  .clarity h3 { font-size: 26px; margin-bottom: 8px; }
  .clarity p { color: var(--ink-soft); }
  .clarity-note { margin-top: 20px; background: var(--blue-tint); color: var(--ink); border-radius: 20px; padding: 22px 26px; font-size: 17px; }
  .clarity-note b { display: block; margin-bottom: 4px; color: var(--blue-text); }
  .myths { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .myth { background: var(--card); border-radius: 24px; padding: 28px 30px; }
  .myth-said { display: block; font-family: var(--serif); font-size: 22px; color: var(--ink-faint); text-decoration: line-through; text-decoration-color: var(--red); text-decoration-thickness: 2px; margin-bottom: 12px; }
  .myth p { position: relative; padding-left: 34px; font-size: 17px; }
  .myth p::before { content: ""; position: absolute; left: 0; top: 1px; width: 24px; height: 24px; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
  .own3 { grid-template-columns: 1fr 1fr 1.5fr; }
  @media (max-width: 1000px) {
    .clarity-grid { grid-template-columns: 1fr; }
    .own3 { grid-template-columns: 1fr 1fr; }
    .own3 .own.us { grid-column: 1 / -1; }
  }
  @media (max-width: 640px) {
    .myths, .own3 { grid-template-columns: 1fr; }
    .clarity, .myth { padding: 24px 22px; }
    .vs3 .vs-head { display: none; }
    .vs3 .vs-row { grid-template-columns: 1fr 1fr; padding: 6px 0 14px; }
    .vs3 .vs-row + .vs-row { box-shadow: inset 0 1px 0 var(--surface); }
    .vs3 .vs-row > span { padding: 10px 14px; font-size: 14.5px; box-shadow: none !important; }
    .vs3 .vs-row [role="rowheader"] { padding: 14px 16px 4px; font-size: 16px; }
    .vs3 .vs-row .us { grid-column: 1 / -1; order: 1; margin: 6px 12px 4px; border-radius: 14px; padding: 14px 16px; font-size: 15.5px; }
    .vs3 .vs-row [role="cell"]:not(.us) { order: 2; }
    .vs3 .vs-row [role="cell"] { flex-wrap: wrap; column-gap: 8px; row-gap: 4px; }
    .vs3 .vs-row [role="cell"]::after { content: attr(data-l); order: -1; flex-basis: 100%; font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-faint); }
    .vs3 .vs-row .us::after { color: rgba(255,255,255,.75); }
    .vs3 .vs-row [role="cell"] { display: grid; grid-template-columns: auto 1fr; align-content: start; }
    .vs3 .vs-row [role="cell"]::after { grid-column: 1 / -1; grid-row: 1; }
    .vs3 .vs-row [role="cell"]::before { grid-column: 1; grid-row: 2; }
  }

  /* External links: small arrow, open in a new tab (site.js) */
  a.ext::after { content: ""; display: inline-block; width: .7em; height: .7em; margin-left: .3em; vertical-align: .05em; background: currentColor; opacity: .75; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M9 7h8v8'/%3E%3C/svg%3E") center / contain no-repeat; }

  /* Clarity: before/after answers */
  .clarity { display: flex; flex-direction: column; gap: 12px; }
  .clarity-q { font-family: var(--serif); font-size: 24px; line-height: 1.2; margin-bottom: 4px; }
  .clarity-before, .clarity-after { border-radius: 14px; padding: 12px 14px; font-size: 15.5px; line-height: 1.45; }
  .clarity-before { background: var(--card); color: var(--ink-faint); }
  .clarity-after { background: var(--green-tint); color: var(--ink); font-weight: 500; }
  .clarity-before small, .clarity-after small { display: block; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 3px; }
  .clarity-before small { color: var(--red-text); }
  .clarity-after small { color: #15803D; }
  :root[data-theme="dark"] .clarity-after small { color: #4ADE80; }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .clarity-after small { color: #4ADE80; } }
  .clarity > p { font-size: 15px; margin-top: 2px; }

  /* Myths: myth then truth */
  .myth { display: flex; flex-direction: column; gap: 14px; padding: 26px; }
  .myth small { display: block; font-size: 11.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
  .myth .myth-said { font-family: var(--sans); font-size: 16.5px; text-decoration: none; margin: 0; color: var(--ink-soft); background: var(--surface); border-radius: 14px; padding: 14px 16px 14px 50px; position: relative; }
  .myth .myth-said small { color: var(--red-text); }
  .myth-said::before, .myth-true::before { content: ""; position: absolute; left: 16px; top: 16px; width: 22px; height: 22px; border-radius: 50%; }
  .myth-said::before { background: var(--red-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center / 11px no-repeat; }
  .myth-true { position: relative; padding: 0 16px 0 50px; }
  .myth-true::before { top: 2px; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
  .myth-true small { color: #15803D; }
  :root[data-theme="dark"] .myth-true small { color: #4ADE80; }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .myth-true small { color: #4ADE80; } }
  .myth-true b { display: block; font-family: var(--serif); font-weight: 500; font-size: 23px; line-height: 1.25; margin-bottom: 6px; }
  .myth-true span { display: block; color: var(--ink-soft); font-size: 15.5px; }
  .myth p::before { display: none; }
  @media (max-width: 640px) { .myth { padding: 20px 18px; } .myth-true b { font-size: 21px; } }

  /* Header: hide on scroll down, show on scroll up (site.js) */
  nav { transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease, background-color .25s ease; }
  nav.scrolled { box-shadow: 0 8px 24px -18px rgba(17,24,39,.35); }
  nav.nav-hidden { transform: translateY(-100%); box-shadow: none; }
  @media (prefers-reduced-motion: reduce) { nav { transition: none; } }

  /* ===== Header upgrades ===== */
  /* 1 + 2. Floating glass pill that tightens once you scroll */
  nav { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; padding: 0; }
  nav.scrolled, nav.nav-hidden { box-shadow: none; }
  nav .wrap { position: relative; background: color-mix(in srgb, var(--bg) 92%, transparent); transition: height .3s cubic-bezier(.2,.8,.2,1), margin .3s cubic-bezier(.2,.8,.2,1), border-radius .3s ease, box-shadow .3s ease, background-color .3s ease, max-width .3s ease; }
  nav.scrolled:not(.open) .wrap {
    height: 60px; margin-top: 10px; border-radius: 999px; max-width: 1180px; padding: 0 10px 0 22px;
    background: color-mix(in srgb, var(--card) 78%, transparent);
    -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
    box-shadow: 0 12px 34px -16px rgba(17,24,39,.28), inset 0 0 0 1px color-mix(in srgb, var(--ink) 6%, transparent);
  }
  nav.scrolled:not(.open) .logo { font-size: 20px; }
  nav.nav-hidden { transform: translateY(calc(-100% - 14px)); }

  /* 3. Sliding pill behind the current page (site.js) */
  .nav-links { position: relative; gap: 6px; }
  .nav-links a:not(.btn) { position: relative; z-index: 1; padding: 8px 14px; border-radius: 999px; }
  .nav-links a:not(.btn)::after { display: none; }
  .nav-links .btn { margin-left: 10px; }
  .nav-pill { position: absolute; left: 0; top: 0; z-index: 0; border-radius: 999px; background: color-mix(in srgb, var(--ink) 7%, transparent); opacity: 0; pointer-events: none; }
  .nav-pill.ready { transition: transform .35s cubic-bezier(.2,.8,.2,1), width .35s cubic-bezier(.2,.8,.2,1), opacity .2s ease; }
  .nav-links a.active { color: var(--ink); font-weight: 600; }
  .nav-note { display: none; }

  /* 5. Short Apply button on phones */
  .nav-apply-s { display: none; }
  @media (max-width: 1000px) {
    .nav-right .nav-apply-s { display: inline-flex; padding: 9px 16px; font-size: 14.5px; }
    .nav-pill { display: none; }
  }

  /* 4. Phone menu: full sheet, big links, burger turns into an X */
  .burger { position: relative; width: 18px; height: 14px; display: block; }
  .burger i { position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s cubic-bezier(.2,.8,.2,1), opacity .2s ease, top .3s cubic-bezier(.2,.8,.2,1); }
  .burger i:nth-child(1) { top: 0; } .burger i:nth-child(2) { top: 6px; } .burger i:nth-child(3) { top: 12px; }
  nav.open .burger i:nth-child(1) { top: 6px; transform: rotate(45deg); }
  nav.open .burger i:nth-child(2) { opacity: 0; transform: scaleX(.3); }
  nav.open .burger i:nth-child(3) { top: 6px; transform: rotate(-45deg); }
  html.menu-open { overflow: hidden; }
  @media (max-width: 1000px) {
    nav.open .wrap { background: var(--bg); }
    nav.open .nav-links {
      position: fixed; top: 72px; left: 0; right: 0; bottom: 0; overflow-y: auto;
      display: flex; flex-direction: column; align-items: stretch; gap: 2px;
      padding: 16px 24px calc(28px + env(safe-area-inset-bottom)); background: var(--bg); box-shadow: none;
    }
    nav.open .nav-links a:not(.btn) { display: block; padding: 14px 4px; font-family: var(--serif); font-size: 30px; font-weight: 500; letter-spacing: -0.01em; color: var(--ink); border-radius: 12px; }
    nav.open .nav-links a.active { color: var(--red-text); }
    nav.open .nav-links .nav-join { display: flex; justify-content: center; margin: 22px 0 0; padding: 16px 20px; font-size: 17px; }
    nav.open .nav-note { display: block; text-align: center; font-size: 14px; color: var(--ink-soft); margin-top: 12px; }
    nav.open .nav-links > * { animation: navIn .45s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 45ms + 40ms); }
  }
  @media (max-width: 760px) { nav.open .nav-links { top: 64px; } nav.open .nav-links a:not(.btn) { font-size: 28px; } }
  @keyframes navIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
  @media (max-width: 760px) {
    nav.scrolled:not(.open) .wrap { height: 56px; margin: 8px 10px 0; border-radius: 20px; padding: 0 8px 0 16px; }
    nav.scrolled:not(.open) .logo { font-size: 19px; }
  }

  /* 6. Accessibility: skip link, clear focus rings, calmer motion */
  .skip-link { position: fixed; left: 16px; top: 12px; z-index: 100; padding: 10px 16px; border-radius: 12px; background: var(--ink); color: var(--bg); font-weight: 600; text-decoration: none; transform: translateY(-160%); transition: transform .2s ease; }
  .skip-link:focus { transform: none; }
  :where(a, button, summary, input, select, textarea, [tabindex]):focus-visible { outline: 2.5px solid var(--blue); outline-offset: 3px; }
  .btn:focus-visible, .icon-btn:focus-visible, .nav-links a:focus-visible { outline-offset: 3px; border-radius: 999px; }
  [tabindex="-1"]:focus { outline: none; }
  @media (prefers-reduced-motion: reduce) {
    nav, nav .wrap, .nav-pill.ready, .burger i { transition: none !important; }
    nav.open .nav-links > * { animation: none !important; }
  }
  /* Reviews jump bar follows the header: tucks up to the top when the header hides */
  .r-jump { transition: top .35s cubic-bezier(.2,.8,.2,1); }
  body:has(nav.scrolled) .r-jump { top: 74px; }
  body:has(nav.nav-hidden) .r-jump { top: 0; }
  @media (max-width: 760px) { body:has(nav.scrolled) .r-jump { top: 64px; } body:has(nav.nav-hidden) .r-jump { top: 0; } }

  /* 100x page: one plan */
  .plan-solo { display: grid; grid-template-columns: 1fr 1.25fr; gap: 20px; align-items: stretch; }
  .plan-solo-price { background: var(--red); color: var(--white); border-radius: 28px; padding: 36px; display: flex; flex-direction: column; box-shadow: 0 30px 60px -30px rgba(239,68,68,.8); }
  .plan-solo-price .tag { align-self: flex-start; font-size: 12.5px; font-weight: 600; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.18); margin-bottom: 18px; }
  .plan-solo-price .price span, .plan-solo-price .price small { color: rgba(255,255,255,.85); }
  .plan-solo-price .price b { font-size: 46px; }
  .plan-solo-price .btn { background: var(--white); color: var(--red-deep); justify-content: center; margin-top: 22px; box-shadow: none; }
  .plan-solo-price .btn:hover { background: var(--red-tint); }
  .plan-ticks { list-style: none; display: grid; gap: 8px; margin-top: 20px; font-size: 14.5px; color: rgba(255,255,255,.92); }
  .plan-ticks li { display: flex; gap: 8px; align-items: center; }
  .plan-ticks li::before { content: ""; width: 18px; height: 18px; flex: none; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat; }
  .plan-solo-list { background: var(--card); border-radius: 28px; padding: 36px; box-shadow: var(--shadow); }
  .plan-solo-list h3 { font-size: 28px; margin-bottom: 18px; }
  .plan-solo-list ul, .check-list { list-style: none; display: grid; gap: 14px; }
  .plan-solo-list li, .check-list li { display: flex; gap: 12px; font-size: 16px; }
  .plan-solo-list li::before, .check-list li::before { content: ""; width: 22px; height: 22px; flex: none; margin-top: 1px; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
  .plan-compare { text-align: center; margin-top: 26px; color: var(--ink-soft); }
  @media (max-width: 900px) { .plan-solo { grid-template-columns: 1fr; } }
  @media (max-width: 560px) { .plan-solo-price, .plan-solo-list { padding: 28px 22px; border-radius: 24px; } }

  /* Pricing page */
  .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .pricing-hero .currency, .plan-hero .currency { margin-top: 26px; }
  .price-note.center { text-align: center; margin: 28px 0 0; }
  .chooser { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .choose { display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: var(--ink); background: var(--card); border-radius: 24px; padding: 28px; box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease; }
  .choose:hover { transform: translateY(-3px); }
  .choose-if { font-size: 12.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
  .choose p { font-size: 17px; flex: 1; }
  .choose-go { font-weight: 600; color: var(--red-text); }
  .choose.pick { background: var(--red); color: var(--white); }
  .choose.pick .choose-if { color: rgba(255,255,255,.75); }
  .choose.pick .choose-go { color: var(--white); }
  .cmp-wrap { overflow-x: auto; border-radius: 26px; background: var(--card); box-shadow: var(--shadow); }
  .cmp { width: 100%; border-collapse: collapse; min-width: 640px; }
  .cmp th, .cmp td { padding: 16px 20px; text-align: center; font-size: 15.5px; }
  .cmp tbody th { text-align: left; font-weight: 500; color: var(--ink); }
  .cmp thead th { font-family: var(--serif); font-size: 22px; font-weight: 500; padding-top: 26px; }
  .cmp tbody tr:nth-child(odd) { background: color-mix(in srgb, var(--surface) 55%, transparent); }
  .cmp .pick { background: color-mix(in srgb, var(--red) 7%, transparent); }
  .cmp thead .pick { color: var(--red-text); }
  .cmp td.y, .cmp td.n { font-size: 0; }
  .cmp td.y::before, .cmp td.n::before { content: ""; display: inline-block; width: 24px; height: 24px; border-radius: 50%; vertical-align: middle; }
  .cmp td.y::before { background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 13px no-repeat; }
  .cmp td.n::before { width: 14px; height: 2px; border-radius: 2px; background: var(--ink-faint); opacity: .5; }
  .cmp tfoot td { padding: 22px 12px 26px; }
  .cmp tfoot .btn { padding: 11px 18px; font-size: 14.5px; }
  .plan-hero-price { margin-top: 18px; }
  .plan-hero-price .price b { font-size: 48px; }
  .btn-quiet-light { margin-top: 18px; align-self: flex-start; background: rgba(255,255,255,.16); color: var(--white); }
  .btn-quiet-light:hover { background: rgba(255,255,255,.26); }
  .worth-stats { display: grid; gap: 16px; padding: 0; grid-template-columns: repeat(3, 1fr); }
  .worth-list { max-width: 760px; }
  .worth-promise { text-align: center; max-width: 720px; margin: 0 auto; }
  .worth-promise .lead { margin: 18px auto 0; }
  @media (max-width: 900px) { .chooser, .worth-stats { grid-template-columns: 1fr; } }
  @media (max-width: 560px) { .cmp th, .cmp td { padding: 13px 12px; font-size: 14px; } .cmp thead th { font-size: 17px; } .cmp tbody th { min-width: 170px; } }

  /* Press logos */
  .logo-strip .press-group { display: contents; }
  .press { font-weight: 700; font-size: 19px; color: var(--ink-faint); letter-spacing: -.01em; opacity: .85; white-space: nowrap; }
  .press-ndtv { font-family: var(--sans); font-weight: 800; letter-spacing: .02em; }
  .press-mu { font-family: var(--serif); font-weight: 600; }
  .press-dj { font-family: "Noto Serif Devanagari", var(--serif); font-weight: 600; }
  .logo-strip .strip-break { width: 1px; height: 26px; background: transparent; }
  @media (max-width: 760px) { .logo-strip .strip-break { flex-basis: 100%; height: 4px; } }
  .cmp tfoot .btn-outline { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ink); }

  /* Footer: grouped links */
  footer .footer-cols { flex-basis: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 8px 0 28px; }
  .footer-col { display: flex; flex-direction: column; gap: 10px; }
  .footer-h { font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); margin-bottom: 4px; }
  .footer-col a { font-size: 15px; color: var(--ink-soft); width: fit-content; }
  footer .footer-bottom { flex-basis: 100%; display: flex; justify-content: space-between; gap: 8px 24px; flex-wrap: wrap; font-size: 14px; color: var(--ink-faint); }
  @media (max-width: 760px) { footer .footer-cols { grid-template-columns: 1fr 1fr; gap: 28px 20px; } .footer-col:last-child { grid-column: 1 / -1; } }

  /* Keyword kicker inside the H1 (added by seo.py) */
  h1 > .kicker { display: block; width: fit-content; font-family: var(--sans); line-height: 1.4; letter-spacing: .08em; font-weight: 600; }

  /* Breadcrumbs (added by seo.py) */
  .crumbs { padding-top: 18px; }
  .crumbs ol { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13.5px; color: var(--ink-faint); }
  .crumbs li + li::before { content: "›"; margin-right: 6px; color: var(--ink-faint); }
  .crumbs a { color: var(--ink-soft); text-decoration: none; }
  .crumbs a:hover { color: var(--red-text); }
  .crumbs + header, .crumbs + .r-hero { padding-top: 36px; }
  .nf-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
  .legal { max-width: 760px; }

  /* Header fixes: fixed height (no page jump), nearly solid pill, and a soft fade so content never shows through */
  nav { height: 72px; }
  nav.scrolled:not(.open) .wrap { margin-top: 6px; background: color-mix(in srgb, var(--card) 95%, transparent); }
  nav.scrolled:not(.open)::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 86px; z-index: -1; pointer-events: none;
    background: linear-gradient(to bottom, var(--bg) 0%, var(--bg) 62%, color-mix(in srgb, var(--bg) 0%, transparent) 100%); }
  nav.nav-hidden::before { opacity: 0; }
  body:has(nav.scrolled) .r-jump { top: 72px; }
  @media (max-width: 760px) {
    nav { height: 64px; }
    nav.scrolled:not(.open) .wrap { margin-top: 4px; }
    nav.scrolled:not(.open)::before { height: 76px; }
    body:has(nav.scrolled) .r-jump { top: 64px; }
  }
  .r-jump { z-index: 18; }

  /* Plan-length tabs: centre the label when there's no "Save" line */
  .term-switch button { justify-content: center; min-height: 48px; }

  /* 404: a reel that flopped */
  .notfound { padding-bottom: 96px; }
  .nf-reel { position: relative; width: 150px; aspect-ratio: 9 / 16; border-radius: 22px; background: linear-gradient(160deg, var(--surface), color-mix(in srgb, var(--red) 14%, var(--surface))); margin-bottom: 30px; display: grid; place-items: center; box-shadow: var(--shadow); transform: rotate(-4deg); animation: nfWobble 4s ease-in-out infinite; }
  .nf-num { font-family: var(--serif); font-size: 46px; font-weight: 500; color: var(--red-text); }
  .nf-views { position: absolute; top: 12px; left: 12px; font-size: 11.5px; font-weight: 600; padding: 4px 9px; border-radius: 999px; background: var(--card); color: var(--ink-soft); }
  .nf-bar { position: absolute; left: 12px; right: 12px; bottom: 14px; height: 4px; border-radius: 4px; background: color-mix(in srgb, var(--ink) 12%, transparent); overflow: hidden; }
  .nf-bar i { display: block; height: 100%; width: 8%; background: var(--red); border-radius: 4px; }
  .nf-quote { margin-top: 36px; max-width: 52ch; font-family: var(--serif); font-size: 20px; color: var(--ink); }
  .nf-quote span { display: block; margin-top: 6px; font-family: var(--sans); font-size: 14px; color: var(--ink-faint); }
  @keyframes nfWobble { 0%, 100% { transform: rotate(-4deg); } 50% { transform: rotate(3deg) translateY(-4px); } }
  @media (prefers-reduced-motion: reduce) { .nf-reel { animation: none; } }

  /* Footer: four groups, small links row */
  footer .footer-cols { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .footer-small { display: flex; flex-wrap: wrap; gap: 6px 18px; }
  .footer-small a { font-size: 14px; color: var(--ink-faint); }
  @media (max-width: 760px) { footer .footer-cols { grid-template-columns: 1fr 1fr; } .footer-col:last-child { grid-column: auto; } }

  /* Sitemap page */
  .sitemap-cols { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 40px 32px; }
  @media (max-width: 760px) { .sitemap-cols { grid-template-columns: 1fr 1fr !important; } }

  /* Experts page cards that link */
  .step-link { display: block; text-decoration: none; color: inherit; transition: transform .25s ease; }
  .step-link:hover { transform: translateY(-3px); }
  .step-link .inline-link { display: inline-block; margin-top: 12px; }

  /* Blog */
  .post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .post-card { display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: var(--ink); background: var(--card); border-radius: 24px; padding: 28px; box-shadow: var(--shadow); transition: transform .25s ease; }
  .post-card:hover { transform: translateY(-3px); }
  .post-card h2 { font-size: 26px; line-height: 1.15; }
  .post-card p { color: var(--ink-soft); font-size: 16px; flex: 1; }
  .post-meta { display: flex; gap: 10px; align-items: center; font-size: 13px; color: var(--ink-faint); }
  .post-tag { font-weight: 600; padding: 4px 10px; border-radius: 999px; background: var(--blue-tint); color: var(--blue-text); }
  .post-hero h1 { max-width: 22ch; font-size: clamp(38px, 5.2vw, 64px); }
  .post-byline { margin-top: 18px; font-size: 15px; color: var(--ink-faint); }
  .post-body { max-width: 720px; padding-bottom: 72px; }
  .post-body > * + * { margin-top: 18px; }
  .post-body h2 { font-size: clamp(28px, 3.4vw, 36px); margin-top: 44px; }
  .post-body h3 { font-size: 22px; margin-top: 28px; }
  .post-body p, .post-body li { font-size: 18px; line-height: 1.7; color: var(--ink-soft); }
  .post-body b { color: var(--ink); }
  .post-body ul { padding-left: 22px; display: grid; gap: 8px; }
  .post-quote { font-family: var(--serif); font-size: 24px; line-height: 1.35; padding: 22px 26px; border-radius: 20px; background: var(--surface); }
  .post-quote cite { display: block; margin-top: 8px; font-family: var(--sans); font-style: normal; font-size: 14px; color: var(--ink-faint); }
  .post-cta { margin-top: 40px !important; padding: 26px; border-radius: 22px; background: var(--red-tint); display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
  .post-cta p { flex-basis: 100%; color: var(--ink); }
  .post-more { font-size: 16px !important; }
  @media (max-width: 900px) { .post-grid { grid-template-columns: 1fr; } }
  .post-hero .wrap { max-width: 720px; }
  .post-hero + .post-body, .post-body { margin-left: auto; margin-right: auto; }
  body:has(.post) .crumbs .wrap { max-width: 720px; }
  .sitemap-cols { display: grid; }
  .sitemap-cols .footer-col { gap: 10px; }
  .sitemap-cols a { text-decoration: none; color: var(--ink-soft); font-size: 16px; }
  .sitemap-cols a:hover { color: var(--red-text); }
  .nf-links .btn-outline { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ink); }

  /* Only the main header is sticky; other navigation blocks stay in the page flow */
  .crumbs, .footer-lang { position: static !important; height: auto !important; transform: none !important; background: none !important; backdrop-filter: none !important; z-index: auto !important; }
  .crumbs .wrap { height: auto; display: block; background: none; box-shadow: none; }
  @media (max-width: 760px) { .crumbs { padding-top: 12px; } .crumbs ol { font-size: 13px; } .crumbs li[aria-current] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 70vw; } .crumbs + header, .crumbs + .r-hero { padding-top: 24px; } }

  /* Legal pages */
  .legal-hero h1 { font-size: clamp(38px, 5.4vw, 64px); }
  .legal-version { margin-top: 14px; font-size: 15px; color: var(--ink-faint); }
  .legal { max-width: 760px; }
  .legal > * + * { margin-top: 16px; }
  .legal h2 { font-family: var(--sans); font-size: 20px; font-weight: 600; letter-spacing: 0; margin-top: 36px; scroll-margin-top: 90px; }
  .legal p, .legal li { font-size: 16.5px; line-height: 1.7; color: var(--ink-soft); }
  .legal b { color: var(--ink); }
  .legal ul { padding-left: 22px; display: grid; gap: 6px; }
  .legal-back { margin-bottom: 8px; }
  .legal-table { overflow-x: auto; border-radius: 18px; background: var(--card); box-shadow: var(--shadow); }
  .legal-table table { width: 100%; border-collapse: collapse; min-width: 480px; }
  .legal-table th, .legal-table td { text-align: left; padding: 14px 18px; font-size: 15.5px; vertical-align: top; }
  .legal-table th { font-weight: 600; color: var(--ink); background: var(--surface); }
  .legal-table td { color: var(--ink-soft); }
  .legal-table tr + tr td { box-shadow: inset 0 1px 0 var(--surface); }
  @media (max-width: 560px) { .legal-table th, .legal-table td { padding: 12px 14px; font-size: 14.5px; } .legal p, .legal li { font-size: 16px; } }

  /* Footer social links */
  .footer-social { flex-basis: 100%; display: flex; gap: 10px; margin-bottom: 22px; }
  .footer-social a { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--surface); color: var(--ink-soft); transition: background .2s ease, color .2s ease; }
  .footer-social a:hover { background: var(--red); color: var(--white); }
  .footer-social svg { width: 18px; height: 18px; }

  /* Floating header: proper breathing room from the top of the window */
  nav { height: 80px; }
  nav .wrap { height: 72px; }
  nav.scrolled:not(.open) .wrap { margin-top: 12px; height: 58px; }
  nav.scrolled:not(.open)::before { height: 96px; }
  nav.nav-hidden { transform: translateY(calc(-100% - 20px)); }
  body:has(nav.scrolled) .r-jump { top: 80px; }
  @media (max-width: 1000px) { nav.open .nav-links { top: 80px; } }
  @media (max-width: 760px) {
    nav { height: 68px; }
    nav .wrap { height: 64px; }
    nav.scrolled:not(.open) .wrap { margin: 10px 10px 0; height: 52px; }
    nav.scrolled:not(.open)::before { height: 82px; }
    nav.open .nav-links { top: 68px; }
    body:has(nav.scrolled) .r-jump { top: 68px; }
  }

  /* Legal: more air */
  .legal-hero { padding-bottom: 40px; }
  .legal { padding-bottom: 40px; }
  .legal > * + * { margin-top: 22px; }
  .legal > h2 { margin-top: 56px; margin-bottom: -4px; font-size: 21px; }
  .legal > h2:first-child, .legal-back + h2, .legal-back + p { margin-top: 0; }
  .legal p, .legal li { font-size: 17px; line-height: 1.8; }
  .legal ul { gap: 10px; padding-left: 24px; }
  .legal-back { margin-bottom: 20px; }
  .legal-table { margin: 32px 0 !important; border-radius: 22px; }
  .legal-table th, .legal-table td { padding: 20px 28px; line-height: 1.6; }
  .legal-table th { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); padding-top: 18px; padding-bottom: 18px; }
  .legal-table td:first-child { font-weight: 500; color: var(--ink); width: 36%; }
  .legal-table td a { text-decoration: none; }
  .legal-table + p { margin-top: 28px; }
  @media (max-width: 560px) {
    .legal p, .legal li { font-size: 16px; line-height: 1.75; }
    .legal > h2 { margin-top: 44px; }
    .legal-table { margin: 24px 0 !important; }
    .legal-table table { min-width: 0; }
    .legal-table th, .legal-table td { padding: 16px 18px; font-size: 15px; }
    .legal-table td:first-child { width: 42%; }
  }
  .legal-hero .wrap, body:has(.legal) .crumbs .wrap { max-width: 760px; }
  .legal { margin-left: auto; margin-right: auto; }
  nav.scrolled:not(.open) .nav-apply-s { padding: 7px 14px; font-size: 14px; }
  nav.scrolled:not(.open) .icon-btn { width: 36px; height: 36px; }

  /* ===== Header dropdowns ===== */
  .nav-links { gap: 2px; }
  .nav-item { position: relative; }
  .nav-top { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 5px; font: inherit; font-size: 15px; color: var(--ink-soft); background: none; border: 0; cursor: pointer; padding: 8px 12px 8px 14px; border-radius: 999px; transition: color .2s ease; }
  .nav-top:hover, .nav-item.open .nav-top { color: var(--ink); }
  .nav-top .chev { width: 14px; height: 14px; opacity: .7; transition: transform .25s cubic-bezier(.2,.8,.2,1); }
  .nav-item.open .chev { transform: rotate(180deg); }
  .nav-item:has([aria-current="page"]) > .nav-top, .nav-links > a[aria-current="page"] { color: var(--ink); font-weight: 600; }

  .nav-menu { position: absolute; z-index: 40; top: calc(100% + 14px); left: 50%; width: 340px; padding: 10px; border-radius: 22px; background: var(--card);
    box-shadow: 0 28px 70px -24px rgba(17,24,39,.38), 0 0 0 1px color-mix(in srgb, var(--ink) 7%, transparent);
    opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: opacity .2s ease, transform .25s cubic-bezier(.2,.8,.2,1), visibility 0s linear .25s; }
  .nav-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }   /* hover bridge */
  .nav-item.open > .nav-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition-delay: 0s; }
  .nav-menu.wide { width: 580px; display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
  .nav-links .nav-menu .menu-link { display: block; padding: 12px 14px; border-radius: 14px; text-decoration: none; font-size: 15px; color: var(--ink); }
  .nav-links .nav-menu .menu-link:hover, .nav-links .nav-menu .menu-link:focus-visible { background: var(--surface); }
  .menu-link b { display: block; font-weight: 600; font-size: 15px; }
  .menu-link span { display: block; margin-top: 2px; font-size: 13.5px; line-height: 1.4; color: var(--ink-soft); }
  .nav-links .nav-menu .menu-link.feat { background: color-mix(in srgb, var(--red) 7%, transparent); }
  .nav-links .nav-menu .menu-link.feat b { color: var(--red-text); }
  .nav-links .nav-menu .menu-link[aria-current="page"] b { color: var(--red-text); }
  .nav-links .nav-menu .menu-foot { display: block; margin-top: 4px; padding: 11px 14px; border-radius: 12px; font-size: 14px; font-weight: 600; color: var(--red-text); text-decoration: none; }
  .nav-links .nav-menu .menu-foot:hover { background: var(--surface); }

  /* Talk to us */
  .nav-talk { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 999px; background: var(--surface); color: var(--ink); text-decoration: none; font-size: 14.5px; font-weight: 600; transition: background .2s ease, color .2s ease; }
  .nav-talk:hover { background: var(--blue-tint); color: var(--blue-text); }
  .nav-talk svg { width: 17px; height: 17px; }
  @media (max-width: 1220px) { .nav-talk span { display: none; } .nav-talk { padding: 0; width: 40px; height: 40px; justify-content: center; } }
  nav.scrolled:not(.open) .nav-talk { height: 36px; }

  /* Phones and tablets: groups open with a tap inside the menu sheet */
  @media (max-width: 1000px) {
    .nav-talk { display: none; }
    nav.open .nav-links { gap: 0; padding-top: 8px; }
    nav.open .nav-item { display: block; }
    nav.open .nav-top { width: 100%; justify-content: space-between; padding: 14px 4px; font-family: var(--serif); font-size: 26px; font-weight: 500; color: var(--ink); border-radius: 12px; }
    nav.open .nav-top .chev { width: 20px; height: 20px; }
    nav.open .nav-item:has([aria-current="page"]) > .nav-top { color: var(--red-text); font-weight: 500; }
    nav.open .nav-menu, nav.open .nav-menu.wide { position: static; display: none; width: auto; padding: 0 0 10px; margin: 0; box-shadow: none; background: none; opacity: 1; visibility: visible; transform: none; transition: none; }
    nav.open .nav-item.open > .nav-menu { display: grid; grid-template-columns: 1fr; gap: 2px; }
    nav.open .nav-menu::before { display: none; }
    nav.open .nav-links .nav-menu a.menu-link { display: block; padding: 11px 12px; font-family: var(--sans); font-size: 16px; letter-spacing: 0; border-radius: 14px; }
    nav.open .nav-links .nav-menu a.menu-link b { font-size: 16.5px; }
    nav.open .nav-links .nav-menu a.menu-foot { display: block; padding: 11px 12px; font-family: var(--sans); font-size: 15px; }
    nav.open .nav-links > a:not(.btn) { padding: 14px 4px; font-size: 26px; }
  }
  @media (max-width: 1000px) { nav.open .nav-item.open > .nav-menu, nav.open .nav-item > .nav-menu { left: auto; transform: none; } }
  @media (max-width: 1000px) { nav.open .nav-links .nav-menu a.menu-foot { color: var(--red-text); font-weight: 600; } }

  /* FAQ page */
  .faq-group { scroll-margin-top: 90px; }
  .r-hero .r-jump-inline { margin-top: 28px; }

  /* Contact: company details card */
  .company-dl { display: grid; gap: 10px; margin: 14px 0 18px; }
  .company-dl div { display: grid; grid-template-columns: 130px 1fr; gap: 12px; font-size: 15px; }
  .company-dl dt { color: var(--ink-faint); }
  .company-dl dd { margin: 0; color: var(--ink); word-break: break-word; }
  .contact-company .contact-big { font-size: 18px; }
  @media (max-width: 560px) { .company-dl div { grid-template-columns: 1fr; gap: 2px; } }
  @media (min-width: 1001px) { .contact-grid { grid-template-columns: repeat(2, 1fr); } }

  /* Homepage: member growth chart (replaces the follower chips) */
  .who-grid + .growth { margin-top: 72px; }
  .growth { background: var(--card); border-radius: 28px; padding: 40px 44px; box-shadow: var(--shadow), 0 0 0 1px color-mix(in srgb, var(--ink) 5%, transparent); }
  .growth-head { text-align: center; margin-bottom: 30px; }
  .growth-title { font-family: var(--serif); font-size: clamp(26px, 3vw, 34px); color: var(--ink); }
  .growth-note { margin-top: 8px; color: var(--ink-soft); }
  .growth-list { list-style: none; display: grid; gap: 18px; }
  .growth-list li { display: grid; grid-template-columns: 220px 1fr 150px; align-items: center; gap: 22px; }
  .g-who b { display: block; font-size: 15.5px; color: var(--ink); }
  .g-who small { display: block; font-size: 13px; color: var(--ink-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .g-track { position: relative; height: 12px; border-radius: 999px; background: var(--surface); }
  .g-track i { position: absolute; top: 0; bottom: 0; left: var(--from); width: calc(var(--to) - var(--from)); min-width: 12px; border-radius: 999px; background: linear-gradient(90deg, color-mix(in srgb, var(--red) 35%, transparent), var(--red)); transform-origin: left; transform: scaleX(0); transition: transform 1.1s cubic-bezier(.2,.8,.2,1); }
  .g-track i::before, .g-track i::after { content: ""; position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; transform: translateY(-50%); }
  .g-track i::before { left: -2px; background: var(--card); box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--red) 45%, transparent); }
  .g-track i::after { right: -2px; background: var(--red); box-shadow: 0 0 0 3px var(--card); }
  .growth.in .g-track i { transform: scaleX(1); }
  .growth-list li:nth-child(2) i { transition-delay: .08s; } .growth-list li:nth-child(3) i { transition-delay: .16s; } .growth-list li:nth-child(4) i { transition-delay: .24s; } .growth-list li:nth-child(5) i { transition-delay: .32s; } .growth-list li:nth-child(6) i { transition-delay: .4s; }
  .g-num { font-size: 14.5px; color: var(--ink-soft); white-space: nowrap; text-align: right; }
  .g-num b { color: var(--ink); font-size: 16px; }
  .g-num em { font-style: normal; font-weight: 600; font-size: 12.5px; color: var(--green); background: var(--green-tint); padding: 3px 8px; border-radius: 999px; margin-left: 8px; }
  .growth-foot { margin-top: 26px; text-align: center; font-size: 13px; color: var(--ink-faint); }
  @media (max-width: 760px) {
    .who-grid + .growth { margin-top: 48px; }
    .growth { padding: 28px 20px; border-radius: 24px; }
    .growth-list { gap: 22px; }
    .growth-list li { grid-template-columns: 1fr auto; gap: 8px 12px; }
    .g-track { grid-column: 1 / -1; grid-row: 2; }
    .g-num { grid-row: 1; grid-column: 2; }
  }
  @media (prefers-reduced-motion: reduce) { .g-track i { transform: none; transition: none; } }

  /* Who-it's-for cards: headings stay on one line on desktop */
  @media (min-width: 1001px) { .who-card h3 { white-space: nowrap; font-size: clamp(22px, 2vw, 28px); } }
  @media (min-width: 1001px) { .who-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .who-card h3 { font-size: clamp(20px, 1.75vw, 26px); } }

  /* Homepage: short agency / freelancer comparison */
  .hv-grid { display: grid; grid-template-columns: 1fr 1fr 1.15fr; gap: 20px; align-items: stretch; }
  .hv { background: var(--surface); border-radius: 24px; padding: 30px; display: flex; flex-direction: column; gap: 10px; }
  .hv .c-label { display: flex; align-items: center; gap: 8px; }
  .hv .c-label::before { content: ""; width: 22px; height: 22px; border-radius: 50%; flex: none; background: var(--red-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3.4' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E") center / 11px no-repeat; }
  .hv.us .c-label::before { background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
  .hv-price { font-family: var(--serif); font-size: 28px; color: var(--ink); line-height: 1.15; }
  .hv-price small { font-family: var(--sans); font-size: 14px; color: var(--ink-faint); }
  .hv p:not(.hv-price) { color: var(--ink-soft); font-size: 16px; }
  .hv.us { background: var(--blue); color: var(--white); box-shadow: 0 30px 60px -32px rgba(29,78,216,.7); }
  .hv.us .c-label { color: rgba(255,255,255,.8); }
  .hv.us .hv-price { color: var(--white); }
  .hv.us .hv-price small, .hv.us p:not(.hv-price) { color: rgba(255,255,255,.88); }
  @media (max-width: 900px) { .hv-grid { grid-template-columns: 1fr; } .hv.us { order: -1; } }
  .faq-sec.alt { background: var(--surface); }

  /* Press page */
  .press-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .press-card { display: grid; place-items: center; min-height: 150px; border-radius: 24px; background: var(--card); box-shadow: var(--shadow); text-decoration: none; }
  .press-card .press { font-size: 30px; }
  .press-stats { grid-template-columns: repeat(4, 1fr); }
  .bio-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
  .bio { background: var(--card); border-radius: 24px; padding: 32px; box-shadow: var(--shadow); }
  .bio p { margin-top: 12px; font-size: 17px; line-height: 1.75; color: var(--ink-soft); }
  .press-contact { display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap; background: var(--surface); border-radius: 28px; padding: 40px; }
  .press-contact-actions { display: flex; gap: 12px; flex-wrap: wrap; }
  @media (max-width: 900px) { .press-grid, .bio-grid { grid-template-columns: 1fr; } .press-stats { grid-template-columns: 1fr 1fr; } .press-contact { padding: 28px 22px; } }

  /* Quiz */
  .quiz { max-width: 720px; margin: 0 auto; background: var(--card); border-radius: 28px; padding: 36px; box-shadow: var(--shadow), 0 0 0 1px color-mix(in srgb, var(--ink) 5%, transparent); }
  .quiz-top { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
  .quiz-step { flex: none; font-size: 13.5px; font-weight: 600; color: var(--ink-faint); min-width: 7em; }
  .quiz-bar { flex: 1; height: 6px; border-radius: 999px; background: var(--surface); overflow: hidden; }
  .quiz-bar i { display: block; height: 100%; width: 0; background: var(--red); border-radius: 999px; transition: width .35s cubic-bezier(.2,.8,.2,1); }
  .quiz-q { border: 0; padding: 0; margin: 0; display: grid; gap: 10px; animation: quizIn .3s ease both; }
  .quiz-q[hidden], .quiz-result[hidden] { display: none; }
  .quiz-q legend { font-family: var(--serif); font-size: clamp(26px, 3.4vw, 34px); line-height: 1.2; color: var(--ink); margin-bottom: 18px; padding: 0; }
  .quiz-q button { text-align: left; font: inherit; font-size: 16.5px; font-weight: 500; color: var(--ink); background: var(--surface); border: 0; border-radius: 16px; padding: 16px 20px; cursor: pointer; transition: background .2s ease, transform .15s ease, box-shadow .2s ease; }
  .quiz-q button:hover { background: color-mix(in srgb, var(--red) 8%, var(--surface)); }
  .quiz-q button:active { transform: scale(.99); }
  .quiz-q button[aria-pressed="true"] { background: var(--red-tint); box-shadow: inset 0 0 0 2px var(--red); color: var(--red-text); }
  .quiz-result { animation: quizIn .35s ease both; }
  .quiz-result h2 { font-size: clamp(30px, 4vw, 42px); margin: 8px 0 14px; }
  .quiz-result p { color: var(--ink-soft); font-size: 17px; line-height: 1.7; }
  .quiz-result .hero-cta { margin-top: 26px; }
  .quiz-nav { display: flex; justify-content: space-between; margin-top: 22px; }
  .quiz-back, .quiz-restart { font: inherit; font-size: 14.5px; font-weight: 600; color: var(--ink-soft); background: none; border: 0; cursor: pointer; padding: 6px 0; }
  .quiz-back:hover, .quiz-restart:hover { color: var(--red-text); }
  @keyframes quizIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
  @media (max-width: 560px) { .quiz { padding: 24px 18px; border-radius: 22px; } .quiz-q button { padding: 15px 16px; font-size: 16px; } }
  @media (prefers-reduced-motion: reduce) { .quiz-q, .quiz-result { animation: none; } }

  /* Quiz link on the homepage and 100x page */
  .quiz-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding: 10px 18px; border-radius: 999px; background: var(--blue-tint); color: var(--blue-text); font-weight: 600; font-size: 15px; text-decoration: none; }
  .quiz-link:hover { background: color-mix(in srgb, var(--blue) 18%, transparent); }

  /* Footer: flagship badge on 100x Engine */
  .foot-badge { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--red-tint); color: var(--red-text); font-size: 11px; font-weight: 600; letter-spacing: .03em; vertical-align: 2px; }

  /* About: team cards, cleaner layout */
  .team-grid { align-items: stretch; }
  .team-grid .person { padding: 0 0 22px; overflow: hidden; display: flex; flex-direction: column; border-radius: 24px; }
  .team-grid .person .ph { aspect-ratio: 1 / 1; border-radius: 0; margin-bottom: 4px; }
  .team-grid .person h3 { font-size: 23px; margin: 16px 22px 2px; }
  .team-grid .person > b { margin: 0 22px; font-size: 12.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--ink-faint); line-height: 1.5; }
  .team-grid .person > p:not(.fun) { margin: 12px 22px 0; font-size: 15px; line-height: 1.6; }
  .team-grid .person .fun { margin: auto 22px 0 !important; padding: 16px 0 0; background: none; border-radius: 0; display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; font-size: 14.5px !important; color: var(--ink); line-height: 1.5; }
  .team-grid .person .fun::before { content: ""; grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; background: var(--red-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23DC2626'%3E%3Cpath d='M12 2l2.2 6.3L20.5 10.5l-6.3 2.2L12 19l-2.2-6.3L3.5 10.5l6.3-2.2z'/%3E%3C/svg%3E") center / 14px no-repeat; }
  .team-grid .person .fun span { margin-bottom: 1px; font-size: 11px; letter-spacing: .07em; color: var(--red-text); }
  .team-grid .person > p:not(.fun) + .fun { margin-top: 18px !important; }
  /* Founder card: wider, photo beside the text */
  @media (min-width: 1001px) {
    .team-grid .person:first-child { grid-column: span 2; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto 1fr; padding: 0; }
    .team-grid .person:first-child .ph { grid-row: 1 / -1; aspect-ratio: auto; height: 100%; min-height: 360px; margin: 0; }
    .team-grid .person:first-child h3 { font-size: 32px; margin-top: 30px; }
    .team-grid .person:first-child > p:not(.fun) { font-size: 16.5px; }
    .team-grid .person:first-child .fun { align-self: end; margin-bottom: 28px !important; }
  }
  @media (max-width: 560px) {
    .team-grid .person h3 { font-size: 19px; margin: 12px 14px 2px; }
    .team-grid .person > b, .team-grid .person > p:not(.fun) { margin-left: 14px; margin-right: 14px; }
    .team-grid .person .fun { margin-left: 14px !important; margin-right: 14px !important; grid-template-columns: 1fr; }
    .team-grid .person .fun::before { display: none; }
    .team-grid .person:first-child { grid-column: 1 / -1; }
  }

  /* Application page: form in the page */
  .apply-page { padding: 48px 0 96px; }
  .apply-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: start; }
  .apply-pitch h1 { font-size: clamp(42px, 5vw, 68px); }
  .apply-pitch .lead { margin-top: 18px; }
  .apply-steps { list-style: none; counter-reset: s; display: grid; gap: 16px; margin: 32px 0 26px; }
  .apply-steps li { counter-increment: s; display: grid; grid-template-columns: 36px 1fr; column-gap: 14px; }
  .apply-steps li::before { content: counter(s); grid-row: span 2; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); font-weight: 600; }
  .apply-steps b { font-size: 16.5px; color: var(--ink); }
  .apply-steps span { font-size: 15px; color: var(--ink-soft); }
  .apply-form .jf { position: static; max-width: none; width: 100%; max-height: none; overflow: visible; transform: none; margin: 0; box-shadow: 0 30px 70px -36px rgba(17,24,39,.45), 0 0 0 1px color-mix(in srgb, var(--ink) 6%, transparent); }
  @media (min-width: 1001px) { .apply-form { position: sticky; top: 96px; } }
  @media (max-width: 1000px) {
    .apply-grid { grid-template-columns: 1fr; gap: 28px; }
    .apply-page { padding: 24px 0 64px; }
    .apply-steps, .apply-pitch .trust-ticks { display: none; }
    .apply-pitch .lead { font-size: 17px; }
  }
  /* Country picker: compact on the closed select */
  .jf-phone select { max-width: 132px; }

  /* Contact: three cards in a row, "Joining 100x Engine?" as a banner below */
  @media (min-width: 1001px) { .contact-grid { grid-template-columns: repeat(3, 1fr); } }
  .contact-card.contact-apply { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; align-items: center; column-gap: 24px; row-gap: 6px; padding: 32px 36px; }
  .contact-card.contact-apply .ico { grid-row: span 2; margin: 0; }
  .contact-card.contact-apply h2 { margin: 0; }
  .contact-card.contact-apply p { margin: 0; grid-column: 2; }
  .contact-card.contact-apply .btn { grid-column: 3; grid-row: 1 / span 2; margin: 0; }
  @media (max-width: 760px) {
    .contact-card.contact-apply { grid-template-columns: 1fr; padding: 26px 22px; }
    .contact-card.contact-apply .ico { grid-row: auto; margin-bottom: 8px; }
    .contact-card.contact-apply p, .contact-card.contact-apply .btn { grid-column: 1; grid-row: auto; }
    .contact-card.contact-apply .btn { margin-top: 14px; justify-self: start; }
  }
  .company-dl div { grid-template-columns: 112px 1fr; }
  .apply-form .jf-close, .apply-form #jfForm > .jf-kicker, .apply-form #jfTitle, .apply-form #jfForm > .jf-sub { display: none !important; }
  .apply-form .jf { padding-top: 30px; }
  /* Country picker: flag and code on top, real select underneath */
  .jf-cc { position: relative; display: block; }
  .jf-cc select { position: absolute; inset: 0; width: 100%; max-width: none; opacity: 0; cursor: pointer; }
  .jf-cc-show { display: flex; align-items: center; height: 100%; min-height: 52px; padding: 0 30px 0 14px; border-radius: 14px; background: var(--surface); font-size: 16px; white-space: nowrap; color: var(--ink);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; background-size: 14px; }
  .jf-cc:focus-within .jf-cc-show { outline: 2.5px solid var(--blue); outline-offset: 2px; }
  .company-dl div { grid-template-columns: 92px 1fr; } .company-dl dd { font-size: 14.5px; }

  /* 100x Engine plan length: "Most chosen" badge */
  .term-switch { margin-top: 18px; }
  .term-switch button { position: relative; }
  .term-pop { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); white-space: nowrap; font-style: normal; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 3px 9px; border-radius: 999px; background: #FFE08A; color: #7A4B00; box-shadow: 0 4px 10px -4px rgba(0,0,0,.25); }
  .press-josh { font-family: var(--sans); font-weight: 800; }
  .press-ashoka { font-family: var(--serif); font-weight: 600; }
  .press-undp { font-family: var(--sans); font-weight: 800; letter-spacing: .08em; }
  .press-client { font-family: var(--sans); font-weight: 700; }
  .clients-grid { grid-template-columns: repeat(3, 1fr); }
  .press-card .press-client { font-size: 24px; }
  @media (max-width: 900px) { .clients-grid { grid-template-columns: 1fr 1fr; } }
  /* Trust strip: two balanced rows on desktop, stacked groups on phones */
  .logo-strip .wrap { gap: 12px 26px; }
  .logo-strip .strip-break { flex-basis: 100%; height: 6px; width: auto; }
  .logo-strip .strip-gap { width: 18px; }
  .logo-strip .press-client { font-size: 16.5px; }
  @media (max-width: 760px) { .logo-strip .strip-gap { flex-basis: 100%; width: auto; height: 4px; } }

  /* Why 100x: the 3-year journey */
  .journey { list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; position: relative; counter-reset: none; }
  .journey::before { content: ""; position: absolute; left: 8%; right: 8%; top: 31px; height: 4px; border-radius: 4px; background: linear-gradient(90deg, color-mix(in srgb, var(--red) 25%, transparent), var(--red)); z-index: 0; }
  .jy { position: relative; z-index: 1; background: var(--card); border-radius: 26px; padding: 26px 28px 30px; box-shadow: var(--shadow), 0 0 0 1px color-mix(in srgb, var(--ink) 5%, transparent); }
  .jy-year { display: inline-block; padding: 6px 14px; border-radius: 999px; background: var(--red-tint); color: var(--red-text); font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 18px; }
  .jy h3 { font-size: 26px; line-height: 1.2; margin-bottom: 14px; }
  .jy ul { list-style: none; display: grid; gap: 10px; }
  .jy li { display: flex; gap: 10px; font-size: 15.5px; color: var(--ink-soft); }
  .jy li::before { content: ""; flex: none; width: 20px; height: 20px; margin-top: 2px; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat; }
  .jy-goal { background: var(--red); color: var(--white); box-shadow: 0 30px 60px -30px rgba(239,68,68,.75); }
  .jy-goal .jy-year { background: rgba(255,255,255,.2); color: var(--white); }
  .jy-goal li { color: rgba(255,255,255,.92); }
  .jy-goal li::before { background-color: #fff; }
  .jy-big { display: block; font-size: 38px; margin-top: 4px; }
  .why100 .center-cta { margin-top: 36px; }
  @media (max-width: 900px) {
    .journey { grid-template-columns: 1fr; gap: 16px; padding-left: 22px; }
    .journey::before { left: 6px; right: auto; top: 24px; bottom: 24px; width: 4px; height: auto; background: linear-gradient(180deg, color-mix(in srgb, var(--red) 25%, transparent), var(--red)); }
    .jy { padding: 22px 22px 24px; }
    .jy h3 { font-size: 23px; }
    .jy-big { font-size: 32px; }
  }
  /* Contact: two cards in a row again, banner below */
  @media (min-width: 1001px) { .contact-grid { grid-template-columns: repeat(2, 1fr); } }

  /* Headings keep their hierarchy: lines break evenly, and the red half moves down as one piece
     instead of leaving a single word on its own line. */
  h1, h2, h3, .quiz-q legend, .growth-title, .quote, .breather blockquote { text-wrap: balance; }
  :is(h1, h2, h3) .red { display: inline-block; }
  .hv-price small { display: block; margin-top: 4px; }
  /* Laptop: give section headings room to sit on one line */
  @media (min-width: 1001px) {
    .compare-head { max-width: 900px; }
    .compare-head .lead { max-width: 54ch; }
    .r-hero h1 { max-width: 19ch; }
    .tier h3 { font-size: clamp(26px, 2.3vw, 32px); white-space: nowrap; }
    .outcome h3 { font-size: clamp(20px, 1.8vw, 24px); }
    .onb h3 { font-size: 19px; }
  }
  .press-grid > * { min-width: 0; }
  @media (max-width: 600px) { .press-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .press-card { min-height: 110px; } .press-card .press { font-size: 16px; white-space: normal; text-align: center; } }
  @media (min-width: 761px) { .about-hero h1 { font-size: clamp(42px, 4.8vw, 64px); } }
  @media (max-width: 760px) { .tier h3 { font-size: 28px; } }
  .btn { text-wrap: balance; }
  table .btn { white-space: nowrap; }
  .sticky-join .btn { white-space: nowrap; }
  .sticky-join > span:first-child { min-width: 0; }
  .g-who { min-width: 0; }
  @media (max-width: 760px) { .about-hero h1 .red { display: inline; } }
  @media (min-width: 1101px) { .onboard { gap: 14px; } .onb { padding: 28px 18px; } .onb h3 { font-size: 18px; } }

  /* Homepage: the problem */
  .problem-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
  .pb { background: var(--card); border-radius: 24px; padding: 32px 28px; box-shadow: var(--shadow); }
  .pb-ico { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: var(--red-tint); color: var(--red-text); }
  .pb-ico svg { width: 24px; height: 24px; }
  .pb h3 { font-size: 23px; line-height: 1.15; margin: 20px 0 10px; }
  .pb p { color: var(--ink-soft); font-size: 16px; }
  .problem-fix { text-align: center; margin-top: 40px; font-family: var(--serif); font-size: clamp(22px, 2.4vw, 28px); color: var(--ink); text-wrap: balance; }
  .problem-fix .inline-link { font-family: var(--sans); font-size: 16px; white-space: nowrap; margin-left: 6px; }
  @media (max-width: 1000px) { .problem-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 600px) { .problem-grid { grid-template-columns: 1fr; gap: 12px; } .pb { padding: 24px 22px; display: grid; grid-template-columns: 44px 1fr; gap: 4px 16px; } .pb-ico { width: 44px; height: 44px; grid-row: span 2; } .pb h3 { margin: 0; font-size: 21px; align-self: center; } }

  /* Homepage compare: each card carries its own next step */
  .hv-link { margin-top: auto; padding-top: 10px; font-weight: 600; font-size: 15px; color: var(--ink); text-decoration: none; }
  .hv-link:hover { color: var(--red-text); }
  .hv.us .btn { margin-top: auto; align-self: flex-start; }
  .hv-safe { display: flex; align-items: center; gap: 8px; font-size: 13.5px; color: rgba(255,255,255,.88); }
  .hv-safe::before { content: ""; width: 16px; height: 16px; flex: none; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat; }
  @media (max-width: 600px) { .hv.us .btn { align-self: stretch; justify-content: center; } }

  /* Money-back line inside the blue Results Promise box */
  .gb-money { margin-top: 18px; padding-top: 0; color: rgba(255,255,255,.92); font-size: 16px; }
  .gb-money b { color: #fff; }
  .gb-money a { color: #fff; font-weight: 600; white-space: nowrap; }
  .win-metric, .problem-fix, .hv-price, .pb h3 { text-wrap: balance; }
  @media (max-width: 600px) { .problem-fix .inline-link { display: block; margin: 10px 0 0; } }
  .c-card > p + ul { margin-top: 18px; } .c-card > ul + .inline-link { display: inline-block; margin-top: 20px; }

  /* ===== Funnel pages: cold (home), warm (100x Engine), hot (apply) ===== */
  .sticky-cold { display: none; }
  [data-funnel="cold"] .sticky-cold { display: inline-flex; }
  [data-funnel="cold"] .sticky-warm, [data-funnel="cold"] .sticky-chat { display: none; }
  /* Warm: logo, theme switch and Apply only */
  [data-funnel="warm"] .nav-links, [data-funnel="warm"] .nav-talk, [data-funnel="warm"] .menu-btn { display: none !important; }
  [data-funnel="warm"] .nav-apply-s { display: inline-flex; }
  @media (min-width: 761px) { [data-funnel="warm"] .nav-apply-s { display: none; } }
  /* Hot: nothing to click away to */
  /* Minimal header and footer: logo only on top, just the copyright and Legal at the bottom.
     "hot" is the Apply page; "member" is for pages only members see (onboarding). */
  :is([data-funnel="hot"], [data-funnel="member"]) :is(.nav-links, .crumbs, .footer-lang, .footer-cols, .footer-social, .sticky-join, .updated),
  :is([data-funnel="hot"], [data-funnel="member"]) .nav-right > :not(.theme-toggle),
  :is([data-funnel="hot"], [data-funnel="member"]) .footer-small a:not([href*="legal"]) { display: none !important; }
  :is([data-funnel="hot"], [data-funnel="member"]) .logo { pointer-events: none; }
  :is([data-funnel="hot"], [data-funnel="member"]) footer { padding-top: 24px; }

  /* Placeholder for a screenshot that will be blurred */
  .ph-blur { }  /* swap for the real, already-blurred screenshot */

  /* Home: problem with a screenshot beside it */
  .problem-split { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 64px; align-items: center; }
  .problem-shot .ph { aspect-ratio: 4 / 5; border-radius: 28px; }
  .problem-list { list-style: none; display: grid; gap: 14px; margin-top: 32px; }
  .problem-list li { display: grid; grid-template-columns: 28px 1fr; column-gap: 14px; background: var(--card); border-radius: 18px; padding: 18px 20px; box-shadow: var(--shadow); }
  .problem-list li::before { content: ""; grid-row: span 2; width: 26px; height: 26px; border-radius: 50%; margin-top: 1px; background: var(--red-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M8 8l8 8M16 8l-8 8'/%3E%3C/svg%3E") center / 12px no-repeat; }
  .problem-list b { font-size: 17px; color: var(--ink); }
  .problem-list span { color: var(--ink-soft); font-size: 15.5px; }
  @media (max-width: 900px) { .problem-split { grid-template-columns: 1fr; gap: 28px; } .problem-shot { order: 2; } .problem-shot .ph { aspect-ratio: 16 / 10; } }

  /* Home: profession cards are links */
  .who-link { display: flex; flex-direction: column; text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
  .who-link:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
  .who-link p { flex: 1; }
  .who-more { margin-top: 16px; font-weight: 600; font-size: 15px; color: var(--red-text); }
  .three-lines { list-style: none; display: grid; gap: 14px; margin: 8px 0 32px; }
  .three-lines li { font-family: var(--serif); font-size: clamp(21px, 2.2vw, 26px); line-height: 1.3; color: var(--ink); padding-left: 22px; position: relative; text-wrap: balance; }
  .three-lines li::before { content: ""; position: absolute; left: 0; top: .55em; width: 8px; height: 8px; border-radius: 50%; background: var(--red); }
  .teaser .offer-side { justify-content: center; }

  /* Wins: one wide card dropped between sections */
  .win-break { padding-top: 0; padding-bottom: 0; margin: 56px auto; }
  .wins-solo { max-width: 760px; margin: 0 auto; }
  .wins-solo .win-card { display: grid; grid-template-columns: 220px 1fr; align-items: stretch; width: auto; max-width: none; }
  .wins-solo .win-img { height: 100%; }
  .wins-solo .win-img img { height: 100%; aspect-ratio: auto; object-fit: cover; }
  .wins-solo .win-body { display: flex; flex-direction: column; justify-content: center; }
  @media (max-width: 600px) { .wins-solo .win-card { grid-template-columns: 120px 1fr; } .win-break { margin: 36px auto; } }

  /* 100x Engine: how it works, week one, feedback, case studies, Sanket, agency table */
  .how-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  @media (max-width: 900px) { .how-grid { grid-template-columns: 1fr; } }
  .pb-ico { font-family: var(--serif); font-size: 22px; }
  .week-one { display: grid; grid-template-columns: 1fr 1.2fr; gap: 20px; align-items: stretch; }
  .wk-main { background: var(--red); color: #fff; border-radius: 28px; padding: 40px; display: flex; flex-direction: column; justify-content: flex-end; min-height: 320px; }
  .wk-main h3 { font-size: clamp(32px, 3.6vw, 44px); margin: 10px 0 12px; }
  .wk-main p { color: rgba(255,255,255,.9); }
  .wk-day { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: rgba(255,255,255,.18); padding: 6px 12px; border-radius: 999px; align-self: flex-start; }
  .wk-side { display: grid; gap: 12px; align-content: start; }
  .wk-label { font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-faint); }
  .wk-item { background: var(--card); border-radius: 20px; padding: 22px 24px; box-shadow: var(--shadow); }
  .wk-item h3 { font-size: 21px; margin-bottom: 6px; }
  .wk-item p { color: var(--ink-soft); font-size: 15.5px; }
  @media (max-width: 900px) { .week-one { grid-template-columns: 1fr; } .wk-main { min-height: 0; padding: 30px 26px; } }
  .feedback-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .feedback-grid .ph { aspect-ratio: 9 / 14; border-radius: 22px; }
  @media (max-width: 760px) { .feedback-grid { grid-template-columns: repeat(3, 72%); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; } .feedback-grid .ph { scroll-snap-align: start; } }
  .case-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .case-card { display: flex; flex-direction: column; background: var(--card); border-radius: 24px; overflow: hidden; box-shadow: var(--shadow); text-decoration: none; color: inherit; transition: transform .2s ease; }
  .case-card:hover { transform: translateY(-3px); }
  .case-card img { width: 100%; aspect-ratio: 1; object-fit: cover; }
  .case-body { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px 26px; flex: 1; }
  .case-num { font-family: var(--serif); font-weight: 500; font-size: 30px; color: var(--red-text); }
  .case-name { font-weight: 600; color: var(--ink); }
  .case-line { color: var(--ink-soft); font-size: 15.5px; flex: 1; }
  .case-more { font-weight: 600; font-size: 15px; margin-top: 8px; color: var(--ink); }
  @media (max-width: 900px) { .case-grid { grid-template-columns: 1fr; } .case-card { flex-direction: row; } .case-card img { width: 120px; aspect-ratio: auto; } }
  .sanket { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 64px; align-items: center; }
  .sanket > .ph { aspect-ratio: 1; border-radius: 28px; }
  .sanket-stats { display: flex; gap: 40px; margin-top: 28px; }
  .sanket-stats b { display: block; font-family: var(--serif); font-weight: 500; font-size: clamp(40px, 5vw, 60px); line-height: 1; color: var(--red-text); }
  .sanket-stats span { color: var(--ink-soft); font-size: 15px; }
  @media (max-width: 900px) { .sanket { grid-template-columns: 1fr; gap: 28px; } .sanket > .ph { aspect-ratio: 16 / 10; } }
  .own-table { max-width: 860px; margin: 0 auto; border-radius: 26px; background: var(--card); box-shadow: var(--shadow); overflow: hidden; }
  .own-table table { width: 100%; border-collapse: collapse; }
  .own-table th, .own-table td { padding: 16px 22px; text-align: left; font-size: 15.5px; vertical-align: top; }
  .own-table thead th { font-family: var(--serif); font-weight: 500; font-size: 22px; padding-top: 24px; }
  .own-table tbody th { font-weight: 500; color: var(--ink-soft); width: 30%; }
  .own-table td { color: var(--ink-soft); }
  .own-table .pick { background: color-mix(in srgb, var(--red) 7%, transparent); color: var(--ink); }
  .own-table thead .pick { color: var(--red-text); }
  .own-table tbody tr + tr > * { border-top: 1px solid color-mix(in srgb, var(--ink) 7%, transparent); }
  @media (max-width: 600px) { .own-table th, .own-table td { padding: 12px 12px; font-size: 14px; } .own-table thead th { font-size: 17px; } .own-table tbody th { width: 28%; } }
  .steps-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  @media (max-width: 1000px) { .steps-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media (max-width: 600px) { .steps-4 { grid-template-columns: 1fr; } }

  /* Apply (hot) */
  .apply-hot { padding-top: 56px; }
  .apply-hot .apply-pitch h1 { font-size: clamp(40px, 4.6vw, 62px); }
  .apply-promise { display: flex; align-items: center; gap: 10px; margin-top: 22px; font-size: 18px; font-weight: 600; color: var(--ink); }
  .apply-promise svg { width: 26px; height: 26px; flex: none; color: var(--green); }
  .apply-quote { margin: 36px 0 0; padding: 26px 28px; border-radius: 24px; background: var(--surface); }
  .apply-quote blockquote { font-family: var(--serif); font-size: clamp(20px, 2vw, 24px); line-height: 1.35; color: var(--ink); text-wrap: balance; }
  .apply-quote figcaption { display: flex; flex-direction: column; margin-top: 14px; font-size: 14.5px; color: var(--ink-soft); }
  .apply-quote figcaption b { color: var(--ink); font-size: 15.5px; }
  @media (max-width: 1000px) { .apply-hot { padding-top: 24px; } .apply-quote { order: 3; } .apply-hot .apply-grid { display: flex; flex-direction: column; } .apply-hot .apply-pitch { display: contents; } .apply-hot .apply-form { order: 2; width: 100%; } }
  .jf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
  @media (max-width: 520px) { .jf-row { grid-template-columns: 1fr; } }
  .jf-ready { border: 0; padding: 0; margin: 0 0 14px; }
  .jf-ready legend { font-size: 14px; font-weight: 600; margin-bottom: 8px; padding: 0; }
  .jf-ready label { display: inline-flex; align-items: center; gap: 8px; margin: 0 10px 0 0; padding: 10px 16px; border-radius: 999px; background: var(--surface); font-weight: 500; cursor: pointer; }
  .jf-ready label:has(input:checked) { background: var(--red-tint); color: var(--red-text); box-shadow: inset 0 0 0 1.5px currentColor; }
  .jf .jf-ready input[type="radio"] { width: 16px; height: 16px; margin: 0; padding: 0; accent-color: var(--red); display: inline-block; }

  /* Thank-you video */
  .thanks-video { max-width: 760px; margin: 0 auto 48px; aspect-ratio: 16 / 9; border-radius: 26px; overflow: hidden; box-shadow: var(--shadow); }
  .thanks-video .ph, .thanks-video iframe { width: 100%; height: 100%; border: 0; }
  .offer-wide > * { min-width: 0; } .teaser .offer-side .inline-link { white-space: normal; text-wrap: balance; }
  h1 .red { color: var(--red); }
  .c-card > p + .btn { margin-top: 22px; align-self: flex-start; }
  /* Tool pages: logo and theme switch only up top, full footer below, no sticky Apply bar */
  [data-funnel="tool"] .nav-links, [data-funnel="tool"] .nav-right > :not(.theme-toggle), [data-funnel="tool"] .sticky-join, [data-funnel="tool"] .crumbs { display: none !important; }
  .own-3 { max-width: 1040px; }
  .own-3 tbody th { width: 22%; }
  @media (max-width: 760px) { .own-3 { overflow-x: auto; } .own-3 table { min-width: 560px; } }
  /* Landing pages (100x Engine, apply, tools, case studies): a bare footer with no links out, only Legal */
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="tool"]) :is(.footer-lang, .footer-cols, .footer-social, .updated),
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="tool"]) .footer-small a:not([href*="legal"]),
  [data-funnel="warm"] .crumbs { display: none !important; }
  :is([data-funnel="warm"], [data-funnel="tool"]) footer { padding-top: 28px; }
  /* A group heading that is also a link (Tools), styled exactly like the other headings */
  footer .footer-col a.footer-h { display: block; text-decoration: none; font-size: 12.5px; color: var(--ink); }
  footer a.footer-h:hover { color: var(--ink); }
  /* Tool pages: not even the Legal link */
  [data-funnel="tool"] .footer-small { display: none !important; }
  /* Spam honeypot (spam-guard.js): off screen, never seen by people */
  .il-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
  /* Guarantee ticks link to /guarantee without looking like loud links */
  :is(.trust-ticks, .plan-ticks, .final-ticks) a { color: inherit; text-decoration: underline; text-decoration-color: color-mix(in srgb, currentColor 35%, transparent); text-underline-offset: 3px; }
  .apply-promise-sub { margin-top: 6px; font-size: 15px; color: var(--ink-soft); }
  .apply-promise-sub a { color: var(--red-text); font-weight: 600; white-space: nowrap; }
  .plan-solo-price .price-note { margin: 14px 0 0; font-size: 13.5px; color: var(--ink-faint); }
  .plan-hero-price .price-note { margin: 6px 0 0; }
  .c-card .t-muted { color: var(--ink-soft); margin-top: 8px; }

  /* Logo strip and Press page: real logos, grayscale and faded so they don't compete with the page */
  .logo-strip img, .press-card img { filter: grayscale(1); opacity: .55; transition: opacity .3s; }
  .logo-strip img:hover, .press-card:hover img { opacity: .9; filter: grayscale(1); }
  .logo-strip .logo-ab { opacity: .6; filter: grayscale(1); }
  .logo-strip img { height: 26px; }
  .logo-strip .logo-uber { height: 24px; }
  .logo-strip .logo-ab { height: 40px; }
  .logo-strip .logo-ndtv, .logo-strip .logo-hersheys, .logo-strip .logo-oyo { height: 20px; }
  .logo-strip .logo-dainik-jagran, .logo-strip .logo-sunburn, .logo-strip .logo-masters-union { height: 24px; }
  .logo-strip .logo-ashoka, .logo-strip .logo-josh-talks, .logo-strip .logo-lakme-fashion-week { height: 32px; }
  .logo-strip .logo-undp { height: 40px; }
  .press-card img { height: 44px; width: auto; max-width: 70%; }
  .press-card .logo-ndtv, .press-card .logo-hersheys, .press-card .logo-oyo { height: 32px; }
  .press-card .logo-ashoka, .press-card .logo-josh-talks, .press-card .logo-lakme-fashion-week, .press-card .logo-undp { height: 60px; }
  .logo-strip .press-client { font-size: 17px; opacity: .6; }
  /* Dark mode: the dark logos turn light */
  :root[data-theme="dark"] :is(.logo-strip, .press-card) img:not(.logo-ab) { filter: grayscale(1) invert(1); opacity: .6; }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) :is(.logo-strip, .press-card) img:not(.logo-ab) { filter: grayscale(1) invert(1); opacity: .6; } }
  @media (max-width: 760px) { .logo-strip img { height: 20px; } .logo-strip .logo-undp, .logo-strip .logo-ab { height: 32px; } .logo-strip :is(.logo-ashoka, .logo-josh-talks, .logo-lakme-fashion-week) { height: 26px; } .logo-strip :is(.logo-ndtv, .logo-hersheys, .logo-oyo) { height: 16px; } }
  @media (max-width: 760px) { .three-lines li { font-size: 19px; } }

  /* Bigger, clearer tick and cross icons */
  .problem-list li { grid-template-columns: 40px 1fr; column-gap: 16px; padding: 20px 22px; align-items: start; }
  .problem-list li::before { width: 40px; height: 40px; margin-top: 0; background-size: 18px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E"); }
  .problem-list b { align-self: end; }
  .c-card li::before { width: 30px !important; height: 30px !important; background-size: 15px !important; }
  .hv .c-label::before { width: 28px; height: 28px; background-size: 14px; }
  @media (max-width: 600px) { .problem-list li { grid-template-columns: 34px 1fr; column-gap: 14px; padding: 16px 18px; } .problem-list li::before { width: 34px; height: 34px; background-size: 16px; } }

  /* Short notes in brackets inside lists */
  .li-note { color: var(--ink-faint); white-space: nowrap; }
  @media (max-width: 600px) { .li-note { white-space: normal; } }

  /* The GST and cooling-off note next to prices: clearly readable */
  .plan-solo-price .price-note, .plan-hero-price .price-note { color: var(--ink-soft); font-size: 14.5px; font-weight: 500; }
  .price-note.center { color: var(--ink-soft); font-weight: 500; }

  /* Home: 100x Engine band. A dark, full-width stripe with three steps, so it reads as the main offer */
  .engine-band { background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--red) 22%, transparent), transparent 55%), #0F172A; color: #fff; padding: 112px 0; }
  .engine-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
  .engine-band .kicker { color: #FCA5A5; }
  .engine-band h2 { color: #fff; }
  .engine-band h2 .red { color: #F87171; }
  .engine-band .lead { color: rgba(255,255,255,.78); margin-top: 18px; }
  .engine-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 32px; }
  .engine-alt { color: #fff; font-weight: 600; font-size: 15.5px; text-decoration: underline; text-decoration-color: rgba(255,255,255,.35); text-underline-offset: 4px; }
  .engine-alt:hover { text-decoration-color: #fff; }
  .engine-steps { list-style: none; display: grid; gap: 14px; position: relative; }
  .engine-steps::before { content: ""; position: absolute; left: 31px; top: 30px; bottom: 30px; width: 2px; background: linear-gradient(#F87171, rgba(248,113,113,.15)); }
  .engine-steps li { position: relative; display: grid; grid-template-columns: 44px 1fr; gap: 18px; align-items: start; padding: 22px 24px 22px 10px; border-radius: 22px; background: rgba(255,255,255,.06); box-shadow: inset 0 0 0 1px rgba(255,255,255,.09); }
  .es-num { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-family: var(--serif); font-size: 20px; margin-left: 0; position: relative; z-index: 1; }
  .engine-steps b { display: block; font-family: var(--serif); font-weight: 500; font-size: 22px; color: #fff; margin-bottom: 4px; }
  .engine-steps li span:not(.es-num) { color: rgba(255,255,255,.75); font-size: 15.5px; }
  @media (max-width: 900px) { .engine-band { padding: 72px 0; } .engine-grid { grid-template-columns: 1fr; gap: 36px; } .engine-cta .btn { width: 100%; justify-content: center; } }
  :root[data-theme="dark"] .engine-band { background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--red) 18%, transparent), transparent 55%), #151B2B; }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .engine-band { background: radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--red) 18%, transparent), transparent 55%), #151B2B; } }

  /* Home: two ways to start. Whole cards are clickable; the easiest one is highlighted */
  .start-grid { display: grid; grid-template-columns: 1.08fr 1fr; gap: 20px; align-items: stretch; }
  .start-card { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 40px; border-radius: 28px; background: var(--card); box-shadow: var(--shadow); text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
  .start-card:hover { transform: translateY(-4px); }
  .start-card h3 { font-size: clamp(26px, 2.6vw, 32px); line-height: 1.15; }
  .start-card p { color: var(--ink-soft); flex: 1; }
  .start-card .btn { align-self: flex-start; margin-top: 10px; pointer-events: none; }
  .start-pick { box-shadow: 0 0 0 2px var(--red), 0 30px 60px -36px rgba(239,68,68,.55); }
  .start-badge { position: absolute; top: -14px; left: 32px; background: var(--red); color: #fff; font-size: 12.5px; font-weight: 700; letter-spacing: .04em; padding: 6px 14px; border-radius: 999px; }
  @media (max-width: 760px) { .start-grid { grid-template-columns: 1fr; gap: 26px; } .start-card { padding: 30px 24px; } .start-card .btn { align-self: stretch; justify-content: center; } }
  /* On the red price card the note must be light, not grey */
  .plan-solo-price .price-note { color: rgba(255,255,255,.92) !important; font-weight: 500; }
  /* "+ GST" and the billed line next to every price: easy to read */
  .price span { font-weight: 500; }
  .price small { font-size: 14.5px; font-weight: 500; color: var(--ink-soft); }
  .plan-solo-price .price span, .plan-solo-price .price small, .tier.flag .price small { color: #fff; opacity: .95; }

  /* NRI page */
  .nri-problem { grid-template-columns: 1fr; max-width: 820px; }
  .good-list li::before { background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 18px no-repeat !important; }
  .usd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 900px; margin: 0 auto; }
  .usd-card { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 30px 20px; border-radius: 24px; background: var(--card); box-shadow: var(--shadow); text-align: center; }
  .usd-card b { font-family: var(--serif); font-weight: 500; font-size: clamp(36px, 4vw, 48px); color: var(--ink); line-height: 1.1; }
  .usd-term { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
  .usd-sub { font-size: 14.5px; font-weight: 500; color: var(--ink-soft); }
  .usd-pick { box-shadow: 0 0 0 2px var(--red), var(--shadow); }
  .usd-pop { position: absolute; top: -13px; background: var(--red); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .04em; padding: 5px 12px; border-radius: 999px; }
  @media (max-width: 760px) { .usd-grid { grid-template-columns: 1fr; gap: 22px; } }
  .who-more-line { text-align: center; margin-top: 28px; color: var(--ink-soft); }

  /* Onboarding page (/onboarding): Get started, then three steps that unlock */
  .ob-start { margin-top: 28px; }
  .ob-terms { margin-top: 14px; font-size: 14.5px; color: var(--ink-soft); }
  .ob-sec { padding-top: 8px; }
  .ob-list { display: grid; gap: 16px; max-width: 720px; transition: opacity .3s ease, filter .3s ease; }
  .ob-list.is-locked { opacity: .42; filter: grayscale(.6); pointer-events: none; user-select: none; }
  .ob-step { display: grid; grid-template-columns: 44px 1fr; gap: 18px; background: var(--surface); border-radius: 24px; padding: 28px; scroll-margin-top: 90px; }
  .ob-step .step-num { margin-bottom: 0; }
  .ob-body h2, .ob-today h2 { font-size: clamp(24px, 3vw, 30px); margin-bottom: 8px; }
  .ob-body p { color: var(--ink-soft); font-size: 16px; }
  .ob-body .btn { margin-top: 18px; }
  .ob-small { margin-top: 10px; font-size: 14.5px !important; }
  .ob-status { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 7px 14px; border-radius: 999px; background: var(--red-tint); color: var(--red-text) !important; font-size: 14.5px !important; font-weight: 500; }
  .ob-today { background: var(--red); color: #fff; border-radius: 24px; padding: 30px 28px; }
  .ob-eyebrow { display: block; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; opacity: .9; margin-bottom: 10px; }
  .ob-today h2 { color: #fff; }
  .ob-today p { color: rgba(255,255,255,.95); font-size: 16px; }
  /* Members have already paid: no "Apply now" bar on this page */
  body:has(.ob-list) .sticky-join { display: none !important; }   /* also covered by funnel: member */
  .ob-help { margin-top: 28px; color: var(--ink-soft); font-size: 15.5px; }
  @media (max-width: 640px) {
    .ob-step { grid-template-columns: 1fr; gap: 14px; padding: 24px 22px; }
    .ob-today { padding: 26px 22px; }
    .ob-body .btn { width: 100%; justify-content: center; }
  }

  /* Case study pages (built by casestudies.py from _case-studies/*.txt) */
  .cs-meta { margin-top: 16px; font-size: 15px; color: var(--ink-soft); }
  .cs-watch { padding-top: 8px; }
  .cs-player { position: relative; aspect-ratio: 16 / 9; border-radius: 24px; overflow: hidden; background: #0B0F19; box-shadow: var(--shadow); }
  .cs-video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; cursor: pointer; background: #0B0F19; }
  .cs-video img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
  .cs-video:hover img { transform: scale(1.02); }
  .cs-video .play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 76px; height: 76px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 30px -8px rgba(0,0,0,.5); }
  .cs-video .play svg { width: 30px; height: 30px; margin-left: 4px; }
  .cs-video-len { position: absolute; right: 14px; bottom: 14px; padding: 4px 10px; border-radius: 999px; background: rgba(0,0,0,.72); color: #fff; font-size: 13.5px; font-weight: 500; }
  .cs-video-empty { display: grid; place-items: center; padding: 24px; text-align: center; color: rgba(255,255,255,.75); font-size: 15px; cursor: default; }
  .cs-player.playing iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
  .cs-label { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--red-text); margin-bottom: 12px; }
  .cs-chapters { margin-top: 24px; }
  .cs-chapters ol { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px; }
  .cs-chapters button { width: 100%; display: flex; gap: 14px; align-items: baseline; text-align: left; border: 0; cursor: pointer; background: var(--surface); color: var(--ink); border-radius: 14px; padding: 14px 16px; font: inherit; font-size: 15.5px; transition: background .2s ease; }
  .cs-chapters button:hover { background: var(--red-tint); }
  .cs-chapters time { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--red-text); min-width: 44px; }
  .cs-stats { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
  .cs-stats .stat b { white-space: nowrap; font-size: clamp(28px, 2.7vw, 40px); }
  .cs-short { max-width: 760px; background: var(--red-tint); border-radius: 24px; padding: 30px 32px; }
  .cs-short ul { list-style: none; display: grid; gap: 12px; }
  .cs-short li { position: relative; padding-left: 28px; font-size: 17px; }
  .cs-short li::before { content: ""; position: absolute; left: 0; top: .45em; width: 12px; height: 12px; border-radius: 50%; background: var(--red); }
  .cs-story h2 { font-size: clamp(30px, 3.4vw, 44px); }
  .cs-hero-grid h1 { font-size: clamp(40px, 4.6vw, 62px); max-width: none; }
  .cs-hero h1 .red { display: block; text-wrap: balance; }
  .cs-story { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.6fr); gap: 48px; align-items: start; }
  .cs-prose p { font-size: 17.5px; color: var(--ink-soft); margin-bottom: 16px; max-width: 64ch; }
  .cs-note { margin-top: 20px; font-size: 14.5px !important; color: var(--ink-faint) !important; }
  .cs-transcript { max-width: 820px; margin: 0 auto; border-radius: 20px; background: var(--card); box-shadow: var(--shadow); padding: 20px 24px; }
  .cs-transcript summary { cursor: pointer; font-weight: 600; font-size: 17px; }
  .cs-transcript .cs-prose { margin-top: 18px; max-height: 70vh; overflow: auto; }
  @media (max-width: 760px) {
    .cs-story { grid-template-columns: 1fr; gap: 20px; }
    .cs-player { border-radius: 16px; margin: 0 -4px; }
    .cs-video .play { width: 62px; height: 62px; }
    .cs-short { padding: 24px 22px; }
    .cs-chapters ol { grid-template-columns: 1fr; }
  }

  /* Case study pages, part 2: hero with highlight clip, proof, timeline, "Sounds like you?", filters */
  .cs-hero-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px; align-items: center; }
  .cs-side { max-width: 360px; justify-self: end; width: 100%; }
  .cs-photo { width: 100%; border-radius: 24px; box-shadow: var(--shadow); }
  .cs-short-player { aspect-ratio: 9 / 16; }
  .cs-side-note { margin-top: 10px; text-align: center; font-size: 14px; color: var(--ink-faint); }
  .cs-hero .hero-cta { margin-top: 26px; }
  .cs-watch-head { margin-bottom: 26px; }
  .cs-checked { text-align: center; }
  .cs-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; max-width: 860px; margin: 0 auto; }
  .cs-ba figure { margin: 0; }
  .cs-ba img { width: 100%; border-radius: 20px; box-shadow: var(--shadow); }
  .cs-ba figcaption { margin-top: 10px; text-align: center; font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); }
  .cs-timeline { list-style: none; position: relative; display: grid; gap: 22px; padding-left: 28px; }
  .cs-timeline::before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; background: var(--red-tint); }
  .cs-timeline li { position: relative; display: grid; gap: 4px; }
  .cs-timeline li::before { content: ""; position: absolute; left: -28px; top: 6px; width: 14px; height: 14px; border-radius: 50%; background: var(--red); box-shadow: 0 0 0 4px var(--bg); }
  .cs-timeline b { font-size: 14px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--red-text); }
  .cs-timeline span { font-size: 17.5px; color: var(--ink); }
  .cs-mid { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; background: var(--card); border-radius: 20px; padding: 22px 24px; box-shadow: var(--shadow); }
  .cs-mid p { font-family: var(--serif); font-size: 22px; margin: 0; }
  .cs-quote-jump { margin-top: 18px; border: 0; cursor: pointer; background: var(--red-tint); color: var(--red-text); border-radius: 999px; padding: 10px 18px; font: inherit; font-size: 15px; font-weight: 600; }
  .cs-you { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 48px; align-items: start; }
  .cs-you-list { list-style: none; display: grid; gap: 14px; margin-bottom: 28px; }
  .cs-you-list li { position: relative; padding-left: 36px; font-size: 17.5px; }
  .cs-you-list li::before { content: ""; position: absolute; left: 0; top: .1em; width: 24px; height: 24px; border-radius: 50%; background: var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat; }
  .cs-tx p { margin-bottom: 14px; }
  .cs-tjump { border: 0; cursor: pointer; background: var(--red-tint); color: var(--red-text); border-radius: 8px; padding: 2px 8px; font: inherit; font-size: 13.5px; font-weight: 600; font-variant-numeric: tabular-nums; margin-right: 4px; }
  .cs-hub { padding-top: 0; }
  .cs-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
  .cs-filters button { border: 0; cursor: pointer; border-radius: 999px; padding: 10px 18px; font: inherit; font-size: 15px; font-weight: 500; background: var(--surface); color: var(--ink-soft); }
  .cs-filters button[aria-pressed="true"] { background: var(--red); color: #fff; }
  .case-card[hidden] { display: none; }
  @media (max-width: 860px) {
    .cs-hero-grid, .cs-you { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .cs-hero h1 { overflow-wrap: break-word; }
    .cs-side { justify-self: center; max-width: 300px; }
  }
  @media (max-width: 560px) {
    .cs-ba { grid-template-columns: 1fr 1fr; gap: 10px; }
    .cs-mid { flex-direction: column; align-items: stretch; text-align: center; }
    .cs-hero .hero-cta .btn { width: 100%; justify-content: center; }
  }


  /* Bottom bar on phones: always one slim row. The text never wraps; on the narrowest phones the chat
     bubble (it opens the same application form as Apply) steps aside to make room. */
  .sticky-join > span:first-child { min-width: 0; }
  .sticky-join > span:first-child b, .sticky-join > span:first-child small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  @media (max-width: 400px) {
    .sticky-join { padding-left: 16px; gap: 8px; }
    .sticky-join .sticky-chat { display: none; }
    .sticky-join .btn { padding: 11px 16px; }
  }
  @media (max-width: 340px) {
    .sticky-join { padding-left: 14px; }
    .sticky-join > span:first-child b { font-size: 14px; }
    .sticky-join > span:first-child small { font-size: 11.5px; }
    .sticky-join .btn { padding: 10px 14px; font-size: 14.5px; }
  }

  /* Reviews jump menu: sits flush under the header, and at the very top once the header slides away
     (an earlier rule kept it 80px down, leaving a strip of page showing above it). Solid background,
     a soft shadow instead of a line, and the section you're reading is highlighted. */
  .r-jump { background: var(--bg); backdrop-filter: none; box-shadow: 0 8px 18px -14px rgba(0,0,0,.35); }
  body:has(nav.scrolled) .r-jump { top: 64px; }   /* just under the floating header, which ends at 58px */
  @media (max-width: 760px) { body:has(nav.scrolled) .r-jump { top: 58px; } }
  body:has(nav.nav-hidden) .r-jump { top: 0 !important; }
  .r-jump a[aria-current="true"] { background: var(--red); color: var(--white); }

  /* Reviews: the milestone screenshots under the weekly wins */
  .r-subhead { margin-top: 56px; font-size: clamp(24px, 2.6vw, 30px); }
  .r-subnote { margin: 8px 0 24px; color: var(--ink-soft); }

  /* Reviews jump menu doubles as the header once it sticks: the two actions sit on the right (phones use the bottom bar instead) */
  .r-jump-cta { margin-left: auto; display: flex; gap: 8px; flex: none; }
  .r-jump .r-jump-audit { background: transparent; box-shadow: inset 0 0 0 1.5px var(--ink); color: var(--ink); font-weight: 600; }
  .r-jump .r-jump-apply { background: var(--red); color: var(--white); font-weight: 600; }
  .r-jump .r-jump-audit:hover { background: var(--ink); color: var(--bg); }
  .r-jump .r-jump-apply:hover { background: var(--red-deep); }
  @media (max-width: 760px) { .r-jump-cta { display: none; } }

  /* Small call to action between sections: Apply, or the free audit */
  .mini-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; margin-top: 40px; }
  .mini-cta .mini-alt { font-weight: 600; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
  .mini-cta .mini-alt:hover { color: var(--red-text); }
  .mini-wrap .mini-cta { margin: 8px 0 56px; }
  @media (max-width: 760px) { .mini-cta { flex-direction: column; gap: 14px; } .mini-cta .btn { width: 100%; justify-content: center; } }


  /* Screenshots: room to breathe on laptops, and one full-width screenshot per row on phones (they convert better big) */
  .shot { box-shadow: 0 12px 32px -20px rgba(17,24,39,.35); }
  .profile-grid { gap: 32px 20px; }
  .masonry.phones { column-gap: 20px; }
  .masonry.phones .shot { margin-bottom: 24px; }
  @media (max-width: 760px) {
    .profile-grid { grid-template-columns: 1fr; gap: 20px; }
    .profile-grid .shot img { aspect-ratio: auto; object-fit: contain; }
    .masonry, .masonry.phones { columns: 1; }
    .masonry .shot, .masonry.phones .shot { margin-bottom: 20px; }
  }

  /* Before and after, redesigned: one card, two screenshots of the same size (cropped from the top, where the
     follower count is), the arrow on the seam, labels underneath, and the result in real type. */
  .ba-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
  .ba-card { margin: 0; padding: 22px; border-radius: 28px; background: var(--card); box-shadow: 0 1px 2px rgba(17,24,39,.04), 0 24px 48px -32px rgba(17,24,39,.35); }
  .ba-panes { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .ba-pane { display: block; border-radius: 16px; overflow: hidden; background: var(--surface); box-shadow: inset 0 0 0 1px rgba(17,24,39,.06); }
  .ba-pane img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; object-position: top center; display: block; }
  .ba-arrow { position: absolute; left: 50%; top: 50%; translate: -50% -50%; z-index: 2; width: 40px; height: 40px; border-radius: 50%;
              display: grid; place-items: center; background: var(--red); color: #fff; box-shadow: 0 0 0 5px var(--card), 0 8px 18px -6px rgba(239,68,68,.6); }
  .ba-arrow svg { width: 18px; height: 18px; }
  .ba-labels { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 12px; text-align: center;
               font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-faint); }
  .ba-labels .after { color: var(--red-text); }
  .ba-result { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 20px; padding: 18px 8px; border-radius: 18px; background: var(--red-tint); text-align: center; }
  .ba-result.solo { grid-template-columns: 1fr; }
  .ba-result span { display: flex; flex-direction: column; gap: 4px; }
  .ba-result b { font-family: var(--serif); font-weight: 500; font-size: clamp(30px, 3vw, 40px); line-height: 1; letter-spacing: -0.02em; color: var(--red-text); }
  .ba-result small { font-size: 14px; color: var(--ink-soft); }
  .ba-tag, .ba-stats { display: none; }
  @media (max-width: 760px) {
    .ba-list { grid-template-columns: 1fr; gap: 24px; }
    .ba-card { padding: 14px; border-radius: 22px; }
    .ba-panes, .ba-labels, .ba-result { gap: 10px; }
    .ba-pane img { aspect-ratio: 4 / 5; }
    .ba-arrow { width: 34px; height: 34px; box-shadow: 0 0 0 4px var(--card), 0 8px 18px -6px rgba(239,68,68,.6); }
    .ba-result { padding: 14px 6px; }
  }
  .ba-pane { position: relative; }
  .ba-pane img { aspect-ratio: 10 / 7; object-position: left top; }
  .ba-chip { position: absolute; left: 10px; bottom: 10px; z-index: 1; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 600;
             letter-spacing: .1em; text-transform: uppercase; background: rgba(17,24,39,.82); color: #fff; backdrop-filter: blur(4px); }
  .ba-chip.after { background: var(--red); }
  .ba-result { margin-top: 18px; }
  @media (max-width: 760px) {
    .ba-panes { grid-template-columns: 1fr; gap: 12px; }
    .ba-pane img { aspect-ratio: 10 / 7; }
    .ba-arrow { rotate: 90deg; }
  }

  /* Homepage founder section: credential rows (icon, bold claim, what it means for you) */
  .cred-list { list-style: none; display: grid; gap: 12px; margin: 26px 0 30px; }
  .cred-list li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; align-items: center; padding: 16px 18px; border-radius: 18px; background: var(--surface); }
  .cred-ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); }
  .cred-ico svg { width: 22px; height: 22px; }
  .cred-list b { display: block; font-size: 17px; font-weight: 600; color: var(--ink); line-height: 1.3; }
  .cred-list span:not(.cred-ico) { display: block; margin-top: 3px; font-size: 15.5px; color: var(--ink-soft); line-height: 1.45; }
  @media (max-width: 760px) { .cred-list li { grid-template-columns: 40px 1fr; gap: 14px; padding: 14px; } .cred-ico { width: 40px; height: 40px; } }

  /* Pricing chooser: a headline per plan and three points with the key words highlighted */
  .choose { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 30px 28px; }
  .choose h3 { font-size: clamp(24px, 2.3vw, 28px); line-height: 1.15; color: var(--ink); }
  .choose h3 span { color: var(--red-text); font-style: italic; }
  .choose-list { list-style: none; display: grid; gap: 10px; margin: 2px 0 8px; }
  .choose-list li { position: relative; padding-left: 26px; font-size: 16px; line-height: 1.45; color: var(--ink-soft); }
  .choose-list li::before { content: ""; position: absolute; left: 0; top: .2em; width: 16px; height: 16px; border-radius: 50%;
    background: var(--red-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DC2626' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 10px no-repeat; }
  .choose-list mark { background: linear-gradient(transparent 58%, color-mix(in srgb, var(--red) 28%, transparent) 58%); color: var(--ink); font-weight: 600; padding: 0 1px; }
  .choose-go { margin-top: auto; }
  .choose.pick h3, .choose.pick h3 span { color: var(--white); }
  .choose.pick .choose-list li { color: rgba(255,255,255,.9); }
  .choose.pick .choose-list li::before { background-color: rgba(255,255,255,.95); }
  .choose.pick .choose-list mark { color: var(--white); background: linear-gradient(transparent 58%, rgba(255,255,255,.32) 58%); }
  .choose-badge { position: absolute; top: -13px; left: 28px; padding: 5px 12px; border-radius: 999px; background: var(--ink); color: var(--white);
                  font-size: 12px; font-weight: 600; letter-spacing: .04em; }


  /* Final call to action: the message on the left, a "your audience" chart on the right that draws itself in */
  .cta2 { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; align-items: center;
          padding: 72px 64px; border-radius: 36px; color: #fff;
          background: radial-gradient(120% 140% at 100% 0%, #F87171 0%, rgba(248,113,113,0) 55%), linear-gradient(135deg, #EF4444 0%, #DC2626 100%);
          box-shadow: 0 40px 80px -40px rgba(220,38,38,.65); }
  .cta2::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .18;
                  background-image: radial-gradient(rgba(255,255,255,.9) 1px, transparent 1.2px); background-size: 22px 22px;
                  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 70%); mask-image: linear-gradient(90deg, transparent 0%, #000 70%); }
  .cta2 > * { position: relative; }
  .cta2 h2 { color: #fff; font-size: clamp(22px, 7.4vw, 50px); line-height: 1.06; max-width: none; text-wrap: wrap; }
  .cta2-copy p { margin-top: 18px; font-size: 18.5px; color: rgba(255,255,255,.92); max-width: 40ch; }
  .cta2-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: 30px; }
  .cta2-actions .btn-white { box-shadow: 0 14px 30px -12px rgba(127,29,29,.6); }
  .cta2 .final-alt { color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
  .cta2 .final-ticks { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px 22px; margin: 28px 0 0; padding: 0; }
  .cta2 .final-ticks a { color: #fff; }
  .cta2-chart { background: var(--card); color: var(--ink); border-radius: 26px; padding: 24px 24px 18px; box-shadow: 0 30px 60px -28px rgba(17,24,39,.55); }
  .cta2-head span { display: block; font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); }
  .cta2-head b { display: block; margin-top: 4px; font-family: var(--serif); font-weight: 500; font-size: 24px; color: var(--ink); }
  .cta2-svg { display: block; width: 100%; height: 170px; margin-top: 14px; overflow: visible; }
  .cta2-grid { stroke: var(--line, rgba(17,24,39,.08)); stroke-width: 1; stroke-dasharray: 3 5; fill: none; vector-effect: non-scaling-stroke; }
  .cta2-line { fill: none; stroke: #EF4444; stroke-width: 4; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 100; stroke-dashoffset: 0; }
  .cta2-start { fill: var(--card); stroke: var(--ink-faint); stroke-width: 3; vector-effect: non-scaling-stroke; }
  .cta2-end { fill: #EF4444; stroke: var(--card); stroke-width: 3; vector-effect: non-scaling-stroke; }
  .cta2-you { position: absolute; right: 24px; top: 88px; padding: 6px 12px; border-radius: 999px; background: #111827; color: #fff; font-size: 13px; font-weight: 600; box-shadow: 0 6px 16px -8px rgba(17,24,39,.6); }
  .cta2-axis { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12.5px; color: var(--ink-faint); }
  .cta2-proof { display: flex; gap: 10px; margin-top: 18px; }
  .cta2-proof span { flex: 1; padding: 12px 14px; border-radius: 14px; background: var(--surface); font-size: 13.5px; color: var(--ink-soft); }
  .cta2-proof b { display: block; font-family: var(--serif); font-weight: 500; font-size: 24px; color: var(--red-text); line-height: 1.1; }
  .cta2-note { margin-top: 12px; font-size: 12px; color: var(--ink-faint); }
  @media (prefers-reduced-motion: no-preference) {
    .cta2.reveal .cta2-line { stroke-dashoffset: 100; }
    .cta2.reveal .cta2-area, .cta2.reveal .cta2-end, .cta2.reveal .cta2-you { opacity: 0; }
    .cta2.reveal.in .cta2-line { animation: cta2draw 1.6s cubic-bezier(.4,0,.2,1) .2s forwards; }
    .cta2.reveal.in .cta2-area { animation: cta2fade .8s ease 1.1s forwards; }
    .cta2.reveal.in .cta2-end, .cta2.reveal.in .cta2-you { animation: cta2fade .5s ease 1.6s forwards; }
    .cta2.reveal.in .cta2-end { transform-origin: 306px 18px; }
  }
  @keyframes cta2draw { to { stroke-dashoffset: 0; } }
  @keyframes cta2fade { to { opacity: 1; } }
  @media (max-width: 900px) {
    .cta2 { grid-template-columns: 1fr; gap: 36px; padding: 48px 24px 24px; border-radius: 28px; }
    .cta2-actions { flex-direction: column; align-items: stretch; text-align: center; }
    .cta2-actions .btn { justify-content: center; }
    .cta2-chart { padding: 20px 18px 16px; }
    .cta2-svg { height: 140px; }
    .cta2-you { top: 76px; right: 18px; font-size: 12px; }
  }
  @media (min-width: 901px) { .cta2 h2 { font-size: clamp(34px, 3.8vw, 50px); } }
  .nowrap { white-space: nowrap; }
  .w-card h3 { font-size: clamp(26px, 2.25vw, 30px); }   /* fits "Blue Ocean Strategy" on one line */

  /* Short headers and footers: the logo is shown but can't be clicked (no way out of the page); no links at the bottom at all
     (forms link the Privacy Policy themselves) */
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) .logo { pointer-events: none; cursor: default; }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"]) .footer-small { display: none !important; }


  /* What's new: release list and release pages (built by releases.py from _releases/*.txt) */
  .rl-stats { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
  .rl-stats span { padding: 14px 20px; border-radius: 18px; background: var(--surface); font-size: 15px; color: var(--ink-soft); }
  .rl-stats b { display: block; font-family: var(--serif); font-weight: 500; font-size: 28px; color: var(--red-text); line-height: 1.1; }
  .rl-card { display: block; padding: 0; }
  .rl-card-link { display: grid; grid-template-columns: 180px 1fr; gap: 32px; padding: 36px 40px; color: inherit; text-decoration: none; border-radius: 26px; transition: transform .2s ease; }
  .rl-card-link:hover { transform: translateY(-2px); }
  .rl-num { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--red-text); }
  .rl-card-also, .rl-card-win { margin-top: 10px; font-size: 15px; color: var(--ink-soft); }
  .rl-card-win b { color: var(--ink); }
  .rl-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
  .rl-tag { padding: 4px 12px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); font-size: 12.5px; font-weight: 600; }
  .rl-tag-video { background: var(--red-tint); color: var(--red-text); }
  .rl-more { display: inline-block; margin-top: 16px; font-weight: 600; color: var(--red-text); }
  .rl-hero .rl-tags { margin-top: 22px; }
  .rl-video .cs-player { max-width: 960px; }
  .rl-items { display: grid; gap: 18px; max-width: 880px; }
  .rl-item { background: var(--card); border-radius: 22px; padding: 28px 30px; box-shadow: var(--shadow); }
  .rl-item-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-bottom: 10px; }
  .rl-item h3 { font-size: clamp(22px, 2.4vw, 28px); }
  .rl-asked { padding: 5px 12px; border-radius: 999px; background: var(--red-tint); color: var(--red-text); font-size: 13px; font-weight: 600; }
  .rl-item p { color: var(--ink-soft); max-width: 60ch; }
  .rl-ticks { list-style: none; display: grid; gap: 10px; margin-top: 16px; }
  .rl-ticks li { display: flex; gap: 10px; align-items: center; font-size: 15.5px; }
  .rl-ticks li::before { content: ""; width: 20px; height: 20px; flex: none; border-radius: 50%; background: var(--green-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316A34A' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat; }
  .rl-win { max-width: 880px; padding: 40px; border-radius: 28px; background: var(--red-tint); }
  .rl-win-kicker { font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--red-text); }
  .rl-win-result { display: block; margin-top: 10px; font-family: var(--serif); font-weight: 500; font-size: clamp(36px, 5vw, 56px); line-height: 1.05; color: var(--red-text); }
  .rl-win-who { margin-top: 8px; font-weight: 600; color: var(--ink); }
  .rl-win-story { margin-top: 12px; color: var(--ink-soft); max-width: 60ch; }
  .rl-win blockquote { margin: 18px 0 0; font-family: var(--serif); font-size: 22px; line-height: 1.35; color: var(--ink); }
  .rl-win .inline-link { display: inline-block; margin-top: 14px; }
  .rl-win-note { margin-top: 16px; font-size: 13px; color: var(--ink-faint); }
  .rl-next { max-width: 880px; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: baseline; padding: 20px 24px; border-radius: 18px; background: var(--surface); font-size: 17px; color: var(--ink); }
  .rl-next span { font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--red-text); }
  .rl-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; max-width: 880px; }
  .rl-nav a { text-decoration: none; color: var(--ink); }
  .rl-nav-prev, .rl-nav-next { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-radius: 18px; background: var(--surface); }
  .rl-nav-next { grid-column: 3; text-align: right; }
  .rl-nav small { font-size: 13px; color: var(--ink-faint); font-weight: 600; }
  .rl-nav-all { grid-column: 2; font-weight: 600; color: var(--red-text) !important; }
  @media (max-width: 760px) {
    .rl-card-link { grid-template-columns: 1fr; gap: 12px; padding: 26px 22px; }
    .rl-item, .rl-win { padding: 24px 20px; }
    .rl-nav { grid-template-columns: 1fr; }
    .rl-nav-next, .rl-nav-all { grid-column: auto; text-align: left; }
  }
  .rl-next-sec { padding-top: 0; }

  /* Short footer: centred, with one line on who it's for */
  .footer-tagline { display: none; }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) .footer-bottom {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; padding: 8px 0 12px; }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) .footer-tagline {
    display: block; font-family: var(--serif); font-size: 19px; color: var(--ink); }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) footer { padding: 40px 0 36px; }

  /* Contact: one row per reason to get in touch, and the villa on the side */
  .ct-sec { padding: 8px 0 24px; }
  .ct-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: start; }
  .ct-list { display: grid; gap: 12px; }
  .ct-row { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 22px 24px; border-radius: 22px;
            background: var(--card); box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .2s ease; }
  .ct-row:hover { transform: translateY(-2px); }
  .ct-ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); }
  .ct-ico svg { width: 24px; height: 24px; }
  .ct-text b { display: block; font-size: 17.5px; font-weight: 600; color: var(--ink); }
  .ct-text small { display: block; margin-top: 4px; font-size: 15px; color: var(--ink-soft); line-height: 1.45; }
  .ct-go { font-weight: 600; color: var(--red-text); white-space: nowrap; }
  .ct-primary { background: var(--red); }
  .ct-primary .ct-ico { background: rgba(255,255,255,.18); color: #fff; }
  .ct-primary .ct-text b, .ct-primary .ct-go { color: #fff; }
  .ct-primary .ct-text small { color: rgba(255,255,255,.9); }
  .ct-row.ct-primary .ct-go { padding: 10px 18px; border-radius: 999px; background: #fff; color: var(--red-text); }
  .ct-visit { padding: 30px 28px; border-radius: 26px; background: var(--surface); }
  .ct-visit h2 { font-size: 26px; margin: 16px 0 10px; }
  .ct-visit p { color: var(--ink-soft); }
  .ct-small { margin-top: 8px; font-size: 14.5px; }
  .ct-visit .btn { margin-top: 20px; }
  /* The audit box sits close to whatever comes before it (no big empty gap) */
  .audit-sec { padding: 40px 0 72px; }
  @media (max-width: 860px) {
    .ct-grid { grid-template-columns: 1fr; }
    .ct-row { grid-template-columns: 44px minmax(0, 1fr); padding: 18px; }
    .ct-go { grid-column: 2; }
    .ct-row.ct-primary .ct-go { justify-self: start; }
  }

  /* Video reviews: a clear layer over the YouTube player takes every tap (play/pause), so nothing links out */
  .video.playing { position: relative; }
  .video-shield { position: absolute; inset: 0; z-index: 2; border: 0; padding: 0; background: transparent; cursor: pointer; }
  .video-state { position: absolute; left: 50%; top: 50%; translate: -50% -50%; width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center;
                 background: var(--red); color: #fff; opacity: 0; transition: opacity .2s ease; box-shadow: 0 10px 30px -8px rgba(0,0,0,.5); }
  .video-state svg { width: 26px; height: 26px; margin-left: 3px; }
  .video.paused .video-state { opacity: 1; }

  /* Release page, part 2: main column plus a sticky side panel, so it never looks empty */
  .rl-page { padding: 8px 0 72px; }
  .rl-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
  .rl-main { display: grid; gap: 56px; min-width: 0; }
  .rl-block .kicker { display: block; }
  .rl-h { font-size: clamp(28px, 3vw, 38px); margin: 6px 0 22px; }
  .rl-items { gap: 14px; max-width: none; }
  .rl-item { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 16px; align-items: start; }
  .rl-item-n { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 600; }
  .rl-win, .rl-next { max-width: none; }
  .rl-side { position: sticky; top: 96px; display: grid; gap: 14px; }
  .rl-panel { padding: 24px; border-radius: 24px; background: var(--card); box-shadow: var(--shadow); }
  .rl-panel-num { display: block; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--red-text); }
  .rl-panel-date { display: block; margin-top: 4px; font-family: var(--serif); font-size: 24px; color: var(--ink); }
  .rl-panel-h { margin-top: 18px; font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-faint); }
  .rl-panel-list { list-style: none; display: grid; gap: 8px; margin-top: 10px; }
  .rl-panel-list li { position: relative; padding-left: 22px; font-size: 15.5px; color: var(--ink); }
  .rl-panel-list li::before { content: ""; position: absolute; left: 0; top: .45em; width: 10px; height: 10px; border-radius: 50%; background: var(--red); }
  .rl-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 18px; }
  .rl-facts span { padding: 10px 12px; border-radius: 14px; background: var(--surface); font-size: 13px; color: var(--ink-soft); }
  .rl-facts b { display: block; font-family: var(--serif); font-weight: 500; font-size: 22px; color: var(--red-text); }
  .rl-panel-watch { display: inline-block; margin-top: 16px; font-weight: 600; color: var(--red-text); text-decoration: none; }
  .rl-panel-cta { background: var(--red-tint); box-shadow: none; display: grid; gap: 12px; }
  .rl-panel-cta p { font-family: var(--serif); font-size: 21px; line-height: 1.2; color: var(--ink); }
  .rl-panel-cta .btn { justify-content: center; }
  .rl-panel-cta .inline-link { text-align: center; font-size: 15px; }
  @media (max-width: 960px) {
    .rl-layout { grid-template-columns: 1fr; gap: 32px; }
    .rl-side { position: static; order: -1; }
    .rl-panel-cta { display: none; }
    .rl-main { gap: 44px; }
  }

  .rl-main > section, .rl-page { padding-top: 0; padding-bottom: 0; } .rl-page { padding-bottom: 72px; } .rl-main { gap: 48px; }

  /* Reviews: real Skool wins, whole screenshots (never cropped), with room between them */
  .sk-wins { columns: 3 300px; column-gap: 32px; }
  .sk-win { break-inside: avoid; margin: 0 0 32px; padding: 14px 14px 18px; border-radius: 22px; background: var(--card);
            box-shadow: 0 1px 2px rgba(17,24,39,.05), 0 18px 40px -28px rgba(17,24,39,.4); }
  .sk-win[hidden] { display: none; }
  .sk-shot { display: flex; justify-content: center; border-radius: 14px; background: var(--surface); overflow: hidden; }
  .sk-shot img { display: block; width: 100%; height: auto; border-radius: 14px; }
  .sk-win figcaption { padding: 14px 6px 0; }
  .sk-win figcaption b { display: block; font-family: var(--serif); font-weight: 500; font-size: 22px; line-height: 1.2; color: var(--red-text); }
  .sk-win figcaption span { display: block; margin-top: 4px; font-size: 14.5px; color: var(--ink-soft); }
  /* More space in the milestone screenshots too */
  .masonry.phones { columns: 3 280px; column-gap: 32px; }
  .masonry.phones .shot { margin-bottom: 32px; }
  @media (max-width: 760px) {
    .sk-wins { columns: 1; }
    .sk-win { margin-bottom: 24px; }
    .masonry.phones { columns: 1; }
    .masonry.phones .shot { margin-bottom: 24px; }
  }

  /* Long words (emails, links) wrap instead of pushing the page sideways on phones */
  .compare-grid > *, .c-card { min-width: 0; }
  .c-card li, .ct-text small, .legal p, .legal li { overflow-wrap: anywhere; }
  @media (max-width: 760px) {
    .ct-visit h2 { font-size: 22px; }
    .legal-hero h1 { font-size: clamp(30px, 8.4vw, 44px); }
  }

  .c-card ul { grid-template-columns: minmax(0, 1fr); } .c-card li { min-width: 0; }
  @media (max-width: 760px) { .legal-hero h1 { font-size: clamp(28px, 7.6vw, 44px); } }
  /* Safety net: a decorative shape can never make the page scroll sideways (clip keeps sticky headers working) */
  html, body { overflow-x: clip; }
  .legal-hero h1 { max-width: none; }

  /* Header logo always on one line; on small phones the header items tighten up to make room */
  .logo { white-space: nowrap; flex-shrink: 0; }
  @media (max-width: 420px) {
    .logo { font-size: 19px; gap: 8px; }
    .logo-mark { width: 28px; height: 28px; font-size: 14px; }
    .nav-right { gap: 6px; }
    .nav-right .btn { padding-left: 14px; padding-right: 14px; }
  }
  @media (max-width: 350px) { .logo { font-size: 17px; } .theme-toggle { display: none; } }

  /* No divider line above any footer (rule 2). Short footers sit close to the last section */
  footer .wrap { box-shadow: none; }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) footer { padding: 28px 0 32px; }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) footer .wrap { padding-top: 0; }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) .footer-bottom { padding: 0; }

  /* USD: "No GST" shown as a small pill so it reads as a plus */
  .no-gst { font-style: normal; display: inline-block; margin-left: 6px; padding: 3px 10px; border-radius: 999px; background: var(--red-tint); color: var(--red-text); font-size: 13px; font-weight: 600; letter-spacing: .01em; vertical-align: middle; white-space: nowrap; }
  /* Audit strip straight before the red CTA: one normal gap, not two */
  .audit-sec:has(+ .join) { padding-bottom: 32px; }
  .audit-sec + .join { padding-top: 0; }
  /* Four cards: 2 x 2 on laptops and tablets, 1 per row on phones */
  .steps.steps-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 1100px) { .steps.steps-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .steps.steps-4 .step:last-child { grid-column: auto; } }
  @media (max-width: 560px) { .steps.steps-4 { grid-template-columns: 1fr; } }
  .ob-check { list-style: none; display: grid; gap: 10px; margin-top: 14px; }
  .ob-check li { position: relative; padding-left: 30px; color: var(--ink-soft); }
  .ob-check li::before { content: ""; position: absolute; left: 0; top: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--red-tint); box-shadow: inset 0 0 0 1.5px var(--red); }
  .ob-today .btn { margin-top: 6px; }

  /* Reviews jump menu, calmer: no shadow until it sticks; the two actions appear only once it has stuck
     (before that the header already has Apply). The section you're on is dark, so the only red is Apply. */
  .r-jump { box-shadow: none; transition: top .35s cubic-bezier(.2,.8,.2,1), box-shadow .25s ease; }
  .r-jump.is-stuck { box-shadow: 0 10px 24px -18px rgba(0,0,0,.28); }
  .r-jump a[aria-current="true"] { background: var(--ink); color: var(--bg); }
  .r-jump a:hover { background: color-mix(in srgb, var(--ink) 10%, var(--surface)); color: var(--ink); }
  .r-jump-cta { opacity: 0; visibility: hidden; transition: opacity .2s ease; }
  .r-jump.is-stuck .r-jump-cta { opacity: 1; visibility: visible; }
  .r-jump .r-jump-audit { background: var(--red-tint); box-shadow: none; color: var(--red-text); }
  .r-jump .r-jump-audit:hover { background: var(--red-tint); color: var(--red-text); filter: brightness(.97); }
  .r-jump .r-jump-apply:hover { background: var(--red-deep); color: var(--white); }

  /* Our own video player (case-study.js). The YouTube frame is taller than the box, so its title bar
     and logo sit outside and are cropped away; a clear layer on top takes every click. */
  .cs-player.vp { outline: none; }
  .vp-frame { position: absolute; left: 0; right: 0; top: -64px; bottom: -64px; pointer-events: none; }
  .vp-frame iframe, .vp-frame > div { width: 100%; height: 100%; border: 0; display: block; }
  .vp-shield { position: absolute; inset: 0; z-index: 2; background: transparent; border: 0; padding: 0; cursor: pointer; }
  .vp-big { position: absolute; left: 50%; top: 50%; translate: -50% -50%; z-index: 3; width: 76px; height: 76px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 30px -8px rgba(0,0,0,.5); pointer-events: none; opacity: 0; transition: opacity .2s ease; }
  .vp-big svg { width: 30px; height: 30px; margin-left: 4px; }
  .vp.vp-paused .vp-big { opacity: 1; }
  .vp.vp-paused::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(11,15,25,.55); pointer-events: none; }
  .vp-bar { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 4; display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 14px; background: rgba(11,15,25,.72); backdrop-filter: blur(8px); color: #fff; transition: opacity .3s ease; }
  .vp.vp-idle:not(.vp-paused) .vp-bar { opacity: 0; }
  .vp.vp-idle:not(.vp-paused) .vp-shield { cursor: none; }
  .vp-btn { flex: none; min-width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 10px; background: transparent; color: #fff; font: 600 13.5px var(--sans); cursor: pointer; padding: 0 6px; }
  .vp-btn:hover { background: rgba(255,255,255,.14); }
  .vp-btn svg { width: 20px; height: 20px; }
  .vp-time { flex: none; font-size: 13px; font-variant-numeric: tabular-nums; color: rgba(255,255,255,.8); padding: 0 4px; }
  .vp-time b { color: #fff; font-weight: 600; }
  .vp-seek { flex: 1; min-width: 40px; height: 20px; margin: 0 6px; appearance: none; -webkit-appearance: none; background: transparent; cursor: pointer; --p: 0%; }
  .vp-seek::-webkit-slider-runnable-track { height: 4px; border-radius: 4px; background: linear-gradient(to right, var(--red) var(--p), rgba(255,255,255,.3) var(--p)); }
  .vp-seek::-moz-range-track { height: 4px; border-radius: 4px; background: linear-gradient(to right, var(--red) var(--p), rgba(255,255,255,.3) var(--p)); }
  .vp-seek::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; margin-top: -5px; border-radius: 50%; background: #fff; border: 0; }
  .vp-seek::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: #fff; border: 0; }
  .cs-player.vp-loading .cs-video .play { animation: vpPulse 1s ease infinite; }
  @keyframes vpPulse { 50% { transform: scale(.92); } }
  .cs-player.vp:fullscreen { border-radius: 0; aspect-ratio: auto; width: 100vw; height: 100vh; }
  @media (max-width: 560px) {
    .vp-bar { left: 6px; right: 6px; bottom: 6px; gap: 2px; padding: 4px 6px; }
    .vp-time span, .vp-time { font-size: 12px; }
    .vp-speed { display: none; }
    .vp-big { width: 60px; height: 60px; }
  }
  .cs-short-player .vp-time { display: none; }
  .cs-short-player .vp-speed { display: none; }

  /* Release page, one reading column (releases.py): video or screenshots first, then what's in it,
     then "Included in 100x Engine" with Apply, the win, questions and the next release. */
  .rl-hero { padding-bottom: 36px; }
  .rl-hero h1 { max-width: 16ch; }
  .rl-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 22px; font-size: 14.5px; color: var(--ink-faint); }
  .rl-meta > span:first-child { margin-right: 6px; font-weight: 500; }
  .rl-media { max-width: 1040px; margin-bottom: 48px; }
  .rl-page .rl-main { max-width: 780px; gap: 40px; }
  .rl-what { padding: 30px 32px; border-radius: 24px; background: var(--card); box-shadow: var(--shadow); }
  .rl-what-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
  .rl-what p { margin-top: 12px; color: var(--ink-soft); }
  .rl-what .rl-ticks { margin-top: 18px; gap: 14px; }
  .rl-what .rl-ticks li { font-size: 17px; color: var(--ink); }
  .rl-shots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 20px; }
  .rl-shots-1 { grid-template-columns: minmax(0, 1fr); }
  .rl-shot { margin: 0; }
  .rl-shot img { display: block; width: 100%; height: auto; border-radius: 18px; box-shadow: var(--shadow); background: var(--surface); }
  .rl-shot figcaption { margin-top: 10px; font-size: 14px; color: var(--ink-faint); }
  .rl-incl { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; padding: 22px 24px; border-radius: 22px; background: var(--red-tint); }
  .rl-incl p { flex: 1 1 300px; color: var(--ink-soft); font-size: 16px; }
  .rl-incl p b { color: var(--ink); }
  .rl-incl-ico { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; }
  .rl-incl-ico svg { width: 20px; height: 20px; }
  .rl-nav { grid-template-columns: 1fr 1fr; max-width: none; }
  .rl-nav-next, .rl-nav-all { grid-column: 2; text-align: right; }
  .rl-nav-all { color: var(--ink) !important; font-weight: 400; }
  @media (max-width: 760px) {
    .rl-media { margin: 0 -4px 36px; }
    .rl-what { padding: 24px 20px; }
    .rl-shots { grid-template-columns: minmax(0, 1fr); }
    .rl-incl .btn { width: 100%; justify-content: center; }
    .rl-nav { grid-template-columns: 1fr; }
    .rl-nav-next, .rl-nav-all { grid-column: auto; text-align: left; }
  }
  /* What's new list: less air between the intro and the releases */
  .news-hero { padding-bottom: 28px; }
  .news-list-sec { padding-top: 0; }
  .rl-page { padding-bottom: 24px !important; }
  .lpr-help { margin-top: 18px; color: var(--ink-soft); font-size: 15.5px; }

  /* Release page: date, TL;DR, this month and this year */
  .rl-date { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-weight: 600; }
  .rl-date svg { width: 18px; height: 18px; color: var(--red-text); }
  .rl-dot::before { content: "·"; margin-right: 10px; color: var(--ink-faint); }
  .rl-meta .rl-tag:first-of-type { margin-left: 6px; }
  .rl-tldr { max-width: 780px; margin-top: 28px; padding: 22px 26px; border-radius: 20px; background: var(--surface); }
  .rl-tldr-k { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--ink); color: var(--bg); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
  .rl-tldr ul { list-style: none; display: grid; gap: 10px; margin-top: 14px; }
  .rl-tldr li { position: relative; padding-left: 22px; font-size: 17px; color: var(--ink); line-height: 1.5; }
  .rl-tldr li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--red); }
  .rl-count { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 18px; font-size: 14.5px; color: var(--ink-soft); }
  .rl-count b { margin-right: 4px; font-family: var(--serif); font-weight: 500; font-size: 22px; color: var(--red-text); }
  .rl-prose p { color: var(--ink-soft); font-size: 17px; line-height: 1.65; max-width: 62ch; }
  .rl-prose p + p { margin-top: 12px; }
  .rl-steps { list-style: none; counter-reset: s; display: grid; gap: 12px; }
  .rl-steps li { counter-increment: s; display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 14px; align-items: center; padding: 16px 18px; border-radius: 18px; background: var(--card); box-shadow: var(--shadow); font-size: 16.5px; color: var(--ink); }
  .rl-steps li::before { content: counter(s); width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); font-weight: 700; }
  .rl-block .rl-h { margin-top: 0; }
  .rl-incl small { display: block; margin-top: 4px; font-size: 12.5px; color: var(--ink-faint); }
  @media (max-width: 760px) { .rl-tldr { padding: 18px 18px; } .rl-tldr li { font-size: 16px; } }

  /* Release pages: the Apply bar also floats on laptops once you scroll past the top */
  @media (min-width: 761px) {
    body:has(.rl-page) .sticky-join {
      display: flex; align-items: center; justify-content: space-between; gap: 16px;
      position: fixed; left: 50%; bottom: 20px; z-index: 30; width: min(560px, calc(100% - 40px)); translate: -50% 0;
      background: var(--card); border-radius: 999px; padding: 8px 8px 8px 24px;
      box-shadow: 0 18px 44px -14px rgba(0,0,0,.35); font-size: 14.5px; font-weight: 600;
      transform: translateY(160%); transition: transform .3s ease;
    }
    body:has(.rl-page) .sticky-join.show { transform: none; }
    body:has(.rl-page) .sticky-join .sticky-cold { display: none; }
  }
  .rl-count-k { align-self: center; font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-faint); }
  .gb-stat { display: flex; align-items: baseline; gap: 12px; margin-top: 18px; color: var(--ink-soft); font-size: 15.5px; }
  .gb-stat b { font-family: var(--serif); font-weight: 500; font-size: 40px; line-height: 1; color: var(--red-text); }

  /* Launch graphics in place of photos (swap any .gfx for a real <img> later). */
  .ph.gfx { padding: 0; place-items: stretch; text-align: left; }
  .ph.gfx::before { display: none; }
  /* Monogram: Shivansh, Sanket and the team */
  .gfx-mono { background: radial-gradient(120% 90% at 20% 10%, #F87171 0%, var(--red) 45%, #B91C1C 100%); color: #fff; display: grid !important; place-items: center !important; }
  .gfx-mono::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.22) 1px, transparent 1px); background-size: 16px 16px; mask-image: linear-gradient(160deg, #000, transparent 70%); -webkit-mask-image: linear-gradient(160deg, #000, transparent 70%); }
  .gm-ini { position: relative; z-index: 1; font-family: var(--serif); font-weight: 500; font-size: clamp(72px, 9vw, 132px); letter-spacing: -.03em; line-height: 1; }
  .gm-cap { position: absolute; z-index: 1; left: 20px; bottom: 18px; right: 20px; display: flex; flex-direction: column; gap: 2px; }
  .gm-cap b { font-family: var(--serif); font-weight: 500; font-size: 22px; }
  .gm-cap small { font-size: 13.5px; opacity: .9; }
  .gfx-sm { background: var(--red-tint); color: var(--red-text); }
  .gfx-sm::after { display: none; }
  .gfx-sm .gm-ini { font-size: clamp(44px, 5vw, 64px); }
  /* Homepage hero: three real member profiles, fanned */
  .gfx-fan { background: var(--red-tint); overflow: hidden; }
  .gfx-fan img { position: absolute; width: 58%; aspect-ratio: 1; object-fit: cover; border-radius: 18px; box-shadow: 0 24px 50px -20px rgba(0,0,0,.45); background: var(--card); }
  .fan-a { left: 21%; top: 16%; z-index: 3; }
  .fan-b { left: 4%; top: 30%; rotate: -8deg; z-index: 1; opacity: .95; }
  .fan-c { right: 4%; top: 30%; rotate: 8deg; z-index: 2; opacity: .95; }
  .fan-chip { position: absolute; z-index: 4; display: flex; flex-direction: column; gap: 2px; padding: 10px 14px; border-radius: 14px; background: var(--card); box-shadow: var(--shadow); font-size: 12.5px; color: var(--ink-soft); }
  .fan-chip b { font-family: var(--serif); font-weight: 500; font-size: 18px; color: var(--red-text); }
  .fan-chip-1 { left: 6%; top: 6%; }
  .fan-chip-2 { right: 6%; bottom: 20%; }
  /* Homepage problem: an illustrated profile that isn't growing */
  .gfx-ig { background: var(--surface); display: grid !important; place-items: center !important; padding: 28px !important; }
  .ig-tag { position: absolute; top: 14px; right: 14px; padding: 3px 10px; border-radius: 999px; background: var(--card); color: var(--ink-faint); font-size: 11.5px; font-weight: 600; letter-spacing: .04em; }
  .ig-card { width: min(100%, 340px); padding: 20px; border-radius: 20px; background: var(--card); box-shadow: var(--shadow); color: var(--ink); filter: saturate(.6); }
  .ig-top { display: flex; align-items: center; gap: 16px; }
  .ig-av { width: 60px; height: 60px; flex: none; border-radius: 50%; background: linear-gradient(135deg, #CBD5E1, #94A3B8); }
  .ig-stats { display: flex; flex: 1; justify-content: space-around; text-align: center; font-size: 12px; color: var(--ink-soft); }
  .ig-stats b { display: block; font-size: 16px; color: var(--ink); }
  .ig-name { display: block; margin-top: 12px; font-size: 14px; }
  .ig-bio { display: block; font-size: 13px; color: var(--ink-soft); }
  .ig-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; margin-top: 14px; }
  .ig-grid i { aspect-ratio: 1; display: grid; place-items: end start; padding: 6px; border-radius: 4px; background: linear-gradient(160deg, #E2E8F0, #CBD5E1); font-style: normal; font-size: 11px; font-weight: 600; color: #475569; }
  .ig-grid i::before { content: "▶ "; font-size: 8px; }
  .ig-notes { display: grid; gap: 6px; margin-top: 14px; }
  .ig-notes span { padding: 6px 10px; border-radius: 10px; background: var(--red-tint); color: var(--red-text); font-size: 12.5px; font-weight: 600; }
  /* About: Shivansh in numbers */
  .gfx-cred { background: var(--ink); color: var(--bg); display: flex !important; flex-direction: column; justify-content: center; gap: 4px; padding: clamp(28px, 4vw, 44px) !important; }
  .gc-k { font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #F87171; margin-bottom: 10px; }
  .gc-row { display: flex; align-items: baseline; gap: 14px; padding: 10px 0; }
  .gc-row b { min-width: 3.6em; font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 4.4vw, 54px); line-height: 1; color: #fff; }
  .gc-row span { font-size: 16px; opacity: .8; }
  .gc-logos { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
  .gc-logos span { padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 13px; font-weight: 600; }
  /* About: Goa */
  .gfx-goa { background: linear-gradient(180deg, #FDE68A 0%, #FDBA74 38%, #F87171 62%, #0EA5E9 62.2%, #0369A1 100%); }
  .goa-sun { position: absolute; left: 50%; top: 40%; translate: -50% -50%; width: 34%; aspect-ratio: 1; border-radius: 50%; background: #FFF7ED; box-shadow: 0 0 80px 20px rgba(255,247,237,.6); }
  .goa-sea { position: absolute; left: 0; right: 0; top: 62%; bottom: 0; background-image: repeating-linear-gradient(180deg, rgba(255,255,255,.18) 0 2px, transparent 2px 18px); }
  .goa-word { position: absolute; left: 22px; bottom: 16px; font-family: var(--serif); font-size: 44px; color: #fff; text-shadow: 0 2px 20px rgba(0,0,0,.25); }
  /* About: villa address card instead of the photo grid */
  .villa-card { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; padding: 22px 24px; border-radius: 22px; background: var(--card); box-shadow: var(--shadow); max-width: 640px; }
  .villa-card > div { flex: 1 1 200px; display: flex; flex-direction: column; }
  .villa-card b { font-family: var(--serif); font-weight: 500; font-size: 22px; }
  .villa-card > div span { color: var(--ink-soft); font-size: 15px; }
  .vc-pin { width: 48px; height: 48px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); }
  .vc-pin svg { width: 24px; height: 24px; }
  /* 100x Engine hero: a live call, drawn */
  .gfx-call { background: #0B0F19; color: #fff; display: flex !important; flex-direction: column; gap: 14px; padding: 18px !important; }
  .call-live { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.1); font-size: 13px; font-weight: 600; }
  .call-live i { width: 8px; height: 8px; border-radius: 50%; background: #EF4444; box-shadow: 0 0 0 4px rgba(239,68,68,.25); animation: vpPulse 1.6s ease infinite; }
  .call-grid { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1.6fr 1fr; gap: 8px; }
  .call-grid span { border-radius: 14px; background: linear-gradient(160deg, #1F2937, #111827); position: relative; }
  .call-grid span:not(.call-host)::after { content: ""; position: absolute; left: 50%; top: 50%; translate: -50% -60%; width: 34%; aspect-ratio: 1; border-radius: 50%; background: #374151; box-shadow: 0 26px 0 6px #374151; clip-path: inset(0 -20% -40% -20%); }
  .call-host { grid-column: span 3; display: grid; place-items: center; background: radial-gradient(120% 90% at 20% 10%, #F87171, var(--red) 50%, #B91C1C) !important; box-shadow: inset 0 0 0 2px #FCA5A5; }
  .call-host b { font-family: var(--serif); font-weight: 500; font-size: 56px; }
  .call-host small { position: absolute; left: 12px; bottom: 10px; font-size: 12.5px; font-weight: 600; }
  .call-q { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.08); }
  .call-q b { display: block; font-size: 15px; }
  .call-q span { font-size: 13.5px; opacity: .75; }
  /* 100x Engine: the feedback loop */
  .fb-loop { counter-reset: none; }
  .fb-step { position: relative; padding: 28px 26px; border-radius: 22px; background: var(--card); box-shadow: var(--shadow); }
  .fb-n { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--red); color: #fff; font-weight: 700; margin-bottom: 18px; }
  .fb-step b { display: block; font-family: var(--serif); font-weight: 500; font-size: 24px; color: var(--ink); }
  .fb-step p { margin-top: 8px; color: var(--ink-soft); }
  .fb-step:not(:last-child)::after { content: "→"; position: absolute; right: -16px; top: 50%; translate: 0 -50%; z-index: 1; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--red-tint); color: var(--red-text); font-weight: 700; }
  @media (max-width: 760px) {
    .fb-loop { grid-template-columns: 1fr !important; overflow: visible !important; }
    .fb-step:not(:last-child)::after { content: "↓"; right: auto; left: 50%; top: auto; bottom: -16px; translate: -50% 0; }
    .gm-cap b { font-size: 19px; }
  }
  /* Thank-you without the video: two steps side by side */
  .thanks-next .steps:has(> .step:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 560px) { .thanks-next .steps:has(> .step:nth-child(2):last-child) { grid-template-columns: 1fr; } }
  .call-grid span { overflow: hidden; }
  .call-grid span:not(.call-host)::after { clip-path: none; translate: -50% -50%; width: 30%; box-shadow: 0 0 0 0 transparent; }
  .call-grid span:not(.call-host)::before { content: ""; position: absolute; left: 50%; bottom: -18%; translate: -50% 0; width: 62%; aspect-ratio: 1.4; border-radius: 50% 50% 0 0; background: #374151; }
  .gfx-call { padding-bottom: 64px !important; }
  .hero-photo .gfx-mono .gm-cap { top: 20px; bottom: auto; }
  .hero-photo .badge { z-index: 6; }
  .hero-photo:has(.gfx-fan) .badge { display: none; }   /* the fan carries its own proof chips */
  .gfx-fan .fan-chip-3 { left: 6%; bottom: 6%; }
  @media (max-width: 760px) {
    .gfx-fan img { width: 50%; }
    .fan-a { left: 25%; top: 20%; } .fan-b, .fan-c { top: 30%; }
    .fan-chip { padding: 8px 11px; font-size: 11.5px; } .fan-chip b { font-size: 15px; }
    .fan-chip-2 { right: 4%; bottom: 5%; } .fan-chip-1 { left: 4%; top: 4%; }
    .gfx-fan .fan-chip-3 { display: none; }
  }
  @media (min-width: 1001px) { .team-sec .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }   /* founder (2 wide) + 7 = three full rows */
  .team-grid .person:not(:first-child) .ph.gfx-sm { aspect-ratio: 16 / 9; }   /* shorter tiles while they are initials */

  /* Contact: two clear choices, the emails as one quiet line, and meeting Shivansh */
  .ct-sec { padding: 8px 0 64px; }
  .ct-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
  .ct-choice { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 34px 32px; border-radius: 28px; background: var(--card); box-shadow: var(--shadow); color: inherit; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
  .ct-choice:hover { transform: translateY(-3px); }
  .ct-k { font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--red-text); }
  .ct-choice b { font-family: var(--serif); font-weight: 500; font-size: clamp(28px, 3vw, 36px); line-height: 1.1; color: var(--ink); }
  .ct-p { color: var(--ink-soft); font-size: 16px; max-width: 40ch; }
  .ct-choice .btn { margin-top: auto; }
  .ct-choice .ct-p { margin-bottom: 18px; }
  .ct-choice-main { background: radial-gradient(120% 120% at 0% 0%, #F87171, var(--red) 55%, #DC2626); }
  .ct-choice-main .ct-k { color: rgba(255,255,255,.85); }
  .ct-choice-main b { color: #fff; }
  .ct-choice-main .ct-p { color: rgba(255,255,255,.92); }
  .ct-mail { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 12px; margin: 24px 0 0; font-size: 15px; color: var(--ink-soft); text-align: center; }
  .ct-mail span { color: var(--ink-faint); }
  .ct-meet { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-top: 56px; padding: 26px 28px; border-radius: 24px; background: var(--surface); }
  .ct-meet-ico { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: var(--card); color: var(--red-text); }
  .ct-meet-ico svg { width: 26px; height: 26px; }
  .ct-meet h2 { font-size: clamp(22px, 2.4vw, 26px); margin: 0 0 4px; }
  .ct-meet p { color: var(--ink-soft); font-size: 15.5px; }
  @media (max-width: 760px) {
    .ct-choices { grid-template-columns: 1fr; gap: 14px; }
    .ct-choice { padding: 26px 22px; }
    .ct-choice .btn { width: 100%; justify-content: center; }
    .ct-mail { flex-direction: column; gap: 4px; } .ct-mail span { display: none; }
    .ct-meet { grid-template-columns: 1fr; gap: 14px; margin-top: 40px; padding: 22px; }
    .ct-meet .btn { width: 100%; justify-content: center; }
  }

  /* The free audit, folded into the closing box: the separate strip is hidden when the red box follows it,
     and a quiet tray under the red card takes its place. One closing moment, one main action. */
  .audit-sec:has(+ .join) { display: none; }
  .cta2-tray { display: none; }
  .audit-sec + .join .cta2-tray {
    display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 16px; align-items: center;
    width: calc(100% - 64px); margin: -26px auto 0; padding: 40px 26px 18px; position: relative; z-index: 0;
    border-radius: 0 0 24px 24px; background: var(--surface); color: var(--ink-soft); text-decoration: none; font-size: 15.5px;
    transition: background .2s ease;
  }
  .audit-sec + .join .cta2 { position: relative; z-index: 1; }
  .audit-sec + .join .cta2-tray:hover { background: color-mix(in srgb, var(--ink) 6%, var(--surface)); }
  .cta2-tray-ico { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--card); color: var(--red-text); }
  .cta2-tray-ico svg { width: 20px; height: 20px; }
  .cta2-tray-text b { color: var(--ink); }
  .cta2-tray-go { font-weight: 600; color: var(--red-text); white-space: nowrap; }
  .audit-sec + .join { padding-top: 40px; }
  @media (max-width: 760px) {
    .audit-sec + .join .cta2-tray { grid-template-columns: 36px minmax(0, 1fr); width: calc(100% - 24px); padding: 36px 18px 16px; }
    .cta2-tray-go { grid-column: 2; }
  }
  .ct-mail i { font-style: normal; color: var(--ink-faint); }
  .ct-mail span { color: var(--ink-soft) !important; display: inline !important; }
  @media (max-width: 760px) { .ct-mail i { display: none; } }

  /* Refer a friend (/refer) */
  .refer-sec { padding-top: 8px; }
  .refer-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
  .refer-card { padding: 32px; border-radius: 28px; background: var(--card); box-shadow: var(--shadow); }
  .refer-form label { display: block; font-weight: 600; color: var(--ink); margin-bottom: 12px; font-size: 17px; }
  .refer-row, .refer-link { display: flex; gap: 10px; }
  .refer-row input, .refer-link input { flex: 1; min-width: 0; height: 54px; padding: 0 18px; border: 0; border-radius: 16px; background: var(--surface); color: var(--ink); font: 500 16px var(--sans); }
  .refer-row input:focus, .refer-link input:focus { outline: 2px solid var(--red); outline-offset: 1px; }
  .refer-note { margin-top: 12px; font-size: 14px; color: var(--ink-faint); }
  .refer-msg { margin-top: 12px; font-size: 15px; color: var(--red-text); font-weight: 500; }
  .refer-msg:empty { display: none; }
  .refer-done .kicker { display: block; margin-bottom: 12px; }
  .refer-done .btn-wa { margin-top: 14px; width: 100%; justify-content: center; }
  .refer-steps { list-style: none; counter-reset: r; display: grid; gap: 14px; }
  .refer-steps li { counter-increment: r; display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 16px; padding: 20px 22px; border-radius: 22px; background: var(--surface); }
  .refer-steps li::before { content: counter(r); grid-row: span 2; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 700; }
  .refer-steps b { font-family: var(--serif); font-weight: 500; font-size: 22px; color: var(--ink); }
  .refer-steps span { color: var(--ink-soft); font-size: 15.5px; }
  @media (max-width: 860px) { .refer-grid { grid-template-columns: 1fr; gap: 24px; } }
  @media (max-width: 560px) {
    .refer-card { padding: 22px 18px; }
    .refer-row { flex-direction: column; } .refer-row .btn { width: 100%; justify-content: center; }
  }

  /* Guarantee box: the 89% line reads clearly on blue */
  .guarantee-box .gb-stat { color: rgba(255,255,255,.88); }
  .guarantee-box .gb-stat b { color: #fff; }
  .guarantee-box .gb-stat span { max-width: 44ch; }
  /* Lists where a line holds a link: the line stays one piece of text (not split into columns) */
  .c-card li > span { flex: 1; min-width: 0; }
  .c-card.us .inline-link, .guarantee-box .inline-link { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
  /* Live Profile Reviews: one tidy, centred line under the comparison */
  .lpr-foot { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 32px; text-align: center; }
  .lpr-foot-link { font-weight: 600; color: var(--red-text); text-decoration: none; }
  .lpr-foot .lpr-help { margin: 0; padding: 10px 18px; border-radius: 999px; background: var(--surface); font-size: 15px; color: var(--ink-soft); }
  @media (max-width: 560px) { .lpr-foot .lpr-help { border-radius: 18px; } .lpr-help span { display: block; } }
  /* Form trust lines: two short lines, same size, same icon column, centred as one block */
  .jf-trust { width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto; justify-content: flex-start; align-items: flex-start; text-align: left; font-size: 13.5px; line-height: 1.45; }
  .jf-trust svg { margin-top: 1px; }
  .jf-trust + .jf-trust { margin-top: 8px; }
  /* About: Imperfect Villa as one band */
  .villa-sec { padding: 32px 0 64px; }
  .villa-band { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 28px 32px; border-radius: 28px; background: var(--surface); }
  .villa-band .vc-pin { width: 56px; height: 56px; background: var(--card); }
  .villa-band .kicker { display: block; margin-bottom: 4px; }
  .villa-band h2 { font-size: clamp(24px, 2.6vw, 30px); margin: 0 0 4px; }
  .villa-band p { color: var(--ink-soft); }
  @media (max-width: 760px) { .villa-band { grid-template-columns: 1fr; gap: 14px; padding: 24px 22px; } .villa-band .btn { width: 100%; justify-content: center; } }
  /* "Apply or get your free audit" row straight after a section: sits close to what it follows */
  section:has(+ .mini-wrap) { padding-bottom: 40px; }
  .mini-wrap .mini-cta { margin: 0 0 8px; }
  .mini-wrap + section, .mini-wrap + * + section { padding-top: 88px; }
  /* A section that continues on the same background as the one above starts closer (set by site.js) */
  section.same-bg { padding-top: 32px !important; }
  @media (max-width: 760px) { section.same-bg { padding-top: 16px !important; } }
  .breather.same-bg, .join.same-bg { padding-top: 8px !important; }
  .refer-form label { margin-top: 14px; }
  .refer-form label:first-of-type { margin-top: 0; }
  .refer-input { width: 100%; height: 54px; padding: 0 18px; border: 0; border-radius: 16px; background: var(--surface); color: var(--ink); font: 500 16px var(--sans); }
  .refer-input:focus { outline: 2px solid var(--red); outline-offset: 1px; }
  .refer-next { list-style: none; display: grid; gap: 12px; margin-top: 18px; counter-reset: n; }
  .refer-next li { counter-increment: n; display: grid; grid-template-columns: 32px minmax(0, 1fr); column-gap: 12px; row-gap: 2px; padding: 16px; border-radius: 18px; background: var(--surface); }
  .refer-next li::before { content: counter(n); grid-row: span 3; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); font-weight: 700; font-size: 14px; }
  .refer-next b { color: var(--ink); }
  .refer-next span { font-size: 14.5px; color: var(--ink-soft); }
  .refer-next .btn { margin-top: 10px; width: fit-content; }
  .refer-again { margin-top: 14px; border: 0; background: none; padding: 0; color: var(--ink-faint); font: 500 14px var(--sans); text-decoration: underline; cursor: pointer; }
  .refer-done .btn-wa { width: fit-content; margin-top: 10px; }
  @media (max-width: 560px) { .refer-next .btn, .refer-done .btn-wa { width: 100%; justify-content: center; } }

  /* What's new: version badges */
  .rl-kicker { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
  .rl-kicker .kicker { margin: 0; }
  .rl-kind { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); font-size: 12px; font-weight: 600; letter-spacing: .02em; white-space: nowrap; }
  .rl-kind-big { background: var(--red); color: #fff; }
  .update-meta .rl-kind { margin: 6px 0; width: fit-content; }
  .rl-hero .rl-kicker + h1 { margin-top: 14px; }

  /* What's new: pictures drawn from each release (releases.py, ## Visual) */
  .rl-media-pic { max-width: 780px; }
  .vz { margin: 0; padding: clamp(22px, 3vw, 32px); border-radius: 26px; background: var(--card); box-shadow: var(--shadow); }
  .vz-title { font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--red-text); margin-bottom: 20px; }
  .vz-note { margin-top: 16px; font-size: 13.5px; color: var(--ink-faint); }
  /* before and after */
  .vz-row { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 14px; align-items: center; }
  .vz-row + .vz-row { margin-top: 14px; }
  .vz-cap { font-size: 14px; color: var(--ink-soft); }
  .vz-track { height: 16px; border-radius: 999px; background: var(--surface); overflow: hidden; }
  .vz-track i { display: block; height: 100%; border-radius: 999px; background: color-mix(in srgb, var(--ink) 28%, var(--surface)); }
  .vz-after .vz-track i { background: linear-gradient(90deg, #F87171, var(--red)); }
  .vz-row b { font-family: var(--serif); font-weight: 500; font-size: 20px; color: var(--ink); white-space: nowrap; }
  .vz-after b { color: var(--red-text); }
  .vz-gain { margin-top: 18px; font-weight: 600; color: var(--ink); }
  .vz-gain:empty { display: none; }
  /* steps */
  .vz-steps ol { list-style: none; display: grid; grid-template-columns: repeat(var(--n), minmax(0, 1fr)); gap: 12px; position: relative; }
  .vz-steps ol::before { content: ""; position: absolute; left: 22px; right: 22px; top: 21px; height: 2px; background: color-mix(in srgb, var(--red) 30%, transparent); }
  .vz-steps li { position: relative; display: flex; flex-direction: column; gap: 4px; }
  .vz-dot { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--red); color: #fff; font-weight: 700; margin-bottom: 10px; box-shadow: 0 0 0 6px var(--card); }
  .vz-steps b { color: var(--ink); font-size: 16px; line-height: 1.3; }
  .vz-steps li > span:not(.vz-dot) { font-size: 14px; color: var(--ink-soft); }
  /* calendar */
  .vz-cal ul { list-style: none; display: grid; gap: 10px; }
  .vz-cal li { display: grid; grid-template-columns: 140px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 16px; background: var(--surface); }
  .vz-when { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--red-text); }
  .vz-cal b { color: var(--ink); font-weight: 600; }
  .vz-often { font-size: 13px; color: var(--ink-faint); white-space: nowrap; }
  /* goal */
  .vz-goal-chart { position: relative; height: 150px; border-radius: 18px; background: var(--surface); overflow: hidden; }
  .vz-goal-chart svg { position: absolute; inset: 12px 0 0; width: 100%; height: calc(100% - 12px); }
  .vz-goal-line { fill: none; stroke: var(--red); stroke-width: 4; stroke-linecap: round; vector-effect: non-scaling-stroke; }
  .vz-goal-target { stroke: var(--ink-faint); stroke-dasharray: 6 6; stroke-width: 1.5; vector-effect: non-scaling-stroke; }
  .vz-goal-flag { position: absolute; top: 12px; right: 14px; padding: 6px 12px; border-radius: 999px; background: var(--ink); color: var(--bg); font-size: 13px; }
  .vz-goal-flag b { font-family: var(--serif); font-weight: 500; font-size: 16px; }
  .vz-goal-steps { list-style: none; counter-reset: g; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 16px; }
  .vz-goal-steps li { counter-increment: g; display: flex; gap: 10px; align-items: center; font-size: 15px; color: var(--ink); }
  .vz-goal-steps li::before { content: counter(g); flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--red-tint); color: var(--red-text); font-weight: 700; font-size: 13px; }
  @media (prefers-reduced-motion: no-preference) {
    .vz-goal.reveal .vz-goal-line { stroke-dasharray: 100; stroke-dashoffset: 100; }
    .vz-goal.reveal.in .vz-goal-line { animation: cta2draw 1.6s cubic-bezier(.4,0,.2,1) .2s forwards; }
    .vz-compare.reveal .vz-track i { transform-origin: left; transform: scaleX(0); transition: transform 1s cubic-bezier(.4,0,.2,1) .2s; }
    .vz-compare.reveal.in .vz-track i { transform: none; }
  }
  @media (max-width: 760px) {
    .vz-row { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; }
    .vz-row .vz-cap { grid-column: 1 / -1; }
    .vz-row .vz-track { grid-column: 1; }
    .vz-steps ol { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .vz-steps ol::before { left: 21px; right: auto; top: 22px; bottom: 22px; width: 2px; height: auto; }
    .vz-steps li { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; }
    .vz-steps li .vz-dot { grid-row: span 2; margin: 0; }
    .vz-cal li { grid-template-columns: minmax(0, 1fr) auto; row-gap: 4px; }
    .vz-cal .vz-when { grid-column: 1 / -1; }
    .vz-goal-steps { grid-template-columns: minmax(0, 1fr); }
  }
  .refer-help { margin-top: 28px; color: var(--ink-soft); font-size: 15.5px; }

  /* What's New in 100x Engine: hub and version pages (releases.py). Each version has its own colour (--vc). */
  .wn-ver-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 28px; padding: 0 10px; border-radius: 999px; background: var(--vc, var(--red)); color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .02em; }
  .wn .kicker, .wn .rl-hero h1 .red { color: var(--vc); }
  .wn .rl-kind-big { background: var(--vc); }
  .wn-jump { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
  .wn-jump a { display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 14px; border-radius: 999px; background: var(--surface); color: var(--ink); font-weight: 700; text-decoration: none; font-size: 14.5px; }
  .wn-jump a small { font-weight: 500; color: var(--ink-faint); font-size: 12.5px; }
  .wn-jump a:hover { background: color-mix(in srgb, var(--vc) 12%, var(--surface)); }
  .wn-page .rl-main { gap: 56px; }
  .wn-rel { scroll-margin-top: 96px; display: grid; gap: 22px; }
  .wn-rel-head .rl-kicker { gap: 12px; }
  .wn-ver { font-weight: 700; color: var(--ink); text-decoration: none; }
  .wn-rel-head time { font-size: 14px; color: var(--ink-faint); }
  .wn-rel-head h2 { margin-top: 10px; font-size: clamp(28px, 3.4vw, 40px); }
  .wn-sum { margin-top: 8px; color: var(--ink-soft); font-size: 17px; max-width: 62ch; }
  .wn-rel-big { padding: clamp(24px, 3.2vw, 36px); border-radius: 30px; background: color-mix(in srgb, var(--vc) 6%, var(--bg)); box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--vc) 18%, transparent); }
  .wn-rel .rl-tldr { margin-top: 0; background: var(--card); }
  .wn-rel .rl-tldr li::before { background: var(--vc); }
  .wn-items { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .wn-item { padding: 20px 22px; border-radius: 20px; background: var(--card); box-shadow: var(--shadow); }
  .wn-item-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
  .wn-item h3 { font-size: 19px; line-height: 1.3; margin: 0; flex: 1 1 100%; }
  .wn-item p { margin-top: 8px; color: var(--ink-soft); font-size: 15.5px; }
  .wn-addon { padding: 2px 9px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); font-size: 12px; font-weight: 600; }
  .wn-item-date { font-size: 12.5px; color: var(--ink-faint); }
  .wn-media { margin: 0; }
  .wn-media figcaption { margin-top: 10px; font-size: 14px; color: var(--ink-faint); }
  .wn-shot img { display: block; width: 100%; max-width: 560px; height: auto; border-radius: 20px; box-shadow: var(--shadow); }
  .wn .vz-title { color: var(--vc); }
  .wn .vz-dot, .wn .vz-after .vz-track i { background: var(--vc); }
  .wn .vz-after b, .wn .vz-when { color: var(--vc); }
  .wn .vz-goal-line { stroke: var(--vc); }
  .wn .vz-steps ol::before { background: color-mix(in srgb, var(--vc) 30%, transparent); }
  .wn-hub-link { margin-top: 8px; text-align: center; }
  /* hub */
  .wn-next { margin: 28px 0 32px; padding: 22px 26px; border-radius: 22px; background: var(--surface); }
  .wn-next ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
  .wn-next li { padding: 6px 12px; border-radius: 999px; background: var(--card); font-size: 14.5px; color: var(--ink); }
  .wn-list { display: grid; gap: 18px; }
  .wn-vcard { padding: 0; border-radius: 26px; background: var(--card); box-shadow: var(--shadow); overflow: hidden; border-top: 4px solid var(--vc); }
  .wn-vcard-link { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; padding: 30px 34px 18px; color: inherit; text-decoration: none; }
  .wn-vcard-link .update-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; color: var(--ink-faint); font-size: 14px; }
  .wn-vcard h2 { font-size: clamp(22px, 2.4vw, 28px); }
  .wn-vcard .rl-more { color: var(--vc); }
  .wn-rows { list-style: none; padding: 0 34px 22px calc(34px + 160px + 28px); display: grid; gap: 2px; }
  .wn-rows a { display: grid; grid-template-columns: 44px auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; color: var(--ink); text-decoration: none; }
  .wn-rows a:hover { background: var(--surface); }
  .wn-row-v { font-weight: 700; font-size: 14px; color: var(--vc); }
  .wn-rows b { font-weight: 500; font-size: 15.5px; }
  .wn-rows time { font-size: 13px; color: var(--ink-faint); white-space: nowrap; }
  .wn-rows .rl-kind-big { background: var(--vc); }
  .wn-origin { display: flex; gap: 16px; align-items: center; padding: 20px 26px; border-radius: 22px; background: var(--surface); --vc: #6B7280; }
  .wn-origin div { display: flex; flex-direction: column; }
  .wn-origin span:not(.wn-ver-badge) { color: var(--ink-soft); font-size: 15px; }
  .wn-miles { margin-top: 36px; }
  .wn-miles ul { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
  .wn-miles li { display: flex; flex-direction: column; gap: 4px; padding: 20px 22px; border-radius: 20px; background: var(--red-tint); }
  .wn-miles b { font-family: var(--serif); font-weight: 500; font-size: 22px; color: var(--ink); }
  .wn-miles time { font-size: 13.5px; color: var(--ink-soft); }
  .wn-current { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; padding: 6px 14px 6px 6px; border-radius: 999px; background: var(--surface); color: var(--ink); font-size: 14px; font-weight: 500; text-decoration: none; }
  .wn-current:hover { background: var(--red-tint); }
  @media (max-width: 760px) {
    .wn-items { grid-template-columns: minmax(0, 1fr); }
    .wn-vcard-link { grid-template-columns: 1fr; gap: 12px; padding: 24px 20px 12px; }
    .wn-vcard-link .update-meta { flex-direction: row; align-items: center; }
    .wn-rows { padding: 0 12px 16px; }
    .wn-rows a { grid-template-columns: 40px minmax(0, 1fr); row-gap: 4px; }
    .wn-rows a .rl-kind { grid-column: 2; width: fit-content; }
    .wn-rows a b { grid-column: 2; }
    .wn-rows a time { grid-column: 2; }
    .wn-miles ul { grid-template-columns: minmax(0, 1fr); }
  }
  .wn-vcard { display: block; grid-template-columns: none; }
  .wn-vcard .wn-rows li { display: block; padding: 0; }
  .wn-vcard .wn-rows li::before { content: none; display: none; }
  .wn-list.updates { max-width: none; }

  /* What's New: easier to scan. The big version box keeps its padding; changes are one tidy numbered list. */
  .rl-main > section.wn-rel-big { padding: clamp(24px, 3.4vw, 40px); }
  .rl-main > section.wn-rel { scroll-margin-top: 96px; }
  .wn-rel-head h2 { margin-top: 12px; }
  .wn-note { margin-top: 6px; font-size: 14px; color: var(--ink-faint); }
  .wn-changes { padding: 24px clamp(18px, 2.6vw, 28px) 18px; border-radius: 24px; background: var(--card); box-shadow: var(--shadow); }
  .wn-changes-k { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 14px; }
  .wn-changes-k span { min-width: 24px; height: 24px; padding: 0 7px; border-radius: 999px; display: grid; place-items: center; background: var(--surface); color: var(--ink); letter-spacing: 0; }
  .wn-changes .wn-items { gap: 18px 28px; }
  .wn-changes .wn-item { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; padding: 0; border-radius: 0; background: none; box-shadow: none; }
  .wn-item-n { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: color-mix(in srgb, var(--vc, var(--red)) 12%, var(--card)); color: var(--vc, var(--red-text)); font-size: 13.5px; font-weight: 700; }
  .wn-changes .wn-item h3 { font-family: var(--sans); font-size: 16.5px; font-weight: 600; line-height: 1.35; padding-top: 4px; }
  .wn-changes .wn-item p { margin-top: 4px; font-size: 15px; line-height: 1.55; }
  .wn-more { margin-top: 18px; }
  .wn-more summary { list-style: none; cursor: pointer; width: fit-content; padding: 8px 16px; border-radius: 999px; background: var(--surface); font-weight: 600; font-size: 14.5px; color: var(--ink); }
  .wn-more summary::-webkit-details-marker { display: none; }
  .wn-more summary::after { content: " ↓"; }
  .wn-more[open] summary { display: none; }
  .wn-more .wn-items { margin-top: 18px; }
  .wn-rel { gap: 18px; }
  .wn-rel .vz { box-shadow: none; background: var(--card); }
  /* hub: how releases work */
  .wn-rhythm ul { gap: 10px 22px; }
  .wn-rhythm li { display: inline-flex; align-items: center; gap: 10px; padding: 0; background: none; font-size: 15.5px; }
  .wn-rh-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--red); }
  @media (max-width: 760px) { .wn-rhythm ul { flex-direction: column; } .wn-changes .wn-items { gap: 16px; } }
  @media (max-width: 560px) { .wn-hero h1 { font-size: clamp(34px, 10vw, 44px); overflow-wrap: break-word; } }
  .wn-hero h1, .wn-hero h1 .red, .wn-item h3, .wn-rel-head h2 { text-wrap: balance; }
  @media (max-width: 560px) { .wn-hero h1 { font-size: clamp(30px, 8.6vw, 40px); } }

  /* What's New: filter chips, proof (See it, screenshots, video), topic pages, lightbox */
  .wn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 8px; }
  .wn-chips a { padding: 7px 14px; border-radius: 999px; background: var(--surface); color: var(--ink-soft); font-size: 14px; font-weight: 600; text-decoration: none; }
  .wn-chips a:hover { color: var(--ink); background: color-mix(in srgb, var(--ink) 8%, var(--surface)); }
  .wn-chips a[aria-current] { background: var(--ink); color: var(--bg); }
  .news-list-sec .wn-chips { margin: 0 0 22px; }
  .wn-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; }
  .wn-see { display: inline-flex; padding: 6px 14px; border-radius: 999px; background: color-mix(in srgb, var(--vc, var(--red)) 12%, var(--card)); color: var(--vc, var(--red-text)); font-size: 14px; font-weight: 600; text-decoration: none; }
  .wn-see:hover { filter: brightness(.95); }
  .wn-zoom { position: relative; display: block; width: 100%; max-width: 420px; border-radius: 16px; overflow: hidden; box-shadow: var(--shadow); }
  .wn-zoom img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: cover; object-position: top; }
  .wn-zoom-ico { position: absolute; right: 10px; bottom: 10px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: rgba(11,15,25,.72); color: #fff; font-size: 16px; }
  .wn-item-video { width: 100%; max-width: 480px; border-radius: 16px; }
  .wn-lightbox { padding: 0; border: 0; background: transparent; max-width: min(1100px, 94vw); max-height: 92vh; }
  .wn-lightbox::backdrop { background: rgba(11,15,25,.82); }
  .wn-lightbox img { display: block; max-width: 100%; max-height: 92vh; border-radius: 14px; }
  .wn-lightbox button { position: fixed; top: 16px; right: 18px; width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; color: #111; font-size: 26px; cursor: pointer; }
  .wn-topic-v { display: grid; gap: 14px; }
  .wn-topic-v h2 { font-size: clamp(24px, 2.6vw, 30px); }
  .wn-topic-v h2 a { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
  .wn-topic-rel + .wn-topic-rel { margin-top: 24px; }
  .wn-topic-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 14px; color: var(--ink); text-decoration: none; }
  .wn-topic-head b { color: var(--vc); }
  .wn-topic-head time { color: var(--ink-faint); font-size: 13.5px; }
  .wn-topic .wn-changes .wn-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  @media (max-width: 760px) { .wn-topic .wn-changes .wn-items { grid-template-columns: minmax(0, 1fr); } .wn-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -20px; padding-right: 20px; } .wn-chips a { flex: none; } }
  .wn-topic-title { display: flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; }
  .wn-topic-title h2 { font-size: clamp(24px, 2.6vw, 30px); }

  /* What's New: every update sits in its own soft panel (no divider lines), so v4.1, v4.2 ... read as separate blocks.
     The big version keeps its tinted panel; updates get a quiet grey one. */
  .rl-main > section.wn-rel:not(.wn-rel-big) { padding: clamp(22px, 3vw, 34px); border-radius: 28px; background: var(--surface); }
  .wn-rel:not(.wn-rel-big) .wn-ver { font-size: 17px; }
  .wn-rel:not(.wn-rel-big) .wn-rel-head h2 { font-size: clamp(24px, 2.8vw, 32px); }
  .wn-page .rl-main { gap: 28px; }
  @media (min-width: 761px) { .vz-steps ol::before { right: calc(100% / var(--n) - 22px); } }

  /* Small notes in plan lists stay readable on the red flagship card (light and dark mode) */
  .tier.flag .li-note { color: rgba(255,255,255,.78); }
  /* Narrow phones (or large display size): languages on one swipeable row, and the Flagship pill drops from the footer */
  @media (max-width: 480px) {
    .footer-lang { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch;
                   margin-inline: -16px; padding-inline: 16px; }
    .footer-lang::-webkit-scrollbar { display: none; }
    .footer-lang svg { flex-shrink: 0; }
    .footer-lang a { white-space: nowrap; flex-shrink: 0; }
  }
  @media (max-width: 400px) { footer .foot-badge { display: none; } }
  /* Short footer: room to breathe, and clear of the phone's home bar */
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) footer {
    padding: 48px 0 calc(48px + env(safe-area-inset-bottom)); }
  :is([data-funnel="warm"], [data-funnel="hot"], [data-funnel="member"], [data-funnel="tool"]) .footer-bottom { gap: 10px; }
  /* Footer columns never grow past the screen; long links wrap inside their column */
  @media (max-width: 760px) { footer .footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  .footer-tagline { text-wrap: balance; }
  /* Every footer row fits the screen (the swipeable language row may reach the screen edges) */
  footer .wrap > * { min-width: 0; max-width: 100%; }
  @media (max-width: 480px) { footer .wrap > .footer-lang { max-width: calc(100% + 32px); } }
