/* ============================================================
   AWS SBG AdU — Compact layout stylesheet (≤1024px)
   Applies stacked layouts + mobile nav when the window is narrow (phones,
   tablets, or a minimized desktop browser). Requires: design-tokens, base,
   desktop-adaptive.
   ============================================================ */

@media (max-width: 1024px) {
    :root {
        --ui-scale: 1;
        --mobile-gutter: clamp(20px, 6.5vw, 32px);
        --mobile-content-max: calc(100vw - 2 * var(--mobile-gutter));
        --page-padding: var(--mobile-gutter);
        --mobile-brand-block-h: 44px;
        --mobile-nav-h: 44px;
        --mobile-header-gap: 8px;
        --mobile-header-pill-py: 6px;
        --mobile-header-pill-px: 16px;
        --mobile-nav-font: 11px;
        --mobile-header-h: 48px;
        --mobile-header-glass: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.08) 100%);
        --mobile-header-border: 1px solid rgba(255, 255, 255, 0.18);
        --mobile-header-shadow: 0 20px 40px rgba(0, 0, 0, 0.4);
        --ios-surface: #0c0c0e;
        --ios-group: rgba(255, 255, 255, 0.06);
        --ios-separator: rgba(255, 255, 255, 0.08);
        --ios-blue: #0a84ff;
        --ios-nav-bg: rgba(18, 12, 36, 0.96);
        --mobile-text-sm: 13px;
        --mobile-text-base: 14px;
        --mobile-text-nav: 12px;
        --space-xs: 4px;
        --space-sm: 8px;
        --space-md: 12px;
        --space-lg: 16px;
        --space-xl: 20px;
        --space-2xl: 24px;
        --space-3xl: 32px;
        --mobile-stack: 20px;
        --mobile-card-gap: 12px;
        --mobile-section-pad: 20px;
        --mobile-page-top-offset: clamp(56px, 14vh, 96px);
        --mobile-header-top: max(8px, env(safe-area-inset-top));
        --mobile-back-gap: 28px;
        --mobile-back-h: 34px;
        --mobile-content-top: calc(var(--mobile-header-top) + var(--mobile-header-h) + var(--mobile-back-gap) + var(--mobile-back-h) + var(--mobile-page-top-offset));
        --mobile-finder-pad: 14px;
        --mobile-stat-num: 22px;
        --mobile-stat-label: 10px;
        --mobile-btn-h: 38px;
        --mobile-btn-py: 8px;
        --mobile-btn-px: 16px;
        --mobile-btn-fs: 13px;
    }

    html {
        -webkit-text-size-adjust: 100%;
    }

    html {
        height: auto !important;
    }

    body {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        height: auto !important;
        min-height: 100% !important;
    }

    /* ---------- Mobile header: brand pill (left) + three-dot button (right) ---------- */
    .site-header {
        position: fixed !important;
        top: max(8px, env(safe-area-inset-top)) !important;
        left: var(--mobile-gutter) !important;
        right: var(--mobile-gutter) !important;
        transform: none !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        z-index: 10000 !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Brand area — flat (no pill) */
    .site-header .top-bar {
        position: static !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: calc(100% - var(--mobile-header-h) - 10px) !important;
        min-width: 0 !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: left !important;
        gap: 8px !important;
        padding: 0 !important;
        height: var(--mobile-header-h) !important;
        background: transparent !important;
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        border: none !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        overflow: hidden !important;
    }

    .site-header .top-bar::after {
        display: none !important;
    }

    .top-bar-logo {
        width: 30px !important;
        height: 30px !important;
        flex-shrink: 0 !important;
    }

    .top-bar-text {
        display: block !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;
        letter-spacing: -0.15px !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
        text-align: left !important;
        background: linear-gradient(135deg, #ffffff 18%, #bbaffd 47%, #efdcf1 110%) !important;
        -webkit-background-clip: text !important;
        -webkit-text-fill-color: transparent !important;
        background-clip: text !important;
    }

    /* Compact brand label on mobile: show the short form, hide the long one */
    .top-bar-text .brand-full {
        display: none !important;
    }

    .top-bar-text .brand-short {
        display: inline !important;
    }

    /* Hide the desktop nav links on mobile (mobile-nav.js provides a hamburger menu) */
    .site-header .nav-links {
        display: none !important;
    }

    /* Three-dot toggle button (liquid glass) */
    .mnav-toggle {
        flex: 0 0 auto;
        width: var(--mobile-header-h);
        height: var(--mobile-header-h);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 4px;
        padding: 0;
        border-radius: 50%;
        cursor: pointer;
        background: var(--mobile-header-glass);
        backdrop-filter: blur(45px) saturate(200%);
        -webkit-backdrop-filter: blur(45px) saturate(200%);
        border: var(--mobile-header-border);
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
        -webkit-tap-highlight-color: transparent;
        transition: transform 0.22s ease, background 0.22s ease, box-shadow 0.22s ease;
    }

    .mnav-toggle:active {
        transform: scale(0.94);
    }

    .mnav-toggle.is-active {
        background: linear-gradient(180deg, rgba(187, 175, 253, 0.4) 0%, rgba(187, 175, 253, 0.18) 100%);
        box-shadow: 0 0 0 1px rgba(187, 175, 253, 0.4), 0 12px 32px rgba(0, 0, 0, 0.4);
    }

    .mnav-dot {
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.9);
    }

    /* Backdrop behind the menu sheet */
    .mnav-backdrop {
        position: fixed;
        inset: 0;
        z-index: 10001;
        background: rgba(0, 0, 0, 0.45);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.26s ease;
        -webkit-backdrop-filter: blur(2px);
        backdrop-filter: blur(2px);
    }

    .mnav-backdrop.is-visible {
        opacity: 1;
        pointer-events: auto;
    }

    /* iOS-style context menu sheet */
    .mnav-sheet {
        position: fixed;
        top: calc(var(--mobile-header-top) + var(--mobile-header-h) + 12px);
        right: var(--mobile-gutter);
        z-index: 10002;
        width: min(280px, calc(100vw - var(--mobile-gutter) * 2));
        max-height: calc(100dvh - var(--mobile-header-top) - var(--mobile-header-h) - 28px);
        overflow-y: auto;
        padding: 6px;
        border-radius: 16px;
        background: linear-gradient(180deg, rgba(38, 32, 58, 0.82) 0%, rgba(22, 16, 38, 0.82) 100%);
        backdrop-filter: blur(40px) saturate(180%);
        -webkit-backdrop-filter: blur(40px) saturate(180%);
        border: 1px solid rgba(255, 255, 255, 0.14);
        box-shadow: 0 30px 60px rgba(0, 0, 0, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.12);
        opacity: 0;
        transform: translateY(-10px) scale(0.96);
        transform-origin: top right;
        pointer-events: none;
        transition: opacity 0.24s ease, transform 0.24s cubic-bezier(0.25, 1, 0.5, 1);
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .mnav-sheet::-webkit-scrollbar {
        display: none;
    }

    .mnav-sheet.is-visible {
        opacity: 1;
        transform: translateY(0) scale(1);
        pointer-events: auto;
    }

    .mnav-group {
        padding: 4px 0;
    }

    .mnav-group + .mnav-group {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
    }

    .mnav-title {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding: 11px 14px;
        border-radius: 11px;
        text-decoration: none;
        color: #ffffff;
        font-size: 16px;
        font-weight: 700;
        letter-spacing: -0.2px;
        -webkit-tap-highlight-color: transparent;
        transition: background 0.18s ease;
    }

    .mnav-title:active {
        background: rgba(187, 175, 253, 0.22);
    }

    .mnav-title.is-current {
        color: #cdbcff;
    }

    .mnav-chevron {
        display: inline-flex;
        align-items: center;
        opacity: 0.45;
    }

    .mnav-item {
        display: block;
        padding: 9px 14px 9px 18px;
        border-radius: 10px;
        text-decoration: none;
        color: rgba(255, 255, 255, 0.74);
        font-size: 14px;
        font-weight: 500;
        -webkit-tap-highlight-color: transparent;
        transition: background 0.18s ease, color 0.18s ease;
    }

    .mnav-item:active {
        background: rgba(187, 175, 253, 0.18);
        color: #ffffff;
    }

    .mnav-item.is-current {
        color: #cdbcff;
        font-weight: 600;
    }

    body.mnav-open {
        overflow: hidden !important;
    }

    /* No scroll snapping on mobile */
    html,
    body,
    .horizontal-container {
        scroll-snap-type: none !important;
    }

    .page-section,
    .section2,
    .section3,
    .section3-stage,
    .site-footer {
        scroll-snap-align: none !important;
        scroll-snap-stop: normal !important;
    }

    .dock-slider {
        display: none !important;
    }

    /* Hide side page dots — they clash with nav/content on mobile */
    .page-indicator {
        display: none !important;
    }

    /* ---------- Centered content shell ---------- */
    .join-page,
    .sbg-page,
    .events-page,
    .of-page,
    .oh-page {
        padding: var(--mobile-content-top) 0 var(--space-3xl) !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Subpage vertical rhythm between major blocks */
    .join-page > * + *,
    .sbg-page > * + *,
    .events-page > * + *,
    .of-page > * + *,
    .oh-page > * + * {
        margin-top: var(--mobile-stack) !important;
    }

    .join-page > *,
    .sbg-page > *,
    .events-page > *,
    .of-page > *,
    .oh-page > *,
    .join-hero,
    .sbg-hero,
    .events-header,
    .of-hero,
    .oh-hero,
    .ev-stats,
    .oh-stats,
    [class$="-finder-wrap"],
    .sbg-cta {
        width: 100% !important;
        max-width: var(--mobile-content-max) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .site-footer {
        width: 100% !important;
        max-width: none !important;
    }

    .site-footer-main {
        max-width: var(--mobile-content-max) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .page-back,
    .events-back {
        position: fixed !important;
        top: calc(var(--mobile-header-top) + var(--mobile-header-h) + var(--mobile-back-gap)) !important;
        left: max(var(--mobile-gutter), calc((100vw - var(--mobile-content-max)) / 2)) !important;
        right: auto !important;
        transform: none !important;
        z-index: 9999 !important;
        display: inline-flex !important;
        align-items: center !important;
        width: auto !important;
        max-width: calc(100vw - var(--mobile-gutter) * 2) !important;
        font-size: 12px !important;
        padding: 6px 14px !important;
        margin: 0 !important;
        white-space: nowrap !important;
    }

    .page-back:hover,
    .events-back:hover {
        transform: translateY(-2px) !important;
    }

    /* Heroes */
    .join-hero,
    .sbg-hero,
    .events-header,
    .of-hero,
    .oh-hero {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .page-hero-logo {
        width: clamp(96px, 28vw, 128px) !important;
        height: clamp(96px, 28vw, 128px) !important;
        margin: 0 auto var(--space-lg) !important;
        border-radius: 22px !important;
    }

    .page-hero-logo--flat {
        border-radius: 0 !important;
    }

    .join-hero h1,
    .sbg-hero h1,
    .events-header h1,
    .of-hero h1,
    .oh-hero h1 {
        font-size: clamp(1.5rem, 6.5vw, 1.85rem) !important;
        line-height: 1.15 !important;
        margin: 0 0 var(--space-sm) !important;
    }

    .join-hero p,
    .sbg-hero p,
    .events-header .events-subtitle,
    .of-hero p,
    .oh-hero p {
        font-size: var(--mobile-text-base) !important;
        line-height: 1.6 !important;
        text-align: center !important;
        max-width: 640px !important;
        width: 100% !important;
        margin: var(--space-sm) auto var(--space-lg) !important;
    }

    .page-label,
    .events-label {
        font-size: 11px !important;
        padding: var(--space-xs) var(--space-md) !important;
        margin: 0 auto var(--space-sm) !important;
        display: inline-block !important;
    }

    /* Stats / counter cards — align with finder cards below */
    .ev-stats,
    .oh-stats {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: var(--space-sm) !important;
        max-width: var(--mobile-content-max) !important;
        width: 100% !important;
        margin-top: var(--space-2xl) !important;
        margin-bottom: var(--space-xl) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .ev-finder-wrap,
    .oh-page .oh-finder-wrap {
        max-width: var(--mobile-content-max) !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .ev-stat,
    .oh-stat {
        padding: var(--space-lg) var(--space-xs) !important;
        border-radius: 12px !important;
        min-width: 0 !important;
        text-align: center !important;
    }

    .ev-stat {
        background: linear-gradient(
            145deg,
            rgba(58, 16, 184, 0.62) 0%,
            rgba(36, 0, 144, 0.52) 42%,
            rgba(24, 0, 108, 0.58) 100%
        ) !important;
        backdrop-filter: blur(28px) saturate(190%) !important;
        -webkit-backdrop-filter: blur(28px) saturate(190%) !important;
        border: 1px solid rgba(255, 255, 255, 0.14) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.26) !important;
        box-shadow:
            0 12px 28px rgba(0, 0, 0, 0.38),
            0 0 0 1px rgba(36, 0, 144, 0.35),
            inset 0 1px 0 rgba(255, 255, 255, 0.14),
            inset 0 -1px 0 rgba(0, 0, 0, 0.18) !important;
    }

    .ev-stat-num,
    .oh-stat-num {
        font-size: var(--mobile-stat-num) !important;
        line-height: 1 !important;
    }

    .ev-stat-label,
    .oh-stat-label {
        font-size: var(--mobile-stat-label) !important;
        line-height: 1.25 !important;
        margin-top: var(--space-xs) !important;
        letter-spacing: 0 !important;
    }

    /* Full-width shells & cards — span content area like ev-stats / oh-stats */
    .of-org-chart,
    .of-org-row,
    .section3-stat-grid,
    .sbg-narrative-grid,
    .oh-narrative-grid,
    .jf-registration-closed-card {
        max-width: 100% !important;
        width: 100% !important;
    }

    .of-card.of-contact-card,
    .of-page .of-org-row--leadership .of-card.of-contact-card,
    .section2-event-card,
    .section2-view-all-card,
    .sbg-narrative-card,
    .oh-narrative-card,
    .sbg-cta,
    .section3-stat-item,
    .jf-registration-closed-card {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        --of-card-max: 100%;
    }

    /* Narrative + CTA */
    .sbg-finder-narrative,
    .oh-finder-narrative {
        border-radius: 14px !important;
        padding: var(--space-lg) var(--space-md) !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .oh-page .oh-finder-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--space-lg) !important;
        margin-top: var(--space-lg) !important;
    }

    .oh-page .oh-finder-wrap .oh-finder-window {
        margin-top: 0 !important;
    }

    .sbg-page .sbg-finder-wrap {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--space-lg) !important;
        margin-top: var(--space-lg) !important;
    }

    .sbg-page .sbg-finder-wrap .sbg-finder-window {
        margin-top: 0 !important;
    }

    .sbg-page .sbg-cta {
        margin-top: var(--space-2xl) !important;
    }

    .sbg-narrative-lead,
    .oh-narrative-lead {
        font-size: var(--mobile-text-base) !important;
        margin: 0 0 var(--space-md) !important;
    }

    .sbg-narrative-card p,
    .oh-narrative-card p {
        font-size: var(--mobile-text-sm) !important;
        margin: 0 !important;
    }

    .sbg-narrative-grid,
    .oh-narrative-grid {
        grid-template-columns: 1fr !important;
        gap: var(--space-sm) !important;
        margin-top: var(--space-md) !important;
    }

    .sbg-narrative-card,
    .oh-narrative-card {
        padding: var(--space-md) !important;
    }

    .sbg-cta {
        padding: var(--space-xl) var(--space-lg) !important;
        border-radius: 14px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        text-align: center !important;
    }

    .sbg-cta-inner {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .sbg-cta h2 {
        font-size: 1.25rem !important;
        margin: 0 0 var(--space-sm) !important;
    }

    .sbg-cta p {
        font-size: var(--mobile-text-base) !important;
        margin: 0 0 var(--space-md) !important;
        line-height: 1.55 !important;
    }

    .sbg-narrative-tags,
    .oh-narrative-tags {
        gap: var(--space-xs) !important;
        margin-bottom: var(--space-sm) !important;
    }

    .sbg-narrative-tag,
    .oh-narrative-tag {
        font-size: 10px !important;
        padding: 4px 10px !important;
    }

    .sticker {
        width: 56px !important;
        bottom: 14px !important;
        right: 14px !important;
        opacity: 0.7;
        z-index: 999 !important;
    }

    .site-footer-main {
        padding: var(--space-2xl) 0 var(--space-xl) !important;
    }

    .site-footer-bottom {
        padding: var(--space-md) 0 calc(var(--space-md) + env(safe-area-inset-bottom)) !important;
        max-width: var(--mobile-content-max) !important;
        width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
        font-size: 10px !important;
    }

    /* ============================================================
       iOS FILES — Finder windows
       ============================================================ */
    [class$="-finder-wrap"],
    .section3-stage {
        margin-bottom: 0 !important;
    }

    .sbg-cta,
    .oh-finder-narrative,
    .sbg-finder-narrative {
        margin-top: 0 !important;
    }

    [class$="-finder-window"],
    .section3-window,
    .section2-event-modal-window {
        border-radius: 14px !important;
        background: var(--ios-surface) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
        overflow: hidden !important;
        isolation: isolate !important;
        min-height: 0 !important;
        max-height: none !important;
        height: auto !important;
        width: 100% !important;
    }

    [class$="-finder-window"],
    .section3-window {
        animation: none !important;
    }

    .section2-event-modal:not([hidden]) .section2-event-modal-window {
        animation: section2ModalWindowIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    }

    .section2-event-modal {
        z-index: 10050 !important;
    }

    .ev-gallery-modal {
        z-index: 10060 !important;
        padding: max(16px, env(safe-area-inset-top)) 14px max(16px, env(safe-area-inset-bottom)) !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .ev-gallery-inner {
        width: calc(100% - 28px) !important;
        max-width: 420px !important;
        gap: 12px !important;
        height: auto !important;
        justify-content: center !important;
        overflow-x: hidden !important;
    }

    .ev-gallery-back {
        display: inline-flex !important;
        align-items: center !important;
        gap: 8px !important;
        align-self: flex-start !important;
        padding: 8px 14px !important;
        font-size: 13px !important;
        -webkit-tap-highlight-color: transparent;
    }

    .ev-gallery-window {
        width: 100% !important;
        max-height: min(88dvh, 720px) !important;
        border-radius: 14px !important;
        overflow-x: hidden !important;
    }

    .ev-gallery-view {
        min-height: 200px !important;
    }

    .ev-gallery-view img {
        max-height: 48dvh !important;
    }

    .ev-gallery-thumb {
        width: 52px !important;
        height: 38px !important;
    }

    .ev-gallery-titlebar {
        display: block !important;
        grid-template-columns: unset !important;
        padding: 12px 14px !important;
        min-height: 0 !important;
        border-top-left-radius: 14px !important;
        border-top-right-radius: 14px !important;
    }

    .ev-gallery-titlebar .ev-finder-controls,
    .ev-gallery-titlebar-spacer {
        display: none !important;
    }

    .ev-gallery-titlebar .ev-finder-title {
        grid-column: unset !important;
        justify-self: stretch !important;
        width: 100% !important;
        max-width: none !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
        word-break: break-word !important;
        line-height: 1.35 !important;
        font-size: 12px !important;
        padding: 0 !important;
    }

    .ev-gallery-footer {
        border-bottom-left-radius: 14px !important;
        border-bottom-right-radius: 14px !important;
    }

    [class$="-finder-controls"] {
        display: none !important;
    }

    [class$="-finder-titlebar"],
    .section3-titlebar {
        display: grid !important;
        grid-template-columns: minmax(52px, auto) 1fr minmax(52px, auto) !important;
        align-items: center !important;
        justify-content: unset !important;
        background: rgba(28, 28, 32, 0.96) !important;
        backdrop-filter: blur(20px) saturate(180%) !important;
        -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
        border-bottom: 0.5px solid rgba(255, 255, 255, 0.1) !important;
        padding: 8px 12px !important;
        min-height: 38px !important;
        border-top-left-radius: 14px !important;
        border-top-right-radius: 14px !important;
    }

    .sbg-safari .sbg-window-titlebar {
        border-top-left-radius: 14px !important;
        border-top-right-radius: 14px !important;
    }

    .section3-window-controls {
        grid-column: 1;
        justify-self: start;
        display: flex !important;
    }

    .section3-titlebar-spacer {
        grid-column: 3;
        justify-self: end;
        width: 52px !important;
    }

    [class$="-finder-title"],
    .section3-title {
        grid-column: 2;
        justify-self: center;
        flex: none !important;
        text-align: center !important;
        font-size: var(--mobile-text-sm) !important;
        font-weight: 600 !important;
        color: rgba(255, 255, 255, 0.92) !important;
        letter-spacing: -0.01em !important;
        line-height: 1.3 !important;
    }

    [class$="-finder-title-icon"],
    .section3-title-icon {
        width: 14px !important;
        height: 14px !important;
        margin-right: 4px !important;
    }

    [class$="-finder-body"],
    .section3-body {
        flex-direction: column !important;
        background: #000 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    .section3-body {
        border-bottom-left-radius: 14px !important;
        border-bottom-right-radius: 14px !important;
    }

    /* Sidebar → horizontal folder chips (all finders) */
    [class$="-finder-sidebar"],
    .section3-sidebar {
        width: 100% !important;
        flex-shrink: 0 !important;
        border-right: none !important;
        border-bottom: 0.5px solid rgba(255, 255, 255, 0.06) !important;
        background: #000 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        max-height: none !important;
        height: auto !important;
        padding: 8px 10px !important;
        gap: 8px !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    [class$="-finder-sidebar"]::-webkit-scrollbar,
    .section3-sidebar::-webkit-scrollbar {
        display: none;
    }

    [class$="-finder-sidebar-divider"],
    [class$="-finder-sidebar-label"],
    .section3-sidebar-divider,
    .section3-sidebar-label {
        display: none !important;
    }

    [class$="-finder-sidebar-item"],
    .section3-sidebar-item {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 6px 10px !important;
        border-radius: 999px !important;
        border: 0.5px solid rgba(255, 255, 255, 0.08) !important;
        background: transparent !important;
        font-size: var(--mobile-text-sm) !important;
        font-weight: 500 !important;
        color: rgba(255, 255, 255, 0.88) !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        text-align: left !important;
        -webkit-tap-highlight-color: transparent;
    }

    button[class$="-finder-sidebar-item"] {
        appearance: none !important;
        -webkit-appearance: none !important;
        font-family: inherit !important;
        cursor: pointer !important;
    }

    [class$="-finder-sidebar-item"] .icon,
    .section3-sidebar-item .icon {
        width: 16px !important;
        height: 16px !important;
        flex-shrink: 0 !important;
    }

    [class$="-finder-sidebar-item"]::after,
    .section3-sidebar-item::after {
        display: none !important;
        content: none !important;
    }

    [class$="-finder-sidebar-item"].active,
    .section3-sidebar-item.active {
        background: rgba(10, 132, 255, 0.12) !important;
        color: var(--ios-blue) !important;
        border-color: rgba(10, 132, 255, 0.28) !important;
        margin: 0 !important;
        padding: 6px 10px !important;
        font-weight: 500 !important;
        box-shadow: none !important;
    }

    [class$="-finder-main"],
    .section3-main {
        padding: 0 !important;
        background: #1a1a1d !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
        min-height: 0 !important;
    }

    [class$="-finder-block"],
    .sbg-finder-block,
    .section3-main-block,
    .oh-finder-timeline-panel {
        margin: 0 !important;
    }

    .sbg-finder-block + .sbg-finder-block,
    .section3-main-block + .section3-main-block {
        margin-top: 0 !important;
    }

    [class$="-section-title"],
    .section3-block-title,
    .sbg-section-title {
        font-size: 11px !important;
        margin: 0 0 var(--space-sm) !important;
        padding-left: 2px;
    }

    .section3-narrative-quote + .section3-block-title {
        margin-top: var(--space-lg) !important;
    }

    .of-group + .of-group {
        margin-top: var(--space-xl) !important;
    }

    .of-group-title {
        font-size: 11px !important;
        margin: 0 0 var(--space-md) !important;
    }

    .of-grid {
        gap: var(--mobile-card-gap) !important;
    }

    .sbg-features,
    .sbg-steps,
    .section3-feature-grid {
        gap: 0 !important;
        border-radius: 10px !important;
        overflow: hidden !important;
        background: var(--ios-group) !important;
        border: 1px solid var(--ios-separator) !important;
    }

    .section3-feature-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }

    .section3-stat-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: var(--space-sm) !important;
        border-radius: 0 !important;
        overflow: visible !important;
        background: transparent !important;
        border: none !important;
        margin: var(--space-xl) 0 var(--space-xl) !important;
    }

    .sbg-features,
    .sbg-steps {
        grid-template-columns: 1fr !important;
    }

    .sbg-feature,
    .sbg-step,
    .of-card:not(.of-contact-card),
    .section3-feature-item {
        border-radius: 0 !important;
        border: none !important;
        border-bottom: 0.5px solid var(--ios-separator) !important;
        background: transparent !important;
        padding: var(--space-md) var(--space-md) !important;
    }

    .section3-stat-item {
        border-radius: 10px !important;
        border: 1px solid var(--ios-separator) !important;
        border-bottom: 1px solid var(--ios-separator) !important;
        background: var(--ios-group) !important;
        padding: var(--space-lg) var(--space-xs) !important;
        text-align: center !important;
    }

    .section3-stat-number {
        font-size: 20px !important;
        line-height: 1 !important;
    }

    .section3-stat-label {
        font-size: var(--mobile-stat-label) !important;
        margin-top: var(--space-xs) !important;
        line-height: 1.25 !important;
    }

    .sbg-feature h3,
    .sbg-step h4 {
        font-size: var(--mobile-text-sm) !important;
        margin: 0 0 var(--space-xs) !important;
    }

    .sbg-feature p,
    .sbg-step p {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin: 0 !important;
    }

    .sbg-feature:last-child,
    .sbg-step:last-child,
    .of-card:not(.of-contact-card):last-child,
    .section3-feature-item:last-child {
        border-bottom: none !important;
    }

    .sbg-safari .sbg-finder-body.sbg-safari-body {
        background: #000 !important;
    }

    .sbg-safari .sbg-finder-footer.sbg-window-footer {
        background: rgba(28, 28, 32, 0.96) !important;
    }

    .sbg-feature-icon {
        width: 36px !important;
        height: 36px !important;
        margin-bottom: var(--space-sm) !important;
        font-size: unset !important;
    }

    .sbg-step {
        gap: var(--space-sm) !important;
    }

    [class$="-finder-footer"],
    .section3-footer {
        background: rgba(28, 28, 32, 0.96) !important;
        border-top: 0.5px solid rgba(255, 255, 255, 0.08) !important;
        padding: 8px 12px !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        font-size: 10px !important;
        text-align: left !important;
        line-height: 1.3 !important;
        border-bottom-left-radius: 14px !important;
        border-bottom-right-radius: 14px !important;
    }

    [class$="-finder-footer"] > span,
    .section3-footer > span {
        justify-content: flex-start !important;
        min-width: 0 !important;
    }

    [class$="-finder-footer-items"],
    .section3-footer-items {
        flex-wrap: nowrap !important;
        justify-content: flex-end !important;
        gap: 10px !important;
        flex-shrink: 0 !important;
    }

    [class$="-finder-footer-items"] span,
    .section3-footer-items span {
        white-space: nowrap !important;
        font-size: 9px !important;
    }

    /* Events finder */
    .ev-year-strip {
        padding: var(--space-xs) var(--space-sm) var(--space-sm) !important;
        gap: var(--space-xs) !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .ev-year-tab {
        flex-shrink: 0;
        font-size: 11px !important;
        padding: 4px 10px !important;
    }

    .ev-month-strip {
        padding: var(--space-xs) var(--space-sm) 0 !important;
    }

    .ev-month-tab {
        font-size: 11px !important;
        padding: 4px 8px 7px !important;
    }

    .ev-split {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: 1fr !important;
    }

    .ev-preview-panel {
        order: 1 !important;
        padding: var(--space-lg) var(--mobile-finder-pad) var(--mobile-finder-pad) !important;
        display: flex !important;
        flex-direction: column !important;
        gap: var(--space-md) !important;
        overflow: visible !important;
        background: #1a1a1d !important;
    }

    .ev-list-panel {
        order: 2 !important;
        max-height: none !important;
        overflow: visible !important;
        border-right: none !important;
        border-bottom: none !important;
        border-top: 0.5px solid rgba(255, 255, 255, 0.06) !important;
    }

    .ev-list-header {
        font-size: 11px !important;
        padding: var(--space-sm) var(--space-md) var(--space-xs) !important;
        position: static !important;
        background: transparent !important;
    }

    .ev-list-row {
        grid-template-columns: 40px 1fr auto !important;
        gap: var(--space-sm) !important;
        padding: 10px 12px !important;
    }

    .ev-list-info h3 {
        font-size: 12px !important;
    }

    .ev-list-info span {
        font-size: 11px !important;
    }

    .ev-list-row.selected {
        background: rgba(10, 132, 255, 0.1) !important;
        box-shadow: inset 3px 0 0 var(--ios-blue) !important;
        border-left: none !important;
    }

    .ev-preview-panel .ev-list-empty {
        padding: var(--space-md) 0 !important;
        margin: 0 !important;
    }

    .ev-preview-hero-btn {
        margin: 0 !important;
        color: #ffffff !important;
    }

    .ev-preview-hero {
        min-height: 190px !important;
        height: 190px !important;
        border-radius: 10px !important;
        margin: 0 !important;
        width: 100% !important;
    }

    .ev-preview-hero-gallery-hint {
        font-size: 10px !important;
        padding: 5px 10px !important;
        bottom: 10px !important;
        right: 10px !important;
    }

    .ev-preview-hero-date .day {
        font-size: 24px !important;
        color: #ffffff !important;
    }

    .ev-preview-hero-date .month-year {
        font-size: 11px !important;
        color: rgba(255, 255, 255, 0.75) !important;
    }

    .ev-preview-hero-badge {
        color: rgba(255, 255, 255, 0.95) !important;
    }

    .ev-preview-hero-badge.featured {
        color: #f7ad58 !important;
    }

    .ev-preview-hero-badge.upcoming {
        color: #5de878 !important;
    }

    .ev-preview-title {
        font-size: 1.05rem !important;
        margin: 0 !important;
        padding: 0 2px !important;
    }

    .ev-preview-desc {
        font-size: var(--mobile-text-sm) !important;
        margin: 0 !important;
        padding: 0 2px !important;
        line-height: 1.55 !important;
    }

    .ev-preview-speaker {
        margin: 0 !important;
        font-size: 12px !important;
        padding: 0 2px !important;
        line-height: 1.55 !important;
    }

    .ev-preview-footer {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: var(--space-sm) !important;
        margin: 0 !important;
        padding: var(--space-xs) 2px 0 !important;
        border-top: 0.5px solid rgba(255, 255, 255, 0.08) !important;
    }

    .ev-preview-tags {
        gap: var(--space-xs) !important;
    }

    .ev-tag {
        font-size: 10px !important;
        padding: 3px 8px !important;
    }

    /* Join form — compact iOS grouped style */
    .jf-finder-main {
        padding: var(--mobile-finder-pad) !important;
        font-family: var(--font-sans) !important;
    }

    .jf-form-intro {
        font-size: var(--mobile-text-sm) !important;
        margin: 0 0 var(--space-md) !important;
        line-height: 1.55 !important;
    }

    .jf-form-section-label {
        font-size: 10px !important;
        margin: 0 0 var(--space-xs) 2px !important;
    }

    .jf-form-group {
        border-radius: 10px !important;
        margin-bottom: var(--space-md) !important;
    }

    .jf-form-row {
        flex-direction: row !important;
        align-items: center !important;
        gap: var(--space-sm) !important;
        min-height: 0 !important;
        padding: 7px 12px !important;
    }

    .jf-form-row label {
        width: 34% !important;
        max-width: 108px !important;
        flex-shrink: 0 !important;
        font-size: 12px !important;
        margin: 0 !important;
        line-height: 1.2 !important;
        color: rgba(255, 255, 255, 0.88) !important;
    }

    .jf-form-row input,
    .jf-form-row select {
        flex: 1 !important;
        width: auto !important;
        height: 30px !important;
        min-height: 30px !important;
        max-height: 30px !important;
        padding: 0 !important;
        margin: 0 !important;
        font-size: 14px !important;
        font-family: inherit !important;
        line-height: 1.2 !important;
        text-align: right !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    .jf-form-row select {
        padding-right: 16px !important;
        background-position: right center !important;
    }

    .jf-form-row input::placeholder {
        font-size: 13px !important;
        color: rgba(255, 255, 255, 0.28) !important;
    }

    .jf-form-note {
        font-size: 10px !important;
        margin: calc(-1 * var(--space-xs)) 0 var(--space-md) 2px !important;
        line-height: 1.45 !important;
    }

    .jf-form-actions {
        flex-direction: column !important;
        gap: var(--space-md) !important;
        margin-top: var(--space-md) !important;
        padding-top: 0 !important;
    }

    /* Unified action buttons — all pages */
    .sbg-cta-btn,
    .section1-btn,
    .section2-view-all-btn,
    .section3-join-wrap .section1-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        min-height: var(--mobile-btn-h) !important;
        height: auto !important;
        padding: var(--mobile-btn-py) var(--mobile-btn-px) !important;
        font-size: var(--mobile-btn-fs) !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        border-radius: 999px !important;
        box-sizing: border-box !important;
        width: auto !important;
        max-width: 100% !important;
        transform: none !important;
    }

    .sbg-cta-btn {
        padding: var(--mobile-btn-py) 18px !important;
        text-align: center !important;
    }

    .ev-preview-footer .ev-register-btn {
        width: auto !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        color: #f29b3c !important;
        background: none !important;
        border: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        justify-content: flex-end !important;
    }

    .ev-preview-footer .ev-register-btn:hover {
        color: #f7ad58 !important;
        background: none !important;
        transform: none !important;
        box-shadow: none !important;
    }

    .jf-btn-primary,
    .jf-btn-secondary {
        width: 100% !important;
        font-size: var(--mobile-btn-fs) !important;
        padding: var(--mobile-btn-py) var(--mobile-btn-px) !important;
        min-height: var(--mobile-btn-h) !important;
        border-radius: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        box-sizing: border-box !important;
    }

    /* Org history finder */
    .oh-page .oh-finder-main {
        padding: var(--mobile-finder-pad) !important;
        gap: var(--space-lg) !important;
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: unset !important;
        min-height: 0 !important;
        overflow: visible !important;
        background: #1a1a1d !important;
    }

    .oh-finder-story {
        flex-direction: column !important;
        gap: var(--space-md) !important;
        padding: 0 0 var(--space-lg) !important;
        border: none !important;
        border-bottom: 0.5px solid rgba(255, 255, 255, 0.08) !important;
    }

    .oh-finder-story-text {
        margin: 0 !important;
        padding: 0 2px !important;
    }

    .oh-finder-story--gallery-only .oh-finder-photos,
    .oh-finder-photos {
        margin-top: 0 !important;
    }

    .oh-finder-gallery-view {
        min-height: 190px !important;
        aspect-ratio: 4 / 3 !important;
        height: auto !important;
        border-radius: 10px !important;
        margin: 0 !important;
    }

    .oh-finder-gallery-bar {
        padding: var(--space-sm) 2px !important;
        gap: var(--space-sm) !important;
    }

    .oh-finder-timeline-panel {
        padding: var(--space-xs) 2px 0 !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    .oh-finder-block-title {
        font-size: 11px !important;
        margin: 0 0 var(--space-md) !important;
        padding: 0 2px !important;
    }

    .oh-finder-timeline {
        padding-left: 28px !important;
        margin-top: 0 !important;
        overflow: visible !important;
    }

    .oh-finder-timeline::before {
        left: 5px !important;
    }

    .oh-finder-node {
        padding: 0 0 var(--space-md) 0 !important;
    }

    .oh-finder-node::before {
        left: -28px !important;
    }

    .oh-finder-story-text h2 {
        font-size: 1rem !important;
        margin: 0 0 var(--space-sm) !important;
    }

    .oh-finder-story-text p {
        font-size: var(--mobile-text-sm) !important;
        margin: 0 0 var(--space-sm) !important;
        line-height: 1.55 !important;
    }

    .oh-finder-story-text p:last-child {
        margin-bottom: var(--space-2xl) !important;
    }

    .oh-page .oh-finder-footer {
        padding: 10px var(--mobile-finder-pad) !important;
    }

    .oh-finder-cat-decor {
        display: none !important;
    }

    /* SBG finder (Safari window) */
    .sbg-page .sbg-finder-main.sbg-safari-content {
        padding: var(--mobile-finder-pad) !important;
        gap: var(--space-lg) !important;
        overflow: visible !important;
        min-height: 0 !important;
        background: var(--safari-content, #1c1c1e) !important;
    }

    .sbg-page .sbg-finder-block {
        margin: 0 !important;
    }

    .sbg-page .sbg-finder-block + .sbg-finder-block {
        margin-top: 0 !important;
        padding-top: var(--space-lg) !important;
        border-top: 0.5px solid rgba(255, 255, 255, 0.08) !important;
    }

    .sbg-page .sbg-section-title {
        margin: 0 0 var(--space-md) !important;
        padding: 0 2px !important;
    }

    .sbg-page .sbg-safari-desktop-chrome .sbg-safari-toolbar {
        padding: 8px var(--mobile-finder-pad) 10px !important;
    }

    .sbg-page .sbg-safari-mobile-url {
        padding: 8px var(--mobile-finder-pad) 10px !important;
    }

    .sbg-page .sbg-finder-footer.sbg-window-footer {
        padding: 10px var(--mobile-finder-pad) !important;
    }

    .sbg-page .sbg-features,
    .sbg-page .sbg-steps {
        margin: 0 !important;
    }

    .oh-gallery-thumb {
        width: 48px !important;
        height: 34px !important;
    }

    .oh-gallery-btn {
        width: 28px !important;
        height: 28px !important;
    }

    /* Officers — iOS contact cards in grid */
    .of-page .of-finder-main {
        padding: var(--mobile-finder-pad) !important;
        gap: var(--space-lg) !important;
        overflow: visible !important;
        min-height: 0 !important;
        background: #1a1a1d !important;
        display: block !important;
    }

    .of-page .of-grid,
    .of-page .of-org-chart {
        margin: 0 !important;
        gap: var(--mobile-card-gap) !important;
    }

    .of-page .of-org-row {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .of-page .of-org-row--leadership {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        gap: var(--mobile-card-gap) !important;
    }

    .of-page .of-org-row--leadership .of-card.of-contact-card {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
    }

    .of-page .of-org-row--roster {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
    }

    .of-page .of-org-row--operations {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    .of-page .of-org-row--vice-president {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }

    .of-card.of-contact-card {
        padding: var(--of-card-pad-block, var(--space-lg)) var(--of-card-pad-inline, var(--space-md)) var(--of-card-pad-inline, var(--space-md)) !important;
        background: linear-gradient(180deg, #3a1580 0%, #2d1066 45%, #1a0a4a 100%) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        border-radius: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        min-width: 0 !important;
        --of-card-max: 100%;
    }

    .of-contact-actions {
        gap: 8px !important;
        margin-bottom: var(--space-md) !important;
    }

    .of-contact-action {
        width: 60px !important;
        min-height: 54px !important;
    }

    .of-page .of-finder-footer {
        padding: 10px var(--mobile-finder-pad) !important;
    }

    .oh-finder-node:last-child {
        padding-bottom: 0 !important;
    }

    /* ============================================================
       INDEX — Home
       ============================================================ */
    .horizontal-container {
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 0 !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: none !important;
        padding-bottom: var(--space-2xl) !important;
    }

    .page-section {
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        padding: calc(var(--mobile-header-h) + env(safe-area-inset-top) + var(--mobile-page-top-offset)) 0 var(--mobile-section-pad) !important;
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        scroll-snap-align: none !important;
    }

    .section1-content,
    .section1-card-wrapper,
    .section2-header,
    .section2-events-grid,
    .section2-view-all-wrapper,
    .section2-view-all-wrap,
    .section3-stage {
        width: 100% !important;
        max-width: var(--mobile-content-max) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    .horizontal-container > .site-footer {
        width: 100% !important;
        max-width: none !important;
    }

    .horizontal-container > .site-footer .site-footer-main {
        max-width: var(--mobile-content-max) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .section1-content {
        text-align: center !important;
        padding-top: 0 !important;
    }

    .section1-hero-logo {
        width: 88px !important;
        height: 88px !important;
        margin: 0 auto var(--space-md) !important;
    }

    .section1-content h1,
    .section1-content h1 .section1-title {
        font-size: clamp(1.8rem, 7.5vw, 2.8rem) !important;
        align-items: center !important;
        margin-bottom: var(--space-md) !important;
    }

    .section1-lead {
        font-size: clamp(1rem, 3.8vw, 1.35rem) !important;
        margin: var(--space-lg) 0 var(--space-md) !important;
    }

    .section1-motto {
        font-size: var(--mobile-text-sm) !important;
        margin: 0 0 var(--space-xl) !important;
    }

    .section1-content p {
        margin-top: var(--space-2xl) !important;
        padding-left: 0 !important;
    }

    .section1-glass-card {
        display: flex !important;
        flex-direction: column !important;
        overflow: hidden !important;
        padding: 0 !important;
        border-radius: 14px !important;
        background: #261a52 !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45) !important;
    }

    .section1-card-topbar.section3-titlebar {
        border-top-left-radius: 14px !important;
        border-top-right-radius: 14px !important;
    }

    .section1-card-topbar,
    .section1-card-bottombar {
        margin: 0 !important;
    }

    .section1-card-topbar {
        margin-bottom: 0 !important;
    }

    .section1-card-bottombar {
        margin-top: auto !important;
    }

    .section1-card-bottombar.section3-footer {
        flex-direction: row !important;
        justify-content: space-between !important;
        text-align: left !important;
        gap: 8px !important;
        border-bottom-left-radius: 14px !important;
        border-bottom-right-radius: 14px !important;
        color: rgba(255, 255, 255, 0.42) !important;
        font-family: var(--font-sans) !important;
    }

    .section1-glass-card h2 {
        padding: 14px 14px 0 !important;
        font-family: var(--font-sans) !important;
        font-size: 1.12rem !important;
        font-weight: 700 !important;
        line-height: 1.35 !important;
        letter-spacing: -0.01em !important;
        text-align: left !important;
        color: #ffffff !important;
        background: none !important;
        -webkit-background-clip: unset !important;
        background-clip: unset !important;
        -webkit-text-fill-color: #ffffff !important;
    }

    .section1-glass-card p {
        padding: 10px 14px 16px !important;
        font-family: var(--font-sans) !important;
        font-size: 15px !important;
        font-weight: 400 !important;
        line-height: 1.6 !important;
        letter-spacing: 0 !important;
        text-align: left !important;
        color: rgba(255, 255, 255, 0.9) !important;
    }

    .section1-card-media {
        width: calc(100% - 28px) !important;
        margin: 14px 14px 0 !important;
        height: 200px !important;
        border-radius: 10px !important;
    }

    #section1-tilt-card,
    .section1-glass-card {
        transform: none !important;
        transition: none !important;
    }

    .section1-carousel-window {
        padding: 0 10px !important;
        overflow: hidden !important;
        height: 100% !important;
    }

    .section1-carousel-track {
        display: flex !important;
        align-items: center !important;
        gap: 16px !important;
        width: auto !important;
        height: 100% !important;
        animation: slideCarousel 6.5s linear infinite !important;
        animation-play-state: running !important;
    }

    .section1-carousel-slide {
        flex: 0 0 82% !important;
        min-width: min(280px, 76vw) !important;
        height: 100% !important;
        display: block !important;
        border-radius: 10px !important;
        border: 1px solid rgba(255, 255, 255, 0.14) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.22) !important;
        box-sizing: border-box !important;
        box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3) !important;
        overflow: hidden !important;
    }

    .section1-carousel-slide:first-child,
    .section1-carousel-slide:nth-child(4) {
        opacity: 0.5 !important;
    }

    /* iPad portrait / mini landscape (768–1024px): wide 16:10 frame + peeking slides */
    @media (min-width: 768px) {
        .section1-card-media {
            height: auto !important;
            aspect-ratio: 16 / 10 !important;
            min-height: 240px !important;
            max-height: min(400px, 44vh) !important;
        }

        .section1-carousel-window {
            padding: 0 16px !important;
        }

        .section1-carousel-slide {
            flex: 0 0 72% !important;
            min-width: min(340px, 64vw) !important;
        }
    }

    .section1-buttons {
        justify-content: center !important;
        align-items: center !important;
        width: auto !important;
        margin: var(--space-md) 0 var(--space-lg) !important;
    }

    .section1-btn,
    .section2-view-all-btn,
    .section3-join-wrap .section1-btn,
    .section1-buttons .section1-btn {
        min-width: 100px !important;
    }

    .section3-join-wrap {
        margin-top: 0 !important;
        padding: var(--space-xl) 0 var(--space-sm) !important;
        justify-content: center !important;
    }

    .section3-main-block + .section3-main-block {
        margin-top: 0 !important;
    }

    .section3-narrative-tags {
        gap: var(--space-xs) !important;
        margin-bottom: var(--space-xs) !important;
    }

    .section3-narrative-content {
        grid-template-columns: 1fr !important;
        gap: var(--space-md) !important;
        margin-top: 0 !important;
    }

    .section3-main-block:first-child .section3-block-title {
        margin-top: 0 !important;
    }

    .section3-narrative-tag {
        font-size: 10px !important;
        padding: 4px 10px !important;
    }

    .section3-main .section3-description,
    .section3-narrative-quote {
        margin: 0 !important;
        line-height: 1.55 !important;
    }

    .section3-feature-grid {
        margin-bottom: var(--space-md) !important;
        grid-template-columns: 1fr !important;
    }

    .section3-feature-item {
        display: flex !important;
        align-items: center !important;
        gap: var(--space-sm) !important;
        width: 100% !important;
    }

    .section3-timeline-graph {
        padding-left: 20px !important;
        margin-top: var(--space-xs) !important;
    }

    .section3-timeline-node {
        padding-bottom: var(--space-md) !important;
    }

    .page-section.section1 {
        padding-top: calc(var(--mobile-header-h) + env(safe-area-inset-top) + var(--mobile-page-top-offset)) !important;
        padding-bottom: var(--space-2xl) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .page-section.section2 {
        padding: var(--space-2xl) 0 var(--space-xl) !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .page-section.section3 {
        padding: var(--space-xl) 0 var(--space-2xl) !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .section2-header {
        margin-bottom: var(--space-sm) !important;
        text-align: center !important;
    }

    .section2-header h2 {
        margin: 0 0 var(--space-sm) !important;
    }

    .section2-header .section2-subtitle {
        font-size: var(--mobile-text-base) !important;
        text-align: center !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }

    .section2-event-card-image {
        min-height: 190px !important;
        height: 190px !important;
        flex: none !important;
    }

    .section2-view-all-card-desc {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 100% !important;
    }

    .section2-events-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: var(--space-lg) !important;
        margin-top: var(--space-lg) !important;
        margin-bottom: var(--space-sm) !important;
        flex: none !important;
        max-height: none !important;
        grid-template-rows: none !important;
        flex-shrink: 0 !important;
        min-height: auto !important;
    }

    .section2-event-card,
    .section2-view-all-card {
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        height: auto !important;
        min-height: auto !important;
    }

    .section2-view-all-card {
        min-height: 260px !important;
        padding: var(--space-md) var(--space-lg) var(--space-lg) !important;
    }

    .section2-event-card-content {
        padding: var(--space-md) var(--space-md) var(--space-xl) !important;
        gap: var(--space-sm) !important;
        overflow: visible !important;
        flex: 1 1 auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: stretch !important;
    }

    .section2-event-card-footer {
        padding-top: var(--space-md) !important;
        margin-top: auto !important;
        flex-shrink: 0 !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        align-self: stretch !important;
        width: 100% !important;
    }

    .section2-event-card-desc {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: normal !important;
        flex: none !important;
        height: auto !important;
        max-height: none !important;
        font-size: 12px !important;
        line-height: 1.55 !important;
        margin: 0 !important;
    }

    .section2-event-card-date {
        margin-bottom: var(--space-sm) !important;
    }

    .section3-narrative-content {
        grid-template-columns: 1fr !important;
        gap: var(--space-md) !important;
    }

    .section3-block-title {
        margin-bottom: var(--space-sm) !important;
    }

    .section2-view-all-wrapper,
    .section2-view-all-wrap {
        margin-top: var(--space-sm) !important;
        margin-bottom: 0 !important;
    }

    .section2 {
        padding: 0 !important;
        align-items: center !important;
        height: auto !important;
        min-height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 1 !important;
    }

    .section3 {
        min-height: auto !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .section3-stage {
        min-height: auto !important;
        height: auto !important;
        overflow: visible !important;
        scroll-snap-align: none !important;
    }

    .section2-header h2 {
        font-size: 1.45rem !important;
        margin: 0 0 var(--space-sm) !important;
    }

    .section2-header .section2-subtitle {
        font-size: var(--mobile-text-base) !important;
        text-align: center !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }

    .section2-event-card-image {
        min-height: 190px !important;
        height: 190px !important;
    }

    .section2-view-all-card-desc {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 100% !important;
    }

    .section2-event-card-title {
        font-size: var(--mobile-text-sm) !important;
        margin: 0 0 var(--space-xs) !important;
    }

    .section3-stage {
        padding: 0 !important;
    }

    .section3-feature-item {
        font-size: var(--mobile-text-sm) !important;
        padding: var(--space-sm) var(--space-md) !important;
    }
}

@media (max-width: 480px) {
    :root {
        --mobile-gutter: clamp(18px, 6.5vw, 26px);
        --mobile-brand-block-h: 48px;
        --mobile-stat-num: 20px;
        --mobile-finder-pad: 12px;
        --mobile-page-top-offset: clamp(44px, 11vh, 80px);
        --mobile-back-h: 32px;
    }

    .top-bar-text {
        font-size: 10px !important;
    }

    .site-header .top-bar {
        --mobile-header-pill-px: 14px;
    }

    .section3-stat-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .ev-stats,
    .oh-stats {
        gap: var(--space-xs) !important;
    }

    .ev-stat,
    .oh-stat {
        padding: var(--space-md) var(--space-xs) !important;
    }

    .section3-stat-item {
        padding: var(--space-md) var(--space-xs) !important;
    }

    .section3-stat-grid {
        margin: var(--space-lg) 0 var(--space-lg) !important;
    }

    .section1-buttons {
        flex-direction: row !important;
        width: auto !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .section2-view-all-wrapper,
    .section2-view-all-wrap {
        display: flex !important;
        justify-content: center !important;
    }

    .sticker {
        display: none !important;
    }
}

@media (max-width: 360px) {
    :root {
        --mobile-brand-block-h: 50px;
        --mobile-stack: 16px;
    }

    .dock-item {
        font-size: 10px !important;
    }

    /* Keep carets — helps identify dropdowns */
    .nav-caret svg {
        width: 7px !important;
        height: 4px !important;
    }
}

/* Desktop spacing */
@media (min-width: 1025px) {
    .join-page > * + *,
    .sbg-page > * + *,
    .events-page > * + *,
    .of-page > * + *,
    .oh-page > * + * {
        margin-top: 1.5rem;
    }

    .join-page,
    .sbg-page,
    .events-page,
    .of-page,
    .oh-page {
        padding-bottom: 3rem;
    }

    .page-back,
    .events-back {
        align-self: flex-start;
        margin-left: 0;
        margin-right: auto;
    }

    .ev-stats,
    .oh-stats {
        gap: 1rem;
        margin-top: 1.75rem;
        margin-bottom: 2rem;
    }

    .section3-stat-grid {
        margin-top: 1.5rem;
        margin-bottom: 1.75rem;
    }

    .section3-stat-item,
    .ev-stat,
    .oh-stat {
        padding-top: 1.125rem;
        padding-bottom: 1.125rem;
    }

    .section2-events-grid {
        gap: 1.25rem;
    }

    .section2-view-all-wrapper,
    .section2-view-all-wrap {
        margin-top: 0.5rem;
        margin-bottom: 1.5rem;
    }

    .of-group + .of-group {
        margin-top: 1.75rem;
    }

    .jf-form-group {
        margin-bottom: 1.25rem;
    }

    .jf-form-actions {
        margin-top: 1.5rem;
        gap: 0.75rem;
    }

    .sbg-cta,
    .sbg-finder-narrative,
    .oh-finder-narrative {
        margin-bottom: 1.5rem;
    }

}
