/* Mobile scenarios only; desktop keeps its existing two-column cards and banners. */
@media (max-width: 767px) {
    .scenarios-page { background: #f5f5f5; }
    .scenarios-page #header-placeholder { height: 56px; }
    .scenarios-page main { padding: 0 0 40px; background: #f5f5f5; }
    .scenarios-page #site-nav > div:first-child { padding-inline: 16px; }
    .scenarios-page #header-logo { height: 20px; max-width: 86px; }
    .scenarios-page #lang-toggle { padding-inline: 8px; gap: 0; }
    .scenarios-page #lang-toggle svg { display: none; }
    .scenarios-page #mobile-menu-btn { margin-left: 8px; }

    .scenarios-page #scenarios-tabbar {
        display: block;
        position: static;
        background: #000;
        border: 0;
        backdrop-filter: none;
    }
    .scenarios-page #scenarios-tabbar > div { padding: 0 8px; }
    .scenarios-page #scenarios-tabbar > div > div { justify-content: flex-start; gap: 4px; height: auto; overflow-x: auto; }
    .scenarios-page #scenarios-tabbar button { flex: 1 0 auto; color: #aaa; min-height: 48px; padding: 10px 8px; letter-spacing: 0; white-space: nowrap; border-bottom: 2px solid transparent; }
    .scenarios-page #scenarios-tabbar button[aria-pressed="true"] { color: #fff; border-bottom-color: #1a73e8; }

    .scenarios-page #scene-horizontal-section-outdoor,
    .scenarios-page #scene-horizontal-section-life,
    .scenarios-page #scene-horizontal-section-pro,
    .scenarios-page #scene-horizontal-section-ai {
        height: auto;
        min-height: 0;
        aspect-ratio: 750 / 924;
    }
    .scenarios-page .scenario-hero > [data-slide] > img { object-position: 40% center; }
    .scenarios-page .banner-slide-life[data-slide="0"] > img { object-position: 72% center; }
    .scenarios-page .banner-slide-outdoor[data-slide="1"] > img { object-position: 25% center; }
    .scenarios-page .scenario-hero > [data-slide] > .absolute:not(img) { background: rgb(0 0 0 / 15%); }
    .scenarios-page .scenario-hero > [data-slide] > .relative { padding: 0 16px; }
    .scenarios-page .scenario-hero h3 {
        margin-bottom: 16px;
        font-size: clamp(24px, 7.5vw, 36px);
        line-height: 1.2;
        letter-spacing: 0;
        text-shadow: 0 1px 8px rgb(0 0 0 / 25%);
    }
    .scenarios-page .scenario-hero p { font-size: clamp(20px, 6vw, 28px); line-height: 1.5; font-weight: 400; }
    .scenarios-page .scenario-banner-controls { bottom: 10px; gap: 8px; }
    .scenarios-page .scenario-banner-controls button {
        position: relative;
        display: flex;
        align-items: center;
        height: 32px;
        width: 48px;
        background: transparent;
        border-radius: 0;
        overflow: visible;
    }
    .scenarios-page .scenario-banner-controls button::before {
        content: '';
        position: absolute;
        inset: auto 0;
        height: 3px;
        background: rgb(255 255 255 / 35%);
        border-radius: 2px;
    }
    .scenarios-page .scenario-banner-controls button > div { position: relative; height: 3px; }
    .scenarios-page .scenario-banner-controls button:focus-visible { outline: 2px solid white; outline-offset: 2px; }

    .scenarios-page #scenarios-outdoor,
    .scenarios-page #scenarios-life,
    .scenarios-page #scenarios-pro,
    .scenarios-page #scenarios-ai { max-width: 640px; margin: 24px auto 0; padding: 0 16px; }
    .scenarios-page .scenario-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .scenarios-page .scenario-grid > div {
        display: flex;
        flex-direction: column;
        gap: 0;
        padding: 0;
        border: 1px solid #dedede;
        border-radius: 16px;
        box-shadow: none;
    }
    .scenarios-page .scenario-grid > div > div:first-child { min-width: 0; padding: 20px; }
    .scenarios-page .scenario-grid h3 {
        margin-bottom: 12px;
        color: #444;
        font-size: 21px;
        line-height: 1.35;
    }
    .scenarios-page .scenario-grid ul { font-size: 15px; line-height: 1.7; color: #555; overflow-wrap: break-word; }
    .scenarios-page .scenario-grid li + li { margin-top: 8px; }
    .scenarios-page .scenario-grid > div > div:last-child {
        order: -1;
        flex: none;
        width: 100%;
        padding: 0;
        aspect-ratio: 3 / 2;
        align-self: center;
        border-radius: 0;
        overflow: hidden;
    }
    .scenarios-page .scenario-grid img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transform: none; }

    /* Match the compact centered mobile footer used on the homepage. */
    .scenarios-page footer { padding: 28px 0 32px; border: 0; }
    .scenarios-page footer > div { padding: 0 16px; }
    .scenarios-page .site-footer-main { gap: 24px; margin-bottom: 0; }
    .scenarios-page #footer-logo { height: 30px; }
    .scenarios-page .site-footer-links { gap: 16px 20px; font-size: 13px; line-height: 22px; }
    .scenarios-page .site-footer-links a[href="shop.html"] { display: none; }
    .scenarios-page .site-footer-links a[href="support.html"] { flex-basis: 100%; text-align: center; }
    .scenarios-page .site-footer-social { width: 100%; padding-top: 20px; border-top: 1px solid #272727; justify-content: center; gap: 20px; }
    .scenarios-page .site-footer-social > .group:first-child > .absolute { left: 0; }
    .scenarios-page .site-footer-social > .group:last-child > .absolute { right: 0; }
    .scenarios-page .site-footer-main + div { display: none; }
    .scenarios-page .site-footer-legal { margin-top: 40px; font-size: 12px; line-height: 22px; text-align: center; }
    .scenarios-page .site-footer-policy { flex-wrap: wrap; justify-content: center; gap: 24px 40px; margin-top: 20px; }
    .scenarios-page .site-footer-policy > * { margin: 0; }
    .scenarios-page .site-footer-policy > :not([hidden]) ~ :not([hidden]) { margin: 0; }
    .scenarios-page #icp-info { flex-basis: 100%; }
}

@media (max-width: 359px) {
    .scenarios-page .scenario-grid > div > div:first-child { padding: 18px 16px; }
    .scenarios-page .site-footer-links { gap: 16px 12px; }
    .scenarios-page .site-footer-social { gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .scenarios-page .scenario-hero > [data-slide] { transition: none; }
}
