.hero-image{will-change:transform;transform:scale(1.04)}
.hero-copy .eyebrow{opacity:0;animation:soft-rise .8s ease .15s forwards}
.hero h1 .line{display:inline-block;color:#fff;opacity:0;transform:translateY(56px);filter:blur(6px);animation:title-rise 1.15s cubic-bezier(.16,1,.3,1) .35s forwards}
.hero h1 .line.gold{color:#f1d79f;animation-delay:.58s}
.hero-lead{opacity:0;animation:soft-rise .9s ease 1s forwards}
.round-link{opacity:0;animation:soft-rise .9s ease 1.18s forwards}
.hero-ripples{position:absolute;z-index:1;left:44%;bottom:7%;width:34vw;height:12vw;pointer-events:none}
.hero-ripples i{position:absolute;left:50%;top:50%;width:80%;height:42%;border:1px solid rgba(244,238,226,.26);border-radius:50%;transform:translate(-50%,-50%) scale(.2);opacity:0;animation:ripple 7s linear infinite}
.hero-ripples i:nth-child(2){animation-delay:2.3s}.hero-ripples i:nth-child(3){animation-delay:4.6s}
.paper-drift{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}
.paper-drift i{position:absolute;width:18px;height:12px;background:rgba(255,247,224,.76);clip-path:polygon(0 15%,100% 0,83% 100%,18% 80%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.25));animation:paper-float 13s ease-in-out infinite}
.paper-drift i:nth-child(1){left:55%;top:70%;animation-delay:-2s}.paper-drift i:nth-child(2){left:72%;top:39%;width:12px;height:8px;animation-delay:-7s}.paper-drift i:nth-child(3){left:88%;top:58%;width:22px;height:14px;animation-delay:-10s}.paper-drift i:nth-child(4){left:63%;top:25%;width:10px;height:7px;animation-delay:-5s}
.reveal{opacity:0;transform:translateY(48px);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1)}.reveal.in-view{opacity:1;transform:none}
.reveal-item{opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1)}.in-view .reveal-item{opacity:1;transform:none}.in-view .reveal-item:nth-child(2){transition-delay:.12s}.in-view .reveal-item:nth-child(3){transition-delay:.24s}.in-view .reveal-item:nth-child(4){transition-delay:.36s}
.water-words span{animation:word-drift 7s ease-in-out infinite}.water-words span:nth-child(2){animation-delay:-2s}.water-words span:nth-child(3){animation-delay:-4s}.water-words span:nth-child(4){animation-delay:-6s}
.contact-orbit{animation:orbit 28s linear infinite}.contact-button{position:relative}.contact-button:before{content:"";position:absolute;inset:-14px;border:1px solid rgba(8,24,39,.25);border-radius:50%;animation:pulse 2.8s ease-out infinite}
@keyframes title-rise{to{opacity:1;transform:none;filter:blur(0)}}@keyframes soft-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(.2);opacity:0}15%{opacity:.55}100%{transform:translate(-50%,-50%) scale(1.35);opacity:0}}@keyframes paper-float{0%,100%{transform:translate(0,0) rotate(-8deg)}25%{transform:translate(22px,-28px) rotate(16deg)}50%{transform:translate(-8px,-58px) rotate(-4deg)}75%{transform:translate(-26px,-24px) rotate(-18deg)}}@keyframes word-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes orbit{to{transform:rotate(351deg)}}@keyframes pulse{0%{transform:scale(.88);opacity:0}35%{opacity:1}100%{transform:scale(1.16);opacity:0}}
@media(max-width:860px){.hero-ripples{left:24%;width:70vw;height:28vw}.paper-drift i:nth-child(n+3){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image,.hero-copy .eyebrow,.hero h1 .line,.hero-lead,.round-link,.hero-ripples i,.paper-drift i,.water-words span,.contact-orbit,.contact-button:before{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.reveal,.reveal-item{opacity:1;transform:none;transition:none}}

.brand-mark.official-logo{object-fit:contain;background:#fff;border:0;border-radius:0;padding:3px;flex-shrink:0}

.philosophy h2{font-size:clamp(2rem,4vw,4rem)}
.keep-line{white-space:nowrap}
@media(max-width:860px){.philosophy h2{font-size:clamp(1.625rem,7vw,3.5rem)}}

footer .site-description{grid-column:1/-1;font-size:14px;color:#c5cdd4;margin-top:12px}
footer>small{margin-top:0}
