:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;background:#eaf4f8;color:#17496b}
*{box-sizing:border-box}
html,body{min-width:320px;min-height:100%;margin:0}
body{min-height:100svh;background:radial-gradient(circle at 50% 43%,#fffdf5 0,#edf6f7 42%,#d5eaf1 100%)}
.landing{position:relative;display:flex;min-height:100svh;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:clamp(24px,5vh,54px) 18px 0}
.brand{position:relative;z-index:2;display:flex;align-items:center;gap:14px;animation:brand-in .9s both}
.brand-symbol{width:clamp(44px,5vw,58px);height:auto;filter:drop-shadow(0 8px 12px #17496b22)}
.brand h1{margin:0;font-size:clamp(42px,7vw,70px);font-weight:700;line-height:1;letter-spacing:-.075em}
.scene{position:relative;width:min(100%,820px);margin-top:clamp(10px,2vh,24px)}
.scene-glow{position:absolute;inset:16% 19% 30%;border-radius:50%;background:#fff6d8;filter:blur(70px);opacity:.65}
.journey{position:relative;display:block;width:100%;height:auto;max-height:min(73svh,700px);overflow:visible}
.sun{opacity:0;transform:scale(.7);transform-origin:380px 190px;animation:sunrise 1.3s .3s both}
.far-hill,.near-hill{opacity:0;animation:land-in 1.1s .2s both}
.near-hill{animation-delay:.45s}
.path-reveal{clip-path:inset(100% 0 0 0);animation:build-path 2.8s .5s cubic-bezier(.22,.78,.26,1) both}
.church{opacity:0;transform:translateY(18px) scale(.95);transform-origin:380px 345px;animation:church-in .9s 2.95s cubic-bezier(.2,.8,.2,1) both}
.grass{opacity:0;animation:land-in .7s 2.5s both}
@keyframes brand-in{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes sunrise{to{opacity:.8;transform:scale(1)}}
@keyframes land-in{to{opacity:1}}
@keyframes build-path{to{clip-path:inset(0 0 0 0)}}
@keyframes church-in{to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:600px){.landing{justify-content:center;padding-top:48px}.brand{gap:11px}.scene{width:118%;max-width:none;margin-top:8px}.journey{max-height:67svh}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}
