/* Premium interactions — motion only; does not alter brand layout/identity */

:root{
  --ix-gold: rgba(201,168,76,0.45);
  --ix-gold-soft: rgba(201,168,76,0.18);
  --ix-ease: cubic-bezier(.22,.61,.36,1);
}

/* —— Page enter / leave —— */
html.ix-ready body{animation:ixPageIn .45s var(--ix-ease) both;}
html.ix-leaving body{animation:ixPageOut .28s ease both;pointer-events:none;}
@keyframes ixPageIn{from{opacity:0;}to{opacity:1;}}
@keyframes ixPageOut{from{opacity:1;}to{opacity:0;}}
@supports (view-transition-name: none){
  ::view-transition-old(root){animation:ixPageOut .28s ease both;}
  ::view-transition-new(root){animation:ixPageIn .4s var(--ix-ease) both;}
}

/* —— Nav: clearer top → solid on scroll —— */
nav#navbar{
  background:rgba(0,0,0,0.35);
  backdrop-filter:blur(8px);
  border-bottom-color:rgba(201,168,76,0.12);
}
nav#navbar.scrolled{
  background:rgba(0,0,0,0.97);
  backdrop-filter:blur(14px);
  border-bottom-color:rgba(201,168,76,0.28);
}
nav#navbar .nav-logo{transition:transform .35s var(--ix-ease), filter .35s ease;}
nav#navbar .nav-logo:hover{transform:scale(1.03);filter:drop-shadow(0 0 12px rgba(201,168,76,.35));}
nav#navbar .nav-logo img{transition:transform .35s var(--ix-ease), height .35s ease;}
nav#navbar.scrolled .nav-logo img{height:44px;width:44px;}
.nav-links a,.mobile-menu a,.footer-links a,.breadcrumb a,.link-arrow,.auryx-link{
  transition:color .3s ease, transform .3s var(--ix-ease), opacity .3s ease;
}
.nav-links a:hover{transform:translateY(-1px);}
.nav-cta,.btn-rock,.btn-rock-outline,.wpp-float,.footer-social a,.hamburger{
  min-height:44px;min-width:44px;
}
.nav-cta{
  transition:background .3s ease, color .3s ease, transform .3s var(--ix-ease), box-shadow .3s ease;
}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(201,168,76,.28);}
.nav-cta:active,.btn-rock:active,.btn-rock-outline:active{transform:translateY(0) scale(.97);}
.nav-links a:focus-visible,
.nav-cta:focus-visible,
.btn-rock:focus-visible,
.btn-rock-outline:focus-visible,
.footer-links a:focus-visible,
.footer-social a:focus-visible,
.wpp-float:focus-visible,
.link-arrow:focus-visible,
.hamburger:focus-visible,
.dep-card:focus-visible,
.servico-card:focus-visible,
.ix-modal-close:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* Mobile menu polish */
.mobile-menu{
  transition:transform .45s var(--ix-ease), opacity .35s ease;
}
.hamburger{transition:transform .25s ease;}
.hamburger:active{transform:scale(.92);}

/* —— Reveal variants (enhance existing) —— */
.reveal.reveal-up{transform:translateY(36px);}
.reveal.reveal-left{transform:translateX(-28px);}
.reveal.reveal-right{transform:translateX(28px);}
.reveal.reveal-zoom{transform:scale(.96);filter:blur(2px);}
.reveal.reveal-fade{transform:none;}
.reveal.in-view{filter:none;}
.reveal-stagger .r-item:nth-child(3n+1){transform:translateY(28px);}
.reveal-stagger .r-item:nth-child(3n+2){transform:translateY(34px) scale(.985);}
.reveal-stagger .r-item:nth-child(3n+3){transform:translateX(18px);}
.reveal-stagger.in-view .r-item{transform:none;}

/* —— Buttons: glow + ripple —— */
.btn-rock,.btn-rock-outline,.nav-cta{
  position:relative;overflow:hidden;isolation:isolate;
}
.btn-rock{box-shadow:0 0 0 rgba(201,168,76,0);}
.btn-rock:hover{box-shadow:0 10px 32px rgba(201,168,76,.38);}
.hero-btns .btn-rock{animation:ixCtaGlow 3.2s ease-in-out infinite;}
@keyframes ixCtaGlow{
  0%,100%{box-shadow:0 0 0 0 rgba(201,168,76,0);}
  50%{box-shadow:0 0 28px 2px rgba(201,168,76,.28);}
}
.ix-ripple{
  position:absolute;border-radius:50%;
  background:rgba(255,255,255,.35);
  transform:scale(0);pointer-events:none;
  animation:ixRipple .6s ease-out forwards;
}
.btn-rock-outline .ix-ripple{background:rgba(201,168,76,.35);}
@keyframes ixRipple{to{transform:scale(2.6);opacity:0;}}

/* —— Cards: lift, glow, interactive affordance —— */
.servico-card,.dep-card,.metodo-item,.chart-card{
  transition:transform .35s var(--ix-ease), box-shadow .35s ease, background .35s ease, border-color .35s ease;
  will-change:transform;
  transform-style:preserve-3d;
}
.servico-card:hover,.dep-card:hover,.metodo-item:hover{
  box-shadow:0 18px 40px rgba(0,0,0,.45), 0 0 0 1px var(--ix-gold-soft), 0 0 28px rgba(201,168,76,.08);
}
.servico-card.is-tilting,.dep-card.is-tilting,.metodo-item.is-tilting{
  transition:transform .08s linear, box-shadow .35s ease, background .35s ease;
}
.servico-card:active,.dep-card:active{transform:scale(.985);}
.servico-card{cursor:pointer;}
.dep-card{
  cursor:pointer;
}
.dep-card::after{
  content:'Ver completo';
  position:absolute;left:34px;bottom:14px;
  font-family:'Oswald',sans-serif;font-size:.62rem;letter-spacing:2px;
  text-transform:uppercase;color:var(--gold);opacity:0;
  transition:opacity .3s ease, transform .3s ease;
  transform:translateY(4px);pointer-events:none;
}
.dep-card:hover::after,.dep-card:focus-visible::after{opacity:.85;transform:translateY(0);}
.dep-card .dep-divider{margin-bottom:28px;}

/* —— Images: zoom in overflow wrappers —— */
.ix-media-zoom,.sobre-photo-big-frame,.sobre-photo-small,.detail-visual-badge,.page-header-bg{
  overflow:hidden;
}
.ix-media-zoom img,.sobre-photo-big-frame img,.sobre-photo-small img{
  transition:transform .7s var(--ix-ease);
}
.ix-media-zoom:hover img,.sobre-photo-big-frame:hover img,.sobre-photo-small:hover img{
  transform:scale(1.05);
}
.page-header-bg img{transition:transform 1.2s var(--ix-ease), opacity .4s ease;}
.page-header:hover .page-header-bg img{transform:scale(1.04);}

/* —— Social / footer / float —— */
.footer-social a{
  transition:transform .3s var(--ix-ease), border-color .3s ease, color .3s ease, box-shadow .3s ease;
}
.footer-social a:hover{
  transform:translateY(-3px) scale(1.06);
  box-shadow:0 8px 20px rgba(201,168,76,.2);
}
.footer-links a:hover{transform:translateX(3px);}
.wpp-float{
  transition:transform .3s var(--ix-ease), box-shadow .3s ease;
}
.wpp-float:hover{transform:scale(1.1);box-shadow:0 10px 32px rgba(37,211,102,.5);}
.wpp-float:active{transform:scale(.96);}

/* —— Hero decorative parallax helpers —— */
.hero-decor > span,.hero-bg-text,.hero-glow{
  will-change:transform;
}
.hd-bullseye{transition:transform .2s linear;}

/* —— Modal —— */
.ix-modal{
  position:fixed;inset:0;z-index:12000;
  display:flex;align-items:center;justify-content:center;
  padding:24px;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .35s ease, visibility .35s ease;
}
.ix-modal.open{opacity:1;visibility:visible;pointer-events:auto;}
.ix-modal-backdrop{
  position:absolute;inset:0;
  background:rgba(0,0,0,.78);
  backdrop-filter:blur(8px);
}
.ix-modal-dialog{
  position:relative;z-index:1;width:min(560px,100%);
  max-height:min(82vh,720px);overflow:auto;
  background:linear-gradient(165deg,#141414 0%,#0a0a0a 100%);
  border:1px solid rgba(201,168,76,.28);
  padding:36px 32px 28px;
  box-shadow:0 30px 80px rgba(0,0,0,.65), 0 0 40px rgba(201,168,76,.08);
  transform:translateY(18px) scale(.97);
  transition:transform .4s var(--ix-ease);
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px);
}
.ix-modal.open .ix-modal-dialog{transform:translateY(0) scale(1);}
.ix-modal-close{
  position:absolute;top:12px;right:12px;
  width:44px;height:44px;border:1px solid rgba(201,168,76,.25);
  background:transparent;color:var(--gold);font-size:1.1rem;
  display:grid;place-items:center;cursor:pointer;transition:.25s ease;
}
.ix-modal-close:hover{background:rgba(201,168,76,.12);transform:rotate(90deg);}
.ix-modal-kicker{
  font-family:'Oswald',sans-serif;font-size:.7rem;letter-spacing:3px;
  text-transform:uppercase;color:var(--gold);margin-bottom:10px;
}
.ix-modal-title{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(1.8rem,1.4rem + 1.5vw,2.6rem);
  letter-spacing:2px;color:#fff;margin-bottom:16px;line-height:1;
}
.ix-modal-stars{color:var(--gold);letter-spacing:2px;margin-bottom:14px;font-size:.85rem;}
.ix-modal-body{
  color:#9a9a9a;line-height:1.85;font-size:.95rem;font-style:italic;margin-bottom:22px;
}
.ix-modal-body:not(.is-quote){font-style:normal;color:#888;}
.ix-modal-meta{
  display:flex;align-items:center;gap:12px;margin-bottom:24px;
  padding-top:16px;border-top:1px solid rgba(201,168,76,.15);
}
.ix-modal-meta[hidden]{display:none!important;}
.ix-modal-avatar{
  width:42px;height:42px;background:rgba(201,168,76,.15);
  border:1px solid rgba(201,168,76,.3);
  display:grid;place-items:center;font-family:'Bebas Neue',sans-serif;color:var(--gold);
  clip-path:polygon(5px 0%, 100% 0%, calc(100% - 5px) 100%, 0% 100%);
}
.ix-modal-name{font-family:'Oswald',sans-serif;letter-spacing:1px;color:#ddd;}
.ix-modal-role{font-size:.75rem;color:#555;}
.ix-modal-actions{display:flex;flex-wrap:wrap;gap:12px;}
body.ix-modal-open{overflow:hidden;}

/* Scroll cue soft pulse */
.scroll-cue{transition:opacity .3s ease;}

/* Touch press feedback */
@media (pointer:coarse){
  .servico-card:active,.dep-card:active,.metodo-item:active,.btn-rock:active,.nav-cta:active{
    transform:scale(.97);
  }
  .dep-card::after{display:none;}
}

/* —— Reduced motion —— */
@media (prefers-reduced-motion: reduce){
  html.ix-ready body,html.ix-leaving body{animation:none !important;}
  .hero-btns .btn-rock{animation:none !important;}
  .reveal,.reveal-stagger .r-item{
    opacity:1 !important;transform:none !important;filter:none !important;transition:none !important;
  }
  .servico-card,.dep-card,.metodo-item,.chart-card,.btn-rock,.nav-cta,.footer-social a,.wpp-float,.ix-modal-dialog{
    transition:none !important;transform:none !important;
  }
  .ix-media-zoom:hover img,.sobre-photo-big-frame:hover img,.sobre-photo-small:hover img,
  .page-header:hover .page-header-bg img{transform:none !important;}
}
