/* Readable HTML stays usable without JS, or if the interactive site cannot start. */
#website-loading-status { display: none; }
.website-loading body.website-static { height: 100%; overflow: hidden; }
.website-loading #website-static-content { display: none; }
.website-loading #website-loading-status {
    position: fixed;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 24px;
    text-align: center;
    background: radial-gradient(ellipse at top right, #251545 0, #0b0b12 55%);
}
.website-loading-progress {
    width: 120px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #02bded, #9b3efd);
    animation: website-loading-pulse 1.2s ease-in-out infinite alternate;
}
@keyframes website-loading-pulse { to { opacity: 0.35; } }
@media (prefers-reduced-motion: reduce) {
    .website-loading-progress { animation: none; }
}
body.website-static {
    height: auto;
    min-height: 100vh;
    overflow: auto;
    color: #f5f3ff;
    background: radial-gradient(ellipse at top right, #251545 0, #0b0b12 55%);
    font: 17px/1.7 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.website-static * { box-sizing: border-box; }
.website-static a { color: #bfafff; text-underline-offset: 4px; }
.website-static a:focus-visible, .website-static button:focus-visible { outline: 3px solid #70dfff; outline-offset: 5px; }
.readable-header, .readable-main, .readable-footer { width: min(1080px, calc(100% - 40px)); margin-inline: auto; }
.readable-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 24px; }
.readable-brand { display: inline-flex; align-items: center; gap: 12px; font-size: 24px; font-weight: 750; text-decoration: none; color: white !important; }
.readable-brand img { border-radius: 12px; }
.readable-header nav, .readable-footer nav { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.readable-main { padding-bottom: 60px; }
.readable-main h1 { font-size: clamp(36px, 6vw, 64px); line-height: 1.12; letter-spacing: -0.035em; max-width: 850px; }
.readable-main h2 { font-size: clamp(25px, 4vw, 34px); line-height: 1.3; }
.readable-main h3 { font-size: 21px; line-height: 1.4; }
.readable-main p { max-width: 78ch; color: #d4d0e1; overflow-wrap: anywhere; }
.readable-main section { padding-block: 28px; scroll-margin-top: 20px; }
.readable-hero { padding-block: 55px !important; }
.readable-eyebrow { color: #bca8ff !important; font-weight: 650; }
.readable-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; }
.readable-grid article { padding: 24px; border: 1px solid #3c3355; border-radius: 24px; background: #181322; }
.readable-grid h3 { margin-top: 0; }
.readable-stores { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
.readable-stores a { display: inline-block; padding: 12px 22px; border-radius: 14px; background: #7250e9; color: white; text-decoration: none; font-weight: 650; }
.readable-stores a:hover { background: #8866f4; }
.readable-note { font-size: 15px; }
.readable-answer { padding-block: 15px; border-bottom: 1px solid #332b47; }
.readable-footer { padding-block: 30px 50px; border-top: 1px solid #332b47; font-size: 15px; }
.readable-footer button { border: 0; padding: 0; background: none; color: #bfafff; font: inherit; text-decoration: underline; cursor: pointer; }
.readable-skip { position: absolute; left: 15px; top: -100px; padding: 12px; background: #181322; z-index: 10; }
.readable-skip:focus { top: 10px; }
.website-static #composeApp { position: fixed; inset: 0; opacity: 0; pointer-events: none; }
body.website-static.website-enhanced { height: 100%; overflow: hidden; }
.website-enhanced #website-static-content { display: none; }
.website-enhanced #composeApp { opacity: 1; pointer-events: auto; }
@media (max-width: 540px) {
    .readable-header { align-items: flex-start; }
    .readable-header nav { justify-content: flex-end; gap: 8px 14px; font-size: 14px; }
    .readable-hero { padding-block: 28px !important; }
}

/* A branded poster makes the external video destination clear before enhancement. */
.readable-video-card {
    position: relative;
    display: block;
    width: min(900px, 100%);
    aspect-ratio: 16 / 9;
    margin-top: 28px;
    border: 1px solid #7550b0;
    border-radius: 28px;
    overflow: hidden;
    color: white !important;
    text-decoration: none;
    background: linear-gradient(135deg, #153040, #171329 48%, #38204f);
}
.readable-video-card:hover { border-color: #02bded; }
.readable-video-top { position: absolute; inset: 28px 28px auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.readable-video-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 750; }
.readable-video-brand img { border-radius: 9px; }
.readable-video-badge { padding: 7px 12px; border-radius: 999px; background: #0004; font-size: 13px; }
.readable-video-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; font-size: 26px; font-weight: 750; }
.readable-video-play { display: grid; place-items: center; width: 104px; height: 104px; border-radius: 50%; background: linear-gradient(135deg, #02bded, #9b3efd); box-shadow: 0 0 0 20px #9b3efd21; }
.readable-video-play svg { width: 60px; height: 60px; }
.readable-video-destination { position: absolute; right: 28px; bottom: 28px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.readable-video-destination svg { width: 17px; height: 17px; }
@media (max-width: 600px) {
    .readable-video-card { aspect-ratio: 1.1; }
    .readable-video-top { inset: 18px 18px auto; gap: 8px; }
    .readable-video-brand { font-size: 17px; gap: 8px; }
    .readable-video-brand img { width: 30px; height: 30px; }
    .readable-video-badge { font-size: 11px; padding: 6px 9px; }
    .readable-video-center { font-size: 20px; gap: 24px; }
    .readable-video-play { width: 80px; height: 80px; box-shadow: 0 0 0 16px #9b3efd21; }
    .readable-video-play svg { width: 46px; height: 46px; }
    .readable-video-destination { right: 18px; bottom: 18px; }
}
