/* Accessibility and responsive refinements over the original visual system. */
.skip-link{position:absolute;z-index:10000;left:1rem;top:-5rem;padding:.8rem 1rem;background:#fff;color:#111;border-radius:.35rem}
.skip-link:focus{top:1rem}
.mobile-navigation[hidden]{display:none!important}
.mobile-navigation:not([hidden]){display:grid;gap:.25rem;padding:1rem;position:absolute;z-index:1000;left:1rem;right:1rem;top:calc(100% + .5rem);border:1px solid rgba(20,20,20,.12);border-radius:1rem;background:#f8f8f7;box-shadow:0 18px 48px rgba(0,0,0,.12)}
.mobile-navigation a{padding:.85rem 1rem;text-decoration:none}
.site-header{position:relative}
.hero-artwork{animation:evoluxHeroDrift 18s ease-in-out infinite alternate;transform-origin:center}
.hero-visual.motion-paused .hero-artwork{animation-play-state:paused}
@keyframes evoluxHeroDrift{from{transform:scale(1.015) translate3d(0,0,0)}to{transform:scale(1.045) translate3d(0,-.5%,0)}}
.privacy-dialog,.feedback-lightbox{max-width:min(92vw,48rem);max-height:90vh;border:1px solid rgba(120,120,120,.25);border-radius:1rem;padding:clamp(1.25rem,3vw,2rem);color:inherit;background:#f8f8f7;box-shadow:0 22px 90px rgba(0,0,0,.3)}
.privacy-dialog::backdrop,.feedback-lightbox::backdrop{background:rgba(5,7,10,.76);backdrop-filter:blur(3px)}
.privacy-dialog h2{margin:0 0 1rem}
.privacy-dialog p{max-width:64ch;line-height:1.7}
.privacy-close,.lightbox-close{border:1px solid currentColor;border-radius:999px;padding:.6rem .95rem;background:transparent;color:inherit;cursor:pointer}
.privacy-close{float:right;margin-left:1rem}
.feedback-lightbox{padding:1rem;background:#111;color:#fff;position:relative;border:0}
.feedback-lightbox img{display:block;max-width:calc(92vw - 2rem);max-height:75vh;object-fit:contain;margin:1rem auto 0}
.lightbox-close{position:absolute;top:.5rem;right:.5rem;background:#111;color:#fff;border-color:#aaa;z-index:2}
.feedback-carousel [data-slot="carousel-content"]{overflow:hidden}
.feedback-carousel [data-slot="carousel-content"]>div{transition:transform .55s cubic-bezier(.2,.75,.25,1);will-change:transform}
.feedback-carousel [data-slot="carousel-item"][aria-hidden="true"]{pointer-events:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hero-artwork,.feedback-carousel [data-slot="carousel-content"]>div{animation:none!important;transition:none!important}}
@media(max-width:760px){.site-header nav[aria-label="Navegação principal"]{display:none}.mobile-menu{display:inline-flex}.mobile-navigation{font-size:.95rem}.feedback-carousel .feedback-slide{padding-left:0}.feedback-carousel [data-slot="carousel-previous"]{left:.25rem}.feedback-carousel [data-slot="carousel-next"]{right:.25rem}}


/* EVOLUX brand direction — editorial, restrained and conversion-focused. */
.studio-tagline{display:block;margin-top:1rem;color:#454b67;font-size:.76rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
#portfolio{background:#101015!important;color:#f7f7f8!important;overflow:hidden}
#portfolio .section-intro h2,#portfolio .section-intro p{color:#f7f7f8}
#portfolio .section-intro p{max-width:44rem;opacity:.72}
.portfolio-directions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3.5vw,3.5rem);margin-top:clamp(2.75rem,5vw,5rem)}
.portfolio-direction{min-height:19rem;display:flex;flex-direction:column;align-items:flex-start;padding:1.4rem 0 0;border-top:1px solid rgba(247,247,248,.24);transition:border-color .25s ease,transform .25s ease}
.portfolio-direction:hover{border-color:#8fa4ff;transform:translateY(-3px)}
.portfolio-number{color:#aab8ff;font-size:.7rem;letter-spacing:.16em;font-weight:650}
.portfolio-direction h3{margin:2.1rem 0 .9rem;max-width:16ch;color:#f7f7f8;font-size:clamp(1.45rem,2.2vw,2rem);line-height:1.15;font-weight:500;letter-spacing:-.035em}
.portfolio-direction p{max-width:34ch;color:rgba(247,247,248,.72);font-size:.95rem;line-height:1.75}
.portfolio-direction a{margin-top:auto;padding-top:1.8rem;color:#d0d7ff;font-size:.82rem;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s ease}
.portfolio-direction a:hover{border-color:#aab8ff}
.portfolio-footer{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2.8rem;padding-top:1.5rem;border-top:1px solid rgba(247,247,248,.16)}
.portfolio-footer p{max-width:42ch;color:rgba(247,247,248,.72);font-size:.9rem;line-height:1.7}
.portfolio-footer .button{flex:none;text-decoration:none}
.services{background:#f7f7f8;color:#16161d}
.services-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.75fr);column-gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.5rem,5vw,4rem)}
.services-heading .section-index{grid-column:1/-1;margin-bottom:1rem}
.services-heading h2{margin:0;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.98;letter-spacing:-.065em;font-weight:500}
.services-heading h2 em{font-style:normal;color:#4e5f9a}
.services-heading>p{max-width:35rem;margin:0 0 .2rem;color:#585965;line-height:1.8}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.4vw,2.5rem)}
.service-card{display:flex;flex-direction:column;align-items:flex-start;min-height:17.5rem;padding:1.4rem 0 0;border-top:1px solid #cfd0d8}
.service-number{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid #aeb4c9;border-radius:50%;color:#414d7f;font-size:.73rem}
.service-card h3{margin:1.8rem 0 .7rem;font-size:clamp(1.6rem,2.5vw,2.35rem);font-weight:500;letter-spacing:-.04em}
.service-card p{max-width:35ch;color:#595b65;line-height:1.8;font-size:.95rem}
.service-card a{margin-top:auto;padding-top:1.5rem;color:#414d7f;font-size:.81rem;text-decoration:none}
.service-card a:hover{text-decoration:underline;text-underline-offset:4px}
.trajectory-block{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid rgba(90,95,110,.22)}
.trajectory-label{display:block;margin-bottom:1.1rem;color:#555c79;font-size:.69rem;letter-spacing:.14em;font-weight:650}
.trajectory-timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0}
.trajectory-timeline li{display:grid;grid-template-columns:6.2rem minmax(0,1fr);gap:1rem;position:relative;padding:.95rem 0;border-left:1px solid #c6cbd9;margin-left:.35rem;padding-left:1.3rem}
.trajectory-timeline li:before{content:"";position:absolute;width:.48rem;height:.48rem;border-radius:50%;background:#6074b6;left:-.26rem;top:1.3rem;box-shadow:0 0 0 4px #f7f7f8}
.trajectory-year{color:#4f5e91;font-size:.74rem;font-weight:700;letter-spacing:.04em}
.trajectory-timeline strong{font-size:.94rem;font-weight:620;color:#20212a}
.trajectory-timeline p{margin:.28rem 0 0;color:#686a73;font-size:.86rem;line-height:1.6}
.trajectory-note{margin:1rem 0 0;color:#737580;font-size:.78rem;line-height:1.65}
#clientes .content-pending{max-width:52rem;line-height:1.85}
#clientes .content-pending a{color:#485a98;text-underline-offset:4px}
#contato .contact-alternative{display:block;width:fit-content;margin:.7rem auto 0}
@media(max-width:900px){
 .portfolio-directions,.services-grid{grid-template-columns:1fr;gap:1.7rem}
 .portfolio-direction{min-height:0;padding-top:1.2rem}
 .portfolio-direction h3{margin-top:1.2rem;max-width:25ch}
 .portfolio-direction a{padding-top:1rem}
 .portfolio-footer{align-items:flex-start;flex-direction:column;gap:1rem}
 .services-heading{grid-template-columns:1fr;gap:1.2rem}
 .services-heading .section-index{grid-column:auto}
 .service-card{min-height:0;padding-bottom:.25rem}
 .service-card h3{margin-top:1.2rem}
 .service-card a{padding-top:.8rem}
}
@media(max-width:600px){
 #portfolio .section-intro h2{max-width:12ch}
 .portfolio-direction h3{font-size:1.65rem}
 .trajectory-timeline li{grid-template-columns:5rem minmax(0,1fr);gap:.55rem;padding-left:.95rem}
 .trajectory-year{font-size:.68rem}
 .services-heading h2{font-size:clamp(2.65rem,13vw,4rem)}
}
@media(prefers-reduced-motion:reduce){.portfolio-direction{transition:none!important;transform:none!important}}

#portfolio .section-index{color:rgba(247,247,248,.62)}
#portfolio .portfolio-footer .button{color:#101015;background:#f7f7f8}
#portfolio .portfolio-footer .button:hover{background:#d0d7ff}
