:root{--paper:#f9f9f9;--ink:#000;--surface:#eee;--radius-button:16px;--radius-photo:22px;--radius-card:24px;--radius-panel:26px;--radius-field:12px}
:root[data-theme=dark]{--paper:#000;--ink:#f9f9f9;--surface:#191919;--muted:#a7a7a7;--line:#333}
.site-header,.site-footer,.fronts,.marketing-process{background:#000}.hero-portrait>img,.wide-photo img,.split-feature img,.about-grid img,.backstage img{border-radius:var(--radius-photo)}
.button,.nav-contact{border-radius:var(--radius-button)}.contact-content,.assistant-panel{border-radius:var(--radius-panel)}.journey-picker button,.assistant-options button{border-radius:var(--radius-field)}.front-grid article{border:1px solid #333;border-radius:var(--radius-card);padding:32px}.front-icon{right:28px;top:28px}.front-grid article:hover{border-color:#646464}.hero-portrait figcaption{border:0}.hero-text h1{letter-spacing:-.035em}.hero-meta{color:var(--muted)}
.button.primary{background:#000;color:#f9f9f9;border:1px solid #e85002;box-shadow:inset 0 0 12px #e8500220}.button.primary:hover{background:#000}.button,.nav-contact{position:relative;isolation:isolate;transition:transform .25s,box-shadow .25s}
@property --glow-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.button:before,.nav-contact:before{content:'';position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--glow-angle),transparent 0deg,transparent 230deg,#e85002 290deg,#f9f9f9 320deg,transparent 355deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;opacity:.7}
.button:hover:before,.button:focus-visible:before,.nav-contact:hover:before,.nav-contact:focus-visible:before{animation:border-light 2s linear infinite;opacity:1}.button:hover,.button:focus-visible{box-shadow:0 0 24px #e8500233;transform:translateY(-2px)}@keyframes border-light{to{--glow-angle:360deg}}
.button span,.text-link span{transition:transform .25s}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.clients{background:#000;color:#f9f9f9}.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:64px}.client-grid figure{min-height:160px;display:flex;align-items:center;justify-content:center;padding:22px;border-bottom:1px solid #333}.client-grid img{width:var(--logo-width);max-width:100%;max-height:100px;height:auto;object-fit:contain;transition:transform .3s}.client-grid figure:hover img{transform:translateY(-4px)}
.motion-ready{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.motion-ready.is-visible{opacity:1;transform:none}.letter-word{display:inline-block;white-space:nowrap}.letter-word.is-visible{animation:word-arrive .75s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--word-delay,0ms)}@keyframes word-arrive{from{opacity:0;transform:translateY(18px) rotate(2deg)}to{opacity:1;transform:none}}
.brand-intro{position:fixed;inset:0;z-index:1000;background:#000;color:#f9f9f9;display:grid;place-items:center;overflow:hidden;animation:intro-away .65s cubic-bezier(.76,0,.24,1) 1.95s forwards}.intro-disc{position:absolute;width:140vmax;height:140vmax;border-radius:50%;background:#e85002;transform:scale(0);animation:disc-expand 1.55s cubic-bezier(.76,0,.24,1) .65s both}.intro-mark{width:clamp(80px,14vw,180px);height:auto;position:relative;animation:mark-signature 2s cubic-bezier(.2,.7,.2,1) both}.intro-caption{position:absolute;bottom:22%;font:12px 'Courier New',monospace;letter-spacing:.22em;animation:caption-in 1.9s both}.intro-skip{position:absolute;right:24px;bottom:24px;background:#000;color:#f9f9f9;border:1px solid #646464;border-radius:14px;padding:12px 18px;z-index:2}.intro-skip:focus-visible{outline:3px solid white;outline-offset:4px}
@keyframes mark-signature{0%{transform:translate(-25vw,12vh) scale(.2) rotate(-32deg);opacity:0}15%{opacity:1}35%{transform:translate(0,-3vh) scale(1.12) rotate(8deg)}55%{transform:translate(0,0) scale(1) rotate(-3deg)}75%{transform:translate(0,0) scale(1) rotate(0)}100%{transform:translate(0,-8vh) scale(.85);opacity:0}}
@keyframes disc-expand{0%{transform:translate(-16vw,15vh) scale(0)}60%,100%{transform:translate(0,0) scale(1)}}@keyframes intro-away{to{transform:translateY(-105%);border-radius:0 0 50% 50%;visibility:hidden}}
@keyframes caption-in{0%,30%{opacity:0;transform:translateY(12px)}50%,80%{opacity:1;transform:none}100%{opacity:0}}
@media(max-width:760px){.client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:36px}.client-grid figure{min-height:120px;padding:18px 8px}.client-grid img{max-height:75px}.front-grid article{padding:25px}.front-grid h3{font-size:clamp(2rem,8.4vw,2.8rem)}.hero-portrait>img{aspect-ratio:2/3;object-position:center}.wide-photo img{aspect-ratio:1.5;object-position:center}.split-feature>div>img{aspect-ratio:3/4;object-position:center}.intro-caption{font-size:10px}}
@media(prefers-reduced-motion:reduce){.brand-intro{display:none!important}.motion-ready{opacity:1;transform:none}.letter-word.is-visible{animation:none}.button:hover,.button:focus-visible,.client-grid figure:hover img{transform:none}.button:before,.nav-contact:before{animation:none!important}}

.hero-film{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#000;border-radius:var(--radius-photo)}.film-play{margin-top:14px}.film-play[hidden]{display:none}.film-status{font-size:12px;margin:8px 0}.hero-portrait .photo-label{pointer-events:none}
.hero-controls{display:flex;gap:24px;align-items:center;justify-content:flex-end;font-size:12px;margin-top:15px}.hero-controls button{display:none}.hero-controls a{text-decoration:underline;text-underline-offset:4px}.case-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;padding-top:0}.case-index img{width:100%;height:500px;object-fit:cover;border-radius:22px}.case-index h2{font-size:clamp(2rem,4vw,4rem);margin-top:24px}.case-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding-top:0}.case-gallery.single{display:block;max-width:850px;margin:auto}.case-film h2{font:700 20px/1.3 Arial,sans-serif;margin-bottom:20px}.case-film video{width:100%;height:auto;max-height:85vh;background:#000;border-radius:22px;object-fit:contain}.case-film .button{margin-top:16px}.case-film .button[hidden]{display:none}.case-status{font-size:13px}
@media(max-width:760px){.hero{position:relative;isolation:isolate;background:#000;color:#f9f9f9;padding-top:22px;padding-bottom:24px;min-height:calc(100svh - 80px)}.hero:before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.25) 82%),linear-gradient(0deg,rgba(0,0,0,.85),transparent 60%)}.hero .hero-portrait{position:absolute;inset:0;z-index:-2;max-width:none}.hero .hero-film{width:100%;height:100%;border-radius:0;object-fit:cover;object-position:50% 50%}.hero .hero-portrait figcaption,.hero .photo-label,.hero .film-play{display:none!important}.hero .film-status{position:absolute;bottom:100px;padding:20px;color:white;background:#000}.hero .film-status:empty{display:none}.hero .hero-meta{color:#f9f9f9;border-color:#ffffff55;font-size:9px}.hero .hero-layout{display:block;padding-top:32px}.hero h1{font-size:clamp(3.35rem,12.9vw,6rem);text-shadow:0 2px 12px #0009}.hero .hero-text>p{color:#f9f9f9;font-size:14px;text-shadow:0 1px 5px black;max-width:320px}.hero .actions{gap:12px}.hero .text-link{color:white}.hero .scroll-link{border-color:#ffffff55;color:white;margin-top:24px}.hero-controls{justify-content:space-between;margin-top:28px;gap:16px}.hero-controls button{display:block;background:#0009;color:white;border:1px solid #ffffff88;border-radius:12px;padding:10px 14px;min-height:44px}.hero-controls a{color:white}.case-index,.case-gallery{grid-template-columns:1fr;gap:48px}.case-index img{height:auto;max-height:500px;object-fit:contain;background:#000}.case-film video{max-height:75vh}}

.case-gallery.duo{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1200px;margin:auto}@media(max-width:760px){.case-gallery.duo{grid-template-columns:1fr}}

.carnaval-feature{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:#000;color:#f9f9f9}.carnaval-feature img{width:100%;max-height:650px;object-fit:contain;border-radius:22px}.carnaval-feature p{max-width:520px}.carnaval-feature .button{margin-top:24px}@media(max-width:760px){.carnaval-feature{grid-template-columns:1fr;gap:28px}}
.carnaval-feature p{color:#d6d6d6}
