:root{--motion-ease:cubic-bezier(.16,1,.3,1)}

/* Abertura */
.site-loader{position:fixed;z-index:7000;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(28px,5vw,76px);overflow:hidden;background:#080808;color:#fff;transition:transform .9s var(--motion-ease),visibility .9s;animation:loader-failsafe .1s 5s forwards}
.site-loader:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 35%,rgba(242,122,0,.08),transparent 65%);transform:translateX(-100%);animation:loader-sheen 1.1s .1s var(--motion-ease) both}
.loader-brand{position:relative;display:flex;align-items:flex-end;gap:16px;overflow:hidden}
.loader-brand span{font:700 clamp(62px,13vw,210px)/.78 Syne,Arial,sans-serif;letter-spacing:-.085em;transform:translateY(115%);animation:loader-word .75s .08s var(--motion-ease) forwards}
.loader-brand small{margin-bottom:.4em;color:#777;font-size:9px;font-weight:800;letter-spacing:.25em;opacity:0;animation:loader-small .45s .48s ease forwards}
.loader-bottom{position:relative;display:grid;grid-template-columns:auto minmax(100px,1fr) 48px;align-items:center;gap:22px}
.loader-status{color:#777;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.loader-track{height:1px;overflow:hidden;background:#2b2b2b}
.loader-track i{display:block;width:0;height:100%;background:var(--orange);box-shadow:0 0 18px rgba(242,122,0,.7)}
.loader-count{font:600 12px/1 Manrope,Arial,sans-serif;text-align:right}
body.motion-loading{overflow:hidden}
body.motion-loaded .site-loader{transform:translateY(-101%);visibility:hidden;pointer-events:none}
body.motion-loading .site-header,body.motion-loading .hero-copy,body.motion-loading .hero-foot,body.motion-loading .sub-hero{opacity:0}
body.motion-loaded .site-header{animation:header-arrive .75s .22s var(--motion-ease) backwards}
body.motion-loaded .hero-copy,body.motion-loaded .sub-hero{animation:content-arrive 1s .2s var(--motion-ease) backwards}
body.motion-loaded .hero-foot{animation:content-arrive .8s .48s var(--motion-ease) backwards}
@keyframes loader-word{to{transform:none}}
@keyframes loader-small{to{opacity:1}}
@keyframes loader-sheen{to{transform:translateX(100%)}}
@keyframes loader-failsafe{to{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes header-arrive{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}
@keyframes content-arrive{from{opacity:0;filter:blur(7px);transform:translateY(42px)}to{opacity:1;filter:none;transform:none}}

/* Cursor e brilho */
.motion-cursor,.motion-glow{position:fixed;z-index:6000;left:0;top:0;pointer-events:none;opacity:0}
.motion-cursor-dot{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 18px rgba(242,122,0,.8);transition:width .25s var(--motion-ease),height .25s var(--motion-ease),background .25s}
.motion-cursor-ring{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:50%;transition:width .35s var(--motion-ease),height .35s var(--motion-ease),border-color .25s,background .25s}
.motion-cursor-ring span{font-size:0;font-weight:800;letter-spacing:.12em;transition:font-size .2s,color .2s}
.motion-cursor-ring.is-hover{width:62px;height:62px;border-color:rgba(242,122,0,.75);background:rgba(242,122,0,.08)}
.motion-cursor-ring.is-media{width:84px;height:84px;border-color:var(--orange);background:var(--orange)}
.motion-cursor-ring.is-media span{color:#fff;font-size:9px}
.motion-glow{z-index:4;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(242,122,0,.075),transparent 68%);mix-blend-mode:screen;transition:opacity .35s}
body.cursor-active .motion-cursor,body.cursor-active .motion-glow{opacity:1}
body.motion-loading .motion-cursor,body.motion-loading .motion-glow{opacity:0}

/* Entrada e ritmo */
.reveal{filter:blur(5px);transform:translateY(48px);transition:opacity 1s var(--motion-ease),transform 1s var(--motion-ease),filter 1s var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
.reveal.in-view{filter:none}
.client-logo-grid.reveal .client-logo,.service-summary.reveal article,.pricing-group.reveal .price-card,.booking-notes.reveal article{opacity:0;transform:translateY(22px);transition:opacity .7s var(--motion-ease),transform .7s var(--motion-ease),background .35s,border-color .35s}
.client-logo-grid.in-view .client-logo,.service-summary.in-view article,.pricing-group.in-view .price-card,.booking-notes.in-view article{opacity:1;transform:none;transition-delay:var(--motion-delay,0ms)}

/* Interações */
.motion-magnetic{will-change:transform;transform:translate3d(var(--magnetic-x,0px),var(--magnetic-y,0px),0);transition:transform .45s var(--motion-ease),background-color .25s,color .25s,border-color .25s}
.motion-magnetic:hover{transform:translate3d(var(--magnetic-x,0px),calc(var(--magnetic-y,0px) - 3px),0)}
.video-tile img{will-change:transform;transition:transform .8s var(--motion-ease),filter .5s ease}
.video-tile:hover img{transform:scale(1.065);filter:brightness(.58) saturate(.85)}
.price-card{transition:transform .45s var(--motion-ease),border-color .35s,background .35s}
.price-card:hover{transform:translateY(-8px);border-color:rgba(242,122,0,.55)}
.service-summary article{position:relative;overflow:hidden;transition:background .35s}
.service-summary article:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--motion-ease)}
.service-summary article:hover{background:rgba(242,122,0,.055)}
.service-summary article:hover:after{transform:scaleX(1)}
.photo-grid{overflow:hidden}
.photo-grid img{transition:transform .75s var(--motion-ease),filter .45s ease}
.photo-grid img:hover{transform:scale(1.025);filter:contrast(1.04) saturate(1.05)}
.browser-frame{transform-style:preserve-3d;will-change:transform}
.client-logo img{will-change:transform}

/* Navegação em movimento */
.site-header{transition:transform .55s var(--motion-ease),background-color .4s,border-color .4s,backdrop-filter .4s}
.site-header.is-scrolled{position:fixed;background:rgba(8,8,8,.82);border-color:rgba(255,255,255,.09);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.site-header.is-hidden{transform:translateY(-105%)}
.site-header nav>a:not(.nav-cta){position:relative}
.site-header nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--orange);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--motion-ease)}
.site-header nav>a:not(.nav-cta):hover:after{transform:scaleX(1);transform-origin:left}

@media (pointer:fine) and (min-width:901px){
  body.cursor-active,body.cursor-active a,body.cursor-active button,body.cursor-active .browser-frame,body.cursor-active .client-logo{cursor:none}
  body.cursor-active .video-modal video,body.cursor-active iframe{cursor:auto}
}

@media(max-width:900px){
  .motion-cursor,.motion-glow{display:none}
  .motion-magnetic,.motion-magnetic:hover{transform:none}
  .price-card:hover{transform:none}
  .loader-bottom{grid-template-columns:1fr 42px}
  .loader-status{display:none}
  .loader-brand{align-items:flex-start;flex-direction:column;gap:10px}
  .loader-brand small{margin:0}
}

@media(prefers-reduced-motion:reduce){
  .site-loader,.motion-cursor,.motion-glow{display:none!important}
  body.motion-loading{overflow:auto}
  .reveal,.client-logo-grid.reveal .client-logo,.service-summary.reveal article,.pricing-group.reveal .price-card,.booking-notes.reveal article{opacity:1;filter:none;transform:none;transition:none}
  .motion-magnetic,.motion-magnetic:hover,.price-card:hover,.video-tile:hover img,.photo-grid img:hover{transform:none;transition:none}
  .site-header{transition:none}
  body.motion-loaded .site-header,body.motion-loaded .hero-copy,body.motion-loaded .hero-foot,body.motion-loaded .sub-hero{animation:none}
}
