:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.16,1,.3,1)}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;z-index:30;pointer-events:none;background:transparent}.reading-progress>span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#1000ff 0%,#f9c522 72%);box-shadow:0 0 10px #f9c52240}
.motion-toggle{position:fixed;bottom:20px;right:20px;width:42px;height:42px;border-radius:50%;border:1px solid #ffffff38;background:#111e;color:var(--lime);z-index:20;display:grid;place-items:center;transition:background .25s,scale .3s,border-color .3s;box-shadow:0 3px 18px #0004}.motion-toggle[hidden]{display:none}.motion-toggle:hover{scale:1.1;border-color:var(--lime);background:#171717}.pause-glyph{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}.motion-toggle[aria-pressed=true] .pause-glyph{width:0;height:0;border-left:10px solid currentColor;border-right:0;border-block:6px solid transparent;margin-left:3px}
.reveal{transition:opacity .85s var(--ease-out),translate 1.05s var(--ease-out),filter .8s var(--ease-out);transition-delay:var(--reveal-delay,0ms)}.motion-enhanced .reveal:not(.is-visible){opacity:0;translate:0 28px}.motion-enhanced .reveal.is-visible{opacity:1;translate:0 0}.motion-enhanced .reveal:focus-within{opacity:1;translate:0 0}.motion-enhanced .scroll-title:not(.is-visible){translate:0 36px}.motion-enhanced .scroll-title.is-visible .lime,.motion-enhanced .scroll-title.is-visible .ink-blue{animation:color-land 1.1s var(--ease-out) both}
.hero-line{display:block;overflow:clip;padding-block:.085em;margin-block:-.085em}.hero-line-inner{display:block;transform-origin:left bottom}.motion-enhanced .hero-entry .hero-line-inner{animation:hero-type 1.05s var(--ease-out) both;animation-delay:calc(110ms + var(--line-index,0)*105ms)}.motion-enhanced .hero-entry .hero-copy>.eyebrow{animation:fade-lift .8s var(--ease-out) 70ms both}.motion-enhanced .hero-entry .hero-description{animation:fade-lift .9s var(--ease-out) 360ms both}.motion-enhanced .hero-entry .hero-actions{animation:fade-lift .9s var(--ease-out) 440ms both}.motion-enhanced .hero-entry .hero-note,.motion-enhanced .hero-entry .hero-bottom{animation:fade-lift .9s var(--ease-out) 540ms both}.motion-enhanced .hero-entry .mascot-float{animation:mascot-arrive 1.35s var(--ease-out) 130ms both}.mascot-float{position:relative}.hero .hero-mascot{filter:drop-shadow(0 24px 28px #0005)}
.hero-art{perspective:1100px}.hero-art::before{content:"";position:absolute;inset:15% 8%;border-radius:50%;background:radial-gradient(ellipse,#1400ff26 0%,transparent 67%);z-index:-1;pointer-events:none;opacity:.85}.motion-enhanced .is-in-view .hero-mascot{animation:mascot-hover 7s ease-in-out 1.3s infinite}.motion-enhanced .is-in-view .hero-orbit{animation:orbit-breathe 10s ease-in-out infinite}.hero-orbit::after{content:"";position:absolute;width:7px;height:7px;right:12%;top:13%;background:var(--lime);box-shadow:0 0 18px #f9c52277;border-radius:1px}.hero-orbit::before{content:"";position:absolute;width:4px;height:4px;left:17%;bottom:10%;background:#fff;opacity:.7}.hero .hero-outline{opacity:.42}.motion-enhanced .hero-entry .sticker-hero{animation:sticker-arrive 1s var(--ease-out) 650ms both}.motion-enhanced .hero-entry .floating-label{animation:fade-lift 1s var(--ease-out) 800ms both}
[data-depth]{translate:var(--depth-x,0px) var(--depth-y,0px);will-change:auto}.is-in-view [data-depth]{will-change:translate}.planet-scene>img{position:relative;z-index:0}.planet-outline{opacity:.65}.planet-note{backface-visibility:hidden}.planet-scene::after{content:"";position:absolute;bottom:1%;left:24%;right:24%;height:8%;border-radius:50%;background:radial-gradient(ellipse,#1000ff22,transparent 70%);z-index:-1;pointer-events:none}.campaign-banner>img{top:-8%;height:116%;max-height:none}.campaign-overlay{pointer-events:none}
.ticker>div{animation-duration:46s}.ticker:hover>div{animation-play-state:paused}.ticker{transition:filter .4s}.ticker:hover{filter:brightness(1.06)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .4s var(--ease-out),background .3s,box-shadow .35s}.button::after{content:"";position:absolute;inset:-100% auto -100% -90%;width:38%;transform:skewX(-20deg);background:linear-gradient(90deg,transparent,#fff5,transparent);pointer-events:none;z-index:-1}.button:hover::after{animation:button-sheen .8s var(--ease-out)}.button-lime:hover{box-shadow:0 7px 28px #f9c5221c}.button:active{transform:translateY(0) scale(.98)}.header nav a{position:relative;padding-block:7px}.header nav a::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-out)}.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}.wordmark{transition:opacity .3s,translate .4s var(--ease-out)}.wordmark:hover{opacity:.85;translate:0 -2px}
.compare-card{transform-style:preserve-3d;transition:transform .65s var(--ease-out),box-shadow .65s var(--ease-out),opacity .85s var(--ease-out),translate 1s var(--ease-out);transform:perspective(1000px) rotate(var(--card-base)) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-origin:center}.manual-card{--card-base:-4deg}.tiks-card{--card-base:4deg}.compare-card.is-tilting{transition-duration:.12s}.compare-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--shine,0);background:radial-gradient(ellipse at var(--shine-x,50%) var(--shine-y,50%),#ffffff20,transparent 64%);transition:opacity .4s}.tiks-card.is-tilting{box-shadow:12px 18px 0 #1000ff,0 30px 50px #0004}.compare-card .card-tab{transform:translateZ(14px)}.steps article{transition:border-color .3s,opacity .85s var(--ease-out),translate 1s var(--ease-out)}.steps article::before{content:"";position:absolute;inset:-1px auto auto 0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease-out)}.steps article:hover::before{transform:scaleX(1)}.steps .step-number{transition:translate .35s var(--ease-out)}.steps article:hover .step-number{translate:0 -4px}
.periods button{transition:color .3s,border-color .4s,background .3s}.periods button:hover{background:#ffffff0b;color:white}.periods button[aria-selected=true]{background:#ffffff08}.program-play{transition:translate .35s var(--ease-out)}.day-program:hover .program-play{translate:4px 0}.program-caption{position:relative;padding-top:12px}.program-caption::before{content:"";position:absolute;left:7px;right:0;top:0;height:1px;background:#ffffff22}.program-caption::after{content:"";position:absolute;left:7px;top:0;width:18%;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left}.motion-enhanced .day-section.is-in-view .program-caption::after{animation:signal-travel 5s ease-in-out infinite}
.faq-list summary{transition:color .3s}.faq-list summary:hover{color:var(--lime)}.faq-list details[open]>p{animation:faq-enter .45s var(--ease-out)}dialog[open]{animation:dialog-enter .45s var(--ease-out)}dialog[open]::backdrop{animation:backdrop-enter .35s ease-out}.final-paper .brand-tile{transition:transform .6s var(--ease-out),box-shadow .6s var(--ease-out)}.brand-tile:hover{transform:rotate(0deg) translateY(-5px);box-shadow:14px 15px 0 var(--lime)}
@keyframes hero-type{from{opacity:0;transform:translateY(108%) rotate(3deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes fade-lift{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes mascot-arrive{from{opacity:0;transform:translateY(45px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mascot-hover{0%,100%{rotate:-.6deg}50%{rotate:.6deg}}
@keyframes orbit-breathe{0%,100%{opacity:.55;scale:1}50%{opacity:1;scale:1.035}}
@keyframes sticker-arrive{from{opacity:0;scale:.8;rotate:8deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes color-land{0%{opacity:.45}100%{opacity:1}}
@keyframes button-sheen{to{left:150%}}
@keyframes signal-travel{0%{transform:translateX(0) scaleX(0);opacity:0}18%{opacity:1;transform:translateX(0) scaleX(1)}80%{opacity:1;transform:translateX(440%) scaleX(1)}100%{opacity:0;transform:translateX(440%) scaleX(0)}}
@keyframes faq-enter{from{opacity:0;translate:0 -6px}to{opacity:1;translate:0 0}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(pointer:fine){.button[data-magnetic]{translate:var(--magnet-x,0px) var(--magnet-y,0px);transition:translate .5s var(--ease-out),transform .4s var(--ease-out),background .3s,box-shadow .35s}}
@media(max-width:700px){.motion-enhanced .reveal:not(.is-visible){translate:0 18px}.motion-enhanced .scroll-title:not(.is-visible){translate:0 22px}.motion-toggle{width:36px;height:36px;right:12px;bottom:12px}.hero-art::before{inset:20% 0}.campaign-banner>img{top:-4%;height:108%}.tiks-card.is-tilting{box-shadow:5px 6px 0 var(--blue)}}
.motion-paused [data-depth],.motion-paused .button[data-magnetic]{translate:0 0!important}.motion-paused .reveal{opacity:1!important;translate:0 0!important;filter:none!important}.motion-paused .hero-line-inner{opacity:1!important;transform:none!important}.motion-paused .compare-card{--tilt-x:0deg!important;--tilt-y:0deg!important;--shine:0!important}.motion-paused *,.motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;transition-duration:0s!important}.motion-paused .hero-entry .hero-copy>*,.motion-paused .hero-entry .mascot-float,.motion-paused .hero-entry .sticker-hero,.motion-paused .hero-entry .floating-label,.motion-paused .hero-entry .hero-bottom{animation:none!important;opacity:1!important}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;translate:none!important;filter:none!important}[data-depth]{translate:none!important}.hero-line-inner{opacity:1!important;transform:none!important}.reading-progress{display:none}.motion-toggle{display:none}.compare-card{--tilt-x:0deg!important;--tilt-y:0deg!important;--shine:0!important}.hero-entry .hero-copy>*,.hero-entry .mascot-float,.hero-entry .sticker-hero,.hero-entry .floating-label,.hero-entry .hero-bottom{animation:none!important;opacity:1!important}}
