*{box-sizing:border-box} :root{color-scheme:light;--navy:#0b3264;--gold:#e9a200}body{margin:0;color:var(--navy);font-family:Arial,Helvetica,sans-serif;background:#eaf3f7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #0b3264;outline-offset:6px}.skip-link{position:fixed;top:-80px;left:20px;z-index:50;background:white;padding:15px}.skip-link:focus{top:15px}.scene{position:relative;width:100%;height:max(780px,100svh);min-height:56.28vw;overflow:hidden;isolation:isolate}.landscape,.sky-wash,.girl-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.landscape{z-index:-3;background:url('assets/mountain.png') center/100% 100% no-repeat}.sky-wash{z-index:-2;background:radial-gradient(ellipse at 10% 24%,rgba(250,250,253,.98),rgba(250,250,253,.8) 22%,transparent 48%)}.sun-glow{position:absolute;left:66%;top:5%;width:15%;aspect-ratio:1;background:#fff3ba;filter:blur(45px);opacity:.28;animation:sun 7s ease-in-out infinite alternate;z-index:-1}.masthead{position:absolute;top:4.5%;left:5.1%;width:27%}.logo{display:block;width:100%;max-width:355px;height:132px;border-radius:18px;overflow:hidden;position:relative;background:#0b3264;box-shadow:0 12px 30px #0a31641a}.logo img{width:100%;height:auto;position:absolute;top:50%;transform:translateY(-50%)}.brand-caption{font-size:10px;letter-spacing:3.5px;margin:17px 0 0 5px;font-weight:700}.brand-caption span{color:var(--gold);padding:0 10px}.intro{position:absolute;left:5.1%;top:27%;z-index:3}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px;margin:0 0 19px}.eyebrow>span{width:6px;height:6px;background:#e8a500;border-radius:50%}h1{font-size:clamp(38px,4.05vw,80px);line-height:1.12;letter-spacing:-1.9px;margin:0;font-weight:750}h1 em{color:var(--gold);font-style:normal}.subtitle{font-size:clamp(14px,1.3vw,23px);line-height:1.55;margin:21px 0 24px}.subtitle span{padding:0 8px;color:#65808c}.subtitle strong{font-weight:500}.enter{display:inline-flex;align-items:center;gap:36px;background:var(--navy);color:white;text-decoration:none;padding:18px 23px;border-radius:11px;font-size:15px;font-weight:700;box-shadow:0 8px 20px #082d6630;transition:transform .25s,background .25s,box-shadow .25s}.enter>span{display:grid;place-items:center;border:1px solid #ffffff40;width:27px;height:27px;border-radius:50%;font-size:21px}.enter:hover{transform:translateY(-3px);background:#15497b;box-shadow:0 12px 28px #082d6640}.cta-note{font-size:11px;margin-top:13px;letter-spacing:.4px}.summit{position:absolute;left:62%;top:5.7%;width:24%;text-align:center}.summit-icon{width:68px;height:60px}.summit-caption{font-size:9px;font-weight:700;letter-spacing:3px;margin:0 0 8px}.wind-title{font-size:clamp(21px,2.05vw,39px);margin:0;letter-spacing:-.7px;white-space:nowrap;filter:drop-shadow(0 3px 9px #fff9)}.wind-title span{display:inline-block;animation:wind 4s ease-in-out infinite;animation-delay:calc(var(--i)*-.17s)}.summit-line{display:block;width:45px;height:2px;background:var(--gold);margin:15px auto}.girl-layer{z-index:1;overflow:visible}.girl-walk{transform-origin:625px 940px;animation:walk 30s ease-in-out infinite alternate}.girl-breathe{transform-origin:625px 940px;animation:breathe 2.9s ease-in-out infinite}.hair-sway{transform-origin:622px 482px;animation:hair 3.5s ease-in-out infinite}.journey{position:absolute;inset:0;z-index:4;pointer-events:none}.step{pointer-events:auto;position:absolute;display:flex;align-items:center;gap:12px;width:clamp(222px,19.5vw,350px);padding:12px 14px 12px 12px;border:1px solid #ffffffd9;background:linear-gradient(120deg,#fffef5f5,#ffffffcf);border-radius:17px;color:var(--navy);text-align:left;box-shadow:0 8px 0 -5px var(--accent),0 15px 28px #092f5135;cursor:pointer;transition:transform .25s,box-shadow .25s;backdrop-filter:blur(10px)}.step:hover,.step:focus-visible{transform:translateY(-7px) rotate(-1deg);box-shadow:0 8px 0 -5px var(--accent),0 23px 36px #092f5145}.step-icon{flex-shrink:0;display:grid;place-items:center;width:49px;height:49px;border-radius:13px;background:var(--accent);color:white;box-shadow:inset 0 1px 2px #ffffff80}.step-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.step-copy{display:flex;flex-direction:column;gap:6px}.step-copy small{font-size:7px;letter-spacing:1px;font-weight:700;color:#537080}.step-copy strong{font-size:clamp(14px,1.15vw,23px);letter-spacing:-.25px}.step-arrow{margin-left:auto;font-size:19px;color:var(--accent)}.study{left:49.9%;top:82%}.tests{left:56.8%;top:68.5%}.strategy{left:59.7%;top:55.5%}.progress{left:64.1%;top:43%}.success{left:68.6%;top:31.2%}.dream-note{position:absolute;right:3.3%;top:23%;font-family:'Segoe Print','Bradley Hand',cursive;font-style:italic;font-size:clamp(24px,2.1vw,39px);line-height:1.32;transform:rotate(-10deg);margin:0}.dream-note span{border-bottom:2px solid var(--navy);padding-bottom:8px}.trail-note{position:absolute;left:3.3%;bottom:7.4%;color:#fffaf0;transform:rotate(-6deg);z-index:2;text-shadow:0 2px 5px #103e49}.trail-note>span{font-size:8px;letter-spacing:2px}.trail-note p{font-family:Georgia,serif;font-size:clamp(20px,1.8vw,32px);line-height:1.4;margin:9px 0}.trail-note strong{font-style:italic;font-weight:400}.motion-toggle{position:absolute;bottom:20px;right:25px;z-index:6;background:#ffffffdd;border:1px solid #fff;border-radius:20px;padding:10px 15px;color:var(--navy);cursor:pointer;font-size:11px;display:flex;gap:8px;align-items:center}.bottom-note{position:absolute;bottom:25px;left:4%;font-size:8px;letter-spacing:1.7px;color:#fff;text-shadow:0 1px 4px #002941}.bottom-note span{padding:0 10px}.breeze{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.breeze i{position:absolute;left:15%;top:65%;width:5px;height:10px;background:#fff3aa;border-radius:90% 0;opacity:0;animation:float 14s linear infinite}.breeze i:nth-child(2){top:43%;animation-delay:-4s}.breeze i:nth-child(3){top:75%;animation-delay:-8s}.breeze i:nth-child(4){top:23%;animation-delay:-11s}.breeze i:nth-child(5){top:57%;animation-delay:-6s}dialog{border:1px solid #fff;border-radius:22px;padding:42px;max-width:480px;width:calc(100% - 36px);color:var(--navy);background:#fffdf8;box-shadow:0 30px 100px #001b4d40}dialog::backdrop{background:#05244870;backdrop-filter:blur(6px)}dialog h2{font-size:29px;margin:15px 0}dialog p:not(.eyebrow){color:#4d6278;line-height:1.7;margin-bottom:28px}.close-dialog{position:absolute;right:15px;top:10px;background:none;border:0;font-size:29px;color:var(--navy);cursor:pointer}.paused *{animation-play-state:paused!important}@keyframes wind{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(3deg)}}@keyframes hair{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(5deg)}}@keyframes walk{from{transform:translate(0,0) scale(1)}to{transform:translate(38px,-20px) scale(.96)}}@keyframes breathe{0%,100%{transform:translateY(0) rotate(-.2deg)}50%{transform:translateY(-2px) rotate(.2deg)}}@keyframes sun{to{opacity:.55;transform:scale(1.15)}}@keyframes float{0%{transform:translate(0,0) rotate(0);opacity:0}15%,75%{opacity:.65}100%{transform:translate(65vw,-110px) rotate(210deg);opacity:0}}
@media(min-width:1800px){.logo{height:160px;max-width:430px}.brand-caption{font-size:12px}.step{padding:18px}.step-copy small{font-size:9px}.step-icon{width:60px;height:60px}}
@media(max-width:1100px) and (min-width:701px){.scene{min-height:800px}.logo{height:108px}.intro{top:26%}h1{font-size:4.2vw}.eyebrow{font-size:8px;letter-spacing:1px}.step{width:232px;padding:9px;gap:9px}.step-icon{width:39px;height:39px}.step-copy small{font-size:6px;letter-spacing:.7px}.step-copy strong{font-size:14px}.success{left:67%}.progress{left:63%}.dream-note{right:2%;font-size:24px}.brand-caption{font-size:8px;letter-spacing:1.6px}}
@media(max-width:700px){.scene{height:auto;min-height:1220px}.landscape{background-size:auto 840px;background-position:64% bottom}.sky-wash{background:linear-gradient(#f5f7fc 0%,#f5f7cf80 30%,transparent 60%)}.masthead{left:6%;top:24px;width:230px}.logo{height:92px;border-radius:14px}.brand-caption{font-size:7px;letter-spacing:2px;margin-top:12px}.brand-caption span{padding:0 6px}.intro{top:173px;left:6%;right:6%}.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:14px}h1{font-size:clamp(36px,8.5vw,58px);letter-spacing:-1.5px}.subtitle{font-size:15px;margin:18px 0}.enter{padding:13px 18px;font-size:14px}.cta-note{font-size:10px}.summit{top:557px;left:auto;right:5%;width:230px}.summit-icon{width:44px;height:42px}.summit-caption{font-size:7px;letter-spacing:2px}.wind-title{font-size:24px}.summit-line{margin-top:10px}.girl-layer{top:590px;left:-164px;width:780px;height:630px}.journey{top:703px;left:0;right:0;bottom:auto;height:420px;display:flex;flex-direction:column-reverse;gap:12px;align-items:flex-end;padding-right:6%}.step{position:relative;inset:auto;width:240px;min-height:67px;padding:9px 11px;border-radius:14px;gap:10px}.step-copy small{font-size:6px}.step-copy strong{font-size:14px}.step-icon{width:40px;height:40px}.study{margin-right:23px}.tests{margin-right:15px}.strategy{margin-right:8px}.dream-note{right:7%;top:26px;font-size:19px;line-height:1.3}.trail-note{left:6%;bottom:71px}.trail-note p{font-size:17px}.trail-note>span{font-size:6px;letter-spacing:1px}.bottom-note{font-size:6px;letter-spacing:1px;bottom:25px;left:6%;max-width:190px;line-height:1.7}.motion-toggle{right:6%;bottom:22px;font-size:10px}.sun-glow{top:550px;width:140px;left:auto;right:50px}dialog{padding:32px 25px}}
@media(max-width:700px){.girl-layer{left:-220px}.landscape{mask-image:linear-gradient(to bottom,transparent 29%,#000 38%)}}
@media(max-width:370px){.masthead{width:200px}.dream-note{font-size:16px}.step{width:219px}.step-copy strong{font-size:13px}}
/* A clear animated entrance, compact trail markers, and the original wooden sign. */
.intro .enter{position:relative;isolation:isolate;overflow:hidden;min-width:235px;justify-content:space-between;padding:16px 22px;border:2px solid #fff5c9;background:linear-gradient(115deg,#ffe29a,#ffc44a 55%,#f1ac24);color:#082d58;font-size:17px;box-shadow:0 5px 0 #a96b16,0 12px 27px #0b326449;animation:entrance-pulse 3.6s ease-in-out infinite}
.intro .enter::before{content:"";position:absolute;inset:-60% auto -60% -60%;width:35%;background:linear-gradient(90deg,transparent,#ffffffa6,transparent);transform:rotate(23deg);animation:entrance-shine 5s ease-in-out infinite;pointer-events:none;z-index:-1}
.intro .enter>span{border:0;background:#0b3264;color:#fff;width:31px;height:31px;animation:entrance-arrow 2s ease-in-out infinite}
.intro .enter:hover{background:linear-gradient(115deg,#fff0bd,#ffd26a);transform:translateY(-3px)}
.intro .enter:focus-visible{outline:3px solid #082d58;outline-offset:7px}
.cta-note{display:table;background:#fffdf2e8;border-radius:20px;padding:5px 10px;color:#173955;font-weight:500}
.step{width:clamp(195px,15.5vw,265px);min-height:56px;padding:9px 11px;gap:10px;border-radius:13px;background:linear-gradient(120deg,#fffef9,#fffffff0);box-shadow:0 6px 0 -4px var(--accent),0 9px 20px #092f5135}
.step-icon{width:37px;height:37px;border-radius:10px}.step-icon svg{width:23px;height:23px}.step-copy{gap:0}.step-copy small{display:none}.step-copy strong{font-size:clamp(13px,1vw,17px);line-height:1.25;letter-spacing:-.2px}.step-arrow{font-size:17px}
.trail-sign{position:absolute;left:1%;bottom:1.5%;width:clamp(155px,12.5vw,210px);height:auto;z-index:2;overflow:visible;filter:drop-shadow(4px 9px 8px #102b3f45);pointer-events:none}
.bottom-note{left:18%;font-size:7px}
.sky-birds{position:absolute;left:47%;top:17%;width:11%;fill:none;stroke:#315c79;stroke-width:2;stroke-linecap:round;opacity:.5;animation:birds-drift 12s ease-in-out infinite alternate;pointer-events:none}
.summit-sparkles{position:absolute;left:66%;top:8%;width:17%;height:100px;pointer-events:none;color:#dca536}.summit-sparkles span{position:absolute;animation:sparkle 4s ease-in-out infinite}.summit-sparkles span:nth-child(1){left:0;top:14px;font-size:15px}.summit-sparkles span:nth-child(2){right:0;top:0;font-size:22px;animation-delay:-1.5s}.summit-sparkles span:nth-child(3){right:7%;bottom:0;font-size:10px;animation-delay:-2.8s}
.paused *::before,.paused *::after{animation-play-state:paused!important}
@keyframes entrance-pulse{0%,100%{box-shadow:0 5px 0 #a96b16,0 12px 27px #0b326449,0 0 0 0 #ffd47845}50%{box-shadow:0 5px 0 #a96b16,0 15px 30px #0b326445,0 0 0 7px #ffd47812}}
@keyframes entrance-shine{0%,65%{left:-60%}100%{left:140%}}
@keyframes entrance-arrow{0%,100%{transform:translate(0,0)}50%{transform:translate(2px,-2px)}}
@keyframes birds-drift{to{transform:translate(30px,-8px)}}
@keyframes sparkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.9;transform:scale(1.15)}}
@media(max-width:1100px) and (min-width:701px){.step{width:205px}.step-icon{width:33px;height:33px}.step-copy strong{font-size:13px}.step{gap:8px}.intro .enter{min-width:215px;font-size:15px}}
@media(max-width:700px){.intro .enter{min-width:230px;padding:14px 20px;font-size:16px}.step{width:205px;min-height:54px;padding:8px 10px;gap:8px}.step-icon{width:32px;height:32px}.step-icon svg{width:21px;height:21px}.step-copy strong{font-size:13px}.step-arrow{font-size:16px}.journey{height:346px;top:703px;gap:12px}.study{margin-right:12px}.tests{margin-right:9px}.strategy{margin-right:5px}.trail-sign{left:2%;bottom:49px;width:130px}.bottom-note{left:6%;font-size:6px;max-width:180px}.sky-birds{left:9%;top:519px;width:95px}.summit-sparkles{left:auto;right:7%;top:577px;width:215px;height:70px}}
@media(max-width:370px){.step{width:193px}.step-copy strong{font-size:12px}.trail-sign{width:110px}}
/* Self-hosted modern type and a floating sky-blue entrance. */
@font-face{font-family:Outfit;src:url('assets/outfit-variable.ttf') format('truetype');font-style:normal;font-weight:100 900;font-display:swap}
body{font-family:Outfit,Arial,sans-serif}h1{font-weight:650;letter-spacing:-1.7px;line-height:1.1}.subtitle{font-weight:400}.wind-title{font-weight:650;letter-spacing:-.5px}.brand-caption,.eyebrow{font-weight:550}.dream-note{font-family:Outfit,Arial,sans-serif;font-weight:450;letter-spacing:.2px}
.floating-entrance{position:relative;width:260px;margin:24px 0 12px;animation:button-hover-air 5.5s ease-in-out infinite;isolation:isolate}
.intro .enter{min-width:260px;padding:16px 22px;border:1px solid #e7fbff;background:linear-gradient(125deg,#adeaff 0%,#65d1fc 45%,#39b6f2 100%);border-radius:50px;color:#073352;font-family:Outfit,Arial,sans-serif;font-weight:600;font-size:18px;letter-spacing:.2px;box-shadow:inset 0 2px 1px #ffffffa6,0 8px 0 -4px #218ac3,0 17px 29px #134b7440;animation:none}
.intro .enter:hover{background:linear-gradient(125deg,#d0f4ff,#70d8ff);box-shadow:inset 0 2px 1px #ffffffa6,0 8px 0 -4px #218ac3,0 20px 35px #134b7450;transform:translateY(-2px)}
.intro .enter>span{background:#07638d;color:#fff}.intro .enter::before{animation:entrance-shine 5s ease-in-out infinite}
.button-wind{position:absolute;left:-43px;top:-29px;width:350px;height:130px;overflow:visible;pointer-events:none;fill:none;stroke:#e4faff;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 1px 1px #2b89b380);z-index:-1}
.button-wind path{stroke-dasharray:70 230;animation:wind-ribbon 4s linear infinite}.button-wind path:nth-child(2){animation-delay:-1.3s;stroke:#6cc8ee}.button-wind path:nth-child(3){animation-delay:-2.6s}
.floating-entrance::after{content:"";position:absolute;left:13%;right:13%;height:10px;bottom:-26px;background:#104c7838;filter:blur(7px);border-radius:50%;z-index:-2;animation:air-shadow 5.5s ease-in-out infinite}
.cta-note{margin-top:23px;font-size:12px}.bottom-note{z-index:3}
@keyframes button-hover-air{0%,100%{transform:translate(0,0) rotate(-1deg)}50%{transform:translate(5px,-12px) rotate(1deg)}}
@keyframes wind-ribbon{0%{stroke-dashoffset:150;opacity:0;transform:translateX(-14px)}20%,65%{opacity:.85}100%{stroke-dashoffset:-150;opacity:0;transform:translateX(22px)}}
@keyframes air-shadow{0%,100%{transform:translateY(0) scaleX(1);opacity:.65}50%{transform:translateY(12px) scaleX(.8);opacity:.3}}
@media(max-width:1100px) and (min-width:701px){.floating-entrance{width:230px}.intro .enter{min-width:230px;font-size:16px}.button-wind{width:315px}}
@media(max-width:700px){h1{font-size:clamp(36px,8.5vw,58px)}.floating-entrance{width:245px;margin-top:28px}.intro .enter{min-width:245px;font-size:17px;padding:15px 20px}.button-wind{left:-25px;width:300px}.cta-note{font-size:11px}.dream-note{font-size:19px;line-height:1.4}.girl-layer{left:-160px}.trail-sign{width:140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.motion-toggle{display:none}.button-wind{opacity:.55}}
