/* Section styles shared by the homepage and works-with.html (moved out of
   index.html, Oct 2026). Loaded after main.css, as the inline blocks were. */

    /* ── Beta Soon / available badges ── */
    .platform-badge.beta-soon {
      background: rgba(255, 107, 53, 0.12);
      color: #FF6B35;
      border: 1px solid rgba(255, 107, 53, 0.4);
    }

    /* ── Form success message ── */
    .form-success {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      color: var(--orange);
      font-weight: 600;
      font-size: 1rem;
      justify-content: center;
      padding: 1rem 0;
    }

    .form-success svg {
      flex-shrink: 0;
      stroke: var(--orange);
    }

    .about-llc {
      font-size: 0.85rem;
      color: var(--white-60);
      margin-top: 1.75rem;
      padding-top: 1.5rem;
      border-top: 1px solid rgba(255,255,255,0.07);
      line-height: 1.6;
    }

    .about-legal-links {
      font-size: 0.78rem;
      color: var(--white-60);
      margin-top: 0.6rem;
    }

    .about-legal-links a {
      color: var(--white-60);
      text-decoration: underline;
      text-underline-offset: 3px;
      transition: color var(--transition);
    }

    .about-legal-links a:hover { color: var(--orange); }

    /* ─────────────────────────────────────────
       STATEMENT STRIP
    ───────────────────────────────────────── */
    .statement-strip {
      background: var(--navy-dk);
      padding: 6rem 4rem;
      text-align: center;
      border-top: 1px solid rgba(255,255,255,0.05);
      border-bottom: 1px solid rgba(255,255,255,0.05);
      position: relative;
      overflow: hidden;
    }

    .statement-strip::before {
      content: '';
      position: absolute;
      top: 50%; left: 50%;
      transform: translate(-50%, -50%);
      width: 800px; height: 400px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,107,53,0.10) 0%, transparent 65%);
      pointer-events: none;
    }

    .statement-inner {
      position: relative;
      z-index: 1;
      max-width: 880px;
      margin: 0 auto;
    }

    .statement-sub {
      font-size: clamp(1.15rem, 2.5vw, 1.6rem);
      font-weight: 500;
      color: var(--white-60);
      line-height: 1.5;
      font-style: italic;
      margin-bottom: 1.25rem;
    }

    .statement-main {
      font-size: clamp(2.4rem, 5.5vw, 4.5rem);
      font-weight: 900;
      letter-spacing: -0.025em;
      text-transform: uppercase;
      line-height: 0.95;
      color: var(--orange);
    }

    @media (max-width: 640px) {
      .statement-strip { padding: 4rem 2rem; }
    }

    /* ─────────────────────────────────────────
       SCREENS SUBTITLE
    ───────────────────────────────────────── */
    .screens-sub {
      font-size: 1.05rem;
      color: var(--steel);
      margin-top: 0.75rem;
      line-height: 1.65;
    }

    /* ─────────────────────────────────────────
       COACHING FOCUS STRIP
    ───────────────────────────────────────── */
    .focus-strip {
      background: var(--navy);
      padding: 7rem 4rem;
      border-top: 1px solid rgba(255,255,255,0.06);
      border-bottom: 1px solid rgba(255,255,255,0.06);
      position: relative;
      overflow: hidden;
    }

    .focus-strip::before {
      content: '';
      position: absolute;
      top: 50%; left: 30%;
      transform: translate(-50%, -50%);
      width: 700px; height: 700px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,107,53,0.08) 0%, transparent 65%);
      pointer-events: none;
    }

    .focus-strip-inner {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.6fr;
      gap: 5rem;
      align-items: start;
    }

    .focus-strip-copy .eyebrow { margin-bottom: 1.25rem; }

    .focus-strip-copy .section-title {
      color: var(--white);
      margin-bottom: 1.75rem;
    }

    .focus-strip-copy .section-title em {
      font-style: normal;
      color: var(--orange);
    }

    .focus-strip-copy p {
      font-size: 1rem;
      color: var(--white-60);
      line-height: 1.85;
    }

    .focus-cards {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 1.25rem;
      align-self: center;
    }

    .focus-card {
      background: rgba(255,255,255,0.04);
      border: 1px solid rgba(255,255,255,0.08);
      border-radius: var(--radius);
      padding: 1.75rem 1.5rem;
      transition: border-color var(--transition), background var(--transition);
    }

    .focus-card:hover {
      background: rgba(255,107,53,0.07);
      border-color: rgba(255,107,53,0.30);
    }

    .focus-card-mid {
      background: rgba(255,107,53,0.08);
      border-color: rgba(255,107,53,0.30);
    }

    .focus-card-icon {
      width: 36px; height: 36px;
      background: rgba(255,107,53,0.14);
      border-radius: 8px;
      display: flex; align-items: center; justify-content: center;
      margin-bottom: 1rem;
    }

    .focus-card-icon svg {
      width: 18px; height: 18px;
      stroke: var(--orange);
    }

    .focus-card-label {
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--orange);
      margin-bottom: 0.5rem;
    }

    .focus-card-desc {
      font-size: 0.88rem;
      color: var(--white-60);
      line-height: 1.7;
    }

    .focus-strip-note {
      grid-column: 1 / -1;
      margin-top: 2.5rem;
      font-size: 0.9rem;
      color: var(--white-60);
      line-height: 1.75;
      text-align: center;
      max-width: 700px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 2rem;
      border-top: 1px solid rgba(255,255,255,0.06);
    }

    @media (max-width: 1000px) {
      .focus-strip-inner {
        grid-template-columns: 1fr;
        gap: 3rem;
      }
      .focus-strip-note { grid-column: 1; }
    }

    @media (max-width: 680px) {
      .focus-strip { padding: 5rem 2rem; }
      .focus-cards { grid-template-columns: 1fr; }
    }

    /* ─────────────────────────────────────────
       BOAT VS. BOAT SECTION
    ───────────────────────────────────────── */
    .bvb-section {
      background: var(--navy);
      padding: 7rem 4rem;
      position: relative;
      overflow: hidden;
      border-top: 1px solid rgba(255,255,255,0.06);
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }

    .bvb-section::before {
      content: '';
      position: absolute;
      top: -120px; left: -80px;
      width: 700px; height: 700px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,107,53,0.10) 0%, transparent 65%);
      pointer-events: none;
    }

    .bvb-inner {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }

    /* phones visual — mirrors coach section */
    .bvb-dual-phones {
      position: relative;
      width: 100%;
      max-width: 380px;
      margin: 0 auto;
      height: 480px;
    }

    .bvb-phone-back,
    .bvb-phone-front {
      position: absolute;
      width: 54%;
    }

    .bvb-phone-back {
      top: 0; left: 0;
      z-index: 1;
      box-shadow:
        0 0 0 1.5px rgba(255,255,255,0.08),
        0 40px 80px rgba(0,0,0,0.55);
      transform: rotate(-4deg) translateY(10px);
    }

    .bvb-phone-front {
      bottom: 0; right: 0;
      z-index: 2;
      box-shadow:
        0 0 0 1.5px rgba(255,107,53,0.5),
        0 30px 70px rgba(0,0,0,0.65),
        inset 0 0 0 1px rgba(255,107,53,0.14);
      transform: rotate(2deg);
    }

    .bvb-dual-phones::before {
      content: '';
      position: absolute;
      inset: -50px;
      background: radial-gradient(circle, rgba(255,107,53,0.12) 0%, transparent 65%);
      pointer-events: none;
      z-index: 0;
    }

    .bvb-copy .eyebrow { margin-bottom: 1.25rem; }

    .bvb-copy .section-title {
      color: var(--white);
      margin-bottom: 1.75rem;
    }

    .bvb-copy .section-title em {
      font-style: normal;
      color: var(--orange);
    }

    .bvb-copy > p {
      font-size: 1rem;
      color: var(--white-60);
      line-height: 1.85;
      max-width: 480px;
      margin-bottom: 1rem;
    }

    .bvb-checklist {
      margin-top: 2rem !important;
      margin-bottom: 2rem !important;
    }

    @media (max-width: 900px) {
      .bvb-section { padding: 5rem 2rem; }
      .bvb-inner {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }
      .bvb-copy > p { max-width: 100%; }
      .bvb-visual { order: -1; }
      .bvb-dual-phones { max-width: 320px; height: 380px; }
    }

    @media (max-width: 480px) {
      .bvb-dual-phones { height: 320px; }
    }

    /* ─────────────────────────────────────────
       SMARTCOACH SECTION
    ───────────────────────────────────────── */
    .coach-section {
      background: var(--navy-dk);
      padding: 7rem 4rem;
      position: relative;
      overflow: hidden;
    }

    .coach-section::before {
      content: '';
      position: absolute;
      bottom: -160px; right: -120px;
      width: 600px; height: 600px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,107,53,0.12) 0%, transparent 65%);
      pointer-events: none;
    }

    .coach-inner {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }

    .coach-copy .eyebrow { margin-bottom: 1.25rem; }

    .coach-copy .section-title {
      color: var(--white);
      margin-bottom: 1.75rem;
    }

    .coach-copy .section-title em {
      font-style: normal;
      color: var(--orange);
    }

    .coach-copy > p {
      font-size: 1rem;
      color: var(--white-60);
      line-height: 1.85;
      max-width: 460px;
      margin-bottom: 1rem;
    }

    .coach-checklist {
      list-style: none;
      margin-top: 2rem;
      margin-bottom: 2rem;
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
    }

    .coach-checklist li {
      display: flex;
      align-items: center;
      gap: 0.85rem;
      font-size: 0.92rem;
      font-weight: 500;
      color: rgba(255,255,255,0.85);
      line-height: 1.4;
    }

    .coach-checklist li svg { flex-shrink: 0; }

    .smartcoach-badge {
      display: inline-block;
      padding: 0.4rem 1rem;
      background: rgba(255,107,53,0.15);
      border: 1px solid rgba(255,107,53,0.4);
      border-radius: 100px;
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--orange);
    }

    .coach-visual {
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* Dual-phone visual */
    .coach-dual-phones {
      position: relative;
      width: 100%;
      max-width: 380px;
      margin: 0 auto;
      height: 480px;
    }

    .coach-phone-back,
    .coach-phone-front {
      position: absolute;
      width: 54%;
    }

    .coach-phone-back {
      top: 0; left: 0;
      z-index: 1;
      box-shadow:
        0 0 0 1.5px rgba(255,255,255,0.08),
        0 40px 80px rgba(0,0,0,0.55);
      transform: rotate(-4deg) translateY(10px);
    }

    .coach-phone-front {
      bottom: 0; right: 0;
      z-index: 2;
      box-shadow:
        0 0 0 1.5px rgba(255,107,53,0.5),
        0 30px 70px rgba(0,0,0,0.65),
        inset 0 0 0 1px rgba(255,107,53,0.14);
      transform: rotate(2deg);
    }

    .coach-dual-phones::before {
      content: '';
      position: absolute;
      inset: -50px;
      background: radial-gradient(circle, rgba(255,107,53,0.14) 0%, transparent 65%);
      pointer-events: none;
      z-index: 0;
    }

    @media (max-width: 900px) {
      .coach-section { padding: 5rem 2rem; }
      .coach-inner {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }
      .coach-copy > p { max-width: 100%; }
      .coach-visual { order: -1; }
      .coach-dual-phones { max-width: 320px; height: 380px; }
    }

    @media (max-width: 480px) {
      .coach-dual-phones { height: 320px; }
    }

    /* ─────────────────────────────────────────
       PRICING SECTION
    ───────────────────────────────────────── */
    .pricing-section {
      background: var(--mist);
      padding: 7rem 4rem;
    }

    .pricing-inner {
      max-width: 1000px;
      margin: 0 auto;
    }

    .pricing-header {
      text-align: center;
      margin-bottom: 4.5rem;
    }

    .pricing-header .eyebrow { margin-bottom: 1rem; }

    .pricing-header .section-title {
      color: var(--navy);
      margin-bottom: 1.25rem;
    }

    .pricing-header .section-title em {
      font-style: normal;
      color: var(--orange);
    }

    .pricing-header p {
      font-size: 1.05rem;
      color: var(--steel);
      line-height: 1.75;
      max-width: 560px;
      margin: 0 auto;
    }

    .pricing-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
      align-items: start;
      margin-bottom: 4rem;
    }

    .pricing-card {
      background: var(--white);
      border: 1px solid var(--navy-08);
      border-radius: var(--radius);
      padding: 2.5rem 2.25rem;
      display: flex;
      flex-direction: column;
      gap: 0;
      position: relative;
    }

    .pricing-card.featured {
      background: var(--navy-dk);
      border: 2px solid var(--orange);
      box-shadow: 0 20px 60px rgba(255,107,53,0.18);
    }

    .pricing-featured-badge {
      position: absolute;
      top: -14px;
      left: 50%;
      transform: translateX(-50%);
      background: var(--orange);
      color: var(--white);
      font-size: 0.62rem;
      font-weight: 800;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      padding: 0.3rem 1.1rem;
      border-radius: 100px;
      white-space: nowrap;
    }

    .pricing-tier-label {
      font-size: 0.65rem;
      font-weight: 800;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--orange);
      margin-bottom: 0.75rem;
    }

    .pricing-price {
      font-size: 2.4rem;
      font-weight: 900;
      letter-spacing: -0.03em;
      color: var(--navy);
      line-height: 1;
      margin-bottom: 0.75rem;
    }

    .pricing-card.featured .pricing-price { color: var(--white); }

    .pricing-period {
      font-size: 1rem;
      font-weight: 500;
      letter-spacing: 0;
      color: var(--steel);
    }

    .pricing-card.featured .pricing-period { color: var(--white-60); }

    .pricing-desc {
      font-size: 0.93rem;
      color: var(--steel);
      line-height: 1.6;
      margin-bottom: 2rem;
      padding-bottom: 2rem;
      border-bottom: 1px solid var(--navy-08);
    }

    .pricing-card.featured .pricing-desc {
      color: var(--white-60);
      border-bottom-color: rgba(255,255,255,0.10);
    }

    .pricing-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
      margin-bottom: 2.5rem;
      flex: 1;
    }

    .pricing-list li {
      display: flex;
      align-items: center;
      gap: 0.85rem;
      font-size: 0.88rem;
      font-weight: 500;
      color: var(--navy);
      line-height: 1.4;
    }

    .pricing-card.featured .pricing-list li { color: rgba(255,255,255,0.85); }

    .pricing-list li svg { flex-shrink: 0; }

    .btn-pricing-outline {
      display: block;
      text-align: center;
      padding: 0.9rem 1.5rem;
      border: 1.5px solid var(--navy-20);
      border-radius: var(--radius-sm);
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--navy);
      transition: border-color var(--transition), color var(--transition), background var(--transition);
    }

    .btn-pricing-outline:hover {
      border-color: var(--orange);
      color: var(--orange);
      background: var(--orange-lt);
    }

    .btn-pricing-primary {
      display: block;
      text-align: center;
      padding: 0.9rem 1.5rem;
      background: var(--orange);
      border-radius: var(--radius-sm);
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--white);
      transition: background var(--transition), transform var(--transition), box-shadow var(--transition);
    }

    .btn-pricing-primary:hover {
      background: #ff7d4e;
      transform: translateY(-2px);
      box-shadow: 0 10px 30px rgba(255,107,53,0.35);
    }

    .pricing-cta-wrap {
      text-align: center;
      padding-top: 2rem;
      border-top: 1px solid var(--navy-08);
    }

    .pricing-cta-label {
      font-size: 0.75rem;
      font-weight: 600;
      letter-spacing: 0.08em;
      color: var(--steel);
      margin-bottom: 1.25rem;
      text-transform: uppercase;
    }

    @media (max-width: 760px) {
      .pricing-section { padding: 5rem 2rem; }
      .pricing-grid { grid-template-columns: 1fr; max-width: 480px; margin-left: auto; margin-right: auto; }
    }

    /* ─────────────────────────────────────────
       SHIP FAST STRIP
    ───────────────────────────────────────── */
    .ship-strip {
      background: var(--navy);
      padding: 5rem 4rem;
      border-top: 1px solid rgba(255,255,255,0.06);
      border-bottom: 1px solid rgba(255,255,255,0.06);
    }

    .ship-strip-inner {
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4rem;
      align-items: center;
    }

    .ship-strip-headline {
      font-size: clamp(2rem, 4.5vw, 3.5rem);
      font-weight: 900;
      letter-spacing: -0.025em;
      text-transform: uppercase;
      line-height: 0.95;
      color: var(--white);
    }

    .ship-strip-right p {
      font-size: 1.05rem;
      color: var(--white-60);
      line-height: 1.85;
    }

    @media (max-width: 760px) {
      .ship-strip { padding: 4rem 2rem; }
      .ship-strip-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
      }
    }

    /* ─────────────────────────────────────────
       LIVE WIND SECTION
    ───────────────────────────────────────── */
    .wind-section {
      background: var(--navy-dk);
      padding: 7rem 4rem;
      border-top: 1px solid rgba(255,255,255,0.06);
      border-bottom: 1px solid rgba(255,255,255,0.06);
      position: relative;
      overflow: hidden;
    }

    .wind-section::before {
      content: '';
      position: absolute;
      top: -80px; right: -80px;
      width: 700px; height: 700px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,107,53,0.10) 0%, transparent 65%);
      pointer-events: none;
    }

    .wind-inner {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }

    .wind-copy .eyebrow { margin-bottom: 1.25rem; }

    .wind-copy .section-title {
      color: var(--white);
      margin-bottom: 1.75rem;
    }

    .wind-copy .section-title em {
      font-style: normal;
      color: var(--orange);
    }

    .wind-copy > p {
      font-size: 1rem;
      color: var(--white-60);
      line-height: 1.85;
      margin-bottom: 1rem;
    }

    .wind-em {
      font-style: italic;
      color: var(--white);
      font-weight: 600;
    }

    .wind-kicker {
      font-size: 1.15rem !important;
      font-weight: 700 !important;
      color: var(--white) !important;
      letter-spacing: -0.01em;
      margin-top: 0.25rem !important;
      margin-bottom: 1.75rem !important;
    }

    .wind-checklist {
      margin-top: 0 !important;
      margin-bottom: 1.75rem !important;
    }

    .wind-footnote {
      font-size: 0.88rem !important;
      color: rgba(255,255,255,0.38) !important;
      font-style: italic;
      border-top: 1px solid rgba(255,255,255,0.06);
      padding-top: 1.25rem;
      margin-top: 0.25rem !important;
      line-height: 1.75 !important;
    }

    .wind-visual {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
    }

    .wind-device-wrap {
      position: relative;
      width: 100%;
      max-width: 400px;
    }

    .wind-device-wrap img {
      width: 100%;
      border-radius: 16px;
      box-shadow:
        0 0 0 1.5px rgba(255,255,255,0.08),
        0 40px 80px rgba(0,0,0,0.6);
    }

    .wind-live-badge {
      position: absolute;
      top: 1rem; right: 1rem;
      display: flex;
      align-items: center;
      gap: 0.45rem;
      background: rgba(0,0,0,0.72);
      border: 1px solid rgba(255,107,53,0.55);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border-radius: 100px;
      padding: 0.3rem 0.85rem 0.3rem 0.6rem;
      font-size: 0.7rem;
      font-weight: 800;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--orange);
    }

    .wind-live-dot {
      width: 7px; height: 7px;
      background: var(--orange);
      border-radius: 50%;
      animation: pulse-dot 1.8s ease-in-out infinite;
    }

    @keyframes pulse-dot {
      0%, 100% { opacity: 1; transform: scale(1); }
      50%       { opacity: 0.4; transform: scale(0.75); }
    }

    .wind-device-caption {
      font-size: 0.82rem;
      color: rgba(255,255,255,0.32);
      text-align: center;
      line-height: 1.65;
    }

    /* ── Two ways to feed live wind ── */
    .wind-sources {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 5rem auto 0;
      padding-top: 3.5rem;
      border-top: 1px solid rgba(255,255,255,0.08);
    }

    .wind-sources-lead {
      text-align: center;
      font-size: 0.78rem;
      font-weight: 800;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.5);
      margin-bottom: 2.25rem;
    }

    .wind-sources-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.5rem;
    }

    .wind-source-card {
      background: rgba(255,255,255,0.03);
      border: 1px solid rgba(255,255,255,0.09);
      border-radius: 16px;
      padding: 1.85rem 1.9rem;
      display: flex;
      flex-direction: column;
    }

    .wind-source-card--new {
      border-color: rgba(255,107,53,0.4);
      background:
        linear-gradient(180deg, rgba(255,107,53,0.06) 0%, rgba(255,107,53,0) 60%),
        rgba(255,255,255,0.03);
    }

    .wind-source-head {
      display: flex;
      align-items: center;
      gap: 1rem;
      margin-bottom: 1.15rem;
    }

    .wind-source-icon {
      flex: 0 0 auto;
      width: 46px; height: 46px;
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(255,107,53,0.12);
      border: 1px solid rgba(255,107,53,0.35);
    }

    .wind-source-icon svg {
      width: 24px; height: 24px;
      stroke: var(--orange);
    }

    .wind-source-titles h3 {
      color: var(--white);
      font-size: 1.12rem;
      font-weight: 700;
      letter-spacing: -0.01em;
      margin: 0 0 0.3rem;
    }

    .wind-source-tag {
      display: inline-block;
      font-size: 0.66rem;
      font-weight: 800;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--orange);
      background: rgba(255,107,53,0.1);
      border: 1px solid rgba(255,107,53,0.3);
      border-radius: 100px;
      padding: 0.2rem 0.6rem;
    }

    .wind-source-card p {
      font-size: 0.95rem;
      color: var(--white-60);
      line-height: 1.8;
      margin: 0;
    }

    .wind-source-photo {
      margin-top: auto;
      padding-top: 1.4rem;
    }

    .wind-source-photo img {
      display: block;
      width: 100%;
      height: 168px;
      object-fit: contain;
      background: #e9edf1;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,0.08);
      padding: 0.5rem;
    }

    .wind-sources-foot {
      text-align: center;
      max-width: 640px;
      margin: 2.5rem auto 0 !important;
      border-top: none !important;
      padding-top: 0 !important;
      font-style: normal !important;
      color: rgba(255,255,255,0.44) !important;
    }

    @media (max-width: 900px) {
      .wind-section { padding: 5rem 2rem; }
      .wind-inner { grid-template-columns: 1fr; gap: 3.5rem; }
      .wind-visual { order: -1; }
      .wind-device-wrap { max-width: 300px; }
      .wind-sources { margin-top: 4rem; }
      .wind-sources-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 480px) {
      .wind-device-wrap { max-width: 260px; }
      .wind-source-card { padding: 1.5rem 1.4rem; }
    }

    /* ─────────────────────────────────────────
       CURATED COHORT SECTION
    ───────────────────────────────────────── */
    .cohort-section {
      background: linear-gradient(180deg, #0b1119 0%, #0d141d 100%);
      padding: 7rem 4rem;
      border-top: 1px solid rgba(255,255,255,0.06);
      border-bottom: 1px solid rgba(255,255,255,0.06);
      position: relative;
      overflow: hidden;
    }

    .cohort-section::before {
      content: '';
      position: absolute;
      bottom: -120px; left: -100px;
      width: 640px; height: 640px;
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,107,53,0.09) 0%, transparent 65%);
      pointer-events: none;
    }

    .cohort-inner {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 5rem;
      align-items: center;
    }

    .cohort-copy .eyebrow { margin-bottom: 1.25rem; }

    .cohort-copy .section-title {
      color: var(--white);
      margin-bottom: 1.75rem;
    }

    .cohort-copy .section-title em {
      font-style: normal;
      color: var(--orange);
    }

    .cohort-copy > p {
      font-size: 1rem;
      color: var(--white-60);
      line-height: 1.85;
      margin-bottom: 1rem;
    }

    .cohort-em {
      color: var(--white);
      font-weight: 600;
    }

    .cohort-kicker {
      font-size: 1.15rem !important;
      font-weight: 700 !important;
      color: var(--white) !important;
      letter-spacing: -0.01em;
      margin-top: 0.5rem !important;
      margin-bottom: 1.75rem !important;
    }

    .cohort-checklist {
      margin-top: 0 !important;
      margin-bottom: 1.75rem !important;
    }

    /* visual */
    .cohort-visual {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.5rem;
    }

    .cohort-phone {
      max-width: 300px;
      box-shadow:
        0 0 0 1.5px rgba(255,107,53,0.35),
        0 40px 80px rgba(0,0,0,0.6),
        inset 0 0 0 1px rgba(255,107,53,0.12);
    }

    .cohort-map-caption {
      font-size: 0.82rem;
      color: rgba(255,255,255,0.34);
      text-align: center;
      line-height: 1.65;
      max-width: 400px;
    }

    /* four-step promise */
    .cohort-steps {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 4.5rem auto 0;
      padding-top: 3.5rem;
      border-top: 1px solid rgba(255,255,255,0.08);
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.5rem;
    }

    .cohort-step {
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
    }

    .cohort-step-n {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 34px; height: 34px;
      border-radius: 10px;
      background: rgba(255,107,53,0.12);
      border: 1px solid rgba(255,107,53,0.35);
      color: var(--orange);
      font-weight: 800;
      font-size: 0.95rem;
    }

    .cohort-step p {
      font-size: 0.92rem;
      color: var(--white-60);
      line-height: 1.65;
      margin: 0;
    }

    .cohort-step p strong {
      display: block;
      color: var(--white);
      font-weight: 700;
      margin-bottom: 0.3rem;
    }

    @media (max-width: 900px) {
      .cohort-section { padding: 5rem 2rem; }
      .cohort-inner { grid-template-columns: 1fr; gap: 3.5rem; }
      .cohort-visual { order: -1; }
      .cohort-steps { grid-template-columns: repeat(2, 1fr); gap: 2rem 1.5rem; margin-top: 3.5rem; }
    }

    @media (max-width: 480px) {
      .cohort-steps { grid-template-columns: 1fr; }
    }

    /* coming up · race replay on the web */
    .replay-teaser {
      position: relative;
      z-index: 1;
      max-width: 1100px;
      margin: 4.5rem auto 0;
      padding: 3rem;
      border-radius: 20px;
      background: linear-gradient(135deg, rgba(255,107,53,0.08) 0%, rgba(48,176,199,0.06) 100%);
      border: 1px solid rgba(255,107,53,0.22);
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 4rem;
      align-items: center;
    }
    .replay-teaser-copy .eyebrow { margin-bottom: 1.1rem; }
    .replay-teaser-title {
      font-size: clamp(1.6rem, 3vw, 2.2rem);
      font-weight: 800;
      line-height: 1.15;
      letter-spacing: -0.02em;
      color: var(--white);
      margin: 0 0 1.4rem;
    }
    .replay-teaser-title em { font-style: normal; color: var(--orange); }
    .replay-teaser-copy > p {
      font-size: 1rem;
      color: var(--white-60);
      line-height: 1.85;
      margin-bottom: 1rem;
    }
    .replay-teaser-badge {
      display: inline-block;
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--orange);
      padding: 0.45rem 0.9rem;
      border-radius: 99px;
      border: 1px solid rgba(255,107,53,0.45);
      background: rgba(255,107,53,0.1);
    }
    .replay-teaser-visual {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.25rem;
    }
    .replay-teaser-shot {
      display: block;
      width: 100%;
      max-width: 280px;
      border-radius: 28px;
      overflow: hidden;
      box-shadow:
        0 0 0 1.5px rgba(255,107,53,0.35),
        0 30px 60px rgba(0,0,0,0.55);
      transition: transform var(--transition), box-shadow var(--transition);
    }
    .replay-teaser-shot:hover {
      transform: translateY(-3px);
      box-shadow:
        0 0 0 1.5px rgba(255,107,53,0.6),
        0 36px 70px rgba(0,0,0,0.6);
    }
    .replay-teaser-shot img { display: block; width: 100%; height: auto; }
    .replay-teaser-cta {
      display: inline-block;
      margin: 0 0.9rem 0.9rem 0;
      padding: 0.75rem 1.3rem;
      border-radius: 99px;
      background: var(--orange);
      color: var(--white);
      font-weight: 700;
      font-size: 0.95rem;
      text-decoration: none;
      transition: transform var(--transition), background var(--transition);
    }
    .replay-teaser-cta:hover { transform: translateY(-1px); background: #ff7d4d; }
    @media (max-width: 900px) {
      .replay-teaser { grid-template-columns: 1fr; gap: 2.5rem; padding: 2rem 1.5rem; margin-top: 3.5rem; }
      .replay-teaser-visual { order: -1; }
    }
