
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    -webkit-tap-highlight-color: transparent;
}

body {
    background-color: #000000;
    color: #ffffff;
    padding-top: 60px;
    padding-bottom: 90px;
    overflow-x: hidden;
}

.top-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background-color: #010101;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 15px;
    z-index: 1000;
    border-bottom: 1px solid #121212;
}

.logo-area {
    display: flex;
    align-items: center;
    gap: 10px;
}

.logo-icon {
    width: 32px;
    height: 32px;
    border-radius: 6px;
    display: block;
    object-fit: cover;
}

.logo-text {
    font-size: 18px;
    font-weight: 700;
}

.logo-text span {
    color: #fe2c55;
    margin-left: 4px;
}

.top-btn {
    background: #fe2c55;
    color: #fff;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.main-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px 0 25px 0;
}

.video-box {
    position: relative;
    width: 90%;
    max-width: 380px;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #1c1c1e;
    background-color: #000;
}

.video-box video {
    width: 100%;
    display: block;
    object-fit: cover;
}

.interaction-side-bar {
    position: absolute;
    right: 12px;
    bottom: 60px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    z-index: 10;
}

.action-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background-color: rgba(0, 0, 0, 0.45);
    border-radius: 50%;
    cursor: pointer;
    backdrop-filter: blur(2px);
    transition: transform 0.1s ease;
}

.action-item:active {
    transform: scale(0.9);
}

.action-icon {
    width: 24px;
    height: 24px;
}

.icon-heart { fill: #ff2b54; }
.icon-comment { fill: #ffffff; }
.icon-share { fill: #ffffff; }

.status-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    z-index: 6;
}

.badge-tag {
    font-size: 11px;
    font-weight: 900;
    color: #ffffff;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.badge-text-bottom {
    position: absolute;
    bottom: 15px;
    left: 15px;
    z-index: 6;
    font-size: 14px;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

.tag-live { background-color: #e50914; }

.descargar-btn {
    width: 90%;
    max-width: 380px;
    height: 54px;
    background: linear-gradient(90deg, #ff3b5c, #fe2c55);
    border-radius: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    margin-top: 15px;
    box-shadow: 0 4px 15px rgba(254, 44, 85, 0.3);
}

.preview-section {
    padding: 20px 15px;
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    border-top: 1px solid #121212;
}

.preview-title {
    font-size: 15px;
    color: #8a8a8e;
    margin-bottom: 15px;
}

.grid-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.video-card {
    position: relative;
    background: #1c1c1e;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 3 / 4;
    cursor: pointer;
}

.video-card video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.card-badge {
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 6;
    background: rgba(0, 0, 0, 0.6);
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: bold;
}

.sticky-bottom-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(transparent, #000000 30%);
    padding: 15px 15px 20px 15px;
    z-index: 1000;
    display: flex;
    justify-content: center;
}

.instalar-btn {
    width: 90%;
    max-width: 380px;
    height: 54px;
    background: linear-gradient(90deg, #ff3b5c, #fe2c55);
    border-radius: 27px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(254, 44, 85, 0.4);
}

.android-icon {
    width: 22px;
    height: 22px;
    fill: #ffffff;
}

/* Japan visual layer: keeps the existing DOM, hooks and PHP flow intact. */
:root {
    color-scheme: dark;
    --jp-card: rgba(10, 12, 18, 0.44);
    --jp-line: rgba(255, 255, 255, 0.09);
    --jp-text: #f7f8fb;
    --jp-muted: #a8adba;
    --jp-cyan: #19e4e4;
    --jp-pink: #ff2f86;
}

body {
    position: relative;
    isolation: isolate;
    min-width: 320px;
    min-height: 100vh;
    min-height: 100svh;
    padding: max(18px, env(safe-area-inset-top)) 12px max(18px, env(safe-area-inset-bottom));
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow-x: hidden;
    color: var(--jp-text);
    background:
        radial-gradient(circle at 16% 12%, rgba(25, 228, 228, 0.18), transparent 31rem),
        radial-gradient(circle at 86% 84%, rgba(255, 47, 134, 0.17), transparent 30rem),
        #080a0e;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0.22;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 42px 42px;
    mask-image: linear-gradient(to bottom, black, transparent 78%);
}

.top-bar,
.main-content,
.sticky-bottom-bar {
    position: relative;
    left: auto;
    width: min(100%, 440px);
    z-index: 2;
    border-color: var(--jp-line);
    background: var(--jp-card);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

.top-bar {
    top: auto;
    height: auto;
    min-height: 76px;
    flex: 0 0 auto;
    padding: 20px 24px 12px;
    border: 1px solid var(--jp-line);
    border-bottom: 0;
    border-radius: 26px 26px 0 0;
    box-shadow: 0 -12px 60px rgba(0, 0, 0, 0.28);
}

.logo-area {
    gap: 12px;
}

.logo-icon {
    width: 52px;
    height: 52px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(255, 47, 134, 0.2);
}

.logo-text {
    font-size: 20px;
    font-weight: 850;
    letter-spacing: -0.03em;
}

.logo-text::after {
    content: "Android App";
    display: block;
    margin-top: 2px;
    color: var(--jp-muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.logo-text span {
    color: var(--jp-pink);
}

.top-btn {
    display: none;
}

.main-content {
    flex: 0 0 auto;
    padding: 4px 24px 18px;
    border-right: 1px solid var(--jp-line);
    border-left: 1px solid var(--jp-line);
}

.video-box {
    width: 100%;
    max-width: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.video-box > img,
.interaction-side-bar {
    display: none;
}

.status-badge {
    position: static;
    order: 1;
    margin: 2px 0 13px;
}

.badge-tag {
    display: block;
    padding: 6px 11px;
    border: 1px solid rgba(25, 228, 228, 0.28);
    border-radius: 999px;
    color: #c8ffff;
    background: rgba(25, 228, 228, 0.09);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
}

.badge-text-bottom {
    position: static;
    order: 2;
    max-width: 350px;
    color: var(--jp-text);
    font-size: clamp(28px, 8vw, 38px);
    font-weight: 850;
    line-height: 1.12;
    letter-spacing: -0.045em;
    text-align: center;
    text-shadow: none;
}

.video-box::after {
    content: "Download the APK file and install it in a few simple steps.";
    order: 3;
    max-width: 340px;
    margin: 13px auto 0;
    color: var(--jp-muted);
    font-size: 14px;
    line-height: 1.7;
    text-align: center;
}

.descargar-btn {
    width: 100%;
    max-width: none;
    min-height: 54px;
    height: auto;
    margin-top: 20px;
    padding: 14px 18px;
    border-radius: 16px;
    color: #071012;
    background: linear-gradient(100deg, var(--jp-cyan), #82f7f1 45%, #ff6aa8 110%);
    box-shadow: 0 14px 32px rgba(25, 228, 228, 0.18);
    font-size: 16px;
    font-weight: 900;
    transition: transform 180ms ease, box-shadow 180ms ease;
}

.descargar-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px rgba(25, 228, 228, 0.25);
}

.preview-section {
    position: fixed;
    inset: 0;
    z-index: 0;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    pointer-events: none;
}

.preview-title,
.video-card {
    display: none;
}

.grid-container {
    display: block;
}

.video-card:nth-child(14) {
    position: fixed;
    inset: -5%;
    display: block;
    width: 110%;
    height: 110%;
    overflow: hidden;
    aspect-ratio: auto;
    border-radius: 0;
    background: #080a0e;
}

.video-card:nth-child(14) video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.5;
    filter: blur(14px);
    transform: scale(1.04);
}

.card-badge {
    display: none;
}

.sticky-bottom-bar {
    bottom: auto;
    flex: 0 0 auto;
    display: block;
    padding: 0 24px 20px;
    border: 1px solid var(--jp-line);
    border-top: 0;
    border-radius: 0 0 26px 26px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

.sticky-bottom-bar::before {
    content: "How to Install\A\A 1. Tap the button above to download the APK.\A 2. Open the APK from your device's Downloads folder.\A 3. If prompted, allow installation from this source and tap Install.";
    display: block;
    padding: 17px;
    border: 1px solid var(--jp-line);
    border-radius: 18px;
    color: #dde1e9;
    background: rgba(4, 6, 10, 0.26);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.75;
    white-space: pre-line;
}

.sticky-bottom-bar::after {
    content: "© 2026 TikTok 18+ · 18+ Only";
    display: block;
    margin-top: 14px;
    color: #747b89;
    font-size: 10px;
    text-align: center;
}

.instalar-btn {
    display: none;
}

@media (max-width: 520px) {
    :root {
        --jp-card: rgba(10, 12, 18, 0.34);
    }

    body {
        justify-content: flex-start;
    }

    .top-bar {
        padding: 17px 19px 10px;
        border-radius: 22px 22px 0 0;
    }

    .main-content {
        padding: 4px 19px 15px;
    }

    .sticky-bottom-bar {
        padding: 0 19px 17px;
        border-radius: 0 0 22px 22px;
    }

    .sticky-bottom-bar::before {
        padding: 15px;
        background: rgba(4, 6, 10, 0.18);
    }

    .logo-icon {
        width: 48px;
        height: 48px;
    }

    .badge-text-bottom {
        font-size: clamp(27px, 9vw, 34px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .descargar-btn {
        transition: none;
    }
}

/* Download success and installation instruction dialogs */
.dialog-open { overflow: hidden; }
.download-overlay[hidden], .dialog-screen[hidden] { display: none !important; }
.download-overlay { position: fixed; inset: 0; z-index: 99999; background: rgba(3,12,16,.85); backdrop-filter: blur(13px); display:flex; align-items:center; justify-content:center; padding:20px; overflow-y:auto; }
.download-dialog { width: min(100%, 780px); max-height: calc(100dvh - 40px); overflow-y:auto; position:relative; background:#fff; color:#0d1527; border-radius:50px; padding:52px 44px 44px; box-shadow:0 20px 85px rgba(0,0,0,.32); text-align:center; }
.dialog-close { position:absolute; right:24px; top:18px; border:0; background:transparent; color:#8990a0; font-size:34px; line-height:1; cursor:pointer; }
.download-symbol { width:116px; height:116px; border-radius:35px; background:#098b00; color:white; display:grid; place-items:center; font-size:74px; font-weight:300; margin:0 auto 27px; line-height:1; }
.download-dialog h2 { font-size:clamp(25px,4vw,44px); line-height:1.18; font-weight:780; margin:0 0 20px; color:#101729; }
.dialog-subtitle { font-size:clamp(16px,2.5vw,28px); font-weight:550; color:#a2a9b9; line-height:1.4; margin:0 0 36px; }
.dialog-button { width:100%; min-height:95px; border:0; border-radius:32px; cursor:pointer; font-size:clamp(18px,2.7vw,29px); font-weight:750; padding:15px 18px; margin:0 0 20px; }
.dialog-button:last-child { margin-bottom:0; }
.dialog-button-orange { background:linear-gradient(100deg,#f39428,#ffbc67); color:#142717; }
.dialog-button-green { background:#edf6eb; border:2px solid #cee5cf; color:#27633d; }
.installation-steps { text-align:left; counter-reset:step; list-style:none; margin:0 0 25px; padding:0; display:grid; gap:14px; }
.installation-steps li { position:relative; padding:16px 16px 16px 64px; border:1px solid #e6eae6; border-radius:18px; background:#f8faf8; }
.installation-steps li::before { counter-increment:step; content:counter(step); position:absolute; top:17px; left:17px; height:31px; width:31px; border-radius:50%; background:#108d07; color:#fff; display:grid; place-items:center; font-weight:800; }
.installation-steps strong { display:block; font-size:19px; color:#182031; margin-bottom:5px; }
.installation-steps span { display:block; color:#616d7a; font-size:16px; line-height:1.4; }
@media (max-width:600px) { .download-overlay{padding:12px} .download-dialog{border-radius:30px; padding:38px 20px 24px; max-height:calc(100dvh - 24px)} .download-symbol{width:78px;height:78px;border-radius:24px;font-size:55px;margin-bottom:22px} .dialog-subtitle{margin-bottom:28px} .dialog-button{min-height:66px;border-radius:20px;margin-bottom:13px} .installation-steps li{padding:13px 12px 13px 53px} .installation-steps li::before{left:12px;top:14px} .installation-steps strong{font-size:16px} .installation-steps span{font-size:14px} }


/* App information section below the hero */
.app-info-section {
    position: relative;
    z-index: 2;
    width: min(100%, 1120px);
    margin: 28px auto 0;
    padding: 0 14px 16px;
    color: #173f2a;
}

.info-pill {
    width: fit-content;
    margin: 0 auto 20px;
    padding: 10px 16px;
    border: 2px solid #cfd3de;
    border-radius: 999px;
    background: rgba(245, 246, 241, 0.95);
    color: #677085;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

.app-info-title {
    margin: 0;
    color: #123f28;
    font-size: clamp(36px, 6vw, 70px);
    font-weight: 850;
    line-height: 1.03;
    letter-spacing: -0.05em;
    text-align: center;
}

.app-info-subtitle {
    max-width: 760px;
    margin: 22px auto 34px;
    color: #617162;
    font-size: clamp(18px, 2.3vw, 26px);
    line-height: 1.45;
    text-align: center;
}

.app-info-table-wrap {
    overflow: hidden;
    border: 1px solid #cfe0cf;
    border-radius: 34px;
    background: rgba(255,255,255,0.97);
    box-shadow: 0 14px 40px rgba(0,0,0,0.08);
}

.app-info-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.app-info-table th,
.app-info-table td {
    width: 50%;
    padding: 20px 24px;
    border-right: 1px solid #d7ddd9;
    border-bottom: 1px solid #d7ddd9;
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.25;
    text-align: center;
}

.app-info-table th {
    color: #5c735d;
    font-weight: 700;
    background: rgba(245,248,244,0.65);
}

.app-info-table td {
    color: #163b28;
    font-weight: 800;
    background: rgba(255,255,255,0.98);
}

.app-info-table tr:last-child th,
.app-info-table tr:last-child td {
    border-bottom: 0;
}

.app-info-table tr th:last-child,
.app-info-table tr td:last-child {
    border-right: 0;
}

.app-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 26px;
}

.info-card {
    min-height: 220px;
    padding: 28px 28px 24px;
    border: 1px solid #cfe0cf;
    border-radius: 30px;
    background: rgba(236, 244, 233, 0.95);
    box-shadow: 0 12px 32px rgba(0,0,0,0.06);
}

.info-card h3 {
    margin: 0 0 18px;
    color: #173f2a;
    font-size: clamp(22px, 2.4vw, 26px);
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
}

.info-check-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 18px;
}

.info-check-list li {
    position: relative;
    padding-left: 42px;
    color: #385442;
    font-size: clamp(16px, 1.9vw, 18px);
    line-height: 1.5;
}

.info-check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #d9ece3;
    color: #148080;
    font-weight: 900;
    display: grid;
    place-items: center;
}

.info-card-centered {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.info-card-centered p {
    margin: 0;
    color: #5f725f;
    font-size: clamp(17px, 2vw, 18px);
    line-height: 1.65;
}

@media (max-width: 840px) {
    .app-info-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .app-info-section {
        margin-top: 22px;
        padding: 0 8px 12px;
    }
    .info-pill {
        margin-bottom: 14px;
        padding: 8px 14px;
        font-size: 12px;
    }
    .app-info-subtitle {
        margin: 14px auto 24px;
        font-size: 16px;
    }
    .app-info-table-wrap {
        border-radius: 22px;
    }
    .app-info-table th,
    .app-info-table td {
        padding: 14px 10px;
        font-size: 14px;
    }
    .info-card {
        min-height: 0;
        padding: 22px 18px 18px;
        border-radius: 22px;
    }
    .info-card h3 {
        margin-bottom: 14px;
        font-size: 18px;
    }
    .info-check-list {
        gap: 12px;
    }
    .info-check-list li,
    .info-card-centered p {
        font-size: 14px;
    }
    .info-check-list li {
        padding-left: 36px;
    }
    .info-check-list li::before {
        width: 24px;
        height: 24px;
    }
}


/* FAQ accordion below app information */
.faq-section {
    position: relative;
    z-index: 2;
    align-self: stretch;
    width: 100%;
    margin: 42px 0 0;
    padding: 62px 20px 42px;
    background: #071910;
    color: #fbfbf6;
}
.faq-inner {
    width: min(100%, 1120px);
    margin: 0 auto;
    text-align: center;
}
.faq-pill {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 43px;
    padding: 7px 18px;
    border: 1px solid #42644a;
    border-radius: 999px;
    background: #102d19;
    color: #e0f3df;
    font-size: 15px;
    font-weight: 800;
}
.faq-section h2 {
    margin: 24px 0 33px;
    color: #fbfaf4;
    font-size: clamp(36px, 5.5vw, 72px);
    font-weight: 850;
    letter-spacing: -.048em;
    line-height: 1.08;
}
.faq-questions {
    display: grid;
    gap: 14px;
}
.faq-item {
    border: 1px solid #375744;
    border-radius: 26px;
    background: #132e1f;
    overflow: hidden;
}
.faq-item summary {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 73px;
    padding: 16px 54px;
    list-style: none;
    color: #fffef9;
    font-size: clamp(16px, 2vw, 20px);
    font-weight: 800;
    line-height: 1.4;
    cursor: pointer;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:focus-visible {
    outline: 3px solid #6fb8ff;
    outline-offset: -5px;
    border-radius: 23px;
}
.faq-toggle {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
}
.faq-toggle::before, .faq-toggle::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 3px;
    border-radius: 3px;
    background: #9ca7ad;
    transform: translate(-50%, -50%);
}
.faq-toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.faq-item[open] .faq-toggle::after { display: none; }
.faq-answer {
    padding: 0 40px 24px;
    color: #c7d7cb;
    font-size: 17px;
    line-height: 1.6;
    text-align: center;
}
.faq-footer {
    margin-top: 85px;
    color: #bbd2c0;
    font-size: 14px;
    line-height: 1.5;
}
/* The FAQ has its own footer; don't show the old pseudo-footer twice. */
.sticky-bottom-bar::after { display: none; }
@media (max-width: 640px) {
    .faq-section { margin-top: 26px; padding: 46px 14px 32px; }
    .faq-section h2 { margin: 20px 0 26px; }
    .faq-questions { gap: 12px; }
    .faq-item { border-radius: 20px; }
    .faq-item summary { min-height: 68px; padding: 14px 44px 14px 18px; font-size: 16px; }
    .faq-toggle { right: 18px; }
    .faq-answer { padding: 0 20px 20px; font-size: 15px; }
    .faq-footer { margin-top: 58px; font-size: 12px; }
}


/* Screenshot gallery from the supplied pictures, beneath app details */
.app-preview-gallery {
    position: relative;
    z-index: 2;
    align-self: stretch;
    width: 100%;
    margin: 38px 0 0;
    padding: 64px 18px 72px;
    background: radial-gradient(circle at 50% 10%, #10351e 0%, #061b10 67%, #06170e 100%);
    color: #fcfcf7;
}
.gallery-inner { max-width: 1160px; margin: 0 auto; text-align: center; }
.gallery-pill {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 9px 17px; border: 1px solid #3f6846;
    border-radius: 999px; background: #10381d; color: #e5f5e3;
    font-size: 14px; font-weight: 800; letter-spacing: .08em;
}
.gallery-pill span { font-size: 13px; }
.app-preview-gallery h2 {
    margin: 22px 0 12px; font-size: clamp(36px, 5.7vw, 72px);
    font-weight: 850; letter-spacing: -.05em; line-height: 1.08;
    color: #fffdf8;
}
.gallery-subtitle {
    margin: 0 auto 36px; max-width: 680px;
    color: #bfcdc1; font-size: clamp(16px, 2.2vw, 23px); line-height: 1.5;
}
.gallery-track {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px; align-items: start;
}
.gallery-shot {
    margin: 0; padding: 7px; border: 1px solid #4c6158;
    border-radius: 27px; background: #31453d;
    overflow: hidden; box-shadow: 0 18px 45px rgba(0,0,0,.3);
}
.gallery-shot img {
    display: block; width: 100%; aspect-ratio: 9/15;
    object-fit: cover; object-position: center top;
    border-radius: 21px;
}
.gallery-hint { display: none; }
.faq-section { margin-top: 0; }
@media (max-width: 900px) {
    .gallery-track { grid-template-columns: repeat(2, minmax(0,1fr)); max-width: 680px; margin: auto; }
}
@media (max-width: 600px) {
    .app-preview-gallery { margin-top: 28px; padding: 44px 0 43px; }
    .app-preview-gallery h2, .gallery-subtitle { padding-left: 16px; padding-right: 16px; }
    .gallery-subtitle { margin-bottom: 24px; }
    .gallery-track {
        display: flex; max-width: none; gap: 13px; overflow-x: auto;
        scroll-snap-type: x mandatory; padding: 0 18px 18px;
        scrollbar-width: thin; -webkit-overflow-scrolling: touch;
    }
    .gallery-shot { flex: 0 0 min(72vw, 290px); scroll-snap-align: center; border-radius: 23px; }
    .gallery-shot img { border-radius: 17px; }
    .gallery-hint { display: block; color: #a5b9a9; font-size: 13px; margin: 6px 0 0; }
}


/* Layout repair: all below-hero sections participate in normal page scrolling. */
html { overflow-x: clip; scroll-behavior: smooth; }
body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    min-height: 100vh;
    height: auto;
    overflow-y: visible;
    padding: 32px 12px 0;
}
.top-bar { margin-top: 0; }
.main-content { margin: 0; }
.sticky-bottom-bar {
    margin: 0;
    flex: none;
}
.scroll-cue {
    position: relative;
    z-index: 2;
    width: min(100%, 440px);
    margin: 0 auto 30px;
    padding: 17px 12px 18px;
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
    color: #d1e4df;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
    text-align: center;
}
.scroll-arrow { font-size: 23px; line-height: 1; color: #7cf0e6; }
.app-info-section {
    align-self: stretch;
    width: calc(100% + 24px);
    max-width: none;
    margin: 0 -12px;
    padding: 60px max(20px, calc((100vw - 1120px)/2)) 70px;
    background: #fcfbf5;
    color: #173f2a;
}
.app-info-table-wrap, .app-info-grid { max-width: 1120px; margin-left: auto; margin-right: auto; }
.app-preview-gallery, .faq-section {
    align-self: stretch;
    width: calc(100% + 24px);
    max-width: none;
    margin-left: -12px;
    margin-right: -12px;
}
.app-preview-gallery { margin-top: 0; }
.faq-section { margin-top: 0; }
.download-overlay[hidden] { display: none !important; }
@media (max-width: 640px) {
    body { padding: 16px 12px 0; }
    .app-info-section { padding: 42px 20px 48px; }
    .scroll-cue { margin-bottom: 14px; }
}

/* Added page navigation for reliable section discovery */
.scroll-cue { background:rgba(6, 17, 20, .67); border:1px solid rgba(109,234,214,.35); border-radius:0 0 20px 20px; max-width:440px; padding:18px; text-decoration:none; color:#e7fffa; transition:background .15s ease; }
.scroll-cue:hover { background:rgba(13,62,56,.85); }
