/* Warm light, frosted surfaces, and quiet, independently phased motion. */
body{font-weight:500}nav,.eyebrow,.explore,label,.send{font-weight:700}
h1,h2{letter-spacing:-3.1px}h1 em,h2 em{color:#644558}h1{line-height:1.09}.night-copy h2 em,.contact-heading h2 em{color:#ffd2b3}
.intro{font-weight:600}.brand img{width:264px}.contact-link{background:#ffd4ad16;border-color:#64465d66;transition:background .3s,transform .3s}.contact-link:hover{background:#ffd4ad55;transform:translateY(-2px)}
.contact-card{background:linear-gradient(135deg,#fcf0f46e,#e3ddf033 55%,#ffc9aa24);backdrop-filter:blur(24px) saturate(145%);-webkit-backdrop-filter:blur(24px) saturate(145%);border:1px solid #f9e8ec66;border-top-color:#ffefe9bb;color:#fbf1ef;box-shadow:0 30px 100px #14253c40,inset 0 1px 1px #fff5}
.card-top{color:#f2e1e9}.card-top>span:last-child,.card-spark{color:#ffd0ad}.contact-card label{font-size:13px}.contact-card input,.contact-card textarea{color:#fff6f1;border-bottom-color:#e6dee76b;font-weight:500}.contact-card input::placeholder,.contact-card textarea::placeholder{color:#e4dce5}.contact-card input:focus,.contact-card textarea:focus{border-color:#ffd4ae;box-shadow:0 1px #ffd4ae}.card-bottom>span{color:#e1d7e2}.send{background:#ffccaa;color:#4e3e59;box-shadow:0 4px 20px #243b5b22}.send:hover{background:#ffdcc2}.contact-card #formStatus{color:#ffe2c6;font-weight:600}.thank-you{border:1px solid #e5d7f040;border-radius:20px;background:#e9d9ee12;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
@supports not (backdrop-filter:blur(1px)){.contact-card{background:#56728beF}}
#sun>circle:first-child{animation:sun-halo 9s ease-in-out infinite alternate;transform-origin:1120px 420px}
.robot-breathe{animation:robot-breathe 5.5s ease-in-out infinite;transform-origin:0 55px}.robot-head{animation:robot-gaze 11s ease-in-out infinite;transform-origin:0 12px}.antenna-light{animation:antenna 4s ease-in-out infinite}.leg{animation:far-leg 3.3s ease-in-out infinite alternate;transform-origin:20% 0}.leg-right{animation-delay:-1.65s}
.comet{animation:comet 27s linear infinite;animation-delay:-4s}.goose-track{transform:translate(var(--goose-start,-140px),777px);animation:goose-crossing var(--goose-duration,72s) linear infinite;animation-delay:0s;animation-fill-mode:both}.goose-bob{animation:goose-bob 3.5s ease-in-out infinite}.goose-wake{transform-box:fill-box;transform-origin:center;animation:wake 3.5s ease-out infinite}
@keyframes sun-halo{to{opacity:.7;transform:scale(1.06)}}
@keyframes robot-breathe{50%{transform:translateY(1.7px) rotate(.7deg)}}
@keyframes robot-gaze{0%,100%{transform:rotate(-2deg)}45%,65%{transform:rotate(3deg)}}
@keyframes antenna{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes far-leg{from{transform:rotate(-7deg)}to{transform:rotate(9deg)}}
@keyframes comet{0%,69%{opacity:0;transform:translate(200px,-30px)}70%{opacity:0;transform:translate(200px,-30px)}71.5%{opacity:.9}77%{opacity:0;transform:translate(1100px,310px)}100%{opacity:0;transform:translate(1100px,310px)}}
@keyframes goose-crossing{from{transform:translate(var(--goose-start,-140px),777px)}to{transform:translate(var(--goose-end,1740px),777px)}}
@keyframes goose-bob{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(2px) rotate(.5deg)}}
@keyframes wake{from{transform:scale(.8);opacity:.5}to{transform:scale(1.3);opacity:0}}
.silk-aurora{transform-origin:800px 120px;animation:silk-flow 18s ease-in-out infinite alternate}
.aurora-veil{animation:veil-breath 13s ease-in-out infinite alternate}
.aurora-mist{animation:mist-flow 22s ease-in-out infinite alternate}
.aurora-edge,.aurora-thread{animation:silk-breath 11s ease-in-out infinite alternate}
.aurora-thread{animation-delay:-5s}.aurora-backflow{animation:backflow 24s ease-in-out infinite alternate}
.silk-wisp{animation:wisp-flow var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
.reflection-wave{transform-box:fill-box;transform-origin:center;animation:water-wave var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
@keyframes silk-flow{0%{transform:translate(-30px,-12px) skewX(-5deg) scaleY(.96)}50%{transform:translate(12px,6px) skewX(1deg) scaleY(1.04)}100%{transform:translate(45px,-6px) skewX(5deg) scaleY(1.02)}}
@keyframes veil-breath{from{opacity:.46;transform:translateY(-7px)}to{opacity:.8;transform:translateY(5px)}}
@keyframes mist-flow{from{transform:translate(-20px,-10px) scaleY(.9);opacity:.55}to{transform:translate(35px,8px) scaleY(1.08);opacity:.85}}
@keyframes silk-breath{from{opacity:.38;transform:translateY(-2px)}to{opacity:.76;transform:translateY(3px)}}
@keyframes backflow{from{transform:translate(-20px,-10px) skewY(-2deg)}to{transform:translate(20px,25px) skewY(2deg)}}
@keyframes wisp-flow{from{transform:translate(0,var(--lift)) scaleY(.97)}to{transform:translate(16px,calc(var(--lift) - 12px)) scaleY(1.04)}}
@keyframes water-wave{0%{transform:translateX(calc(var(--travel) * -1)) scaleX(.86);opacity:.35}50%{opacity:.7}100%{transform:translate(var(--travel),1.5px) scaleX(1.12);opacity:.45}}
@media(max-width:700px){.brand img{width:200px}h1{font-size:43px;letter-spacing:-2.5px}h1 em{letter-spacing:-2px}.hero-copy .eyebrow{font-size:7.5px}.contact-link{padding:10px 12px}.contact-heading h2{font-size:46px}.night-copy h2{font-size:43px}.contact-card{backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.goose-track{transform:translate(var(--goose-start,-140px),777px)}.comet{display:none}}

/* Keep the sky, glow, and terrain in independent paint layers. Large SVG
   filters on scroll-updated groups can lose their surfaces in Chromium. */
.landscape{will-change:auto;isolation:isolate}
.scene-plane{position:absolute;inset:0;width:100%;height:100%;display:block}
#skyScene{z-index:0}#scene{z-index:2}
.aurora-layer{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:var(--night);contain:layout paint;isolation:isolate}
.aurora-drift-plane{position:absolute;inset:0;will-change:transform;animation:aurora-composite 20s ease-in-out infinite alternate}
.aurora-art{filter:blur(7px)}
.silk-aurora,.aurora-veil,.aurora-mist,.aurora-edge,.aurora-thread,.aurora-backflow,.silk-wisp{animation:none;transform:none}
.silk-wisp{transform:translateY(var(--lift))}
.aurora-halo{opacity:.1}.aurora-edge{opacity:.32}.aurora-thread{opacity:.36}
.reflection-wave{animation:none}.reflection-band{transform-box:fill-box;transform-origin:center;animation:water-wave var(--duration) ease-in-out infinite alternate;animation-delay:var(--delay)}
.fixed-star{opacity:.55}
.contact-card{animation:none}
[data-active="false"] *, .tab-hidden *{animation-play-state:paused!important}
@keyframes aurora-composite{from{transform:translate3d(-18px,-6px,0) scale(1.02)}to{transform:translate3d(24px,10px,0) scale(1.04)}}
@media(min-aspect-ratio:18/10){#skyScene,#auroraScene{transform:translateY(-4%) scale(1.08)}}
@media(max-width:700px){.scene-plane{width:100%;margin-left:0}.aurora-art{filter:blur(5px)}}
@media(prefers-reduced-motion:reduce){.aurora-drift-plane{animation:none;will-change:auto}}

/* One continuous world coordinate system across the water surface. */
#scene,#skyScene,#auroraScene{transform:none}
.underwater{--shore-height:420px;padding-top:calc(var(--shore-height) + 48px);background:#3b6d88;scroll-margin-top:0}
#shoreBridge{position:absolute;top:0;left:0;width:100%;height:var(--shore-height);display:block;pointer-events:none}
.underwater-art{top:var(--shore-height);height:calc(100% - var(--shore-height))}
.cloud-track{animation:cloud-crossing var(--cloud-duration) linear infinite;animation-delay:var(--cloud-delay)}
.cloud-bank{opacity:calc(1 - var(--night)*.55)}
@keyframes cloud-crossing{from{transform:translate(-310px,var(--cloud-y))}to{transform:translate(1770px,var(--cloud-y))}}
@media(max-width:700px){.underwater{padding-top:calc(var(--shore-height) + 36px)}}
.forest-left{transform:translateX(var(--forest-left,0px))}.forest-right,.shore-right{transform:translateX(var(--forest-right,0px))}
.shore-left{transform:translateX(calc(var(--forest-left,0px) * .5))}
@media(max-width:700px){
 #forestFront .forest-left{transform:translateX(var(--forest-left)) translateY(320px) scaleY(.68)}
 #forestFront .forest-right{transform:translateX(var(--forest-right)) translateY(300px) scaleY(.7)}
 #forestMid .forest-left{transform:translateX(var(--forest-left)) translateY(396px) scaleY(.45)}
 #forestMid .forest-right{transform:translateX(var(--forest-right)) translateY(288px) scaleY(.6)}
}

/* A solid shore with a single submerged world behind every contact element. */
#shoreBridge{height:100%}
.underwater{background:#244b6b}
.aurora-art{filter:blur(1.6px)}
.aurora-drift-plane{animation:aurora-curtains 23s ease-in-out infinite alternate}
@keyframes aurora-curtains{0%{transform:translate3d(-15px,-7px,0) scale(1.02);opacity:.8}50%{opacity:1}100%{transform:translate3d(24px,12px,0) scale(1.04);opacity:.9}}
.waterline-shimmer{animation:surface-glimmer 7s ease-in-out infinite alternate}
.caustic-glints{animation:caustic-glow 9s ease-in-out infinite alternate}
@keyframes surface-glimmer{from{opacity:.55}to{opacity:.95}}
@keyframes caustic-glow{from{opacity:.1}to{opacity:.23}}
@keyframes bubble{from{transform:translateY(60px);opacity:0}10%,75%{opacity:.4}to{transform:translate(24px,var(--bubble-rise,-1600px));opacity:0}}
@media(max-width:700px){.aurora-art{filter:blur(1.3px)}}
@media(prefers-reduced-motion:reduce){.aurora-drift-plane{animation:none}}
@media(max-width:700px){
 .shore-left{transform:translateX(calc(var(--forest-left) - 215px)) scaleX(.6)}
 .shore-right{transform:translateX(var(--forest-right)) translateX(640px) scaleX(.6)}
}

/* The dedicated aurora renderer waves the curtain geometry at a bounded rate.
   Only the isolated sky-light plane repaints; terrain stays unfiltered. */
.aurora-art{filter:blur(6px)}
.aurora-drift-plane{animation:aurora-atmosphere 14s ease-in-out infinite alternate}
@keyframes aurora-atmosphere{from{transform:translate3d(-5px,-3px,0);opacity:.95}to{transform:translate3d(8px,4px,0);opacity:1}}
@media(max-width:700px){.aurora-art{filter:blur(4px)}}
@media(prefers-reduced-motion:reduce){.aurora-drift-plane{animation:none}}
