:root{color-scheme:light;--ink:#12383f;--teal:#009fa7;--sky:#f4fcfd;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0;background:var(--sky);color:var(--ink)}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}
.hero{position:relative;isolation:isolate;min-height:max(840px,100svh);overflow:hidden;background:linear-gradient(180deg,#f4fcfd,#fff 70%)}
.scene{position:absolute;z-index:-1;bottom:0;left:50%;width:max(100%,960px);aspect-ratio:1.6;transform:translateX(-50%);pointer-events:none}
.landscape{display:block;width:100%;height:100%;object-fit:fill}
.header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:25px clamp(24px,4.5vw,76px);max-width:1800px;margin:auto}
.brand{display:block;width:clamp(180px,20vw,285px);line-height:0}.brand img{display:block;width:100%;height:auto}
.hero-copy{text-align:center;position:relative;max-width:1120px;margin:30px auto 0;padding:0 28px;z-index:2}
h1{font-size:clamp(38px,4.35vw,72px);line-height:1.08;letter-spacing:-.047em;font-weight:750;margin:0;text-wrap:balance}
h1 span{display:block;color:var(--teal);margin-top:8px}
.hero-copy p{font-size:clamp(17px,1.4vw,22px);line-height:1.55;max-width:780px;margin:27px auto 24px;color:#4b6d78;text-wrap:pretty}
.explore{border:0;border-radius:999px;padding:19px 38px;background:var(--teal);color:#fff;font-weight:700;font-size:18px;min-height:58px;cursor:pointer;box-shadow:0 5px 16px #00646d10;transition:background .2s,box-shadow .2s}
.explore:hover{background:#00878f;box-shadow:0 8px 22px #00646d24}:focus-visible{outline:3px solid #a16c00;outline-offset:5px}
.motion-toggle{border:1px solid #12383f20;background:#ffffff80;color:#49676c;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;cursor:pointer}
.motion-toggle[hidden]{display:none}.motion-toggle:hover{background:white}.motion-toggle svg{width:20px;height:20px}.play-icon{display:none}.motion-toggle.is-paused .pause-icon{display:none}.motion-toggle.is-paused .play-icon{display:block}
.traveler{position:absolute;left:39.5%;top:89%;width:10%;aspect-ratio:2/3;transform:translate(-50%,-100%);transform-origin:50% 100%;will-change:transform,left,top}
.traveler[hidden]{display:none}.walking-figure{position:absolute;inset:0;transform-origin:50% 90%;transform:rotate(var(--body-sway,0deg))}
.character,.character-fallback{position:absolute;left:0;bottom:-5%;width:100%;height:100%;object-fit:contain;user-select:none}
.character[hidden],.character-fallback[hidden]{display:none}
.contact-shadow{position:absolute;bottom:-.7%;left:35%;width:35%;height:2%;border-radius:50%;background:#224d4240;filter:blur(2px);transform:scaleX(var(--shadow-scale,1))}
@media(min-width:1700px){.hero-copy{margin-top:55px;max-width:1280px}.hero-copy p{max-width:840px}}
@media(max-width:900px){.header{padding:22px 28px}.hero-copy{margin-top:38px;max-width:780px}h1{font-size:clamp(38px,6vw,54px)}.hero-copy p{max-width:610px;font-size:18px}.scene{width:max(100%,1060px)}}
@media(max-width:540px){.hero{min-height:max(850px,100svh)}.header{padding:19px 22px}.brand{width:180px}.hero-copy{margin-top:33px;padding:0 24px}h1{font-size:clamp(32px,10vw,39px);line-height:1.1;letter-spacing:-.045em}.desktop-break{display:none}h1 span{margin-top:12px}.hero-copy p{font-size:17px;line-height:1.6;margin:23px auto 22px;max-width:350px}.explore{font-size:17px;padding:17px 30px;min-height:56px}.scene{width:clamp(640px,185vw,750px);left:32%;bottom:-2px}}
@media(max-width:350px){.header{padding:16px 18px}.brand{width:155px}.hero-copy{margin-top:20px;padding:0 20px}.hero-copy p{font-size:16px}}
@media(max-height:550px) and (min-width:541px){.header{padding-top:16px;padding-bottom:12px}.brand{width:180px}.hero-copy{margin-top:15px}h1{font-size:clamp(34px,4.1vw,52px)}.hero-copy p{margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}.motion-toggle{display:none}}
