/* ==========================================================================
   Israeli Car — TEST homepage (bright luxury)
   Isolated from live home / index.php.
   ========================================================================== */

.th-site {
    /* Brand tokens for shared chrome + pages using the new design language */
    --th-bg: #ffffff;
    --th-bg-soft: #f4f5f7;
    --th-bg-house: #f4f8fe;
    --th-bg-warm: #f6f8fb;
    --th-bg-stage: #f7f8fa;
    --th-ink: #101828;
    --th-ink-soft: #1f2937;
    --th-muted: #5c6570;
    --th-line: #e3e8ef;
    --th-line-strong: #cdd6e2;
    --th-navy: #0a1a3d;
    --th-navy-soft: #eaf2fd;
    --th-accent: #1868c9;
    --th-accent-bright: #0081fc;
    --th-card: #ffffff;
    --th-shadow: 0 16px 40px rgba(17, 24, 39, 0.06);
    --th-radius: 4px;
    --th-radius-media: 16px;
    --th-rail: 680px;
    --th-rail-wide: 1100px;
    --th-fold-pad: clamp(4.5rem, 11vw, 7.5rem);
    --th-sp-1: 8px;
    --th-sp-2: 16px;
    --th-sp-3: 24px;
    --th-sp-4: 32px;
    --th-sp-5: 48px;
    --th-sp-6: 64px;
    --th-header-h: 68px;
    --th-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --th-dur: 520ms;
    letter-spacing: normal;
}
.page-test-home {
    background: var(--th-bg);
    color: var(--th-ink);
}

.page-test-home .site-header,
.page-test-home .site-footer {
    display: none !important;
}

/* —— Custom header (bright luxury) —— */
.th-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.92);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid transparent;
    transition: border-color var(--th-dur) var(--th-ease),
                box-shadow var(--th-dur) var(--th-ease),
                background var(--th-dur) var(--th-ease);
}
.th-header.is-scrolled {
    border-bottom-color: var(--th-line);
    box-shadow: 0 8px 24px rgba(17, 24, 39, 0.04);
    background: rgba(255, 255, 255, 0.97);
}
.th-header__inner {
    width: min(100% - 2rem, var(--th-rail-wide));
    margin-inline: auto;
    min-height: var(--th-header-h, 68px);
    padding-top: max(10px, env(safe-area-inset-top, 0px));
    padding-bottom: 10px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.th-brand {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    color: var(--th-ink);
    flex-shrink: 0;
}
.th-brand__logo {
    height: 36px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    display: block;
}
.th-brand--footer .th-brand__logo {
    height: 32px;
    max-width: 160px;
}
.th-brand__mark {
    width: 28px;
    height: 28px;
    color: var(--th-navy);
}
.th-brand__mark svg { width: 28px; height: 28px; }

.th-nav {
    display: flex;
    align-items: center;
    gap: 20px;
}
.th-nav__links {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
.th-nav__links a {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--th-muted);
    padding: 8px 10px;
    border-radius: var(--th-radius);
    transition: color 220ms var(--th-ease), background 220ms var(--th-ease);
}
.th-nav__links a:hover,
.th-nav__links a.is-active {
    color: var(--th-navy);
    background: var(--th-navy-soft);
}

.th-nav-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: var(--th-ink);
    border-radius: var(--th-radius);
}
.th-nav-toggle svg { width: 22px; height: 22px; }
.th-nav-toggle__close { display: none; }
.th-nav-toggle.is-active .th-nav-toggle__open { display: none; }
.th-nav-toggle.is-active .th-nav-toggle__close { display: block; }

.th-main { display: block; }

/* —— Learn-from-drivers priorities (scoped; replaces old tech domains) —— */
.th-fold--learn {
    padding-block: clamp(4.5rem, 8vw, 5.5rem); /* ~72–88px */
    background: var(--th-bg);
    border-block: 1px solid var(--th-line);
}
.th-learn {
    display: grid;
    grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
    gap: clamp(3.5rem, 5vw, 4.5rem); /* ~56–72px */
    align-items: start;
}
.th-learn__intro {
    max-width: 26rem;
}
.th-learn__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem; /* 13px */
    font-weight: 600;
    line-height: 1.4;
    color: var(--th-muted);
    letter-spacing: normal;
}
.th-learn__title {
    margin: 0 0 1.25rem;
    font-size: clamp(2.25rem, 3.4vw, 2.625rem); /* 36–42 */
    font-weight: 650;
    line-height: 1.2;
    color: var(--th-navy);
    max-width: 16ch;
}
.th-learn__lead {
    margin: 0 0 1rem;
    font-size: 1.125rem; /* 18px */
    line-height: 1.7;
    color: var(--th-ink-soft);
    max-width: 34rem;
}
.th-learn__lead:last-child {
    margin-bottom: 0;
}

.th-learn__main {
    min-width: 0;
}
.th-learn__topics {
    border-block-start: 1px solid var(--th-line);
}
.th-topic {
    border-block-end: 1px solid var(--th-line);
    background: transparent;
    box-shadow: none;
    border-radius: 0;
}
.th-topic__summary {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 14px 18px;
    align-items: start;
    padding-block: 1.5rem; /* ~24px */
    padding-inline: 0;
    list-style: none;
    cursor: pointer;
    color: inherit;
}
.th-topic__summary::-webkit-details-marker { display: none; }
.th-topic__summary::marker { content: ''; }
.th-topic__summary:focus {
    outline: none;
}
.th-topic__summary:focus-visible {
    outline: 2px solid var(--th-accent);
    outline-offset: 4px;
}

.th-topic__num {
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1.6;
    color: var(--th-muted);
    font-variant-numeric: tabular-nums;
    padding-top: 0.2rem;
    min-width: 1.75rem;
}
.th-topic__text {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
}
.th-topic__title {
    font-size: clamp(1.25rem, 1.6vw, 1.375rem); /* 20–22 */
    font-weight: 650;
    line-height: 1.35;
    color: var(--th-navy);
}
.th-topic__short {
    font-size: 1rem; /* 16 */
    font-weight: 400;
    line-height: 1.55;
    color: var(--th-ink-soft);
}
.th-topic__icon {
    width: 1.5rem;
    height: 1.5rem;
    margin-top: 0.15rem;
    position: relative;
    flex-shrink: 0;
}
.th-topic__icon::before,
.th-topic__icon::after {
    content: '';
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    width: 12px;
    height: 1.5px;
    background: var(--th-navy);
    transform: translate(-50%, -50%);
    transition: transform 180ms var(--th-ease), opacity 180ms var(--th-ease);
}
.th-topic__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}
.th-topic[open] .th-topic__icon::after {
    transform: translate(-50%, -50%) rotate(0deg);
    opacity: 0;
}

.th-topic__expand {
    padding: 0;
    padding-inline-start: calc(1.75rem + 18px); /* align under title+short */
    max-width: 40rem;
    overflow: hidden;
    display: none; /* JS sets block while animating */
}
.th-topic.is-animating .th-topic__expand,
.th-topic[open] .th-topic__expand {
    display: block;
}
.th-topic__expand-inner {
    padding-bottom: 1.5rem;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 280ms var(--th-ease), transform 320ms var(--th-ease);
}
.th-topic.is-open .th-topic__expand-inner {
    opacity: 1;
    transform: translateY(0);
}
.th-topic__expand p {
    margin: 0;
    font-size: 1.015625rem; /* ~16.25 */
    line-height: 1.65;
    color: var(--th-ink-soft);
}

.th-learn__note {
    margin: 1.5rem 0 0.85rem;
    font-size: 0.90625rem; /* ~14.5 */
    line-height: 1.65;
    color: var(--th-ink-soft);
    max-width: 40rem;
}
.th-learn__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--th-accent);
    text-decoration: none;
    line-height: 1.4;
    transition: color 180ms var(--th-ease);
}
.th-learn__link:hover {
    color: var(--th-accent-bright);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.th-learn__link:focus-visible {
    outline: 2px solid var(--th-accent);
    outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
    .th-topic__icon::before,
    .th-topic__icon::after {
        transition: none;
    }
    .th-topic__expand-inner {
        transition: none;
        transform: none;
    }
}

@media (max-width: 900px) {
    .th-fold--learn {
        padding-block: clamp(3.5rem, 10vw, 4.5rem);
    }
    .th-learn {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .th-learn__main {
        margin-inline: 10px;
    }
    .th-learn__intro { max-width: none; }
    .th-learn__title {
        max-width: none;
        font-size: clamp(1.75rem, 6vw, 2rem); /* 28–32 */
    }
    .th-learn__lead { font-size: 1.0625rem; }
    .th-topic__title { font-size: 1.1875rem; /* 19 ≈ 18–20 */ }
    .th-topic__short,
    .th-topic__expand p { font-size: 1rem; }
    .th-topic__summary {
        padding-block: 1.35rem;
        min-height: 44px;
    }
    .th-topic__expand {
        padding-inline-start: calc(1.75rem + 14px);
    }
}

@media (max-width: 480px) {
    .th-topic__summary {
        gap: 10px 12px;
    }
}


/* —— Fold rhythm —— */
.th-fold {
    padding-block: var(--th-fold-pad);
    position: relative;
    scroll-margin-top: calc(var(--th-header-h) + 12px);
}
.th-fold--hero {
    padding-top: clamp(2.5rem, 6vw, 4.5rem);
    padding-bottom: 0;
    background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
    min-height: min(88vh, 900px);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.th-fold--editorial { background: var(--th-bg); }
.th-fold--atelier { background: var(--th-bg-soft); }
.th-fold--showroom { background: var(--th-bg); }
.th-fold--house { background: var(--th-bg-house); }
.th-fold--close {
    background: linear-gradient(180deg, var(--th-bg-soft) 0%, #eef1f5 100%);
    border-top: 1px solid var(--th-line);
}

.th-fold__stage,
.th-rail {
    width: min(100% - 2rem, var(--th-rail));
    margin-inline: auto;
}
.th-rail--wide { width: min(100% - 2rem, var(--th-rail-wide)); }
.th-rail--center { text-align: center; }
.th-fold__stage {
    width: min(100% - 2rem, 780px);
    padding-bottom: var(--th-sp-5);
}

/* —— Typography —— */
.th-display {
    margin: 0 0 var(--th-sp-3);
    font-size: clamp(2.35rem, 6.5vw, 4.1rem);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: normal;
    color: var(--th-ink);
    max-width: 16ch;
    text-wrap: balance;
}
.th-display__soft {
    font-weight: 400;
    color: var(--th-navy);
}

.th-headline {
    margin: 0 0 var(--th-sp-3);
    font-size: clamp(1.75rem, 3.8vw, 2.75rem);
    font-weight: 550;
    line-height: 1.2;
    letter-spacing: normal;
    color: var(--th-ink);
    max-width: 20ch;
    text-wrap: balance;
}
.th-headline--lg {
    font-size: clamp(1.9rem, 4.2vw, 3rem);
    max-width: 18ch;
}
.th-headline--display {
    font-size: clamp(1.9rem, 4.5vw, 3.1rem);
    max-width: 18ch;
    margin-inline: auto;
}
.th-rail--center .th-headline { margin-inline: auto; }

.th-dek,
.th-body {
    margin: 0 0 var(--th-sp-4);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: normal;
    word-spacing: 0.02em;
    color: var(--th-muted);
    max-width: 40rem;
}
.th-body strong { color: var(--th-ink-soft); font-weight: 600; }
.th-body--center {
    margin-inline: auto;
    text-align: center;
}

.th-hero-pills {
    list-style: none;
    margin: var(--th-sp-4) 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.th-hero-pills li {
    font-size: 0.8125rem;
    font-weight: 550;
    color: var(--th-navy);
    background: var(--th-navy-soft);
    border: 1px solid var(--th-line);
    border-radius: 999px;
    padding: 6px 12px;
    line-height: 1.3;
}

/* —— CTAs —— */
.th-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: var(--th-sp-1);
    margin-bottom: var(--th-sp-5);
}
.th-cta + .th-photo {
    margin-top: var(--th-sp-2);
}
.th-cta--center { justify-content: center; }

.th-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 22px;
    border-radius: var(--th-radius);
    font-size: 0.975rem;
    font-weight: 550;
    line-height: 1.2;
    letter-spacing: normal;
    text-decoration: none;
    text-transform: none;
    border: 1px solid transparent;
    transition: background 220ms var(--th-ease),
                border-color 220ms var(--th-ease),
                color 220ms var(--th-ease),
                transform 220ms var(--th-ease),
                box-shadow 220ms var(--th-ease);
}
.th-btn svg { width: 18px; height: 18px; flex-shrink: 0; }
.th-btn--sm {
    min-height: 40px;
    padding: 8px 14px;
    font-size: 0.875rem;
}
.th-btn--solid {
    background: var(--th-navy);
    color: #fff;
    border-color: var(--th-navy);
    box-shadow: 0 10px 28px rgba(11, 31, 58, 0.16);
}
.th-btn--solid:hover {
    background: #10254f; /* --ic-navy-800 */
    border-color: #10254f;
    color: #fff;
    transform: translateY(-1px);
}
.th-btn--ghost {
    background: transparent;
    color: var(--th-navy);
    border-color: var(--th-line-strong);
}
.th-btn--ghost:hover {
    background: var(--th-navy-soft);
    border-color: var(--th-navy);
    color: var(--th-navy);
}
.th-btn--lg {
    min-height: 52px;
    padding: 14px 26px;
    font-size: 1.05rem;
}

/* —— Hero media —— */
.th-hero-media {
    margin: 0;
    width: 100%;
    aspect-ratio: 21 / 9;
    max-height: 46vh;
    overflow: hidden;
    background: var(--th-bg-soft);
    border-top: 1px solid var(--th-line);
}
.th-hero-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
    display: block;
    will-change: transform;
}

.th-hero-media picture {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
}
.th-hero-media picture img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
    display: block;
}


/* —— Split layout —— */
.th-split {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
}
.th-split__media {
    margin: 0;
    border-radius: 8px; /* was 16 — softer corner for vision image */
    overflow: hidden;
    border: 1px solid var(--th-line);
    background: var(--th-card);
    aspect-ratio: 16 / 10;
    box-shadow: var(--th-shadow);
}
.th-split__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Quote */
.th-quote {
    margin: 0 0 var(--th-sp-4);
    padding-block: var(--th-sp-3);
    padding-inline-end: 0;
    padding-inline-start: var(--th-sp-4);
    border-inline-start: 2px solid var(--th-navy);
}
.th-quote blockquote {
    margin: 0 0 var(--th-sp-2);
    font-size: clamp(1.1rem, 1.6vw, 1.22rem);
    font-weight: 450;
    line-height: 1.65;
    color: var(--th-ink-soft);
}
.th-quote figcaption {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--th-muted);
}
.th-quote figcaption strong {
    color: var(--th-ink);
    font-weight: 600;
}

.th-points {
    list-style: none;
    margin: 0 0 var(--th-sp-5);
    padding: 0;
    display: grid;
    gap: 14px;
    max-width: 42rem;
}
.th-points li {
    position: relative;
    padding-inline-start: 18px;
    color: var(--th-muted);
    font-size: 1.05rem;
    line-height: 1.65;
}
.th-points li::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 0.6em;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--th-navy);
}

.th-photo {
    margin: 0 0 var(--th-sp-4);
    border-radius: var(--th-radius-media);
    overflow: hidden;
    border: 1px solid var(--th-line);
    background: var(--th-card);
    aspect-ratio: 16 / 9;
}
.th-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    will-change: transform;
}

/* —— Unified cards (all late sections share this) —— */
.th-map,
.th-card-grid {
    display: grid;
    gap: var(--th-sp-2);
    margin: 0 0 var(--th-sp-5);
}
.th-map { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.th-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.th-card-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.th-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: clamp(1.4rem, 2.5vw, 2rem);
    min-height: 160px;
    background: var(--th-card);
    border: 1px solid var(--th-line);
    border-radius: var(--th-radius-media);
    text-decoration: none;
    color: inherit;
    box-shadow: none;
    transition: border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}
a.th-card:hover {
    border-color: var(--th-line-strong);
    box-shadow: var(--th-shadow);
    transform: translateY(-2px);
}
.th-card--static { min-height: 0; }
.th-card__icon {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--th-navy-soft);
    color: var(--th-navy);
    margin-bottom: 6px;
}
.th-card__icon svg { width: 20px; height: 20px; }
.th-card__name {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--th-ink);
    line-height: 1.3;
}
.th-card__meta {
    font-size: 0.9rem;
    line-height: 1.45;
    color: var(--th-muted);
}
.th-card__text {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--th-muted);
}

.th-fold--house .th-card {
    background: rgba(255, 255, 255, 0.82);
}

/* Metric */
.th-metric {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    margin: 8px 0 var(--th-sp-3);
}
.th-metric__num {
    font-size: clamp(3.2rem, 8vw, 4.75rem);
    font-weight: 550;
    letter-spacing: -0.03em;
    line-height: 1;
    color: var(--th-navy);
    font-variant-numeric: tabular-nums;
}
.th-metric__label {
    font-size: 0.95rem;
    color: var(--th-muted);
    line-height: 1.4;
}

/* —— Stage fold (merged status + next steps) —— */
.th-fold--stage {
    background: #ffffff;
    padding-block: clamp(4.5rem, 9vw, 6.5rem);
    border-block: 1px solid var(--th-line);
}
.th-stage {
    max-width: none;
}
.th-stage__intro {
    text-align: right;
    max-width: 40rem;
    margin-bottom: clamp(2rem, 3.5vw, 2.75rem);
}
.th-stage__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem; /* 13 */
    font-weight: 600;
    line-height: 1.4;
    color: var(--th-muted);
    letter-spacing: normal;
}
.th-stage__title {
    margin: 0;
    font-size: clamp(1.875rem, 3.2vw, 2.5rem); /* 30–40 */
    font-weight: 650;
    line-height: 1.25;
    color: var(--th-navy);
    max-width: 22ch;
}
.th-stage__now {
    margin: 0 0 clamp(2.25rem, 4vw, 3rem);
    padding: clamp(1.25rem, 2.2vw, 1.75rem) clamp(1.25rem, 2.5vw, 1.75rem);
    padding-inline-start: clamp(1.25rem, 2.5vw, 1.75rem);
    border-inline-start: 2px solid var(--th-accent); /* physical right in RTL */
    background: transparent;
    max-width: 42rem;
}
.th-stage__now-label {
    margin: 0 0 0.5rem;
    font-size: 0.75rem; /* 12 */
    font-weight: 600;
    line-height: 1.4;
    color: var(--th-accent);
    letter-spacing: normal;
}
.th-stage__now-title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.25rem, 1.8vw, 1.5rem); /* 20–24 */
    font-weight: 650;
    line-height: 1.35;
    color: var(--th-navy);
}
.th-stage__now-body {
    margin: 0;
    font-size: 1.0625rem; /* 17 */
    line-height: 1.7;
    color: var(--th-ink-soft);
    max-width: 40rem;
}
.th-stage__subhead {
    margin: 0 0 1.25rem;
    font-size: 1.0625rem; /* 17 */
    font-weight: 650;
    line-height: 1.4;
    color: var(--th-navy);
}
.th-stage__steps {
    list-style: none;
    margin: 0 0 clamp(2rem, 3.5vw, 2.75rem);
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    border-block-start: 1px solid var(--th-line);
}
.th-stage__step {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1.5rem 0;
    padding-inline: 1.5rem;
    border-inline-start: 1px solid var(--th-line);
    background: transparent;
    box-shadow: none;
    min-height: 0;
}
.th-stage__step:first-child {
    border-inline-start: 0;
    padding-inline-start: 0;
}
.th-stage__step:last-child {
    padding-inline-end: 0;
}
.th-stage__step-n {
    font-size: 0.8125rem; /* 13 */
    font-weight: 600;
    line-height: 1.3;
    color: var(--th-muted);
    font-variant-numeric: tabular-nums;
}
.th-stage__step-main {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 0;
}
.th-stage__step-t {
    font-size: 1.125rem; /* 18 */
    font-weight: 650;
    line-height: 1.35;
    color: var(--th-navy);
}
.th-stage__step-d {
    margin: 0;
    font-size: 1rem; /* 16 */
    line-height: 1.65;
    color: var(--th-ink-soft);
}
.th-stage__close {
    margin: 0 0 1.25rem;
    font-size: 1.0625rem; /* 17 */
    line-height: 1.7;
    color: var(--th-ink-soft);
    max-width: 42rem;
}
.th-stage__link {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--th-accent);
    text-decoration: none;
    line-height: 1.4;
    transition: color 180ms var(--th-ease);
}
.th-stage__link:hover {
    color: var(--th-accent-bright);
    text-decoration: underline;
    text-underline-offset: 4px;
}
.th-stage__link:focus-visible {
    outline: 2px solid var(--th-accent);
    outline-offset: 4px;
}
.th-stage__link-arrow {
    margin-inline-start: 0.15em;
}

@media (max-width: 900px) {
    .th-stage__steps {
        grid-template-columns: 1fr;
        border-block-start: 0;
    }
    .th-stage__step {
        border-inline-start: 0;
        border-block-start: 1px solid var(--th-line);
        padding-inline: 0;
        padding-block: 1.35rem;
    }
    .th-stage__step:first-child {
        border-block-start: 1px solid var(--th-line);
        padding-inline-start: 0;
    }
    .th-stage__title { max-width: none; }
}


/* —— Team (#team) — lead + invite, RTL two-column —— */
.th-fold--team {
    background: var(--th-bg-soft);
    border-block: 1px solid var(--th-line);
    padding-block: clamp(3.5rem, 8vw, 5.5rem);
}
.th-team {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(1.75rem, 4vw, 2.75rem);
    align-items: start;
}
.th-team__lead {
    min-width: 0;
}
.th-team__people {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.th-team__title {
    margin: 0 0 var(--th-sp-3);
    font-size: clamp(1.5rem, 3vw, 2rem);
    font-weight: 550;
    line-height: 1.25;
    color: var(--th-ink);
    max-width: 18ch;
    text-wrap: balance;
}
.th-team__profile {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1.1rem;
}
.th-team__photo {
    width: clamp(120px, 10vw, 160px);
    height: clamp(120px, 10vw, 160px);
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
    border-radius: 12px;
    border: 1px solid var(--th-line);
    background: var(--th-bg);
    display: block;
}
.th-team__photo.th-team__photo--initials {
    display: flex;
    align-items: center;
    justify-content: center;
    object-fit: unset;
    background: var(--th-bg-soft);
    color: var(--th-ink-soft);
    font-size: clamp(2.5rem, 5vw, 3.25rem);
    font-weight: 600;
    line-height: 1;
    user-select: none;
}
.th-team__photo.th-team__photo--initials span {
    display: block;
    line-height: 1;
}
.th-team__identity {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.th-team__name {
    margin: 0;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.3;
    color: var(--th-ink);
}
.th-team__role {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--th-ink-soft);
}
.th-team__bio {
    margin: 0.35rem 0 0;
    font-size: 0.9875rem;
    font-weight: 400;
    line-height: 1.65;
    color: var(--th-muted);
    max-width: 36rem;
}
.th-team__link,
.th-team__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.15rem;
    margin-top: 0.75rem;
    font-size: 0.9875rem;
    font-weight: 550;
    line-height: 1.4;
    color: var(--th-accent);
    text-decoration: none;
    transition: color 180ms var(--th-ease);
}
.th-team__link:hover,
.th-team__cta:hover {
    color: var(--th-accent-bright);
}
.th-team__link:focus-visible,
.th-team__cta:focus-visible {
    outline: 2px solid var(--th-accent);
    outline-offset: 3px;
    border-radius: 2px;
}
.th-team__link-arrow {
    display: inline-block;
    transition: transform 180ms var(--th-ease);
}
.th-team__link:hover .th-team__link-arrow,
.th-team__cta:hover .th-team__link-arrow {
    transform: translateX(-3px);
}
.th-team__invite {
    min-width: 0;
    padding-inline-start: clamp(1.5rem, 3.5vw, 2.25rem);
    border-inline-start: 1px solid var(--th-line-strong);
}
.th-team__invite-title {
    margin: 0 0 0.65rem;
    font-size: clamp(1.0625rem, 2vw, 1.25rem);
    font-weight: 550;
    line-height: 1.35;
    color: var(--th-ink);
    max-width: 28ch;
    text-wrap: balance;
}
.th-team__invite-text {
    margin: 0 0 0.85rem;
    font-size: 0.9875rem;
    line-height: 1.65;
    color: var(--th-muted);
    max-width: 36rem;
}
.th-team__domains {
    list-style: none;
    margin: 0 0 0.85rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}
.th-team__domains li {
    position: relative;
    padding-inline-start: 1.05rem;
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--th-ink-soft);
}
.th-team__domains li::before {
    content: "\2022";
    position: absolute;
    inset-inline-start: 0;
    color: var(--th-accent);
    font-weight: 700;
}
.th-team__note {
    margin: 0 0 0.35rem;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--th-muted);
    max-width: 36rem;
}
.th-team__cta {
    margin-top: 0.55rem;
}
@media (max-width: 800px) {
    .th-team {
        grid-template-columns: 1fr;
        gap: 1.75rem;
    }
    .th-team__invite {
        padding-inline-start: 0;
        border-inline-start: 0;
        padding-block-start: 1.5rem;
        border-block-start: 1px solid var(--th-line-strong);
    }
    .th-team__title { max-width: none; }
    .th-team__photo {
        width: 120px;
        height: 120px;
    }
}
@media (max-width: 480px) {
    .th-team__profile {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* —— Footer (dark navy, compact) —— */
.th-footer {
    background: #081632;
    border-top: none;
    padding-block: 52px;
    color: #c4cedd;
    box-shadow: none;
}
.th-footer__inner {
    width: min(100% - 2rem, var(--th-rail-wide));
    margin-inline: auto;
}
.th-footer__top {
    display: grid;
    grid-template-columns: 1.55fr 1fr 1fr;
    gap: clamp(1.5rem, 4vw, 2.75rem);
    margin-bottom: 28px;
    text-align: right;
}
.th-footer .th-brand--footer {
    display: inline-flex;
}
.th-footer .th-brand__logo--on-dark {
    height: auto;
    width: 180px;
    max-width: 190px;
    object-fit: contain;
}
.th-footer__tagline {
    margin: 14px 0 16px;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #c4cedd;
    max-width: 28ch;
}
.th-footer__social {
    display: flex;
    gap: 8px;
}
.th-footer__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-height: 40px;
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #c4cedd;
    background: transparent;
    box-shadow: none;
    transition: color 180ms var(--th-ease), border-color 180ms var(--th-ease);
}
.th-footer__social-link svg { width: 18px; height: 18px; }
.th-footer__social-link:hover,
.th-footer__social-link:focus-visible {
    color: #69b8ff;
    border-color: #69b8ff;
    background: transparent;
    outline: none;
}
.th-footer__social-link:focus-visible {
    outline: 2px solid #69b8ff;
    outline-offset: 2px;
}
.th-footer__col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}
.th-footer__heading {
    margin: 0 0 6px;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #ffffff;
    letter-spacing: normal;
    text-transform: none;
}
.th-footer__col a {
    font-size: 0.96875rem; /* ~15.5px */
    line-height: 1.45;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    color: #c4cedd;
    text-decoration: none;
    transition: color 180ms var(--th-ease);
}
.th-footer__col a:hover,
.th-footer__col a:focus-visible {
    color: #69b8ff;
}
.th-footer__col a:focus-visible {
    outline: 2px solid #69b8ff;
    outline-offset: 2px;
}
.th-footer__rule {
    height: 1px;
    background: rgba(255, 255, 255, 0.12);
    margin-bottom: 20px;
    border: 0;
    box-shadow: none;
}
.th-footer__bottom {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px 20px;
    font-size: 0.8125rem;
    color: #c4cedd;
}
.th-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 18px;
}
.th-footer__legal a {
    color: #c4cedd;
    text-decoration: none;
}
.th-footer__legal a:hover,
.th-footer__legal a:focus-visible {
    color: #69b8ff;
}
.th-footer__legal a:focus-visible {
    outline: 2px solid #69b8ff;
    outline-offset: 2px;
}

@media (max-width: 968px) {
    .th-footer {
        padding-block: 48px;
    }
    .th-footer__inner {
        width: 100%;
        max-width: none;
        padding-inline: 22px;
        box-sizing: border-box;
    }
    .th-footer__top {
        grid-template-columns: 1fr 1fr;
        gap: 28px 20px;
    }
    .th-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 480px) {
    .th-footer__top {
        grid-template-columns: 1fr 1fr;
    }
    .th-footer .th-brand__logo--on-dark {
        width: 170px;
    }
}

/* —— Scroll reveal (luxury quiet) —— */
.th-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity var(--th-dur) var(--th-ease),
                transform var(--th-dur) var(--th-ease);
    transition-delay: 0ms;
}
.th-reveal.is-in {
    opacity: 1;
    transform: none;
}
.th-reveal--delay,
.th-reveal--d1 { transition-delay: 80ms; }
.th-reveal--d2 { transition-delay: 140ms; }
.th-reveal--d3 { transition-delay: 200ms; }

.th-parallax img {
    transform: translate3d(0, var(--th-py, 0px), 0) scale(1.04);
    transition: none;
}

/* —— Responsive —— */
@media (max-width: 1100px) {
    .th-nav-toggle { display: inline-flex; }

    .th-header {
        overflow: visible;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        background: #ffffff;
        z-index: 1200; /* above the white panel so X stays visible */
        position: sticky;
        top: 0;
        padding-top: env(safe-area-inset-top, 0px);
    }
    html.th-nav-open .th-header,
    body.th-nav-lock .th-header {
        position: fixed;
        inset-inline: 0;
        top: 0;
        width: 100%;
        background: #ffffff;
        border-bottom: 1px solid var(--th-line);
        padding-top: env(safe-area-inset-top, 0px);
    }

    /* Larger close/open — stay inside the header row, not under notch */
    .th-nav-toggle {
        width: 48px;
        height: 48px;
        position: relative;
        z-index: 1202;
        margin: 0;
        flex-shrink: 0;
        align-self: center;
    }
    .th-nav-toggle svg {
        width: 28px;
        height: 28px;
        display: block;
    }
    .th-nav-toggle:focus-visible {
        outline: 3px solid var(--th-accent-bright);
        outline-offset: 3px;
    }

    .th-nav {
        position: fixed;
        inset: 0;
        width: 100%;
        max-width: 100%;
        height: 100%;
        height: 100dvh;
        max-height: none;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        background: #ffffff;
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        padding: calc(var(--th-header-h) + env(safe-area-inset-top, 0px) + 16px) 24px calc(40px + env(safe-area-inset-bottom, 0px));
        border-top: none;
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: none;
        transition: opacity 220ms var(--th-ease), visibility 220ms;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        z-index: 1100;
    }
    .th-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
    .th-nav__links {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 12px 0 28px;
    }
    .th-nav__links a {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 64px;
        padding: 18px 4px;
        border-radius: 0;
        border-bottom: 1px solid var(--th-line-strong);
        font-size: 1.375rem;
        line-height: 1.35;
        font-weight: 700;
        color: var(--th-navy);
        background: #ffffff;
        opacity: 0;
        transform: translateX(28px);
        transition: opacity 280ms var(--th-ease), transform 280ms var(--th-ease), background 160ms var(--th-ease), color 160ms var(--th-ease);
    }
    .th-nav__links a:first-child {
        border-top: 1px solid var(--th-line-strong);
    }
    .th-nav.is-open .th-nav__links a {
        opacity: 1;
        transform: translateX(0);
    }
    .th-nav.is-open .th-nav__links a:nth-child(1) { transition-delay: 40ms; }
    .th-nav.is-open .th-nav__links a:nth-child(2) { transition-delay: 80ms; }
    .th-nav.is-open .th-nav__links a:nth-child(3) { transition-delay: 120ms; }
    .th-nav.is-open .th-nav__links a:nth-child(4) { transition-delay: 160ms; }
    .th-nav.is-open .th-nav__links a:nth-child(5) { transition-delay: 200ms; }
    .th-nav.is-open .th-nav__links a:nth-child(6) { transition-delay: 240ms; }
    .th-nav.is-open .th-nav__links a:nth-child(7) { transition-delay: 280ms; }
    .th-nav.is-open .th-nav__links a:nth-child(8) { transition-delay: 320ms; }
    .th-nav.is-open .th-nav__links a:nth-child(9) { transition-delay: 360ms; }
    .th-nav.is-open .th-nav__links a:nth-child(10) { transition-delay: 400ms; }
    .th-nav__links a:hover,
    .th-nav__links a:focus-visible,
    .th-nav__links a.is-active {
        color: var(--th-navy);
        background: var(--th-navy-soft);
    }
    .th-nav > .th-btn {
        width: 100%;
        min-height: 56px;
        font-size: 1.0625rem;
        margin-top: auto;
        opacity: 0;
        transform: translateY(28px);
        transition: opacity 320ms var(--th-ease), transform 320ms var(--th-ease), background 160ms var(--th-ease), color 160ms var(--th-ease);
        transition-delay: 0ms;
    }
    .th-nav.is-open > .th-btn {
        opacity: 1;
        transform: translateY(0);
        transition-delay: 280ms;
    }
}

@media (max-width: 1100px) and (prefers-reduced-motion: reduce) {
    .th-nav,
    .th-nav__links a,
    .th-nav > .th-btn {
        transition: none !important;
        transform: none !important;
    }
    .th-nav:not(.is-open) {
        opacity: 0;
        visibility: hidden;
    }
    .th-nav.is-open .th-nav__links a,
    .th-nav.is-open > .th-btn {
        opacity: 1;
    }
}
@media (max-width: 968px) {
    .th-split { grid-template-columns: 1fr; }
    .th-card-grid--3 { grid-template-columns: 1fr 1fr; }
    .th-footer__top { grid-template-columns: 1fr 1fr; }
    .th-footer__brand { grid-column: 1 / -1; }

    /* Hero: content height, no empty flex gap; image keeps native ratio */
    .th-fold--hero {
        min-height: 0;
        justify-content: flex-start;
        padding-top: calc(1.25rem + env(safe-area-inset-top, 0px));
    }
    .th-fold--hero .th-fold__stage {
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        padding-inline: 22px;
        padding-bottom: 0;
        margin-inline: 0;
    }
    .th-fold--hero .th-display {
        max-width: none;
        font-size: clamp(1.875rem, 5.5vw, 2.25rem); /* 30–36px */
        line-height: 1.2;
        margin: 0 0 20px;
        text-wrap: pretty;
    }
    .th-fold--hero .th-dek {
        max-width: none;
        font-size: 1.03125rem; /* ~16.5px */
        line-height: 1.6;
        margin: 0 0 24px;
        word-spacing: normal;
    }
    .th-fold--hero .th-cta {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex-wrap: nowrap;
        gap: 12px;
        margin: 0 0 32px; /* 28–36px before image */
    }
    .th-fold--hero .th-cta .th-btn {
        width: 100%;
        min-height: 48px;
        box-sizing: border-box;
        justify-content: center;
    }
    .th-fold--hero .th-btn--solid {
        box-shadow: 0 4px 14px rgba(11, 31, 58, 0.1);
    }
    .th-fold--hero .th-hero-media,
    .th-hero-media {
        aspect-ratio: auto;
        max-height: none;
        height: auto;
        width: 100%;
        max-width: 100%;
        overflow: hidden; /* clip parallax scale — prevent horizontal scrollbar */
    }
    .th-fold--hero .th-hero-media picture,
    .th-hero-media picture {
        height: auto;
        max-width: 100%;
    }
    .th-fold--hero .th-hero-media img,
    .th-hero-media img {
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
        object-position: center center;
    }
    /* Parallax scale(1.04) overflows viewport on narrow screens */
    .th-fold--hero .th-parallax img,
    .th-parallax img {
        transform: none;
        will-change: auto;
    }
    /* First screen copy: no fade/slide-in on small screens */
    .th-fold--hero .th-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .page-test-home {
        overflow-x: clip;
    }
}
@media (max-width: 640px) {
    .th-fold__stage,
    .th-rail,
    .th-rail--wide,
    .th-header__inner { width: min(100% - 1.5rem, var(--th-rail-wide)); }
    /* Footer keeps its own 22px padding from the footer media query */
    .th-fold--hero .th-fold__stage {
        width: 100%;
        padding-inline: 22px;
    }
    .th-display,
    .th-headline,
    .th-headline--lg,
    .th-headline--display { max-width: none; }
    .th-map,
    .th-card-grid--3,
    .th-card-grid--2 { grid-template-columns: 1fr; }
    .th-cta .th-btn--solid,
    .th-btn--lg { width: 100%; }
    /* Keep two link columns; brand already spans full width */
    .th-footer__top {
        grid-template-columns: 1fr 1fr;
    }
    .th-footer__brand { grid-column: 1 / -1; }
    .th-footer__bottom {
        justify-content: flex-start;
        text-align: right;
    }
    .th-footer__legal { justify-content: flex-start; }
}
@media (min-width: 1280px) {
    .th-fold--hero .th-fold__stage { width: min(100% - 3rem, 820px); }
    .th-rail--wide,
    .th-header__inner,
    .th-footer__inner { width: min(100% - 3rem, 1120px); }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .th-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    .th-parallax img {
        transform: none !important;
        will-change: auto;
    }
    .th-btn,
    .th-header,
    .th-nav,
    a.th-card {
        transition: none !important;
    }
}


/* Technology preview owns its rail so the full-width treatment cannot affect other sections. */
.page-test-home .th-fold--tech-preview .th-tprev-rail {
    width: 100%;
    max-width: none;
    padding-inline: 26px;
    box-sizing: border-box;
}

/* —— Technology preview (dark navy band) —— */
.th-fold--tech-preview {
    background: var(--th-navy); /* brand midnight #0a1a3d — solid, no gradient */
    color: #e8eef7;
    padding-block: clamp(4rem, 7vw, 5rem); /* ~64–80px */
    border: 0;
}
.th-tprev {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.th-tprev__intro {
    text-align: right;
    max-width: 42rem;
    margin-bottom: clamp(2rem, 3.5vw, 2.5rem); /* ~32–40 after lead */
}
.th-tprev__eyebrow {
    margin: 0 0 0.75rem;
    font-size: 0.8125rem; /* 13 */
    font-weight: 600;
    line-height: 1.4;
    color: #9db0cc; /* muted on navy */
    letter-spacing: normal;
}
.th-tprev__title {
    margin: 0 0 1.1rem;
    font-size: clamp(2rem, 2.8vw, 2.375rem); /* 32–38 */
    font-weight: 650;
    line-height: 1.25;
    color: #ffffff;
    max-width: 22ch;
}
.th-tprev__lead {
    margin: 0;
    font-size: clamp(1rem, 1.2vw, 1.125rem); /* 16–18 */
    line-height: 1.65;
    color: #c8d4e6;
}

.th-tprev__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(1rem, 1.6vw, 1.35rem);
    align-items: stretch;
}
.th-tprev__item {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    min-width: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
/* Vertical thin dividers between columns (desktop) */
.th-tprev__item + .th-tprev__item {
    border-inline-start: 1px solid rgba(255, 255, 255, 0.14);
    padding-inline-start: clamp(1rem, 1.6vw, 1.35rem);
    margin-inline-start: 0;
}

.th-tprev__need {
    margin: 0 0 0.55rem;
    font-size: clamp(1.125rem, 1.25vw, 1.3125rem); /* 18–21 — slightly tighter for 5 cols */
    font-weight: 650;
    line-height: 1.3;
    color: #ffffff;
}
.th-tprev__company {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.55rem;
    margin: 0 0 0.85rem;
    font-size: 0.875rem; /* 14 */
    font-weight: 600;
    line-height: 1.4;
    color: #a8bdd8;
}
.th-tprev__logo-frame,
.th-tprev__logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 4px 8px;
    background: #ffffff;
    border-radius: 4px;
}
.th-tprev__logo-link {
    margin: -4px -8px;
    color: inherit;
    text-decoration: none;
    transition: box-shadow 180ms var(--th-ease), background-color 180ms var(--th-ease);
}
.th-tprev__logo-link:hover {
    background: #f4f8fc;
    box-shadow: 0 0 0 2px rgba(125, 211, 252, 0.55);
}
.th-tprev__logo-link:focus-visible {
    outline: 2px solid #7dd3fc;
    outline-offset: 3px;
}
.th-tprev__logo {
    display: block;
    height: 22px;
    width: auto;
    max-width: 96px;
    object-fit: contain;
    object-position: center;
    flex: 0 0 auto;
    /* aspect-ratio comes from inline style (real file dims) */
}
.th-tprev__ename {
    unicode-bidi: isolate;
    direction: ltr;
}
.th-tprev__body {
    margin: 0 0 1.15rem;
    font-size: clamp(0.9375rem, 1.05vw, 1.0625rem); /* 15–17 */
    line-height: 1.6;
    color: #c8d4e6;
    flex: 1 1 auto; /* push link to bottom — align links via flex */
}
.th-tprev__link {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    min-height: 44px;
    margin-top: auto;
    font-size: 0.9375rem; /* 15 */
    font-weight: 600;
    line-height: 1.4;
    color: #7dd3fc; /* cyan / light-blue, contrast on navy */
    text-decoration: none;
    transition: color 180ms var(--th-ease);
}
.th-tprev__link:hover {
    color: #bae6fd;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.th-tprev__link:focus-visible {
    outline: 2px solid #7dd3fc;
    outline-offset: 4px;
}

.th-tprev__foot {
    margin-top: clamp(2rem, 3.5vw, 2.75rem);
    padding-top: clamp(1.5rem, 2.5vw, 2rem);
    border-block-start: 1px solid rgba(255, 255, 255, 0.14);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
}
.th-tprev__disclaimer {
    margin: 0;
    font-size: 0.875rem; /* 14 */
    line-height: 1.65;
    color: #a8b8cc;
    max-width: 46rem;
}
.th-tprev__map {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 1.0625rem; /* 17 */
    font-weight: 600;
    line-height: 1.4;
    color: #7dd3fc;
    text-decoration: none;
    transition: color 180ms var(--th-ease);
}
.th-tprev__map:hover {
    color: #bae6fd;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.th-tprev__map:focus-visible {
    outline: 2px solid #7dd3fc;
    outline-offset: 4px;
}

/* Medium: 3+2 wrap */
@media (max-width: 1100px) {
    .th-tprev__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(1.25rem, 2.5vw, 1.75rem);
    }
    .th-tprev__item + .th-tprev__item {
        border-inline-start: 1px solid rgba(255, 255, 255, 0.14);
        padding-inline-start: clamp(1.25rem, 2.5vw, 1.75rem);
        border-block-start: 0;
        padding-block-start: 0;
        margin-block-start: 0;
    }
    .th-tprev__item:nth-child(3n+1) {
        border-inline-start: 0;
        padding-inline-start: 0;
    }
    .th-tprev__item:nth-child(n+4) {
        border-block-start: 1px solid rgba(255, 255, 255, 0.14);
        padding-block-start: 1.5rem;
        margin-block-start: 0.25rem;
    }
    .th-tprev__need {
        font-size: clamp(1.1875rem, 1.6vw, 1.375rem);
    }
    .th-tprev__body {
        font-size: clamp(1rem, 1.15vw, 1.125rem);
    }
    .th-tprev__link {
        font-size: 1rem;
    }
}

@media (max-width: 700px) {
    .th-fold--tech-preview {
        padding-block: clamp(3.25rem, 9vw, 4rem); /* ~52–64; margins 20–24 via rail */
    }
    .th-tprev__intro {
        max-width: none;
        margin-bottom: 1.75rem;
    }
    .th-tprev__title {
        max-width: none;
        font-size: clamp(1.6875rem, 5.5vw, 1.875rem); /* 27–30 */
    }
    .th-tprev__lead {
        font-size: 1rem; /* ≥16 */
    }
    .th-tprev__grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
    .th-tprev__item + .th-tprev__item,
    .th-tprev__item:nth-child(3n+1),
    .th-tprev__item:nth-child(n+4) {
        border-inline-start: 0;
        padding-inline-start: 0;
        border-block-start: 1px solid rgba(255, 255, 255, 0.14);
        padding-block-start: 1.5rem;
        margin-block-start: 1.5rem;
    }
    .th-tprev__item:first-child {
        border-block-start: 0;
        padding-block-start: 0;
        margin-block-start: 0;
    }
    .th-tprev__need {
        font-size: 1.25rem; /* 20 */
    }
    .th-tprev__company {
        font-size: 0.9375rem;
    }
    .th-tprev__logo {
        height: 24px;
    }
    .th-tprev__body {
        font-size: 1rem;
    }
    .th-tprev__link {
        font-size: 1rem;
    }
    .th-tprev__foot {
        margin-top: 1.75rem;
        padding-top: 1.5rem;
    }
    .th-tprev__disclaimer {
        font-size: 0.875rem;
    }
}

/* ===== Merged community closing (join-end) ===== */
.th-fold--community {
    background: #ffffff;
    border-block-start: 1px solid var(--th-line);
    padding-block: clamp(3rem, 7vw, 4.5rem);
}

.th-comm-rail {
    width: min(100% - 2rem, 740px);
    margin-inline: auto;
}

.th-comm {
    text-align: center;
    max-width: 740px;
    margin-inline: auto;
}

.th-comm__title {
    margin: 0 0 0.85rem;
    font-size: clamp(1.55rem, 3.4vw, 2.15rem);
    font-weight: 600;
    line-height: 1.28;
    letter-spacing: normal;
    color: var(--th-ink);
    text-wrap: balance;
    max-width: 22ch;
    margin-inline: auto;
}

.th-comm__lead {
    margin: 0 0 0.75rem;
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 1.7;
    color: var(--th-muted);
    max-width: 40rem;
    margin-inline: auto;
}

.th-comm__explain {
    margin: 0 0 1.25rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.7;
    color: var(--th-ink-soft);
    max-width: 40rem;
    margin-inline: auto;
}

/* Right-aligned list inside centered block (RTL page) */
.th-comm__list {
    list-style: none;
    margin: 0 auto 1.5rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    text-align: start; /* right in RTL */
    width: fit-content;
    max-width: min(100%, 28rem);
    margin-inline: auto;
}

.th-comm__list li {
    position: relative;
    padding-inline-start: 1.15rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.55;
    color: var(--th-ink-soft);
}

.th-comm__list li::before {
    content: "\2022";
    position: absolute;
    inset-inline-start: 0;
    color: var(--th-navy);
    font-weight: 700;
}

.th-comm__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
}

.th-comm__btn {
    /* navy via .th-btn--solid */
}

.th-comm__note {
    margin: 0;
    font-size: 0.8125rem;
    line-height: 1.55;
    color: var(--th-muted);
    max-width: 32rem;
}

.th-comm__alt {
    margin: 0.35rem 0 0;
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--th-muted);
}

.th-comm__alt-link {
    display: inline-flex;
    align-items: center;
    gap: 0.1rem;
    margin-inline-start: 0.2rem;
    font-weight: 550;
    color: var(--th-accent);
    text-decoration: none;
    transition: color 180ms var(--th-ease);
}

.th-comm__alt-link:hover {
    color: var(--th-accent-bright);
}

.th-comm__alt-link:focus-visible {
    outline: 2px solid var(--th-accent);
    outline-offset: 3px;
    border-radius: 2px;
}

.th-comm__alt-arrow {
    display: inline-block;
    transition: transform 180ms var(--th-ease);
}

.th-comm__alt-link:hover .th-comm__alt-arrow {
    transform: translateX(-3px);
}

@media (max-width: 700px) {
    .th-fold--community {
        padding-block: clamp(2.75rem, 8vw, 3.5rem);
    }
    .th-comm__title {
        max-width: none;
        font-size: clamp(1.4rem, 5.2vw, 1.75rem);
    }
    .th-comm__list {
        width: 100%;
        max-width: none;
    }
    .th-comm__btn,
    .th-comm__actions .th-btn {
        width: 100%;
    }
}
