:root{color-scheme:light;--ink:#211e18;--muted:#746f66;--orange:#ee4423;--line:#eae5dd}*{box-sizing:border-box}body{margin:0;background:#fffdf9;color:var(--ink);font-family:Figtree,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:4px}a:focus-visible{outline:3px solid #ee4423;outline-offset:5px;border-radius:3px}.nav{height:82px;max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 32px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font:800 21px Gabarito,system-ui}.back{font-size:14px;text-decoration:none;color:var(--muted)}.back span{margin-left:10px;color:var(--orange)}main{max-width:1120px;margin:auto;padding:0 32px}.welcome{text-align:center;padding-top:55px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;color:var(--muted)}.status-dot{display:inline-block;width:7px;height:7px;background:#72b784;border-radius:50%;margin-right:8px;box-shadow:0 0 0 4px #72b78418}h1,h2,h3{font-family:Gabarito,system-ui;letter-spacing:-.035em}h1{font-size:clamp(40px,5.7vw,70px);line-height:1.06;margin:18px 0 15px;font-weight:800}h1 span{color:var(--orange);white-space:nowrap}.intro{font-size:17px;line-height:1.5;color:var(--muted);margin:0 auto 24px;max-width:560px}.download-line{display:flex;align-items:center;text-align:left;gap:13px;max-width:350px;padding:13px 17px;margin:auto;border:1px solid var(--line);border-radius:15px;background:white;box-shadow:0 5px 17px #33270d04}.file-icon{background:#fff0e8;color:var(--orange);border-radius:10px;width:35px;height:39px;display:grid;place-items:center;font-size:24px}.download-line strong{display:block;font-size:14px}.download-line small{display:block;font-size:11px;color:var(--muted);margin-top:4px}.file-size{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}.retry{font-size:12px;color:var(--muted);margin:13px 0 0}.retry a{font-weight:700;color:var(--orange);margin-left:4px}.install-scene{position:relative;max-width:760px;margin:40px auto 0;padding:0 45px}.install-scene:before{content:"";position:absolute;inset:0 -50px -30px;background:radial-gradient(ellipse,#ffe4cf8c,transparent 67%);z-index:-1}.installer{background:#fff;border:1px solid #e7dfd5;border-radius:17px;overflow:hidden;box-shadow:0 26px 50px -25px #69462650,0 3px 8px #4c321009;transform:rotate(-1deg)}.window-bar{height:42px;display:flex;align-items:center;gap:16px;background:#f8f5ef;border-bottom:1px solid var(--line);padding:0 17px;font-size:12px;font-weight:700;color:#777168}.traffic{display:flex;gap:5px}.traffic i{width:8px;height:8px;border-radius:50%;background:#ff8475}.traffic i:nth-child(2){background:#f5cc69}.traffic i:nth-child(3){background:#85c98d}.window-tag{margin-left:auto;font-size:8px;letter-spacing:1px;font-weight:600;color:#a0988b}.window-body{padding:28px 45px 23px}.install-track{height:136px;display:flex;align-items:center;justify-content:space-between;position:relative}.app-slot,.folder-slot{width:100px;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:12px;font-weight:600;position:relative}.app-slot>img{width:84px;height:84px;filter:drop-shadow(0 6px 4px #56331d18)}.folder{width:100px;height:84px;filter:drop-shadow(0 6px 3px #2c668b14)}.travel-arrow{flex:1;padding:0 20px;margin-top:-20px}.travel-arrow svg{width:100%;max-width:180px;height:50px;fill:none;stroke:#ded8cf;stroke-width:2;stroke-linecap:round;stroke-dasharray:4 8}.drag-caption{font-size:13px;color:#898173;margin:12px 0 0}.travelling-app{position:absolute;left:8px;top:12px;width:78px;opacity:0;animation:drag-app 6s ease-in-out infinite;filter:drop-shadow(0 12px 10px #7a4b3030)}.travelling-app>img{width:100%;height:auto}.pointer{position:absolute;width:25px;height:31px;bottom:-11px;right:-7px}.folder-spark{position:absolute;color:#e4a03a;font-size:30px;right:-10px;top:-11px;opacity:0;animation:folder-spark 6s ease-in-out infinite}.float-key{position:absolute;z-index:2;width:62px;height:67px;border-radius:13px;display:flex;align-items:center;justify-content:center;font:800 26px Gabarito,system-ui;border:1px solid #00000009;box-shadow:0 7px 0 var(--key-side),0 17px 21px #37220d16;animation:bob 5s ease-in-out infinite}.float-key small{position:absolute;bottom:-28px;white-space:nowrap;font:600 10px Figtree,system-ui;color:#958a7a;letter-spacing:.2px}.key-f{left:-10px;top:53px;background:#d9f0d3;color:#52834d;--key-side:#a1c29b;--tilt:-12deg}.key-j{right:-5px;top:100px;background:#d4edf9;color:#4f8199;--key-side:#a0c4d5;--tilt:12deg;animation-delay:-2s}.setup{padding-top:57px}.setup-heading{text-align:center}h2{font-size:30px;font-weight:700;margin:10px 0 26px}.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:19px;background:#fff}.steps li{padding:26px 25px}.steps li+li{border-left:1px solid var(--line)}.step-number{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;font-weight:800;font-size:14px;box-shadow:0 3px 0 #0000000a}.green{background:#e0f1dc;color:#5c8a4c}.blue{background:#e0eef9;color:#5187a9}.peach{background:#ffead8;color:#ba7539}h3{font-size:20px;margin:16px 0 9px;letter-spacing:-.02em}.steps p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.steps strong{font-weight:600;color:#514c43}.little-note{display:flex;justify-content:center;align-items:center;gap:15px;padding:31px 10px 34px;color:var(--muted)}.little-note>span{font-size:28px;color:#ce9970}.little-note p{font-size:12px;line-height:1.7;margin:0}.little-note strong{font-weight:600;color:var(--ink)}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:24px 0 30px;font-size:12px;color:#8c8376}footer a{font-weight:600;color:var(--orange);text-decoration:none}.noscript{text-align:center;padding:20px}@keyframes drag-app{0%,12%{opacity:0;left:8px;transform:scale(.95) rotate(0)}18%{opacity:1;left:8px;transform:scale(1.08) rotate(-5deg)}52%,62%{opacity:1;left:calc(100% - var(--drop-offset, 91px));transform:scale(.86) rotate(4deg)}69%,100%{opacity:0;left:calc(100% - var(--drop-offset, 91px));transform:scale(.7) rotate(0)}}@keyframes folder-spark{0%,58%,90%,100%{opacity:0;transform:scale(.3) rotate(-25deg)}68%,75%{opacity:1;transform:scale(1) rotate(15deg)}}@keyframes bob{0%,100%{transform:translateY(0) rotate(var(--tilt))}50%{transform:translateY(-9px) rotate(var(--tilt))}}@media(max-width:640px){.nav{height:68px;padding:0 20px}.back{font-size:12px}.brand{font-size:19px}main{padding:0 20px}.welcome{padding-top:38px}.intro{font-size:15px;max-width:320px}h1{font-size:clamp(35px,9vw,49px)}.eyebrow{font-size:9px;letter-spacing:1.5px}.install-scene{margin-top:32px;padding:0 6px}.window-body{padding:20px 22px}.window-tag{display:none}.window-bar{height:35px}.install-track{height:120px}.app-slot,.folder-slot{width:70px;font-size:10px}.app-slot>img{width:64px;height:64px}.folder{width:74px;height:64px}.travel-arrow{padding:0 12px}.travelling-app{width:58px;top:15px}.float-key{width:40px;height:44px;border-radius:10px;font-size:20px}.float-key small{display:none}.key-f{left:-8px;top:-12px}.key-j{right:-8px;top:auto;bottom:-10px}.drag-caption{font-size:11px}.setup{padding-top:39px}h2{font-size:27px}.steps{display:block}.steps li{padding:21px 21px 21px 66px;position:relative}.steps li+li{border-left:0;border-top:1px solid var(--line)}.step-number{position:absolute;left:21px;top:24px}h3{margin:0 0 6px;font-size:19px}.steps p{font-size:13px}.little-note{align-items:flex-start;padding:26px 5px}.little-note p{font-size:11px}footer{gap:20px;font-size:11px;align-items:center}footer span{max-width:175px}.retry{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}.travelling-app,.folder-spark{display:none}}

@media(max-width:640px){.install-scene:before{inset:0 -10px -30px}.install-track{--drop-offset:68px}}

/* A visible arrival, followed by three illustrated installation steps. */
.brand img{border-radius:8px}.app-slot>img,.travelling-app>img{border-radius:23%;clip-path:inset(0 round 23%)}
.download-line{max-width:440px;padding:13px 23px 13px 15px;gap:19px;min-height:111px;position:relative;overflow:hidden;animation:card-arrive .65s ease-out both}
.download-motion{width:88px;height:84px;position:relative;flex:none;isolation:isolate}.downloads-folder{position:absolute;width:80px;height:62px;bottom:0;left:4px;filter:drop-shadow(0 4px 2px #aa6e3a20);animation:folder-catch 3.6s ease-in-out infinite}.download-halo{position:absolute;inset:12px -5px -5px;border:1px solid #edb886;border-radius:50%;opacity:0;animation:arrival-halo 3.6s ease-out infinite}.falling-file{position:absolute;width:27px;height:34px;top:0;left:32px;border:1.5px solid #eeb789;border-radius:5px;background:#fff9ef;display:grid;place-items:center;font-size:7px;font-weight:800;color:#ba7346;z-index:2;animation:file-arrival 3.6s ease-in-out infinite}.falling-file:before{content:"↓";font-size:13px;position:absolute;top:2px}.falling-file span{margin-top:13px}.download-details strong{font-size:16px}.download-details small{font-size:11px;line-height:1.4;margin-top:5px}.destination{display:block;font-size:11px;color:#8b7d6b;margin-top:10px}.destination b{color:#71604d;font-weight:700}.waiting-dots{display:inline-flex;gap:3px;margin-left:7px}.waiting-dots i{width:3px;height:3px;background:#db9b68;border-radius:50%;animation:dot-breathe 1.4s ease-in-out infinite}.waiting-dots i:nth-child(2){animation-delay:.15s}.waiting-dots i:nth-child(3){animation-delay:.3s}.download-particle{position:absolute;width:4px;height:4px;border-radius:1px;background:#efb980;left:20px;bottom:26px;opacity:0;animation:arrival-confetti 3.6s ease-out infinite;--dx:-18px;--dy:-20px}.p2{left:65px;--dx:18px;--dy:-30px}.p3{left:55px;--dx:5px;--dy:-38px;background:#a9c89c}
.step-art{height:114px;background:#faf8f3;border-radius:12px;margin:-4px -4px 23px;display:flex;align-items:center;justify-content:center;position:relative;padding-bottom:20px;overflow:hidden}.art-label{position:absolute;bottom:13px;font-size:10px;color:#948a7b}.mini-folder{width:68px;height:43px;background:#f0cca1;border-radius:5px 7px 7px 7px;position:relative;display:grid;place-items:center;color:#b58854;font-size:23px;box-shadow:0 4px 0 #ddba90}.mini-folder:before{content:"";position:absolute;left:0;top:-7px;width:28px;height:9px;background:inherit;border-radius:4px 5px 0 0}.mini-file{position:absolute;width:30px;height:38px;border-radius:4px;left:calc(50% + 8px);top:37px;background:#fffdf8;border:1px solid #d6c8b6;color:#99856b;font-size:8px;font-weight:800;display:grid;place-items:center;transform:rotate(8deg);animation:little-file 5s ease-in-out infinite}.disk-file{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border:1px solid #dfdcd4;border-radius:6px;width:47px;height:61px;padding-top:7px;box-shadow:0 4px 7px #5b4a3610}.disk-file img{border-radius:7px}.disk-file small{font-size:8px;font-weight:700;color:#a09584}.click-cursor{position:absolute;width:24px;height:29px;left:calc(50% + 9px);top:48px;animation:double-click 4s ease-in-out infinite}.click-ring{position:absolute;width:20px;height:20px;border:2px solid #eeb782;border-radius:50%;left:calc(50% + 2px);top:39px;opacity:0;animation:click-ring 4s ease-out infinite}.drag-art{gap:18px}.mini-app{border-radius:11px;box-shadow:0 3px 5px #6b3f221a;animation:mini-drag 5s ease-in-out infinite;z-index:1}.mini-arrow{font-size:22px;color:#d0c8bc}.blue-folder{background:#acd8ef;box-shadow:0 4px 0 #92c3db;color:#5893b1;width:51px;height:34px;font-weight:800}.steps li .step-number{display:inline-grid;vertical-align:middle;margin-right:8px}.steps h3{display:inline;font-size:19px;line-height:1.45}.steps p{margin-top:10px}
@keyframes card-arrive{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes file-arrival{0%{transform:translateY(-22px) rotate(-10deg);opacity:0}14%{opacity:1}45%{transform:translateY(17px) rotate(4deg);opacity:1}58%,100%{transform:translateY(34px) scale(.6);opacity:0}}@keyframes folder-catch{0%,40%,68%,100%{transform:translateY(0) scale(1)}52%{transform:translateY(3px) scale(1.04,.95)}}@keyframes arrival-halo{0%,49%{transform:scale(.6);opacity:0}54%{opacity:.6}84%,100%{transform:scale(1.25);opacity:0}}@keyframes arrival-confetti{0%,50%{transform:translate(0,0);opacity:0}56%{opacity:1}85%,100%{transform:translate(var(--dx),var(--dy)) rotate(100deg);opacity:0}}@keyframes dot-breathe{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes little-file{0%,100%{transform:translateY(0) rotate(8deg)}50%{transform:translateY(-6px) rotate(3deg)}}@keyframes double-click{0%,30%,44%,100%{transform:scale(1)}34%,40%{transform:scale(.85)}37%{transform:scale(1)}}@keyframes click-ring{0%,30%{opacity:0;transform:scale(.5)}35%{opacity:1}55%,100%{opacity:0;transform:scale(2)}}@keyframes mini-drag{0%,20%,85%,100%{transform:translateX(0) rotate(-3deg)}48%,60%{transform:translateX(70px) rotate(5deg)}65%{transform:translateX(70px) scale(.85)}}
@media(max-width:640px){.download-line{padding:10px 14px 10px 8px;gap:8px;min-height:102px}.download-motion{transform:scale(.85);width:79px;margin-left:-3px}.download-details strong{font-size:14px}.download-details small{font-size:10px}.destination{font-size:10px}.steps li{padding:20px}.step-art{margin:0 0 17px;height:108px}.steps li .step-number{position:static}.steps h3{font-size:18px}.steps p{margin-top:9px}.window-tag{display:none}}
@media(prefers-reduced-motion:reduce){.falling-file{opacity:1;transform:translateY(0)}.download-particle,.click-ring,.download-halo{display:none}}

.download-cta{margin:20px auto 0}.download-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 25px;border-radius:13px;background:var(--orange);color:white;text-decoration:none;font-size:15px;font-weight:750;box-shadow:0 4px 0 #c63117,0 9px 18px #ee44231c;transition:transform .18s,box-shadow .18s}.download-button:hover{transform:translateY(-2px);box-shadow:0 6px 0 #c63117,0 11px 22px #ee442329}.download-button:active{transform:translateY(2px);box-shadow:0 2px 0 #c63117}.download-button>span:last-child{font-size:23px;font-weight:500;line-height:1}.download-cta p{font-size:11px;color:var(--muted);margin:13px 0 0}

/* The download request gets its own large, unmistakable visual moment. */
.welcome{padding-top:32px}.download-stage{position:relative;isolation:isolate;overflow:hidden;width:100%;max-width:650px;height:190px;margin:24px auto 18px;border-radius:24px;background:#fff0e5;border:1px solid #f5dcc9}.big-download{position:absolute;left:50%;top:8px;width:156px;height:156px;transform:translateX(-50%)}.big-download svg{width:100%;height:100%;fill:none;stroke:var(--orange);stroke-width:11;stroke-linecap:round;stroke-linejoin:round}.big-tray{stroke:#e7a87d;stroke-width:7}.stage-app{position:absolute;left:calc(50% - 180px);top:57px;border-radius:23%;transform:rotate(-12deg);box-shadow:0 8px 15px #9e603826}.stage-file{position:absolute;right:calc(50% - 217px);top:77px;font:700 15px Gabarito,system-ui;color:#a66642;transform:rotate(8deg);background:#fffaf5;padding:12px 16px;border:1px solid #edcfb8;border-radius:9px}.stage-caption{position:absolute;bottom:16px;left:0;right:0;font-size:10px;letter-spacing:2px;font-weight:800;color:#a6653f}.stage-orbit{position:absolute;width:125px;height:125px;left:calc(50% - 62.5px);top:15px;border:1px solid #f0bc94;border-radius:50%;opacity:0}.motion-track{position:absolute;top:15px;width:3px;height:46px;background:linear-gradient(transparent,#ef8b54);border-radius:9px;opacity:0}.track-left{left:28%}.track-right{right:28%}.is-starting .big-arrow{animation:download-plunge 1.5s cubic-bezier(.45,0,.3,1) infinite}.is-starting .stage-orbit{animation:download-ripple 2s ease-out infinite}.is-starting .orbit-two{animation-delay:1s}.is-starting .motion-track{animation:download-stream 1.4s ease-in infinite}.is-starting .track-right{animation-delay:.7s}.is-starting .stage-app{animation:download-app 2.4s ease-in-out infinite}.is-starting .big-tray{animation:tray-pulse 1.5s ease-in-out infinite}.download-details{margin:0 auto;text-align:center}.download-details strong{font-size:15px}.download-details small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.steps{grid-template-columns:repeat(4,1fr)}.steps li{padding:22px 18px}.steps h3{display:block;margin:12px 0 8px}.step-art{margin-bottom:20px}.lilac{background:#eee3fa;color:#8b61ae}.mini-finder{display:flex;flex-direction:column;align-items:center;gap:3px;width:118px;border:1px solid #e3dcd1;background:white;border-radius:7px;padding:0 0 6px;box-shadow:0 4px 8px #5b4a3610}.mini-finder>span{font-size:9px;width:100%;padding:4px;background:#f0ece5;border-radius:6px 6px 0 0;text-align:center}.mini-finder img{border-radius:23%;animation:launch-bounce 4s ease-in-out infinite}.mini-finder small{font-size:8px;color:#746f66}.launch-art{padding-bottom:0}.launch-art .click-cursor{top:55px}
@keyframes download-plunge{0%{transform:translateY(-12px);opacity:.4}45%,65%{transform:translateY(8px);opacity:1}100%{transform:translateY(-12px);opacity:.4}}@keyframes download-ripple{0%{transform:scale(.6);opacity:.7}100%{transform:scale(2.4);opacity:0}}@keyframes download-stream{0%{transform:translateY(-50px);opacity:0}30%{opacity:.7}100%{transform:translateY(175px);opacity:0}}@keyframes download-app{0%,100%{transform:translateY(-8px) rotate(-12deg)}50%{transform:translateY(10px) rotate(-5deg)}}@keyframes tray-pulse{0%,100%{stroke:#e7a87d}55%{stroke:#ee4423}}@keyframes launch-bounce{0%,45%,75%,100%{transform:translateY(0)}55%{transform:translateY(-7px)}65%{transform:translateY(-3px)}}
@media(min-width:641px) and (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}.steps li:nth-child(3){border-left:0}.steps li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:640px){.download-stage{height:172px;border-radius:18px}.big-download{width:134px;height:134px}.stage-app{width:43px;height:43px;left:10%;top:65px}.stage-file{right:3%;top:75px;font-size:9px;padding:7px 9px;transform:rotate(8deg);max-width:88px}.stage-caption{font-size:9px}.steps li{padding:20px}.steps h3{display:inline}.welcome{padding-top:25px}h1{font-size:clamp(34px,8vw,49px)}}
@media(prefers-reduced-motion:reduce){.motion-track,.stage-orbit{display:none}}

/* Calm until asked: a big app icon above the button. Motion only starts once a download does.
   The countdown line rises first and pushes the greeting up as it arrives. */
.headline{position:relative;--compact-y:-46px;--compact-s:.42}.welcome>.eyebrow{transition:opacity .5s,transform .9s cubic-bezier(.22,1,.36,1)}.welcome h1{transform-origin:50% 0}.action-line{position:absolute;left:0;right:0;top:0;font:800 clamp(40px,5.7vw,70px)/1.06 Gabarito,system-ui;letter-spacing:-.035em;margin:0;opacity:0;transform:translateY(96px);transition:opacity .22s ease-out,transform 1s cubic-bezier(.22,1,.36,1)}.action-line b{display:inline-block;min-width:.62em;color:var(--orange)}.action-line b.is-ticking{animation:count-tick .5s cubic-bezier(.22,1.4,.36,1)}.action-line.is-swapping{opacity:0;transform:translateY(14px) scale(.98);transition:opacity .2s ease-in,transform .2s ease-in}.intro{transition:opacity .45s ease-out}
.is-compact>.eyebrow{opacity:0;transform:translateY(-12px)}.is-compact h1{animation:headline-compact 1s .08s cubic-bezier(.22,1,.36,1) both}.is-compact .action-line{opacity:1;transform:translateY(6px)}.is-counting .intro{opacity:0;transition-duration:.15s}.is-cancelled:not(.is-compact) h1{animation:headline-expand .8s cubic-bezier(.22,1,.36,1)}
#download-button-label{transition:opacity .18s}#download-button-label.is-swapping{opacity:0}.countdown-cancel:not([hidden]){animation:soft-in .5s .5s ease-out both}.is-counting .progress-track{transition:opacity .6s .4s}
h1 span{display:inline-block;transform-origin:50% 60%}.auto-start .welcome:not(.is-starting):not(.is-cancelled) h1 span{animation:fingers-breathe 2.2s ease-in-out infinite}@keyframes fingers-breathe{0%,100%{transform:none}50%{transform:scale(1.045)}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@keyframes headline-compact{0%{transform:none}100%{transform:translateY(var(--compact-y)) scale(var(--compact-s))}}@keyframes headline-expand{from{transform:translateY(var(--compact-y)) scale(var(--compact-s))}to{transform:none}}@keyframes soft-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.hero-app{position:relative;width:224px;height:224px;margin:4px auto 18px;display:grid;place-items:center}.hero-app:before{content:"";position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(circle,#ff8a5c45,transparent 62%);opacity:0;transform:scale(.7);transition:opacity .7s,transform .9s cubic-bezier(.3,1.3,.5,1)}.hero-icon{position:relative;z-index:2;width:160px;height:160px;border-radius:23%;box-shadow:0 22px 34px -16px #8a3b1a66,0 3px 8px #5a2a1014;transition:opacity .5s,transform .8s cubic-bezier(.3,1.5,.5,1)}.auto-start .welcome:not(.icon-in) .hero-icon{opacity:0;transform:translateY(18px) scale(.6)}
.hero-progress{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none}.progress-track{stroke:#f3e2d4;stroke-width:2.5;opacity:0;transition:opacity .4s}.progress-bar{stroke:var(--orange);stroke-width:3.5;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;opacity:0;transition:stroke .5s}.is-counting .progress-bar,.is-starting .progress-bar{opacity:1}.is-counting .progress-track,.is-starting .progress-track{opacity:1}.is-counting .progress-bar{stroke:#f3a27a;animation:progress-drain 3s linear forwards}
.hero-badge{position:absolute;z-index:3;right:16px;bottom:16px;width:50px;height:50px;border-radius:50%;background:var(--orange);border:4px solid #fffdf9;display:grid;place-items:center;transform:scale(0);box-shadow:0 6px 12px #a03a1a33;transition:background .4s}.hero-badge svg{position:absolute;width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.badge-check{opacity:0}.badge-check path{stroke-dasharray:22;stroke-dashoffset:22}
.download-cta{margin:0 auto}.download-button{min-width:230px}.download-cta p{margin-top:14px}.countdown-cancel{display:block;margin:10px auto 0;padding:6px 10px;border:0;background:none;font:600 14px Figtree,system-ui;color:var(--muted);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.countdown-cancel:hover{color:var(--ink)}.countdown-cancel[hidden]{display:none}
.is-starting .hero-app:before{opacity:1;transform:scale(1)}.is-starting .hero-icon{animation:icon-launch .9s cubic-bezier(.3,1.2,.4,1) forwards}.is-starting .progress-bar{animation:progress-draw 2.4s cubic-bezier(.45,.05,.25,1) forwards}.is-starting .hero-badge{animation:badge-pop .5s .35s cubic-bezier(.3,1.6,.5,1) forwards}.is-starting .badge-arrow{animation:arrow-drop 1.4s .85s ease-in-out 2}
.is-done .hero-app:before{opacity:0}.is-done .hero-icon{animation:icon-land .7s cubic-bezier(.3,1.4,.5,1) forwards}.is-done .progress-bar{stroke:#5fa36f}.is-done .hero-badge{background:#5fa36f}.is-done .badge-arrow{opacity:0;animation:none}.is-done .badge-check{opacity:1}.is-done .badge-check path{animation:check-draw .4s ease-out forwards}.is-done .intro{color:var(--ink)}
.is-started .download-button{background:#fff;color:var(--ink);border:1px solid #e3d9cc;box-shadow:0 3px 0 #e8dfd3;font-size:14px;padding:12px 22px}.is-started .download-button:hover{box-shadow:0 5px 0 #e8dfd3}.is-started .download-button>span:last-child{color:var(--orange);font-size:19px}
@keyframes icon-launch{0%{transform:none}22%{transform:translateY(5px) scale(.9)}60%{transform:translateY(-4px) scale(1.16)}100%{transform:scale(1.1)}}@keyframes icon-land{from{transform:scale(1.1)}to{transform:none}}@keyframes progress-draw{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes progress-drain{from{stroke-dashoffset:0}92%{opacity:1}to{stroke-dashoffset:-100;opacity:0}}@keyframes badge-pop{from{transform:scale(0)}to{transform:scale(1)}}@keyframes arrow-drop{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}@keyframes check-draw{to{stroke-dashoffset:0}}@keyframes count-tick{from{transform:scale(.4);opacity:0}to{transform:none;opacity:1}}
@media(max-width:640px){.hero-app{width:184px;height:184px;margin:0 auto 14px}.hero-icon{width:128px;height:128px}.hero-badge{width:42px;height:42px;right:12px;bottom:12px;border-width:3px}.hero-badge svg{width:20px;height:20px}.download-button{min-width:0;width:100%;max-width:320px}.headline{--compact-y:-36px;--compact-s:.48}.action-line{font-size:clamp(34px,10vw,46px)}}
@media(prefers-reduced-motion:reduce){.is-starting .progress-bar{stroke-dashoffset:0}.is-starting .hero-badge{transform:scale(1)}.is-starting .hero-icon{transform:scale(1.06)}.is-done .hero-icon{transform:none}.is-done .badge-check path{stroke-dashoffset:0}.is-counting .progress-bar{stroke-dashoffset:-50}}
@media(max-width:640px){.intro{min-height:3em}}

/* Typing dots: someone is typing just below the greeting, then the countdown line rises out of them. */
.typing-dots{position:absolute;left:50%;top:calc(100% + 24px);display:flex;gap:8px;opacity:0;transform:translateX(-50%) translateY(6px);transition:opacity .35s,transform .45s cubic-bezier(.22,1,.36,1);pointer-events:none}.typing-dots i{width:11px;height:11px;border-radius:50%;background:var(--orange)}.is-typing .typing-dots{opacity:1;transform:translateX(-50%)}.is-typing .typing-dots i{animation:dot-hop .5s ease-in-out infinite alternate}.is-typing .typing-dots i:nth-child(2){animation-delay:.17s}.is-typing .typing-dots i:nth-child(3){animation-delay:.34s}.is-typing .intro{opacity:0;transition-duration:.25s}.is-compact .typing-dots{opacity:0;transform:translateX(-50%) translateY(-14px) scale(.6);transition:opacity .2s,transform .35s ease-in}
@keyframes dot-hop{from{transform:translateY(0);opacity:.45}to{transform:translateY(-7px);opacity:1}}
@media(max-width:640px){.typing-dots{top:calc(100% + 20px);gap:7px}.typing-dots i{width:9px;height:9px}}
