/* ══════════════════════════════════════════════════════════════════════════
   ASI HOMEPAGE - MOBILE CSS (≤ 900px)
   Loaded via media="screen and (max-width: 900px)" - does NOT touch desktop.
   Optimized for 2025-2026 flagships: iPhone 17 PM (440px), Pixel 11 Pro (412px),
   Samsung S25 Ultra (412px), iPhone 16 PM (430px), iPhone 15 Pro (393px).
   ══════════════════════════════════════════════════════════════════════════ */

/* ===================== RESPONSIVE VISIBILITY ===================== */
.mobile-only {
    display: block !important;
}

.desktop-only {
    display: none !important;
}

/* ===================== GLASSMORPHIC HEADER ON HERO ===================== */
/* The hero video is ALWAYS dark, regardless of light/dark theme.
   So the mobile header must ALWAYS use dark glass while over the hero,
   matching desktop behavior (hero-dark-header forces white text). */

/* Default (over hero) - ALWAYS dark glass, both themes */
.mobile-nav {
    background: rgba(10, 15, 26, 0.55) !important;
    backdrop-filter: blur(20px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(150%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Force white text + icons in BOTH themes while on dark hero */
.mobile-nav .m-brand-line1 {
    color: #ffffff !important;
}
.mobile-nav .m-brand-line2 {
    color: #00e5ff !important;
}
.mobile-nav .m-brand-divider {
    background: rgba(255, 255, 255, 0.15) !important;
}
.mobile-nav .m-theme-toggle,
.mobile-nav .m-theme-icon-sun,
.mobile-nav .m-theme-icon-moon {
    color: rgba(255, 255, 255, 0.8) !important;
}
.mobile-nav .m-menu-toggle span {
    background: #ffffff !important;
}

/* Scrolled (past hero) - follows theme */
.mobile-nav.scrolled {
    background: rgba(10, 15, 26, 0.88) !important;
    backdrop-filter: blur(30px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(30px) saturate(180%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Light mode scrolled - switch to light glass when past the dark hero */
[data-theme="light"] .mobile-nav.scrolled {
    background: rgba(255, 255, 255, 0.88) !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
}
[data-theme="light"] .mobile-nav.scrolled .m-brand-line1 {
    color: var(--text-heading) !important;
}
[data-theme="light"] .mobile-nav.scrolled .m-brand-line2 {
    color: var(--accent-blue) !important;
}
[data-theme="light"] .mobile-nav.scrolled .m-brand-divider {
    background: rgba(0, 0, 0, 0.1) !important;
}
[data-theme="light"] .mobile-nav.scrolled .m-theme-toggle,
[data-theme="light"] .mobile-nav.scrolled .m-theme-icon-sun,
[data-theme="light"] .mobile-nav.scrolled .m-theme-icon-moon {
    color: var(--text-body) !important;
}
[data-theme="light"] .mobile-nav.scrolled .m-menu-toggle span {
    background: var(--text-heading) !important;
}

/* ===================== HERO SECTION ===================== */
.hp-hero {
    min-height: 100dvh;
    padding-top: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.hp-hero .container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.hp-hero-content {
    padding-top: 4rem !important;  /* Clear nav height */
    padding-bottom: 2rem;
}

/* ── Hero headline - prevent scroll clipping ── */
.hp-hero h1 {
    font-size: clamp(2.2rem, 9vw, 3rem) !important;
    letter-spacing: -0.5px !important;
    margin-bottom: 1.25rem !important;
    line-height: 1.15 !important;
}

/* Force gradient text to always be visible (not hidden by scroll reveal) */
.hp-hero h1.reveal,
.hp-hero h1.reveal.visible {
    opacity: 1 !important;
    transform: none !important;
}

.hp-hero-sub {
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
    margin-bottom: 1.5rem !important;
    padding: 0 0.25rem;
    color: rgba(255, 255, 255, 0.75) !important;
    font-weight: 300 !important;
}

/* ── Hero metrics - compact luxury feel ── */
.hp-hero-metrics {
    gap: 2rem !important;
    padding-top: 1.25rem !important;
    margin-bottom: 1.5rem !important;
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}

.hp-metric-val {
    font-size: 1.3rem !important;
    letter-spacing: -0.5px;
}

.hp-metric-lbl {
    font-size: 0.6rem !important;
    letter-spacing: 2px !important;
    color: rgba(255, 255, 255, 0.4) !important;
}

/* ── Hero CTA buttons - compact, not full width ── */
.hp-hero-cta {
    flex-direction: row !important;
    gap: 0.75rem !important;
    justify-content: center !important;
    flex-wrap: wrap;
}

.hp-hero-cta .btn {
    width: auto !important;
    min-width: 140px;
    padding: 0.75rem 1.5rem !important;
    font-size: 0.85rem !important;
    border-radius: 8px !important;
}

.hp-hero-cta .btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #06b6d4 100%) !important;
    border: none !important;
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.35) !important;
}

.hp-hero-cta .btn-secondary {
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* ── Premium hero vignette overlay ── */
.hp-hero-overlay {
    background: 
        radial-gradient(ellipse at 50% 30%, transparent 0%, rgba(0,0,0,0.4) 70%),
        linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.6) 100%) !important;
}

[data-theme="dark"] .hp-hero-overlay {
    background:
        radial-gradient(ellipse at 50% 30%, transparent 0%, rgba(0,0,0,0.5) 70%),
        linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%) !important;
}

/* ===================== GLOBAL SECTION HEADERS ===================== */
.section-title {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    letter-spacing: -0.5px !important;
}

.section-sub {
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
}

.section-header {
    margin-bottom: 2rem !important;
}

.section-eyebrow {
    font-size: 0.65rem !important;
    padding: 0.3rem 0.85rem !important;
    letter-spacing: 1.5px !important;
}

/* ===================== GLOBAL UNIFORM PADDING ===================== */
/* Hero & clients are full-width. All other sections get uniform side padding.
   This matches the desktop logic where .container provides consistent margins. */
.container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
}

/* ===================== CLIENT MARQUEE ===================== */
.clients-marquee-v1 {
    padding: 2rem 0 !important;
}

.trust-heading {
    font-size: 0.65rem !important;
    margin-bottom: 1rem !important;
    letter-spacing: 2px !important;
    color: var(--text-muted) !important;
}

/* ===================== PIPELINE SECTION ===================== */
/* First thing users see after hero - must feel premium and intentional */
.hp-pipeline-section {
    padding: 3rem 0 !important;
}

.pipe-layout-mobile {
    padding: 0 !important;
}

/* Pipeline cards - frosted glass, HORIZONTAL: icon | text, vertically centered */
.m-pipe-card,
.p3-card {
    width: 100% !important;
    padding: 1.1rem 1.25rem !important;
    background: rgba(255, 255, 255, 0.08) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 16px !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
    /* Horizontal layout: icon | text */
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 1rem !important;
    text-align: left !important;
}

/* Light mode pipeline glass */
[data-theme="light"] .m-pipe-card,
[data-theme="light"] .p3-card {
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(59, 130, 246, 0.1) !important;
    box-shadow:
        0 4px 20px rgba(59, 130, 246, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.m-pipe-card h3,
.p3-card h3 {
    font-size: 0.95rem !important;
    text-align: left !important;
    margin-bottom: 0.1rem !important;
}

.m-pipe-card p,
.p3-card p {
    font-size: 0.78rem !important;
    line-height: 1.4 !important;
    text-align: left !important;
    margin-bottom: 0 !important;
}

/* Pipeline icon - left side, square-rounded, glassmorphic */
.p3-card-icon {
    margin-bottom: 0 !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    border-radius: 12px !important;
    background: rgba(59, 130, 246, 0.12) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 1rem !important;
}

/* ASI core card - accent glow */
.asi-core-card {
    border-color: rgba(59, 130, 246, 0.25) !important;
    background: rgba(59, 130, 246, 0.08) !important;
    box-shadow:
        0 4px 20px rgba(59, 130, 246, 0.08),
        inset 0 1px 0 rgba(59, 130, 246, 0.12) !important;
}

[data-theme="light"] .asi-core-card {
    background: rgba(59, 130, 246, 0.06) !important;
    border-color: rgba(59, 130, 246, 0.18) !important;
    box-shadow:
        0 4px 20px rgba(59, 130, 246, 0.06),
        inset 0 1px 0 rgba(59, 130, 246, 0.1) !important;
}

.asi-core-card .p3-card-icon {
    background: rgba(59, 130, 246, 0.2) !important;
    color: #60a5fa !important;
}

/* ── Pipeline Connector - pulsing data flow ── */
.axis-connector {
    height: 32px !important;
    margin: 0.15rem 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
}

.axis-line {
    width: 2px !important;
    height: 18px !important;
    background: linear-gradient(
        180deg,
        rgba(59, 130, 246, 0.15) 0%,
        rgba(59, 130, 246, 0.4) 50%,
        rgba(59, 130, 246, 0.15) 100%
    ) !important;
    border-left: none !important;
    border: none !important;
    position: relative !important;
    overflow: visible !important;
}

/* Pulsing glow dot traveling down the connector */
.axis-line::before {
    content: '';
    position: absolute;
    top: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #3b82f6;
    box-shadow: 0 0 8px 2px rgba(59, 130, 246, 0.5);
    animation: pulseFlow 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

/* Second connector gets staggered animation */
.axis-connector:nth-child(4) .axis-line::before,
.axis-connector:last-of-type .axis-line::before {
    animation-delay: 1s;
}

@keyframes pulseFlow {
    0% {
        top: -3px;
        opacity: 0;
        transform: translateX(-50%) scale(0.6);
    }
    20% {
        opacity: 1;
        transform: translateX(-50%) scale(1);
    }
    80% {
        opacity: 1;
        transform: translateX(-50%) scale(1);
    }
    100% {
        top: calc(100% - 3px);
        opacity: 0;
        transform: translateX(-50%) scale(0.6);
    }
}

/* Arrow - subtle pulse glow */
.axis-arrow {
    color: rgba(59, 130, 246, 0.5) !important;
    font-size: 0.6rem !important;
    animation: arrowPulse 2s ease-in-out infinite !important;
}

.axis-connector:nth-child(4) .axis-arrow,
.axis-connector:last-of-type .axis-arrow {
    animation-delay: 1s !important;
}

@keyframes arrowPulse {
    0%, 100% {
        opacity: 0.4;
        color: rgba(59, 130, 246, 0.3);
    }
    50% {
        opacity: 1;
        color: rgba(59, 130, 246, 0.7);
    }
}

/* ===================== TECHNOLOGY SECTION ===================== */
.hp-tech {
    padding: 3rem 0 !important;
}

.hp-tech-trio {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
}

/* Tech cards - HORIZONTAL: logo | text, matching pipeline style */
.hp-tech-nav-card {
    padding: 1.4rem 1.5rem !important;
    min-height: 80px !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 1.15rem !important;
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

[data-theme="light"] .hp-tech-nav-card {
    background: rgba(255, 255, 255, 0.6) !important;
    border: 1px solid rgba(59, 130, 246, 0.1) !important;
    box-shadow:
        0 4px 20px rgba(59, 130, 246, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
}

/* Logo container - NO box, just hold the logo naturally */
.tech-nav-icon-wrap {
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    min-width: auto !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Logo image - subtle white bg pill behind it in dark mode */
.tech-nav-logo {
    height: 28px !important;
    max-width: none !important;
    object-fit: contain !important;
    padding: 4px 8px !important;
    border-radius: 6px !important;
}

/* Cost Lab logo - larger since ASI mark is compact */
.hp-tech-nav-card--has-image .tech-nav-logo {
    height: 36px !important;
}

/* Only xcPEP & xcPROC logos need white bg - ASI logo is already light */
[data-theme="dark"] .tech-nav-logo {
    background: rgba(255, 255, 255, 0.92) !important;
}

[data-theme="dark"] .hp-tech-nav-card--has-image .tech-nav-logo {
    background: none !important;
}

/* Eyebrow = mobile title - "Should Cost Software", "Should Cost Data", "Cost Lab" */
.tech-nav-body .product-mono {
    display: block !important;
    font-size: 0.92rem !important;
    font-weight: 600 !important;
    font-family: var(--font-body), 'Inter', sans-serif !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--text-heading) !important;
    margin-bottom: 0.1rem !important;
}

/* FIX: .desktop-only must override .product-mono even with higher specificity */
.tech-nav-body .product-mono.desktop-only {
    display: none !important;
}

/* Hide h3 on mobile - logo + eyebrow is sufficient */
.tech-nav-body h3 {
    display: none !important;
}

.tech-nav-body {
    text-align: left !important;
    flex: 1 !important;
    min-width: 0 !important;
}

/* Mobile-specific shorter descriptions */
.tech-nav-body p {
    font-size: 0.76rem !important;
    margin-bottom: 0 !important;
    line-height: 1.4 !important;
    color: var(--text-muted) !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.tech-nav-arrow {
    display: none !important;
}

/* ===================== OUTCOMES SECTION ===================== */
.hp-outcomes {
    padding: 3rem 0 !important;
}

.hp-outcomes-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
}

/* Outcome cards - frosted glass, icon-left layout */
.hp-outcome-card {
    padding: 1.25rem 1.25rem !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.85rem !important;
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 16px !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

[data-theme="light"] .hp-outcome-card {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid rgba(59, 130, 246, 0.1) !important;
    box-shadow:
        0 4px 20px rgba(59, 130, 246, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

.hp-outcome-icon {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    border-radius: 10px !important;
    flex-shrink: 0;
    background: rgba(59, 130, 246, 0.12) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
}

.hp-outcome-icon svg {
    width: 16px !important;
    height: 16px !important;
}

.hp-outcome-text {
    flex: 1;
    min-width: 0;
}

.hp-outcome-card h3 {
    font-size: 0.92rem !important;
    margin-bottom: 0.2rem !important;
}

.hp-outcome-card p {
    font-size: 0.78rem !important;
    line-height: 1.45 !important;
}

/* ===================== INDUSTRIES SECTION ===================== */
.hp-industries {
    padding: 3rem 0 !important;
}

.industries-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
}

/* Industry cards - grid: icon left centered, text stack right centered */
.ind-card {
    padding: 2rem 1.75rem !important;
    min-height: clamp(140px, 35vw, 170px) !important;
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    align-content: center !important;
    gap: 0 clamp(0.75rem, 2.5vw, 1rem) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    position: relative !important;
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(16px) saturate(160%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}

[data-theme="light"] .ind-card {
    background: rgba(255, 255, 255, 0.78) !important;
    border: 1px solid rgba(0, 0, 0, 0.07) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03) !important;
}

/* Background image - absolute, fills card */
.ind-card .ind-card-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
}

/* Icon - spans both rows, vertically centered left */
.ind-icon {
    grid-row: 1 / -1 !important;
    font-size: clamp(1.5rem, 5vw, 1.8rem) !important;
    margin-bottom: 0 !important;
    align-self: center !important;
    width: auto !important;
    height: auto !important;
    min-width: auto !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: var(--accent-blue) !important;
    position: relative !important;
    z-index: 2 !important;
    padding: 0 !important;
}

/* Heading - right column, top row */
.ind-card h3 {
    grid-column: 2 !important;
    font-size: clamp(0.92rem, 2.8vw, 1rem) !important;
    margin-bottom: 0.1rem !important;
    align-self: end !important;
    text-align: left !important;
    position: relative !important;
    z-index: 2 !important;
    padding: 0 !important;
}

/* Subtitle - right column, bottom row */
.ind-sub {
    grid-column: 2 !important;
    font-size: clamp(0.55rem, 1.8vw, 0.62rem) !important;
    letter-spacing: 0.04em !important;
    line-height: 1.4 !important;
    text-align: left !important;
    margin: 0 !important;
    align-self: start !important;
    position: relative !important;
    z-index: 2 !important;
    padding: 0 !important;
}

/* Icon color change on tap/hover */
.ind-card:hover .ind-icon,
.ind-card:active .ind-icon {
    color: var(--ind-accent, var(--accent-blue)) !important;
}

/* Light mode mobile - visible image background with frosted glass */
[data-theme="light"] .ind-card-bg::after {
    background: linear-gradient(180deg, rgba(255,255,255,0.58) 0%, rgba(255,255,255,0.65) 50%, rgba(255,255,255,0.75) 100%) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    opacity: 1 !important;
}
[data-theme="light"] .ind-card-bg img {
    opacity: 0.30 !important;
    filter: saturate(0.35) brightness(1.08) !important;
}
[data-theme="light"] .ind-card h3 {
    color: var(--text-heading, #0f172a) !important;
    -webkit-text-fill-color: var(--text-heading, #0f172a) !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
}
[data-theme="light"] .ind-sub {
    color: rgba(15, 23, 42, 0.65) !important;
}
[data-theme="light"] .ind-icon {
    color: var(--accent-blue) !important;
}

/* ===================== EXPLORE SECTION ===================== */
.hp-explore {
    padding: 3rem 0 !important;
}

.explore-layout {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
}

/* Hero explore cards - tall, bg image visible, like outcomes */
.explore-card--hero {
    grid-column: span 1 !important;
    min-height: clamp(140px, 35vw, 180px) !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

[data-theme="light"] .explore-card--hero {
    border: 1px solid rgba(59, 130, 246, 0.08) !important;
    box-shadow:
        0 4px 20px rgba(59, 130, 246, 0.04),
        inset 0 1px 0 rgba(255, 255, 255, 0.6) !important;
}

/* Content inside hero cards - two-row: icon+h3 on row 1, p on row 2 */
.explore-card-content {
    padding: 1.25rem !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    column-gap: 0.5rem !important;
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    flex: none !important;
}

/* Icon stays inline with heading - NO box behind it */
.explore-card-content .explore-icon {
    flex: none !important;
    font-size: 1.15rem !important;
    margin-bottom: 0 !important;
    color: var(--accent-blue) !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Heading stays inline with icon - no flex grow */
.explore-card-content h3 {
    flex: none !important;
    font-size: 0.95rem !important;
    margin-bottom: 0 !important;
}

/* Description breaks to full-width new row */
.explore-card-content p {
    flex-basis: 100% !important;
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
    margin-top: 0.35rem !important;
    margin-bottom: 0 !important;
    display: block !important;
    overflow: visible !important;
}

/* Fix specificity: .desktop-only must be hidden */
.explore-card-content p.desktop-only {
    display: none !important;
}

/* Hide compact cards on mobile (About ASI, Our Story, Newsroom) */
.explore-card--compact {
    display: none !important;
}

/* Hide Current Openings on mobile */
.explore-card--wide:last-child {
    display: none !important;
}

/* Life at ASI - frosted glass, two-row layout */
.explore-card--wide:not(:last-child) {
    grid-column: span 1 !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow:
        0 4px 16px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
    column-gap: 0.5rem !important;
    padding: 1.25rem !important;
}

[data-theme="light"] .explore-card--wide:not(:last-child) {
    background: rgba(255, 255, 255, 0.55) !important;
    border: 1px solid rgba(59, 130, 246, 0.1) !important;
}

/* Icon in wide cards - NO box */
.explore-card--wide .explore-icon {
    font-size: 1.15rem !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
    color: var(--accent-blue) !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
}

/* Heading in wide cards */
.explore-card--wide h3 {
    font-size: 0.95rem !important;
    margin-bottom: 0 !important;
}

/* Description in wide cards - new row */
.explore-card--wide p {
    flex-basis: 100% !important;
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
    margin-top: 0.35rem !important;
    margin-bottom: 0 !important;
    display: block !important;
    overflow: visible !important;
}

/* Fix specificity: .desktop-only hidden in wide cards */
.explore-card--wide p.desktop-only {
    display: none !important;
}

.explore-arrow {
    display: none !important;
}

/* ===================== BACK-TO-TOP - MOBILE SHRINK ===================== */
.back-to-top-wrap {
    width: 36px !important;
    height: 36px !important;
    bottom: 16px !important;
    right: 12px !important;
}

.scroll-progress-ring {
    width: 36px !important;
    height: 36px !important;
}

.back-to-top {
    width: 30px !important;
    height: 30px !important;
    top: 3px !important;
    left: 3px !important;
    font-size: 0.7rem !important;
}

.back-to-top-wrap::before {
    display: none !important;
}

/* ===================== REVEAL - REDUCED MOTION ===================== */
.reveal {
    transform: translateY(20px) !important;
}

.reveal.visible {
    transform: translateY(0) !important;
}

/* ===================== OVERFLOW PROTECTION ===================== */
/* Use 'clip' not 'hidden' - 'hidden' creates a scroll container that
   breaks position:sticky and causes scroll-sticking on mobile.
   The global style.css already sets overflow-x:clip on html,body -
   we reinforce it here without !important to avoid conflicts. */
html, body {
    overflow-x: clip;
}

section, .container {
    overflow-x: clip;
}

/* ===================== LARGE PHONE TIER (≥ 430px) ===================== */
/* iPhone 17 Pro Max (440px), iPhone 16 Pro Max (430px)
   These wider phones can handle slightly larger text and more content. */
@media (min-width: 430px) and (max-width: 900px) {

    /* Slightly larger hero subtitle */
    .hp-hero-sub {
        font-size: 0.95rem !important;
    }

    /* Tech cards - allow 3-line description */
    .tech-nav-body p {
        -webkit-line-clamp: 3 !important;
    }

    /* Outcome cards - slightly more breathing room */
    .hp-outcome-card {
        padding: 1.75rem 1.5rem !important;
    }

    /* Industry cards - taller for bg image visibility */
    .ind-card {
        min-height: 140px !important;
    }

    /* Explore hero cards - taller */
    .explore-card--hero {
        min-height: 220px !important;
    }
}

/* ===================== COMPACT PHONE BREAKPOINT (≤ 380px) ===================== */
@media (max-width: 380px) {

    .hp-hero h1 {
        font-size: clamp(1.8rem, 8vw, 2.4rem) !important;
    }

    .hp-hero-cta {
        flex-direction: column !important;
        align-items: center;
    }

    .hp-hero-cta .btn {
        min-width: 180px;
    }

    .hp-outcome-card {
        text-align: center !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 1.25rem !important;
    }

    .hp-outcome-icon {
        margin: 0 auto 0.5rem auto !important;
    }

    .hp-tech-nav-card {
        padding: 1.25rem 1rem !important;
    }

    .hp-tech,
    .hp-outcomes,
    .hp-industries,
    .hp-explore {
        padding: 3rem 0 !important;
    }
}
