/*
 * Medlink landing performance + type polish.
 * The page keeps its visual identity, but expensive glass effects and
 * decorative animations are suspended only while the user is actively
 * scrolling. This keeps the scroll thread free without making the idle page
 * feel static.
 */

html.intro-landing,
html.intro-landing body {
    font-family: "mainFont", sans-serif;
    font-size: 16px;
    text-rendering: optimizeLegibility;
}

html.intro-landing .section-title {
    font-size: clamp(2.2rem, 4.1vw, 3.35rem) !important;
    line-height: 1.22 !important;
    letter-spacing: -.025em;
}

html.intro-landing .section-sub {
    max-width: 760px;
    font-size: clamp(1rem, 1.22vw, 1.16rem) !important;
    line-height: 1.9 !important;
}

html.intro-landing .section-badge,
html.intro-landing .services-immersive-kicker {
    font-size: clamp(.92rem, 1vw, 1.02rem) !important;
}

html.intro-landing .nav_bar li a {
    font-size: clamp(.9rem, .92vw, 1rem) !important;
}

/* Premium navigation scale: more breathing room, stronger hierarchy and a
 * larger hit target without changing the mobile drawer behavior. */
@media (min-width: 992px) {
    html.intro-landing #intro-site-header {
        padding: .85rem 0 !important;
    }

    html.intro-landing[data-theme] .intro-nav-shell {
        min-height: 68px;
        padding: .65rem 1.05rem .65rem 1.3rem !important;
        box-shadow: 0 16px 38px rgba(var(--primary-rgb), .16),
            0 4px 14px rgba(15, 23, 42, .08),
            inset 0 1px 0 rgba(255, 255, 255, .72) !important;
    }

    html.intro-landing .intro-header-row {
        gap: clamp(.8rem, 1.2vw, 1.35rem) !important;
    }

    html.intro-landing[data-theme] .intro-logo img {
        max-height: 46px !important;
    }

    html.intro-landing[data-theme] .nav_bar {
        gap: clamp(.3rem, .7vw, .9rem) !important;
    }

    html.intro-landing[data-theme] .nav_bar li a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: .55rem clamp(.55rem, .72vw, 1rem) !important;
        font-size: clamp(.96rem, 1vw, 1.08rem) !important;
        font-weight: 700 !important;
    }

    html.intro-landing[data-theme] .intro-header-tools {
        gap: clamp(.45rem, .6vw, .72rem) !important;
    }

    html.intro-landing[data-theme] .intro-header-tools .intro-nav-cta {
        min-height: 44px;
        padding: .62rem clamp(.95rem, 1.05vw, 1.35rem) !important;
        font-size: clamp(.94rem, .98vw, 1.06rem) !important;
        box-shadow: 0 12px 30px rgba(var(--primary-rgb), .34),
            inset 0 1px 1px rgba(255, 255, 255, .42) !important;
    }

    html.intro-landing[data-theme] .intro-header-tools .dropdown-toggle {
        min-height: 44px !important;
        padding: .55rem clamp(.7rem, .8vw, 1rem) !important;
        font-size: clamp(.94rem, .96vw, 1.04rem) !important;
    }
}

html.intro-landing[data-theme] .nav_bar li a:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(var(--primary-rgb), .14) !important;
}

html.intro-landing[data-theme] .nav_bar li a.active {
    box-shadow: 0 8px 22px rgba(var(--primary-rgb), .18),
        inset 0 0 0 1px color-mix(in srgb, var(--primary) 34%, transparent) !important;
}

html.intro-landing[data-theme] .intro-header-tools .dropdown-toggle,
html.intro-landing[data-theme] .intro-header-tools .intro-nav-cta {
    transition: transform .25s cubic-bezier(.16, 1, .3, 1),
        box-shadow .25s ease, background .25s ease, border-color .25s ease !important;
}

@media (max-width: 991px) {
    html.intro-landing #intro-site-header {
        padding: .65rem 0 !important;
    }

    html.intro-landing[data-theme] .intro-nav-shell {
        min-height: 60px;
        padding: .5rem .75rem !important;
    }

    html.intro-landing[data-theme] .intro-logo img {
        max-height: 42px !important;
    }

    html.intro-landing[data-theme] .intro-header-tools .dropdown-toggle,
    html.intro-landing[data-theme] .close-open-nav {
        min-height: 42px;
    }
}

html.intro-landing .intro-nav-tools .intro-nav-cta,
html.intro-landing .intro-nav-tools .dropdown-toggle {
    font-size: clamp(.88rem, .9vw, .98rem) !important;
}

html.intro-landing #our_service .services-immersive-title {
    font-size: clamp(2.2rem, 4.2vw, 3.4rem) !important;
}

html.intro-landing .medlink-card-title {
    font-size: 1.05rem;
}

html.intro-landing .medlink-card-subtitle {
    font-size: .84rem;
}

/* Fast path used only during active wheel/touchpad scrolling. */
html.intro-landing.is-scrolling .intro-nav-shell,
html.intro-landing.is-scrolling .dropdown-menu,
html.intro-landing.is-scrolling .hero-badge,
html.intro-landing.is-scrolling .medlink-floating-card,
html.intro-landing.is-scrolling .medlink-globe-hint,
html.intro-landing.is-scrolling .medlink-how-detail-card,
html.intro-landing.is-scrolling .app-banner-badge,
html.intro-landing.is-scrolling .store-badge-btn,
html.intro-landing.is-scrolling .medlink-satellite-capsule {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html.intro-landing.is-scrolling * {
    animation-play-state: paused !important;
}

html.intro-landing.is-scrolling .medlink-reveal-section,
html.intro-landing.is-scrolling .medlink-reveal-section * {
    transition-duration: 0s !important;
}

@media (prefers-reduced-motion: reduce) {
    html.intro-landing * {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
        scroll-behavior: auto !important;
    }
}
