:root{color-scheme:dark;--blue:#26bbff;--white:#f7f8f9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory}body{margin:0;background:#0d1012;color:var(--white);font:15px/1.6 'Segoe UI',Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:7px}::selection{background:var(--blue);color:#0c1318}.skip{position:fixed;top:-100px;z-index:20;padding:10px;background:#111}.skip:focus{top:10px}header{position:fixed;top:0;left:0;width:100%;z-index:10;display:flex;justify-content:space-between;align-items:flex-start;padding:32px 4%;pointer-events:none;background:linear-gradient(#080d125c,transparent)}header>*{pointer-events:auto}.brand img{display:block;width:115px;height:auto}.header-actions{text-align:right}.download-button{border:1px solid #ffffff40;background:#ffffff0a;color:white;display:inline-flex;align-items:center;justify-content:center;gap:22px;cursor:pointer;border-radius:6px;font-weight:550;transition:background .25s,border-color .25s,transform .25s;min-height:48px;padding:12px 22px;backdrop-filter:blur(16px)}.download-button:hover{background:#ffffff18;border-color:#ffffff88;transform:translateY(-2px)}.compact{font-size:13px;min-width:150px}.header-version{display:block;color:#c2c8cb;font-size:9px;letter-spacing:.08em;margin-top:7px}.download-button:disabled{opacity:.6;cursor:wait}.hero{position:relative;height:100svh;min-height:560px;isolation:isolate;display:grid;place-items:center;overflow:hidden;scroll-snap-align:start;scroll-snap-stop:always}.scenery{position:absolute;inset:0;z-index:-2;background:#172325;overflow:hidden}.scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform,opacity;animation:scene-cycle 27s linear infinite;opacity:0}.scene-one{animation-delay:-1s;object-position:center 55%}.scene-two{animation-delay:8s;object-position:center 40%}.scene-three{animation-delay:17s;object-position:center 48%}.shade{position:absolute;inset:0;background:linear-gradient(#0008,#0008),linear-gradient(180deg,#08101799,#08101788 40%,#080f14e0),radial-gradient(ellipse at center,transparent 10%,#070e1266 100%)}.hero-center{text-align:center;padding:70px 25px 110px;filter:drop-shadow(0 4px 22px #0005)}.overline{font-size:10px;font-weight:500;letter-spacing:.3em;color:#c3d1d8;display:block}.hero-center>.overline{animation:arrival 1.4s .1s both}.hero h1{margin:32px 0 25px;animation:arrival 1.6s .25s both}.hero h1 img{width:clamp(230px,32vw,460px);height:auto;display:block;margin:auto}.hero-center p{font-size:17px;letter-spacing:.06em;font-weight:300;color:#e4ebef;animation:arrival 1.5s .5s both}.fine-line{width:50px;height:1px;background:#7ac5e9a6;margin:32px auto 0;animation:line-in 1.4s .8s both}.hero-foot{position:absolute;bottom:35px;left:4%;right:4%;display:flex;align-items:flex-end;justify-content:space-between}.world-label{font-size:10px;letter-spacing:.15em;display:flex;flex-wrap:wrap;align-items:center;gap:9px;color:#e5e9ec}.world-label i{width:4px;height:4px;border-radius:50%;background:var(--blue)}.world-label>span{flex-basis:100%;font-size:10px;letter-spacing:.01em;color:#a5b4bd;margin-left:13px}.scroll-cue{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:15px;font-size:8px;letter-spacing:.23em;color:#d0dbe1;white-space:nowrap}.scroll-track{height:34px;width:1px;background:#ffffff2a;overflow:hidden}.scroll-track i{display:block;width:1px;height:14px;background:#c4ecff;animation:scroll-tick 2.6s ease-in-out infinite}.motion-toggle{border:1px solid #ffffff25;background:#ffffff05;width:36px;height:36px;border-radius:50%;color:#dbe4e9;cursor:pointer;font-size:13px}.motion-toggle:hover{background:#ffffff18}.download-section{position:relative;min-height:85svh;padding:100px 25px 75px;display:grid;place-items:center;text-align:center;scroll-snap-align:end;scroll-snap-stop:always;background:radial-gradient(ellipse at 50% 15%,#18313d66,transparent 58%),#0d1012;border-top:1px solid #ffffff0b;overflow:hidden}.download-content{opacity:0;transform:translateY(35px);transition:opacity .9s,transform 1.1s cubic-bezier(.16,1,.3,1)}.download-section.visible .download-content{opacity:1;transform:none}.app-mark{width:92px;height:92px;border:1px solid #ffffff14;background:linear-gradient(135deg,#ffffff06,#ffffff01);box-shadow:0 15px 50px #0003,inset 0 1px #ffffff05;border-radius:24px;margin:0 auto 28px;display:grid;place-items:center}.app-mark img{width:56px;height:56px;border-radius:15px}.download-content .overline{font-size:9px;color:#8ba4b2}.download-content h2{font-size:clamp(42px,4.5vw,66px);font-weight:500;letter-spacing:-.045em;line-height:1.1;margin:25px 0 20px}.download-content h2 em{font-style:normal;color:#9bb9c8}.intro{font-size:14px;color:#9cabb4;margin:0 0 30px}.main-download{background:#e5f4fc;color:#10202b;border-color:#e5f4fc;min-height:56px;padding:15px 24px;font-size:14px;box-shadow:0 5px 35px #7fcfff0a;gap:22px}.main-download:hover{background:#fff;color:#10202b;border-color:#fff;box-shadow:0 8px 40px #7fcfff18}.release{color:#91a1ab;font-size:11px;margin:17px 0 6px}.compatibility{font-size:10px;color:#647884;margin:0}footer{position:absolute;bottom:24px;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:#687b86}footer a{letter-spacing:.03em;color:#98aab5}.paused .scene,.paused .scroll-track i{animation-play-state:paused}.page-hidden .scene,.page-hidden .scroll-track i{animation-play-state:paused}@keyframes scene-cycle{0%{opacity:0;transform:scale(1.025) translateX(-.5%)}8%,33%{opacity:1}42%,100%{opacity:0;transform:scale(1.11) translateX(.5%)}}@keyframes arrival{from{opacity:0;transform:translateY(20px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes line-in{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes scroll-tick{0%{transform:translateY(-16px)}70%,100%{transform:translateY(38px)}}@media(max-width:650px){header{padding:23px 6%}.brand img{width:88px}.compact{min-width:130px;min-height:43px;padding:10px 15px;font-size:12px;gap:15px}.header-version{font-size:8px}.hero{min-height:500px}.hero h1 img{width:70vw;max-width:350px}.hero-center>.overline{font-size:8px;letter-spacing:.2em}.hero-center p{font-size:14px}.hero-foot{left:6%;right:6%;bottom:25px}.world-label>span{display:none}.world-label{font-size:8px}.scroll-cue{font-size:7px;letter-spacing:.1em}.download-section{padding-top:85px;min-height:90svh}.main-download{font-size:12px;gap:17px;padding-inline:20px}.compatibility{font-size:9px}.intro{font-size:12px}footer{left:6%;right:6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene{animation:none;transform:none}.scene-one{opacity:1}.scene-two,.scene-three{display:none}*,*:before,*:after{animation:none!important;transition:none!important}.download-content{opacity:1;transform:none}.motion-toggle{display:none}}
html.gliding{scroll-behavior:auto;scroll-snap-type:none}.hero-foot{transition:opacity .5s}.panel-active .hero-foot{opacity:0;pointer-events:none}

/* Compact download panel: half of a desktop viewport, with room for readable content. */
.download-section{min-height:50svh;padding:30px 25px 48px}
.app-mark{width:52px;height:52px;border-radius:15px;margin-bottom:12px}.app-mark img{width:34px;height:34px;border-radius:9px}
.download-content h2{font-size:clamp(30px,3vw,42px);margin:12px 0 10px}
.intro{margin-bottom:16px}.main-download{min-height:48px;padding:11px 22px}
.release{margin:10px 0 3px}.download-section footer{bottom:15px}
@media(max-width:650px){.download-section{min-height:50svh;padding:30px 20px 48px}.download-content h2{font-size:32px}}

.motion-toggle{margin-left:auto}

/* Altis header mark and download interaction */
header .brand img{width:42px;height:42px;object-fit:contain;transition:filter .3s,transform .3s}
header .brand:hover img{filter:drop-shadow(0 0 12px #26bbff55);transform:translateY(-1px)}
.header-actions .compact {
 position:relative; isolation:isolate; overflow:hidden; min-width:0; min-height:46px;
 gap:0; padding:0; border:1px solid #a8c9df26; border-radius:7px;
 background:#111b22ed; color:#e2edf3; font-size:12.5px; font-weight:500;
 letter-spacing:.01em; box-shadow:inset 0 1px #ffffff05;
 transform:none; transition:background .3s,border-color .3s,color .3s,opacity .2s;
}
.header-actions .compact .header-download-label { padding:0 19px; white-space:nowrap; }
.header-download-icon {
 position:relative; display:grid; place-items:center; align-self:stretch; flex:0 0 43px;
 border-left:1px solid #a8c9df14; background:#26bbff06; color:#26bbff;
}
.header-download-icon::before {
 content:""; position:absolute; inset:0; pointer-events:none;
 background:linear-gradient(0deg,#26bbff24,#26bbff08); opacity:0;
 transform:translateY(8px); transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1);
}
.header-actions .compact svg {
 position:relative; display:block; width:18px; height:18px; flex-shrink:0;
 stroke-linecap:round; stroke-linejoin:round; overflow:hidden;
 transition:transform .4s cubic-bezier(.2,.8,.2,1),color .3s;
}
.header-actions .compact:hover { background:#111b22ed; border-color:#a8c9df26; transform:none; }
.header-actions .compact:focus-visible { outline:2px solid #26bbff; outline-offset:4px; border-color:#26bbff66; }
.header-actions .compact:focus-visible .header-download-icon::before { opacity:1; transform:none; }
@media(hover:hover) and (pointer:fine) {
 .header-actions .compact:hover:not(:disabled) { background:#15232c; border-color:#76c9ed55; color:#fff; }
 .header-actions .compact:hover:not(:disabled) .header-download-icon::before { opacity:1; transform:none; }
 .header-actions .compact:hover:not(:disabled) svg { transform:translateY(1px); color:#65d1ff; }
}
.header-actions .compact:active:not(:disabled) { background:#192c37; border-color:#5fc4ef66; }
.header-actions .compact:disabled { opacity:.78; }
.header-actions .compact.is-activated,.main-download.is-activated { animation:altis-header-press 1.5s cubic-bezier(.2,.8,.2,1); }
.header-actions .compact.is-activated .download-arrow,.main-download.is-activated .download-arrow { animation:altis-header-arrow 1.5s cubic-bezier(.22,.7,.25,1); }
.header-actions .compact.is-activated .download-tray,.main-download.is-activated .download-tray { animation:altis-header-tray 1.5s ease; transform-origin:12px 21px; }
.header-actions .compact.is-activated .header-download-icon::before { opacity:1; transform:none; }
/* Independent scale/translate compose with the main button's scroll reveal. */
.download-action-icon { display:grid; place-items:center; flex-shrink:0; width:19px; height:19px; }
.download-action-icon svg { display:block; width:18px; height:18px; overflow:hidden; stroke-linecap:round; stroke-linejoin:round; }
@keyframes altis-header-press {
 0%,100% { translate:0 0; scale:1; }
 14% { translate:0 1px; scale:.975; }
 44% { translate:0 0; scale:1.006; }
 72% { translate:0 0; scale:1; }
}
@keyframes altis-header-arrow {
 0%,100% { transform:translateY(0); opacity:1; }
 17% { transform:translateY(-2px); opacity:1; }
 41% { transform:translateY(12px); opacity:0; }
 42% { transform:translateY(-10px); opacity:0; }
 77% { transform:translateY(.7px); opacity:1; }
}
@keyframes altis-header-tray {
 0%,22%,100% { transform:scaleX(1); opacity:1; }
 43% { transform:translateY(1px) scaleX(.78); opacity:.45; }
 68% { transform:scaleX(1.06); opacity:1; }
}
@media(max-width:650px) {
 header .brand img { width:36px; height:36px; }
 .header-actions .compact { min-height:44px; min-width:0; gap:0; padding:0; font-size:12px; }
 .header-actions .compact .header-download-label { padding-inline:15px; }
 .header-download-icon { flex-basis:39px; }
}
@media(prefers-reduced-motion:reduce) {
 header .brand img,.header-actions .compact,.header-actions .compact svg,.header-download-icon::before { transition:none; animation:none; }
 .header-actions .compact:is(:hover,:active),.header-actions .compact:hover:not(:disabled) svg { transform:none; }
}


/* Contour construction: intact glyphs, staggered draw and directional fill. */
.hero-signature{display:block;width:clamp(230px,32vw,460px);margin:auto;color:#fff}
.signature-svg{display:block;width:100%;height:auto;overflow:visible}
.logo-letter{--phase:0s}
.logo-ghost{opacity:.16}
.logo-solid{transform-box:fill-box;transform-origin:center;animation:logo-materialize 12s var(--phase) cubic-bezier(.4,0,.2,1) infinite both}
.logo-draw{stroke-dasharray:1;animation:logo-trace 12s var(--phase) ease-in-out infinite both}
.logo-edge{stroke-dasharray:.12 .88;animation:logo-edge-travel 12s var(--phase) linear infinite;opacity:.5}
.logo-letter-0{--phase:0.0s}
.logo-letter-1{--phase:0.2s}
.logo-letter-2{--phase:0.4s}
.logo-letter-3{--phase:0.6s}
.logo-letter-4{--phase:0.8s}
.logo-letter-5{--phase:-10.7s}
.logo-letter-6{--phase:-10.44s}
.logo-letter-7{--phase:-10.18s}
.logo-letter-8{--phase:-9.92s}
.logo-letter-9{--phase:-9.66s}

@keyframes logo-materialize{
 0%{clip-path:inset(0 0 0 0);transform:none;opacity:1}
 5%{clip-path:inset(0 0 0 0);transform:none;opacity:1}
 20%{clip-path:inset(0 0 0 100%);transform:none;opacity:0}
 21%{clip-path:inset(0 100% 0 0);transform:none;opacity:0}
 30%{clip-path:inset(0 100% 0 0);transform:none;opacity:0}
 50%,100%{clip-path:inset(0 0 0 0);transform:none;opacity:1}
}
@keyframes logo-trace{0%,100%{stroke-dashoffset:1;opacity:0}8%{stroke-dashoffset:0;opacity:0}20%{stroke-dashoffset:0;opacity:.9}28%{stroke-dashoffset:1;opacity:.2}44%{stroke-dashoffset:0;opacity:1}54%{stroke-dashoffset:0;opacity:0}60%{stroke-dashoffset:1;opacity:0}}
@keyframes logo-edge-travel{from{stroke-dashoffset:1}to{stroke-dashoffset:-1}}
.hero-center>.overline,.hero h1,.hero-center p{animation:none}
.page-hidden .logo-solid,.page-hidden .logo-draw,.page-hidden .logo-edge,.panel-active .logo-solid,.panel-active .logo-draw,.panel-active .logo-edge{animation-play-state:paused}
@media(max-width:650px){.hero-signature{width:70vw;max-width:350px}.logo-ghost{opacity:.23}}
@media(prefers-reduced-motion:reduce){.logo-solid{animation:none!important;clip-path:none;transform:none;opacity:1}.logo-ghost,.logo-draw,.logo-edge{display:none}}

/* Begin and end on the same letter; only hidden symbols are reshuffled. */
.pad-reel{transform:translateY(0);animation:pad-reel-spin var(--reel-duration,12s) var(--reel-delay) linear infinite both}
.logo-letter-5{--reel-delay:1.0s}
.logo-letter-6{--reel-delay:1.18s}
.logo-letter-7{--reel-delay:1.36s}
.logo-letter-8{--reel-delay:1.54s}
.logo-letter-9{--reel-delay:1.72s}

@keyframes pad-reel-spin{
0%,0.142%{transform:translateY(0);animation-timing-function:cubic-bezier(.333333,0,.666667,.333333)}
7.0%{transform:translateY(32px)}
10.429%{transform:translateY(64px)}
13.857%{transform:translateY(96px)}
17.286%{transform:translateY(128px)}
20.714%{transform:translateY(160px)}
24.143%{transform:translateY(192px)}
27.571%{transform:translateY(224px);animation-timing-function:cubic-bezier(.333333,0.555507,.666667,1)}
39%,100%{transform:translateY(288px)}}
@keyframes pad-reel-spin-1{
0%,12.572%{transform:translateY(0);animation-timing-function:cubic-bezier(.333333,0,.666667,.333333)}
20.0%{transform:translateY(32px)}
23.714%{transform:translateY(64px)}
27.429%{transform:translateY(96px)}
31.143%{transform:translateY(128px)}
34.857%{transform:translateY(160px)}
38.571%{transform:translateY(192px)}
42.286%{transform:translateY(224px);animation-timing-function:cubic-bezier(.333333,0.525669,.666667,1)}
54%,100%{transform:translateY(288px)}}
@keyframes pad-reel-spin-2{
0%{transform:translateY(0);animation-timing-function:cubic-bezier(.333333,0,.666667,.333333)}
12.0%{transform:translateY(32px)}
18.0%{transform:translateY(64px)}
24.0%{transform:translateY(96px)}
30.0%{transform:translateY(128px)}
36.0%{transform:translateY(160px)}
42.0%{transform:translateY(192px)}
48.0%{transform:translateY(224px);animation-timing-function:cubic-bezier(.333333,0.388889,.666667,1)}
62%,100%{transform:translateY(288px)}}
@keyframes pad-reel-spin-3{
0%,21.428%{transform:translateY(0);animation-timing-function:cubic-bezier(.333333,0,.666667,.333333)}
26.0%{transform:translateY(32px)}
28.286%{transform:translateY(64px)}
30.571%{transform:translateY(96px)}
32.857%{transform:translateY(128px)}
35.143%{transform:translateY(160px)}
37.429%{transform:translateY(192px)}
39.714%{transform:translateY(224px);animation-timing-function:cubic-bezier(.333333,0.749927,.666667,1)}
50%,100%{transform:translateY(288px)}}
@keyframes pad-reel-spin-4{
0%,9.714%{transform:translateY(0);animation-timing-function:cubic-bezier(.333333,0,.666667,.333333)}
16.0%{transform:translateY(32px)}
19.143%{transform:translateY(64px)}
22.286%{transform:translateY(96px)}
25.429%{transform:translateY(128px)}
28.571%{transform:translateY(160px)}
31.714%{transform:translateY(192px)}
34.857%{transform:translateY(224px);animation-timing-function:cubic-bezier(.333333,0.59089,.666667,1)}
46%,100%{transform:translateY(288px)}}
.page-hidden .pad-reel,.panel-active .pad-reel{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.pad-reel{animation:none!important;transform:translateY(0)}}
