/* =========================================================
   V150 — CINEMATIC MOTION SYSTEM
   Airbrush Some Stuff
   Transform/opacity-first motion layer designed to feel premium,
   fast and intentional without turning the site into a gimmick.
   ========================================================= */
:root{
  --v150-ease:cubic-bezier(.2,.78,.18,1);
  --v150-ease-out:cubic-bezier(.16,1,.3,1);
  --v150-spring:cubic-bezier(.18,1.28,.34,1);
  --v150-cyan:#00e6e6;
  --v150-blue:#16bfff;
  --v150-black:#020508;
}

/* Retire the old light-sweep page overlay. V29 still handles useful micro UI. */
.v29-page-transition{display:none!important}
body.v29-entering .v29-page-transition,
body.v29-leaving .v29-page-transition{display:none!important}

/* ---------------- GARAGE DOOR PAGE TRANSITION ---------------- */
.v150-page-transition{
  position:fixed;inset:0;z-index:2147483600;visibility:hidden;pointer-events:none;
  overflow:hidden;background:transparent;contain:layout paint style;
}
.v150-page-transition.is-active,.v150-arriving .v150-page-transition{visibility:visible;pointer-events:auto}
.v150-garage-door{
  position:absolute;inset:0;transform:translate3d(0,-104%,0);will-change:transform;
  background:
    linear-gradient(90deg,rgba(255,255,255,.02),transparent 7%,transparent 93%,rgba(255,255,255,.02)),
    repeating-linear-gradient(180deg,#222b30 0,#222b30 calc(12.5% - 5px),#0b1114 calc(12.5% - 5px),#070b0e 12.5%),
    linear-gradient(90deg,#0a1013,#313a3f 47%,#11181c);
  border-bottom:9px solid #020405;
  box-shadow:0 28px 70px rgba(0,0,0,.78),inset 0 0 0 1px rgba(255,255,255,.055);
  backface-visibility:hidden;
}
.v150-garage-door::before,.v150-garage-door::after{content:"";position:absolute;top:0;bottom:0;width:14px;background:linear-gradient(90deg,#020405,#182126,#030506);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.v150-garage-door::before{left:0}.v150-garage-door::after{right:0}
.v150-garage-brand{position:absolute;inset:0;display:grid;place-items:center;padding:9vh 8vw 14vh;text-align:center}
.v150-garage-brand img{width:min(520px,66vw);height:auto;filter:drop-shadow(0 0 24px rgba(0,230,230,.2)) drop-shadow(0 18px 30px rgba(0,0,0,.55));opacity:.96}
.v150-garage-status{margin-top:22px;color:#eefdff;font-weight:900;font-size:clamp(.68rem,1vw,.82rem);letter-spacing:.24em;text-transform:uppercase;text-shadow:0 0 16px rgba(0,230,230,.4)}
.v150-garage-status b{color:var(--v150-cyan);font-weight:950}
.v150-garage-bottom{
  position:absolute;left:2.5%;right:2.5%;bottom:0;height:22px;border-top:1px solid rgba(255,255,255,.09);
  background:repeating-linear-gradient(135deg,#090c0e 0 15px,#11d8dc 15px 18px,#090c0e 18px 33px);
  box-shadow:0 -2px 24px rgba(0,230,230,.28),0 10px 20px rgba(0,0,0,.55);
}
.v150-impact-line{position:absolute;left:0;right:0;bottom:0;height:5px;opacity:0;background:linear-gradient(90deg,transparent 4%,#00e6e6 35%,#fff 50%,#16bfff 65%,transparent 96%);filter:blur(.4px);box-shadow:0 0 36px rgba(0,230,230,.9)}
.v150-impact-haze{position:absolute;inset:52% -10% -30%;opacity:0;background:radial-gradient(ellipse at 50% 100%,rgba(0,230,230,.2),transparent 47%);filter:blur(8px)}
.v150-page-transition.is-closing .v150-garage-door{animation:v150GarageClose .50s var(--v150-ease) forwards}
.v150-page-transition.is-opening .v150-garage-door,.v150-arriving .v150-garage-door{transform:translate3d(0,0,0)}
.v150-page-transition.is-opening .v150-garage-door{animation:v150GarageOpen .66s cubic-bezier(.65,.02,.3,1) forwards}
.v150-page-transition.is-hit .v150-impact-line{animation:v150ImpactLine .28s ease-out}
.v150-page-transition.is-hit .v150-impact-haze{animation:v150ImpactHaze .36s ease-out}
.v150-page-transition.is-hit .v150-garage-brand{animation:v150BrandHit .19s linear}
body.v150-impact #mainContent{animation:v150ContentImpact .15s linear}
@keyframes v150GarageClose{0%{transform:translate3d(0,-104%,0)}72%{transform:translate3d(0,2.1%,0)}87%{transform:translate3d(0,-.8%,0)}100%{transform:translate3d(0,0,0)}}
@keyframes v150GarageOpen{0%{transform:translate3d(0,0,0)}10%{transform:translate3d(0,.8%,0)}100%{transform:translate3d(0,-106%,0)}}
@keyframes v150ImpactLine{0%{opacity:0;transform:scaleX(.2)}25%{opacity:1}100%{opacity:0;transform:scaleX(1)}}
@keyframes v150ImpactHaze{0%{opacity:0;transform:translateY(10px)}30%{opacity:1}100%{opacity:0;transform:translateY(-12px)}}
@keyframes v150BrandHit{0%,100%{transform:none}33%{transform:translateY(2px)}66%{transform:translateY(-1px)}}
@keyframes v150ContentImpact{0%,100%{transform:none}30%{transform:translateY(2px)}65%{transform:translateY(-1px)}}

/* ---------------- HEADER MOTION ---------------- */
body.v149-theme .site-header.v141-site-header{transition:min-height .32s var(--v150-ease-out),background .32s ease,box-shadow .32s ease,border-color .32s ease,transform .32s var(--v150-ease-out)}
body.v149-theme .site-header.v141-site-header::before{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:calc(var(--v150-scroll,0) * 100%);background:linear-gradient(90deg,var(--v150-cyan),var(--v150-blue));box-shadow:0 0 16px rgba(0,230,230,.7);pointer-events:none}
body.v150-scrolled .site-header.v141-site-header{background:linear-gradient(180deg,rgba(2,6,9,.985),rgba(3,8,12,.95));box-shadow:0 14px 48px rgba(0,0,0,.48),0 0 28px rgba(0,230,230,.04)}
body.v150-scrolled .site-logo-v32{transform:scale(.94);transform-origin:left center}
body.v149-theme .site-logo-v32{transition:transform .32s var(--v150-ease-out),filter .32s ease}

/* ---------------- HERO: STAGED ENTRANCE + DEPTH ---------------- */
.v149-hero{--v150-px:0;--v150-py:0}
.v149-hero-bg{transform:scale(1.045) translate3d(calc(var(--v150-px) * -7px),calc(var(--v150-py) * -4px),0);transition:transform .22s linear;will-change:transform}
.v149-hero-aurora{transform:translate3d(calc(var(--v150-px) * 12px),calc(var(--v150-py) * 7px),0);transition:transform .22s linear;will-change:transform}
.v149-hero-copy>*{opacity:0;transform:translate3d(0,26px,0)}
body.v150-hero-ready .v149-hero-copy>*{animation:v150HeroCopy .76s var(--v150-ease-out) forwards}
body.v150-hero-ready .v149-hero-copy>*:nth-child(1){animation-delay:.06s}
body.v150-hero-ready .v149-hero-copy>*:nth-child(2){animation-delay:.13s}
body.v150-hero-ready .v149-hero-copy>*:nth-child(3){animation-delay:.2s}
body.v150-hero-ready .v149-hero-copy>*:nth-child(4){animation-delay:.27s}
body.v150-hero-ready .v149-hero-copy>*:nth-child(5){animation-delay:.34s}
.v149-hero-collage{opacity:0;transform:translate3d(28px,18px,0) scale(.975)}
body.v150-hero-ready .v149-hero-collage{animation:v150HeroCollage .92s .15s var(--v150-ease-out) forwards}
body.v150-hero-ready .v149-collage-card.c1{animation:v150FloatOne 7.5s 1.2s ease-in-out infinite alternate}
body.v150-hero-ready .v149-collage-card.c2{animation:v150FloatTwo 8.5s 1.25s ease-in-out infinite alternate}
body.v150-hero-ready .v149-collage-card.c3{animation:v150FloatThree 7s 1.3s ease-in-out infinite alternate}
body.v150-hero-ready .v149-amazing-mark{animation:v150MarkIn .8s .38s var(--v150-spring) both}
@keyframes v150HeroCopy{to{opacity:1;transform:none}}
@keyframes v150HeroCollage{to{opacity:1;transform:none}}
@keyframes v150MarkIn{0%{opacity:0;transform:translate3d(-18px,14px,0) rotate(-5deg) scale(.82)}100%{opacity:1;transform:none}}
@keyframes v150FloatOne{from{transform:translate3d(0,0,0) rotate(.01deg)}to{transform:translate3d(0,-10px,0) rotate(.35deg)}}
@keyframes v150FloatTwo{from{transform:translate3d(0,0,0) rotate(.01deg)}to{transform:translate3d(-7px,7px,0) rotate(-.35deg)}}
@keyframes v150FloatThree{from{transform:translate3d(0,0,0) rotate(.01deg)}to{transform:translate3d(7px,-6px,0) rotate(.28deg)}}
.v149-scroll-hint::after{content:"";display:block;width:1px;height:28px;margin:10px auto 0;background:linear-gradient(var(--v150-cyan),transparent);transform-origin:top;animation:v150ScrollHint 1.8s ease-in-out infinite}
@keyframes v150ScrollHint{0%{transform:scaleY(.2);opacity:.25}45%{transform:scaleY(1);opacity:1}100%{transform:translateY(11px) scaleY(.25);opacity:0}}

/* ---------------- INTENTIONAL SCROLL REVEALS ---------------- */
.v150-reveal{opacity:0;filter:blur(7px);transform:translate3d(0,42px,0) scale(.985);transition:opacity .72s ease,transform .84s var(--v150-ease-out),filter .72s ease;will-change:opacity,transform,filter}
.v150-reveal[data-v150-direction="left"]{transform:translate3d(-46px,18px,0) scale(.99)}
.v150-reveal[data-v150-direction="right"]{transform:translate3d(46px,18px,0) scale(.99)}
.v150-reveal[data-v150-direction="scale"]{transform:translate3d(0,18px,0) scale(.94)}
.v150-reveal.v150-visible{opacity:1;filter:none;transform:none}
.v150-stagger>.v150-stagger-item{opacity:0;transform:translate3d(0,24px,0) scale(.975);transition:opacity .5s ease,transform .66s var(--v150-ease-out);transition-delay:calc(var(--v150-i,0) * 55ms)}
.v150-stagger.v150-visible>.v150-stagger-item{opacity:1;transform:none}

/* ---------------- PREMIUM CARD / GALLERY INTERACTION ---------------- */
.v150-tilt{--v150-rx:0deg;--v150-ry:0deg;--v150-lx:50%;--v150-ly:50%;transform:perspective(900px) rotateX(var(--v150-rx)) rotateY(var(--v150-ry)) translateZ(0);transform-style:preserve-3d;transition:transform .22s ease,border-color .25s ease,box-shadow .25s ease}
.v150-tilt::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--v150-lx) var(--v150-ly),rgba(0,230,230,.12),transparent 34%);opacity:0;transition:opacity .22s ease;z-index:3}
.v150-tilt:hover::after{opacity:1}
.v149-service-card img,.v149-gallery-tile img,.v149-path-card img{transition:transform .75s var(--v150-ease-out),filter .4s ease}
.v149-service-card:hover img,.v149-gallery-tile:hover img{transform:scale(1.065)}
.v149-service-card::before,.v149-gallery-tile::before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.13) 48%,transparent 70%);transform:translateX(-125%);transition:transform .72s var(--v150-ease-out);pointer-events:none}
.v149-service-card:hover::before,.v149-gallery-tile:hover::before{transform:translateX(125%)}
.v149-gallery-tile span{transition:transform .35s var(--v150-ease-out),text-shadow .35s ease}
.v149-gallery-tile:hover span{transform:translateY(-4px);text-shadow:0 0 20px rgba(0,230,230,.28)}

/* ---------------- BUTTON LIGHT / MAGNETIC FEEL ---------------- */
.v149-action,.btn{--v150-mx:0px;--v150-my:0px;position:relative;isolation:isolate;transform:translate3d(var(--v150-mx),var(--v150-my),0);transition:transform .22s var(--v150-ease-out),box-shadow .24s ease,border-color .24s ease,background .24s ease}
.v149-action::before,.btn::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.28) 48%,transparent 70%);transform:translateX(-120%);transition:transform .58s var(--v150-ease-out),opacity .22s ease}
.v149-action:hover::before,.btn:hover::after{opacity:.6;transform:translateX(120%)}

/* ---------------- BUSINESS ECOSYSTEM ---------------- */
.biz149-eco-track>a{opacity:.55;transform:translateY(18px) scale(.98);transition:opacity .45s ease,transform .6s var(--v150-ease-out),border-color .25s ease,box-shadow .25s ease}
.biz149-eco-track.v150-visible>a{opacity:1;transform:none}
.biz149-eco-track.v150-visible>a:nth-of-type(1){transition-delay:.02s}.biz149-eco-track.v150-visible>a:nth-of-type(2){transition-delay:.1s}.biz149-eco-track.v150-visible>a:nth-of-type(3){transition-delay:.18s}.biz149-eco-track.v150-visible>a:nth-of-type(4){transition-delay:.26s}.biz149-eco-track.v150-visible>a:nth-of-type(5){transition-delay:.34s}.biz149-eco-track.v150-visible>a:nth-of-type(6){transition-delay:.42s}
.biz149-eco-track>i{opacity:.25;transform:scaleX(.3);transition:opacity .4s ease,transform .5s var(--v150-ease-out);transform-origin:left center}
.biz149-eco-track.v150-visible>i{opacity:1;transform:scaleX(1)}

/* ---------------- VIP: ONE-TIME METALLIC SHIMMER ---------------- */
.v149-vip-card{overflow:hidden}
.v149-vip-card::after{content:"";position:absolute;z-index:4;top:-20%;bottom:-20%;width:22%;left:-35%;transform:skewX(-17deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);opacity:0;pointer-events:none}
.v149-vip-grid.v150-visible .v149-vip-card::after{animation:v150VipShine 1.05s .45s ease-out 1}
.v149-vip-grid.v150-visible .v149-vip-card.gold::after{animation-delay:.62s}
@keyframes v150VipShine{0%{left:-35%;opacity:0}18%{opacity:.55}100%{left:122%;opacity:0}}

/* ---------------- COASTAL CINEMA ---------------- */
.v149-pensacola{overflow:hidden;isolation:isolate}
.v149-pensacola img{transform:scale(1.055);transition:transform 5.5s cubic-bezier(.2,.65,.2,1),filter 1s ease}
.v149-pensacola.v150-visible img{transform:scale(1)}
.v149-pensacola::before{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,18,25,.22),transparent 38%,transparent 68%,rgba(0,18,25,.12));opacity:.6}

/* ---------------- MOBILE / PERFORMANCE SAFETY ---------------- */
body.v150-lite .v149-hero-bg,body.v150-lite .v149-hero-aurora{transform:none!important;transition:none!important}
body.v150-lite .v150-tilt{transform:none!important}
@media(max-width:900px){
  .v150-tilt{transform:none!important}
  body.v150-hero-ready .v149-collage-card.c1,body.v150-hero-ready .v149-collage-card.c2,body.v150-hero-ready .v149-collage-card.c3{animation:none}
  .v150-reveal{filter:none;transform:translate3d(0,26px,0)}
  .v150-garage-brand img{width:min(500px,78vw)}
  .v150-garage-status{letter-spacing:.18em}
}
@media(prefers-reduced-motion:reduce){
  .v150-page-transition{display:none!important}
  .v150-reveal,.v150-stagger-item,.v149-hero-copy>*,.v149-hero-collage{opacity:1!important;filter:none!important;transform:none!important;animation:none!important;transition:none!important}
  .v149-scroll-hint::after,.v149-vip-card::after{display:none!important}
  .v149-hero-bg,.v149-hero-aurora{transform:none!important;transition:none!important}
  .v150-tilt{transform:none!important;transition:none!important}
}
