:root{--yellow:#ffb800;--dark:#0a0d0f}*{box-sizing:border-box}html{scroll-padding-top:90px}body{font-family:Manrope,sans-serif}#progressBar{position:fixed;top:0;left:0;z-index:100;height:3px;width:0;background:var(--yellow);box-shadow:0 0 20px rgba(255,184,0,.7)}#header.scrolled{background:rgba(7,9,10,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-link{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.68);transition:.3s}.nav-link:hover{color:var(--yellow)}.mobile-menu{position:fixed;inset:0;z-index:40;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-105%);background:rgba(7,9,10,.97);backdrop-filter:blur(20px);transition:transform .5s cubic-bezier(.8,0,.2,1),opacity .3s ease,visibility 0s linear .5s}.mobile-menu.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition-delay:0s}.hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.72) 48%,rgba(0,0,0,.32) 100%),linear-gradient(0deg,rgba(10,13,15,.75),transparent 45%)}.glass-card{border:1px solid rgba(255,255,255,.12);background:rgba(12,16,18,.58);backdrop-filter:blur(18px);border-radius:1.75rem;box-shadow:0 25px 70px rgba(0,0,0,.35)}.scroll-mouse{width:22px;height:36px;border:2px solid rgba(255,255,255,.3);border-radius:999px;position:relative}.scroll-mouse:after{content:"";position:absolute;left:50%;top:6px;width:3px;height:7px;border-radius:4px;background:var(--yellow);transform:translateX(-50%);animation:scroll 1.8s infinite}@keyframes scroll{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,14px)}}.marquee{overflow:hidden}.marquee-track{display:flex;width:max-content;gap:2rem;animation:marquee 25s linear infinite}.marquee-track b{color:var(--yellow)}@keyframes marquee{to{transform:translateX(-50%)}}.section-kicker{display:block;margin-bottom:1rem;font-size:.75rem;font-weight:900;letter-spacing:.24em;text-transform:uppercase;color:var(--yellow)}.section-title{font-family:Montserrat,sans-serif;font-size:clamp(2.25rem,5vw,4rem);font-weight:900;line-height:1.05;text-transform:uppercase}.section-copy{font-size:1rem;line-height:1.85;color:rgba(255,255,255,.58)}.feature-mini{display:flex;align-items:center;gap:1rem;padding:1rem;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(255,255,255,.03)}.feature-mini svg{color:var(--yellow)}.feature-mini b,.feature-mini span{display:block}.feature-mini span{margin-top:.2rem;font-size:.78rem;color:rgba(255,255,255,.45)}.service-card{position:relative;min-height:300px;overflow:hidden;border:1px solid rgba(10,13,15,.11);border-radius:1.5rem;background:#fff;padding:2rem;transition:.45s}.service-card:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(0,0,0,.12)}.service-card>span{position:absolute;right:1.5rem;top:1.2rem;font:900 3rem Montserrat;color:rgba(10,13,15,.07)}.service-card svg{height:46px;width:46px;color:#b88300}.service-card h3{margin-top:2.5rem;font:900 1.45rem Montserrat;text-transform:uppercase}.service-card p{margin-top:1rem;line-height:1.75;color:rgba(10,13,15,.58)}.service-card.featured{background:#ffb800}.service-card.featured svg{color:#0a0d0f}.project-grid{display:grid;gap:1rem}.project-card{position:relative;min-height:360px;overflow:hidden;border-radius:1.5rem}.project-card img{height:100%;width:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.project-card:hover img{transform:scale(1.07)}.project-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),transparent 70%)}.project-info{position:absolute;left:1.5rem;right:1.5rem;bottom:1.5rem}.project-info span{font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;color:var(--yellow)}.project-info h3{margin-top:.5rem;font:900 1.5rem Montserrat;text-transform:uppercase}.project-info p{margin-top:.5rem;color:rgba(255,255,255,.6)}@media(min-width:768px){.project-grid{grid-template-columns:repeat(2,1fr)}.project-large{grid-row:span 2;min-height:736px}.project-wide{grid-column:span 1}}.timeline{position:relative}.timeline:before{content:"";position:absolute;left:28px;top:10px;bottom:10px;width:1px;background:rgba(255,255,255,.12)}.timeline-item{position:relative;display:grid;grid-template-columns:58px 1fr;gap:1.4rem;padding:0 0 2.5rem}.timeline-item b{z-index:1;display:grid;height:58px;width:58px;place-items:center;border:1px solid rgba(255,184,0,.45);border-radius:50%;background:#11171a;color:var(--yellow)}.timeline-item h3{font:800 1.2rem Montserrat;text-transform:uppercase}.timeline-item p{margin-top:.6rem;line-height:1.75;color:rgba(255,255,255,.5)}.parallax-orb{position:absolute;border-radius:50%;filter:blur(4px);pointer-events:none}.orb-one{right:-140px;top:10%;height:340px;width:340px;border:1px solid rgba(255,184,0,.18)}.orb-two{left:-150px;bottom:-140px;height:420px;width:420px;background:rgba(255,184,0,.05)}.whatsapp-float{position:fixed;right:18px;bottom:18px;z-index:40;display:flex;align-items:center;gap:.65rem;border-radius:999px;background:#25d366;padding:14px 18px;font-weight:900;color:#07140c;box-shadow:0 15px 40px rgba(37,211,102,.32);transition:.3s}.whatsapp-float:hover{transform:translateY(-4px) scale(1.02)}[data-reveal]{opacity:0;transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}[data-reveal="left"]{transform:translateX(-60px)}[data-reveal="right"]{transform:translateX(60px)}[data-reveal="up"]{transform:translateY(55px)}[data-reveal].visible{opacity:1;transform:none}@media(max-width:767px){.hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.65) 100%)}.section-copy{line-height:1.7}}

/* Carrossel de obras reais */
.real-work-carousel{position:relative;isolation:isolate;overflow:hidden;background:#080b0d}.real-work-slides,.real-work-slide,.real-work-vignette,.real-work-grain{position:absolute;inset:0}.real-work-slide{opacity:0;transform:scale(1.08);transition:opacity 1.2s ease,transform 7s linear}.real-work-slide.is-active{opacity:1;transform:scale(1)}.real-work-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.98) contrast(1.04) blur(1.2px);transform:scale(1.015)}.real-work-vignette{z-index:1;background:linear-gradient(90deg,rgba(5,7,8,.80) 0%,rgba(5,7,8,.55) 42%,rgba(5,7,8,.16) 72%,rgba(5,7,8,.35) 100%),linear-gradient(0deg,rgba(5,7,8,.72) 0%,transparent 48%,rgba(5,7,8,.22) 100%)}.real-work-grain{z-index:2;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.real-work-arrow{position:absolute;z-index:15;top:50%;display:grid;height:52px;width:52px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(5,7,8,.36);color:#fff;backdrop-filter:blur(12px);transform:translateY(-50%);transition:.3s}.real-work-arrow:hover{border-color:var(--yellow);background:var(--yellow);color:#090b0c}.real-work-prev{left:24px}.real-work-next{right:24px}.real-work-dots{position:absolute;z-index:15;left:50%;bottom:28px;display:flex;gap:8px;transform:translateX(-50%)}.real-work-dots button{height:4px;width:28px;border-radius:999px;background:rgba(255,255,255,.3);transition:.35s}.real-work-dots button.is-active{width:48px;background:var(--yellow)}
@media(max-width:767px){.real-work-slide img{filter:brightness(.64) saturate(.96) contrast(1.04) blur(.8px)}.real-work-vignette{background:linear-gradient(0deg,rgba(5,7,8,.82) 0%,rgba(5,7,8,.44) 60%,rgba(5,7,8,.32) 100%)}.real-work-arrow{top:auto;bottom:72px;height:44px;width:44px}.real-work-prev{left:18px}.real-work-next{right:18px}.real-work-dots{bottom:28px}.real-work-dots button{width:18px}.real-work-dots button.is-active{width:34px}}


/* Formulário de contacto */
.contact-detail{display:flex;align-items:center;gap:1rem;border:1px solid rgba(10,13,15,.1);border-radius:1rem;background:#fff;padding:1rem 1.1rem;transition:.25s ease;box-shadow:0 10px 35px rgba(10,13,15,.05)}
.contact-detail:hover{transform:translateY(-3px);border-color:rgba(255,184,0,.65);box-shadow:0 16px 40px rgba(10,13,15,.1)}
.contact-detail>svg{width:1.25rem;height:1.25rem;color:#d99d00;flex:0 0 auto}.contact-detail span{display:block;font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(10,13,15,.45)}.contact-detail strong{display:block;margin-top:.15rem;font-size:.95rem;color:#0a0d0f}
.form-field{display:flex;flex-direction:column;gap:.55rem}.form-field>span{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(10,13,15,.65)}
.form-field input,.form-field textarea{width:100%;border:1px solid rgba(10,13,15,.14);border-radius:1rem;background:#f7f8f8;padding:.95rem 1rem;color:#0a0d0f;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}.form-field textarea{resize:vertical;min-height:145px}.form-field input:focus,.form-field textarea:focus{border-color:#ffb800;background:#fff;box-shadow:0 0 0 4px rgba(255,184,0,.14)}.form-field input[aria-invalid="true"],.form-field textarea[aria-invalid="true"]{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.1)}
.consent-check{display:flex;align-items:flex-start;gap:.75rem;font-size:.86rem;line-height:1.55;color:rgba(10,13,15,.65);cursor:pointer}.consent-check input{margin-top:.22rem;width:1.1rem;height:1.1rem;accent-color:#ffb800;flex:0 0 auto}.consent-check input[aria-invalid="true"]{outline:2px solid #dc2626;outline-offset:2px}
.service-grid{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 0 1rem;scrollbar-width:none}.service-grid::-webkit-scrollbar{display:none}.service-grid>.service-card{flex:0 0 min(86vw,360px);scroll-snap-align:start}@media(min-width:768px){.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-bottom:0;scroll-snap-type:none}.service-grid>.service-card{min-width:0}}@media(min-width:1280px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}