/**
 * ADI Communications LTD - Apple Luxury Mobile & Device Fit Engine
 * Codifies Apple Design System & Agency Viewport Physics:
 * - Fluid clamp() Typography Hierarchy (h1 - h6, p, li)
 * - text-wrap: balance & text-wrap: pretty
 * - Zero Horizontal Layout Bleed (overflow-x: clip, max-w-full)
 * - Mobile Inset Padding & 8pt Grid Rhythm
 * - Non-overlapping Mobile Badges & Floating Sophie AI Trigger Optimization
 * - Instant Mobile Loading (disables heavy desktop intro overlays on touch viewports)
 */

@import url('/assets/css/sf-pro-fonts.css');

/* ==========================================================================
   0. UNIVERSAL APPLE DESIGN SYSTEM TYPOGRAPHY INVARIANT (ONE FONT SYSTEM)
   ========================================================================== */
*, *::before, *::after,
html, body,
h1, h2, h3, h4, h5, h6,
p, span, a, li, button,
input, select, textarea,
div {
  font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

code, kbd, pre, samp,
.font-mono, [class*="font-mono"] {
  font-family: "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace !important;
}

/* ==========================================================================
   1. GLOBAL VIEWPORT PHYSICS & OVERFLOW DEFENSE (100% DEVICE FIT)
   ========================================================================== */
html, body {
    max-width: 100vw !important;
    overflow-x: clip !important;
    width: 100% !important;
    box-sizing: border-box !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

*, *::before, *::after {
    box-sizing: border-box !important;
}

/* Ensure images, svgs, and media never overflow container width */
img, video, canvas, svg, iframe, table {
    max-width: 100% !important;
}

/* Safe Area Insets for iOS Notch & Dynamic Island */
body {
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
}

/* Safe bottom clearance for floating actions */
main, #main, article {
    padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
}

/* ==========================================================================
   2. APPLE LUXURY FLUID TYPOGRAPHY (CLAMP SCALING & BALANCE)
   ========================================================================== */

/* Headings: Apple Tightly Tracked SF Pro Display */
h1, .apple-h1, .hero-title {
    font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.08 !important;
    text-wrap: balance !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}

h2, .apple-h2, .section-title {
    font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    line-height: 1.15 !important;
    text-wrap: balance !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}

h3, .apple-h3, .card-title {
    font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: -0.015em !important;
    line-height: 1.25 !important;
    text-wrap: balance !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}

h4, h5, h6 {
    font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
    text-wrap: balance !important;
    overflow-wrap: break-word !important;
    hyphens: none !important;
    -webkit-hyphens: none !important;
}

/* Body Prose: Apple SF Pro Text with Generous Readability */
p, li, dd, dt, figcaption, blockquote {
    font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    text-wrap: pretty !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    line-height: 1.55 !important;
}

/* Apple Exact Mobile Typography Tuning (< 640px) */
@media (max-width: 640px) {
    /* 1. All Hero Headlines (Identical across Slide 0 through Slide 10) */
    .hero-slide h1,
    .hero-slide h2,
    #hero h1,
    #hero h2,
    #overview h1,
    #overview h2,
    .tv-hero h1,
    .tv-hero h2,
    .hero-content-layer h1,
    .hero-content-layer h2,
    #hero-slider-viewport h1,
    #hero-slider-viewport h2,
    .chapter-section:first-of-type h1,
    main > section:first-of-type h1 {
        font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        font-size: 2rem !important; /* 32px - Apple exact mobile product title */
        line-height: 1.1 !important;
        letter-spacing: -0.025em !important;
        font-weight: 700 !important;
        text-transform: none !important;
        text-align: center !important;
    }

    /* All lines inside hero slide headline - 100% SAME FONT, SAME SIZE, SAME WEIGHT */
    .hero-slide h1 span,
    .hero-slide h2 span,
    #hero h1 span,
    #hero h2 span,
    #overview h1 span,
    #overview h2 span,
    .tv-hero h1 span,
    .tv-hero h2 span,
    .hero-content-layer h1 span,
    .hero-content-layer h2 span,
    .chapter-section:first-of-type h1 span,
    main > section:first-of-type h1 span {
        font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        font-size: 2rem !important; /* 32px - exact same size on all lines */
        line-height: 1.1 !important;
        letter-spacing: -0.025em !important;
        font-weight: 700 !important;
        text-transform: none !important;
        display: block !important;
    }

    /* 2 Colours Standard: Line 1 Pure White, Line 2 Warm Peach Accent (#FFA07A) */
    .hero-slide h1 span:first-child,
    .hero-slide h2 span:first-child,
    #hero h1 span:first-child,
    #hero h2 span:first-child,
    #overview h1 span:first-child,
    #overview h2 span:first-child,
    .tv-hero h1 span:first-child,
    .hero-content-layer h1 span:first-child,
    .chapter-section:first-of-type h1 span:first-child,
    main > section:first-of-type h1 span:first-child {
        color: #ffffff !important;
    }

    .hero-slide h1 span:last-child,
    .hero-slide h2 span:last-child,
    #hero h1 span:last-child,
    #hero h2 span:last-child,
    #overview h1 span:last-child,
    #overview h2 span:last-child,
    .tv-hero h1 span:last-child,
    .hero-content-layer h1 span:last-child,
    .chapter-section:first-of-type h1 span:last-child,
    main > section:first-of-type h1 span:last-child,
    .hero-slide h1 span:nth-child(2),
    .hero-slide h2 span:nth-child(2),
    #hero h1 span:nth-child(2),
    #hero h2 span:nth-child(2),
    #overview h1 span:nth-child(2),
    #overview h2 span:nth-child(2),
    .tv-hero h1 span:nth-child(2),
    .hero-content-layer h1 span:nth-child(2),
    .chapter-section:first-of-type h1 span:nth-child(2),
    main > section:first-of-type h1 span:nth-child(2) {
        color: #FFA07A !important;
    }

    /* 2. Apple Mobile Section Headings (All H2s on page) */
    h2, .section-title {
        font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        font-size: 1.75rem !important; /* 28px - Apple exact mobile section title */
        line-height: 1.15 !important;
        letter-spacing: -0.025em !important;
        font-weight: 700 !important;
        text-transform: none !important;
    }

    /* 3. Apple Mobile Card / Feature Headings (All H3s on page) */
    h3, .card-title {
        font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        font-size: 1.25rem !important; /* 20px - Apple exact card title */
        line-height: 1.25 !important;
        letter-spacing: -0.015em !important;
        font-weight: 600 !important;
        text-transform: none !important;
    }

    /* 4. Small Feature Headings (All H4s on page) */
    h4 {
        font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        font-size: 0.9375rem !important; /* 15px */
        line-height: 1.3 !important;
        letter-spacing: -0.01em !important;
        font-weight: 600 !important;
        text-transform: none !important;
    }

    /* 5. Apple Mobile Body Prose & Hero Lead Text */
    p, li,
    .hero-slide p,
    #hero .hero-slide p,
    #hero p {
        font-family: "SF Pro Display", "SF Pro Text", "SF Pro", -apple-system, BlinkMacSystemFont, "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
        font-size: 0.9375rem !important; /* 15px - Apple standard mobile body */
        line-height: 1.55 !important;
        font-weight: 400 !important;
    }

    /* CRITICAL: Overcome whitespace-nowrap on mobile headings */
    h1 span, h2 span, h3 span, .hero-title span, [class*="whitespace-nowrap"] {
        white-space: normal !important;
    }
}

/* ==========================================================================
   3. MOBILE CARD PADDING & 8PT GRID RHYTHM (< 640px)
   ========================================================================== */
@media (max-width: 640px) {
    /* Prevent desktop padding (p-8, p-10, p-12) from squeezing mobile content */
    .p-8, .p-10, .p-12,
    [class*="rounded-3xl bg-white"],
    [class*="rounded-2xl bg-white"],
    .glass-card-luxury {
        padding: 1.25rem !important; /* 20px padding - comfortable margin on 375-390px screens */
    }
    
    .px-8, .px-10, .px-12 {
        padding-left: 1.125rem !important;
        padding-right: 1.125rem !important;
    }

    .py-20, .py-24, .py-28, .py-32 {
        padding-top: 3.25rem !important;
        padding-bottom: 3.25rem !important;
    }

    /* Container outer margins */
    .max-w-7xl, .max-w-6xl, .max-w-5xl {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    /* Kill extreme negative margins on mobile that bleed out */
    .-right-16, .-bottom-16, .-top-16, .-left-16,
    .-right-20, .-bottom-20, .-top-20, .-left-20 {
        right: 0 !important;
        bottom: 0 !important;
        max-width: 100vw !important;
    }

    /* Background glow blur spheres must never force horizontal scroll (excluding backdrop-blur) */
    [class*="blur-3xl"]:not([class*="backdrop-blur"]),
    [class*="blur-2xl"]:not([class*="backdrop-blur"]),
    [class*="blur-xl"]:not([class*="backdrop-blur"]) {
        max-width: 100vw !important;
        pointer-events: none !important;
    }

    /* Badge Pills & Status Badges: ALWAYS strictly 1 horizontal row, NEVER 2 lines, NEVER column */
    .rounded-full:not(button):not(a):not(.w-full):not(#scrollspy-dots):not(.hidden):not([class*="hidden"]),
    [class*="rounded-full"]:not(button):not(a):not(.w-full):not(#scrollspy-dots):not(.hidden):not([class*="hidden"]),
    .section-badge,
    #hero-badge-text {
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        max-width: calc(100vw - 32px) !important;
    }

    .rounded-full:not(button):not(a):not(.w-full):not(#scrollspy-dots) > *,
    [class*="rounded-full"]:not(button):not(a):not(.w-full):not(#scrollspy-dots) > * {
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }

    #scrollspy-dots,
    nav#scrollspy-dots {
        display: none !important;
    }
    @media (min-width: 768px) {
        #scrollspy-dots,
        nav#scrollspy-dots {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 14px !important;
            width: auto !important;
            min-width: 32px !important;
            max-width: 48px !important;
            white-space: normal !important;
            position: fixed !important;
            right: 1.25rem !important;
            top: 50% !important;
            transform: translateY(-50%) !important;
            z-index: 40 !important;
        }
    }

    /* Hero Action Buttons: ALWAYS Horizontal Row with Icon on the Left */
    #hero-cta-buttons button, #hero-cta-buttons a,
    .hero-cta-buttons-container button, .hero-cta-buttons-container a,
    .hero-content-layer #hero-cta-buttons button, .hero-content-layer #hero-cta-buttons a,
    .hero-content-layer .hero-cta-buttons-container button, .hero-content-layer .hero-cta-buttons-container a {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        gap: 0.625rem !important;
    }
    #hero-cta-buttons button span, #hero-cta-buttons a span,
    .hero-cta-buttons-container button span, .hero-cta-buttons-container a span {
        display: inline !important;
    }
}

/* ==========================================================================
   4. TOUCH TARGETS & ACTION BUTTON RESPONSIVENESS
   ========================================================================== */
button, a, input, select {
    touch-action: manipulation;
}

@media (max-width: 640px) {
    /* Full width buttons in mobile hero actions */
    .hero-actions, .cta-group, .hero-btn-row,
    .hero-content-layer .flex.flex-wrap.items-center.gap-3 {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 0.75rem !important;
    }

    .hero-actions > a, .hero-actions > button,
    .cta-group > a, .cta-group > button,
    .hero-btn-row > a, .hero-btn-row > button,
    .hero-content-layer .flex.flex-wrap.items-center.gap-3 > a,
    .hero-content-layer .flex.flex-wrap.items-center.gap-3 > button {
        width: 100% !important;
        min-height: 48px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* Chips and telemetry badges wrap gracefully */
    .ai-prompt-chip, .sophie-voice-chip, .hero-badge-pill {
        white-space: normal !important;
        word-break: break-word !important;
        font-size: 11px !important;
        padding: 6px 10px !important;
    }

    /* Trust bar / stat grids - ensure 1 or 2 cols fit naturally */
    .trust-grid {
        grid-template-columns: 1fr !important;
        gap: 0.75rem !important;
    }

    /* Card Footers - Stack cleanly on mobile so actions aren't squashed */
    .border-t.flex.items-center.justify-between,
    .border-t.flex.justify-between {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.5rem !important;
    }
}

/* ==========================================================================
   5. MOBILE SLIDER CONTROLS COLLISION DEFENSE (< 768px)
   ========================================================================== */
@media (max-width: 768px) {
    /* Prevent absolute slider controls from floating on top of buttons */
    .hero-slide-controls,
    div[class*="absolute bottom-6 right-6"],
    div[class*="absolute bottom-4 right-4"] {
        position: relative !important;
        bottom: auto !important;
        right: auto !important;
        margin: 1.25rem auto 0.5rem auto !important;
        justify-content: center !important;
        width: fit-content !important;
        z-index: 20 !important;
    }
}

/* ==========================================================================
   6. SOPHIE AI FLOATING TRIGGER & GREETING PILL (MOBILE HARMONY)
   ========================================================================== */
@media (max-width: 768px) {
    /* Keep trigger button anchored inside safe area, compact size */
    .gary-ai-trigger {
        position: fixed !important;
        bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
        right: 14px !important;
        top: auto !important;
        left: auto !important;
        z-index: 9999999 !important;
        width: 48px !important;
        height: 48px !important;
    }
    .gary-ai-avatar-box {
        width: 40px !important;
        height: 40px !important;
    }

    /* Reposition greeting bubble directly ABOVE the trigger avatar */
    .sophie-greeting-bubble {
        position: fixed !important;
        bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
        right: 14px !important;
        left: auto !important;
        top: auto !important;
        max-width: 280px !important;
        white-space: normal !important;
        font-size: 12px !important;
        line-height: 1.35 !important;
        padding: 8px 14px !important;
        border-radius: 14px !important;
        transform: translateY(10px) scale(0.92) !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.8), 0 0 15px rgba(255, 85, 0, 0.35) !important;
    }

    /* Arrow points DOWN directly to Sophie avatar head */
    .sophie-greeting-bubble::before {
        top: 100% !important;
        right: 16px !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        border-top: 7px solid #FF5500 !important;
        border-bottom: none !important;
        border-left: 7px solid transparent !important;
        border-right: 7px solid transparent !important;
    }

    .sophie-greeting-bubble.show {
        transform: translateY(0) scale(1) !important;
    }

    .sophie-greeting-bubble.hide {
        transform: translateY(10px) scale(0.92) !important;
    }

    /* Full-screen bottom drawer modal for mobile chat */
    .gary-ai-chat-window {
        bottom: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: calc(100dvh - 20px) !important;
        max-height: 100dvh !important;
        border-radius: 24px 24px 0 0 !important;
        border-bottom: none !important;
        border-left: none !important;
        border-right: none !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
    }
}

/* ==========================================================================
   7. RESPONSIVE TABLE & SPEC HORIZONTAL SWIPING
   ========================================================================== */
.table-responsive-wrapper {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 1.5rem;
}

@media (max-width: 640px) {
    .split-spec-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 4px !important;
    }
}


/* ==========================================================================
   8. HERO SECTION NATURAL FLOW ON MOBILE (< 768px)
   ========================================================================== */
@media (max-width: 768px) {
    /* Mobile Hero: Apple Frosted Luxury Card Layout */
    #overview,
    .starlink-hero,
    section[class*="starlink-hero"],
    section[class*="h-[640px]"],
    section[class*="min-h-[700px]"] {
        height: calc(100dvh - 72px) !important;
        min-height: calc(100dvh - 72px) !important;
        max-height: calc(100dvh - 72px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        overflow: hidden !important;
        padding: 12px 14px !important;
    }

    #hero-slider-viewport,
    .hero-slide {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
    }

    .hero-content-layer {
        position: relative !important;
        z-index: 10 !important;
        padding-top: 1rem !important;
        padding-bottom: 1.5rem !important;
        width: 100% !important;
    }

    /* Slider controls sit cleanly below hero content in normal document flow */
    .hero-slide-controls,
    div[class*="bottom-6"][class*="right-6"],
    div[class*="bottom-4"][class*="right-4"] {
        position: relative !important;
        bottom: auto !important;
        right: auto !important;
        left: auto !important;
        top: auto !important;
        margin: 1.5rem auto 0.5rem auto !important;
        display: flex !important;
        justify-content: center !important;
        width: fit-content !important;
        z-index: 25 !important;
    }
}


/* ==========================================================================
   9. HOMEPAGE HERO & SLIDER HUD (SEAMLESS FULL-BLEED ENGINE)
   ========================================================================== */
#hero {
    position: relative !important;
    overflow: hidden !important;
    background-color: #000000 !important;
}

#hero #heroSliderTrack {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    z-index: 1 !important;
}

#hero .hero-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
}

#hero .hero-bg-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
}



@media (max-width: 640px) {
    /* Top announcement bar: Sleek single-row layout */
    .bg-\[\#121216\] > div,
    [class*="bg-[#121216]"] > div {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
        gap: 0.5rem !important;
    }
    .bg-\[\#121216\] span,
    [class*="bg-[#121216]"] span {
        font-size: 10px !important;
        white-space: nowrap !important;
    }
    .bg-\[\#121216\] a,
    [class*="bg-[#121216]"] a {
        font-size: 11px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 768px) {
    /* Homepage & Page Hero Container on Mobile: Sized so 9.98 & Google Checkatrade text are visible at bottom */
    #hero,
    #overview {
        position: relative !important;
        height: auto !important;
        min-height: calc(100svh - 170px) !important;
        max-height: calc(100svh - 155px) !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        overflow: hidden !important;
        padding: 8px 10px 10px 10px !important;
        box-sizing: border-box !important;
    }

    @supports not (height: 100svh) {
        #hero,
        #overview {
            min-height: 500px !important;
            max-height: 555px !important;
        }
    }

    #hero #heroSliderTrack {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        z-index: 1 !important;
    }

    #hero .hero-slide {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
    }

    #hero .hero-bg-img,
    #overview .hero-bg-img,
    #overview img[class*="object-cover"] {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        object-fit: cover !important;
        object-position: center 30% !important;
        filter: brightness(0.80) contrast(1.05) !important;
    }

    #hero .hero-content-layer,
    #overview .hero-content-layer {
        position: relative !important;
        z-index: 10 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        text-align: center !important;
        width: 100% !important;
        max-width: min(92vw, 420px) !important;
        padding: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        box-sizing: border-box !important;
    }

    /* Mobile Slide Controls Bar: Hide on mobile so it never shifts content or blocks fold */
    #hero > div:has(#slide-num-current),
    #hero div[class*="mt-auto"],
    #hero .slider-controls-bar {
        display: none !important;
    }

    /* Apple Frosted Glass Card - Slightly Darker for Effortless Text Legibility */
    #hero .hero-content-layer > div,
    #overview .hero-content-layer > div {
        width: 100% !important;
        background: rgba(12, 14, 20, 0.55) !important;
        backdrop-filter: blur(20px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
        border: 1px solid rgba(255, 255, 255, 0.24) !important;
        border-radius: 24px !important;
        padding: 16px 14px !important;
        box-shadow: 0 16px 40px -10px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        text-align: center !important;
        box-sizing: border-box !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Category Pill: Centered at Top */
    #hero .hero-content-layer > div > div:first-child > .inline-flex,
    #hero .hero-content-layer .hero-category-pill {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
        font-size: 9.5px !important;
        padding: 3px 10px !important;
        margin-bottom: 0.1rem !important;
    }

    /* Hero Action Buttons Container: Apple 2-Column Responsive Capsule Row */
    #hero-cta-buttons,
    .hero-cta-buttons-container,
    .hero-content-layer #hero-cta-buttons,
    .hero-content-layer .hero-cta-buttons-container {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 360px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        gap: 10px !important;
        padding-top: 8px !important;
        box-sizing: border-box !important;
    }

    /* Individual Action Buttons: Apple Tactile Capsule Buttons (48px Touch Target) */
    #hero-cta-buttons a,
    #hero-cta-buttons button,
    .hero-cta-buttons-container a,
    .hero-cta-buttons-container button,
    .hero-content-layer #hero-cta-buttons a,
    .hero-content-layer #hero-cta-buttons button,
    .hero-content-layer .hero-cta-buttons-container a,
    .hero-content-layer .hero-cta-buttons-container button {
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 48px !important;
        min-height: 48px !important;
        max-height: 48px !important;
        padding: 0 12px !important;
        font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, sans-serif !important;
        font-size: 15px !important;
        line-height: normal !important;
        font-weight: 700 !important;
        letter-spacing: -0.01em !important;
        border-radius: 9999px !important;
        gap: 6px !important;
        box-sizing: border-box !important;
        white-space: nowrap !important;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent !important;
        cursor: pointer !important;
        transition: transform 0.16s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.16s ease, background 0.16s ease, border-color 0.16s ease !important;
    }

    #hero-cta-buttons a span,
    #hero-cta-buttons button span,
    .hero-cta-buttons-container a span,
    .hero-cta-buttons-container button span,
    .hero-content-layer #hero-cta-buttons a span,
    .hero-content-layer #hero-cta-buttons button span,
    .hero-content-layer .hero-cta-buttons-container a span,
    .hero-content-layer .hero-cta-buttons-container button span {
        font-size: 15px !important;
        font-weight: 700 !important;
    }

    /* Active Physics Downstate */
    #hero-cta-buttons a:active,
    #hero-cta-buttons button:active,
    .hero-cta-buttons-container a:active,
    .hero-cta-buttons-container button:active,
    .hero-content-layer #hero-cta-buttons a:active,
    .hero-content-layer .hero-cta-buttons-container a:active {
        transform: scale(0.97) !important;
    }

    /* Primary CTA: Apple Luminous Orange with Specular Rim Highlight */
    #hero-cta-buttons a[href^="tel:"],
    .hero-cta-buttons-container a[href^="tel:"],
    .hero-content-layer #hero-cta-buttons a[href^="tel:"],
    .hero-content-layer .hero-cta-buttons-container a[href^="tel:"] {
        background: linear-gradient(180deg, #FF661A 0%, #FF5500 50%, #E64800 100%) !important;
        color: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.25) !important;
        box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.45), inset 0 -1px 0 0 rgba(0, 0, 0, 0.15), 0 4px 16px 0 rgba(255, 85, 0, 0.42), 0 1px 3px 0 rgba(0, 0, 0, 0.2) !important;
    }

    #hero-cta-buttons a[href^="tel:"]:active,
    .hero-cta-buttons-container a[href^="tel:"]:active,
    .hero-content-layer #hero-cta-buttons a[href^="tel:"]:active,
    .hero-content-layer .hero-cta-buttons-container a[href^="tel:"]:active {
        box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.3), 0 2px 6px 0 rgba(255, 85, 0, 0.25) !important;
    }

    /* Secondary CTA: Apple Ceramic Frosted Dark Glass */
    #hero-cta-buttons a:not([href^="tel:"]),
    #hero-cta-buttons button:not([href^="tel:"]),
    .hero-cta-buttons-container a:not([href^="tel:"]),
    .hero-cta-buttons-container button:not([href^="tel:"]),
    .hero-content-layer #hero-cta-buttons a:not([href^="tel:"]),
    .hero-content-layer .hero-cta-buttons-container a:not([href^="tel:"]) {
        background: rgba(255, 255, 255, 0.12) !important;
        backdrop-filter: blur(24px) !important;
        -webkit-backdrop-filter: blur(24px) !important;
        color: #ffffff !important;
        border: 1px solid rgba(255, 255, 255, 0.26) !important;
        box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.25), 0 4px 14px 0 rgba(0, 0, 0, 0.22) !important;
    }

    #hero-cta-buttons a:not([href^="tel:"]):active,
    .hero-cta-buttons-container a:not([href^="tel:"]):active,
    .hero-content-layer #hero-cta-buttons a:not([href^="tel:"]):active,
    .hero-content-layer .hero-cta-buttons-container a:not([href^="tel:"]):active {
        background: rgba(255, 255, 255, 0.08) !important;
    }

    #hero-cta-buttons a span.desktop-only,
    #hero-cta-buttons button span.desktop-only,
    .hero-cta-buttons-container a span.desktop-only,
    .hero-cta-buttons-container button span.desktop-only {
        display: none !important;
    }

    /* Mobile Typography Scaling: Apple Snug Centered Hierarchy */
    #hero h1, #hero h2, .hero-slide h1, .hero-slide h2 {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-family: "SF Pro Display", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        line-height: 1.15 !important;
        letter-spacing: -0.025em !important;
        font-weight: 700 !important;
        width: 100% !important;
        margin-bottom: 0.25rem !important;
        color: #ffffff !important;
    }

    #hero h1 span, #hero h2 span, .hero-slide h1 span, .hero-slide h2 span {
        text-align: center !important;
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-transform: none !important;
    }

    #hero h1 span:first-child, #hero h2 span:first-child,
    .hero-slide h1 span:first-child, .hero-slide h2 span:first-child {
        font-size: 1.55rem !important; /* ~25px crisp mobile title */
        line-height: 1.15 !important;
        color: #ffffff !important;
        font-weight: 700 !important;
    }

    #hero h1 span:last-child, #hero h2 span:last-child,
    .hero-slide h1 span:last-child, .hero-slide h2 span:last-child,
    #hero h1 span:nth-child(2), #hero h2 span:nth-child(2),
    .hero-slide h1 span:nth-child(2), .hero-slide h2 span:nth-child(2) {
        font-size: 1.15rem !important; /* ~18.5px subtitle */
        line-height: 1.2 !important;
        color: #FFA07A !important;
        font-weight: 700 !important;
        margin-top: 2px !important;
    }

    #hero p, .hero-slide p {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif !important;
        font-size: 0.82rem !important; /* 13px - Apple exact mobile body */
        line-height: 1.48 !important;
        max-width: 32rem !important;
        color: #E2E8F0 !important;
        margin-bottom: 0.25rem !important;
    }

    /* Mobile Metric Badges / Telemetry Pills (Under the Text): 100% VISIBLE SINGLE ROW */
    #hero-telemetry,
    .hero-telemetry,
    .hero-telemetry-row,
    [id^="hero-telemetry"] {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        justify-content: safe center !important;
        gap: 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
        padding-top: 2px !important;
        padding-bottom: 2px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
        margin-top: 14px !important;
        margin-bottom: 16px !important;
        box-sizing: border-box !important;
    }

    #hero-telemetry::-webkit-scrollbar,
    .hero-telemetry::-webkit-scrollbar,
    [id^="hero-telemetry"]::-webkit-scrollbar {
        display: none !important;
    }

    #hero-telemetry > span,
    .hero-telemetry > span,
    .hero-telemetry-row > span,
    [id^="hero-telemetry"] > span {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        flex-shrink: 0 !important;
        white-space: nowrap !important;
        padding: 4px 10px !important;
        border-radius: 9999px !important;
        background: rgba(0, 0, 0, 0.65) !important;
        backdrop-filter: blur(12px) !important;
        -webkit-backdrop-filter: blur(12px) !important;
        border: 1px solid rgba(255, 255, 255, 0.18) !important;
        color: #e2e8f0 !important;
        font-family: "SF Mono", "JetBrains Mono", Menlo, monospace !important;
        font-size: 10.5px !important;
        line-height: normal !important;
    }



    /* Hide floating speech bubble on small mobile to keep CTAs clean and uncluttered */
    .sophie-greeting-bubble {
        display: none !important;
    }

    /* 9.98 Trust Plate & Trust Bar: 100% Centralized on Mobile with AI Agent */
    .trust-plate,
    #trust-bar {
        position: relative !important;
        width: 100% !important;
        text-align: center !important;
        padding-top: 8px !important;
        padding-bottom: 12px !important;
        box-sizing: border-box !important;
    }
    .trust-plate .grid,
    #trust-bar .grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 12px !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .trust-plate a,
    .trust-plate div,
    #trust-bar div,
    #trust-bar .p-3.5 {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
    .trust-plate .flex.items-baseline,
    #trust-bar .flex.items-center.justify-center {
        display: flex !important;
        flex-direction: row !important;
        align-items: baseline !important;
        justify-content: center !important;
        text-align: center !important;
    }
    /* Mobile Header Hamburger Button Invariant */
    #mobileMenuToggleBtn,
    .mobile-menu-toggle-btn {
        display: inline-flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        z-index: 999999 !important;
        cursor: pointer !important;
    }
}

/* Hide mobile header button group on desktop (>=1024px) */
@media (min-width: 1024px) {
    #mobileHeaderBtnGroup,
    .mobile-header-btn-group,
    #mobileMenuToggleBtn,
    .mobile-menu-toggle-btn {
        display: none !important;
    }
}

/* ==========================================================================
   10. MOBILE NAVIGATION DRAWER SOLID OBSIDIAN THEME (100% CONTRAST & FIT)
   ========================================================================== */
#appleMobileNavDrawer,
#appleMobileNavDrawer * {
    pointer-events: auto !important;
}

#appleMobileNavDrawer {
    background-color: #0A0C14 !important;
    background: #0A0C14 !important;
    color: #FFFFFF !important;
    z-index: 9999999 !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.95) !important;
    pointer-events: auto !important;
    -webkit-overflow-scrolling: touch;
}

#appleMobileNavDrawer .text-white {
    color: #FFFFFF !important;
}

#appleMobileNavDrawer .text-slate-400 {
    color: #94A3B8 !important;
}

#appleMobileNavDrawer .text-slate-500 {
    color: #CBD5E1 !important;
}

#appleMobileNavDrawer a,
#appleMobileNavDrawer button {
    touch-action: manipulation;
}

#appleMobileNavDrawer [class*="bg-white/5"] {
    background-color: rgba(255, 255, 255, 0.08) !important;
}

#appleMobileNavDrawer [class*="bg-white/10"] {
    background-color: rgba(255, 255, 255, 0.14) !important;
}

#appleMobileNavDrawer [class*="border-white/10"] {
    border-color: rgba(255, 255, 255, 0.15) !important;
}

#appleMobileNavDrawer [class*="border-white/15"] {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* ==========================================================================
   11. CUSTOMER REVIEW CARDS IMMEDIATE VISIBILITY (< 768px)
   ========================================================================== */
@media (max-width: 768px) {
    .review-card-from-left,
    .review-card-from-right,
    .review-card-item,
    #reviews-grid > div {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        visibility: visible !important;
    }

    .parallax-bg-text {
        font-size: clamp(2.5rem, 12vw, 4.5rem) !important;
        max-width: 100vw !important;
        overflow: hidden !important;
        opacity: 0.04 !important;
        pointer-events: none !important;
    }
}

/* ==========================================================================
   12. HIDE SOPHIE GREETING BUBBLE WHEN MOBILE DRAWER IS OPEN
   ========================================================================== */
body.mobile-nav-open .sophie-greeting-bubble {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}


/* Balanced padding for slider bottom controls on mobile */
@media (max-width: 640px) {
    #hero .relative.z-30.max-w-7xl {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

/* ==========================================================================
   13. CANONICAL NAVIGATION & ZERO-GAP DROPDOWN MECHANICS
   ========================================================================== */
.nav-dropdown-wrapper {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
}
.nav-dropdown-wrapper > .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    transform: translateX(-50%) translateY(0) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity 0.22s cubic-bezier(0.16, 1, 0.3, 1), transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.22s !important;
    z-index: 99999 !important;
    margin-top: 0 !important;
}
/* Invisible hover bridge extending 24px above dropdown to connect seamlessly to nav button */
.dropdown-menu::before {
    content: '' !important;
    position: absolute !important;
    top: -24px !important;
    left: 0 !important;
    right: 0 !important;
    height: 28px !important;
    background: transparent !important;
    display: block !important;
    pointer-events: auto !important;
}
.nav-dropdown-wrapper:hover > .dropdown-menu,
.nav-dropdown-wrapper > .dropdown-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(-50%) translateY(0) !important;
}
.about-dropdown-wrapper > .dropdown-menu {
    left: 0 !important;
    transform: translateY(0) !important;
}
.about-dropdown-wrapper:hover > .dropdown-menu,
.about-dropdown-wrapper > .dropdown-menu:hover {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* ==========================================================================
   14. ROBUST RESPONSIVE DISPLAY & TAILWIND UTILITY HARMONIZATION
   ========================================================================== */
.hidden {
    display: none;
}

/* Mobile-only hidden constraints (< 640px) */
@media (max-width: 639px) {
    .hidden,
    .hidden.sm\:inline,
    .hidden.sm\:block,
    .hidden.sm\:flex,
    .hidden.sm\:inline-flex,
    [class*="hidden sm:"] {
        display: none !important;
    }
}

/* Small screens and up (>= 640px): Restore sm: utilities */
@media (min-width: 640px) {
    .sm\:hidden {
        display: none !important;
    }
    .sm\:flex,
    .hidden.sm\:flex {
        display: flex !important;
    }
    .sm\:inline,
    .hidden.sm\:inline {
        display: inline !important;
    }
    .sm\:inline-flex,
    .hidden.sm\:inline-flex {
        display: inline-flex !important;
    }
    .sm\:block,
    .hidden.sm\:block {
        display: block !important;
    }
}

/* Medium screens and up (>= 768px): Restore md: utilities */
@media (min-width: 768px) {
    .md\:hidden {
        display: none !important;
    }
    .md\:flex,
    .hidden.md\:flex {
        display: flex !important;
    }
    .md\:inline,
    .hidden.md\:inline {
        display: inline !important;
    }
    .md\:inline-flex,
    .hidden.md\:inline-flex {
        display: inline-flex !important;
    }
    .md\:block,
    .hidden.md\:block {
        display: block !important;
    }
}

/* Large screens and up (>= 1024px): Restore lg: utilities */
@media (min-width: 1024px) {
    .lg\:hidden {
        display: none !important;
    }
    .lg\:flex,
    .hidden.lg\:flex {
        display: flex !important;
    }
    .lg\:inline,
    .hidden.lg\:inline {
        display: inline !important;
    }
    .lg\:inline-flex,
    .hidden.lg\:inline-flex {
        display: inline-flex !important;
    }
    .lg\:block,
    .hidden.lg\:block {
        display: block !important;
    }
}

/* Enable 3D flying cards intro overlay */
#intro-cluster-overlay {
    perspective: 1200px;
    -webkit-perspective: 1200px;
}

/* STRICT NO-UPPERCASE ENFORCEMENT ACROSS HERO & HEADER (Apple Clean Typography) */
#hero,
#hero h1,
#hero h2,
#hero p,
#hero a,
#hero button,
#hero-cta-buttons,
#hero-cta-buttons a,
#hero-cta-buttons button,
#hero-cta-buttons span,
#hero .inline-flex,
.hero-category-pill,
.hero-slide a,
.hero-slide button,
.hero-slide span {
    text-transform: none !important;
}


/* Desktop-only and mobile-only span toggles */
@media (max-width: 640px) {
  .desktop-only,
  span.desktop-only,
  #hero-cta-buttons a span.desktop-only,
  #hero-cta-buttons button span.desktop-only {
    display: none !important;
  }
  .mobile-only,
  span.mobile-only {
    display: inline !important;
  }
}
@media (min-width: 641px) {
  .desktop-only,
  span.desktop-only,
  #hero-cta-buttons a span.desktop-only,
  #hero-cta-buttons button span.desktop-only {
    display: inline !important;
  }
  .mobile-only,
  span.mobile-only {
    display: none !important;
  }
}

/* Hero Pills: Explicit immunity from Action Button sizing */
.hero-pill,
.hero-reviews-pill,
.hero-category-pill,
#hero .hero-pill,
#hero .hero-reviews-pill,
#hero .hero-category-pill {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    line-height: normal !important;
    flex: 0 0 auto !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    border-radius: 9999px !important;
}

/* ========================================================
   HIGH-END APPLE-GRADE SCROLL REVEAL (FADE + SPRING TRANSLATE)
   ======================================================== */
.reveal-item {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.reveal-item.is-revealed {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

/* Subtle cascading stagger within section text column */
.parallax-text-column > .reveal-item:nth-child(1) { transition-delay: 0.04s; }
.parallax-text-column > .reveal-item:nth-child(2) { transition-delay: 0.10s; }
.parallax-text-column > .reveal-item:nth-child(3) { transition-delay: 0.16s; }
.parallax-text-column > .reveal-item:nth-child(4) { transition-delay: 0.22s; }
.parallax-text-column > .reveal-item:nth-child(5) { transition-delay: 0.28s; }
.parallax-text-column > .reveal-item:nth-child(6) { transition-delay: 0.34s; }

.parallax-card-column.reveal-item {
    transition-delay: 0.18s;
}

@media (prefers-reduced-motion: reduce) {
    .reveal-item {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}

/* ========================================================
   APPLE LUXURY UNIFIED TOP PILL BADGE & TOP ANNOUNCEMENT BAR
   ======================================================== */
@media (max-width: 639px) {
    #hero .hero-content-layer,
    .chapter-section .hero-content-layer,
    .hero-content-layer {
        justify-content: flex-start !important;
        padding-top: 1.5rem !important;
        padding-bottom: 2rem !important;
    }
    #hero .hero-content-layer > div,
    .hero-content-layer > div {
        margin: 0 auto !important;
    }
}

.hero-top-pill-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin-bottom: 0.65rem !important;
    margin-top: 0 !important;
}

@media (min-width: 640px) {
    .hero-top-pill-wrapper {
        justify-content: flex-start !important;
        margin-bottom: 0.75rem !important;
    }
}

.hero-unified-pill,
#hero .hero-unified-pill {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 38px !important;
    padding: 6px 16px !important;
    border-radius: 9999px !important;
    background: rgba(0, 0, 0, 0.75) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.hero-unified-pill:hover,
#hero .hero-unified-pill:hover {
    background: rgba(0, 0, 0, 0.9) !important;
    border-color: rgba(251, 191, 36, 0.65) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 20px rgba(251, 191, 36, 0.25) !important;
}

.hero-unified-pill:active,
#hero .hero-unified-pill:active {
    transform: scale(0.98) !important;
}

@media (max-width: 639px) {
    .hero-unified-pill,
    #hero .hero-unified-pill {
        gap: 0.35rem !important;
        padding: 5px 12px !important;
        max-width: calc(100vw - 32px) !important;
    }

    /* STRICT LEFT-ALIGNMENT FOR ALL LISTS, BULLETS, PROCESS STEPS & CARD PROSE */
    ul,
    ol,
    li,
    ul li,
    ol li,
    .chapter-section ul,
    .chapter-section ol,
    .chapter-section li,
    section ul,
    section ol,
    section li,
    .parallax-text-column ul,
    .parallax-text-column ol,
    .parallax-text-column li,
    [class*="space-y"] > li,
    .feature-list,
    .feature-list li,
    .pricing-features,
    .pricing-features li,
    .step-card,
    .process-card,
    [class*="step-"],
    [class*="space-y-"] > .flex.items-start {
        text-align: left !important;
        justify-content: flex-start !important;
    }

    ul li,
    ol li,
    li,
    li *,
    li p,
    li span,
    li div,
    li strong {
        text-align: left !important;
    }

    li.flex,
    ul li.flex,
    ol li.flex,
    div.flex.items-start {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }

    li.flex > *,
    ul li.flex > *,
    ol li.flex > *,
    div.flex.items-start > * {
        text-align: left !important;
    }

    details,
    details summary,
    details p,
    details div,
    details ul,
    details li {
        text-align: left !important;
    }

    .grid .space-y-1 *,
    .grid .space-y-2 *,
    .grid .space-y-3 *,
    .glass-card-luxury *,
    .bento-card p,
    .bento-card span,
    .bento-card ul,
    .bento-card li {
        text-align: left !important;
    }
}

/* ==========================================================================
   HEADER BRAND LOGO: SIGNATURE ORANGE, CHANGES TO BLACK ON TOUCH / HOVER
   ========================================================================== */
header a.group .w-10.h-10,
header a.group div[class*="rounded-xl"],
.header-logo-badge {
    background-color: #FF5500 !important;
    color: #ffffff !important;
    transition: background-color 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.16s ease !important;
}

header a.group:hover .w-10.h-10,
header a.group:active .w-10.h-10,
header a.group:hover div[class*="rounded-xl"],
header a.group:active div[class*="rounded-xl"],
header a.group .w-10.h-10:active,
header a.group div[class*="rounded-xl"]:active {
    background-color: #1D1D1F !important;
    color: #ffffff !important;
    transform: scale(0.96);
}

/* ==========================================================================
   HERO UNIFIED REVIEW PILL - STRICT ZERO BOX / CONTAINER ISOLATION
   ========================================================================== */
.hero-unified-pill a,
#hero .hero-unified-pill a,
.hero-top-pill-wrapper a,
#hero .hero-top-pill-wrapper a,
.hero-reviews-pill a,
#hero .hero-reviews-pill a {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    border-width: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    border-radius: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.375rem !important;
    text-decoration: none !important;
    box-sizing: content-box !important;
    transform: none !important;
}

.hero-unified-pill a:hover,
#hero .hero-unified-pill a:hover,
.hero-unified-pill a:active,
#hero .hero-unified-pill a:active,
.hero-unified-pill a:focus,
#hero .hero-unified-pill a:focus {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}



/* ==========================================================================
   HERO ALIGNMENT INVARIANT: STRICT LEFT ON DESKTOP (>=1024px), CENTER ON MOBILE & TABLET (<1024px)
   ========================================================================== */
@media (min-width: 1024px) {
  .hero-content-layer,
  #hero .hero-content-layer,
  #overview .hero-content-layer,
  .hero-slide .hero-content-layer {
    width: 100% !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .hero-content-layer > div,
  #hero .hero-content-layer > div,
  #overview .hero-content-layer > div,
  .hero-slide .hero-content-layer > div {
    align-items: flex-start !important;
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  .hero-top-pill-wrapper {
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100% !important;
  }

  #hero h1, #hero h2,
  #overview h1, #overview h2,
  .hero-slide h1, .hero-slide h2 {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  #hero p,
  #overview p,
  .hero-slide p {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  .hero-telemetry,
  #hero-telemetry {
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    width: 100% !important;
  }

  #hero-cta-buttons,
  .hero-cta-buttons-container {
    justify-content: flex-start !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

@media (max-width: 1023px) {
  .hero-content-layer,
  #hero .hero-content-layer,
  #overview .hero-content-layer,
  .hero-slide .hero-content-layer {
    width: 100% !important;
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-content-layer > div,
  #hero .hero-content-layer > div,
  #overview .hero-content-layer > div,
  .hero-slide .hero-content-layer > div {
    align-items: center !important;
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-top-pill-wrapper {
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
  }

  #hero h1, #hero h2,
  #overview h1, #overview h2,
  .hero-slide h1, .hero-slide h2 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #hero p,
  #overview p,
  .hero-slide p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-telemetry,
  #hero-telemetry {
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #hero-cta-buttons,
  .hero-cta-buttons-container {
    justify-content: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
