/* ==========================================================================
   LIVE EARTH MAP: GPS SATELLITE — app landing page + legal pages (scoped .le-page)
   "Deep space" identity taken from the app icon: night-sky navy, electric blue
   and a red location-pin accent, alternating with airy light sections that
   match the app's own white UI. Note: the theme's root font-size is 20px.
   ========================================================================== */
.le-page {
    --le-space: #040a1c;
    --le-space-2: #0a1636;
    --le-blue: #2f6bff;
    --le-blue-2: #1d4ed8;
    --le-sky: #62b4ff;
    --le-cyan: #3ad4ff;
    --le-pin: #ff4d5e;
    --le-ink: #0b1733;
    --le-muted: #56627e;
    --le-line: rgba(11, 23, 51, .08);
    --le-soft: #f3f6fe;
    --le-grad: linear-gradient(100deg, #2f6bff 0%, #3aa0ff 55%, #3ad4ff 100%);
    --le-grad-text-dark: linear-gradient(100deg, #7cc0ff 0%, #3ad4ff 100%);
    --le-grad-text-light: linear-gradient(100deg, #1d4ed8 0%, #0e8fd6 100%);
    color: var(--le-muted);
    overflow-x: clip;
}
.le-page section { position: relative; }

/* --- header on the dark hero (same approach as the AI services page) --- */
.le-header-bg { background: transparent !important; position: relative; z-index: 4; }
.le-header-bg .navbar .nav-link { color: rgba(255, 255, 255, .84) !important; }
.le-header-bg .navbar .nav-link:hover { color: #fff !important; }
.le-header-bg .navbar .social-muted a, .le-header-bg .navbar .tk-social a { color: rgba(255, 255, 255, .72) !important; }
.le-header-bg .navbar .hamburger span,
.le-header-bg .navbar .hamburger span:before,
.le-header-bg .navbar .hamburger span:after { background: #fff !important; }
.tk-logo-dark { display: none; }
.tk-logo-light { display: inline-block; }
.navbar-clone .tk-logo-dark { display: none; }
.navbar-clone .tk-logo-light { display: inline-block; }
.navbar-clone.navbar-stick {
    background: rgba(4, 10, 28, .9) !important;
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .4) !important;
}
.navbar-clone .nav-link { color: rgba(255, 255, 255, .84) !important; }
.navbar-clone .nav-link:hover { color: #fff !important; }
.navbar-clone .social-muted a, .navbar-clone .tk-social a { color: rgba(255, 255, 255, .72) !important; }
.navbar-clone .hamburger span,
.navbar-clone .hamburger span:before,
.navbar-clone .hamburger span:after { background: #fff !important; }

/* --- starfield (pure CSS) --- */
.le-stars {
    position: absolute; inset: 0; pointer-events: none; z-index: 0;
    background-image:
        radial-gradient(1px 1px at 12% 18%, rgba(255, 255, 255, .8), transparent 60%),
        radial-gradient(1px 1px at 28% 72%, rgba(255, 255, 255, .6), transparent 60%),
        radial-gradient(1.4px 1.4px at 44% 34%, rgba(255, 255, 255, .9), transparent 60%),
        radial-gradient(1px 1px at 63% 12%, rgba(255, 255, 255, .7), transparent 60%),
        radial-gradient(1px 1px at 78% 58%, rgba(255, 255, 255, .6), transparent 60%),
        radial-gradient(1.4px 1.4px at 90% 26%, rgba(255, 255, 255, .85), transparent 60%),
        radial-gradient(1px 1px at 8% 86%, rgba(255, 255, 255, .5), transparent 60%),
        radial-gradient(1px 1px at 54% 90%, rgba(255, 255, 255, .6), transparent 60%);
    background-size: 380px 380px;
    opacity: .7;
}

/* --- shared type & chips --- */
.le-kicker {
    display: inline-flex; align-items: center; gap: .45rem;
    font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
    color: var(--le-blue-2); background: rgba(47, 107, 255, .08); border: 1px solid rgba(47, 107, 255, .22);
    padding: .42rem .9rem; border-radius: 2rem;
}
.le-kicker i { font-size: .9rem; }
.le-kicker.on-dark { color: #cfe2ff; background: rgba(255, 255, 255, .06); border-color: rgba(140, 190, 255, .28); }
.le-kicker .rec { width: .5rem; height: .5rem; border-radius: 50%; background: var(--le-pin); box-shadow: 0 0 0 0 rgba(255, 77, 94, .6); animation: lePulse 1.8s ease-out infinite; }
@keyframes lePulse { 0% { box-shadow: 0 0 0 0 rgba(255, 77, 94, .6); } 75%, 100% { box-shadow: 0 0 0 .5rem rgba(255, 77, 94, 0); } }
.le-page .le-h2 {
    margin: 1rem 0 0; color: var(--le-ink);
    font-weight: 800; letter-spacing: -.03em; line-height: 1.12;
    font-size: clamp(1.6rem, 3vw, 2.4rem); text-wrap: balance;
}
.le-grad, .le-grad-dark { -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }
.le-grad { background-image: var(--le-grad-text-dark); }
.le-grad-dark { background-image: var(--le-grad-text-light); }
.le-lead { margin: .9rem 0 0; font-size: .86rem; line-height: 1.75; color: var(--le-muted); text-wrap: pretty; }
.le-lead.on-dark { color: #a9b8d6; }
.le-lead a { color: var(--le-blue-2); font-weight: 600; }
.le-head { max-width: 40rem; margin: 0 auto 2.4rem; text-align: center; }
.le-section { padding: 4.5rem 0; }

/* --- phone mockups --- */
.le-phone { display: block; height: auto; filter: drop-shadow(0 1.6rem 2.2rem rgba(3, 10, 30, .35)); }

/* --- store badges --- */
.le-stores { display: flex; flex-wrap: wrap; gap: .6rem; }
.le-store {
    display: inline-flex; align-items: center; gap: .6rem;
    padding: .55rem 1.05rem .55rem .85rem; border-radius: .8rem;
    color: #fff; background: #000; border: 1px solid rgba(255, 255, 255, .22); text-decoration: none;
    transition: transform .25s ease, box-shadow .25s ease;
}
.le-store svg { width: 1.3rem; height: 1.3rem; flex: none; }
.le-store span { display: flex; flex-direction: column; line-height: 1.1; }
.le-store small { font-size: .5rem; letter-spacing: .04em; opacity: .8; }
.le-store b { font-size: .86rem; font-weight: 700; letter-spacing: -.01em; }
a.le-store:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 .8rem 1.6rem -.6rem rgba(47, 107, 255, .6); }
.le-store.is-soon { cursor: default; background: rgba(0, 0, 0, .55); }

/* ==========================================================================
   HERO
   ========================================================================== */
.le-hero {
    margin-top: -120px; padding: calc(120px + 2.5rem) 0 0;
    color: #cfdcf5; overflow: hidden; isolation: isolate;
    background:
        radial-gradient(60% 70% at 78% 45%, rgba(47, 107, 255, .35) 0%, transparent 65%),
        radial-gradient(40% 50% at 10% 90%, rgba(58, 212, 255, .14) 0%, transparent 65%),
        linear-gradient(180deg, #030817 0%, #06122d 70%, #081735 100%);
}
.le-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 2rem; }
.le-hero-app { display: flex; align-items: center; gap: .9rem; }
.le-hero-app img { width: 3.2rem; height: 3.2rem; border-radius: .85rem; box-shadow: 0 .8rem 1.8rem -.4rem rgba(47, 107, 255, .6), 0 0 0 1px rgba(255, 255, 255, .12); }
.le-pill {
    display: inline-flex; align-items: center; gap: .45rem; padding: .38rem .8rem; border-radius: 2rem;
    font-size: .64rem; font-weight: 700; letter-spacing: .03em; color: #e3edff;
    background: rgba(255, 255, 255, .07); border: 1px solid rgba(140, 190, 255, .3);
}
.le-pill .dot { width: .45rem; height: .45rem; border-radius: 50%; background: #34d399; box-shadow: 0 0 .6rem #34d399; }
.le-page .le-hero-title {
    margin: 1.2rem 0 0; color: #fff;
    font-weight: 800; letter-spacing: -.035em; line-height: 1.02;
    font-size: clamp(2.2rem, 5vw, 3.9rem);
}
.le-hero-title .le-grad { display: inline-block; }
.le-hero-lead { margin: 1.1rem 0 1.6rem; max-width: 30rem; font-size: .92rem; line-height: 1.75; color: #aebcdb; }
.le-hero-more { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1.2rem; font-size: .74rem; font-weight: 600; color: #9fc6ff; text-decoration: none; }
.le-hero-more:hover { color: #fff; }
.le-hero-more i { transition: transform .25s ease; }
.le-hero-more:hover i { transform: translateY(3px); }

.le-hero-visual { position: relative; aspect-ratio: 1 / 1; max-width: 34rem; width: 100%; justify-self: center; }
.le-orbit { position: absolute; left: 50%; top: 52%; border-radius: 50%; border: 1px dashed rgba(140, 190, 255, .28); transform: translate(-50%, -50%) rotate(-18deg); }
.le-orbit.o1 { width: 108%; height: 58%; animation: leSpinTilt 60s linear infinite; }
.le-orbit.o2 { width: 82%; height: 82%; border-style: solid; border-color: rgba(58, 212, 255, .14); }
@keyframes leSpinTilt { to { transform: translate(-50%, -50%) rotate(342deg); } }
.le-earth-glow { position: absolute; left: 50%; top: 50%; width: 70%; height: 70%; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(47, 107, 255, .45) 0%, transparent 65%); filter: blur(20px); }
.le-hero-visual .le-phone { position: absolute; }
.le-hero-visual .p-center { width: 41%; left: 29.5%; top: 2%; z-index: 3; animation: leFloat 7s ease-in-out infinite; filter: drop-shadow(0 2rem 2.6rem rgba(0, 0, 0, .55)); }
.le-hero-visual .p-left { width: 33%; left: 4%; top: 14%; z-index: 2; transform: rotate(-9deg); opacity: .95; animation: leFloat 8s ease-in-out -2s infinite; }
.le-hero-visual .p-right { width: 33%; right: 4%; top: 14%; z-index: 2; transform: rotate(9deg); opacity: .95; animation: leFloat 9s ease-in-out -4s infinite; }
@keyframes leFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -.6rem; } }
.le-float {
    position: absolute; z-index: 4; display: inline-flex; align-items: center; gap: .4rem; white-space: nowrap;
    padding: .45rem .75rem; border-radius: .75rem;
    font-size: .6rem; font-weight: 700; color: #eaf2ff;
    background: rgba(10, 22, 54, .72); border: 1px solid rgba(140, 190, 255, .28);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    box-shadow: 0 1rem 2rem -1rem rgba(0, 0, 0, .7);
}
.le-float i { font-size: .8rem; color: var(--le-cyan); }
.le-float .live { padding: .12rem .35rem; border-radius: .3rem; font-size: .5rem; color: #fff; background: var(--le-pin); }
.le-float.f1 { left: -2%; top: 58%; animation: leFloat 6s ease-in-out -1s infinite; }
.le-float.f2 { right: -3%; top: 8%; animation: leFloat 7s ease-in-out -3s infinite; }
.le-float.f3 { right: 2%; bottom: 10%; animation: leFloat 8s ease-in-out -5s infinite; }

.le-ticker {
    position: relative; z-index: 1; margin-top: 3rem; padding: .9rem 0; overflow: hidden;
    border-top: 1px solid rgba(140, 190, 255, .14); background: rgba(3, 8, 23, .5);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.le-ticker-track { display: flex; gap: 2rem; width: max-content; animation: leTicker 70s linear infinite; }
.le-ticker span { display: inline-flex; align-items: center; gap: .4rem; font-size: .7rem; font-weight: 600; color: #9fb2d6; white-space: nowrap; }
.le-ticker i { font-size: .9rem; color: var(--le-sky); }
@keyframes leTicker { to { transform: translateX(-50%); } }

/* ==========================================================================
   HIGHLIGHTS
   ========================================================================== */
.le-highlights { background: #fff; }
.le-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.le-stats li {
    display: flex; flex-direction: column; align-items: center; text-align: center; gap: .5rem;
    padding: 1.3rem 1rem; border-radius: 1.2rem;
    background: var(--le-soft); border: 1px solid var(--le-line);
}
.le-stats .n {
    display: grid; place-items: center; min-height: 2.6rem;
    font-size: 2.2rem; font-weight: 800; line-height: 1; letter-spacing: -.03em;
    background: var(--le-grad-text-light); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent;
}
.le-stats .n i { font-size: 2rem; }
.le-stats .l { font-size: .72rem; font-weight: 600; line-height: 1.4; color: var(--le-ink); }

/* ==========================================================================
   SPOTLIGHTS
   ========================================================================== */
.le-spot { background: #fff; }
.le-spot--tint { background: linear-gradient(180deg, var(--le-soft) 0%, #fff 100%); }
.le-spot--dark {
    overflow: hidden; isolation: isolate; color: #a9b8d6;
    background:
        radial-gradient(55% 70% at 25% 50%, rgba(255, 77, 94, .14) 0%, transparent 60%),
        radial-gradient(50% 60% at 80% 30%, rgba(47, 107, 255, .25) 0%, transparent 65%),
        linear-gradient(180deg, #050d24 0%, #081735 100%);
}
.le-spot--dark .le-h2 { color: #fff; }
.le-spot--dark .le-lead { color: #a9b8d6; }
.le-spot-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 3.5rem; }
.le-spot-grid--rev .le-spot-media { order: 2; }
.le-spot-media { position: relative; aspect-ratio: 1 / 1; max-width: 30rem; width: 100%; justify-self: center; }
.le-spot-media::before {
    content: ""; position: absolute; left: 50%; top: 50%; width: 88%; height: 88%; transform: translate(-50%, -50%);
    border-radius: 50%; background: radial-gradient(circle, rgba(47, 107, 255, .16) 0%, transparent 68%);
}
.le-spot--dark .le-spot-media::before { background: radial-gradient(circle, rgba(255, 77, 94, .2) 0%, transparent 68%); }
.le-spot-media .le-phone { position: absolute; }
.le-spot-media .s-back { width: 42%; left: 12%; top: 8%; transform: rotate(-6deg); }
.le-spot-media .s-front { width: 44%; right: 12%; top: 2%; z-index: 2; }
.le-checks { list-style: none; margin: 1.3rem 0 0; padding: 0; display: grid; gap: .6rem; }
.le-checks li { position: relative; padding-left: 1.7rem; font-size: .8rem; line-height: 1.55; }
.le-checks li::before {
    content: ""; position: absolute; left: 0; top: .15rem; width: 1.1rem; height: 1.1rem; border-radius: 50%;
    background: var(--le-grad) no-repeat;
    -webkit-mask: radial-gradient(circle, #000 64%, transparent 66%); mask: radial-gradient(circle, #000 64%, transparent 66%);
}
.le-checks li::after {
    content: ""; position: absolute; left: .33rem; top: .38rem; width: .45rem; height: .26rem;
    border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg);
}
.le-checks b { color: var(--le-ink); font-weight: 700; }
.le-spot--dark .le-checks b { color: #fff; }

/* ==========================================================================
   TOOLKIT (tabs)
   ========================================================================== */
.le-tools { background: var(--le-soft); }
.le-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-bottom: 1.6rem; }
.le-tab {
    display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1rem; border-radius: 2rem; cursor: pointer;
    font-size: .74rem; font-weight: 700; color: var(--le-ink); background: #fff; border: 1px solid var(--le-line);
    transition: color .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.le-tab i { font-size: .95rem; color: var(--le-blue); }
.le-tab .c { min-width: 1.3rem; padding: .08rem .35rem; border-radius: 1rem; font-size: .6rem; color: var(--le-blue-2); background: rgba(47, 107, 255, .1); }
.le-tab:hover { border-color: rgba(47, 107, 255, .4); }
.le-tab.is-active { color: #fff; background: var(--le-grad); border-color: transparent; box-shadow: 0 .8rem 1.6rem -.8rem rgba(47, 107, 255, .7); }
.le-tab.is-active i { color: #fff; }
.le-tab.is-active .c { color: #fff; background: rgba(255, 255, 255, .22); }
.le-tab:focus-visible { outline: 2px solid var(--le-blue); outline-offset: 3px; }
.le-page .le-panel-title { margin: 0 0 .8rem; font-size: .9rem; font-weight: 700; color: var(--le-ink); }
.le-js .le-page .le-panel-title { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* without JS every panel is visible; with JS only the active one */
.le-js .le-panel:not(.is-active) { display: none; }
.le-panel + .le-panel { margin-top: 1.2rem; }
.le-js .le-panel + .le-panel { margin-top: 0; }
.le-tool-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(15.5rem, 1fr)); gap: .8rem; }
.le-tool {
    display: flex; gap: .8rem; padding: 1rem 1.05rem; border-radius: 1.05rem;
    background: #fff; border: 1px solid var(--le-line);
    box-shadow: 0 .8rem 1.6rem -1.5rem rgba(11, 23, 51, .45);
    transition: transform .3s cubic-bezier(.2, .8, .2, 1), border-color .3s ease;
}
.le-tool:hover { transform: translateY(-3px); border-color: rgba(47, 107, 255, .3); }
.le-tool .ic { flex: none; display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: .7rem; font-size: 1.1rem; color: var(--le-blue-2); background: linear-gradient(135deg, rgba(47, 107, 255, .12), rgba(58, 212, 255, .14)); }
.le-page .le-tool h4 { display: flex; align-items: center; gap: .4rem; margin: .1rem 0 0; font-size: .8rem; font-weight: 700; color: var(--le-ink); }
.le-tool p { margin: .25rem 0 0; font-size: .68rem; line-height: 1.55; color: var(--le-muted); }
.le-tool .pro { padding: .1rem .38rem; border-radius: .35rem; font-size: .5rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #fff; background: linear-gradient(120deg, #f59e0b, #f97316); }

/* ==========================================================================
   SCREEN GALLERY
   ========================================================================== */
.le-gallery {
    overflow: hidden; isolation: isolate; padding-bottom: 3.5rem;
    background:
        radial-gradient(50% 60% at 50% 0%, rgba(47, 107, 255, .28) 0%, transparent 65%),
        linear-gradient(180deg, #050d24 0%, #040a1c 100%);
}
.le-gallery .le-head { margin-bottom: 2rem; }
.le-reel {
    position: relative; z-index: 1; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity;
    scrollbar-width: none; padding: .5rem 0 1rem;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.le-reel::-webkit-scrollbar { display: none; }
.le-reel:focus-visible { outline: 2px solid var(--le-sky); outline-offset: -2px; }
.le-reel-track { list-style: none; margin: 0; padding: 0 max(1.5rem, calc((100vw - 1140px) / 2)); display: flex; gap: 1.1rem; width: max-content; }
.le-reel-track li { flex: none; width: 12rem; scroll-snap-align: center; transition: transform .35s cubic-bezier(.2, .8, .2, 1); }
.le-reel-track li:nth-child(even) { margin-top: 2rem; }
.le-reel-track li:hover { transform: translateY(-.5rem); }
.le-reel-track img { display: block; width: 100%; height: auto; filter: drop-shadow(0 1.4rem 1.6rem rgba(0, 0, 0, .5)); }

/* ==========================================================================
   FREE vs PRO
   ========================================================================== */
.le-pro { background: #fff; }
.le-pro-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 3.5rem; }
.le-langs { margin-top: 1.6rem; }
.le-langs-title { display: inline-flex; align-items: center; gap: .4rem; font-size: .74rem; font-weight: 700; color: var(--le-ink); }
.le-langs-title i { font-size: 1rem; color: var(--le-blue); }
.le-langs ul { list-style: none; margin: .7rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.le-langs li { padding: .3rem .65rem; border-radius: 2rem; font-size: .66rem; font-weight: 600; color: var(--le-ink); background: var(--le-soft); border: 1px solid var(--le-line); }
.le-pro-table {
    border-radius: 1.4rem; overflow: hidden; background: #fff; border: 1px solid var(--le-line);
    box-shadow: 0 1.8rem 3rem -2.2rem rgba(11, 23, 51, .5);
}
.le-pro-row { display: grid; grid-template-columns: minmax(0, 1fr) 4.5rem 4.5rem; align-items: center; padding: .85rem 1.3rem; }
.le-pro-row + .le-pro-row { border-top: 1px solid var(--le-line); }
.le-pro-row > span { font-size: .78rem; font-weight: 600; color: var(--le-ink); }
.le-pro-row > span:not(:first-child) { text-align: center; }
.le-pro-row > span:first-child { display: flex; align-items: center; gap: .6rem; }
.le-pro-row > span:first-child i { font-size: 1.05rem; color: var(--le-blue); }
.le-pro-row--head { background: var(--le-soft); }
.le-pro-row--head > span { font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--le-muted); }
.le-pro-badge { display: inline-flex; align-items: center; gap: .2rem; padding: .25rem .55rem; border-radius: 2rem; font-size: .62rem; color: #fff; background: var(--le-grad); letter-spacing: .04em; }
.le-pro-row .yes { font-size: 1.2rem; color: var(--le-blue); }
.le-pro-row .no { font-size: 1rem; color: #a7b0c3; }

/* ==========================================================================
   PERMISSIONS
   ========================================================================== */
.le-perms { background: var(--le-soft); }
.le-perm-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.le-perm-grid li { padding: 1.3rem 1.2rem; border-radius: 1.2rem; background: #fff; border: 1px solid var(--le-line); }
.le-perm-grid .ic { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: .75rem; font-size: 1.2rem; color: #fff; background: var(--le-grad); box-shadow: 0 .6rem 1.2rem -.5rem rgba(47, 107, 255, .7); }
.le-page .le-perm-grid h3 { margin: .9rem 0 0; font-size: .86rem; font-weight: 700; color: var(--le-ink); }
.le-perm-grid p { margin: .35rem 0 0; font-size: .7rem; line-height: 1.6; }
.le-perm-links { margin: 1.6rem 0 0; text-align: center; font-size: .78rem; }
.le-perm-links a { font-weight: 700; color: var(--le-blue-2); }

/* ==========================================================================
   FAQ
   ========================================================================== */
.le-faq { background: #fff; }
.le-faq-grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 3rem; align-items: start; }
.le-faq-head { position: sticky; top: 6rem; }
.le-faq-list { display: grid; gap: .6rem; }
.le-qa { border-radius: 1rem; background: var(--le-soft); border: 1px solid var(--le-line); transition: background .25s ease, border-color .25s ease; }
.le-qa[open] { background: #fff; border-color: rgba(47, 107, 255, .3); box-shadow: 0 1rem 2rem -1.6rem rgba(47, 107, 255, .5); }
.le-qa summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 1.1rem; cursor: pointer; list-style: none; }
.le-qa summary::-webkit-details-marker { display: none; }
.le-page .le-qa h3 { margin: 0; font-size: .84rem; font-weight: 700; line-height: 1.4; color: var(--le-ink); }
.le-qa summary i { flex: none; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; font-size: .95rem; color: var(--le-blue); background: rgba(47, 107, 255, .1); transition: transform .3s ease; }
.le-qa[open] summary i { transform: rotate(45deg); }
.le-qa summary:focus-visible { outline: 2px solid var(--le-blue); outline-offset: 2px; border-radius: 1rem; }
.le-qa p { margin: 0; padding: 0 1.1rem 1.05rem; font-size: .76rem; line-height: 1.7; }

/* ==========================================================================
   FINAL CTA
   ========================================================================== */
.le-cta {
    padding: 4.5rem 0; overflow: hidden; isolation: isolate;
    background:
        radial-gradient(45% 70% at 50% 110%, rgba(47, 107, 255, .45) 0%, transparent 70%),
        linear-gradient(180deg, #040a1c 0%, #06122d 100%);
}
.le-cta-card { position: relative; z-index: 1; max-width: 42rem; margin: 0 auto; text-align: center; }
.le-cta-card > img { width: 4rem; height: 4rem; border-radius: 1.05rem; box-shadow: 0 1rem 2.4rem -.6rem rgba(47, 107, 255, .7), 0 0 0 1px rgba(255, 255, 255, .12); }
.le-cta .le-stores { margin-top: 1.6rem; }
.le-cta-links { margin: 1.8rem 0 0; font-size: .74rem; color: #6f82a8; }
.le-cta-links a { margin: 0 .35rem; font-weight: 600; color: #c7d8f5; }
.le-cta-links a:hover { color: #fff; }
.le-built { margin: .8rem 0 0; font-size: .66rem; color: #6f82a8; }
.le-built a { color: #9fc6ff; }

/* ==========================================================================
   REVEAL (armed by JS only)
   ========================================================================== */
.le-reveal-on .le-spot-grid:not(.is-in) .le-phone { opacity: 0; translate: 0 2rem; }
.le-reveal-on .le-spot-grid .le-phone { transition: opacity .8s ease, translate .9s cubic-bezier(.2, .8, .2, 1); }
.le-reveal-on .le-spot-grid .s-front { transition-delay: .12s; }
.le-reveal-on .le-stats li:not(.is-in), .le-reveal-on .le-perm-grid li:not(.is-in) { opacity: 0; translate: 0 1rem; }
.le-reveal-on .le-stats li, .le-reveal-on .le-perm-grid li { transition: opacity .6s ease var(--d, 0s), translate .7s cubic-bezier(.2, .8, .2, 1) var(--d, 0s); }

/* ==========================================================================
   LEGAL PAGES
   ========================================================================== */
.le-legal-hero {
    margin-top: -120px; padding: calc(120px + 2.2rem) 0 2.6rem;
    overflow: hidden; isolation: isolate; color: #cfdcf5;
    background:
        radial-gradient(50% 90% at 85% 0%, rgba(47, 107, 255, .35) 0%, transparent 65%),
        linear-gradient(180deg, #030817 0%, #081735 100%);
}
.le-crumbs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .35rem; font-size: .66rem; }
.le-crumbs li + li::before { content: "/"; margin-right: .35rem; color: #5b6f96; }
.le-crumbs a { color: #9fc6ff; }
.le-crumbs a:hover { color: #fff; }
.le-crumbs [aria-current] { color: #cfdcf5; }
.le-legal-title { display: flex; align-items: center; gap: 1rem; margin-top: 1.4rem; }
.le-legal-title img { width: 3.2rem; height: 3.2rem; border-radius: .85rem; box-shadow: 0 .8rem 1.8rem -.4rem rgba(47, 107, 255, .6); }
.le-legal-title .app { margin: 0; font-size: .72rem; font-weight: 600; color: #9fc6ff; }
.le-page .le-legal-title h1 { margin: .1rem 0 0; color: #fff; font-weight: 800; letter-spacing: -.03em; line-height: 1.05; font-size: clamp(1.8rem, 4vw, 2.8rem); }
.le-legal-dates { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; margin: 1.1rem 0 0; font-size: .68rem; color: #a9b8d6; }
.le-legal-dates i { color: var(--le-sky); margin-right: .2rem; }

.le-legal-body { padding: 3rem 0 4rem; background: var(--le-soft); }
.le-legal-grid { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.le-toc { position: sticky; top: 6rem; }
.le-toc details { padding: 1rem 1rem .8rem; border-radius: 1rem; background: #fff; border: 1px solid var(--le-line); }
.le-toc summary { font-size: .64rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--le-muted); cursor: pointer; list-style: none; }
.le-toc summary::-webkit-details-marker { display: none; }
.le-toc ol { margin: .7rem 0 0; padding: 0; list-style: none; counter-reset: toc; display: grid; gap: .1rem; max-height: calc(100vh - 14rem); overflow-y: auto; }
.le-toc li { counter-increment: toc; }
.le-toc ol a { display: flex; gap: .45rem; padding: .32rem .5rem; border-radius: .5rem; font-size: .68rem; font-weight: 600; line-height: 1.35; color: var(--le-muted); text-decoration: none; }
.le-toc ol a::before { content: counter(toc); flex: none; min-width: 1rem; font-variant-numeric: tabular-nums; color: #a7b0c3; }
.le-toc ol a:hover { color: var(--le-ink); background: var(--le-soft); }
.le-toc ol a.is-active { color: var(--le-blue-2); background: rgba(47, 107, 255, .08); }
.le-toc ol a.is-active::before { color: var(--le-blue); }
.le-toc-back { display: inline-flex; align-items: center; gap: .3rem; margin-top: .9rem; font-size: .68rem; font-weight: 700; color: var(--le-blue-2); }

.le-doc {
    min-width: 0; padding: 2.2rem 2.4rem; border-radius: 1.4rem; background: #fff; border: 1px solid var(--le-line);
    box-shadow: 0 1.6rem 3rem -2.6rem rgba(11, 23, 51, .5);
    font-size: .8rem; line-height: 1.8; color: #3e4a66;
}
.le-doc section { scroll-margin-top: 6rem; }
.le-doc section + section { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--le-line); }
.le-page .le-doc h2 { margin: 0 0 .7rem; font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; color: var(--le-ink); }
.le-page .le-doc h3 { margin: 1.2rem 0 .4rem; font-size: .82rem; font-weight: 700; color: var(--le-ink); }
.le-doc p { margin: 0 0 .7rem; }
.le-doc ul { margin: 0 0 .7rem; padding-left: 1.1rem; }
.le-doc li { margin-bottom: .45rem; }
.le-doc li::marker { color: var(--le-blue); }
.le-doc strong { color: var(--le-ink); }
.le-doc a { color: var(--le-blue-2); font-weight: 600; }
.le-glance { list-style: none; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.le-glance li { display: flex; gap: .7rem; margin: 0; padding: .85rem .9rem; border-radius: .9rem; background: var(--le-soft); border: 1px solid var(--le-line); }
.le-glance i { flex: none; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: .6rem; font-size: 1rem; color: #fff; background: var(--le-grad); }
.le-glance b { display: block; font-size: .76rem; line-height: 1.35; color: var(--le-ink); }
.le-glance span { display: block; margin-top: .15rem; font-size: .68rem; line-height: 1.5; color: var(--le-muted); }
.le-table-wrap { overflow-x: auto; margin: .4rem 0 .6rem; border-radius: .9rem; border: 1px solid var(--le-line); }
.le-table { width: 100%; border-collapse: collapse; font-size: .74rem; line-height: 1.55; }
.le-table th { padding: .65rem .9rem; text-align: left; font-size: .6rem; letter-spacing: .06em; text-transform: uppercase; color: var(--le-muted); background: var(--le-soft); }
.le-table td { padding: .7rem .9rem; vertical-align: top; border-top: 1px solid var(--le-line); }
.le-table td:first-child { width: 32%; font-weight: 700; color: var(--le-ink); }
.le-address { margin: 0; padding: 1rem 1.1rem; border-radius: .9rem; font-style: normal; background: var(--le-soft); border: 1px solid var(--le-line); }
.le-doc-foot { margin-top: 2.2rem; padding-top: 1.2rem; border-top: 1px dashed rgba(11, 23, 51, .15); font-size: .74rem; }
.le-doc-foot p { margin: 0 0 .3rem; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1199.98px) {
    .le-tool-grid { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
    .le-perm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .le-section { padding: 3.5rem 0; }
    .le-hero-grid { grid-template-columns: minmax(0, 1fr); text-align: center; }
    .le-hero-app, .le-stores { justify-content: center; }
    .le-hero-lead { margin-inline: auto; }
    .le-hero-visual { max-width: 28rem; margin-top: 1rem; }
    .le-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .le-spot-grid, .le-pro-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
    .le-spot-grid .le-spot-media, .le-spot-grid--rev .le-spot-media { order: -1; max-width: 24rem; }
    .le-faq-grid { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
    .le-faq-head { position: static; text-align: center; }
    .le-legal-grid { grid-template-columns: minmax(0, 1fr); gap: 1.2rem; }
    .le-toc { position: static; }
    .le-toc details:not([open]) { padding-bottom: 1rem; }
    .le-toc ol { max-height: none; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .le-hero { padding-top: calc(120px + 1.4rem); }
    .le-float.f1 { left: 0; top: 64%; }
    .le-float.f2 { right: 0; top: 4%; }
    .le-float.f3 { display: none; }
    .le-stores { flex-direction: column; align-items: stretch; }
    .le-store { justify-content: center; }
    .le-stats li { padding: 1rem .6rem; }
    .le-stats .n { font-size: 1.8rem; }
    /* tabs become one swipeable row that bleeds to the screen edges */
    .le-tabs {
        flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; scrollbar-width: none;
        margin-inline: calc(var(--bs-gutter-x, 1.5rem) * -.5); margin-bottom: .6rem; padding: .2rem calc(var(--bs-gutter-x, 1.5rem) * .5) 1.3rem;
    }
    .le-tabs::-webkit-scrollbar { display: none; }
    .le-tab { flex: none; font-size: .68rem; padding: .5rem .8rem; }
    .le-tool-grid { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
    .le-tool { padding: .75rem .85rem; }
    .le-tool:hover { transform: none; }
    .le-perm-grid { grid-template-columns: minmax(0, 1fr); gap: .6rem; }
    .le-perm-grid li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .85rem; padding: .95rem 1rem; }
    .le-perm-grid .ic { grid-row: span 2; width: 2.1rem; height: 2.1rem; font-size: 1.05rem; }
    .le-page .le-perm-grid h3 { margin: 0; }
    .le-perm-grid p { margin-top: .2rem; }
    .le-section { padding: 3rem 0; }
    .le-head { margin-bottom: 1.8rem; }
    .le-spot-grid .le-spot-media, .le-spot-grid--rev .le-spot-media { max-width: 21rem; }
    .le-pro-row { grid-template-columns: minmax(0, 1fr) 3rem 3.6rem; padding: .75rem .9rem; }
    .le-pro-row > span { font-size: .72rem; }
    .le-reel-track li { width: 9.5rem; }
    .le-doc { padding: 1.4rem 1.15rem; }
    .le-glance { grid-template-columns: minmax(0, 1fr); }
    .le-toc ol { grid-template-columns: minmax(0, 1fr); }
    .le-table td:first-child { width: 38%; }
}
@media (prefers-reduced-motion: reduce) {
    .le-hero-visual .le-phone, .le-float, .le-orbit, .le-ticker-track, .le-kicker .rec { animation: none !important; }
    .le-tool, .le-reel-track li, .le-store, .le-qa summary i { transition: none; }
    .le-tool:hover, .le-reel-track li:hover { transform: none; }
}
