/* Landing only: portal, legal and admin styles remain in their existing stylesheets. */
.aksel-landing {
    --landing-header-height: 4.75rem;
    overflow-x: clip;
    --landing-cyan: #43dfef;
    --landing-gold: #efcc78;
    --landing-muted: #a6b5cb;
    background: radial-gradient(ellipse at 50% 14%, #12304466, transparent 48rem), #060d1b;
    color: #e9f0fb;
}

.aksel-landing .shell { width: min(100% - 3rem, 76rem); }
.aksel-landing .site-header { position: sticky; top: 0; z-index: 20; background: #060d1bf5; border-color: #ffffff1a; backdrop-filter: blur(16px); }
.aksel-landing .nav { min-height: var(--landing-header-height); position: relative; }
.aksel-landing .brand { gap: .55rem; font-size: 1.25rem; letter-spacing: -.045em; }
.aksel-landing .brand img { width: 3.5rem; height: 3.5rem; object-fit: contain; flex: 0 0 auto; }
.aksel-landing .nav-actions { display: flex; align-items: center; gap: 1.5rem; }
.aksel-landing .landing-nav-link { color: #b7c9de; padding-block: .75rem; text-decoration: none; font-weight: 600; }
.aksel-landing .landing-nav-link:hover, .aksel-landing .landing-nav-link:active { color: var(--landing-cyan); }
.aksel-landing .landing-menu-toggle { display: none; }
.aksel-landing #main-content, .aksel-landing section[id], .aksel-landing h2[id] { scroll-margin-top: calc(var(--landing-header-height) + 1rem); }
.aksel-landing button:focus-visible { outline: 3px solid var(--landing-gold); outline-offset: 4px; }
.aksel-landing .landing-downloads { border-top: 1px solid #ffffff13; }
.aksel-landing .landing-download-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.aksel-landing .landing-download-card { min-width: 0; padding: 1.6rem; border: 1px solid #ffffff1a; border-radius: 1rem; background: #0b1627; }
.aksel-landing .landing-platform-mark { display: inline-grid; place-items: center; width: 2.5rem; height: 2.5rem; border-radius: .6rem; background: #43dfef0e; color: var(--landing-cyan); font-size: 1.4rem; }
.aksel-landing .landing-download-card h3 { margin: 1.1rem 0 .65rem; font-size: 1.25rem; }
.aksel-landing .landing-download-card p { color: var(--landing-muted); line-height: 1.7; font-size: .9rem; }
.aksel-landing .landing-download-status { display: inline-block; color: var(--landing-gold); background: #efcc780b; border: 1px solid #efcc7829; border-radius: 99px; padding: .5rem .8rem; font-size: .8rem; }
.aksel-landing .google-play-link { display: inline-block; max-width: 100%; border-radius: .6rem; vertical-align: top; }
.aksel-landing .google-play-link img { display: block; width: 220px; max-width: 100%; height: auto; }
.aksel-landing .windows-download-preview { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; padding-block: .5rem; }
.aksel-landing .windows-download-preview img { display: block; width: 40px; height: 40px; object-fit: contain; }
.aksel-landing .download-checksum { overflow-wrap: anywhere; }
.aksel-landing .brand-copy small { color: var(--landing-muted); font-size: .6rem; letter-spacing: .12em; font-weight: 600; margin-top: .2rem; }
.aksel-landing .button {
    min-height: 3.2rem;
    padding: .8rem 1.35rem;
    gap: 1.2rem;
    border-radius: .7rem;
    background: var(--landing-cyan);
    color: #05202b;
    box-shadow: 0 5px 24px #43dfef17;
    font-weight: 750;
}
.aksel-landing .button:hover { background: #8ceef6; transform: translateY(-2px); box-shadow: 0 6px 28px #43dfef24; }
.aksel-landing .button.secondary { background: #ffffff04; color: #e9f0fb; border-color: #ffffff24; box-shadow: none; }
.aksel-landing .button.secondary:hover { background: #43dfef0d; border-color: #43dfef80; }
.aksel-landing a:focus-visible { outline: 3px solid var(--landing-gold); outline-offset: 5px; }
.aksel-landing .landing-skip { position: fixed; top: .75rem; left: 1rem; z-index: 30; padding: .6rem 1rem; background: var(--landing-cyan); color: #060d1b; border-radius: .5rem; transform: translateY(-180%); }
.aksel-landing .landing-skip:focus { transform: translateY(0); }
.aksel-landing .hero { display: flex; flex-direction: column; gap: 3.5rem; padding: 5rem 0 3rem; }
.aksel-landing .hero-copy { max-width: 51rem; text-align: center; margin: 0 auto; }
.aksel-landing .eyebrow { color: var(--landing-gold); font-size: .7rem; font-weight: 700; letter-spacing: .18em; }
.aksel-landing .hero .eyebrow { display: inline-flex; align-items: center; gap: .7rem; padding: .5rem .85rem; margin-bottom: 1.6rem; border: 1px solid #efcc7826; border-radius: 99px; background: #efcc7806; }
.aksel-landing .landing-dot { width: .35rem; height: .35rem; display: inline-block; flex: 0 0 auto; border-radius: 50%; background: var(--landing-cyan); box-shadow: 0 0 12px #43dfef50; }
.aksel-landing .hero h1 { max-width: none; font-size: clamp(3.4rem, 7.7vw, 6.8rem); letter-spacing: -.065em; line-height: 1.02; font-weight: 750; }
.aksel-landing .gradient { color: var(--landing-cyan); background: linear-gradient(110deg, #a8f4f7, #43dfef 65%, #3fb6df); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.aksel-landing .lead { max-width: 40rem; margin: 1.65rem auto 1.8rem; font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.75; color: var(--landing-muted); }
.aksel-landing .landing-hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; justify-content: center; }
.aksel-landing .trust { justify-content: center; gap: .65rem 1.5rem; font-size: .76rem; color: var(--landing-muted); margin-top: 1.6rem; }
.aksel-landing .trust span::before { color: var(--landing-gold); }
.aksel-landing .tv-showcase { width: min(100%, 64rem); margin: 0; }
.aksel-landing .product-showcase { width: min(100%, 72rem); margin: 0; }
.aksel-landing .product-image { overflow: hidden; border-radius: clamp(.7rem, 1.5vw, 1.2rem); border: 1px solid #7fbacf30; background: #060d1b; box-shadow: 0 24px 70px #0006, 0 0 50px #43dfef0a; }
.aksel-landing .product-image img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
.aksel-landing .product-caption { margin-top: 1rem; color: #a6b5cb; font-size: .75rem; line-height: 1.7; text-align: center; }
.aksel-landing .product-caption .landing-dot { margin-right: .4rem; vertical-align: middle; }
.aksel-landing .product-caption small { display: block; margin-top: .2rem; color: #8fa2bc; font-size: .7rem; }
.aksel-landing .tv-glow { inset: -6% 5% 10%; background: radial-gradient(ellipse, #18a4c34a, #efcc7812 50%, transparent 75%); filter: blur(3rem); }
.aksel-landing .tv-frame { padding: .7rem; border-radius: 1.2rem; border-color: #7fbacf45; background: linear-gradient(140deg, #25364a, #0a1221 45%, #243143); box-shadow: 0 32px 100px #0009, 0 0 70px #21c4e00c; }
.aksel-landing .tv-screen { border-radius: .65rem; }
.aksel-landing .tv-screen img { object-fit: contain; }
.aksel-landing .tv-stand { width: 24%; height: 1.15rem; background: linear-gradient(#273548, #0b1422); }
.aksel-landing .tv-caption { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .6rem; font-size: .74rem; color: #8fa2bc; margin-top: 1rem; }
.aksel-landing .tv-caption > span:not(.landing-dot) { color: #3b506c; }
.aksel-landing .section { padding: 4.5rem 0; }
.aksel-landing .section-head { margin-bottom: 2rem; max-width: 39rem; }
.aksel-landing .section-head h2, .aksel-landing .access h2 { font-size: clamp(2rem, 3.7vw, 3.1rem); font-weight: 650; line-height: 1.13; letter-spacing: -.045em; }
.aksel-landing .section-copy { color: var(--landing-muted); line-height: 1.75; }
.aksel-landing .landing-entry { border-top: 1px solid #ffffff0d; display: grid; grid-template-columns: .72fr 1.28fr; gap: 3rem; align-items: center; }
.aksel-landing .landing-entry .section-head { margin: 0; }
.aksel-landing .choice-grid { margin: 0; gap: 1rem; }
.aksel-landing .choice-card { padding: 1.6rem; border-color: #ffffff13; background: linear-gradient(145deg, #101f32, #0a1425); box-shadow: none; min-height: 0; }
.aksel-landing .choice-card:first-child { border-color: #43dfef45; background: linear-gradient(145deg, #102935, #0a1726); }
.aksel-landing .choice-icon { width: 2rem; height: 2rem; border-radius: .5rem; background: #efcc7810; color: var(--landing-gold); font-size: .75rem; }
.aksel-landing .choice-card .landing-card-label { flex: none; font-size: .65rem; color: #8ea5bf; letter-spacing: .09em; text-transform: uppercase; margin: 1.5rem 0 .5rem; }
.aksel-landing .choice-card h3 { font-size: 1.25rem; letter-spacing: -.03em; margin-bottom: .85rem; }
.aksel-landing .choice-card p { color: var(--landing-muted); font-size: .88rem; line-height: 1.7; }
.aksel-landing .choice-card .landing-credential-hint { flex: none; font-size: .65rem; color: #91bbc4; margin: 0 0 1.2rem; }
.aksel-landing .choice-card .button { min-height: 2.85rem; font-size: .84rem; padding: .65rem .85rem; margin-top: auto; }
.aksel-landing .steps { gap: 1.2rem; }
.aksel-landing .steps .card { margin: 0; padding: 1.6rem; border-color: #ffffff13; background: #0b1627; box-shadow: none; }
.aksel-landing .step-number { width: 2.2rem; height: 2.2rem; border-radius: 50%; background: #43dfef0c; color: var(--landing-cyan); border: 1px solid #43dfef26; font-size: .85rem; }
.aksel-landing .steps h3 { font-size: 1.1rem; font-weight: 650; margin-top: 1.4rem; }
.aksel-landing .steps p { color: var(--landing-muted); font-size: .9rem; line-height: 1.75; }
.aksel-landing .access { padding: clamp(1.5rem, 4vw, 3.5rem); border-color: #43dfef2b; background: radial-gradient(ellipse at right bottom, #43dfef12, transparent 65%), #0d1a2b; }
.aksel-landing .access p:not(.eyebrow) { color: var(--landing-muted); max-width: 38rem; }
.aksel-landing .landing-service-note { margin: 1.4rem auto 0; max-width: 52rem; font-size: .73rem; line-height: 1.7; color: #8b9db6; text-align: center; }
.aksel-landing footer { background: #040b15; border-color: #ffffff0d; }
.aksel-landing .footer-inner { min-height: 6rem; font-size: .77rem; }
.aksel-landing .legal-links { gap: 1.4rem; }
.aksel-landing .legal-links a { font-weight: 500; text-decoration: none; color: #9aaec7; }
.aksel-landing .legal-links a:hover { color: var(--landing-cyan); }

@media (max-width: 70rem) {
    .aksel-landing .landing-entry { grid-template-columns: 1fr; gap: 2rem; }
    .aksel-landing .choice-grid { max-width: none; }
}
@media (max-width: 52rem) {
    .aksel-landing .hero { padding-top: 3.75rem; gap: 2.75rem; }
    .aksel-landing .steps { grid-template-columns: 1fr; }
    .aksel-landing .access { grid-template-columns: 1fr; gap: 1.5rem; }
    .aksel-landing .access .actions { justify-content: flex-start; }
}
@media (max-width: 42rem) {
    .aksel-landing { --landing-header-height: 4.5rem; }
    .aksel-landing .shell { width: calc(100% - 2rem); }
    .aksel-landing .nav { min-height: var(--landing-header-height); gap: .4rem; }
    .aksel-landing .brand { font-size: 1rem; gap: .1rem; }
    .aksel-landing .brand img { width: 3rem; height: 3rem; }
    .aksel-landing .landing-download-grid { grid-template-columns: 1fr; }
    .aksel-landing .landing-download-card { padding: 1.4rem; }
    .aksel-landing .menu-enhanced .landing-menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: .6rem; min-width: 5rem; min-height: 3rem; padding: .5rem .75rem; color: #e9f0fb; background: #ffffff06; border: 1px solid #ffffff30; border-radius: .6rem; font: inherit; cursor: pointer; }
    .aksel-landing .menu-enhanced .nav-actions { display: none; position: absolute; top: calc(100% + 1px); left: 0; right: 0; padding: 1rem; background: #0b1627; border: 1px solid #ffffff26; border-radius: 0 0 .75rem .75rem; box-shadow: 0 16px 24px #0006; }
    .aksel-landing .menu-enhanced .landing-menu-toggle[aria-expanded="true"] + .nav-actions { display: flex; flex-direction: column; align-items: stretch; gap: .5rem; }
    .aksel-landing .landing-nav-link { min-height: 3rem; display: flex; align-items: center; padding: .75rem; }
    .aksel-landing .brand-copy small { display: none; }
    .aksel-landing .brand-copy { display: block; }
    .aksel-landing .nav-actions .button { font-size: .75rem; min-height: 3rem; padding: .55rem .75rem; }
    .aksel-landing .hero { padding-top: 3rem; padding-bottom: 2.5rem; }
    .aksel-landing .hero h1 { font-size: clamp(3rem, 12vw, 4.8rem); }
    .aksel-landing .hero .eyebrow { font-size: .57rem; letter-spacing: .12em; margin-bottom: 1.35rem; }
    .aksel-landing .landing-hero-actions { flex-direction: column; max-width: 24rem; margin-inline: auto; }
    .aksel-landing .trust { gap: .5rem 1rem; font-size: .69rem; }
    .aksel-landing .tv-frame { padding: .35rem; border-radius: .7rem; }
    .aksel-landing .tv-screen { border-radius: .4rem; }
    .aksel-landing .tv-caption { font-size: .65rem; }
    .aksel-landing .tv-caption > span:not(.landing-dot) { display: none; }
    .aksel-landing .section { padding: 3rem 0; }
    .aksel-landing .choice-grid { grid-template-columns: 1fr; }
    .aksel-landing .choice-card { padding: 1.4rem; }
    .aksel-landing .footer-inner { min-height: 0; padding: 1.5rem 0; gap: .8rem; }
    .aksel-landing .legal-links { gap: .75rem 1.2rem; }
}
@media (max-width: 23rem) {
    .aksel-landing .shell { width: calc(100% - 1.25rem); }
    .aksel-landing .brand { font-size: .9rem; }
    .aksel-landing .brand img { width: 3rem; height: 3rem; }
}
@media (prefers-reduced-motion: reduce) {
    .aksel-landing .button { transition: none; }
    .aksel-landing .button:hover { transform: none; }
}
