/* =========================================================
   JVAQUA v8.5 — Premium Motion & Visual Refinement
   Elegant, subtle motion. Respects prefers-reduced-motion.
   ========================================================= */
:root{
  --premium-ease:cubic-bezier(.22,1,.36,1);
  --premium-ease-soft:cubic-bezier(.25,.46,.45,.94);
  --premium-blue:#0aa6df;
  --premium-deep:#06273b;
}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{background:#f7f9f9}

/* Header: glassier and more refined when scrolling */
.site-header{
  transition:background .45s var(--premium-ease),box-shadow .45s var(--premium-ease),transform .45s var(--premium-ease),border-color .45s ease;
  border-bottom:1px solid rgba(10,47,65,.06);
}
.site-header.is-scrolled{
  background:rgba(250,252,252,.90)!important;
  -webkit-backdrop-filter:blur(20px) saturate(145%);
  backdrop-filter:blur(20px) saturate(145%);
  box-shadow:0 14px 45px rgba(5,37,54,.08)!important;
  border-bottom-color:rgba(10,83,112,.09);
}
.brand img{transition:transform .45s var(--premium-ease),filter .45s ease}.site-header.is-scrolled .brand img{transform:scale(.94)}
.desktop-nav a{position:relative;transition:color .25s ease,background .3s ease,transform .3s var(--premium-ease),box-shadow .3s ease}
.desktop-nav a:not(.nav-cotizador):not(.nav-digital):hover{transform:translateY(-1px)}
.header-cta{transition:transform .3s var(--premium-ease),box-shadow .3s ease,filter .3s ease!important}.header-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(13,157,211,.22)!important;filter:saturate(1.08)}

/* Refined buttons */
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .32s var(--premium-ease),box-shadow .32s ease,filter .32s ease,background .32s ease!important}
.btn:before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.42) 45%,transparent 68%);transform:translateX(-135%);transition:transform .7s var(--premium-ease)}
.btn:hover:before{transform:translateX(135%)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.985)}

/* Reveal system: smoother + directional variants assigned via JS */
.reveal{opacity:0;transform:translate3d(0,24px,0) scale(.988);filter:blur(3px);transition:opacity .8s var(--premium-ease),transform .8s var(--premium-ease),filter .8s ease;transition-delay:var(--reveal-delay,0ms)}
.reveal[data-reveal="left"]{transform:translate3d(-28px,8px,0) scale(.992)}
.reveal[data-reveal="right"]{transform:translate3d(28px,8px,0) scale(.992)}
.reveal[data-reveal="scale"]{transform:translate3d(0,12px,0) scale(.96)}
.reveal.visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}

/* Hero polish */
.hero-home-card,.hero-inner-card,.digital-hero-v8-card{transition:box-shadow .65s var(--premium-ease),transform .65s var(--premium-ease)}
.hero-home-card{box-shadow:0 34px 90px rgba(4,30,43,.18)!important}
.hero-home-card:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--mx,72%) var(--my,24%),rgba(88,213,255,.14),transparent 30%);opacity:.75;transition:opacity .4s ease}
.hero-copy h1,.hero-inner-card h1,.digital-hero-v8-copy h1{animation:premiumTitleIn .9s var(--premium-ease) both}
.hero-copy>p,.hero-inner-card p,.digital-hero-v8-copy>p{animation:premiumFadeIn .9s .12s var(--premium-ease) both}
.hero-actions{animation:premiumFadeIn .9s .2s var(--premium-ease) both}
@keyframes premiumTitleIn{from{opacity:0;transform:translateY(28px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes premiumFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* Home feature cards: premium glass and reactive shine */
.hero-feature-card{transition:transform .45s var(--premium-ease),box-shadow .45s ease,border-color .35s ease,filter .35s ease!important;transform-origin:center;will-change:transform}
.hero-feature-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--card-x,50%) var(--card-y,50%),rgba(255,255,255,.48),transparent 34%);opacity:0;transition:opacity .3s ease;border-radius:inherit}
.hero-feature-card:hover{transform:translateY(-6px) scale(1.012);box-shadow:0 30px 72px rgba(0,31,49,.24)!important;border-color:rgba(131,219,249,.9)!important}
.hero-feature-card:hover:after{opacity:.55}
.digital-feature:hover{filter:saturate(1.08)}
.quote-ad-icon{transition:transform .5s var(--premium-ease),box-shadow .5s ease}.quote-feature-v84:hover .quote-ad-icon{transform:rotate(-5deg) scale(1.08);box-shadow:0 20px 38px rgba(8,140,194,.32)}
.digital-feature img{transition:transform .6s var(--premium-ease),filter .4s ease}.digital-feature:hover img{transform:scale(1.06) translateY(-2px);filter:saturate(1.08)}

/* Trust chips and pills */
.hero-v83-trust span,.chips span,.digital-capabilities-inline span{transition:transform .32s var(--premium-ease),background .32s ease,border-color .32s ease,box-shadow .32s ease}
.hero-v83-trust span:hover,.chips span:hover,.digital-capabilities-inline span:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(7,57,80,.09)}

/* Cards throughout site */
.image-card,.benefit,.value-card,.process-step,.service-row,.contact-primary,.contact-info,.commission-card,.digital-feature-grid-v8 article,.digital-price-card,.pricing-v83 .digital-price-card{
  transition:transform .45s var(--premium-ease),box-shadow .45s ease,border-color .35s ease!important;
}
.image-card:hover,.benefit:hover,.value-card:hover,.process-step:hover,.digital-feature-grid-v8 article:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(7,43,61,.12)!important;border-color:rgba(17,164,220,.23)!important}
.image-card{overflow:hidden}.image-card img{transition:transform .8s var(--premium-ease),filter .6s ease}.image-card:hover img{transform:scale(1.055);filter:saturate(1.06) contrast(1.02)}
.service-row:hover{transform:translateY(-5px);box-shadow:0 28px 70px rgba(7,43,61,.10)!important}.service-photo{overflow:hidden}.service-photo img{transition:transform .9s var(--premium-ease),filter .6s ease}.service-row:hover .service-photo img{transform:scale(1.045);filter:saturate(1.06)}

/* Portfolio & gallery: cinematic hover */
.portfolio-grid img,.gallery-item{transition:transform .55s var(--premium-ease),box-shadow .55s ease,filter .55s ease!important}.portfolio-grid img:hover{transform:translateY(-8px) scale(1.015);box-shadow:0 30px 70px rgba(4,32,48,.16);filter:saturate(1.08)}
.gallery-item{overflow:hidden}.gallery-item img{transition:transform .8s var(--premium-ease),filter .6s ease}.gallery-item:hover{transform:translateY(-7px);box-shadow:0 28px 60px rgba(4,32,48,.15)}.gallery-item:hover img{transform:scale(1.06);filter:saturate(1.1)}

/* Premium section separators */
.section-heading .kicker,.kicker,.eyebrow{transition:letter-spacing .4s var(--premium-ease),color .35s ease}.section-heading:hover .kicker{letter-spacing:.19em}
.section-soft{position:relative;background:linear-gradient(180deg,#f2f7f8 0%,#f7f9f9 100%)!important}
.section-soft:before{content:"";position:absolute;top:0;left:50%;width:min(88%,1180px);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(10,149,199,.16),transparent)}

/* Digital page: richer, still clean */
.digital-hero-v8-card{box-shadow:0 38px 100px rgba(4,76,119,.18)!important}
.aquo-showcase img{transition:transform 1.1s var(--premium-ease),filter .6s ease}.digital-hero-v8-card:hover .aquo-showcase img{transform:scale(1.025);filter:saturate(1.04)}
.digital-floating-features span{animation:floatPill 5s ease-in-out infinite;animation-delay:var(--float-delay,0s)}
.digital-floating-features span:nth-child(2){--float-delay:.6s}.digital-floating-features span:nth-child(3){--float-delay:1.2s}.digital-floating-features span:nth-child(4){--float-delay:1.8s}
@keyframes floatPill{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.digital-price-card{position:relative;overflow:hidden}.digital-price-card:after{content:"";position:absolute;inset:-40%;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.19) 49%,transparent 63%);transform:translateX(-80%) rotate(8deg);transition:transform 1s var(--premium-ease)}.digital-price-card:hover:after{transform:translateX(80%) rotate(8deg)}
.plan-essential:hover{transform:translateY(-9px) scale(1.018)!important}.plan-professional:hover{transform:translateY(-9px) scale(1.018)!important;box-shadow:0 34px 75px rgba(4,79,159,.25)!important}

/* Cotizador: premium transitions without touching pricing logic */
.quote-board-v83{box-shadow:0 34px 90px rgba(10,50,69,.13)!important;transition:box-shadow .45s ease,border-color .45s ease}
.quote-board-v83:focus-within{box-shadow:0 38px 100px rgba(10,120,167,.18)!important;border-color:rgba(30,169,218,.34)}
.quote-tab{transition:transform .3s var(--premium-ease),background .3s ease,box-shadow .3s ease,color .3s ease!important}.quote-tab:hover{transform:translateY(-2px)}
.form-grid-v83 input,.form-grid-v83 select,.form-grid-v83 textarea{transition:border-color .3s ease,box-shadow .3s ease,background .3s ease,transform .3s var(--premium-ease)!important}.form-grid-v83 input:focus,.form-grid-v83 select:focus,.form-grid-v83 textarea:focus{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(18,166,218,.10)!important;border-color:#16a9dc!important;background:#fff!important}
.quote-result-v83{transition:background .5s ease,box-shadow .5s ease}.quote-result-v83.has-result{animation:resultArrive .65s var(--premium-ease) both}
@keyframes resultArrive{0%{opacity:.88;transform:scale(.985)}100%{opacity:1;transform:none}}
.quote-result-v83 .result-price{transition:transform .4s var(--premium-ease),text-shadow .4s ease}.quote-result-v83.has-result .result-price{animation:pricePop .72s .08s var(--premium-ease) both}
@keyframes pricePop{0%{opacity:0;transform:translateY(12px) scale(.94)}100%{opacity:1;transform:none}}

/* Footer and CTA */
.cta-band,.referral-strip,.trust-panel{position:relative;overflow:hidden;transition:transform .5s var(--premium-ease),box-shadow .5s ease}.cta-band:hover,.referral-strip:hover,.trust-panel:hover{transform:translateY(-4px);box-shadow:0 30px 75px rgba(4,32,48,.16)}
.site-footer a{transition:color .25s ease,transform .25s var(--premium-ease)}.site-footer a:hover{transform:translateX(3px)}
.whatsapp-float{transition:transform .35s var(--premium-ease),box-shadow .35s ease!important;animation:waBreathe 4.8s ease-in-out infinite}.whatsapp-float:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 18px 45px rgba(0,0,0,.22)}
@keyframes waBreathe{0%,88%,100%{box-shadow:0 10px 28px rgba(0,0,0,.16)}94%{box-shadow:0 10px 28px rgba(0,0,0,.16),0 0 0 9px rgba(25,207,107,.09)}}
.back-top{transition:transform .3s var(--premium-ease),opacity .3s ease,box-shadow .3s ease!important}.back-top:hover{transform:translateY(-4px)}

/* Page load veil */
body:before{content:"";position:fixed;z-index:99999;inset:0;background:#f7f9f9;pointer-events:none;opacity:0;animation:pageVeil .62s var(--premium-ease) both}
@keyframes pageVeil{0%{opacity:1}65%{opacity:.15}100%{opacity:0;visibility:hidden}}

/* Responsive: keep motion tasteful */
@media(max-width:860px){
  .site-header.is-scrolled{backdrop-filter:blur(16px)}
  .hero-feature-card:hover,.image-card:hover,.benefit:hover,.value-card:hover,.process-step:hover,.service-row:hover,.portfolio-grid img:hover,.gallery-item:hover,.plan-essential:hover,.plan-professional:hover{transform:none!important}
  .digital-floating-features span{animation:none}
  .whatsapp-float{animation:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1!important;transform:none!important;filter:none!important}
}
