@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-400.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-700.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/inter-800.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:900;font-display:swap;src:url(../fonts/inter-900.woff2) format('woff2')}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#08090a;color:#f4f2ee;font-family:Inter,Arial,sans-serif;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}.nav{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:sticky;top:0;background:#08090ae8;backdrop-filter:blur(16px);z-index:20;border-bottom:1px solid #ffffff0d}.brand{display:flex;gap:12px;align-items:center;font-size:11px;letter-spacing:2px}.brand b{font-weight:400;color:#b89a62}.mark{font-size:30px;font-weight:900;letter-spacing:-4px}.nav nav{display:flex;gap:28px;font-size:12px;text-transform:uppercase}.nav nav a:hover{color:#c6a66b}.menu{display:none;background:none;border:0;color:white;font-size:24px}.hero{min-height:720px;padding:90px 6vw 70px;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;background:radial-gradient(circle at 75% 45%,#2b2418 0,#0d0e10 30%,#08090a 58%)}.hero-copy{max-width:720px;z-index:2}.eyebrow{font-size:12px;letter-spacing:2px;color:#c6a66b}.hero h1,.section h2,.visual h2,.contact h2{font-size:clamp(44px,5.4vw,86px);line-height:.98;letter-spacing:-4px;margin:22px 0}.hero h1 span,.traffic h2 span{color:#c6a66b}.hero p{max-width:620px;font-size:18px;line-height:1.7;color:#aaa}.actions{display:flex;gap:14px;margin-top:34px}.btn{padding:16px 22px;border:1px solid #5b5140;border-radius:6px;text-transform:uppercase;font-size:12px;letter-spacing:.7px;display:inline-block}.primary{background:#b99658;color:#090909;border-color:#b99658;font-weight:800}.hero-art{height:560px;position:relative;perspective:1200px;transform:translateY(var(--scroll-shift,0px))}.orb{position:absolute;z-index:0;width:430px;height:430px;border:1px solid #b99658;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%) translateZ(-80px);box-shadow:0 0 90px #b9965826}.hero-illustration{position:absolute;z-index:1;inset:0;margin:auto;width:340px;height:340px;transform:rotateY(-10deg) translateZ(-40px);filter:drop-shadow(0 20px 40px #000a)}.glass-card{position:absolute;z-index:2;background:#17191dcc;border:1px solid #ffffff16;backdrop-filter:blur(10px);width:115px;height:115px;border-radius:18px;display:grid;place-items:center;font-size:30px;box-shadow:0 20px 60px #000}.glass-card small{font-size:9px;letter-spacing:2px;color:#c6a66b}.card-a{top:80px;left:10%}.card-b{right:5%;top:170px}.card-c{bottom:70px;left:25%}.strip{border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;padding:22px 5vw;display:flex;justify-content:space-between;color:#777;font-size:11px;letter-spacing:2px}.section{padding:110px 6vw}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}.section-head h2{font-size:clamp(38px,4vw,64px);margin-bottom:0}.section-head>p{max-width:460px;color:#8d8d8d;line-height:1.7}.services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #292929}.services article{padding:40px 35px 35px 0;border-right:1px solid #292929;margin-right:35px}.services article:last-child{border:0}.services b{color:#806d4b;font-size:12px}.services h3{font-size:26px}.services p,.project p,.about-signoff-text p,.traffic p{color:#999;line-height:1.7}.tags{color:#c6a66b;font-size:11px;margin-top:25px}.dark{background:#0b0c0e}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project{position:relative;border:1px solid #25272a;border-radius:12px;overflow:hidden;background:#101113;transition:opacity .8s cubic-bezier(.16,1,.3,1),border-color .25s ease,transform .8s cubic-bezier(.16,1,.3,1),filter .8s ease}.project:hover{transform:translateY(-5px);border-color:#685a40}.project-shot{height:300px;position:relative;background:radial-gradient(circle at 50% 40%,#302a20,#111214 58%);display:grid;place-items:center}.browser{width:min(80%,440px);position:relative;border:7px solid #292b2f;border-bottom-width:20px;border-radius:8px;background:#eceae5;padding:10px;box-shadow:0 35px 60px #000}.browser i{display:inline-block;width:5px;height:5px;background:#999;border-radius:50%;margin-right:2px}.fake{aspect-ratio:16/9;margin-top:6px;background:#111;color:white;display:grid;place-items:center;font-size:30px;font-weight:800;border-radius:4px}.phone{position:absolute;width:88px;border:5px solid #27282a;border-radius:18px;background:#eee;right:12%;bottom:22px;padding:6px;box-shadow:0 15px 35px #000}.phone div{aspect-ratio:9/16;background:#101113;color:white;display:grid;place-items:center;font-size:26px;font-weight:900;border-radius:10px}.browser img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;object-position:top;border-radius:4px}.phone img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;object-position:top;border-radius:10px}.project-meta{padding:25px;position:relative}.project-meta small{color:#b99658;text-transform:uppercase}.project-meta h3{font-size:28px;margin:10px 0}.project-meta p{margin-bottom:22px}.project-meta .btn.small{font-size:11px;padding:11px 16px}.btn.small{padding:10px 16px;font-size:11px}.visual{padding:110px 6vw;background:#050506}.visual-copy{max-width:850px}.visual-copy p{color:#888}.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}.filter-btn{background:#111;border:1px solid #292929;color:#999;padding:9px 18px;border-radius:30px;font-size:11px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.2s}.filter-btn:hover{color:#eee;border-color:#5b5140}.filter-btn.active{background:#b99658;color:#0c0c0c;border-color:#b99658;font-weight:700}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:30px}
.gallery-item{position:relative;border:1px solid #292929;border-radius:10px;overflow:hidden;background:#111;padding:0;cursor:pointer;aspect-ratio:4/3;display:block;width:100%}
.gallery-item.is-hidden{display:none}
.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-caption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 16px;background:linear-gradient(transparent,#000d);color:#f4f2ee;font-size:13px;text-align:left;opacity:0;transform:translateY(8px);transition:.25s}
.gallery-item:hover .gallery-caption,.gallery-item:focus-visible .gallery-caption{opacity:1;transform:translateY(0)}
.gallery-item.video:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(#0000,#0009 85%);pointer-events:none}
.gallery-item.video .play-icon{position:absolute;top:50%;left:50%;z-index:2;width:52px;height:52px;display:grid;place-items:center;font-size:17px;padding-left:3px;color:#0c0c0c;background:#c6a66b;border-radius:50%;box-shadow:0 8px 22px #000a;transform:translate(-50%,-50%);transition:transform .25s ease,background .25s ease}
.gallery-item.video:hover .play-icon{transform:translate(-50%,-50%) scale(1.12);background:#d8bb84}.traffic{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.platform-logos{display:flex;flex-wrap:wrap;gap:32px;align-items:center;margin-top:44px;padding-top:32px;border-top:1px solid #292929}
.platform-logo{display:flex;align-items:center;gap:12px;color:#9a9a9a;font-size:15px;font-weight:600;transition:color .25s ease,transform .25s ease}
.platform-logo svg{width:auto;height:34px;display:block}
.platform-logo:hover{color:#c6a66b;transform:translateY(-2px)}.traffic h2{font-size:clamp(40px,4.5vw,70px)}.traffic-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #333;border-left:1px solid #333}.traffic-grid div{padding:30px;border-right:1px solid #333;border-bottom:1px solid #333}.traffic-grid strong{color:#c6a66b}.about-signoff{display:flex;align-items:center;gap:50px;padding:100px 6vw;border-top:1px solid #1c1c1c;background:#0d0e10}.portrait-round{flex:0 0 auto;width:170px;height:170px;border-radius:50%;overflow:hidden;background:radial-gradient(circle,#332c21,#151618 60%);display:grid;place-items:center;border:1px solid #3a3020;box-shadow:0 20px 50px #000}.portrait-round span{font-size:56px;font-weight:900;letter-spacing:-6px;color:#17181a;text-shadow:1px 1px #a48959}.portrait-round img{width:100%;height:100%;object-fit:cover;display:block}.about-signoff-text h2{font-size:clamp(30px,3.2vw,42px);margin:14px 0}.about-signoff-text p{font-size:16px;max-width:640px}.contact{text-align:center;padding:130px 6vw;background:radial-gradient(circle at 50% 120%,#493d28,#08090a 55%)}.contact h2{font-size:clamp(46px,6vw,88px)}.contact p{color:#999;margin:0 auto 35px;max-width:650px}.contact-note{font-size:11px;color:#666;margin-top:28px}footer{padding:35px 6vw;border-top:1px solid #222;display:flex;justify-content:space-between;align-items:center;color:#777;font-size:11px;gap:16px}footer .admin-link{color:#555;text-decoration:none;transition:color .2s ease}footer .admin-link:hover{color:#c6a66b}@media(max-width:900px){.nav nav{display:none;position:absolute;top:82px;left:0;right:0;background:#0b0c0e;padding:25px 6vw;flex-direction:column}.nav nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:70px}.hero-art{height:400px}.hero-illustration{width:260px;height:260px}.strip{gap:25px;overflow:auto;justify-content:flex-start}.section-head,.traffic{display:block}.about-signoff{flex-direction:column;text-align:center;gap:26px;padding:70px 6vw}.about-signoff-text p{margin:0 auto}.services{grid-template-columns:1fr}.services article{border-right:0;border-bottom:1px solid #292929;margin:0}.projects{grid-template-columns:1fr}.project-shot{height:260px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.traffic-grid{margin-top:50px}footer{gap:25px;flex-direction:column;align-items:flex-start}}@media(max-width:560px){.nav{height:70px}.brand .mark{font-size:25px}.hero{padding:55px 5vw}.hero h1{letter-spacing:-2px}.hero p{font-size:16px}.actions{flex-direction:column;align-items:flex-start}.hero-art{height:320px}.orb{width:270px;height:270px}.hero-illustration{width:200px;height:200px}.glass-card{width:82px;height:82px}.section,.visual,.contact{padding:80px 5vw}.section h2,.visual h2{letter-spacing:-2px}.projects{gap:14px}.project-shot{height:220px}.browser{width:min(85%,300px)}.phone{right:8%}.gallery-grid{grid-template-columns:1fr}.traffic-grid{grid-template-columns:1fr}.portrait-round{width:130px;height:130px}.contact h2{letter-spacing:-2px}.contact-actions{flex-direction:column;align-items:stretch}.platform-logos{gap:22px;margin-top:36px;padding-top:26px}.platform-logo{font-size:13px}.platform-logo svg{height:26px}}

/* Microinterações — navegação e botões */
.nav nav a{position:relative}
.nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:#c6a66b;transition:right .3s ease}
.nav nav a:hover::after{right:0}
.btn{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.btn:hover{transform:translateY(-2px);border-color:#8a7550}
.btn.primary:hover{box-shadow:0 14px 32px #b9965855}

/* Hero — profundidade (orb) */
@keyframes orbPulse{0%,100%{opacity:.6;box-shadow:0 0 90px #b9965826}50%{opacity:.9;box-shadow:0 0 130px #b9965845}}
.orb{animation:orbPulse 5s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.orb{animation:none}}

/* Hero — entrada animada ao carregar a página */
@keyframes heroFadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes heroFadeIn{from{opacity:0}to{opacity:1}}
.hero-copy .eyebrow{animation:heroFadeUp .7s ease both}
.hero-copy h1{animation:heroFadeUp .8s ease .12s both}
.hero-copy p{animation:heroFadeUp .8s ease .24s both}
.hero-copy .actions{animation:heroFadeUp .8s ease .36s both}
.hero-art .glass-card{animation:heroFadeIn .9s ease both}
.hero-art .card-a{animation-delay:.3s}
.hero-art .card-b{animation-delay:.42s}
.hero-art .card-c{animation-delay:.54s}
.hero-art .hero-illustration{animation:heroFadeIn 1s ease .15s both}
@media(prefers-reduced-motion:reduce){.hero-copy .eyebrow,.hero-copy h1,.hero-copy p,.hero-copy .actions,.hero-art .glass-card,.hero-art .hero-illustration{animation:none;opacity:1;transform:none}}

/* Reveal em cascata — cards dentro das seções */
.services article,.project,.gallery-item,.traffic-grid>div{opacity:0;transform:scale(.32) translateY(10px);filter:blur(18px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),filter .5s ease-out}
.reveal.in-view .services article,.reveal.in-view .project,.reveal.in-view .gallery-item,.reveal.in-view .traffic-grid>div{opacity:1;transform:none;filter:blur(0)}
.reveal.in-view .project:hover{transform:translateY(-5px)}
.services article:nth-child(2),.project:nth-child(2),.gallery-item:nth-child(2),.traffic-grid>div:nth-child(2){transition-delay:.08s}
.services article:nth-child(3),.project:nth-child(3),.gallery-item:nth-child(3),.traffic-grid>div:nth-child(3){transition-delay:.16s}
.project:nth-child(4),.gallery-item:nth-child(4),.traffic-grid>div:nth-child(4){transition-delay:.24s}
.project:nth-child(5),.gallery-item:nth-child(5),.traffic-grid>div:nth-child(5){transition-delay:.32s}
.gallery-item:nth-child(6),.traffic-grid>div:nth-child(6){transition-delay:.4s}
@media(prefers-reduced-motion:reduce){.services article,.project,.gallery-item,.traffic-grid>div{opacity:1;transform:none;filter:none;transition:none}}

/* Contato — ações */
.contact-actions{display:flex;gap:14px;justify-content:center;margin-top:10px}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in-view{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Trava de scroll quando lightbox/modal abertos */
body.scroll-locked{width:100%;overflow:hidden}

/* Lightbox de fotografias */
.lightbox{position:fixed;inset:0;background:#000000ee;z-index:100;display:flex;align-items:center;justify-content:center;padding:5vh 4vw}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.lightbox-img{max-width:92vw;max-height:78vh;object-fit:contain;border-radius:6px;box-shadow:0 30px 80px #000}
.lightbox-caption{color:#ddd;font-size:13px;letter-spacing:.5px;text-align:center}
.lightbox-close,.lightbox-prev,.lightbox-next,.video-modal-close{position:absolute;background:#ffffff14;border:1px solid #ffffff28;color:#fff;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:18px;cursor:pointer;transition:.2s}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover,.video-modal-close:hover{background:#b99658;border-color:#b99658;color:#0c0c0c}
.lightbox-close{top:24px;right:24px}
.lightbox-prev{left:24px;top:50%;transform:translateY(-50%)}
.lightbox-next{right:24px;top:50%;transform:translateY(-50%)}

/* Modal de vídeo */
.video-modal{position:fixed;inset:0;background:#000000ee;z-index:100;display:flex;align-items:center;justify-content:center;padding:5vh 4vw}
.video-modal[hidden]{display:none}
.video-modal-body{width:min(1100px,92vw);aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 30px 80px #000}
.video-modal-body iframe,.video-modal-body video{width:100%;height:100%;border:0;display:block}
.video-modal-close{top:24px;right:24px}

@media(max-width:560px){
  .lightbox-prev{left:10px}
  .lightbox-next{right:10px}
  .lightbox-close,.video-modal-close{top:14px;right:14px;width:40px;height:40px}
}

/* Seletor de idioma */
.nav nav{gap:24px;margin-left:auto;margin-right:24px}
.language-switcher{position:relative;flex:0 0 auto}
.language-current{height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;background:#111216;border:1px solid #34302a;border-radius:7px;color:#f4f2ee;font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.5px;white-space:nowrap;cursor:pointer;transition:border-color .2s ease,background .2s ease}
.language-current:hover,.language-current[aria-expanded="true"]{border-color:#8a7550;background:#17181b}
.flag-icon{display:block;width:25px;height:auto;flex:0 0 25px;border-radius:2px;box-shadow:0 0 0 1px #ffffff24}
.language-label{display:inline-flex;align-items:center;gap:2px}
.language-arrow{display:inline-block;width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:5px solid #b99658;transform-origin:50% 40%;transition:transform .2s ease}
.language-current[aria-expanded="true"] .language-arrow{transform:rotate(180deg)}
.language-menu{position:absolute;top:calc(100% + 9px);right:0;min-width:145px;padding:6px;background:#111216;border:1px solid #34302a;border-radius:8px;box-shadow:0 18px 45px #000b}
.language-menu[hidden]{display:none}
.language-menu a{display:flex;align-items:center;gap:9px;padding:10px;border-radius:5px;font-size:12px;white-space:nowrap}
.language-menu a:hover,.language-menu a:focus-visible{background:#201d18;color:#d8bb84;outline:none}
@media(max-width:1050px) and (min-width:901px){.nav{padding-left:3vw;padding-right:3vw}.nav nav{gap:14px;margin-right:14px}.nav nav a{font-size:10px}.language-current{padding:0 9px}}
@media(max-width:900px){.nav{justify-content:flex-start;gap:14px}.nav .brand{margin-right:auto}.nav nav{margin:0}.menu{order:2}.language-switcher{order:3}}
@media(max-width:560px){.nav{padding-left:4vw;padding-right:4vw;gap:8px}.nav .brand>span:last-child{display:none}.language-current{height:36px;padding:0 8px;gap:6px}.flag-icon{width:23px;flex-basis:23px}.language-label{gap:2px}}
