      /* ── Theme tokens ──────────────────────────────────────────── */
      :root {
        --bg-body:           linear-gradient(160deg, #060f1a 0%, #0b1f38 50%, #060f1a 100%);
        --bg-hero:           linear-gradient(135deg, #060f1a 0%, #0b1f38 55%, #0f2a47 100%);
        --bg-services:       linear-gradient(180deg, rgba(0,0,0,0.6) 0%, rgba(11,31,56,0.4) 100%);
        --bg-section:        rgba(0,0,0,0.4);
        --bg-section-alt:    rgba(0,0,0,0.35);
        --bg-club:           linear-gradient(135deg, #060f1a 0%, #0b1f38 60%, #060f1a 100%);
        --bg-club-card:      linear-gradient(135deg, #0b1f38 0%, #060f1a 60%, #0f2a47 100%);
        --bg-cta:            linear-gradient(135deg, #060f1a 0%, #0b1f38 100%);
        --bg-img-overlay:    linear-gradient(to top, rgba(6,15,26,0.96) 0%, rgba(6,15,26,0.3) 55%, transparent 100%);
        --bg-modal:          linear-gradient(160deg, #0b1f38 0%, #060f1a 100%);
        --bg-modal-backdrop: rgba(6,15,26,0.93);
        --bg-card:           rgba(0,0,0,0.45);
        --bg-card-inner:     rgba(0,0,0,0.3);
        --bg-radio:          rgba(255,255,255,0.04);
        --border-subtle:     rgba(255,255,255,0.08);
        --border-radio:      rgba(255,255,255,0.12);
        --text-sub:          rgba(255,255,255,0.45);
        --text-faint:        rgba(255,255,255,0.3);
        --text-success:      rgba(255,255,255,0.65);
        --input-bg:          rgba(255,255,255,0.06);
        --input-border:      rgba(255,255,255,0.15);
        --input-color:       #fff;
        --input-placeholder: rgba(255,255,255,0.28);
        --input-option-bg:   #0b1f38;
        --grid-h:            rgba(255,82,0,0.025);
        --grid-v:            rgba(255,255,255,0.018);
      }

      [data-theme="light"] {
        --bg-body:           linear-gradient(160deg, #f0f4f8 0%, #e8eef5 50%, #f0f4f8 100%);
        --bg-hero:           linear-gradient(135deg, #e8eef5 0%, #dce6f0 55%, #d0dcea 100%);
        --bg-services:       linear-gradient(180deg, rgba(255,255,255,0.85) 0%, rgba(220,232,244,0.6) 100%);
        --bg-section:        rgba(255,255,255,0.65);
        --bg-section-alt:    rgba(255,255,255,0.5);
        --bg-club:           linear-gradient(135deg, #dce6f0 0%, #e8eef5 60%, #dce6f0 100%);
        --bg-club-card:      linear-gradient(135deg, #d4e0ec 0%, #c8d8e8 60%, #cfdaea 100%);
        --bg-cta:            linear-gradient(135deg, #dce6f0 0%, #e8eef5 100%);
        --bg-img-overlay:    linear-gradient(to top, rgba(200,218,234,0.96) 0%, rgba(200,218,234,0.3) 55%, transparent 100%);
        --bg-modal:          linear-gradient(160deg, #e8eef5 0%, #f0f4f8 100%);
        --bg-modal-backdrop: rgba(180,200,220,0.93);
        --bg-card:           rgba(255,255,255,0.9);
        --bg-card-inner:     rgba(11,31,56,0.04);
        --bg-radio:          rgba(11,31,56,0.04);
        --border-subtle:     rgba(11,31,56,0.1);
        --border-radio:      rgba(11,31,56,0.15);
        --text-sub:          rgba(6,15,26,0.65);
        --text-faint:        rgba(6,15,26,0.52);
        --text-success:      rgba(6,15,26,0.72);
        --input-bg:          rgba(11,31,56,0.06);
        --input-border:      rgba(11,31,56,0.18);
        --input-color:       #060f1a;
        --input-placeholder: rgba(6,15,26,0.35);
        --input-option-bg:   #e8eef5;
        --grid-h:            rgba(255,82,0,0.03);
        --grid-v:            rgba(11,31,56,0.025);
      }

      * { font-family: "Barlow", sans-serif; }
      h1, h2, h3, h4, .display { font-family: "Barlow Condensed", sans-serif; }

      body {
        background: var(--bg-body);
        min-height: 100vh;
        transition: background 0.25s;
      }

      /* Grid texture overlay */
      body::before {
        content: "";
        position: fixed;
        inset: 0;
        background-image:
          repeating-linear-gradient(0deg, transparent, transparent 60px, var(--grid-h) 60px, var(--grid-h) 61px),
          repeating-linear-gradient(90deg, transparent, transparent 80px, var(--grid-v) 80px, var(--grid-v) 81px);
        pointer-events: none;
        z-index: 0;
      }

      .content { position: relative; z-index: 1; }

      /* Glow effects */
      .glow-orange { box-shadow: 0 0 40px rgba(255,82,0,0.2), 0 0 80px rgba(255,82,0,0.08); }
      .glow-hero   { box-shadow: 0 20px 140px rgba(0,0,0,0.85); }
      .text-glow   { text-shadow: 0 0 40px rgba(255,82,0,0.45); }
      [data-theme="light"] .glow-hero { box-shadow: 0 20px 140px rgba(11,31,56,0.15); }

      /* Service card */
      .service-card {
        border-radius: 1rem;
        border: 1px solid var(--border-subtle);
        background: var(--bg-card);
        padding: 1.5rem;
        min-height: 220px;
        display: flex;
        flex-direction: column;
        backdrop-filter: blur(8px);
        box-shadow: 0 10px 40px rgba(0,0,0,0.7);
        transition: border-color 0.2s, box-shadow 0.2s;
      }
      [data-theme="light"] .service-card { box-shadow: 0 4px 20px rgba(11,31,56,0.08); }
      .service-card:hover {
        border-color: rgba(255,82,0,0.35);
        box-shadow: 0 10px 40px rgba(0,0,0,0.7), 0 0 20px rgba(255,82,0,0.1);
      }
      [data-theme="light"] .service-card:hover { box-shadow: 0 8px 28px rgba(11,31,56,0.12), 0 0 20px rgba(255,82,0,0.08); }

      /* Club card (membership) */
      .club-card {
        background: var(--bg-club-card);
        border: 1px solid rgba(255,82,0,0.4);
        border-radius: 1.25rem;
        padding: 1.5rem;
        box-shadow: 0 18px 60px rgba(0,0,0,0.8), 0 0 30px rgba(255,82,0,0.12);
        position: relative;
        overflow: hidden;
      }
      [data-theme="light"] .club-card { box-shadow: 0 8px 32px rgba(11,31,56,0.15), 0 0 20px rgba(255,82,0,0.08); }
      .club-card::before {
        content: "";
        position: absolute;
        top: -40px;
        right: -40px;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255,82,0,0.12) 0%, transparent 70%);
        pointer-events: none;
      }

      /* Speed stripe accent */
      .speed-stripe {
        height: 3px;
        background: linear-gradient(90deg, #ff5200, rgba(255,82,0,0.3), transparent);
        border-radius: 2px;
        margin-bottom: 1.5rem;
      }

      /* FTM monogram */
      .ftm-logo {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 900;
        letter-spacing: -0.02em;
        color: #ff5200;
        text-shadow: 0 0 20px rgba(255,82,0,0.4);
        line-height: 1;
      }

      /* CTA button */
      .btn-primary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.75rem 1.75rem;
        border-radius: 9999px;
        background: #ff5200;
        color: #ffffff;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 0.875rem;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        transition: transform 0.2s, box-shadow 0.2s;
        box-shadow: 0 8px 24px rgba(255,82,0,0.3);
      }
      .btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 16px 32px rgba(255,82,0,0.4);
      }
      .btn-ghost {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.75rem 1.75rem;
        border-radius: 9999px;
        border: 1px solid var(--border-subtle);
        color: var(--input-color);
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 0.875rem;
        text-transform: uppercase;
        letter-spacing: 0.25em;
        transition: transform 0.2s, border-color 0.2s, color 0.2s;
      }
      .btn-ghost:hover {
        transform: translateY(-2px);
        border-color: #ff5200;
        color: #ff5200;
      }

      /* Divider */
      .section-divider {
        width: 48px;
        height: 3px;
        background: linear-gradient(90deg, #ff5200, transparent);
        border-radius: 2px;
        margin: 0 auto 0.75rem;
      }

      /* Timeline dot */
      .dot::before {
        content: "";
        display: inline-block;
        width: 7px;
        height: 7px;
        border-radius: 50%;
        background: #ff5200;
        margin-right: 10px;
        box-shadow: 0 0 8px rgba(255,82,0,0.6);
        flex-shrink: 0;
        margin-top: 6px;
      }
      .dot { display: flex; align-items: flex-start; }

      /* Hero speed lines */
      .hero-lines {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 45%;
        pointer-events: none;
        opacity: 0.12;
      }

      /* ── Booking form ──────────────────────────────────────────── */
      .ftm-label {
        display: block;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        color: var(--text-sub);
        margin-bottom: 0.4rem;
      }
      .ftm-input {
        width: 100%;
        background: var(--input-bg);
        border: 1px solid var(--input-border);
        border-radius: 0.5rem;
        color: var(--input-color);
        padding: 0.625rem 0.875rem;
        font-size: 0.875rem;
        font-family: "Barlow", sans-serif;
        transition: border-color 0.2s, background 0.2s;
        -webkit-appearance: none;
        appearance: none;
      }
      .ftm-input:focus {
        outline: none;
        border-color: rgba(255,82,0,0.65);
        background: var(--input-bg);
      }
      .ftm-input::placeholder { color: var(--input-placeholder); }
      .ftm-input option { background: var(--input-option-bg); color: var(--input-color); }
      .ftm-input[type="date"] { color-scheme: dark; }
      [data-theme="light"] .ftm-input[type="date"] { color-scheme: light; }
      .ftm-input[type="date"]::-webkit-calendar-picker-indicator {
        filter: invert(1) opacity(0.4);
        cursor: pointer;
      }
      [data-theme="light"] .ftm-input[type="date"]::-webkit-calendar-picker-indicator {
        filter: none;
        opacity: 0.45;
      }
      textarea.ftm-input { resize: vertical; min-height: 80px; }
      .ftm-input.ftm-input--synced {
        border-style: dashed;
        border-color: rgba(255, 82, 0, 0.35);
        background: rgba(255, 82, 0, 0.04);
        cursor: default;
      }
      select.ftm-input {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='rgba(255,255,255,0.35)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.75rem center;
        background-size: 12px;
        padding-right: 2.25rem;
        cursor: pointer;
      }
      [data-theme="light"] select.ftm-input {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='rgba(6,15,26,0.4)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
      }
      .ftm-radio-fieldset {
        border: 0;
        padding: 0;
        margin: 0;
        min-width: 0;
      }
      .ftm-radio-fieldset > legend.ftm-label {
        margin-bottom: 0;
      }
      .ftm-radio-card {
        display: block;
        cursor: pointer;
        position: relative;
      }
      /* Do NOT stretch inputs over the card — that caused cross-group click hijacking. */
      .ftm-radio-card input[type="radio"] {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
      }
      .ftm-radio-inner {
        border: 1px solid var(--border-radio);
        background: var(--bg-radio);
        padding: 0.875rem 1rem;
        border-radius: 0.625rem;
        transition: border-color 0.15s, background 0.15s;
        display: block;
      }
      .ftm-radio-card input:checked + .ftm-radio-inner,
      .ftm-radio-card:has(> input[type="radio"]:checked) .ftm-radio-inner {
        border-color: rgba(255,82,0,0.65);
        background: rgba(255,82,0,0.09);
      }
      .ftm-radio-card:hover .ftm-radio-inner {
        border-color: rgba(255,82,0,0.35);
      }
      .ftm-radio-card input:focus-visible + .ftm-radio-inner {
        outline: 2px solid rgba(255,82,0,0.7);
        outline-offset: 2px;
      }
      .ftm-checkbox-card {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
        cursor: pointer;
      }
      .ftm-checkbox-card input[type="checkbox"] {
        margin-top: 0.25rem;
        width: 1rem;
        height: 1rem;
        accent-color: #ff5200;
        cursor: pointer;
      }

      /* Tech onboarding — weekly availability grid */
      .schedule-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border: 1px solid var(--border-subtle);
        border-radius: 0.75rem;
        background: var(--bg-radio);
      }
      .schedule-grid {
        width: 100%;
        min-width: 42rem;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 0.72rem;
        table-layout: fixed;
      }
      .schedule-grid th,
      .schedule-grid td {
        border: 1px solid var(--border-subtle);
        padding: 0.35rem 0.25rem;
        text-align: center;
        vertical-align: middle;
      }
      .schedule-grid th {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-size: 0.62rem;
        color: var(--text-sub);
        background: rgba(0, 0, 0, 0.15);
        line-height: 1.25;
      }
      [data-theme="light"] .schedule-grid th {
        background: rgba(6, 15, 26, 0.04);
      }
      .schedule-grid th .schedule-time {
        display: block;
        font-weight: 500;
        text-transform: none;
        letter-spacing: 0;
        font-size: 0.58rem;
        color: var(--text-muted, rgba(255, 255, 255, 0.45));
        margin-top: 0.15rem;
      }
      .schedule-grid .schedule-day {
        text-align: left;
        padding: 0.45rem 0.55rem;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.1em;
        font-size: 0.7rem;
        color: var(--text-main, #fff);
        white-space: nowrap;
        background: var(--bg-radio);
        vertical-align: middle;
        position: sticky;
        left: 0;
        z-index: 3;
        min-width: 3.25rem;
        box-shadow: 1px 0 0 var(--border-subtle);
      }
      .schedule-grid .schedule-corner {
        position: sticky;
        left: 0;
        z-index: 4;
        min-width: 3.25rem;
        background: rgba(0, 0, 0, 0.15);
        box-shadow: 1px 0 0 var(--border-subtle);
      }
      [data-theme="light"] .schedule-grid .schedule-corner,
      [data-theme="light"] .schedule-grid .schedule-day {
        background: var(--bg-radio);
      }
      .schedule-fill-head {
        font-size: 0.58rem;
        color: #ff5200;
        vertical-align: middle;
        width: 2.75rem;
        min-width: 2.75rem;
        max-width: 2.75rem;
        position: sticky;
        left: 3.25rem;
        z-index: 4;
        background: rgba(0, 0, 0, 0.15);
        box-shadow: 1px 0 0 var(--border-subtle);
        padding: 0.25rem 0.15rem;
      }
      .schedule-fill-icon {
        display: block;
        font-size: 0.85rem;
        line-height: 1;
        font-weight: 700;
      }
      [data-theme="light"] .schedule-fill-head {
        background: rgba(6, 15, 26, 0.04);
      }
      .schedule-fill-cell {
        background: rgba(255, 82, 0, 0.06);
        width: 2.75rem;
        min-width: 2.75rem;
        max-width: 2.75rem;
        padding: 0.25rem 0.15rem;
        position: sticky;
        left: 3.25rem;
        z-index: 2;
        box-shadow: 1px 0 0 var(--border-subtle);
      }
      .schedule-toolbar {
        padding: 0.85rem 1rem;
        border-bottom: 1px solid var(--border-subtle);
        background: rgba(255, 82, 0, 0.08);
      }
      .schedule-toolbar-title {
        margin: 0 0 0.25rem;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 800;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.12em;
        color: #ff5200;
      }
      .schedule-toolbar-hint {
        margin: 0 0 0.65rem;
        font-size: 0.72rem;
        color: var(--text-sub);
      }
      .schedule-scroll-hint {
        margin: 0;
        padding: 0.55rem 1rem;
        font-size: 0.68rem;
        line-height: 1.45;
        color: var(--text-sub);
        border-bottom: 1px solid var(--border-subtle);
        background: rgba(0, 0, 0, 0.08);
      }
      [data-theme="light"] .schedule-scroll-hint {
        background: rgba(6, 15, 26, 0.03);
      }
      .schedule-scroll-hint strong {
        color: var(--text-main, #fff);
        font-weight: 600;
      }
      .schedule-fill-select {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin-top: 0.25rem;
        padding: 0.2rem 0.85rem 0.2rem 0.2rem;
        font-size: 0.58rem;
        font-weight: 700;
        line-height: 1.1;
        border-radius: 0.3rem;
        border: 1px dashed rgba(255, 82, 0, 0.55);
        background: rgba(255, 82, 0, 0.1);
        color: var(--input-color, #fff);
        cursor: pointer;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='rgba(255,82,0,0.75)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.2rem center;
        background-size: 7px;
      }
      .schedule-fill-cell .schedule-fill-select {
        margin-top: 0;
      }
      .schedule-col-head .schedule-fill-select {
        margin-top: 0.2rem;
      }
      [data-theme="light"] .schedule-fill-select {
        background-color: rgba(255, 82, 0, 0.06);
        border-color: rgba(255, 82, 0, 0.45);
        color: var(--input-color, #0b1f38);
      }
      .schedule-fill-select:focus {
        outline: 2px solid rgba(255, 82, 0, 0.55);
        outline-offset: 1px;
      }
      .schedule-fill-btns {
        display: flex;
        gap: 0.2rem;
        justify-content: center;
        flex-wrap: wrap;
      }
      .schedule-fill-btns--toolbar {
        justify-content: flex-start;
      }
      .schedule-fill-btn {
        padding: 0.45rem 0.75rem;
        font-size: 0.72rem;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        border-radius: 0.45rem;
        border: 1px solid var(--border-subtle);
        background: rgba(255, 255, 255, 0.08);
        color: var(--text-main, #fff);
        cursor: pointer;
        line-height: 1.2;
        white-space: nowrap;
      }
      .schedule-fill-btns--toolbar .schedule-fill-btn {
        font-size: 0.72rem;
        padding: 0.5rem 0.85rem;
      }
      .schedule-fill-btn:hover {
        border-color: rgba(255, 82, 0, 0.55);
        background: rgba(255, 82, 0, 0.1);
        color: #ff5200;
      }
      .schedule-fill-btn:focus-visible {
        outline: 2px solid rgba(255, 82, 0, 0.55);
        outline-offset: 1px;
      }
      .schedule-fill-btn--preferred {
        border-color: rgba(255, 82, 0, 0.35);
      }
      .schedule-fill-btn--available {
        border-color: rgba(52, 211, 153, 0.35);
      }
      .schedule-fill-btn--unavailable {
        border-color: rgba(148, 163, 184, 0.35);
      }
      .schedule-grid .schedule-col-head {
        vertical-align: bottom;
        padding: 0.3rem 0.2rem 0.35rem;
        min-width: 0;
        width: auto;
      }
      .schedule-select {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 0.28rem 1.15rem 0.28rem 0.25rem;
        font-size: 0.62rem;
        border-radius: 0.375rem;
        border: 1px solid var(--border-radio);
        background: var(--input-bg, rgba(0, 0, 0, 0.2));
        color: var(--input-color, #fff);
        cursor: pointer;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='rgba(255,255,255,0.35)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 0.35rem center;
        background-size: 10px;
      }
      [data-theme="light"] .schedule-select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 10'%3E%3Cpath d='M1 1l7 7 7-7' stroke='rgba(6,15,26,0.4)' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
      }
      .schedule-select:focus {
        outline: 2px solid rgba(255, 82, 0, 0.55);
        outline-offset: 1px;
      }
      .schedule-select[data-value="preferred"] {
        border-color: rgba(255, 82, 0, 0.65);
        background-color: rgba(255, 82, 0, 0.12);
      }
      .schedule-select[data-value="available"] {
        border-color: rgba(52, 211, 153, 0.45);
        background-color: rgba(52, 211, 153, 0.08);
      }
      .schedule-select[data-value="unavailable"] {
        opacity: 0.75;
      }
      .schedule-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 0.75rem 1.25rem;
        font-size: 0.72rem;
        color: var(--text-sub);
        margin-top: 0.75rem;
      }
      .schedule-legend span {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
      }
      .schedule-legend i {
        display: inline-block;
        width: 0.65rem;
        height: 0.65rem;
        border-radius: 2px;
        font-style: normal;
      }
      .schedule-legend .leg-preferred i { background: rgba(255, 82, 0, 0.75); }
      .schedule-legend .leg-available i { background: rgba(52, 211, 153, 0.65); }
      .schedule-legend .leg-unavailable i { background: rgba(148, 163, 184, 0.45); }

      /* Tech onboarding — technology comfort scale (1–5) */
      .ftm-tech-scale {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 0.5rem;
        max-width: 36rem;
      }
      .ftm-tech-scale-card {
        display: block;
        cursor: pointer;
        position: relative;
      }
      .ftm-tech-scale-card input[type="radio"] {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }
      .ftm-tech-scale-inner {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        min-height: 4rem;
        padding: 0.65rem 0.35rem;
        border: 1px solid var(--border-radio);
        background: var(--bg-radio);
        border-radius: 0.625rem;
        transition: border-color 0.15s, background 0.15s;
        text-align: center;
      }
      .ftm-tech-scale-num {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 900;
        font-size: 1.35rem;
        line-height: 1;
        color: var(--text-main, #fff);
      }
      .ftm-tech-scale-label {
        font-size: 0.62rem;
        line-height: 1.25;
        color: var(--text-sub);
        text-transform: uppercase;
        letter-spacing: 0.06em;
        margin-top: 0.1rem;
      }
      .ftm-tech-scale-card input:checked + .ftm-tech-scale-inner {
        border-color: rgba(255, 82, 0, 0.65);
        background: rgba(255, 82, 0, 0.09);
      }
      .ftm-tech-scale-card input:checked + .ftm-tech-scale-inner .ftm-tech-scale-num {
        color: #ff5200;
      }
      .ftm-tech-scale-card:hover .ftm-tech-scale-inner {
        border-color: rgba(255, 82, 0, 0.35);
      }
      .ftm-tech-scale-card input:focus-visible + .ftm-tech-scale-inner {
        outline: 2px solid rgba(255, 82, 0, 0.7);
        outline-offset: 2px;
      }
      .ftm-tech-scale-selected {
        margin-top: 0.75rem;
        font-size: 0.8rem;
        color: rgba(255, 255, 255, 0.55);
      }
      .ftm-tech-scale-selected strong {
        color: #ff5200;
        font-weight: 700;
      }
      .ftm-tech-scale-selected-value {
        display: inline-flex;
        align-items: baseline;
        gap: 0.4rem;
      }
      .ftm-tech-scale-selected-sep {
        opacity: 0.45;
        font-weight: 400;
      }
      @media (max-width: 540px) {
        .ftm-tech-scale {
          grid-template-columns: repeat(5, minmax(0, 1fr));
          gap: 0.35rem;
        }
        .ftm-tech-scale-inner {
          min-height: 3.5rem;
          padding: 0.5rem 0.2rem;
          gap: 0.4rem;
        }
        .ftm-tech-scale-num { font-size: 1.1rem; }
        .ftm-tech-scale-label { font-size: 0.52rem; }
      }

      /* FT Club — comparison table & form helpers */
      .compare-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
      }
      .compare-table th,
      .compare-table td {
        padding: 0.85rem 1rem;
        border-bottom: 1px solid var(--border-subtle);
        font-size: 0.875rem;
        text-align: left;
        vertical-align: middle;
      }
      .compare-table th {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.18em;
        font-size: 0.7rem;
        color: var(--text-sub);
      }
      .compare-table th.member { color: #ff5200; }
      .compare-table td.label {
        font-weight: 500;
        color: rgba(255,255,255,0.85);
      }
      [data-theme="light"] .compare-table td.label { color: rgba(6,15,26,0.85); }
      .compare-table td.check { color: #ff5200; font-weight: 700; }
      .compare-table td.dash { color: var(--text-faint); }
      .compare-table tbody tr:last-child th,
      .compare-table tbody tr:last-child td { border-bottom: none; }

      .spinner {
        display: inline-block;
        width: 14px;
        height: 14px;
        border: 2px solid rgba(255,255,255,0.3);
        border-top-color: #fff;
        border-radius: 50%;
        animation: ftm-spin 0.7s linear infinite;
      }
      @keyframes ftm-spin { to { transform: rotate(360deg); } }

      .btn-primary:disabled { opacity: 0.6; cursor: wait; transform: none; }

      .pill.soon { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.7); }
      [data-theme="light"] .pill.soon { color: rgba(6,15,26,0.7); }

      .club-network-banner {
        background: rgba(255,82,0,0.07);
        border: 1px solid rgba(255,82,0,0.35);
        border-radius: 1rem;
      }

      /* Legal pages (privacy, terms) */
      .legal-doc { color: var(--text-primary, rgba(255,255,255,0.85)); }
      .legal-doc h2 {
        margin-top: 2rem;
        margin-bottom: 0.75rem;
        font-family: var(--font-display, inherit);
        font-weight: 800;
        font-size: 1.125rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #fff;
      }
      .legal-doc h3 {
        margin-top: 1.25rem;
        margin-bottom: 0.5rem;
        font-size: 0.95rem;
        font-weight: 700;
        color: rgba(255,255,255,0.92);
      }
      .legal-doc p, .legal-doc li {
        font-size: 0.875rem;
        line-height: 1.75;
        color: rgba(255,255,255,0.72);
      }
      .legal-doc ul { margin: 0.75rem 0 0.75rem 1.25rem; list-style: disc; }
      .legal-doc li { margin-bottom: 0.35rem; }
      .legal-doc code {
        font-size: 0.8em;
        padding: 0.1em 0.35em;
        border-radius: 0.25rem;
        background: rgba(255,255,255,0.08);
      }
      .legal-doc .legal-caps { font-size: 0.8125rem; line-height: 1.65; color: rgba(255,255,255,0.68); }
      .legal-doc .retention-table {
        width: 100%;
        margin: 1rem 0;
        border-collapse: collapse;
        font-size: 0.8125rem;
      }
      .legal-doc .retention-table th,
      .legal-doc .retention-table td {
        border: 1px solid var(--border-subtle, rgba(255,255,255,0.12));
        padding: 0.65rem 0.75rem;
        text-align: left;
        vertical-align: top;
      }
      .legal-doc .retention-table th {
        background: rgba(255,82,0,0.08);
        color: rgba(255,255,255,0.9);
        font-weight: 700;
      }
      [data-theme="light"] .legal-doc h2 { color: #0b1f38; }
      [data-theme="light"] .legal-doc h3 { color: #0b1f38; }
      [data-theme="light"] .legal-doc p,
      [data-theme="light"] .legal-doc li { color: rgba(6,15,26,0.78); }
      [data-theme="light"] .legal-doc .legal-caps { color: rgba(6,15,26,0.72); }
      [data-theme="light"] .legal-doc code { background: rgba(11,31,56,0.06); }

      /* ── Theme toggle ──────────────────────────────────────────── */
      .theme-toggle {
        display: flex;
        align-items: center;
        gap: 2px;
        background: var(--bg-card);
        border: 1px solid var(--border-subtle);
        border-radius: 9999px;
        padding: 3px;
      }
      .theme-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 26px;
        height: 26px;
        border-radius: 9999px;
        border: none;
        background: transparent;
        color: var(--text-faint);
        cursor: pointer;
        transition: background 0.15s, color 0.15s;
        padding: 0;
      }
      .theme-btn[aria-pressed="true"] {
        background: rgba(255,82,0,0.18);
        color: #ff5200;
      }
      .theme-btn:hover:not([aria-pressed="true"]) {
        color: var(--input-color);
      }

      /* ── Light mode Tailwind overrides ─────────────────────────── */
      [data-theme="light"] .text-white      { color: #060f1a !important; }
      [data-theme="light"] .text-white\/80  { color: rgba(6,15,26,0.85) !important; }
      [data-theme="light"] .text-white\/75  { color: rgba(6,15,26,0.82) !important; }
      [data-theme="light"] .text-white\/70  { color: rgba(6,15,26,0.78) !important; }
      [data-theme="light"] .text-white\/60  { color: rgba(6,15,26,0.72) !important; }
      [data-theme="light"] .text-white\/55  { color: rgba(6,15,26,0.68) !important; }
      [data-theme="light"] .text-white\/50  { color: rgba(6,15,26,0.64) !important; }
      [data-theme="light"] .text-white\/45  { color: rgba(6,15,26,0.6) !important; }
      [data-theme="light"] .text-white\/40  { color: rgba(6,15,26,0.55) !important; }
      [data-theme="light"] .text-white\/35  { color: rgba(6,15,26,0.5) !important; }
      [data-theme="light"] .text-white\/30  { color: rgba(6,15,26,0.45) !important; }
      [data-theme="light"] .bg-black\/30    { background: rgba(11,31,56,0.05) !important; }
      [data-theme="light"] .border-white\/10 { border-color: rgba(11,31,56,0.1) !important; }
      [data-theme="light"] .border-white\/8  { border-color: rgba(11,31,56,0.08) !important; }
      [data-theme="light"] .border-white\/5  { border-color: rgba(11,31,56,0.05) !important; }
      [data-theme="light"] .shadow-\[0_25px_60px_rgba\(0\2c 0\2c 0\2c 0\.7\)\] { box-shadow: 0 8px 30px rgba(11,31,56,0.1) !important; }
      [data-theme="light"] #club { box-shadow: 0 8px 32px rgba(11,31,56,0.12) !important; }
      /* Pricing table */
      .price-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 0.875rem;
      }
      .price-table thead th {
        background: var(--bg-table-head);
        color: #ff5200;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.2em;
        padding: 0.875rem 1rem;
        text-align: left;
        border-bottom: 1px solid var(--border-table);
      }
      .price-table thead th:first-child { border-top-left-radius: 0.75rem; }
      .price-table thead th:last-child  { border-top-right-radius: 0.75rem; text-align: right; }
      .price-table tbody td {
        padding: 0.875rem 1rem;
        border-bottom: 1px solid var(--border-table);
        background: var(--bg-table-row);
      }
      .price-table tbody tr:nth-child(odd) td { background: var(--bg-table-row-alt); }
      .price-table tbody tr:last-child td { border-bottom: none; }
      .price-table tbody tr:last-child td:first-child { border-bottom-left-radius: 0.75rem; }
      .price-table tbody tr:last-child td:last-child  { border-bottom-right-radius: 0.75rem; }
      .price-table td.price {
        text-align: right;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 700;
        font-size: 1rem;
        color: #ff5200;
        letter-spacing: 0.02em;
        white-space: nowrap;
      }
      .price-table td.label {
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.12em;
        font-size: 0.8rem;
        color: rgba(255,255,255,0.85);
      }
      [data-theme="light"] .price-table td.label { color: rgba(6,15,26,0.85); }
      .price-table td.note {
        color: var(--text-sub);
        font-size: 0.8rem;
      }

      .table-wrap {
        border-radius: 0.75rem;
        border: 1px solid var(--border-table);
        overflow: hidden;
        background: var(--bg-card);
      }

      /* Trust panel */
      .trust-panel {
        border-radius: 0.875rem;
        border: 1px solid var(--border-subtle);
        background: var(--bg-card);
        padding: 1.25rem 1.25rem;
        backdrop-filter: blur(8px);
      }

      /* Highlight pill */
      .pill {
        display: inline-block;
        padding: 0.2rem 0.65rem;
        border-radius: 9999px;
        background: rgba(255,82,0,0.12);
        color: #ff5200;
        font-family: "Barlow Condensed", sans-serif;
        font-weight: 600;
        font-size: 0.7rem;
        text-transform: uppercase;
        letter-spacing: 0.18em;
      }
      .pill.live { background: rgba(34,197,94,0.15); color: #4ade80; }
      .pill.coming { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.7); }
      [data-theme="light"] .pill.coming { color: rgba(6,15,26,0.7); }
      .pill.cert { background: rgba(255,255,255,0.06); color: rgba(255,255,255,0.85); font-size: 0.62rem; letter-spacing: 0.15em; padding: 0.18rem 0.55rem; }
      [data-theme="light"] .pill.cert { color: rgba(6,15,26,0.78); }

      .job-card {
        border-radius: 1rem;
        border: 1px solid var(--border-subtle);
        background: var(--bg-card);
        padding: 1.75rem;
        backdrop-filter: blur(8px);
        box-shadow: 0 10px 40px rgba(0,0,0,0.7);
        transition: border-color 0.2s, box-shadow 0.2s;
      }
      [data-theme="light"] .job-card { box-shadow: 0 4px 20px rgba(11,31,56,0.08); }
      .job-card:hover {
        border-color: rgba(255,82,0,0.35);
        box-shadow: 0 10px 40px rgba(0,0,0,0.7), 0 0 20px rgba(255,82,0,0.1);
      }
      [data-theme="light"] .job-card:hover { box-shadow: 0 8px 28px rgba(11,31,56,0.12), 0 0 20px rgba(255,82,0,0.08); }
