
/* Kian Computer Motion Edition — accessible, GPU-friendly effects */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}
html{scroll-padding-top:95px}
body{overflow-x:hidden}
.header{transition:background .35s,box-shadow .35s,backdrop-filter .35s}
.header.scrolled{background:rgba(10,24,48,.94);backdrop-filter:blur(16px);box-shadow:0 12px 35px #071b3550}
.mainnav a:not(.nav-book){position:relative}
.mainnav a:not(.nav-book)::after{content:"";position:absolute;bottom:-7px;left:0;width:100%;height:2px;background:#75b9ff;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--motion-ease)}
.mainnav a:not(.nav-book):hover::after,.mainnav a[aria-current]::after{transform:scaleX(1)}
.service-card{position:relative;overflow:hidden;isolation:isolate}
.service-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#42c7ff,#246feb,#a179ff);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--motion-ease)}
.service-card::after{content:"";position:absolute;width:170px;height:170px;right:-105px;top:-105px;border-radius:50%;background:radial-gradient(circle,#5db8ff35,transparent 70%);pointer-events:none;transition:transform .6s}
.service-card:hover::before{transform:scaleX(1)}
.service-card:hover::after{transform:translate(-45px,45px)}
.service-card .service-icon{display:inline-block;transform-origin:center;transition:transform .55s var(--motion-ease),filter .55s}
.service-card:hover .service-icon{transform:translateY(-5px) rotate(-9deg) scale(1.16);filter:drop-shadow(0 7px 9px #2863af55)}
.button,.nav-book{transition:transform .3s var(--motion-ease),box-shadow .3s,background .3s,filter .3s}
.button:hover,.nav-book:hover{transform:translateY(-3px);box-shadow:0 12px 28px #164d9b45}
.button:active,.nav-book:active{transform:translateY(0)}
.mini,.booking-panel,.detail-aside{transition:transform .4s var(--motion-ease),box-shadow .4s}
.mini:hover{transform:translateY(-7px);box-shadow:0 17px 35px #12396b1c}
.page-hero,.home-hero{position:relative;isolation:isolate;overflow:hidden}
.page-hero::before{content:"";position:absolute;z-index:-1;inset:-70%;background:conic-gradient(from 10deg at 50% 50%,transparent 0deg,#1c70b52b 65deg,transparent 125deg,#6877e12c 210deg,transparent 290deg);animation:ambientSpin 32s linear infinite;pointer-events:none}
.page-hero::after{content:"";position:absolute;z-index:-1;width:350px;height:350px;border:1px solid #9ad5ff20;border-radius:50%;right:-140px;bottom:-180px;box-shadow:0 0 0 55px #9ad5ff09,0 0 0 110px #9ad5ff06;pointer-events:none}
@keyframes ambientSpin{to{transform:rotate(360deg)}}
.hero-pills span{transition:transform .35s,background .35s}
.hero-pills span:hover{transform:translateY(-5px);background:#ffffff27}
.feature-art{transition:transform .7s var(--motion-ease),filter .7s}
.feature-art:hover{transform:translateY(-9px) scale(1.025);filter:drop-shadow(0 16px 16px #173e7130)}
/* JS applies these only after observing the target, preventing hidden content without JS */
.motion-ready[data-motion]{opacity:0;transform:translate3d(0,32px,0);transition:opacity .8s var(--motion-ease),transform .8s var(--motion-ease)}
.motion-ready[data-motion="left"]{transform:translate3d(-46px,0,0)}
.motion-ready[data-motion="right"]{transform:translate3d(46px,0,0)}
.motion-ready[data-motion="zoom"]{transform:scale(.92)}
.motion-ready.motion-in[data-motion]{opacity:1;transform:translate3d(0,0,0) scale(1)}
.motion-ready[data-motion-delay="1"]{transition-delay:90ms}
.motion-ready[data-motion-delay="2"]{transition-delay:180ms}
.motion-ready[data-motion-delay="3"]{transition-delay:270ms}
.motion-ready[data-motion-delay="4"]{transition-delay:360ms}
.motion-progress{position:fixed;top:0;left:0;z-index:100;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#3dbaf9,#3275ed,#9a7eff);pointer-events:none}
@media (prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
 .motion-ready[data-motion]{opacity:1!important;transform:none!important}
 .service-card:hover,.mini:hover,.button:hover{transform:none!important}
}
