﻿/* ══════════════════════════════════════════════════════════════════════
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TELEHEALTH PUBLIC PAGE
   Section prefixes: qth1, qth2, qth3, ...
   Loaded only on /public/Telehealth.aspx so :root tokens are scoped
   to this page automatically.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
══════════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════════
   PAGE-LEVEL DESIGN TOKENS · shared by ALL sections (qth1, qth2, ...)
   These MUST live at :root so every section descendant can read them.
══════════════════════════════════════════════════════════════════════ */

:root {
    --qth-c-obs: #07080a;
    --qth-c-obs-2: #0a0c14;
    --qth-c-obs-3: #0f1219;
    --qth-azure: #38bdf8;
    --qth-violet: #a78bfa;
    --qth-emerald: #34d399;
    --qth-amber: #fbbf24;
    --qth-rose: #fb7185;
    --qth-t-primary: #eaf1fc;
    --qth-t-secondary: rgba(234, 241, 252, 0.78);
    --qth-t-tertiary: rgba(234, 241, 252, 0.55);
    --qth-t-quaternary: rgba(234, 241, 252, 0.38);
    --qth-border: rgba(255, 255, 255, 0.055);
    --qth-border-2: rgba(255, 255, 255, 0.095);
    --qth-border-3: rgba(255, 255, 255, 0.16);
    --qth-r-md: 12px;
    --qth-r-lg: 16px;
    --qth-r-full: 999px;
    --qth-page-pad: clamp(20px, 4vw, 56px);
    --qth-page-max: 1280px;
    --qth-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    --qth-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
    --qth-font-display: 'Sora', system-ui, sans-serif;
    --qth-font-body: 'DM Sans', system-ui, sans-serif;
    --qth-font-mono: 'SF Mono', 'Fira Code', Menlo, monospace;
}


/* ══════════════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════════════
   SEC 1 (qth1) — Hero · "The video visit is just a visit."
   ═══════════════════════════════════════════════════════════════════════
══════════════════════════════════════════════════════════════════════ */

.qth1 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(80px, 12vh, 140px) 0 clamp(80px, 11vh, 130px);
    background: var(--qth-c-obs);
    color: var(--qth-t-primary);
    font-family: var(--qth-font-body);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-height: 720px;
}


/* ── Atmosphere · two soft aurora bands ───────────────────────────── */
.qth1-aurora {
    position: absolute;
    inset: -10%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1.4s var(--qth-ease-out);
}

.qth1.qth1-on .qth1-aurora {
    opacity: 1;
}

.qth1-aurora-band {
    position: absolute;
    width: 65%;
    height: 55%;
    border-radius: 50%;
    filter: blur(110px);
    opacity: 0.30;
    mix-blend-mode: screen;
}

.qth1-aurora-band-1 {
    top: -10%;
    left: -5%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.36) 0%, transparent 70%);
    animation: qth1-auroraDrift 32s ease-in-out infinite alternate;
}

.qth1-aurora-band-2 {
    bottom: -5%;
    right: -5%;
    background: radial-gradient(circle, rgba(168, 85, 247, 0.34) 0%, transparent 70%);
    animation: qth1-auroraDrift 32s ease-in-out infinite alternate -16s;
}

@keyframes qth1-auroraDrift {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(2%, -3%) scale(1.07);
    }
}


.qth1-grid-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, 0.030) 1px, transparent 1px);
    background-size: 32px 32px;
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 90%);
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 30%, transparent 90%);
    opacity: 0;
    transition: opacity 1.6s var(--qth-ease-out);
}

.qth1.qth1-on .qth1-grid-bg {
    opacity: 0.7;
}


/* ── Container + 2-column grid ─────────────────────────────────────── */
.qth1-container {
    position: relative;
    z-index: 2;
    max-width: var(--qth-page-max);
    margin: 0 auto;
    padding: 0 var(--qth-page-pad);
    display: grid;
    grid-template-columns: 1fr clamp(380px, 46%, 580px);
    gap: clamp(36px, 5vw, 72px);
    align-items: center;
    perspective: 1600px;
}


/* ── Left column · headline + features ─────────────────────────────── */
.qth1-left {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: clamp(20px, 2.4vw, 28px);
}

.qth1-eyebrow-wrap {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .9s var(--qth-ease-out) 300ms, transform .9s var(--qth-ease-out) 300ms;
}

.qth1.qth1-on .qth1-eyebrow-wrap {
    opacity: 1;
    transform: translateY(0);
}

.qth1-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 6px 14px 6px 12px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--qth-font-mono);
    font-size: 11px;
    font-weight: 600;
    color: var(--qth-t-secondary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth1-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.18), 0 0 8px rgba(56, 189, 248, 0.55);
    animation: qth1-pulse 2.6s ease-in-out infinite;
}

@keyframes qth1-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.55;
    }
}


.qth1-h1 {
    font-family: var(--qth-font-display);
    font-size: clamp(40px, 6.2vw, 76px);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.040em;
    color: var(--qth-t-primary);
    margin: 0;
    opacity: 0;
    transform: translateY(22px);
    transition: opacity 1s var(--qth-ease-out) 500ms, transform 1s var(--qth-ease-out) 500ms;
}

.qth1.qth1-on .qth1-h1 {
    opacity: 1;
    transform: translateY(0);
}

.qth1-h1-accent {
    display: inline-block;
    background: linear-gradient(135deg, var(--qth-azure) 0%, #818cf8 50%, var(--qth-violet) 100%);
    background-size: 220% 220%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 6px 28px rgba(99, 102, 241, 0.30));
    animation: qth1-gradientShift 9s ease-in-out infinite;
}

@keyframes qth1-gradientShift {
    0%, 100% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }
}


.qth1-sub {
    font-family: var(--qth-font-body);
    font-size: clamp(15px, 1.5vw, 17.5px);
    line-height: 1.65;
    color: var(--qth-t-secondary);
    margin: 0;
    max-width: 540px;
    letter-spacing: -0.005em;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity 1s var(--qth-ease-out) 700ms, transform 1s var(--qth-ease-out) 700ms;
}

.qth1.qth1-on .qth1-sub {
    opacity: 1;
    transform: translateY(0);
}


.qth1-features {
    list-style: none;
    margin: clamp(8px, 1vw, 14px) 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 1s var(--qth-ease-out) 900ms, transform 1s var(--qth-ease-out) 900ms;
}

.qth1.qth1-on .qth1-features {
    opacity: 1;
    transform: translateY(0);
}

.qth1-feature {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--qth-font-body);
    font-size: 13.5px;
    color: var(--qth-t-secondary);
    line-height: 1.45;
    letter-spacing: -0.005em;
}

    .qth1-feature strong {
        color: var(--qth-t-primary);
        font-weight: 700;
    }

.qth1-feature-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: rgba(52, 211, 153, 0.10);
    border: 1px solid rgba(52, 211, 153, 0.28);
    color: var(--qth-emerald);
    flex-shrink: 0;
}


.qth1-scroll {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: clamp(12px, 1.6vw, 18px);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 1s var(--qth-ease-out) 1500ms, transform 1s var(--qth-ease-out) 1500ms;
}

.qth1.qth1-on .qth1-scroll {
    opacity: 1;
    transform: translateY(0);
}

.qth1-scroll-line {
    width: 32px;
    height: 1px;
    background: linear-gradient(90deg, var(--qth-azure) 0%, transparent 100%);
}

.qth1-scroll-text {
    font-family: var(--qth-font-mono);
    font-size: 10px;
    font-weight: 600;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}


/* ── Right column · 3D device ──────────────────────────────────────── */
.qth1-right {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 540px;
    perspective: 1400px;
    perspective-origin: 50% 50%;
}

.qth1-bloom {
    position: absolute;
    inset: -8%;
    z-index: 0;
    background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(56, 189, 248, 0.40) 0%, transparent 65%), radial-gradient(ellipse 70% 50% at 30% 30%, rgba(168, 85, 247, 0.30) 0%, transparent 60%), radial-gradient(ellipse 60% 60% at 70% 70%, rgba(99, 102, 241, 0.22) 0%, transparent 60%);
    filter: blur(50px);
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.6s var(--qth-ease-out) 200ms;
    animation: qth1-bloomPulse 8s ease-in-out infinite alternate;
}

.qth1.qth1-on .qth1-bloom {
    opacity: 1;
}

@keyframes qth1-bloomPulse {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.05);
    }
}


.qth1-device {
    position: relative;
    z-index: 2;
    width: clamp(280px, 78%, 460px);
    aspect-ratio: 1792 / 2400;
    border-radius: clamp(18px, 2vw, 28px);
    --tilt-x: -3deg;
    --tilt-y: 5deg;
    transform-style: preserve-3d;
    transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
    transition: transform 0.6s var(--qth-ease-out);
    opacity: 0;
    will-change: transform;
}

.qth1.qth1-on .qth1-device {
    opacity: 1;
    animation: qth1-deviceEntrance 1.2s var(--qth-ease-out) 1100ms both;
}

@keyframes qth1-deviceEntrance {
    0% {
        opacity: 0;
        transform: rotateX(0deg) rotateY(0deg) translateY(40px) scale(0.94);
    }

    100% {
        opacity: 1;
        transform: rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0) scale(1);
    }
}


.qth1-device-inner {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    overflow: hidden;
    background: var(--qth-c-obs-2);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08) inset, 0 0 0 1px rgba(168, 85, 247, 0.20) inset, 0 30px 80px -20px rgba(0, 0, 0, 0.65), 0 50px 120px -30px rgba(99, 102, 241, 0.40);
    transform: translateZ(0);
}

.qth1-device-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
}


.qth1-device-shine {
    position: absolute;
    top: -20%;
    left: -50%;
    width: 60%;
    height: 140%;
    background: linear-gradient(105deg, transparent 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.12) 50%, rgba(255, 255, 255, 0) 60%, transparent 100%);
    pointer-events: none;
    transform: skewX(-15deg);
    animation: qth1-deviceShine 8s ease-in-out infinite;
    animation-delay: 2200ms;
    mix-blend-mode: screen;
}

@keyframes qth1-deviceShine {
    0% {
        left: -50%;
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    50% {
        left: 110%;
        opacity: 0.6;
    }

    51%, 100% {
        left: -50%;
        opacity: 0;
    }
}


.qth1-device-shadow {
    position: absolute;
    bottom: -8%;
    left: 8%;
    right: 8%;
    height: 40px;
    background: radial-gradient(ellipse 50% 50% at 50% 50%, rgba(0, 0, 0, 0.6) 0%, transparent 70%);
    filter: blur(20px);
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.4s var(--qth-ease-out) 1300ms;
    transform: translateZ(-30px);
}

.qth1.qth1-on .qth1-device-shadow {
    opacity: 1;
}


/* ── Floating callout pills ────────────────────────────────────────── */
.qth1-pill {
    position: absolute;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px 8px 12px;
    background: rgba(7, 8, 10, 0.85);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-family: var(--qth-font-display);
    font-size: 13px;
    font-weight: 700;
    color: var(--qth-t-primary);
    letter-spacing: -0.005em;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset, 0 12px 28px rgba(0, 0, 0, 0.55);
    opacity: 0;
    transform: translateZ(60px) translateY(8px);
    will-change: transform, opacity;
}

.qth1.qth1-on .qth1-pill {
    transition: opacity 0.7s var(--qth-ease-out), transform 0.9s var(--qth-ease-spring);
}


.qth1-pill--live {
    top: 8%;
    right: -4%;
    border-color: rgba(251, 113, 133, 0.45);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset, 0 0 18px rgba(251, 113, 133, 0.30), 0 12px 28px rgba(0, 0, 0, 0.55);
}

.qth1.qth1-on .qth1-pill--live {
    opacity: 1;
    transform: translateZ(60px) translateY(0);
    transition-delay: 1400ms;
}

.qth1-pill-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--qth-rose);
    box-shadow: 0 0 6px rgba(251, 113, 133, 0.85);
    animation: qth1-livePulse 1.4s ease-in-out infinite;
}

@keyframes qth1-livePulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.45;
    }
}

.qth1-pill-label {
    color: var(--qth-rose);
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    font-size: 11px;
}

.qth1-pill-sep {
    color: var(--qth-t-quaternary);
}

.qth1-pill-time {
    font-family: var(--qth-font-mono);
    font-size: 13px;
    font-weight: 700;
    color: var(--qth-t-primary);
    font-variant-numeric: tabular-nums;
}


.qth1-pill--chart {
    bottom: 12%;
    left: -8%;
    border-color: rgba(56, 189, 248, 0.36);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset, 0 0 18px rgba(56, 189, 248, 0.22), 0 12px 28px rgba(0, 0, 0, 0.55);
}

.qth1.qth1-on .qth1-pill--chart {
    opacity: 1;
    transform: translateZ(60px) translateY(0);
    transition-delay: 1600ms;
}

.qth1-pill-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 6px;
    background: rgba(56, 189, 248, 0.14);
    border: 1px solid rgba(56, 189, 248, 0.32);
    color: var(--qth-azure);
    flex-shrink: 0;
}

.qth1-pill:hover {
    transform: translateZ(80px) translateY(-2px) scale(1.04);
    transition: transform 0.3s var(--qth-ease-spring);
}


/* ── Connectors ────────────────────────────────────────────────────── */
.qth1-connectors {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.4s var(--qth-ease-out) 1800ms;
}

.qth1.qth1-on .qth1-connectors {
    opacity: 1;
}

.qth1-connector {
    stroke-width: 1;
    stroke-dasharray: 3 4;
    fill: none;
    vector-effect: non-scaling-stroke;
    animation: qth1-connectorFlow 6s linear infinite;
}

.qth1-connector--live {
    stroke: rgba(251, 113, 133, 0.40);
}

.qth1-connector--chart {
    stroke: rgba(56, 189, 248, 0.40);
}

@keyframes qth1-connectorFlow {
    0% {
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dashoffset: -28;
    }
}


/* ── Bottom edge fade ─────────────────────────────────────────────── */
.qth1-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100px;
    background: linear-gradient(0deg, var(--qth-c-obs) 0%, transparent 100%);
    z-index: 4;
    pointer-events: none;
}


/* ── SEC 1 RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .qth1-container {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .qth1-right {
        min-height: 0;
    }

    .qth1-h1 {
        font-size: clamp(36px, 7vw, 60px);
    }
}

@media (max-width: 720px) {
    .qth1 {
        padding: 60px 0 60px;
        min-height: 0;
    }

    .qth1-container {
        padding: 0 16px;
    }

    .qth1-h1 {
        font-size: clamp(32px, 9vw, 44px);
    }

    .qth1-sub {
        font-size: 14px;
        line-height: 1.6;
    }

    .qth1-feature {
        font-size: 12.5px;
        gap: 8px;
    }

    .qth1-feature-icon {
        width: 20px;
        height: 20px;
    }

    .qth1-device {
        width: 100%;
        max-width: 360px;
    }

    .qth1-device {
        --tilt-x: 0deg;
        --tilt-y: 0deg;
    }

    .qth1.qth1-on .qth1-device {
        animation: qth1-deviceEntranceMobile 1s var(--qth-ease-out) 800ms both;
    }

    @keyframes qth1-deviceEntranceMobile {
        0% {
            opacity: 0;
            transform: translateY(28px) scale(0.96);
        }

        100% {
            opacity: 1;
            transform: translateY(0) scale(1);
        }
    }

    .qth1-pill {
        font-size: 11.5px;
        padding: 6px 11px 6px 9px;
    }

    .qth1-pill-time {
        font-size: 11.5px;
    }

    .qth1-pill-label {
        font-size: 9.5px;
    }

    .qth1-pill--live {
        top: 6%;
        right: 2%;
    }

    .qth1-pill--chart {
        bottom: 10%;
        left: 2%;
    }

    .qth1-connectors {
        display: none;
    }
}




































/* ══════════════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════════════
   SEC 2 (qth2) — "Two sides of the same visit." · v2 (with candid photo)
   ═══════════════════════════════════════════════════════════════════════
   FULL drop-in replacement for the sec2 portion of telehealth.css.

   Replace everything from "SEC 2 (qth2)" comment marker down to (but
   NOT including) the "SEC 3 (qth3)" comment marker with this block.

   Do NOT include the :root tokens (those live in sec1) and do NOT touch
   the @media (prefers-reduced-motion: reduce) block at the bottom of
   the file · this is sec2 styles only.
══════════════════════════════════════════════════════════════════════ */

.qth2 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(80px, 11vh, 130px) 0 clamp(80px, 10vh, 120px);
    background: var(--qth-c-obs);
    color: var(--qth-t-primary);
    font-family: var(--qth-font-body);
    -webkit-font-smoothing: antialiased;
}


/* ── Atmosphere · two soft aurora bands ───────────────────────────── */
.qth2-aurora {
    position: absolute;
    inset: -10%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1.6s var(--qth-ease-out);
}

.qth2.qth2-on .qth2-aurora {
    opacity: 1;
}

.qth2-aurora-band {
    position: absolute;
    width: 60%;
    height: 50%;
    border-radius: 50%;
    filter: blur(110px);
    opacity: 0.22;
    mix-blend-mode: screen;
}

.qth2-aurora-band-1 {
    top: 5%;
    left: -8%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.32) 0%, transparent 70%);
    animation: qth2-auroraDrift 34s ease-in-out infinite alternate;
}

.qth2-aurora-band-2 {
    bottom: 5%;
    right: -8%;
    background: radial-gradient(circle, rgba(168, 85, 247, 0.30) 0%, transparent 70%);
    animation: qth2-auroraDrift 34s ease-in-out infinite alternate -17s;
}

@keyframes qth2-auroraDrift {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(2%, -2%) scale(1.05);
    }
}


.qth2-container {
    position: relative;
    z-index: 2;
    max-width: var(--qth-page-max);
    margin: 0 auto;
    padding: 0 var(--qth-page-pad);
}


/* ── Header ───────────────────────────────────────────────────────── */
.qth2-head {
    max-width: 720px;
    margin: 0 auto clamp(48px, 6vw, 72px);
    text-align: center;
}

.qth2-eyebrow-wrap {
    margin-bottom: clamp(16px, 2vw, 22px);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .8s var(--qth-ease-out) 200ms, transform .8s var(--qth-ease-out) 200ms;
}

.qth2.qth2-on .qth2-eyebrow-wrap {
    opacity: 1;
    transform: translateY(0);
}

.qth2-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 6px 14px 6px 12px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--qth-font-mono);
    font-size: 11px;
    font-weight: 600;
    color: var(--qth-t-secondary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth2-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-azure), var(--qth-violet));
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18), 0 0 8px rgba(168, 85, 247, 0.55);
    animation: qth2-pulse 2.6s ease-in-out infinite;
}

@keyframes qth2-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.55;
    }
}


.qth2-h2 {
    font-family: var(--qth-font-display);
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.034em;
    color: var(--qth-t-primary);
    margin: 0 0 clamp(14px, 1.8vw, 20px);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .9s var(--qth-ease-out) 350ms, transform .9s var(--qth-ease-out) 350ms;
}

.qth2.qth2-on .qth2-h2 {
    opacity: 1;
    transform: translateY(0);
}

.qth2-h2-accent {
    background: linear-gradient(135deg, #38bdf8 0%, #818cf8 50%, #a78bfa 100%);
    background-size: 220% 220%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 4px 18px rgba(99, 102, 241, 0.30));
    animation: qth1-gradientShift 9s ease-in-out infinite;
}


.qth2-sub {
    font-family: var(--qth-font-body);
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.65;
    color: var(--qth-t-secondary);
    margin: 0 auto;
    max-width: 580px;
    letter-spacing: -0.005em;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .9s var(--qth-ease-out) 500ms, transform .9s var(--qth-ease-out) 500ms;
}

.qth2.qth2-on .qth2-sub {
    opacity: 1;
    transform: translateY(0);
}


/* ── Stage · 3-element composition ─────────────────────────────────── */
.qth2-stage {
    position: relative;
    display: grid;
    grid-template-columns: 1fr clamp(180px, 18%, 240px) clamp(280px, 28%, 340px);
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
    margin-bottom: clamp(60px, 7vw, 88px);
    padding-top: 30px;
    padding-bottom: 30px;
}


.qth2-handoff {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    overflow: visible;
    opacity: 0;
    transition: opacity 1.6s var(--qth-ease-out) 1500ms;
}

.qth2.qth2-on .qth2-handoff {
    opacity: 1;
}

.qth2-handoff-path {
    stroke-dasharray: 6 5;
    fill: none;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 6px rgba(168, 85, 247, 0.30));
    animation: qth2-pathFlow 4s linear infinite;
}

@keyframes qth2-pathFlow {
    0% {
        stroke-dashoffset: 0;
    }

    100% {
        stroke-dashoffset: -22;
    }
}


/* ── Mock · shared base ──────────────────────────────────────────── */
.qth2-mock {
    position: relative;
    z-index: 2;
    background: linear-gradient(180deg, rgba(20, 23, 42, 0.85) 0%, rgba(13, 15, 26, 0.95) 100%);
    border: 1px solid var(--qth-border-2);
    overflow: hidden;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) inset, 0 30px 80px -20px rgba(0, 0, 0, 0.65), 0 50px 120px -30px rgba(99, 102, 241, 0.30);
}


/* CLINIC mock · desktop frame */
.qth2-mock--clinic {
    border-radius: clamp(14px, 1.4vw, 20px);
    aspect-ratio: 16 / 11;
    opacity: 0;
    transform: translateY(40px) rotateY(-3deg);
    transform-origin: center right;
    transition: opacity 1s var(--qth-ease-out) 700ms, transform 1s var(--qth-ease-out) 700ms;
}

.qth2.qth2-on .qth2-mock--clinic {
    opacity: 1;
    transform: translateY(0) rotateY(-3deg);
}


.qth2-mock-chrome {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px 14px;
    background: rgba(7, 8, 10, 0.8);
    border-bottom: 1px solid var(--qth-border);
}

.qth2-mock-chrome-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
}

.qth2-mock-chrome-dot--r {
    background: #ff5f57;
}

.qth2-mock-chrome-dot--y {
    background: #ffbd2e;
}

.qth2-mock-chrome-dot--g {
    background: #28c940;
}

.qth2-mock-chrome-url {
    margin-left: auto;
    font-family: var(--qth-font-mono);
    font-size: 9.5px;
    color: var(--qth-t-quaternary);
    letter-spacing: 0.04em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* Status bar mockup */
.qth2c-statusbar {
    display: flex;
    align-items: stretch;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid var(--qth-border);
    background: linear-gradient(180deg, rgba(245, 158, 11, 0.06) 0%, transparent 100%);
}

.qth2c-hero {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.qth2c-hero-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(245, 158, 11, 0.14);
    border: 1px solid rgba(245, 158, 11, 0.36);
    color: var(--qth-amber);
    flex-shrink: 0;
}

.qth2c-hero-text {
    min-width: 0;
    flex: 1;
}

.qth2c-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--qth-font-mono);
    font-size: 9px;
    font-weight: 700;
    color: var(--qth-amber);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth2c-hero-title {
    font-family: var(--qth-font-display);
    font-size: 12.5px;
    font-weight: 700;
    color: var(--qth-t-primary);
    line-height: 1.2;
    letter-spacing: -0.012em;
    margin-top: 2px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qth2c-hero-sub {
    font-family: var(--qth-font-body);
    font-size: 10px;
    color: var(--qth-t-tertiary);
    letter-spacing: -0.005em;
    margin-top: 1px;
}

.qth2c-hero-cta {
    display: flex;
    align-items: center;
}

.qth2c-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 6px 11px;
    border: none;
    border-radius: 6px;
    font-family: var(--qth-font-display);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: -0.005em;
    cursor: default;
    pointer-events: none;
}

.qth2c-btn--admit {
    background: linear-gradient(135deg, var(--qth-amber) 0%, #f59e0b 100%);
    color: #0a0a0a;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.45);
}


.qth2c-kpis {
    display: grid;
    grid-template-columns: repeat(4, auto);
    gap: 10px;
    padding-left: 8px;
    border-left: 1px solid var(--qth-border);
    align-items: center;
}

.qth2c-kpi {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 0 6px;
}

.qth2c-kpi-lbl {
    font-family: var(--qth-font-mono);
    font-size: 8.5px;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.qth2c-kpi-val {
    font-family: var(--qth-font-display);
    font-size: 16px;
    font-weight: 800;
    color: var(--qth-t-primary);
    line-height: 1;
    letter-spacing: -0.020em;
}

.qth2c-kpi-val--live {
    color: var(--qth-rose);
}

.qth2c-kpi-val--wait {
    color: var(--qth-amber);
}


/* Queue cards */
.qth2c-queue {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.qth2c-card {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 10px;
    align-items: center;
    padding: 10px 12px;
    background: rgba(15, 17, 28, 0.55);
    border: 1px solid var(--qth-border);
    border-radius: 9px;
    transition: border-color .25s var(--qth-ease-out);
}

.qth2c-card--active {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.10) 0%, rgba(15, 17, 28, 0.65) 100%);
    border-color: rgba(245, 158, 11, 0.45);
    box-shadow: 0 0 0 1px rgba(245, 158, 11, 0.10), 0 4px 14px rgba(245, 158, 11, 0.18);
}

.qth2c-card--live {
    background: linear-gradient(135deg, rgba(251, 113, 133, 0.06) 0%, rgba(15, 17, 28, 0.65) 100%);
    border-color: rgba(251, 113, 133, 0.32);
}


.qth2c-card-time {
    font-family: var(--qth-font-display);
    font-size: 13px;
    font-weight: 800;
    color: var(--qth-t-primary);
    letter-spacing: -0.020em;
    line-height: 1;
}

    .qth2c-card-time small {
        font-family: var(--qth-font-mono);
        font-size: 8.5px;
        font-weight: 700;
        color: var(--qth-t-tertiary);
        letter-spacing: 0.06em;
        margin-left: 1px;
    }


.qth2c-card-info {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
}

.qth2c-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--qth-font-display);
    font-size: 9.5px;
    font-weight: 800;
    color: white;
    flex-shrink: 0;
}

.qth2c-avatar--mike {
    background: linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);
}

.qth2c-avatar--sarah {
    background: linear-gradient(135deg, #f472b6 0%, #ec4899 100%);
}

.qth2c-avatar--alex {
    background: linear-gradient(135deg, #34d399 0%, #10b981 100%);
}


.qth2c-card-text {
    min-width: 0;
}

.qth2c-card-name {
    font-family: var(--qth-font-display);
    font-size: 11.5px;
    font-weight: 700;
    color: var(--qth-t-primary);
    line-height: 1.15;
    letter-spacing: -0.010em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qth2c-card-svc {
    font-family: var(--qth-font-body);
    font-size: 9.5px;
    color: var(--qth-t-tertiary);
    line-height: 1.3;
    margin-top: 1px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}


.qth2c-card-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border-2);
    border-radius: 999px;
    font-family: var(--qth-font-mono);
    font-size: 8.5px;
    font-weight: 700;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
}

.qth2c-card-status--live {
    color: var(--qth-rose);
    border-color: rgba(251, 113, 133, 0.40);
    background: rgba(251, 113, 133, 0.08);
}

.qth2c-card-status--wait {
    color: var(--qth-amber);
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.10);
}


/* Pulse dots */
.qth2c-pulse-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.qth2c-pulse-dot--amber {
    background: var(--qth-amber);
    box-shadow: 0 0 6px rgba(245, 158, 11, 0.85);
    animation: qth2-dotPulse 1.4s ease-in-out infinite;
}

.qth2c-pulse-dot--rose {
    background: var(--qth-rose);
    box-shadow: 0 0 6px rgba(251, 113, 133, 0.85);
    animation: qth2-dotPulse 1.4s ease-in-out infinite;
}

.qth2c-pulse-dot--emerald {
    background: var(--qth-emerald);
    box-shadow: 0 0 6px rgba(52, 211, 153, 0.85);
    animation: qth2-dotPulse 2.2s ease-in-out infinite;
}

@keyframes qth2-dotPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.45;
    }
}


/* Floating live tab */
.qth2c-floattab {
    position: absolute;
    bottom: 14px;
    right: 14px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px 8px 9px;
    background: linear-gradient(135deg, rgba(20, 23, 42, 0.95) 0%, rgba(7, 8, 10, 0.95) 100%);
    border: 1px solid rgba(251, 113, 133, 0.42);
    border-radius: 12px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset, 0 0 14px rgba(251, 113, 133, 0.30), 0 8px 22px rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .8s var(--qth-ease-out) 1500ms, transform .8s var(--qth-ease-spring) 1500ms;
}

.qth2.qth2-on .qth2c-floattab {
    opacity: 1;
    transform: translateY(0);
}

.qth2c-floattab-avatar {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--qth-font-display);
    font-size: 8.5px;
    font-weight: 800;
    color: white;
    background: linear-gradient(135deg, #0ea5e9 0%, #6366f1 100%);
    flex-shrink: 0;
}

.qth2c-floattab-text {
    display: flex;
    flex-direction: column;
    gap: 1px;
    line-height: 1;
}

.qth2c-floattab-status {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-family: var(--qth-font-mono);
    font-size: 8px;
    font-weight: 800;
    color: var(--qth-rose);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth2c-floattab-timer {
    font-family: var(--qth-font-mono);
    font-size: 11px;
    font-weight: 700;
    color: var(--qth-t-primary);
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
}


.qth2c-annot {
    position: absolute;
    z-index: 5;
    padding: 5px 9px;
    background: rgba(7, 8, 10, 0.92);
    border: 1px solid rgba(168, 85, 247, 0.45);
    border-radius: 6px;
    font-family: var(--qth-font-body);
    font-size: 9.5px;
    font-weight: 600;
    color: var(--qth-t-primary);
    letter-spacing: -0.005em;
    line-height: 1.3;
    max-width: 180px;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 4px 12px rgba(168, 85, 247, 0.22), 0 0 0 1px rgba(255, 255, 255, 0.03) inset;
    opacity: 0;
    transition: opacity .8s var(--qth-ease-out) 2200ms;
}

.qth2.qth2-on .qth2c-annot {
    opacity: 1;
}

.qth2c-annot--floattab {
    bottom: 14px;
    right: 152px;
}

.qth2c-annot-arrow {
    position: absolute;
    top: 50%;
    right: -4px;
    width: 8px;
    height: 8px;
    background: rgba(7, 8, 10, 0.92);
    border-right: 1px solid rgba(168, 85, 247, 0.45);
    border-bottom: 1px solid rgba(168, 85, 247, 0.45);
    transform: translateY(-50%) rotate(-45deg);
}


/* ── SMS Bubble · center ──────────────────────────────────────────── */
.qth2-bubble {
    position: relative;
    z-index: 2;
    background: linear-gradient(180deg, rgba(15, 17, 28, 0.92) 0%, rgba(7, 8, 10, 0.95) 100%);
    border: 1px solid var(--qth-border-2);
    border-radius: 14px 14px 14px 4px;
    padding: 12px 14px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset, 0 20px 40px rgba(0, 0, 0, 0.55), 0 0 30px rgba(168, 85, 247, 0.18);
    opacity: 0;
    transform: translateY(20px) scale(0.94);
    transition: opacity .9s var(--qth-ease-out) 1100ms, transform .9s var(--qth-ease-spring) 1100ms;
    animation: qth2-bubbleBob 5s ease-in-out 1500ms infinite;
}

.qth2.qth2-on .qth2-bubble {
    opacity: 1;
    transform: translateY(0) scale(1);
}

@keyframes qth2-bubbleBob {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-3px);
    }
}


.qth2-bubble-head {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--qth-border);
}

.qth2-bubble-head-icon {
    color: var(--qth-violet);
    display: inline-flex;
}

.qth2-bubble-head-from {
    font-family: var(--qth-font-mono);
    font-size: 9.5px;
    font-weight: 700;
    color: var(--qth-t-secondary);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.qth2-bubble-head-time {
    margin-left: auto;
    font-family: var(--qth-font-mono);
    font-size: 9px;
    color: var(--qth-t-quaternary);
    letter-spacing: 0.04em;
}


.qth2-bubble-body {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.qth2-bubble-greeting {
    font-family: var(--qth-font-body);
    font-size: 12px;
    color: var(--qth-t-secondary);
    line-height: 1.4;
    margin: 0;
    letter-spacing: -0.005em;
}

.qth2-bubble-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 10px 14px;
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    color: #0a0a0a;
    text-decoration: none;
    border-radius: 8px;
    font-family: var(--qth-font-display);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: -0.010em;
    box-shadow: 0 0 12px rgba(99, 102, 241, 0.40), 0 4px 12px rgba(0, 0, 0, 0.40);
    pointer-events: none;
    cursor: default;
}

.qth2-bubble-cta-label {
    color: #0a0a0a;
}


.qth2-bubble-meta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--qth-font-mono);
    font-size: 9px;
    color: var(--qth-emerald);
    letter-spacing: 0.04em;
}


/* ── Phone mockup · right ─────────────────────────────────────────── */
.qth2-mock--phone {
    background: transparent;
    border: none;
    box-shadow: none;
    overflow: visible;
    aspect-ratio: auto;
    opacity: 0;
    transform: translateY(40px) rotateY(3deg);
    transform-origin: center left;
    transition: opacity 1s var(--qth-ease-out) 900ms, transform 1s var(--qth-ease-out) 900ms;
}

.qth2.qth2-on .qth2-mock--phone {
    opacity: 1;
    transform: translateY(0) rotateY(3deg);
}


.qth2-phone {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 19.5;
    background: linear-gradient(180deg, #07080a 0%, #0a0c14 100%);
    border-radius: 32px;
    padding: 8px;
    border: 1px solid rgba(255, 255, 255, 0.10);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.05) inset, 0 30px 80px -20px rgba(0, 0, 0, 0.75), 0 50px 120px -30px rgba(99, 102, 241, 0.30);
    overflow: hidden;
}


.qth2-phone-notch {
    position: absolute;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 18px;
    background: #0a0a0a;
    border-radius: 999px;
    z-index: 5;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}


.qth2-phone-statusbar {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 24px 6px;
    z-index: 4;
}

.qth2-phone-time {
    font-family: var(--qth-font-display);
    font-size: 12px;
    font-weight: 700;
    color: var(--qth-t-primary);
    letter-spacing: -0.010em;
}

.qth2-phone-icons {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--qth-t-primary);
}


.qth2-phone-lobby {
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}


.qth2-phone-brand {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--qth-font-display);
    font-size: 10.5px;
    font-weight: 700;
    color: var(--qth-t-secondary);
    letter-spacing: -0.008em;
}

.qth2-phone-brand-mark {
    width: 18px;
    height: 18px;
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 800;
    font-size: 10px;
}


.qth2-phone-title {
    font-family: var(--qth-font-display);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.018em;
    color: var(--qth-t-primary);
    margin: 0;
}


.qth2-phone-details {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 10px 11px;
    background: rgba(15, 17, 28, 0.65);
    border: 1px solid var(--qth-border);
    border-radius: 10px;
}

.qth2-phone-row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
}

.qth2-phone-row-lbl {
    font-family: var(--qth-font-mono);
    font-size: 8.5px;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.qth2-phone-row-val {
    font-family: var(--qth-font-display);
    font-size: 11px;
    font-weight: 600;
    color: var(--qth-t-primary);
    letter-spacing: -0.005em;
    text-align: right;
}


/* ─── Self-preview frame · holds the candid patient photo ────────── */
.qth2-phone-preview {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
    overflow: hidden;
    background: linear-gradient(135deg, #1a1d2e 0%, #0d0f17 100%);
    border: 1px solid var(--qth-border);
}

/* The picture wrapper · fills the preview frame edge to edge */
.qth2-phone-preview-pic {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* The candid patient image · mirrored horizontally to mimic real
   front-camera self-preview behavior, with a subtle saturation boost */
.qth2-phone-preview-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-drag: none;
    transform: scaleX(-1);
    filter: saturate(1.05) contrast(1.02);
}

/* Legacy frame + avatar rules · kept harmless in case any other
   markup still references them.  Safe to leave as dead CSS. */
.qth2-phone-preview-frame {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(ellipse 70% 70% at 50% 50%, rgba(168, 85, 247, 0.12) 0%, transparent 70%);
}

.qth2-phone-preview-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: linear-gradient(135deg, #f472b6 0%, #ec4899 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-family: var(--qth-font-display);
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.25);
    animation: qth2-avatarBob 3s ease-in-out infinite;
}

@keyframes qth2-avatarBob {
    0%, 100% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-2px) scale(1.04);
    }
}

.qth2-phone-preview-label {
    position: absolute;
    bottom: 8px;
    left: 8px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 8px;
    background: rgba(7, 8, 10, 0.82);
    border: 1px solid rgba(52, 211, 153, 0.40);
    border-radius: 999px;
    font-family: var(--qth-font-mono);
    font-size: 8.5px;
    font-weight: 700;
    color: var(--qth-emerald);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}


.qth2-phone-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 6px 0;
}

.qth2-phone-consent-box {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: white;
    flex-shrink: 0;
}

.qth2-phone-consent-text {
    font-family: var(--qth-font-body);
    font-size: 10.5px;
    color: var(--qth-t-secondary);
    line-height: 1.35;
    letter-spacing: -0.005em;
}


.qth2-phone-join {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 12px 16px;
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    color: #0a0a0a;
    border: none;
    border-radius: 12px;
    font-family: var(--qth-font-display);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.010em;
    cursor: default;
    box-shadow: 0 0 18px rgba(99, 102, 241, 0.50), 0 6px 18px rgba(0, 0, 0, 0.50);
    pointer-events: none;
    animation: qth2-joinPulse 3s ease-in-out infinite;
    animation-delay: 2400ms;
}

@keyframes qth2-joinPulse {
    0%, 100% {
        box-shadow: 0 0 18px rgba(99, 102, 241, 0.50), 0 6px 18px rgba(0, 0, 0, 0.50);
    }

    50% {
        box-shadow: 0 0 28px rgba(99, 102, 241, 0.75), 0 6px 18px rgba(0, 0, 0, 0.50);
    }
}


.qth2-phone-help {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-family: var(--qth-font-mono);
    font-size: 8.5px;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}


.qth2-phone-glow {
    position: absolute;
    inset: -10%;
    z-index: -1;
    background: radial-gradient(circle, rgba(99, 102, 241, 0.40) 0%, transparent 60%);
    filter: blur(30px);
    pointer-events: none;
    opacity: 0;
}

    .qth2-phone-glow.is-pulsing {
        animation: qth2-phoneGlow 1.4s var(--qth-ease-out);
    }

@keyframes qth2-phoneGlow {
    0% {
        opacity: 0;
        transform: scale(0.85);
    }

    30% {
        opacity: 0.85;
    }

    100% {
        opacity: 0;
        transform: scale(1.10);
    }
}


/* ── Comparison strip ─────────────────────────────────────────────── */
.qth2-compare {
    max-width: 980px;
    margin: 0 auto;
    background: linear-gradient(180deg, rgba(15, 17, 28, 0.50) 0%, rgba(7, 8, 10, 0.30) 100%);
    border: 1px solid var(--qth-border);
    border-radius: clamp(12px, 1.4vw, 18px);
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1s var(--qth-ease-out) 1700ms, transform 1s var(--qth-ease-out) 1700ms;
}

.qth2.qth2-on .qth2-compare {
    opacity: 1;
    transform: translateY(0);
}


.qth2-compare-head {
    display: grid;
    grid-template-columns: clamp(120px, 14%, 160px) 1fr 1fr;
    gap: clamp(12px, 1.6vw, 22px);
    padding: 14px clamp(16px, 2vw, 24px) 12px;
    border-bottom: 1px solid var(--qth-border);
}

.qth2-compare-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 5px 10px 5px 8px;
    border: 1px solid var(--qth-border-2);
    border-radius: 999px;
    background: rgba(7, 8, 10, 0.55);
    font-family: var(--qth-font-mono);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.qth2-compare-pill--clinic {
    color: var(--qth-azure);
    border-color: rgba(56, 189, 248, 0.36);
}

.qth2-compare-pill--patient {
    color: var(--qth-violet);
    border-color: rgba(168, 85, 247, 0.40);
}


.qth2-compare-row {
    display: grid;
    grid-template-columns: clamp(120px, 14%, 160px) 1fr 1fr;
    gap: clamp(12px, 1.6vw, 22px);
    padding: 14px clamp(16px, 2vw, 24px);
    border-bottom: 1px solid var(--qth-border);
    align-items: start;
}

    .qth2-compare-row:last-child {
        border-bottom: none;
    }


.qth2-compare-row-lbl {
    font-family: var(--qth-font-mono);
    font-size: 10px;
    font-weight: 800;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
    padding-top: 2px;
}

.qth2-compare-row-cell {
    font-family: var(--qth-font-body);
    font-size: clamp(13px, 1.3vw, 14.5px);
    line-height: 1.5;
    color: var(--qth-t-secondary);
    letter-spacing: -0.005em;
}

    .qth2-compare-row-cell strong {
        color: var(--qth-t-primary);
        font-weight: 700;
    }


/* ── SEC 2 RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1100px) {
    .qth2-handoff {
        display: none;
    }

    .qth2-stage {
        grid-template-columns: 1fr clamp(140px, 22%, 200px);
        grid-template-rows: auto auto;
        gap: 24px 20px;
    }

    .qth2-mock--clinic {
        grid-column: 1 / span 2;
        grid-row: 1;
    }

    .qth2-bubble {
        grid-column: 1;
        grid-row: 2;
        align-self: center;
    }

    .qth2-mock--phone {
        grid-column: 2;
        grid-row: 2;
    }

    .qth2-mock--clinic {
        transform: translateY(40px);
    }

    .qth2.qth2-on .qth2-mock--clinic {
        transform: translateY(0);
    }

    .qth2-mock--phone {
        transform: translateY(40px);
    }

    .qth2.qth2-on .qth2-mock--phone {
        transform: translateY(0);
    }
}


@media (max-width: 720px) {
    .qth2 {
        padding: 60px 0 60px;
    }

    .qth2-container {
        padding: 0 16px;
    }

    .qth2-h2 {
        font-size: clamp(26px, 7.5vw, 36px);
    }

    .qth2-sub {
        font-size: 14px;
        line-height: 1.6;
    }

    .qth2-stage {
        grid-template-columns: 1fr;
        gap: 20px;
        padding-top: 0;
    }

    .qth2-mock--clinic {
        grid-column: 1;
        grid-row: 1;
        aspect-ratio: 16 / 12;
    }

    .qth2-bubble {
        grid-column: 1;
        grid-row: 2;
        max-width: 320px;
        margin: 0 auto;
    }

    .qth2-mock--phone {
        grid-column: 1;
        grid-row: 3;
        max-width: 280px;
        margin: 0 auto;
    }

    .qth2c-annot {
        display: none;
    }


    .qth2-compare-head {
        grid-template-columns: 1fr 1fr;
        padding: 14px 16px 10px;
    }

    .qth2-compare-head-cell:first-child {
        display: none;
    }


    .qth2-compare-row {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 14px 16px;
    }

    .qth2-compare-row-lbl {
        font-size: 9.5px;
        padding-top: 0;
    }

    .qth2-compare-row-cell {
        font-size: 12.5px;
    }

        .qth2-compare-row-cell:nth-of-type(2) {
            padding: 10px 12px;
            background: rgba(56, 189, 248, 0.04);
            border-left: 2px solid rgba(56, 189, 248, 0.36);
            border-radius: 0 6px 6px 0;
        }

        .qth2-compare-row-cell:nth-of-type(3) {
            padding: 10px 12px;
            background: rgba(168, 85, 247, 0.04);
            border-left: 2px solid rgba(168, 85, 247, 0.40);
            border-radius: 0 6px 6px 0;
        }
}








































/* ══════════════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════════════
   SEC 3 (qth3) — "One pipeline, end to end."
   Horizontal 5-stage pipeline visualization with traveling dot.
   ═══════════════════════════════════════════════════════════════════════
   APPEND THIS BLOCK to telehealth.css after sec2's rules, before the
   @media (prefers-reduced-motion) block at the bottom of the file.
══════════════════════════════════════════════════════════════════════ */

.qth3 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(80px, 11vh, 130px) 0 clamp(80px, 10vh, 120px);
    background: var(--qth-c-obs);
    color: var(--qth-t-primary);
    font-family: var(--qth-font-body);
    -webkit-font-smoothing: antialiased;
}


/* ── Atmosphere · subtle bands ────────────────────────────────────── */
.qth3-aurora {
    position: absolute;
    inset: -10%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1.6s var(--qth-ease-out);
}

.qth3.qth3-on .qth3-aurora {
    opacity: 1;
}

.qth3-aurora-band {
    position: absolute;
    width: 60%;
    height: 50%;
    border-radius: 50%;
    filter: blur(110px);
    opacity: 0.20;
    mix-blend-mode: screen;
}

.qth3-aurora-band-1 {
    top: 10%;
    left: 5%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.28) 0%, transparent 70%);
    animation: qth3-auroraDrift 36s ease-in-out infinite alternate;
}

.qth3-aurora-band-2 {
    bottom: 10%;
    right: 5%;
    background: radial-gradient(circle, rgba(52, 211, 153, 0.24) 0%, transparent 70%);
    animation: qth3-auroraDrift 36s ease-in-out infinite alternate -18s;
}

@keyframes qth3-auroraDrift {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(2%, -2%) scale(1.05);
    }
}


.qth3-container {
    position: relative;
    z-index: 2;
    max-width: var(--qth-page-max);
    margin: 0 auto;
    padding: 0 var(--qth-page-pad);
}


/* ── Header ───────────────────────────────────────────────────────── */
.qth3-head {
    max-width: 720px;
    margin: 0 auto clamp(60px, 7vw, 90px);
    text-align: center;
}

.qth3-eyebrow-wrap {
    margin-bottom: clamp(16px, 2vw, 22px);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .8s var(--qth-ease-out) 200ms, transform .8s var(--qth-ease-out) 200ms;
}

.qth3.qth3-on .qth3-eyebrow-wrap {
    opacity: 1;
    transform: translateY(0);
}

.qth3-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 6px 14px 6px 12px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--qth-font-mono);
    font-size: 11px;
    font-weight: 600;
    color: var(--qth-t-secondary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth3-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-azure), var(--qth-emerald));
    box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.18), 0 0 8px rgba(56, 189, 248, 0.55);
    animation: qth3-pulse 2.6s ease-in-out infinite;
}

@keyframes qth3-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.55;
    }
}


.qth3-h2 {
    font-family: var(--qth-font-display);
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 700;
    line-height: 1.06;
    letter-spacing: -0.034em;
    color: var(--qth-t-primary);
    margin: 0 0 clamp(14px, 1.8vw, 20px);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .9s var(--qth-ease-out) 350ms, transform .9s var(--qth-ease-out) 350ms;
}

.qth3.qth3-on .qth3-h2 {
    opacity: 1;
    transform: translateY(0);
}

.qth3-h2-accent {
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 50%, var(--qth-emerald) 100%);
    background-size: 220% 220%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 4px 18px rgba(99, 102, 241, 0.30));
    animation: qth1-gradientShift 9s ease-in-out infinite;
}


.qth3-sub {
    font-family: var(--qth-font-body);
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.65;
    color: var(--qth-t-secondary);
    margin: 0 auto;
    max-width: 620px;
    letter-spacing: -0.005em;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .9s var(--qth-ease-out) 500ms, transform .9s var(--qth-ease-out) 500ms;
}

.qth3.qth3-on .qth3-sub {
    opacity: 1;
    transform: translateY(0);
}


/* ══════════════════════════════════════════════════════════════════════
   PIPELINE · 5-stage horizontal rail with traveling dot
══════════════════════════════════════════════════════════════════════ */

.qth3-pipeline {
    position: relative;
    margin: 0 auto clamp(56px, 7vw, 84px);
    padding: clamp(80px, 8vw, 110px) clamp(8px, 1.5vw, 24px) clamp(20px, 3vw, 32px);
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 1.1s var(--qth-ease-out) 700ms, transform 1.1s var(--qth-ease-out) 700ms;
}

.qth3.qth3-on .qth3-pipeline {
    opacity: 1;
    transform: translateY(0);
}


/* ── Rail SVG · sits behind the stage nodes ─────────────────────── */
.qth3-rail {
    position: absolute;
    top: clamp(72px, 7vw, 100px); /* center on the node row */
    left: clamp(8px, 1.5vw, 24px);
    right: clamp(8px, 1.5vw, 24px);
    width: calc(100% - clamp(16px, 3vw, 48px));
    height: 80px;
    overflow: visible;
    pointer-events: none;
}

.qth3-rail-bg {
    stroke: rgba(255, 255, 255, 0.10);
    stroke-width: 2;
    stroke-dasharray: 4 5;
    fill: none;
    vector-effect: non-scaling-stroke;
}

.qth3-rail-fg {
    stroke-width: 2.5;
    fill: none;
    stroke-linecap: round;
    /* The rail length in viewBox units is 920 (from x=40 to x=960).
       Use that as the dasharray so we can animate stroke-dashoffset
       from 920 (fully invisible) to 0 (fully drawn). */
    stroke-dasharray: 920;
    stroke-dashoffset: 920;
    filter: drop-shadow(0 0 6px rgba(168, 85, 247, 0.40));
    vector-effect: non-scaling-stroke;
}

.qth3.qth3-on .qth3-rail-fg {
    animation: qth3-railDraw 1.5s cubic-bezier(0.4, 0, 0.2, 1) 900ms forwards;
}

@keyframes qth3-railDraw {
    0% {
        stroke-dashoffset: 920;
    }

    100% {
        stroke-dashoffset: 0;
    }
}


/* The traveling dot · animated via SVG <animate> elements inline.
   The CSS just provides the visual styling (glow + color). */
.qth3-rail-dot {
    fill: var(--qth-violet);
    filter: drop-shadow(0 0 8px rgba(168, 85, 247, 0.95)) drop-shadow(0 0 16px rgba(168, 85, 247, 0.55));
}


/* ── Stages · 5 nodes evenly distributed along the rail ──────────── */
.qth3-stages {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: clamp(8px, 1.5vw, 24px);
}


.qth3-stage {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    text-align: center;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .55s var(--qth-ease-out), transform .55s var(--qth-ease-out);
}

/* Sequential reveal · stages pop in as the rail draws toward them */
.qth3.qth3-on .qth3-stage--1 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1100ms;
}

.qth3.qth3-on .qth3-stage--2 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1300ms;
}

.qth3.qth3-on .qth3-stage--3 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1500ms;
}

.qth3.qth3-on .qth3-stage--4 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1700ms;
}

.qth3.qth3-on .qth3-stage--5 {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 1900ms;
}


/* ── Stage node · circular icon container sitting on the rail ── */
.qth3-stage-node {
    position: relative;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(20, 23, 42, 0.95) 0%, rgba(7, 8, 10, 0.98) 100%);
    border: 1.5px solid var(--qth-border-3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--qth-t-primary);
    /* Subtle inner glow + soft outer shadow */
    box-shadow: 0 0 0 3px var(--qth-c-obs), /* knockout ring against rail */
    0 0 0 1px rgba(255, 255, 255, 0.05) inset, 0 6px 16px rgba(0, 0, 0, 0.50);
    transition: border-color .35s var(--qth-ease-out), box-shadow .35s var(--qth-ease-out), transform .35s var(--qth-ease-spring);
    flex-shrink: 0;
}

.qth3-stage-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}


/* Each stage gets a brand color tint that emerges on flare */
.qth3-stage--1 .qth3-stage-node {
    color: var(--qth-azure);
}

.qth3-stage--2 .qth3-stage-node {
    color: var(--qth-azure);
}

.qth3-stage--3 .qth3-stage-node {
    color: var(--qth-violet);
}

.qth3-stage--4 .qth3-stage-node {
    color: var(--qth-violet);
}

.qth3-stage--5 .qth3-stage-node {
    color: var(--qth-emerald);
}


/* Flare state · briefly highlights when the traveling dot passes through */
.qth3-stage-flare .qth3-stage-node {
    animation: qth3-flare 1.2s var(--qth-ease-out);
}

.qth3-stage--1.qth3-stage-flare .qth3-stage-node,
.qth3-stage--2.qth3-stage-flare .qth3-stage-node {
    border-color: rgba(56, 189, 248, 0.85);
    box-shadow: 0 0 0 3px var(--qth-c-obs), 0 0 0 5px rgba(56, 189, 248, 0.30), 0 0 24px rgba(56, 189, 248, 0.65);
}

.qth3-stage--3.qth3-stage-flare .qth3-stage-node,
.qth3-stage--4.qth3-stage-flare .qth3-stage-node {
    border-color: rgba(168, 85, 247, 0.85);
    box-shadow: 0 0 0 3px var(--qth-c-obs), 0 0 0 5px rgba(168, 85, 247, 0.30), 0 0 24px rgba(168, 85, 247, 0.65);
}

.qth3-stage--5.qth3-stage-flare .qth3-stage-node {
    border-color: rgba(52, 211, 153, 0.85);
    box-shadow: 0 0 0 3px var(--qth-c-obs), 0 0 0 5px rgba(52, 211, 153, 0.30), 0 0 24px rgba(52, 211, 153, 0.65);
}


@keyframes qth3-flare {
    0% {
        transform: scale(1);
    }

    35% {
        transform: scale(1.08);
    }

    100% {
        transform: scale(1);
    }
}


/* ── Stage meta · number, name, description below node ─────────── */
.qth3-stage-meta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    max-width: 180px;
}

.qth3-stage-num {
    font-family: var(--qth-font-mono);
    font-size: 9.5px;
    font-weight: 800;
    color: var(--qth-t-quaternary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth3-stage-name {
    font-family: var(--qth-font-display);
    font-size: clamp(14px, 1.5vw, 16.5px);
    font-weight: 700;
    color: var(--qth-t-primary);
    letter-spacing: -0.014em;
    line-height: 1.1;
}

.qth3-stage-desc {
    font-family: var(--qth-font-body);
    font-size: clamp(11.5px, 1.1vw, 12.5px);
    color: var(--qth-t-tertiary);
    line-height: 1.4;
    letter-spacing: -0.005em;
    margin-top: 3px;
}


/* ══════════════════════════════════════════════════════════════════════
   CONTRAST STRIP · 2 cards, no named competitors
══════════════════════════════════════════════════════════════════════ */

.qth3-contrast {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(14px, 2vw, 22px);
    max-width: 1080px;
    margin: 0 auto;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1s var(--qth-ease-out) 2100ms, transform 1s var(--qth-ease-out) 2100ms;
}

.qth3.qth3-on .qth3-contrast {
    opacity: 1;
    transform: translateY(0);
}


.qth3-card {
    position: relative;
    padding: clamp(20px, 2.4vw, 28px) clamp(20px, 2.4vw, 28px);
    background: linear-gradient(180deg, rgba(15, 17, 28, 0.55) 0%, rgba(7, 8, 10, 0.75) 100%);
    border: 1px solid var(--qth-border);
    border-radius: clamp(12px, 1.4vw, 18px);
    overflow: hidden;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}


/* ── "Other way" card · muted, neutral palette ─────────────────── */
.qth3-card--other {
    /* Slight desaturated treatment · feels like a "before" snapshot */
}


/* ── "Qlynic way" card · subtle azure→violet tint ──────────────── */
.qth3-card--qlynic {
    background: linear-gradient(180deg, rgba(56, 189, 248, 0.04) 0%, rgba(168, 85, 247, 0.05) 100%);
    border-color: rgba(168, 85, 247, 0.30);
    box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.08), 0 8px 24px rgba(99, 102, 241, 0.18);
}


.qth3-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
}

.qth3-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 8px;
    flex-shrink: 0;
}

.qth3-card-icon--muted {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--qth-border-2);
    color: var(--qth-t-tertiary);
}

.qth3-card-icon--brand {
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.16) 0%, rgba(168, 85, 247, 0.16) 100%);
    border: 1px solid rgba(168, 85, 247, 0.40);
    color: var(--qth-violet);
}

.qth3-card-label {
    font-family: var(--qth-font-mono);
    font-size: 11px;
    font-weight: 800;
    color: var(--qth-t-secondary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth3-card--qlynic .qth3-card-label {
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}


.qth3-card-body {
    font-family: var(--qth-font-body);
    font-size: clamp(13.5px, 1.3vw, 15px);
    line-height: 1.6;
    color: var(--qth-t-secondary);
    margin: 0 0 14px;
    letter-spacing: -0.005em;
}

    .qth3-card-body strong {
        color: var(--qth-t-primary);
        font-weight: 700;
    }


/* Tag chips at bottom of each card */
.qth3-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.qth3-card-tag {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border);
    border-radius: 6px;
    font-family: var(--qth-font-mono);
    font-size: 10px;
    font-weight: 700;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.04em;
}

.qth3-card-tag--brand {
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.14) 0%, rgba(168, 85, 247, 0.14) 100%);
    border-color: rgba(168, 85, 247, 0.40);
    color: var(--qth-t-primary);
    font-weight: 800;
    padding: 4px 12px;
    letter-spacing: 0.06em;
}


/* ══════════════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════════════ */

@media (max-width: 980px) {
    /* On tablet, the 5-stage row gets cramped · drop to 2 rows of nodes
       and hide the rail (it doesn't make sense across rows) */
    .qth3-pipeline {
        padding-top: 32px;
    }

    .qth3-rail {
        display: none;
    }

    .qth3-stages {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 16px;
        row-gap: 36px;
    }

    .qth3-stage--4 {
        grid-column: 1 / span 1;
    }

    .qth3-stage--5 {
        grid-column: 2 / span 1;
    }
    /* Center stage 4 + 5 on the second row */
    .qth3-stages > .qth3-stage--4 {
        grid-column: 1;
    }

    .qth3-stages > .qth3-stage--5 {
        grid-column: 2 / span 2;
    }

    /* Actually the simplest tablet layout is 3 + 2 with 4 and 5 left-aligned,
       but that creates dead space. Center them instead by making row 2 a
       distinct flex row. We do this with a different approach below. */
}

/* Override the above experiment with a cleaner tablet layout */
@media (max-width: 980px) and (min-width: 721px) {
    .qth3-stages {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 36px 24px;
    }

    .qth3-stage {
        flex: 0 0 calc(33.333% - 16px);
        max-width: 200px;
    }
}


@media (max-width: 720px) {
    .qth3 {
        padding: 60px 0 60px;
    }

    .qth3-container {
        padding: 0 16px;
    }

    .qth3-h2 {
        font-size: clamp(26px, 7.5vw, 36px);
    }

    .qth3-sub {
        font-size: 14px;
        line-height: 1.6;
    }

    .qth3-pipeline {
        padding: 24px 8px 16px;
    }

    .qth3-rail {
        display: none;
    }


    /* On mobile, stack stages vertically with a thin left rail */
    .qth3-stages {
        display: flex;
        flex-direction: column;
        gap: 16px;
        position: relative;
        padding-left: 22px;
        max-width: 360px;
        margin: 0 auto;
    }
        /* Vertical guide line connecting stages on mobile */
        .qth3-stages::before {
            content: '';
            position: absolute;
            left: 31px; /* center under the 64px node, accounting for padding-left */
            top: 32px;
            bottom: 32px;
            width: 2px;
            background: linear-gradient(180deg, rgba(56, 189, 248, 0.30) 0%, rgba(168, 85, 247, 0.55) 50%, rgba(52, 211, 153, 0.55) 100%);
            z-index: 0;
            border-radius: 2px;
        }


    .qth3-stage {
        flex-direction: row;
        align-items: center;
        gap: 14px;
        text-align: left;
        position: relative;
        z-index: 1;
        max-width: none;
    }

    .qth3-stage-node {
        width: 48px;
        height: 48px;
        flex-shrink: 0;
    }

    .qth3-stage-icon svg {
        width: 18px;
        height: 18px;
    }

    .qth3-stage-meta {
        align-items: flex-start;
        flex: 1;
        max-width: none;
    }

    .qth3-stage-name {
        font-size: 14px;
    }

    .qth3-stage-desc {
        font-size: 12px;
    }


    .qth3-contrast {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .qth3-card-body {
        font-size: 13px;
    }
}






















/* ══════════════════════════════════════════════════════════════════════
   ADDENDUM · add these to the existing @media (prefers-reduced-motion)
   block at the bottom of telehealth.css.

   Append the lines below INSIDE the existing reduced-motion @media block,
   just before its closing brace. Do NOT create a new @media block ·
   merge into the existing one.
══════════════════════════════════════════════════════════════════════ */

/* sec3 */
.qth3-aurora-band,
.qth3-eyebrow-dot,
.qth3-h2-accent,
.qth3-rail-fg,
.qth3-rail-dot,
.qth3-stage-flare .qth3-stage-node {
    animation: none !important;
}

.qth3-aurora,
.qth3-eyebrow-wrap,
.qth3-h2,
.qth3-sub,
.qth3-pipeline,
.qth3-stage,
.qth3-contrast {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

.qth3-rail-fg {
    stroke-dashoffset: 0 !important;
}






















































/* ══════════════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════════════
   SEC 4 (qth4) — Trust + compliance strip
   Quiet, restrained 4-card row. Append to telehealth.css after sec3
   styles, before the @media (prefers-reduced-motion) block.
   ═══════════════════════════════════════════════════════════════════════
══════════════════════════════════════════════════════════════════════ */

.qth4 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    /* Tighter padding than other sections · this is the supporting cast */
    padding: clamp(60px, 8vh, 96px) 0 clamp(60px, 8vh, 96px);
    background: var(--qth-c-obs);
    color: var(--qth-t-primary);
    font-family: var(--qth-font-body);
    -webkit-font-smoothing: antialiased;
    /* Subtle top divider · separates from sec3 */
    border-top: 1px solid var(--qth-border);
}


.qth4-container {
    position: relative;
    z-index: 2;
    max-width: var(--qth-page-max);
    margin: 0 auto;
    padding: 0 var(--qth-page-pad);
}


/* ── Header · small, restrained ────────────────────────────────────── */
.qth4-head {
    max-width: 720px;
    margin: 0 auto clamp(36px, 4.4vw, 56px);
    text-align: center;
}

.qth4-eyebrow-wrap {
    margin-bottom: clamp(12px, 1.6vw, 18px);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .8s var(--qth-ease-out) 200ms, transform .8s var(--qth-ease-out) 200ms;
}

.qth4.qth4-on .qth4-eyebrow-wrap {
    opacity: 1;
    transform: translateY(0);
}

.qth4-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 5px 12px 5px 10px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--qth-font-mono);
    font-size: 10.5px;
    font-weight: 600;
    color: var(--qth-t-secondary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth4-eyebrow-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-emerald), var(--qth-azure));
    box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.18), 0 0 6px rgba(52, 211, 153, 0.55);
    animation: qth4-pulse 2.6s ease-in-out infinite;
}

@keyframes qth4-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.55;
    }
}


/* H2 · restrained · much smaller than sec1/2/3 */
.qth4-h2 {
    font-family: var(--qth-font-display);
    font-size: clamp(22px, 3.2vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.024em;
    color: var(--qth-t-primary);
    margin: 0;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .9s var(--qth-ease-out) 350ms, transform .9s var(--qth-ease-out) 350ms;
}

.qth4.qth4-on .qth4-h2 {
    opacity: 1;
    transform: translateY(0);
}

.qth4-h2-accent {
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-emerald) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-weight: 600;
}


/* ── 4-card grid ───────────────────────────────────────────────────── */
.qth4-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.6vw, 18px);
    margin-bottom: clamp(28px, 3.4vw, 40px);
}


.qth4-card {
    position: relative;
    padding: clamp(18px, 2vw, 22px) clamp(16px, 1.8vw, 20px);
    background: linear-gradient(180deg, rgba(15, 17, 28, 0.55) 0%, rgba(7, 8, 10, 0.75) 100%);
    border: 1px solid var(--qth-border);
    border-radius: clamp(10px, 1.2vw, 14px);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: border-color .25s var(--qth-ease-out), transform .25s var(--qth-ease-out), background .25s var(--qth-ease-out);
    opacity: 0;
    transform: translateY(14px);
}

.qth4.qth4-on .qth4-card {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .55s var(--qth-ease-out), transform .55s var(--qth-ease-out), border-color .25s var(--qth-ease-out), background .25s var(--qth-ease-out);
}

    /* Stagger reveal · 80ms between cards starting at 600ms */
    .qth4.qth4-on .qth4-card:nth-child(1) {
        transition-delay: 600ms;
    }

    .qth4.qth4-on .qth4-card:nth-child(2) {
        transition-delay: 680ms;
    }

    .qth4.qth4-on .qth4-card:nth-child(3) {
        transition-delay: 760ms;
    }

    .qth4.qth4-on .qth4-card:nth-child(4) {
        transition-delay: 840ms;
    }


.qth4-card:hover {
    transform: translateY(-2px);
    border-color: var(--qth-border-3);
    background: linear-gradient(180deg, rgba(20, 23, 42, 0.65) 0%, rgba(7, 8, 10, 0.80) 100%);
}


.qth4-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    margin-bottom: clamp(10px, 1.2vw, 14px);
    flex-shrink: 0;
}

.qth4-card-icon--azure {
    background: rgba(56, 189, 248, 0.10);
    border: 1px solid rgba(56, 189, 248, 0.30);
    color: var(--qth-azure);
}

.qth4-card-icon--violet {
    background: rgba(168, 85, 247, 0.10);
    border: 1px solid rgba(168, 85, 247, 0.32);
    color: var(--qth-violet);
}

.qth4-card-icon--emerald {
    background: rgba(52, 211, 153, 0.10);
    border: 1px solid rgba(52, 211, 153, 0.32);
    color: var(--qth-emerald);
}

.qth4-card-icon--amber {
    background: rgba(251, 191, 36, 0.10);
    border: 1px solid rgba(251, 191, 36, 0.32);
    color: var(--qth-amber);
}


.qth4-card-title {
    font-family: var(--qth-font-display);
    font-size: clamp(13.5px, 1.4vw, 15px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.014em;
    color: var(--qth-t-primary);
    margin: 0 0 8px;
}


.qth4-card-body {
    font-family: var(--qth-font-body);
    font-size: clamp(11.5px, 1.15vw, 12.5px);
    line-height: 1.5;
    color: var(--qth-t-tertiary);
    margin: 0;
    letter-spacing: -0.003em;
}


/* ── Footer note · provincial readiness disclosure ────────────────── */
.qth4-foot {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2vw, 24px);
    max-width: 720px;
    margin: 0 auto;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 1s var(--qth-ease-out) 1100ms, transform 1s var(--qth-ease-out) 1100ms;
}

.qth4.qth4-on .qth4-foot {
    opacity: 1;
    transform: translateY(0);
}

.qth4-foot-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--qth-border-2) 50%, transparent 100%);
    max-width: 100px;
}

.qth4-foot-text {
    font-family: var(--qth-font-mono);
    font-size: 10px;
    color: var(--qth-t-quaternary);
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.04em;
    flex-shrink: 0;
    max-width: 480px;
}


/* ══════════════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════════════ */

@media (max-width: 980px) {
    .qth4-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 720px) {
    .qth4 {
        padding: 50px 0 50px;
    }

    .qth4-container {
        padding: 0 16px;
    }

    .qth4-h2 {
        font-size: clamp(20px, 6vw, 26px);
    }

    .qth4-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .qth4-card {
        padding: 16px 16px;
    }

    .qth4-card-title {
        font-size: 13px;
    }

    .qth4-card-body {
        font-size: 11.5px;
    }

    .qth4-foot {
        flex-direction: column;
        gap: 10px;
    }

    .qth4-foot-line {
        max-width: 60px;
        height: 1px;
    }

    .qth4-foot-text {
        font-size: 9.5px;
    }
}


/* ══════════════════════════════════════════════════════════════════════
   ADDENDUM · add these to the existing @media (prefers-reduced-motion)
   block at the bottom of telehealth.css.

   Append the lines below INSIDE the existing reduced-motion @media block,
   just before its closing brace. Do NOT create a new @media block.
══════════════════════════════════════════════════════════════════════ */

/* sec4 */
.qth4-eyebrow-dot {
    animation: none !important;
}

.qth4-eyebrow-wrap,
.qth4-h2,
.qth4-card,
.qth4-foot {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
















































/* ══════════════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════════════
   SEC 4 (qth4) — Trust + compliance strip
   Quiet, restrained 4-card row. Append to telehealth.css after sec3
   styles, before the @media (prefers-reduced-motion) block.
   ═══════════════════════════════════════════════════════════════════════
══════════════════════════════════════════════════════════════════════ */

.qth4 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    /* Tighter padding than other sections · this is the supporting cast */
    padding: clamp(60px, 8vh, 96px) 0 clamp(60px, 8vh, 96px);
    background: var(--qth-c-obs);
    color: var(--qth-t-primary);
    font-family: var(--qth-font-body);
    -webkit-font-smoothing: antialiased;
    /* Subtle top divider · separates from sec3 */
    border-top: 1px solid var(--qth-border);
}


.qth4-container {
    position: relative;
    z-index: 2;
    max-width: var(--qth-page-max);
    margin: 0 auto;
    padding: 0 var(--qth-page-pad);
}


/* ── Header · small, restrained ────────────────────────────────────── */
.qth4-head {
    max-width: 720px;
    margin: 0 auto clamp(36px, 4.4vw, 56px);
    text-align: center;
}

.qth4-eyebrow-wrap {
    margin-bottom: clamp(12px, 1.6vw, 18px);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .8s var(--qth-ease-out) 200ms, transform .8s var(--qth-ease-out) 200ms;
}

.qth4.qth4-on .qth4-eyebrow-wrap {
    opacity: 1;
    transform: translateY(0);
}

.qth4-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 5px 12px 5px 10px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--qth-font-mono);
    font-size: 10.5px;
    font-weight: 600;
    color: var(--qth-t-secondary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth4-eyebrow-dot {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-emerald), var(--qth-azure));
    box-shadow: 0 0 0 3px rgba(52, 211, 153, 0.18), 0 0 6px rgba(52, 211, 153, 0.55);
    animation: qth4-pulse 2.6s ease-in-out infinite;
}

@keyframes qth4-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.55;
    }
}


/* H2 · restrained · much smaller than sec1/2/3 */
.qth4-h2 {
    font-family: var(--qth-font-display);
    font-size: clamp(22px, 3.2vw, 36px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.024em;
    color: var(--qth-t-primary);
    margin: 0;
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .9s var(--qth-ease-out) 350ms, transform .9s var(--qth-ease-out) 350ms;
}

.qth4.qth4-on .qth4-h2 {
    opacity: 1;
    transform: translateY(0);
}

.qth4-h2-accent {
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-emerald) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-weight: 600;
}


/* ── 4-card grid ───────────────────────────────────────────────────── */
.qth4-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(12px, 1.6vw, 18px);
    margin-bottom: clamp(28px, 3.4vw, 40px);
}


.qth4-card {
    position: relative;
    padding: clamp(18px, 2vw, 22px) clamp(16px, 1.8vw, 20px);
    background: linear-gradient(180deg, rgba(15, 17, 28, 0.55) 0%, rgba(7, 8, 10, 0.75) 100%);
    border: 1px solid var(--qth-border);
    border-radius: clamp(10px, 1.2vw, 14px);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: border-color .25s var(--qth-ease-out), transform .25s var(--qth-ease-out), background .25s var(--qth-ease-out);
    opacity: 0;
    transform: translateY(14px);
}

.qth4.qth4-on .qth4-card {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .55s var(--qth-ease-out), transform .55s var(--qth-ease-out), border-color .25s var(--qth-ease-out), background .25s var(--qth-ease-out);
}

    /* Stagger reveal · 80ms between cards starting at 600ms */
    .qth4.qth4-on .qth4-card:nth-child(1) {
        transition-delay: 600ms;
    }

    .qth4.qth4-on .qth4-card:nth-child(2) {
        transition-delay: 680ms;
    }

    .qth4.qth4-on .qth4-card:nth-child(3) {
        transition-delay: 760ms;
    }

    .qth4.qth4-on .qth4-card:nth-child(4) {
        transition-delay: 840ms;
    }


.qth4-card:hover {
    transform: translateY(-2px);
    border-color: var(--qth-border-3);
    background: linear-gradient(180deg, rgba(20, 23, 42, 0.65) 0%, rgba(7, 8, 10, 0.80) 100%);
}


.qth4-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    margin-bottom: clamp(10px, 1.2vw, 14px);
    flex-shrink: 0;
}

.qth4-card-icon--azure {
    background: rgba(56, 189, 248, 0.10);
    border: 1px solid rgba(56, 189, 248, 0.30);
    color: var(--qth-azure);
}

.qth4-card-icon--violet {
    background: rgba(168, 85, 247, 0.10);
    border: 1px solid rgba(168, 85, 247, 0.32);
    color: var(--qth-violet);
}

.qth4-card-icon--emerald {
    background: rgba(52, 211, 153, 0.10);
    border: 1px solid rgba(52, 211, 153, 0.32);
    color: var(--qth-emerald);
}

.qth4-card-icon--amber {
    background: rgba(251, 191, 36, 0.10);
    border: 1px solid rgba(251, 191, 36, 0.32);
    color: var(--qth-amber);
}


.qth4-card-title {
    font-family: var(--qth-font-display);
    font-size: clamp(13.5px, 1.4vw, 15px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.014em;
    color: var(--qth-t-primary);
    margin: 0 0 8px;
}


.qth4-card-body {
    font-family: var(--qth-font-body);
    font-size: clamp(11.5px, 1.15vw, 12.5px);
    line-height: 1.5;
    color: var(--qth-t-tertiary);
    margin: 0;
    letter-spacing: -0.003em;
}


/* ── Footer note · provincial readiness disclosure ────────────────── */
.qth4-foot {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2vw, 24px);
    max-width: 720px;
    margin: 0 auto;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 1s var(--qth-ease-out) 1100ms, transform 1s var(--qth-ease-out) 1100ms;
}

.qth4.qth4-on .qth4-foot {
    opacity: 1;
    transform: translateY(0);
}

.qth4-foot-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--qth-border-2) 50%, transparent 100%);
    max-width: 100px;
}

.qth4-foot-text {
    font-family: var(--qth-font-mono);
    font-size: 10px;
    color: var(--qth-t-quaternary);
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.04em;
    flex-shrink: 0;
    max-width: 480px;
}


/* ══════════════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════════════ */

@media (max-width: 980px) {
    .qth4-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}


@media (max-width: 720px) {
    .qth4 {
        padding: 50px 0 50px;
    }

    .qth4-container {
        padding: 0 16px;
    }

    .qth4-h2 {
        font-size: clamp(20px, 6vw, 26px);
    }

    .qth4-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .qth4-card {
        padding: 16px 16px;
    }

    .qth4-card-title {
        font-size: 13px;
    }

    .qth4-card-body {
        font-size: 11.5px;
    }

    .qth4-foot {
        flex-direction: column;
        gap: 10px;
    }

    .qth4-foot-line {
        max-width: 60px;
        height: 1px;
    }

    .qth4-foot-text {
        font-size: 9.5px;
    }
}












/* ══════════════════════════════════════════════════════════════════════
   ADDENDUM · add these to the existing @media (prefers-reduced-motion)
   block at the bottom of telehealth.css.

   Append the lines below INSIDE the existing reduced-motion @media block,
   just before its closing brace. Do NOT create a new @media block.
══════════════════════════════════════════════════════════════════════ */

/* sec4 */
.qth4-eyebrow-dot {
    animation: none !important;
}

.qth4-eyebrow-wrap,
.qth4-h2,
.qth4-card,
.qth4-foot {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}












































/* ══════════════════════════════════════════════════════════════════════
   ═══════════════════════════════════════════════════════════════════════
   SEC 5 (qth5) — "The 30-second visit" · CTA close
   ─────────────────────────────────────────────────────────────────────
   The CTA itself IS the demo · live mini-mockup of a video call that
   ends with two CTA links materializing in place of the controls bar.
   ═══════════════════════════════════════════════════════════════════════
   APPEND THIS BLOCK to telehealth.css after sec4 styles, before the
   @media (prefers-reduced-motion) block at the bottom.
══════════════════════════════════════════════════════════════════════ */

.qth5 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(80px, 11vh, 130px) 0 clamp(80px, 10vh, 120px);
    background: var(--qth-c-obs);
    color: var(--qth-t-primary);
    font-family: var(--qth-font-body);
    -webkit-font-smoothing: antialiased;
}


/* ── Atmosphere · subtle drifting bands ─────────────────────────── */
.qth5-aurora {
    position: absolute;
    inset: -10%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1.6s var(--qth-ease-out);
}

.qth5.qth5-on .qth5-aurora {
    opacity: 1;
}

.qth5-aurora-band {
    position: absolute;
    width: 65%;
    height: 55%;
    border-radius: 50%;
    filter: blur(120px);
    opacity: 0.26;
    mix-blend-mode: screen;
}

.qth5-aurora-band-1 {
    top: -8%;
    left: -8%;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.34) 0%, transparent 70%);
    animation: qth5-auroraDrift 38s ease-in-out infinite alternate;
}

.qth5-aurora-band-2 {
    bottom: -8%;
    right: -8%;
    background: radial-gradient(circle, rgba(168, 85, 247, 0.32) 0%, transparent 70%);
    animation: qth5-auroraDrift 38s ease-in-out infinite alternate -19s;
}

@keyframes qth5-auroraDrift {
    0% {
        transform: translate(0, 0) scale(1);
    }

    100% {
        transform: translate(2%, -3%) scale(1.07);
    }
}


/* ── Drifting particles · 6 small dots that float upward slowly ── */
.qth5-particles {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: opacity 1.6s var(--qth-ease-out) 400ms;
}

.qth5.qth5-on .qth5-particles {
    opacity: 0.7;
}

.qth5-particle {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-azure), var(--qth-violet));
    box-shadow: 0 0 8px rgba(168, 85, 247, 0.55);
    opacity: 0.6;
}

.qth5-particle--1 {
    top: 20%;
    left: 8%;
    animation: qth5-floatUp 22s linear infinite;
}

.qth5-particle--2 {
    top: 60%;
    left: 18%;
    animation: qth5-floatUp 28s linear infinite -8s;
}

.qth5-particle--3 {
    top: 30%;
    right: 12%;
    animation: qth5-floatUp 24s linear infinite -3s;
}

.qth5-particle--4 {
    top: 75%;
    right: 22%;
    animation: qth5-floatUp 30s linear infinite -16s;
}

.qth5-particle--5 {
    top: 50%;
    left: 50%;
    animation: qth5-floatUp 26s linear infinite -12s;
}

.qth5-particle--6 {
    top: 40%;
    right: 36%;
    animation: qth5-floatUp 32s linear infinite -22s;
}

@keyframes qth5-floatUp {
    0% {
        transform: translate(0, 0) scale(1);
        opacity: 0;
    }

    8% {
        opacity: 0.65;
    }

    50% {
        transform: translate(20px, -120px) scale(1.1);
    }

    92% {
        opacity: 0.65;
    }

    100% {
        transform: translate(40px, -240px) scale(0.6);
        opacity: 0;
    }
}


.qth5-container {
    position: relative;
    z-index: 2;
    max-width: var(--qth-page-max);
    margin: 0 auto;
    padding: 0 var(--qth-page-pad);
}


/* ── Header ───────────────────────────────────────────────────────── */
.qth5-head {
    max-width: 720px;
    margin: 0 auto clamp(48px, 6vw, 72px);
    text-align: center;
}

.qth5-eyebrow-wrap {
    margin-bottom: clamp(14px, 1.8vw, 20px);
    opacity: 0;
    transform: translateY(10px);
    transition: opacity .8s var(--qth-ease-out) 200ms, transform .8s var(--qth-ease-out) 200ms;
}

.qth5.qth5-on .qth5-eyebrow-wrap {
    opacity: 1;
    transform: translateY(0);
}

.qth5-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 6px 14px 6px 12px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    font-family: var(--qth-font-mono);
    font-size: 11px;
    font-weight: 600;
    color: var(--qth-t-secondary);
    letter-spacing: 0.10em;
    text-transform: uppercase;
}

.qth5-eyebrow-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-azure), var(--qth-violet));
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.18), 0 0 8px rgba(168, 85, 247, 0.55);
    animation: qth5-pulse 2.6s ease-in-out infinite;
}

@keyframes qth5-pulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.55;
    }
}


.qth5-h2 {
    font-family: var(--qth-font-display);
    font-size: clamp(28px, 4.4vw, 48px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.030em;
    color: var(--qth-t-primary);
    margin: 0;
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .9s var(--qth-ease-out) 350ms, transform .9s var(--qth-ease-out) 350ms;
}

.qth5.qth5-on .qth5-h2 {
    opacity: 1;
    transform: translateY(0);
}

.qth5-h2-accent {
    background: linear-gradient(135deg, var(--qth-azure) 0%, #818cf8 50%, var(--qth-violet) 100%);
    background-size: 220% 220%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    filter: drop-shadow(0 4px 18px rgba(99, 102, 241, 0.30));
    animation: qth1-gradientShift 9s ease-in-out infinite;
}


/* ══════════════════════════════════════════════════════════════════════
   THE CALL FRAME · live mini-mockup
══════════════════════════════════════════════════════════════════════ */

.qth5-call {
    position: relative;
    max-width: 540px;
    margin: 0 auto;
    background: linear-gradient(180deg, rgba(20, 23, 42, 0.92) 0%, rgba(7, 8, 14, 0.96) 100%);
    border: 1px solid rgba(168, 85, 247, 0.35);
    border-radius: clamp(16px, 1.8vw, 22px);
    overflow: visible;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04) inset, 0 30px 80px -20px rgba(0, 0, 0, 0.65), 0 50px 120px -30px rgba(99, 102, 241, 0.40);
    opacity: 0;
    transform: translateY(28px) scale(0.96);
    transition: opacity 1s var(--qth-ease-out) 600ms, transform 1s var(--qth-ease-spring) 600ms;
}

.qth5.qth5-on .qth5-call {
    opacity: 1;
    transform: translateY(0) scale(1);
}


/* Outer aurora glow ring · breathes around the call frame */
.qth5-call-glow {
    position: absolute;
    inset: -16px;
    z-index: -1;
    border-radius: clamp(24px, 2.6vw, 32px);
    background: radial-gradient(ellipse 80% 70% at 30% 30%, rgba(56, 189, 248, 0.30) 0%, transparent 60%), radial-gradient(ellipse 80% 70% at 70% 70%, rgba(168, 85, 247, 0.30) 0%, transparent 60%);
    filter: blur(28px);
    pointer-events: none;
    opacity: 0;
    transition: opacity 1.4s var(--qth-ease-out) 800ms;
    animation: qth5-glowBreathe 6s ease-in-out infinite alternate;
}

.qth5.qth5-on .qth5-call-glow {
    opacity: 1;
}

@keyframes qth5-glowBreathe {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.04);
    }
}


/* ── Call header · doctor info + LIVE pill ─────────────────────── */
.qth5-call-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: clamp(14px, 1.8vw, 18px) clamp(16px, 2vw, 22px);
    border-bottom: 1px solid var(--qth-border);
}


.qth5-call-doctor {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex: 1;
}

.qth5-call-avatar {
    position: relative;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.45);
}

.qth5-call-avatar-letter {
    font-family: var(--qth-font-display);
    font-size: 18px;
    font-weight: 800;
    color: white;
    letter-spacing: 0;
}

/* Speaking ring · pulses while doctor speaks */
.qth5-call-avatar-ring {
    position: absolute;
    inset: -3px;
    border-radius: 50%;
    border: 2px solid rgba(168, 85, 247, 0);
    pointer-events: none;
    transition: border-color .3s var(--qth-ease-out);
}

.qth5-call-speaking .qth5-call-avatar-ring {
    animation: qth5-speakingRing 1.2s ease-in-out infinite;
}

@keyframes qth5-speakingRing {
    0%, 100% {
        border-color: rgba(168, 85, 247, 0.50);
        box-shadow: 0 0 0 0 rgba(168, 85, 247, 0.45);
    }

    50% {
        border-color: rgba(56, 189, 248, 0.90);
        box-shadow: 0 0 0 6px rgba(168, 85, 247, 0.10);
    }
}


.qth5-call-doctor-text {
    min-width: 0;
}

.qth5-call-doctor-name {
    font-family: var(--qth-font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--qth-t-primary);
    letter-spacing: -0.014em;
    line-height: 1.1;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.qth5-call-doctor-verified {
    color: var(--qth-azure);
    display: inline-flex;
    align-items: center;
}


.qth5-call-doctor-role {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 3px;
    font-family: var(--qth-font-mono);
    font-size: 10.5px;
    font-weight: 700;
    color: var(--qth-t-tertiary);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: color .3s var(--qth-ease-out);
}


/* Status dot · changes color through the call lifecycle */
.qth5-call-status-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
    transition: background .3s var(--qth-ease-out), box-shadow .3s var(--qth-ease-out);
}

.qth5-call-status-dot--connecting {
    background: var(--qth-amber);
    box-shadow: 0 0 6px rgba(245, 158, 11, 0.65);
    animation: qth5-statusBlink 0.9s ease-in-out infinite;
}

.qth5-call-status-dot--live {
    background: var(--qth-emerald);
    box-shadow: 0 0 6px rgba(52, 211, 153, 0.85);
    animation: qth5-pulse 2s ease-in-out infinite;
}

.qth5-call-status-dot--complete {
    background: var(--qth-azure);
    box-shadow: 0 0 6px rgba(56, 189, 248, 0.70);
}

@keyframes qth5-statusBlink {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0.3;
    }
}


/* ── LIVE pill on the right ─────────────────────────────────────── */
.qth5-call-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px 5px 9px;
    background: rgba(7, 8, 10, 0.65);
    border: 1px solid var(--qth-border-2);
    border-radius: var(--qth-r-full);
    font-family: var(--qth-font-display);
    font-weight: 700;
    color: var(--qth-t-tertiary);
    transition: border-color .3s var(--qth-ease-out), color .3s var(--qth-ease-out);
}

.qth5-call-pill--on {
    border-color: rgba(251, 113, 133, 0.42);
    color: var(--qth-t-primary);
}

.qth5-call-pill--ended {
    border-color: rgba(56, 189, 248, 0.42);
}

.qth5-call-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(251, 113, 133, 0.30);
    transition: background .3s var(--qth-ease-out), box-shadow .3s var(--qth-ease-out);
}

.qth5-call-pill--on .qth5-call-live-dot {
    background: var(--qth-rose);
    box-shadow: 0 0 6px rgba(251, 113, 133, 0.85);
    animation: qth5-livePulse 1.4s ease-in-out infinite;
}

.qth5-call-pill--ended .qth5-call-live-dot {
    background: var(--qth-azure);
    box-shadow: 0 0 6px rgba(56, 189, 248, 0.70);
    animation: none;
}

@keyframes qth5-livePulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.5);
        opacity: 0.45;
    }
}

.qth5-call-live-label {
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: rgba(251, 113, 133, 0.5);
    transition: color .3s var(--qth-ease-out);
}

.qth5-call-pill--on .qth5-call-live-label {
    color: var(--qth-rose);
}

.qth5-call-pill--ended .qth5-call-live-label {
    color: var(--qth-azure);
}

.qth5-call-live-sep {
    color: var(--qth-t-quaternary);
    font-weight: 400;
}

.qth5-call-live-timer {
    font-family: var(--qth-font-mono);
    font-size: 12.5px;
    font-weight: 700;
    color: var(--qth-t-primary);
    font-variant-numeric: tabular-nums;
}


/* ── Call body · waveform + typing + message ─────────────────── */
.qth5-call-body {
    position: relative;
    padding: clamp(24px, 3vw, 36px) clamp(20px, 2.4vw, 28px);
    min-height: 160px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}


/* Audio waveform · 7 bars that animate when "speaking" */
.qth5-call-wave {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    height: 24px;
    margin-bottom: 14px;
    opacity: 0.3;
    transition: opacity .4s var(--qth-ease-out);
}

.qth5-call-wave--on {
    opacity: 1;
}

.qth5-call-wave-bar {
    width: 3px;
    height: 6px;
    background: linear-gradient(180deg, var(--qth-azure) 0%, var(--qth-violet) 100%);
    border-radius: 2px;
    box-shadow: 0 0 4px rgba(168, 85, 247, 0.55);
}

.qth5-call-wave--on .qth5-call-wave-bar:nth-child(1) {
    animation: qth5-waveBar 0.9s ease-in-out infinite;
}

.qth5-call-wave--on .qth5-call-wave-bar:nth-child(2) {
    animation: qth5-waveBar 0.7s ease-in-out infinite -0.10s;
}

.qth5-call-wave--on .qth5-call-wave-bar:nth-child(3) {
    animation: qth5-waveBar 0.8s ease-in-out infinite -0.25s;
}

.qth5-call-wave--on .qth5-call-wave-bar:nth-child(4) {
    animation: qth5-waveBar 0.6s ease-in-out infinite -0.05s;
}

.qth5-call-wave--on .qth5-call-wave-bar:nth-child(5) {
    animation: qth5-waveBar 0.85s ease-in-out infinite -0.30s;
}

.qth5-call-wave--on .qth5-call-wave-bar:nth-child(6) {
    animation: qth5-waveBar 0.75s ease-in-out infinite -0.18s;
}

.qth5-call-wave--on .qth5-call-wave-bar:nth-child(7) {
    animation: qth5-waveBar 0.95s ease-in-out infinite -0.40s;
}

@keyframes qth5-waveBar {
    0%, 100% {
        height: 6px;
    }

    50% {
        height: 22px;
    }
}


/* Typing indicator · 3 breathing dots, shown briefly before TypeIt starts */
.qth5-call-typing {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 18px;
    margin-bottom: 8px;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .35s var(--qth-ease-out), transform .35s var(--qth-ease-out);
}

.qth5-call-typing--on {
    opacity: 1;
    transform: translateY(0);
}

.qth5-call-typing > span {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--qth-t-tertiary);
}

    .qth5-call-typing > span:nth-child(1) {
        animation: qth5-typeDot 1.3s ease-in-out infinite;
    }

    .qth5-call-typing > span:nth-child(2) {
        animation: qth5-typeDot 1.3s ease-in-out infinite -0.15s;
    }

    .qth5-call-typing > span:nth-child(3) {
        animation: qth5-typeDot 1.3s ease-in-out infinite -0.30s;
    }

@keyframes qth5-typeDot {
    0%, 80%, 100% {
        transform: translateY(0) scale(1);
        opacity: 0.5;
    }

    40% {
        transform: translateY(-4px) scale(1.15);
        opacity: 1;
    }
}


/* The message · TypeIt fills this in */
.qth5-call-msg {
    font-family: var(--qth-font-body);
    font-size: clamp(15px, 1.5vw, 17px);
    line-height: 1.6;
    color: var(--qth-t-primary);
    margin: 0;
    text-align: center;
    letter-spacing: -0.005em;
    min-height: 60px;
}


/* ── Call footer · controls bar morphs into CTAs ─────────────── */
.qth5-call-foot {
    padding: clamp(14px, 1.8vw, 18px) clamp(16px, 2vw, 22px);
    border-top: 1px solid var(--qth-border);
    background: rgba(7, 8, 10, 0.40);
}


/* The controls bar (decorative · pre-call-end state) */
.qth5-call-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}

.qth5-call-control {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(20, 23, 42, 0.85);
    border: 1px solid var(--qth-border-2);
    color: var(--qth-t-secondary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.qth5-call-control--end {
    background: linear-gradient(135deg, #f43f5e 0%, #be123c 100%);
    border-color: rgba(244, 63, 94, 0.55);
    color: white;
    box-shadow: 0 0 10px rgba(244, 63, 94, 0.35);
}


/* The CTAs · materialize when the call ends */
.qth5-call-ctas {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.qth5-call-ctas--on .qth5-cta {
    animation: qth5-ctaPop 0.7s var(--qth-ease-spring) forwards;
}

    .qth5-call-ctas--on .qth5-cta:nth-child(1) {
        animation-delay: 100ms;
    }

    .qth5-call-ctas--on .qth5-cta:nth-child(2) {
        animation-delay: 280ms;
    }

@keyframes qth5-ctaPop {
    0% {
        opacity: 0;
        transform: translateY(14px) scale(0.96);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}


.qth5-cta {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    background: rgba(15, 17, 28, 0.65);
    border: 1px solid var(--qth-border-2);
    border-radius: 12px;
    text-decoration: none;
    color: var(--qth-t-primary);
    transition: border-color .25s var(--qth-ease-out), background .25s var(--qth-ease-out), transform .25s var(--qth-ease-spring);
    opacity: 0;
}

    .qth5-cta:hover {
        transform: translateY(-2px);
        border-color: var(--qth-border-3);
        background: rgba(20, 23, 42, 0.85);
    }


/* Primary CTA · azure-violet gradient accent border + glow */
.qth5-cta--primary {
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.10) 0%, rgba(168, 85, 247, 0.10) 100%);
    border-color: rgba(168, 85, 247, 0.45);
    box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.10), 0 4px 18px rgba(99, 102, 241, 0.20);
}

    .qth5-cta--primary:hover {
        border-color: rgba(168, 85, 247, 0.75);
        box-shadow: 0 0 0 1px rgba(168, 85, 247, 0.20), 0 8px 24px rgba(99, 102, 241, 0.35);
        transform: translateY(-2px);
    }


.qth5-cta-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: rgba(7, 8, 10, 0.55);
    border: 1px solid var(--qth-border);
    color: var(--qth-emerald);
    flex-shrink: 0;
}

.qth5-cta--primary .qth5-cta-icon {
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.16) 0%, rgba(168, 85, 247, 0.16) 100%);
    border-color: rgba(168, 85, 247, 0.40);
    color: var(--qth-violet);
}

.qth5-cta--secondary .qth5-cta-icon {
    color: var(--qth-azure);
}


.qth5-cta-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.qth5-cta-label {
    font-family: var(--qth-font-display);
    font-size: 14.5px;
    font-weight: 700;
    color: var(--qth-t-primary);
    letter-spacing: -0.012em;
    line-height: 1.2;
}

.qth5-cta-sub {
    font-family: var(--qth-font-body);
    font-size: 11.5px;
    color: var(--qth-t-tertiary);
    line-height: 1.3;
    letter-spacing: -0.005em;
}


.qth5-cta-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--qth-t-tertiary);
    flex-shrink: 0;
    transition: transform .3s cubic-bezier(0.34, 1.56, 0.64, 1), color .3s var(--qth-ease-out);
}

.qth5-cta:hover .qth5-cta-arrow {
    transform: translateX(4px);
    color: var(--qth-t-primary);
}


/* ══════════════════════════════════════════════════════════════════════
   SIGN-OFF · matches Default.aspx sec11 closer style
══════════════════════════════════════════════════════════════════════ */

.qth5-signoff {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(14px, 2vw, 24px);
    max-width: 480px;
    margin: clamp(48px, 5vw, 64px) auto 0;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 1s var(--qth-ease-out) 1500ms, transform 1s var(--qth-ease-out) 1500ms;
}

.qth5.qth5-on .qth5-signoff {
    opacity: 1;
    transform: translateY(0);
}

.qth5-signoff-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(168, 85, 247, 0.30) 50%, transparent 100%);
    max-width: 140px;
}

.qth5-signoff-text {
    font-family: var(--qth-font-display);
    font-size: clamp(12.5px, 1.2vw, 13.5px);
    font-weight: 500;
    color: var(--qth-t-tertiary);
    letter-spacing: -0.005em;
    line-height: 1.4;
    font-style: italic;
    flex-shrink: 0;
    white-space: nowrap;
}


/* ══════════════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════════════ */

@media (max-width: 720px) {
    .qth5 {
        padding: 60px 0 60px;
    }

    .qth5-container {
        padding: 0 16px;
    }

    .qth5-h2 {
        font-size: clamp(24px, 7vw, 32px);
    }

    .qth5-call {
        max-width: 100%;
    }

    .qth5-call-head {
        padding: 12px 14px;
        gap: 10px;
    }

    .qth5-call-avatar {
        width: 38px;
        height: 38px;
    }

    .qth5-call-avatar-letter {
        font-size: 16px;
    }

    .qth5-call-doctor-name {
        font-size: 13.5px;
    }

    .qth5-call-doctor-role {
        font-size: 9.5px;
    }

    .qth5-call-pill {
        padding: 4px 9px 4px 8px;
        gap: 5px;
    }

    .qth5-call-live-label {
        font-size: 9.5px;
    }

    .qth5-call-live-timer {
        font-size: 11px;
    }

    .qth5-call-body {
        padding: 22px 18px;
        min-height: 140px;
    }

    .qth5-call-msg {
        font-size: 14px;
        line-height: 1.55;
    }

    .qth5-call-foot {
        padding: 12px 14px;
    }

    .qth5-cta {
        padding: 10px 12px;
        gap: 10px;
    }

    .qth5-cta-icon {
        width: 28px;
        height: 28px;
    }

    .qth5-cta-label {
        font-size: 13px;
    }

    .qth5-cta-sub {
        font-size: 11px;
    }

    .qth5-signoff {
        margin-top: 40px;
        gap: 10px;
    }

    .qth5-signoff-line {
        max-width: 50px;
    }

    .qth5-signoff-text {
        font-size: 12px;
    }
}



















/* ══════════════════════════════════════════════════════════════════════
   ADDENDUM · add these lines to the existing @media (prefers-reduced-motion)
   block at the bottom of telehealth.css.

   Append the lines below INSIDE the existing reduced-motion @media block,
   just before its closing brace. Do NOT create a new @media block.
══════════════════════════════════════════════════════════════════════ */

/* sec5 */
.qth5-aurora-band,
.qth5-particle,
.qth5-eyebrow-dot,
.qth5-h2-accent,
.qth5-call-glow,
.qth5-call-avatar-ring,
.qth5-call-status-dot--connecting,
.qth5-call-status-dot--live,
.qth5-call-live-dot,
.qth5-call-wave-bar,
.qth5-call-typing > span {
    animation: none !important;
}

.qth5-aurora,
.qth5-particles,
.qth5-eyebrow-wrap,
.qth5-h2,
.qth5-call,
.qth5-call-glow,
.qth5-signoff,
.qth5-cta {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}

.qth5-call-ctas--on .qth5-cta {
    animation: none !important;
}