@font-face{
  font-family:"Oswald";
  src:url("/assets/fonts/oswald-bold.ttf") format("truetype");
  font-style:normal;
  font-weight:700;
  font-display:swap;
}

:root {
  --orange:#ef440d; --black:#070707; --ink:#0d0d0d; --paper:#fdfbf1; --green:#00b65b; --blue:#1e4fff;
  --stolzl:"stolzl", "Trebuchet MS", Arial, sans-serif; --salted:"salted", "Comic Sans MS", cursive;
  --page-pad:clamp(1rem,4.1vw,5rem); --content:min(91.7vw,110rem); --border:rgba(253,251,241,.2);
}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--black)} body{margin:0;background:var(--black);color:var(--paper);font-family:var(--stolzl);overflow-x:hidden} button,a{color:inherit;font:inherit} button{border:0} a{text-decoration:none} img,video{display:block;max-width:100%} p{line-height:1.45}.cover-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.media-shade{position:absolute;inset:0;pointer-events:none}.section-dark{background:var(--black)}

/* Hero */
.home-hero{height:100vh;min-height:40rem;max-height:61.5rem;position:relative;overflow:hidden;background:#111}.hero-shade{background:linear-gradient(180deg,rgba(7,7,7,.05) 15%,rgba(7,7,7,.18) 50%,var(--black) 95%)}.hero-sticker{position:absolute;z-index:2;width:clamp(8rem,14vw,17rem);cursor:default;filter:drop-shadow(0 .25rem 0 rgba(0,0,0,.2))}.sticker-orange{left:-5vw;top:-7vh}.sticker-blue{right:-3vw;top:-5vh}.sticker-green{right:-2vw;bottom:8vh}.hero-console{position:absolute;z-index:4;left:50%;bottom:13vh;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:clamp(1.2rem,2.2vw,2.5rem);width:min(44rem,82vw)}.main-logo{width:clamp(9rem,13vw,16rem);cursor:default}.glass-nav{display:flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:rgba(30,30,30,.46);backdrop-filter:blur(14px);box-shadow:inset 0 0 12px rgba(253,251,241,.06)}.glass-nav a{min-height:2.8rem;display:flex;align-items:center;gap:.55rem;padding:.65rem 1rem;border-right:1px solid var(--border);font-size:clamp(.72rem,.85vw,1rem);transition:color .12s ease}.glass-nav a:last-child{border:0;padding-inline:.8rem}.glass-nav a:hover{color:var(--blue);transform:none}.glass-nav img{width:1.4rem;height:1.4rem}.hero-clients{position:absolute;z-index:4;left:50%;bottom:4.7vh;transform:translateX(-50%);width:min(40rem,78vw)}

.home-page .hero-sticker{filter:none}

/* Infinite logo carousel */
.logo-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.logo-marquee-track{width:max-content;display:flex;align-items:center;gap:clamp(2rem,4vw,5rem);animation:logo-loop 18s linear infinite}.logo-marquee-track.slow{animation-duration:28s}.logo-marquee:hover .logo-marquee-track{animation-play-state:paused}.logo-marquee img{width:auto;height:clamp(1.2rem,2.2vw,2.4rem);max-width:10rem;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);opacity:.48}.client-carousel{width:min(84vw,91rem);margin:clamp(4rem,8vh,8rem) auto 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-block:2.2rem}.client-carousel img{height:clamp(2rem,4vw,4.4rem);opacity:.9;max-width:13rem}@keyframes logo-loop{to{transform:translateX(-50%)}}

/* Home cases */
.home-cases{padding:clamp(5rem,9vh,7rem) var(--page-pad) clamp(5rem,10vh,9rem)}.cases-title{width:min(74vw,89rem);margin:0 auto clamp(3rem,6vh,5rem)}.cases-grid{position:relative;width:var(--content);margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.4rem,3vw,3.75rem) clamp(1.2rem,2vw,1.5rem)}.cases-burst{position:absolute;z-index:6;left:50%;top:calc(106.619vw);width:min(8.177vw,15.96vh);height:auto;max-width:none;transform:translate(-50%,-50%);pointer-events:none}.case-card{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(15rem,21vw,25.6rem);border:1px solid var(--border);border-radius:clamp(.75rem,1.2vw,1rem);box-shadow:inset 0 0 10px rgba(253,251,241,.05);transform-style:preserve-3d;transition:border-color .25s,box-shadow .25s}.case-card:hover{border-color:rgba(0,182,91,.7);box-shadow:0 1rem 3rem rgba(0,0,0,.35)}.case-card-featured{grid-column:1/-1;width:min(64vw,76.6rem);min-height:0;aspect-ratio:2.02;justify-self:center;border-radius:clamp(1rem,2vw,1.5rem)}.case-bg{position:absolute;inset:0;background:url('/assets/images/poster.jpg') center/cover}.card-shade{z-index:1;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.96))}.card-meta{position:absolute;z-index:3;left:clamp(1rem,3vw,3.75rem);right:1rem;bottom:clamp(1rem,2vw,1.8rem);display:flex;align-items:center;gap:clamp(.35rem,.8vw,.8rem);flex-wrap:wrap}.card-meta>b{font-size:clamp(1.1rem,2.25vw,3rem)}.card-meta>img{width:clamp(5rem,8.5vw,10.2rem);max-height:3.2rem;object-fit:contain}.chip{display:inline-flex;align-items:center;justify-content:center;min-height:clamp(1.5rem,2.4vw,2.8rem);padding:.45em 1em;border:1px solid var(--border);border-radius:999px;background:rgba(51,51,51,.35);font-size:clamp(.56rem,.8vw,.9rem);font-style:normal;font-weight:400;white-space:nowrap}.chip.orange{background:var(--orange)}.chip.light{background:var(--paper);color:var(--black)}.chip.green{background:var(--green);color:var(--black)}.hand-note{position:absolute;z-index:4;right:0;top:0;width:clamp(7rem,12vw,13.4rem);cursor:pointer}.primary-button{display:flex;align-items:center;justify-content:center;gap:.55rem;width:min(19.7rem,82vw);min-height:clamp(3.2rem,5vw,5rem);margin:clamp(3rem,6vh,5rem) auto 0;padding:1rem 1.4rem;border:clamp(2px,.3vw,6px) solid var(--black);border-radius:999px;background:var(--blue);color:#fff;text-transform:uppercase;font-weight:700;font-size:clamp(.72rem,1vw,1.1rem);box-shadow:inset 0 0 10px rgba(255,255,255,.12),0 0 18px rgba(30,79,255,.25);transition:transform .25s,background .25s}.primary-button:hover{transform:translateY(-5px) scale(1.02);background:#1644eb}

/* About and services */
.about-section{padding:clamp(4rem,8vh,8rem) var(--page-pad);display:grid;grid-template-columns:minmax(8rem,16rem) minmax(20rem,29.5rem) minmax(30rem,59rem);align-items:center;justify-content:center;gap:clamp(1.5rem,3vw,2rem)}.about-mark{width:min(100%,16rem);cursor:pointer}.about-section h1{font-size:clamp(2.4rem,3.35vw,4rem);line-height:1.22;text-transform:uppercase;margin:0}.about-copy{font-size:clamp(.8rem,.84vw,1rem)}.about-copy p{margin:0 0 1rem}.services-section{padding:clamp(2rem,5vh,4rem) var(--page-pad) clamp(6rem,12vh,10rem)}.services-bar{width:var(--content);margin:auto;border:1px solid var(--border);border-radius:.65rem;background:#0b0b0b;padding:clamp(1.4rem,2.4vw,2rem) clamp(1.3rem,3.3vw,4rem);display:grid;grid-template-columns:minmax(12rem,18rem) 1fr;gap:2rem;align-items:center}.services-bar h2,.section-title{font-size:clamp(2rem,2.2vw,2.75rem);font-weight:400;margin:0;text-align:center}.services-bar h2 em,.section-title em,.case-about em,.project-intro em{font-family:var(--salted);font-weight:400;color:var(--orange);font-style:normal}.service-buttons{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.45rem 1rem}.service-toggle{background:transparent;padding:.55rem .25rem;cursor:pointer;font-size:clamp(.83rem,1.2vw,1.5rem);font-weight:300;transition:color .2s}.service-toggle span{display:inline-block;margin-left:.35rem;transition:transform .2s}.service-toggle:hover,.service-toggle[aria-expanded="true"]{color:var(--green)}.service-toggle[aria-expanded="true"] span{transform:rotate(180deg)}.service-panel{width:var(--content);max-height:0;overflow:hidden;margin:.5rem auto 0;padding:0 2rem;border:1px solid transparent;border-radius:.65rem;color:rgba(253,251,241,.72);transition:.35s}.service-panel.open{max-height:8rem;padding:1.3rem 2rem;border-color:var(--border);background:#0b0b0b}.department-grid{width:min(84vw,87rem);margin:clamp(5rem,10vh,9rem) auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.5vw,2rem)}.department-card{min-height:13rem;border:1px solid var(--border);border-radius:.7rem;padding:clamp(1.2rem,2vw,2rem);background:linear-gradient(135deg,#0b0b0b,#101010);font-size:clamp(.75rem,.8vw,.95rem)}.department-card h3{font-size:1rem}.site-footer{height:clamp(11rem,15.4vw,18.4rem);min-height:11rem;position:relative;display:flex;align-items:center;justify-content:center;padding:2rem var(--page-pad);background:var(--blue)}.footer-brand{position:absolute;left:var(--page-pad);bottom:1.2rem;display:flex;align-items:flex-end;gap:.7rem}.footer-brand>img{width:clamp(4.2rem,7.8vw,9.5rem);height:clamp(7rem,11.5vw,13.7rem);object-fit:contain}.footer-brand>div{display:flex;gap:.35rem;padding-bottom:2.8rem}.footer-brand a{display:block;width:clamp(1.8rem,3.3vw,4rem)}.footer-legal{text-align:center;text-transform:uppercase;font-size:clamp(.42rem,.7vw,.85rem)}.footer-legal p{margin:.25rem}.footer-legal a{text-transform:none;text-decoration:underline}.footer-credit{position:absolute;right:var(--page-pad);width:clamp(5rem,7.4vw,8.8rem)}

/* Case overview */
.case-hero{height:88vh;min-height:42rem;max-height:54.4rem;position:relative;overflow:hidden}.back-button{z-index:10;display:flex;align-items:center;gap:.45rem;min-height:2.2rem;padding:.35rem 1rem;border-radius:999px;background:var(--blue);box-shadow:0 0 10px rgba(30,79,255,.35);transition:transform .2s}.back-button:hover{transform:translateX(-4px)}.back-button img{width:1.4rem;height:1.4rem}.case-hero>.back-button{position:absolute;left:var(--page-pad);top:4vh}.case-brand{position:absolute;z-index:3;left:50%;bottom:8vh;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:clamp(1rem,2.4vh,2.3rem)}.placed-virtu{width:clamp(11rem,14vw,17rem)}.case-logo{width:clamp(15rem,23vw,26.8rem);max-height:8rem;object-fit:contain}.case-brand>div{display:flex;gap:.6rem}.case-about{min-height:34vh;padding:clamp(3rem,6vh,5rem) max(var(--page-pad),12vw);display:grid;grid-template-columns:22rem 1fr;gap:clamp(2rem,6vw,8rem);align-items:center;border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.03)}.case-about h1{font-size:clamp(2rem,3vw,3rem);font-weight:400;text-align:right}.case-about h1 em{font-size:1.15em}.case-about>div{font-size:clamp(.78rem,.85vw,1rem)}.highlights{padding:clamp(4rem,7vh,6rem) 0}.carousel-shell{position:relative}.highlight-track{display:flex;gap:clamp(1rem,1.7vw,1.4rem);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:1rem var(--page-pad) 2rem}.highlight-track::-webkit-scrollbar{display:none}.highlight-card{flex:0 0 min(45vw,45rem);aspect-ratio:1.97;position:relative;overflow:hidden;border:1px solid var(--paper);border-radius:.85rem;scroll-snap-align:center;transform-style:preserve-3d}.highlight-card b{position:absolute;z-index:3;left:2rem;bottom:1.4rem;font-size:clamp(1.5rem,2.2vw,2.5rem)}.highlight-chips{position:absolute;z-index:3;left:1.8rem;top:1.2rem;display:flex;gap:.5rem}.carousel-control{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:3rem;height:3rem;border-radius:50%;background:var(--blue);font-size:2rem;cursor:pointer;box-shadow:0 0 20px rgba(0,0,0,.5)}.carousel-control.previous{left:1.1rem}.carousel-control.next{right:1.1rem}.making-preview{padding:clamp(2rem,5vh,4rem) var(--page-pad) clamp(6rem,12vh,9rem)}.making-preview h2{text-align:center;font-size:clamp(2rem,2.5vw,2.7rem)}.making-grid{width:min(77vw,91.8rem);height:min(42vw,47.8rem);min-height:25rem;margin:2rem auto;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1.55fr;gap:.6rem}.making-tile{position:relative;overflow:hidden;background:#111}.making-tile-large{grid-row:1/3}.making-tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.making-tile:hover img{transform:scale(1.05)}.plus-button{position:absolute;left:1rem;bottom:1rem;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--blue);font-size:1.3rem}

/* Project overlays */
.project-page,.making-page{background:#0d0d0d}.project-shell{width:min(100%,120rem);min-height:100vh;margin:auto;padding:clamp(5rem,10vh,6.2rem) var(--page-pad) clamp(4rem,8vh,6rem);border:1px solid var(--border);border-radius:.65rem;background:radial-gradient(circle at 50% 35%,#111 0,#0d0d0d 52%,#0a0a0a 100%);box-shadow:inset 3rem 0 4rem var(--black),inset -3rem 0 4rem var(--black)}.project-back{position:fixed;left:1.5rem;top:1.5rem}.project-intro{min-height:21rem;border-block:2px solid var(--paper);display:grid;grid-template-columns:minmax(15rem,21rem) minmax(30rem,56rem);align-items:center;justify-content:center;gap:clamp(2rem,4vw,4rem);box-shadow:inset 3rem 0 3rem var(--black),inset -3rem 0 3rem var(--black)}.project-intro h1{font-size:clamp(1.7rem,2.2vw,2.2rem);font-weight:400}.project-intro h1 em{display:block;font-size:clamp(3.5rem,4vw,4.5rem);line-height:1.1}.project-intro>div{font-size:clamp(.78rem,.83vw,1rem)}.deliverable-row{width:min(76vw,89rem);margin:clamp(4rem,7vh,5rem) auto 0;display:grid;grid-template-columns:minmax(15rem,23.8rem) 1fr;align-items:center}.deliverable-copy{min-height:24rem;padding:1.5rem;border:2px solid transparent;border-radius:1.2rem;background:rgba(51,51,51,.08);box-shadow:inset -3rem 0 3rem rgba(8,8,8,.7);font-size:clamp(.72rem,.75vw,.88rem)}.deliverable-copy h2{font-size:clamp(1.5rem,1.7vw,2rem);margin-top:0}.vertical-cards,.horizontal-cards{display:flex;gap:clamp(.8rem,1.4vw,1.65rem);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:.4rem}.media-card{position:relative;flex:0 0 min(15vw,18rem);height:min(49vh,33.3rem);padding:0;overflow:hidden;border:1px solid var(--border);border-radius:1.15rem;background:#111;cursor:pointer;scroll-snap-align:start}.media-tags{position:absolute;z-index:2;top:1.1rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem}.fullscreen-icon{position:absolute;z-index:3;left:1.2rem;bottom:1.2rem;width:2.8rem;height:2.8rem}.horizontal-row{margin-top:1.2rem}.horizontal-cards .horizontal-card{flex-basis:min(43vw,45rem);height:auto;aspect-ratio:1.78}.mini-dots{color:var(--blue);letter-spacing:.3rem}.bts-mosaic{width:min(91vw,108rem);height:min(26vw,30rem);min-height:18rem;margin:clamp(5rem,10vh,8rem) auto 0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:1fr 1fr;gap:.6rem}.bts-mosaic button{padding:0;overflow:hidden;background:#111;cursor:pointer}.bts-mosaic button:nth-child(1){grid-column:span 2}.bts-mosaic button:nth-child(2){grid-column:span 2}.bts-mosaic button:nth-child(3){grid-column:span 2}.bts-mosaic button:nth-child(4){grid-column:span 2}.bts-mosaic button:nth-child(5){grid-column:span 3}.bts-mosaic button:nth-child(6){grid-column:span 5}.bts-mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.bts-mosaic button:hover img{transform:scale(1.05)}

/* Making page */
.making-shell{width:min(100%,120rem);min-height:100vh;margin:auto;padding-bottom:8rem;border:1px solid var(--border);border-radius:.65rem;background:#0d0d0d;position:relative;overflow:hidden}.making-shell .project-back{position:absolute}.making-hero{height:52vh;min-height:24rem;position:relative;overflow:hidden}.making-hero img{width:100%;height:100%;object-fit:cover;object-position:center 40%}.making-shade{background:linear-gradient(180deg,transparent 42%,#0d0d0d 100%)}.making-copy{width:min(66vw,75rem);margin:2rem auto 4rem;display:grid;grid-template-columns:15rem 1fr;gap:3rem;align-items:center}.making-copy h1{font-size:clamp(2rem,2.6vw,3rem);font-weight:400}.making-copy>div{font-size:clamp(.8rem,.9vw,1rem)}.making-feature{display:block;width:min(77vw,91.8rem);aspect-ratio:1.92;margin:auto;position:relative;overflow:hidden;padding:0;background:#111;cursor:pointer}.making-closing{width:min(55vw,66rem);margin:3rem auto;text-align:center;font-size:clamp(.9rem,1.05vw,1.2rem)}

/* Motion and lightbox */
.reveal{opacity:0;transform:translateY(2.2rem);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.interactive-asset{cursor:pointer;-webkit-tap-highlight-color:transparent}.asset-bop{animation:asset-bop .65s cubic-bezier(.2,.9,.2,1)}@keyframes asset-bop{35%{transform:scale(1.12) rotate(-6deg)}65%{transform:scale(.96) rotate(4deg)}}.lightbox{position:fixed;z-index:1000;inset:0;background:rgba(0,0,0,.92);display:grid;place-items:center;padding:4vw;opacity:0;pointer-events:none;transition:opacity .25s}.lightbox.open{opacity:1;pointer-events:auto}.lightbox img,.lightbox video{max-width:92vw;max-height:88vh;object-fit:contain}.lightbox-close{--lightbox-close-size:clamp(2.5rem,max(11.282051vw,5.21327vh),2.75rem);position:absolute;right:clamp(1.25rem,2.083333vw,2.5rem);top:clamp(1rem,2.439024vh,1.5rem);width:var(--lightbox-close-size);height:var(--lightbox-close-size);padding:0;border:0;border-radius:50%;background:transparent;overflow:visible;cursor:pointer;transition:transform .25s ease}.lightbox-close img{position:absolute;inset:-22.727273%;width:145.454545%;height:145.454545%;max-width:none;max-height:none;display:block;image-rendering:auto;pointer-events:none}.lightbox-close:hover,.lightbox-close:focus-visible{transform:scale(1.06)}
.hero-console.reveal{transform:translate(-50%,2.2rem)}.hero-console.reveal.visible{transform:translateX(-50%)}.case-brand.reveal{transform:translate(-50%,2.2rem)}.case-brand.reveal.visible{transform:translateX(-50%)}

@media(max-width:900px){
  :root{--page-pad:1rem;--content:calc(100vw - 2rem)}.home-hero{height:100svh;min-height:38rem}.hero-sticker{width:9rem}.sticker-orange{left:-3rem;top:-2rem}.sticker-blue{right:-2rem;top:-1rem}.sticker-green{right:-2.2rem;bottom:10rem}.hero-console{bottom:18vh;width:92vw;flex-direction:column;gap:1rem}.main-logo{width:10.5rem}.glass-nav a{padding:.55rem .8rem}.hero-clients{bottom:6vh;width:88vw}.logo-marquee img{height:1.2rem}.home-cases{padding-top:4rem}.cases-title{width:90vw;margin-bottom:2rem}.cases-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.case-card{min-height:0;aspect-ratio:1.65;border-radius:.75rem}.case-card-featured{width:100%;aspect-ratio:1.85}.card-meta{left:.7rem;bottom:.65rem;right:.5rem;gap:.25rem}.card-meta>b{font-size:.9rem}.card-meta>img{width:4.8rem}.chip{font-size:.5rem;min-height:1.25rem;padding:.35em .65em}.hand-note{width:6.5rem}.client-carousel{width:92vw;margin-top:4rem}.client-carousel img{height:2rem}.about-section{grid-template-columns:4.5rem 1fr;padding-block:4rem;align-items:start}.about-mark{width:4.5rem}.about-section h1{font-size:clamp(1.7rem,8vw,2.4rem);line-height:1.08}.about-copy{grid-column:1/-1;font-size:.78rem}.services-bar{grid-template-columns:1fr;padding:1.2rem}.service-buttons{justify-content:flex-start}.service-toggle{font-size:.85rem}.department-grid{grid-template-columns:1fr;width:100%;margin-top:4rem}.department-card{min-height:10rem}.site-footer{height:10rem;min-height:10rem}.footer-brand{left:1rem;bottom:.5rem}.footer-brand>img{width:3.5rem;height:6.5rem}.footer-brand>div{padding-bottom:1.8rem}.footer-brand a{width:1.4rem}.footer-credit{right:1rem;width:4rem}.case-hero{height:72svh;min-height:34rem}.case-hero>.back-button{top:1rem}.case-brand{bottom:6vh;gap:.8rem}.placed-virtu{width:9rem}.case-logo{width:14rem}.case-about{grid-template-columns:1fr;padding:3rem 1.5rem;gap:1rem}.case-about h1{text-align:left;margin:0}.highlight-card{flex-basis:82vw}.carousel-control{width:2.4rem;height:2.4rem}.highlight-chips{left:.7rem;top:.7rem}.highlight-card b{left:1rem;bottom:.8rem}.making-grid{width:100%;height:74vh;min-height:32rem;grid-template-columns:1fr 1fr;grid-template-rows:1.25fr .8fr}.making-tile-large{grid-column:1/-1;grid-row:auto}.project-shell{padding:5rem 1rem 4rem;box-shadow:inset 1rem 0 2rem var(--black),inset -1rem 0 2rem var(--black)}.project-back{position:absolute;left:1rem;top:1rem}.project-intro{min-height:0;grid-template-columns:1fr;padding:2.5rem 1rem;gap:1rem}.project-intro h1{margin:0}.project-intro h1 em{font-size:3rem}.deliverable-row{width:100%;grid-template-columns:1fr;margin-top:3rem}.deliverable-copy{min-height:0;padding:1rem;box-shadow:none}.vertical-cards,.horizontal-cards{padding:1rem 0}.media-card{flex-basis:68vw;height:62vh;max-height:32rem}.horizontal-cards .horizontal-card{flex-basis:86vw}.bts-mosaic{width:100%;height:68vh;min-height:38rem;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr);margin-top:4rem}.bts-mosaic button:nth-child(n){grid-column:span 1}.making-hero{height:43svh}.making-copy{width:calc(100% - 2rem);grid-template-columns:1fr;gap:.5rem;margin-block:2rem}.making-copy h1{margin-bottom:0}.making-feature{width:calc(100% - 2rem);aspect-ratio:.75}.making-feature video{object-position:58% center}.making-closing{width:calc(100% - 3rem)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.logo-marquee-track{transform:none}}

/* Home calibrada pelo frame Figma 2:2 — base desktop 1920 x 984 */
@media (min-width:901px){
  .home-page .home-hero{height:100svh;min-height:0;max-height:none;background:#070707}
  .home-page .hero-shade{background:radial-gradient(ellipse 47% 76% at 50% 27%,rgba(0,0,0,0) 0 46%,rgba(5,5,5,.74) 70%,#070707 100%)}
  .home-page .hero-sticker{z-index:2;height:auto;max-width:none;filter:none}
  .home-page .sticker-orange{left:-11.146vw;top:-18.699vh;width:24.271vw}
  .home-page .sticker-blue{left:81.875vw;right:auto;top:-20.63vh;width:24.479vw}
  .home-page .sticker-clapper{left:-3.125vw;top:65.346vh;width:18.07vw}
  .home-page .sticker-person{left:78.7vw;right:auto;top:54.268vh;width:24.271vw;transform:rotate(-14.26deg)}
  .home-page .hero-console{--hero-logo-buttons-gap:min(1.875vw,3.659vh);--hero-buttons-gap:min(1.25vw,2.439vh);--hero-clients-buttons-gap-increase:min(.417vw,.813vh);bottom:calc(12.703vh + var(--hero-clients-buttons-gap-increase));width:44.948vw;flex-direction:column;gap:var(--hero-logo-buttons-gap)}
  .home-page .main-logo{width:16.354vw;max-width:none}
  .home-page .hero-actions{display:flex;align-items:center;justify-content:center;gap:var(--hero-buttons-gap)}
  .home-page .glass-nav{padding:.521vw 1.042vw;border-radius:7.292vw;background:rgba(51,51,51,.1);backdrop-filter:none;filter:drop-shadow(0 0 .26vw rgba(253,251,241,.05))}
  .home-page .glass-nav a{height:2.969vw;min-height:0;padding:.625vw;font-size:clamp(.82rem,1.042vw,1.34rem);line-height:1.042vw}
  .home-page .glass-nav a:first-child{width:8.542vw;border-right:1.5px solid var(--border)}
  .home-page .glass-nav a:last-child{border:0;padding:.625vw}
  .home-page .glass-nav img{width:1.667vw;height:1.719vw}
  .home-page .instagram-button{display:block;width:3.333vw;height:3.333vw;flex:none;transition:transform .2s}
  .home-page .instagram-button:hover{transform:translateY(-.2vw) rotate(5deg)}
  .home-page .instagram-button img{width:100%;height:100%}
  .home-page .hero-clients{left:50%;bottom:0;width:38.542vw;height:4.427vw;border-block:1px solid var(--paper);mask-image:none;overflow:hidden}
  .home-page .hero-clients:after{content:"";position:absolute;inset:-1px 0;z-index:3;pointer-events:none;box-shadow:inset -2.604vw 0 2.813vw #070707,inset 2.604vw 0 2.813vw #070707}
  .home-page .hero-clients .logo-marquee-track{height:100%;gap:2.917vw;padding-block:.833vw;animation-duration:34s}
  .home-page .hero-clients img{width:auto;max-width:none;object-fit:contain;filter:none;opacity:1;flex:none}
  .home-page .hero-clients .brand-globo{height:3.802vw}
  .home-page .hero-clients .brand-global{height:3.349vw;width:12.76vw;object-fit:cover}
  .home-page .hero-clients .brand-coletivo{height:1.45vw}
  .home-page .hero-clients .brand-town{height:2.24vw}
  .home-page .hero-clients .brand-client-2{height:2.088vw;opacity:.3}
  .home-page .hero-clients .brand-client-3{height:1.198vw;opacity:.3}
  .home-page .hero-clients .brand-ttec{height:1.198vw}
  .home-page .brand-word{font-size:clamp(1.8rem,3.177vw,4.1rem);font-weight:700;line-height:.48;color:#fff;white-space:nowrap}

  .home-page .home-cases{height:auto;padding:4.6875vw 4.01vw 0}
  .home-page .cases-title{
    position:relative;
    top:0;
    width:min(24vw,28.8rem);
    height:min(3.806vw,4.566rem);
    margin:0 auto 3.125vw;
    container-type:inline-size;
    color:var(--paper);
    text-align:center;
    white-space:nowrap;
  }
  .home-page .cases-title-main,
  .home-page .cases-title-script{
    position:absolute;
    display:block;
    font-style:normal;
    white-space:nowrap;
  }
  .home-page .cases-title-main{
    left:48.666%;
    top:-15.5%;
    transform:translateX(-50%);
    font-family:var(--stolzl);
    font-size:9.263cqw;
    font-weight:700;
    line-height:1.186;
  }
  .home-page .cases-title-script{
    left:50%;
    top:37.25%;
    transform:translateX(-50%);
    color:var(--green);
    font-family:var(--salted);
    font-size:12.559cqw;
    font-weight:400;
    line-height:.625;
    -webkit-text-stroke:1.256cqw var(--black);
    paint-order:stroke fill;
  }
  .home-page .cases-grid{width:91.927vw;grid-template-columns:869fr 872fr;column-gap:1.25vw;row-gap:3.125vw}
  .home-page .cases-burst{top:106.619vw;width:min(8.177vw,15.96vh)}
  .home-page .case-card{width:100%;height:21.354vw;min-height:0;aspect-ratio:auto;border-radius:.833vw}
  .home-page .case-card-featured{width:63.854vw;height:31.619vw;aspect-ratio:auto;border-radius:1.25vw}
  .home-page .card-meta{left:3.125vw;right:1.563vw;bottom:1.563vw;gap:1.042vw;flex-wrap:nowrap}
  .home-page .card-meta>b{font-size:clamp(1.85rem,2.552vw,3.3rem);line-height:1.429;font-weight:700;white-space:nowrap}
  .home-page .card-meta>img{width:8.464vw;max-height:2.445vw}
  .home-page .chip{min-height:2.865vw;padding:.781vw 1.042vw;font-size:clamp(.78rem,1.042vw,1.34rem);line-height:1;border-radius:6.25vw}
  .home-page .hand-note{right:0;top:.052vw;width:11.094vw}
  .home-page .card-doodle{position:absolute;z-index:4;height:auto;max-width:none}
  .home-page .doodle-atec{right:-.8vw;top:-1.3vw;width:4.9vw;transform:rotate(-15deg)}
  .home-page .doodle-lolla{right:-1.6vw;top:-1.3vw;width:4.9vw;transform:rotate(-15deg)}
  .home-page .doodle-town{left:-2.03vw;top:7.65vw;width:5.01vw;transform:rotate(-30deg)}
  .home-page .doodle-uber{right:.75vw;top:7.2vw;width:4.25vw;transform:rotate(-30deg)}
  .home-page .primary-button{width:16.406vw;min-height:0;height:3.646vw;margin:3.125vw auto 0;padding:0 1.042vw;border:.313vw solid var(--black);font-size:clamp(.78rem,1.042vw,1.34rem);line-height:1}

  .home-page .about-section{width:90.052vw;height:18.75vw;margin:9.527vw auto 0;padding:0;grid-template-columns:13.282vw 24.531vw 49.219vw;gap:1.51vw;align-items:center}
  .home-page .about-mark{width:13.282vw;max-width:none}
  .home-page .about-section h1{font-family:"oswald",var(--stolzl);font-size:clamp(2.5rem,3.333vw,5.34rem);line-height:1.234;text-transform:uppercase}
  .home-page .about-copy{height:var(--about-title-height);max-height:none;overflow:visible;display:flex;flex-direction:column;justify-content:space-between;font-size:clamp(.72rem,.833vw,1.12rem);align-self:center}
  .home-page .about-copy p{line-height:1.5;margin:0}

  .home-page .services-section{position:relative;width:91.667vw;height:35.938vw;margin:7.396vw auto 0;padding:0}
  .home-page .services-bar{width:100%;height:7.708vw;padding:1.667vw 3.333vw;grid-template-columns:15.469vw 1fr;gap:2.083vw;border-radius:.521vw}
  .home-page .services-bar h2{font-size:clamp(1.8rem,2.083vw,3rem);line-height:.75;text-align:center}
  .home-page .services-bar h2 em{font-size:1.1em}
  .home-page .service-buttons{display:grid;grid-template-columns:repeat(5,max-content);grid-template-rows:repeat(2,1.927vw);align-content:center;justify-content:space-between;gap:.417vw 1.3vw}
  .home-page .service-toggle{padding:.25vw .52vw;font-size:clamp(.9rem,1.25vw,1.7rem);line-height:1.25;font-weight:300;white-space:nowrap}
  .home-page .service-panel{position:absolute;z-index:8;left:50%;top:8.1vw;transform:translateX(-50%);margin:0;width:75vw}
  .home-page .department-grid{width:76.094vw;height:20.833vw;margin:7.396vw auto 0;grid-template-columns:repeat(3,24.531vw);gap:1.25vw}
  .home-page .department-card{height:20.833vw;min-height:0;padding:1.667vw 3.333vw;border-radius:.521vw;background:#0b0b0b;font-size:clamp(.72rem,.833vw,1.12rem)}
  .home-page .department-card h3{margin:0 0 1.927vw;font-size:clamp(.9rem,1.25vw,1.7rem);line-height:1.25;font-weight:400}
  .home-page .department-card p{margin:0;line-height:1.5}

  .home-page .site-footer{height:15.365vw;min-height:0;margin-top:7.396vw;padding:0 4.167vw}
  .home-page .footer-brand{left:4.167vw;bottom:3.438vw;gap:.521vw}
  .home-page .footer-brand>img{width:7.865vw;height:11.406vw}
  .home-page .footer-brand>div{gap:.521vw;padding-bottom:1.823vw}
  .home-page .footer-brand a{width:3.333vw}
  .home-page .footer-legal{font-size:clamp(.72rem,.938vw,1.2rem)}
  .home-page .footer-credit{right:11.927vw;width:7.292vw}
}

@media (max-width:900px){
  .home-page .home-hero{height:100svh;min-height:36rem;max-height:none}
  .home-page .hero-shade{background:radial-gradient(ellipse 80% 68% at 50% 28%,rgba(0,0,0,0) 0 36%,rgba(5,5,5,.75) 72%,#070707 100%)}
  .home-page .hero-sticker{height:auto;max-width:none}
  .home-page .sticker-orange{left:-17vw;top:-6vh;width:46vw}
  .home-page .sticker-blue{right:-13vw;left:auto;top:-5vh;width:48vw}
  .home-page .sticker-clapper{left:-11vw;top:auto;bottom:6vh;width:39vw}
  .home-page .sticker-person{right:-18vw;left:auto;top:auto;bottom:5vh;width:47vw;transform:rotate(-14.26deg)}
  .home-page .hero-console{
    --hero-mobile-unit:min(.7vw,.392svh);
    --hero-logo-buttons-gap:calc(9.546 * var(--hero-mobile-unit));
    --hero-buttons-gap:calc(5.728 * var(--hero-mobile-unit));
    --hero-clients-buttons-gap-increase:min(1.324vw,.611svh);
    bottom:calc(17vh + var(--hero-clients-buttons-gap-increase));
    width:100vw;
    gap:var(--hero-logo-buttons-gap);
  }
  .home-page .main-logo{
    width:calc(74.94 * var(--hero-mobile-unit));
    max-width:none;
  }
  .home-page .hero-actions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:var(--hero-buttons-gap);
  }
  .home-page .glass-nav{
    gap:calc(4.773 * var(--hero-mobile-unit));
    padding:calc(2.387 * var(--hero-mobile-unit)) calc(4.773 * var(--hero-mobile-unit));
    border-radius:calc(33.413 * var(--hero-mobile-unit));
    background:rgba(51,51,51,.1);
    backdrop-filter:none;
    box-shadow:inset 0 0 calc(2.387 * var(--hero-mobile-unit)) rgba(253,251,241,.05);
    filter:drop-shadow(0 0 calc(1.193 * var(--hero-mobile-unit)) rgba(253,251,241,.05));
  }
  .home-page .glass-nav a{
    height:calc(13.604 * var(--hero-mobile-unit));
    min-height:0;
    padding:calc(2.864 * var(--hero-mobile-unit));
    font-size:calc(4.773 * var(--hero-mobile-unit));
    line-height:1;
  }
  .home-page .glass-nav a:first-child{
    width:calc(39.141 * var(--hero-mobile-unit));
    border-right:1.5px solid var(--border);
  }
  .home-page .glass-nav a:last-child{
    padding:calc(2.864 * var(--hero-mobile-unit));
  }
  .home-page .glass-nav img{
    width:calc(7.637 * var(--hero-mobile-unit));
    height:calc(7.876 * var(--hero-mobile-unit));
  }
  .home-page .instagram-button{
    display:block;
    width:calc(15.274 * var(--hero-mobile-unit));
    height:calc(15.274 * var(--hero-mobile-unit));
    flex:none;
  }
  .home-page .instagram-button img{width:100%;height:100%}
  .home-page .hero-clients{bottom:2.5vh;width:86vw;height:12vw;border-block:1px solid var(--paper);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
  .home-page .hero-clients .logo-marquee-track{height:100%;gap:7vw;padding:2vw 0}
  .home-page .hero-clients img{width:auto;height:6vw;max-width:24vw;filter:none;opacity:.6}
  .home-page .brand-word{font-size:7vw;font-weight:700;line-height:1;white-space:nowrap;opacity:.6}
  .home-page .home-cases{padding:8vh 4vw 0}
  .home-page .cases-title{
    --cases-title-viewport-unit:min(1vw,1vh);
    --cases-title-viewport-unit:min(1vw,1svh);
    position:relative;
    top:0;
    width:calc(67.2 * var(--cases-title-viewport-unit));
    height:calc(10.658 * var(--cases-title-viewport-unit));
    margin:0 auto 5svh;
    color:var(--paper);
    text-align:center;
    white-space:nowrap;
  }
  .home-page .cases-title-main,
  .home-page .cases-title-script{
    position:absolute;
    display:block;
    font-style:normal;
    white-space:nowrap;
  }
  .home-page .cases-title-main{
    left:48.666%;
    top:-15.5%;
    transform:translateX(-50%);
    font-family:var(--stolzl);
    font-size:calc(6.225 * var(--cases-title-viewport-unit));
    font-weight:700;
    line-height:1.186;
  }
  .home-page .cases-title-script{
    left:50%;
    top:37.25%;
    transform:translateX(-50%);
    color:var(--green);
    font-family:var(--salted);
    font-size:calc(8.44 * var(--cases-title-viewport-unit));
    font-weight:400;
    line-height:.625;
    -webkit-text-stroke:calc(.844 * var(--cases-title-viewport-unit)) var(--black);
    paint-order:stroke fill;
  }
  .home-page .cases-grid{width:92vw;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2vh 2vw}
  .home-page .cases-burst{top:416.47vw;width:min(18vw,12svh)}
  .home-page .case-card{aspect-ratio:1.62;min-height:0}
  .home-page .case-card-featured{width:100%;aspect-ratio:1.85}
  .home-page .card-meta{left:2.2vw;right:1.5vw;bottom:2vw;gap:1vw}
  .home-page .card-meta>b{font-size:clamp(.7rem,3.4vw,1rem);line-height:1.1}
  .home-page .chip{font-size:clamp(.36rem,1.65vw,.52rem);min-height:0;padding:.75vw 1.2vw}
  .home-page .hand-note{width:26vw}
  .home-page .card-doodle{
    position:absolute;
    z-index:4;
    width:min(10vw,5.4vh);
    height:auto;
    transform-origin:center;
  }
  .home-page .doodle-atec,
  .home-page .doodle-lolla{
    right:max(-2vw,-1.08vh);
    top:max(-2vw,-1.08vh);
    transform:rotate(-15deg);
  }
  .home-page .doodle-town{
    left:max(-3vw,-1.62vh);
    top:min(13vw,7.02vh);
    transform:rotate(-30deg);
  }
  .home-page .doodle-uber{right:1vw;top:12vw}
  .home-page .primary-button{width:50vw;min-height:0;height:12vw;margin:5vh auto 0;font-size:clamp(.68rem,3vw,.9rem)}
  .home-page .about-section{width:92vw;height:auto;margin:12vh auto 0;padding:0;grid-template-columns:23vw 1fr;gap:4vw}
  .home-page .about-mark{width:23vw}
  .home-page .about-section h1{font-family:"oswald",var(--stolzl);font-size:clamp(1.8rem,8.7vw,3.2rem);line-height:1.08}
  .home-page .about-copy{font-size:clamp(.75rem,3.25vw,.95rem)}
  .home-page .about-copy p{line-height:1.5}
  .home-page .services-section{width:92vw;height:auto;margin:12vh auto 0;padding:0 0 10vh}
  .home-page .services-bar{width:100%;height:auto;padding:5vw;grid-template-columns:1fr;gap:4vw}
  .home-page .services-bar h2{font-size:clamp(1.75rem,8vw,2.5rem)}
  .home-page .service-buttons{justify-content:flex-start;gap:1vw 3vw}
  .home-page .service-toggle{font-size:clamp(.7rem,3vw,.9rem)}
  .home-page .service-panel{width:100%;margin:.5rem 0 0}
  .home-page .department-grid{width:100%;height:auto;margin:8vh 0 0;grid-template-columns:1fr;gap:3vw}
  .home-page .department-card{height:auto;min-height:0;padding:6vw;font-size:clamp(.75rem,3.2vw,.95rem)}
  .home-page .department-card h3{font-size:clamp(1rem,4vw,1.25rem)}
  .home-page .site-footer{height:44vw;min-height:10rem;margin-top:0}
}

@media(prefers-reduced-motion:reduce){
  .home-page .logo-marquee-track{animation:none!important;transform:none!important}
}

/* Figma 241:739 — faixa de clientes */
.home-page .hero-clients{
  isolation:isolate;
  overflow:hidden;
  clip-path:inset(0);
  -webkit-mask-image:none;
  mask-image:none;
  background:rgba(11,11,11,.1);
  border-color:#fdfbf1;
}
.home-page .hero-clients .logo-window{
  position:absolute;
  inset:0;
  overflow:hidden;
  contain:paint;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 4%,rgba(0,0,0,.25) 8%,rgba(0,0,0,.5) 13%,rgba(0,0,0,.75) 18%,rgba(0,0,0,.92) 22%,#000 26%,#000 74%,rgba(0,0,0,.92) 78%,rgba(0,0,0,.75) 82%,rgba(0,0,0,.5) 87%,rgba(0,0,0,.25) 92%,rgba(0,0,0,.08) 96%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.08) 4%,rgba(0,0,0,.25) 8%,rgba(0,0,0,.5) 13%,rgba(0,0,0,.75) 18%,rgba(0,0,0,.92) 22%,#000 26%,#000 74%,rgba(0,0,0,.92) 78%,rgba(0,0,0,.75) 82%,rgba(0,0,0,.5) 87%,rgba(0,0,0,.25) 92%,rgba(0,0,0,.08) 96%,transparent 100%);
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
.home-page .hero-clients .logo-marquee-track{
  height:100%;
  gap:2.917vw;
  padding:0;
  animation-name:home-brand-loop;
  will-change:transform;
}
.home-page .hero-clients .brand-set{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.917vw;
  padding-block:.833vw;
  flex:none;
}
.home-page .brand-item{
  position:relative;
  display:flex;
  flex:none;
  align-items:center;
  justify-content:center;
  padding:0;
  border:0;
  border-radius:.42vw;
  background:transparent;
  color:#fff;
  cursor:default;
  pointer-events:none;
  opacity:1;
  outline:0;
  -webkit-tap-highlight-color:transparent;
  transition:none;
}
.home-page .brand-item img{
  width:100%;
  height:100%;
  max-width:none;
  object-fit:contain;
  filter:none;
  opacity:1;
  pointer-events:none;
  transition:none;
}
.home-page .brand-item.brand-globo{width:13.229vw;height:3.802vw}
.home-page .brand-item.brand-global{width:12.76vw;height:3.349vw;overflow:hidden}
.home-page .brand-global .brand-crop{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.home-page .brand-global .brand-crop img{position:absolute;left:-12.25%;top:-12.32%;width:124.43%;height:123.15%;max-width:none}
.home-page .brand-item.brand-coletivo{width:4.323vw;height:1.45vw;opacity:.3}
.home-page .brand-item.brand-town{width:2.292vw;height:2.24vw;opacity:.3}
.home-page .brand-item.brand-client-2{width:3.958vw;height:2.088vw;opacity:.3}
.home-page .brand-item.brand-client-3{width:5.469vw;height:1.198vw;opacity:.3}
.home-page .brand-item.brand-ttec{width:4.583vw;height:1.198vw;opacity:.3}
.home-page .brand-item.brand-word{width:5.677vw;height:1.51vw;font-family:var(--stolzl);font-size:clamp(1.8rem,3.177vw,4.1rem);font-weight:700;line-height:3.646vw;text-align:center;white-space:nowrap}
.home-page .brand-item.brand-word-wide{width:auto;min-width:max-content}
.home-page .hero-clients:before,
.home-page .hero-clients:after{
  display:none;
}
.home-page .hero-clients:before{
  left:0;
  background:linear-gradient(90deg,#070707 0 55%,rgba(7,7,7,.98) 68%,rgba(7,7,7,.78) 82%,transparent 100%);
}
.home-page .hero-clients:after{
  right:0;
  background:linear-gradient(270deg,#070707 0 55%,rgba(7,7,7,.98) 68%,rgba(7,7,7,.78) 82%,transparent 100%);
}
@keyframes home-brand-loop{to{transform:translateX(calc(-50% - 1.4585vw))}}

@media(max-width:900px){
  .home-page .hero-clients .logo-marquee-track{gap:7vw;animation-name:home-brand-loop-mobile}
  .home-page .hero-clients .brand-set{gap:7vw;padding-block:2vw}
  .home-page .brand-item{border-radius:1.6vw}
  .home-page .brand-item.brand-globo{width:29vw;height:8.2vw}
  .home-page .brand-item.brand-global{width:28vw;height:7.2vw}
  .home-page .brand-item.brand-coletivo{width:9.5vw;height:3.2vw}
  .home-page .brand-item.brand-town{width:5vw;height:4.9vw}
  .home-page .brand-item.brand-client-2{width:8.7vw;height:4.6vw}
  .home-page .brand-item.brand-client-3{width:12vw;height:2.6vw}
  .home-page .brand-item.brand-ttec{width:10vw;height:2.6vw}
  .home-page .brand-item.brand-word{width:12.4vw;height:3.4vw;font-size:6.8vw;line-height:7.6vw}
  .home-page .hero-clients:before{width:32%;background:linear-gradient(90deg,#070707 0 55%,rgba(7,7,7,.98) 68%,rgba(7,7,7,.78) 82%,transparent 100%)}
  .home-page .hero-clients:after{width:32%;background:linear-gradient(270deg,#070707 0 35%,rgba(7,7,7,.98) 50%,rgba(7,7,7,.72) 72%,transparent 100%)}
  @keyframes home-brand-loop-mobile{to{transform:translateX(calc(-50% - 3.5vw))}}
}

@media(prefers-reduced-motion:reduce){
  .home-page .brand-item,.home-page .brand-item img{transition:none!important}
}

/* Correção visual do recorte central do node 241:739 */
.home-page .hero-clients{
  border-color:rgba(253,251,241,.05);
}
.home-page .hero-clients .logo-marquee-track{
  gap:2.917vw;
  padding-left:3.125vw;
  animation-duration:34s;
  animation-delay:2s;
  animation-fill-mode:both;
}
.home-page .hero-clients .brand-set{
  width:32.292vw;
  height:100%;
  gap:2.917vw;
  padding:0;
  justify-content:flex-start;
}
.home-page .brand-item.brand-coletivo{width:4.323vw;height:1.45vw;opacity:.3}
.home-page .brand-item.brand-town{width:2.292vw;height:2.24vw;opacity:.3}
.home-page .brand-item.brand-client-2{width:3.958vw;height:2.088vw;opacity:.3}
.home-page .brand-item.brand-client-3{width:5.469vw;height:1.198vw;opacity:.3}
.home-page .brand-item.brand-ttec{width:4.583vw;height:1.198vw;opacity:.3}
@keyframes home-brand-loop{to{transform:translateX(-35.208vw)}}

@media(max-width:900px){
  .home-page .hero-clients{height:9.878vw}
  .home-page .hero-clients .logo-marquee-track{gap:6.508vw;padding-left:6.973vw;animation-name:home-brand-loop-mobile}
  .home-page .hero-clients .brand-set{width:72.054vw;gap:6.508vw;padding:0}
  .home-page .brand-item.brand-coletivo{width:9.646vw;height:3.233vw}
  .home-page .brand-item.brand-town{width:5.114vw;height:4.997vw}
  .home-page .brand-item.brand-client-2{width:8.832vw;height:4.659vw}
  .home-page .brand-item.brand-client-3{width:12.203vw;height:2.673vw}
  .home-page .brand-item.brand-ttec{width:10.227vw;height:2.673vw}
  @keyframes home-brand-loop-mobile{to{transform:translateX(-78.562vw)}}
}

/* Refinamentos visuais solicitados — Figma 7:219 e 55:63 */
.home-page .home-hero{
  overflow:visible;
}
.home-page .hero-shade{
  background:radial-gradient(ellipse 116% 73.12% at 50% 26.88%,rgba(0,0,0,0) 0%,rgba(5,5,5,.737) 46.115%,#070707 71.377%);
}
.home-page .hero-clients{
  background:transparent;
}
.home-page .hero-clients .logo-window{
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 5%,rgba(0,0,0,.22) 11%,rgba(0,0,0,.5) 18%,rgba(0,0,0,.78) 25%,rgba(0,0,0,.94) 31%,#000 36%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.06) 5%,rgba(0,0,0,.22) 11%,rgba(0,0,0,.5) 18%,rgba(0,0,0,.78) 25%,rgba(0,0,0,.94) 31%,#000 36%,#000 100%);
}
.home-page .hero-clients:before,
.home-page .hero-clients:after{
  content:"";
  position:absolute;
  top:1px;
  bottom:1px;
  z-index:5;
  display:block;
  width:26%;
  pointer-events:none;
  box-shadow:none;
}
.home-page .hero-clients:before{
  left:0;
  right:auto;
  width:32%;
  background:linear-gradient(90deg,#070707 0%,#070707 18%,rgba(7,7,7,.98) 35%,rgba(7,7,7,.86) 55%,rgba(7,7,7,.55) 73%,rgba(7,7,7,.22) 88%,transparent 100%);
}
.home-page .hero-clients:after{
  right:0;
  left:auto;
  background:linear-gradient(270deg,#070707 0%,rgba(7,7,7,.98) 22%,rgba(7,7,7,.88) 42%,rgba(7,7,7,.62) 62%,rgba(7,7,7,.28) 82%,transparent 100%);
}
.home-page .sticker-clapper{
  left:0;
  overflow:visible;
}
.home-page .chip{
  color:var(--paper);
  box-shadow:inset 0 0 .521vw rgba(253,251,241,.1);
  transition:none;
}
.home-page .chip.orange{color:var(--paper)}
.home-page .chip.light,
.home-page .chip.green{color:var(--black)}
.home-page .primary-button{
  width:min(16.406vw,19.6875rem);
  height:min(3.646vw,4.375rem);
  min-height:0;
  gap:min(.833vw,1rem);
  padding:0 min(1.042vw,1.25rem);
  border:0;
  border-radius:8.75rem;
  background:var(--blue);
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(.78rem,1.042vw,1.25rem);
  font-weight:700;
  line-height:1;
  box-shadow:inset 0 0 min(.521vw,.625rem) rgba(30,79,255,.3);
  filter:drop-shadow(0 0 min(.26vw,.3125rem) rgba(30,79,255,.3));
  transition:box-shadow .28s ease,filter .28s ease;
}
.home-page .primary-button-icon{
  width:clamp(1.55rem,1.823vw,2.1875rem);
  height:clamp(1.4rem,1.667vw,2rem);
  flex:none;
  object-fit:contain;
}
.home-page .hero-clients:hover .logo-marquee-track{
  animation-play-state:running;
}
.home-page .glass-nav a,
.home-page .instagram-button{
  transition:color .28s cubic-bezier(.22,.61,.36,1);
}
.home-page .glass-nav a img,
.home-page .instagram-button img{
  filter:none;
}
.home-page .hover-icon{
  position:relative;
  display:block;
  flex:none;
}
.home-page .glass-nav .hover-icon{
  width:1.4rem;
  height:1.4rem;
}
.home-page .instagram-button .hover-icon{
  width:100%;
  height:100%;
}
.home-page .floating-whatsapp{
  position:fixed;
  z-index:60;
  right:min(5.052vw,6.0625rem);
  bottom:min(4.167vh,2.8125rem);
  display:block;
  width:min(5vw,6rem);
  aspect-ratio:96/98;
  isolation:isolate;
  outline:none;
  -webkit-tap-highlight-color:transparent;
}
.home-page .floating-whatsapp .hover-icon{
  width:100%;
  height:100%;
}
.home-page .floating-whatsapp .floating-whatsapp-hover{
  position:absolute;
  inset:0;
  opacity:0;
}
.home-page .hover-icon img{
  width:100%!important;
  height:100%!important;
  opacity:1;
  transition:opacity .28s cubic-bezier(.22,.61,.36,1);
}
.home-page .hover-icon:after{
  content:"";
  position:absolute;
  inset:0;
  background:var(--blue);
  opacity:0;
  pointer-events:none;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
  transition:opacity .28s cubic-bezier(.22,.61,.36,1);
}
.home-page .hover-icon-whatsapp:after{
  -webkit-mask-image:url("/assets/figma/home-contact.svg");
  mask-image:url("/assets/figma/home-contact.svg");
}
.home-page .hover-icon-instagram:after{
  -webkit-mask-image:url("/assets/figma/home-instagram.svg");
  mask-image:url("/assets/figma/home-instagram.svg");
}
.home-page .home-hero .hero-static-svg{
  pointer-events:none;
  cursor:default;
}

@media(hover:hover) and (pointer:fine){
  .home-page .glass-nav a:hover,
  .home-page .service-toggle:hover,
  .home-page .service-toggle[aria-expanded="true"],
  .home-page :is(a,button):not(.primary-button):not(.budget-button):hover{
    color:var(--blue);
  }
  .home-page .interactive-asset:not(.about-mark):hover{
    filter:drop-shadow(0 0 .65rem rgba(30,79,255,.78));
    translate:0 -.18vw;
    scale:1.04;
  }
  .home-page .glass-nav a:hover,
  .home-page .glass-nav a:focus-visible,
  .home-page .instagram-button:hover,
  .home-page .instagram-button:focus-visible{
    color:var(--blue);
    transform:none;
  }
  .home-page .glass-nav a:hover .hover-icon img,
  .home-page .glass-nav a:focus-visible .hover-icon img,
  .home-page .instagram-button:hover .hover-icon img,
  .home-page .instagram-button:focus-visible .hover-icon img{
    opacity:0;
  }
  .home-page .glass-nav a:hover .hover-icon:after,
  .home-page .glass-nav a:focus-visible .hover-icon:after,
  .home-page .instagram-button:hover .hover-icon:after,
  .home-page .instagram-button:focus-visible .hover-icon:after{
    opacity:1;
  }
  .home-page .floating-whatsapp:hover .floating-whatsapp-default,
  .home-page .floating-whatsapp:focus-visible .floating-whatsapp-default{
    opacity:0;
  }
  .home-page .floating-whatsapp:hover .floating-whatsapp-hover,
  .home-page .floating-whatsapp:focus-visible .floating-whatsapp-hover{
    opacity:1;
  }
  .home-page .case-card:hover{
    border-color:var(--blue);
    box-shadow:inset 0 0 0 1px var(--blue),inset 0 -7vw 9vw rgba(30,79,255,.2),0 0 1.35vw rgba(30,79,255,.38);
  }
  .home-page .case-card:hover .chip{
    color:var(--paper);
    box-shadow:inset 0 0 .521vw rgba(253,251,241,.1);
    transform:none;
  }
  .home-page .case-card:hover .chip.light,
  .home-page .case-card:hover .chip.green{color:var(--black)}
  .home-page .primary-button:hover{
    color:#fff;
    background:var(--blue);
    transform:none;
    box-shadow:inset 0 0 min(.521vw,.625rem) rgba(30,79,255,.3);
    filter:drop-shadow(0 0 min(.42vw,.5rem) rgba(30,79,255,.48));
  }
  .home-page .primary-button:hover .primary-button-icon{
    filter:none;
  }
  .highlight-card:hover,
  .media-card:hover,
  .making-feature:hover,
  .making-tile:hover,
  .bts-mosaic button:hover{
    outline:2px solid var(--blue);
    outline-offset:-2px;
    box-shadow:0 0 1.1rem rgba(30,79,255,.55);
  }
}

.home-page .interactive-asset.asset-bop{
  filter:drop-shadow(0 0 .75rem rgba(30,79,255,.85));
}
.home-page .service-toggle[aria-expanded="true"]{
  color:var(--blue);
  text-shadow:0 0 .625rem rgba(30,79,255,.3);
  filter:drop-shadow(0 0 .3125rem rgba(30,79,255,.3));
}
.home-page .service-toggle{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.521vw;
  opacity:1;
  transition:color .45s ease,text-shadow .45s ease,filter .45s ease,opacity .55s ease;
}
.home-page .service-arrow{
  width:1.042vw;
  height:.521vw;
  max-width:none;
  flex:none;
  filter:none!important;
  transition:transform .65s cubic-bezier(.22,1,.36,1),filter .45s ease;
}
.home-page .service-toggle[aria-expanded="true"] .service-arrow{
  transform:rotate(180deg);
  filter:brightness(0) saturate(100%) invert(31%) sepia(99%) saturate(6155%) hue-rotate(226deg) brightness(101%) contrast(103%) drop-shadow(0 0 .3125rem rgba(30,79,255,.3))!important;
}
.home-page .services-bar.is-expanded .service-item:not(.is-open) .service-toggle{
  opacity:.4;
}
.home-page .services-bar.is-expanded .service-item.is-open .service-toggle,
.home-page .service-toggle[aria-expanded="true"]{
  opacity:1;
}
@media(hover:hover) and (pointer:fine){
  .home-page .service-toggle:hover,
  .home-page .service-toggle:focus-visible{
    color:var(--blue);
    text-shadow:0 0 .625rem rgba(30,79,255,.3);
    filter:drop-shadow(0 0 .3125rem rgba(30,79,255,.3));
  }
  .home-page .service-toggle:hover .service-arrow,
  .home-page .service-toggle:focus-visible .service-arrow{
    filter:brightness(0) saturate(100%) invert(31%) sepia(99%) saturate(6155%) hue-rotate(226deg) brightness(101%) contrast(103%) drop-shadow(0 0 .3125rem rgba(30,79,255,.3))!important;
  }
}
.home-page .about-section h1{
  font-family:"Oswald",sans-serif;
  font-weight:700;
  overflow-wrap:normal;
  word-break:normal;
}
.home-page .about-title-line{
  display:block;
  white-space:nowrap;
}
.home-page .about-title-accent{
  color:inherit;
  -webkit-text-stroke:0;
  text-shadow:none;
  filter:none;
}
.home-page .about-copy{
  font-weight:300;
}
.home-page .about-copy-toggle{
  display:none;
}
.home-page .about-copy-toggle[hidden]{
  display:none!important;
}
.home-page .card-meta{
  flex-wrap:nowrap!important;
  align-items:center;
  justify-content:flex-start;
}
.home-page .card-meta:has(>img),
.home-page .card-meta:has(>.case-card-logo){
  align-items:center;
  justify-content:flex-start;
}
.home-page .card-meta>b{
  flex:0 0 auto;
  min-width:0;
  font-size:clamp(.7rem,2.2vw,3rem);
  letter-spacing:-.02em;
  white-space:nowrap;
}
.home-page .card-meta>.card-title-medium{
  font-size:clamp(.7rem,2vw,2.65rem);
}
.home-page .card-meta>.card-title-long{
  font-size:clamp(.7rem,1.8vw,2.3rem);
  letter-spacing:-.035em;
}
.home-page .card-meta>img,
.home-page .chip{
  flex:0 0 auto;
}
.home-page .card-meta>.case-card-logo{
  flex:0 0 auto;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.home-page .card-meta>.case-card-logo--coletivo{
  width:7.604vw;
}
.home-page .card-meta>.case-card-logo--the-town{
  width:10.469vw;
}
.home-page .card-meta>.card-brand-uber{
  width:6.771vw;
}
.home-page .card-meta>.case-card-logo--lollapalooza{
  position:relative;
  width:12.76vw;
  height:3.348vw;
  overflow:hidden;
}
.home-page .case-card-logo--lollapalooza img{
  position:absolute;
  top:-12.32%;
  left:-12.25%;
  width:124.43%;
  height:123.15%;
  max-width:none;
}
.home-page .case-card{
  overflow:visible;
}
.home-page .case-card>.cover-media,
.home-page .case-card>.case-bg,
.home-page .case-card>.card-shade{
  border-radius:inherit;
}
.home-page .case-card .card-doodle,
.home-page .case-card .hand-note{
  pointer-events:none;
  cursor:default;
  filter:none!important;
  translate:none!important;
  scale:1!important;
  animation:none!important;
}

@media(max-width:900px){
  .home-page .hero-clients:before,
  .home-page .hero-clients:after{
    width:32%;
  }
  .home-page .hero-clients:before{
    width:38%;
  }
  .home-page .floating-whatsapp{
    right:4vw;
    bottom:4vw;
    width:min(17vw,4.75rem);
  }
  .home-page .floating-whatsapp:active .floating-whatsapp-default{
    opacity:0;
  }
  .home-page .floating-whatsapp:active .floating-whatsapp-hover{
    opacity:1;
  }
  .home-page .sticker-clapper,
  .home-page .sticker-person{
    display:none;
  }
  .home-page .glass-nav .hover-icon{
    width:calc(7.637 * var(--hero-mobile-unit));
    height:calc(7.876 * var(--hero-mobile-unit));
  }
  .home-page .cases-grid{
    grid-template-columns:1fr;
    gap:4vw;
  }
  .home-page .case-card,
  .home-page .case-card-featured{
    grid-column:auto;
    width:100%;
  }
  .home-page .card-meta{
    left:4vw;
    right:3vw;
    bottom:3.5vw;
    gap:1.6vw;
    flex-wrap:nowrap;
  }
  .home-page .card-meta>b{
    font-size:clamp(.55rem,3.5vw,1.1rem);
  }
  .home-page .card-meta>.card-title-medium{
    font-size:clamp(.55rem,3.15vw,1rem);
  }
  .home-page .card-meta>.card-title-long{
    font-size:clamp(.5rem,2.8vw,.9rem);
  }
  .home-page .card-meta>img{
    width:21vw;
    max-height:7vw;
  }
  .home-page .card-meta>.case-card-logo--coletivo{
    width:15.45vw;
  }
  .home-page .card-meta>.case-card-logo--the-town{
    width:21.28vw;
  }
  .home-page .card-meta>.card-brand-uber{
    width:16.8vw;
  }
  .home-page .card-meta>.case-card-logo--lollapalooza{
    width:25.95vw;
    height:6.81vw;
  }
  .home-page .chip{
    min-height:0;
    padding:1.35vw 2.4vw;
    font-size:clamp(.56rem,2.5vw,.72rem);
    box-shadow:inset 0 0 2vw rgba(253,251,241,.1);
  }
  .home-page .primary-button{
    width:50vw;
    height:11.111vw;
    gap:2.54vw;
    padding:0 3.175vw;
    font-size:clamp(.68rem,3.175vw,.9rem);
    box-shadow:inset 0 0 1.587vw rgba(30,79,255,.3);
    filter:drop-shadow(0 0 .794vw rgba(30,79,255,.3));
  }
  .home-page .primary-button-icon{
    width:5.556vw;
    height:5.079vw;
  }
  .home-page .service-toggle{
    gap:2vw;
  }
  .home-page .service-arrow{
    width:4vw;
    height:2vw;
  }
}

@media(min-width:901px){
  .home-page .glass-nav .hover-icon{
    width:1.667vw;
    height:1.719vw;
  }
  .home-page .hero-clients .logo-marquee-track{
    animation-delay:0s;
  }
  .home-page .card-meta{
    flex-wrap:nowrap;
    row-gap:.625vw;
  }
}

/* Faixa de logos — saída e entrada perfeitamente espelhadas.
   A pequena área transparente nas extremidades impede que o recorte físico
   do container apareça durante a passagem de um logo. */
.home-page .hero-clients{
  --logo-set-width:32.292vw;
  --logo-gap:2.917vw;
  --logo-cycle:-35.209vw;
  --logo-start:3.125vw;
  border-block-width:max(.052vw,.1vh);
}
.home-page .hero-clients .logo-marquee-track{
  gap:var(--logo-gap);
  padding-left:var(--logo-start);
  animation-name:home-brand-loop;
}
.home-page .hero-clients .brand-set{
  width:var(--logo-set-width);
  gap:var(--logo-gap);
}
.home-page .hero-clients .logo-window{
  inset:0 1px;
  -webkit-mask-image:linear-gradient(90deg,
    transparent 0%,
    transparent 4%,
    rgba(0,0,0,.12) 9%,
    rgba(0,0,0,.35) 15%,
    rgba(0,0,0,.7) 22%,
    #000 30%,
    #000 70%,
    rgba(0,0,0,.7) 78%,
    rgba(0,0,0,.35) 85%,
    rgba(0,0,0,.12) 91%,
    transparent 96%,
    transparent 100%);
  mask-image:linear-gradient(90deg,
    transparent 0%,
    transparent 4%,
    rgba(0,0,0,.12) 9%,
    rgba(0,0,0,.35) 15%,
    rgba(0,0,0,.7) 22%,
    #000 30%,
    #000 70%,
    rgba(0,0,0,.7) 78%,
    rgba(0,0,0,.35) 85%,
    rgba(0,0,0,.12) 91%,
    transparent 96%,
    transparent 100%);
}
.home-page .hero-clients:before,
.home-page .hero-clients:after{
  top:0;
  bottom:0;
  width:30%;
}
.home-page .hero-clients:before{
  left:0;
  width:30%;
  background:linear-gradient(90deg,
    #070707 0 12%,
    rgba(7,7,7,.94) 28%,
    rgba(7,7,7,.68) 52%,
    rgba(7,7,7,.3) 76%,
    transparent 100%);
}
.home-page .hero-clients:after{
  right:0;
  background:linear-gradient(270deg,
    #070707 0 12%,
    rgba(7,7,7,.94) 28%,
    rgba(7,7,7,.68) 52%,
    rgba(7,7,7,.3) 76%,
    transparent 100%);
}

@keyframes home-brand-loop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(var(--logo-cycle),0,0)}
}

@media(max-width:900px){
  .home-page .hero-clients{
    --logo-set-width:min(100.876vw,72.03svh);
    --logo-gap:min(9.111vw,6.506svh);
    --logo-cycle:calc(0px - min(109.987vw,78.531svh));
    --logo-start:min(9.762vw,6.97svh);
    bottom:max(3svh,calc(17svh - min(16.5vw,11.781svh)));
    width:92vw;
    height:min(14vw,10svh);
  }
  .home-page .brand-item.brand-coletivo{width:min(13.504vw,9.642svh);height:min(4.526vw,3.232svh)}
  .home-page .brand-item.brand-town{width:min(7.16vw,5.112svh);height:min(6.996vw,4.995svh)}
  .home-page .brand-item.brand-client-2{width:min(12.365vw,8.83svh);height:min(6.523vw,4.658svh)}
  .home-page .brand-item.brand-client-3{width:min(17.084vw,12.199svh);height:min(3.742vw,2.672svh)}
  .home-page .brand-item.brand-ttec{width:min(14.318vw,10.225svh);height:min(3.742vw,2.672svh)}
  .home-page .hero-clients:before,
  .home-page .hero-clients:after{
    width:30%;
  }
  @keyframes home-brand-loop-mobile{
    to{transform:translate3d(var(--logo-cycle),0,0)}
  }
}

/* Case Globo — Figma 216:81 (frame 74:195) */
.case-page .case-about{
  --frame-stroke:.104167vw;
  position:relative;
  isolation:isolate;
  width:91.667vw;
  height:34.654vh;
  min-height:0;
  margin:5.589vh auto 0;
  padding:0;
  display:grid;
  grid-template-columns:11.615vw 40.469vw;
  justify-content:center;
  align-items:center;
  column-gap:2.083vw;
  overflow:hidden;
  border:0;
  background:#0b0b0b;
}
.case-page .case-about::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  padding:var(--frame-stroke);
  pointer-events:none;
  background:radial-gradient(
    ellipse 86.249994% 64.47% at 50.3125% 50%,
    rgba(253,251,241,1) 0%,
    rgba(253,251,241,0) 100%
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.case-page .case-about::after{
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  box-shadow:inset 2.604167vw 0 2.8125vw #070707,
             inset -2.604167vw 0 2.8125vw #070707;
}
.case-page .case-about h1{
  width:11.615vw;
  margin:0;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:1.666667vw;
  font-weight:400;
  line-height:1.5625vw;
  text-align:left;
}
.case-page .case-about h1 em{
  display:block;
  color:var(--orange);
  font-family:var(--salted);
  font-size:3.75vw;
  font-weight:400;
  line-height:3.125vw;
  text-transform:uppercase;
  overflow-wrap:normal;
  white-space:nowrap;
}
.case-page .case-about .case-about-copy{
  width:40.469vw;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:.833333vw;
  font-weight:400;
  line-height:1.145833;
}
.case-page .case-about .case-about-copy p{
  margin:0;
  line-height:inherit;
}
.case-page .case-about .case-about-copy p+p{
  margin-top:0;
}
.case-page .case-about-copy-toggle{
  display:none;
}
.case-page .case-about-copy-toggle[hidden]{
  display:none!important;
}

@media(max-width:900px){
  .case-page .case-about{
    --frame-stroke:.22vw;
    width:92vw;
    height:auto;
    min-height:48vh;
    margin:5vh auto 0;
    padding:6vh 6vw;
    grid-template-columns:1fr;
    align-content:center;
    row-gap:min(5vw,2.7vh);
  }
  .case-page .case-about::after{
    box-shadow:inset 5vw 0 7vw #070707,
               inset -5vw 0 7vw #070707;
  }
  .case-page .case-about h1{
    width:100%;
    font-size:5.8vw;
    line-height:5.4vw;
    text-align:center;
  }
  .case-page .case-about h1 em{
    font-size:12vw;
    line-height:12vw;
  }
  .case-page .case-about .case-about-copy{
    width:100%;
    font-size:3.2vw;
    line-height:1.28;
    text-align:center;
  }
  .case-page .case-about .case-about-copy p{
    line-height:inherit;
  }
  .case-page .case-about .case-about-copy p+p{
    margin-top:0;
  }
  .case-page .case-about .case-about-copy:not(.is-expanded) p:nth-of-type(n+2){
    display:none;
  }
  .case-page .case-about-copy-toggle{
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:min(7vw,3.78vh);
    margin:min(1.4vw,.76vh) auto 0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--blue);
    font:inherit;
    font-weight:300;
    line-height:1;
    cursor:pointer;
  }
  .case-page .case-about-copy-toggle:focus-visible{
    outline:min(.55vw,.3vh) solid var(--blue);
    outline-offset:min(1vw,.54vh);
  }
}

/* Upfront — mesmo tratamento de frame do case Globo */
.upfront-page .project-intro{
  --frame-stroke:.104167vw;
  position:relative;
  isolation:isolate;
  width:100vw;
  min-height:clamp(18rem,34.654vh,22rem);
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:clamp(2.5rem,5vh,4rem) clamp(2rem,5vw,6rem);
  display:grid;
  grid-template-columns:minmax(13rem,18rem) minmax(28rem,56rem);
  justify-content:center;
  align-items:center;
  column-gap:clamp(2rem,4.2vw,5rem);
  overflow:hidden;
  border:0;
  background:#0b0b0b;
  box-shadow:none;
}
.upfront-page .project-intro::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  padding:var(--frame-stroke);
  pointer-events:none;
  background:radial-gradient(
    ellipse 86.249994% 64.47% at 50.3125% 50%,
    rgba(253,251,241,.2) 0%,
    rgba(253,251,241,0) 100%
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.upfront-page .project-intro h1{
  width:100%;
  margin:0;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(1.65rem,1.666667vw,2rem);
  font-weight:400;
  line-height:1.15;
  text-align:left;
}
.upfront-page .project-intro h1 em{
  display:block;
  color:var(--orange);
  font-family:var(--salted);
  font-size:clamp(3.25rem,3.75vw,4.5rem);
  font-weight:400;
  line-height:1.05;
  white-space:nowrap;
}
.upfront-page .project-intro>div{
  width:100%;
  max-width:56rem;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(.875rem,.833333vw,1rem);
  font-weight:400;
  line-height:1.38;
  text-wrap:pretty;
}
.upfront-page .project-intro>div p{
  margin:0;
}
.upfront-page .project-intro>div p+p{
  margin-top:0;
}

@media(max-width:900px){
  .upfront-page .project-intro{
    --frame-stroke:.22vw;
    width:100vw;
    height:auto;
    min-height:48vh;
    padding:6vh 6vw;
    grid-template-columns:minmax(0,42rem);
    align-content:center;
    justify-items:center;
    gap:4vh;
  }
  .upfront-page .project-intro h1{
    width:100%;
    font-size:clamp(1.65rem,5.8vw,2.1rem);
    line-height:1.15;
    text-align:center;
  }
  .upfront-page .project-intro h1 em{
    font-size:clamp(3.25rem,12vw,4.5rem);
    line-height:1.05;
  }
  .upfront-page .project-intro>div{
    width:100%;
    font-size:clamp(.875rem,3.2vw,1rem);
    line-height:1.4;
    text-align:center;
  }
}

/* Upfront — Figma 224:345, 224:355 e 224:414 */
@media(min-width:901px){
  .upfront-page .deliverable-row{
    width:67.864583vw;
    height:max(27.760417vw,54.166667vh);
    margin-inline:auto;
    display:flex;
    align-items:center;
    gap:0;
    overflow:hidden;
  }
  .upfront-page .horizontal-row{
    width:76.09375vw;
    margin-top:max(2.03125vw,3.963415vh);
  }
  .upfront-page .deliverable-copy{
    width:19.895833vw;
    min-height:0;
    padding:max(1.25vw,2.439024vh);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:max(1.40625vw,2.743902vh);
    flex:none;
    overflow:hidden;
    border:.104167vw solid rgba(253,251,241,0);
    border-radius:1.041667vw 0 0 1.041667vw;
    background:rgba(51,51,51,.1);
    box-shadow:inset -3.125vw 0 2.8125vw rgba(8,8,8,.7);
  }
  .upfront-page .deliverable-copy-stories{
    height:max(22.604167vw,44.105691vh);
  }
  .upfront-page .deliverable-copy-horizontal{
    height:max(25.625vw,50vh);
  }
  .upfront-page .deliverable-copy h2{
    width:100%;
    margin:0;
    flex:none;
    color:var(--paper);
    font-family:var(--stolzl);
    font-size:clamp(1.2rem,1.666667vw,2rem);
    font-weight:400;
    line-height:normal;
    text-box-trim:trim-both;
    text-box-edge:cap alphabetic;
  }
  .upfront-page .deliverable-copy-body{
    width:100%;
    height:auto;
    min-height:0;
    flex:0 1 auto;
    color:var(--paper);
    font-family:var(--stolzl);
    font-size:clamp(.55rem,.729167vw,.875rem);
    font-weight:400;
    line-height:1.12;
    text-box-trim:trim-both;
    text-box-edge:cap alphabetic;
  }
  .upfront-page .deliverable-copy-body p{
    margin:0;
    line-height:inherit;
  }
  .upfront-page .deliverable-copy-body p+p{
    margin-top:.729167vw;
  }
  .upfront-page .project-pagination{
    width:3.28125vw;
    height:3.150407vh;
    flex:none;
    padding:1.01626vh .520833vw;
    border:.052083vw solid rgba(253,251,241,.02);
    border-radius:3.645833vw;
    background:rgba(51,51,51,.1);
    margin-top:auto;
    position:relative;
    z-index:2;
  }
  .upfront-page .project-pagination-inner{
    width:2.135417vw;
    height:.914634vh;
    display:flex;
    align-items:flex-start;
    gap:.416667vw;
  }
  .upfront-page .project-pagination-dot{
    position:relative;
    width:.46875vw;
    height:.914634vh;
    flex:none;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
  }
  .upfront-page .project-pagination-dot img{
    position:absolute;
    inset:0;
    width:.46875vw;
    height:.914634vh;
    max-width:none;
  }
  .upfront-page .project-pagination-dot.is-active img{
    left:-.520833vw;
    top:-1.01626vh;
    width:1.510417vw;
    height:2.947154vh;
  }
  .upfront-page .vertical-cards,
  .upfront-page .horizontal-cards{
    height:100%;
    min-width:0;
    padding:0;
    align-items:center;
    overflow-x:auto;
  }
  .upfront-page .vertical-cards{
    width:47.96875vw;
    gap:1.354167vw;
  }
  .upfront-page .vertical-cards .vertical-card{
    flex:0 0 15.104167vw;
    height:100%;
    max-height:none;
  }
  .upfront-page .horizontal-cards{
    width:56.197917vw;
    gap:1.25vw;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  .upfront-page .horizontal-cards::-webkit-scrollbar{display:none}
  .upfront-page .horizontal-cards::after{
    content:"";
    flex:0 0 6.510417vw;
    height:1px;
  }
  .upfront-page .horizontal-cards .horizontal-card{
    flex:0 0 49.6875vw;
    width:49.6875vw;
    height:100%;
    aspect-ratio:auto;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

@media(max-width:900px){
  .upfront-page .deliverable-row{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow:hidden;
  }
  .upfront-page .deliverable-copy{
    width:100%;
    height:auto;
    min-height:0;
    padding:max(6.154vw,2.844vh);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:max(5.128vw,2.37vh);
    overflow:visible;
    border:.513vw solid rgba(253,251,241,0);
    border-radius:5.128vw 5.128vw 0 0;
    background:rgba(51,51,51,.1);
    box-shadow:inset -15.385vw 0 13.846vw rgba(8,8,8,.7);
  }
  .upfront-page .deliverable-copy h2{
    width:100%;
    margin:0;
    font-size:clamp(1.5rem,8.205vw,2rem);
    font-weight:400;
    line-height:normal;
  }
  .upfront-page .deliverable-copy-body{
    width:100%;
    height:auto;
    flex:none;
    font-size:clamp(.78rem,3.59vw,.875rem);
    line-height:1.2;
  }
  .upfront-page .deliverable-copy-body p{
    margin:0;
    line-height:inherit;
  }
  .upfront-page .deliverable-copy-body p+p{
    margin-top:3.59vw;
  }
  .upfront-page .project-pagination{
    width:16.154vw;
    height:7.949vw;
    padding:2.564vw;
    border:.256vw solid rgba(253,251,241,.02);
    border-radius:17.949vw;
    background:rgba(51,51,51,.1);
    margin-top:0;
    position:relative;
    z-index:2;
  }
  .upfront-page .project-pagination-inner{
    width:10.513vw;
    height:2.308vw;
    display:flex;
    gap:2.051vw;
  }
  .upfront-page .project-pagination-dot{
    position:relative;
    width:2.308vw;
    height:2.308vw;
    flex:none;
    padding:0;
    border:0;
    background:transparent;
    cursor:pointer;
  }
  .upfront-page .project-pagination-dot img{
    position:absolute;
    inset:0;
    width:2.308vw;
    height:2.308vw;
    max-width:none;
  }
  .upfront-page .project-pagination-dot.is-active img{
    left:-2.564vw;
    top:-2.564vw;
    width:7.436vw;
    height:7.436vw;
  }
  .upfront-page .vertical-cards,
  .upfront-page .horizontal-cards{
    width:100%;
    margin:0;
    padding:0;
    align-items:stretch;
  }
  .upfront-page .horizontal-cards{
    gap:4vw;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
  }
  .upfront-page .horizontal-cards::-webkit-scrollbar{display:none}
  .upfront-page .horizontal-cards::after{
    content:"";
    flex:0 0 0;
  }
  .upfront-page .vertical-cards .media-card,
  .upfront-page .horizontal-cards .media-card{
    border-top-left-radius:0;
  }
  .upfront-page .vertical-cards .media-card:first-child,
  .upfront-page .horizontal-cards .media-card:first-child{
    flex-basis:100%;
    border-top-right-radius:0;
  }
  .upfront-page .horizontal-cards .media-card{
    flex:0 0 100%;
    width:100%;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
}

/* Upfront — frames de vídeo Figma 224:317 e 224:371 */
.upfront-page .upfront-video-card{
  isolation:isolate;
  overflow:hidden;
  padding:0;
  border:max(.052083vw,.101626vh) solid rgba(253,251,241,.2);
  border-radius:max(.9375vw,1.829268vh);
  background:#0d0d0d;
}
.upfront-page .upfront-video-card .cover-media{
  z-index:0;
  border-radius:inherit;
  object-position:center;
}
.upfront-page .upfront-video-card::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background-repeat:no-repeat;
  background-position:center;
  background-size:100% 100%;
}
.upfront-page .horizontal-card.upfront-video-card.is-carousel-clone{
  pointer-events:none;
}
.upfront-page .horizontal-cards-viewport{
  position:relative;
  isolation:isolate;
  flex:none;
  min-width:0;
  overflow:hidden;
}
.upfront-page .horizontal-cards-viewport .horizontal-cards{
  -webkit-mask-image:linear-gradient(90deg,
    #000 0%,
    #000 70%,
    rgba(0,0,0,.7) 78%,
    rgba(0,0,0,.35) 85%,
    rgba(0,0,0,.12) 91%,
    transparent 96%,
    transparent 100%);
  mask-image:linear-gradient(90deg,
    #000 0%,
    #000 70%,
    rgba(0,0,0,.7) 78%,
    rgba(0,0,0,.35) 85%,
    rgba(0,0,0,.12) 91%,
    transparent 96%,
    transparent 100%);
}

@media(min-width:901px){
  .upfront-page .horizontal-cards-viewport{
    width:56.197917vw;
    height:100%;
  }
  .upfront-page .horizontal-cards-viewport .horizontal-cards{
    width:100%;
    height:100%;
  }
}

@media(max-width:900px){
  .upfront-page .horizontal-cards-viewport{
    width:100%;
  }
  .upfront-page .horizontal-cards-viewport .horizontal-cards{
    width:100%;
  }
}
.upfront-page .vertical-card.upfront-video-card::before{
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 290 533' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' width='100%25' height='100%25' fill='url(%23grad)' opacity='.83'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-2.9245 51.35 -30.114 -23.628 195.08 -27.95)'><stop stop-color='rgba(102,102,102,0)' offset='0'/><stop stop-color='rgba(51,51,51,.5)' offset='.48761'/><stop stop-color='rgba(26,26,26,.75)' offset='.73142'/><stop stop-color='rgba(13,13,13,.875)' offset='.85332'/><stop stop-color='rgba(6,6,6,.9375)' offset='.91427'/><stop stop-color='rgba(0,0,0,1)' offset='.97523'/></radialGradient></defs></svg>");
}
.upfront-page .horizontal-card.upfront-video-card::before{
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 954 533' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' width='100%25' height='100%25' fill='url(%23grad)' opacity='.83'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-9.6206 51.35 -99.065 -23.628 641.76 -27.95)'><stop stop-color='rgba(102,102,102,0)' offset='0'/><stop stop-color='rgba(51,51,51,.5)' offset='.48761'/><stop stop-color='rgba(26,26,26,.75)' offset='.73142'/><stop stop-color='rgba(13,13,13,.875)' offset='.85332'/><stop stop-color='rgba(6,6,6,.9375)' offset='.91427'/><stop stop-color='rgba(0,0,0,1)' offset='.97523'/></radialGradient></defs></svg>");
}
.upfront-page .upfront-video-card .media-tags{
  z-index:2;
  top:clamp(.875rem,2.235vh,1.375rem);
  gap:clamp(.375rem,.416667vw,.5rem);
}
.upfront-page .vertical-card.upfront-video-card .media-tags{
  left:50%;
  transform:translateX(-50%);
}
.upfront-page .horizontal-card.upfront-video-card .media-tags{
  left:clamp(1rem,1.510417vw,1.8125rem);
  transform:none;
}
.upfront-page .upfront-video-card .media-tags .chip{
  height:clamp(2.1rem,4.621vh,2.4375rem);
  min-height:0;
  padding:0 clamp(.95rem,4.872vw,1.21875rem);
  border:1px solid rgba(253,251,241,.2);
  border-radius:clamp(4rem,30.769vw,7.5rem);
  box-shadow:inset 0 0 clamp(.5rem,1.01626vh,.625rem) rgba(253,251,241,.1);
  font-family:var(--stolzl);
  font-weight:400;
  line-height:1;
}
.upfront-page .upfront-video-card .media-tags .chip.orange{
  color:var(--paper);
  font-size:clamp(.68rem,3.333vw,.8125rem);
}
.upfront-page .upfront-video-card .media-tags .chip.green{
  color:#070707;
  font-size:clamp(.625rem,2.821vw,.6875rem);
}
.upfront-page .upfront-video-card .fullscreen-icon{
  --fullscreen-control-size:clamp(3.5rem,max(16.410256vw,7.582938vh),4rem);
  z-index:3;
  left:clamp(1rem,1.041667vw,1.25rem);
  bottom:clamp(1rem,2.03252vh,1.25rem);
  width:var(--fullscreen-control-size);
  height:var(--fullscreen-control-size);
  max-width:none;
  overflow:visible;
  image-rendering:auto;
  pointer-events:none;
}

/* Figma 228:489 — orçamento dos projetos Upfront, ADS e PMSW */
.upfront-page .project-budget-button{
  width:min(80.769vw,19.6875rem);
  height:clamp(3.5rem,7.114vh,4.375rem);
  min-height:0;
  margin:clamp(3rem,7.114vh,4.375rem) auto 0;
  padding:0 clamp(1rem,1.041667vw,1.25rem);
  gap:clamp(.75rem,.833333vw,1rem);
  border:0;
  border-radius:clamp(5rem,7.291667vw,8.75rem);
  background:#1e4fff;
  color:#fdfbf1;
  box-shadow:0 0 clamp(.25rem,.50813vh,.3125rem) rgba(30,79,255,.3),inset 0 0 clamp(.5rem,1.01626vh,.625rem) rgba(30,79,255,.3);
  font-family:var(--stolzl);
  font-size:clamp(.9rem,1.041667vw,1.25rem);
  font-weight:700;
  line-height:1;
  transition:transform .28s ease,box-shadow .28s ease,background-color .28s ease;
}
.upfront-page .project-budget-button-icon{
  flex:0 0 auto;
  width:clamp(1.75rem,1.822917vw,2.1875rem);
  height:clamp(1.6rem,3.252033vh,2rem);
  object-fit:fill;
}
.upfront-page .project-budget-button:hover,
.upfront-page .project-budget-button:focus-visible{
  background:#1e4fff;
  transform:translateY(clamp(-.25rem,-.4065vh,-.125rem));
  box-shadow:0 0 clamp(.5rem,1.01626vh,.625rem) rgba(30,79,255,.48),inset 0 0 clamp(.625rem,1.2195vh,.75rem) rgba(253,251,241,.12);
}

@media(max-width:900px){
  .upfront-page .upfront-video-card{
    border-width:.256vw;
    border-radius:4.615vw;
  }
  .upfront-page .upfront-video-card .media-tags{
    gap:clamp(.375rem,2.051vw,.5rem);
  }
  .upfront-page .vertical-card.upfront-video-card .media-tags{
    top:clamp(.875rem,5.641vw,1.375rem);
    left:50%;
    transform:translateX(-50%);
  }
  .upfront-page .horizontal-card.upfront-video-card .media-tags{
    top:clamp(.625rem,2.564vw,1.25rem);
    left:clamp(.75rem,3.846vw,1.8125rem);
    transform:none;
  }
  .upfront-page .vertical-cards .vertical-card.upfront-video-card{
    height:auto;
    max-height:none;
    aspect-ratio:290/533;
    align-self:flex-start;
  }
  .upfront-page .horizontal-cards .horizontal-card.upfront-video-card{
    height:auto;
    aspect-ratio:954/533;
  }
  .upfront-page .horizontal-cards .horizontal-card.upfront-video-card,
  .upfront-page .horizontal-cards .horizontal-card.upfront-video-card:first-child{
    --next-video-preview:max(15vw,9vh);
    flex-basis:calc(100% - var(--next-video-preview));
    width:calc(100% - var(--next-video-preview));
  }
  .upfront-page .vertical-cards .upfront-video-card:first-child,
  .upfront-page .horizontal-cards .upfront-video-card:first-child{
    border-top-left-radius:0;
    border-top-right-radius:0;
  }
}

/* Case Globo — Figma 173:172 e 173:251 */
.case-page .highlights{
  padding:6.9vh 0 0;
}
.case-page .highlights .section-title{
  width:10.833vw;
  min-height:3.229vw;
  margin:0 auto 5.9vh;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:2.396vw;
  font-weight:400;
  line-height:1.563vw;
  text-align:center;
  white-space:nowrap;
}
.case-page .highlights .section-title em{
  position:relative;
  z-index:1;
  display:block;
  margin:0;
  color:var(--orange);
  font-family:var(--salted);
  font-size:2.552vw;
  font-weight:400;
  line-height:1.563vw;
  text-transform:lowercase;
}
.case-page .highlight-track{
  width:95.833vw;
  margin-left:4.167vw;
  padding:0;
  gap:1.146vw;
  align-items:center;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  cursor:grab;
}
.case-page .highlight-track::after{
  content:"";
  flex:0 0 58.281vw;
  height:1px;
}
.case-page .highlight-track:active{
  cursor:grabbing;
}
.case-page .highlight-card{
  flex:0 0 37.552vw;
  width:37.552vw;
  height:19.115vw;
  aspect-ratio:auto;
  overflow:hidden;
  border:.052vw solid rgba(253,251,241,.2);
  border-radius:.677vw;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  transform:none;
}
.case-page .highlight-card.is-loop-preview{
  opacity:.2;
  transition:opacity .4s ease;
}
.case-page .highlight-card.is-loop-preview.is-loop-active{
  opacity:1;
}
.case-page .highlight-card .card-shade{
  z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 721 367' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' height='100%25' width='100%25' fill='url(%23grad)' opacity='0.83'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-7.2709 35.357 -74.87 -16.269 485.02 -19.245)'><stop stop-color='rgba(102,102,102,0)' offset='0'/><stop stop-color='rgba(51,51,51,0.5)' offset='0.48761'/><stop stop-color='rgba(26,26,26,0.75)' offset='0.73142'/><stop stop-color='rgba(13,13,13,0.875)' offset='0.85332'/><stop stop-color='rgba(6,6,6,0.9375)' offset='0.91427'/><stop stop-color='rgba(0,0,0,1)' offset='0.97523'/></radialGradient></defs></svg>");
  background-size:100% 100%;
}
.case-page .highlight-chips{
  left:1.615vw;
  top:2.134vh;
  gap:.417vw;
}
.case-page .highlight-chips .chip{
  height:2.604vw;
  min-height:0;
  padding:0 1.042vw;
  border:.052vw solid rgba(253,251,241,.2);
  border-radius:6.25vw;
  font-family:var(--stolzl);
  font-size:.833vw;
  font-weight:400;
  box-shadow:inset 0 0 .521vw rgba(253,251,241,.1);
}
.case-page .highlight-card b{
  left:1.667vw;
  bottom:3.049vh;
  width:11.458vw;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:2.083vw;
  font-weight:700;
  line-height:normal;
}
.case-page .highlight-dots{
  width:3.281vw;
  margin:3.659vh auto 0;
  padding:.521vw;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.417vw;
  border:.052vw solid rgba(253,251,241,.02);
  border-radius:3.646vw;
  background:rgba(51,51,51,.1);
}
.case-page .highlight-dot{
  width:.469vw;
  height:.469vw;
  flex:none;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--blue);
  opacity:.22;
  cursor:pointer;
  box-shadow:none;
  transform:scale(.88);
  transition:opacity .22s ease,box-shadow .22s ease,transform .22s ease;
}
.case-page .highlight-dot:hover{
  opacity:.58;
}
.case-page .highlight-dot.is-active{
  opacity:1;
  transform:scale(1);
  box-shadow:0 0 .521vw var(--blue),0 0 1.042vw rgba(30,79,255,.62);
}

@media(max-width:900px){
  .case-page .highlights{
    padding-top:6vh;
  }
  .case-page .highlights .section-title{
    width:44vw;
    min-height:15vw;
    margin-bottom:4vh;
    font-size:7vw;
    line-height:4.6vw;
  }
  .case-page .highlights .section-title em{
    font-size:7.8vw;
    line-height:4.6vw;
  }
  .case-page .highlight-track{
    --highlight-mobile-card-width:min(86vw,56svh);
    --highlight-mobile-card-gap:4vw;
    --highlight-mobile-track-edge:max(0px,calc((100vw - var(--highlight-mobile-card-width))/2));
    width:100vw;
    margin-left:0;
    padding:0 var(--highlight-mobile-track-edge);
    gap:var(--highlight-mobile-card-gap);
    scroll-padding-inline:var(--highlight-mobile-track-edge);
    scroll-behavior:smooth;
  }
  .case-page .highlight-track::after{
    content:none;
  }
  .case-page .highlight-card{
    flex:0 0 var(--highlight-mobile-card-width);
    width:var(--highlight-mobile-card-width);
    height:auto;
    aspect-ratio:1.62;
    border:.22vw solid rgba(253,251,241,.2);
    border-radius:2.8vw;
    scroll-snap-align:center;
  }
  .case-page .highlight-chips{
    left:4vw;
    top:2vh;
    gap:1.5vw;
  }
  .case-page .highlight-chips .chip{
    height:9vw;
    padding:0 3vw;
    border:.22vw solid rgba(253,251,241,.2);
    border-radius:20vw;
    font-size:3vw;
    box-shadow:inset 0 0 2vw rgba(253,251,241,.1);
  }
  .case-page .highlight-card b{
    left:4vw;
    bottom:2.5vh;
    width:34vw;
    font-size:6vw;
  }
  .case-page .highlight-dots{
    width:16vw;
    margin-top:3vh;
    padding:2.5vw;
    gap:2vw;
    border:.22vw solid rgba(253,251,241,.02);
    border-radius:18vw;
  }
  .case-page .highlight-dot{
    width:2vw;
    height:2vw;
  }
  .case-page .highlight-dot.is-active{
    box-shadow:0 0 2vw var(--blue),0 0 4vw rgba(30,79,255,.62);
  }
}

/* Case Globo — Figma 241:697 e 241:696 */
.case-page .making-preview{
  width:100%;
  padding:13.3vh 0 12vh;
}
.case-page .making-preview h2{
  width:100%;
  margin:0;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:2.083vw;
  font-weight:700;
  line-height:normal;
  text-align:center;
}
.case-page .making-grid{
  width:76.51vw;
  height:auto;
  min-height:0;
  margin:5.488vh auto 0;
  display:flex;
  align-items:center;
  gap:1.042vw;
}
.case-page .making-column{
  min-width:0;
  flex:1 1 0;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:2.439vh;
}
.case-page .making-tile{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  background:#111;
}
.case-page .making-tile-large{
  width:100%;
  height:36.484vh;
  grid-row:auto;
}
.case-page .making-tile-wide,
.case-page .making-small-row{
  width:100%;
  height:11.077vh;
}
.case-page .making-small-row{
  display:flex;
  align-items:center;
  gap:1.042vw;
}
.case-page .making-small-row .making-tile{
  height:100%;
  min-width:0;
  flex:1 1 0;
}
.case-page .making-tile>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
}
.case-page .making-large-left>img{
  left:.06%;
  top:-86.41%;
  width:100%;
  height:359.09%;
  object-fit:fill;
}
.case-page .making-small-crop>img{
  left:-.07%;
  top:-89.74%;
  width:100%;
  height:484.69%;
  object-fit:fill;
}
.case-page .making-action{
  position:absolute;
  z-index:3;
  left:1.25vw;
  bottom:2.439vh;
  width:2.292vw;
  height:2.292vw;
}
.case-page .making-action img{
  position:absolute;
  inset:-22.73%;
  width:145.46%;
  height:145.46%;
  max-width:none;
  image-rendering:auto;
  transform:none;
}

@media(max-width:900px){
  .case-page .making-preview{
    padding:10vh 0 12vh;
  }
  .case-page .making-preview h2{
    font-size:7vw;
  }
  .case-page .making-grid{
    width:92vw;
    margin-top:5vh;
    flex-direction:column;
    gap:3vw;
  }
  .case-page .making-column{
    width:100%;
    gap:3vw;
  }
  .case-page .making-tile-large{
    height:50vw;
  }
  .case-page .making-tile-wide,
  .case-page .making-small-row{
    height:22vw;
  }
  .case-page .making-small-row{
    gap:3vw;
  }
  .case-page .making-action{
    left:4vw;
    bottom:4vw;
    width:8vw;
    height:8vw;
  }
}

/* Figma 241:738 — serviços e depoimentos */
.home-page .services-section{
  filter:none;
}
.home-page .services-bar{
  --service-expand-duration:850ms;
  border:1px solid rgba(253,251,241,.2);
  background:#0b0b0b;
  box-shadow:inset 0 0 .625rem rgba(253,251,241,.05);
  overflow:visible;
}
.home-page .services-bar h2{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  margin:0;
  color:var(--paper);
  text-align:center;
}
.home-page .services-bar h2 span{
  display:block;
  font-family:var(--stolzl);
  font-weight:400;
}
.home-page .services-bar h2 em{
  display:block;
  color:var(--orange);
  font-family:var(--salted);
  font-style:normal;
  font-weight:400;
}
.home-page .service-toggle{
  border:0;
  background:transparent;
  color:var(--paper);
  font-family:"stolzl",var(--stolzl);
  font-style:normal;
  font-weight:200!important;
  font-synthesis:none;
  cursor:pointer;
}
.home-page .service-toggle:focus-visible{
  color:var(--blue);
  outline:none;
}
.home-page .service-buttons,
.home-page .service-row,
.home-page .service-item{
  min-width:0;
}
.home-page .service-row{
  width:100%;
}
.home-page .service-item{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  transform:translateX(0);
  transition:transform var(--service-expand-duration) cubic-bezier(.22,1,.36,1);
}
.home-page .service-details{
  width:0;
  max-height:0;
  overflow:hidden;
  color:var(--paper);
  font-family:"stolzl",var(--stolzl);
  font-style:normal;
  font-weight:300!important;
  font-synthesis:none;
  opacity:0;
  pointer-events:none;
  transform:translateY(-.5rem);
  transition:
    width var(--service-expand-duration) cubic-bezier(.22,1,.36,1),
    max-height var(--service-expand-duration) cubic-bezier(.22,1,.36,1),
    opacity var(--service-expand-duration) ease,
    transform var(--service-expand-duration) cubic-bezier(.22,1,.36,1);
}
.home-page .service-details-inner{
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.home-page .service-details p{
  width:100%;
  max-width:none;
  margin:0;
  line-height:1.28;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.home-page .service-item.is-open .service-details{
  overflow:visible;
  opacity:1;
  pointer-events:auto;
  transform:none;
}
.home-page .service-item.is-open .service-toggle{
  justify-content:flex-start;
  text-align:left;
}
.home-page .department-card{
  border:1px solid rgba(253,251,241,.2);
  background:#0b0b0b;
  box-shadow:inset 0 0 .625rem rgba(253,251,241,.05);
}

@media(min-width:901px){
  .home-page .services-section{
    width:min(91.667vw,178.862vh,110rem);
    height:auto;
    margin:min(7.396vw,14.431vh,8.875rem) auto 0;
    padding:0;
  }
  .home-page .services-bar{
    width:100%;
    height:auto;
    min-height:min(7.708vw,15.04vh,9.25rem);
    padding:min(1.667vw,3.252vh,2rem) min(3.333vw,6.504vh,4rem);
    grid-template-columns:min(8.594vw,16.768vh,10.3125rem) minmax(0,1fr);
    gap:min(1.927vw,3.76vh,2.3125rem);
    border-radius:min(.521vw,1.017vh,.625rem);
    overflow:visible;
    transition:padding var(--service-expand-duration) cubic-bezier(.22,1,.36,1);
  }
  .home-page .services-bar.is-expanded{
    grid-template-columns:min(8.594vw,16.768vh,10.3125rem) minmax(0,1fr);
    gap:min(1.927vw,3.76vh,2.3125rem);
  }
  .home-page .services-bar h2 span{
    font-size:clamp(1.75rem,min(2.083vw,4.064vh),2.5rem);
    line-height:.75;
  }
  .home-page .services-bar h2 em{
    font-size:clamp(1.925rem,min(2.292vw,4.472vh),2.75rem);
    line-height:.682;
  }
  .home-page .service-buttons{
    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:min(.417vw,.813vh,.5rem);
    transition:gap var(--service-expand-duration) cubic-bezier(.22,1,.36,1);
  }
  .home-page .services-bar.is-expanded .service-buttons{
    gap:min(.417vw,.813vh,.5rem);
  }
  .home-page .service-row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:0;
  }
  .home-page .service-item{
    flex:0 0 auto;
  }
  .home-page .service-item.is-open{
    padding-right:0;
    transform:none;
  }
  .home-page .service-toggle{
    gap:min(.521vw,1.017vh,.625rem);
    width:auto;
    height:min(1.927vw,3.76vh,2.3125rem);
    min-height:min(1.927vw,3.76vh,2.3125rem);
    padding:0 min(.521vw,1.017vh,.625rem);
    font-size:clamp(.8rem,min(calc(2.2vw - .875rem),2.439vh),1.5rem);
    line-height:1.25;
    white-space:nowrap;
    transition:color .45s ease,text-shadow .45s ease,filter .45s ease,opacity .55s ease,padding var(--service-expand-duration) cubic-bezier(.22,1,.36,1);
  }
  .home-page .service-arrow{
    width:min(1.042vw,2.033vh,1.25rem);
    height:min(.521vw,1.017vh,.625rem);
  }
  .home-page .service-details{
    position:relative;
    z-index:2;
    inset:auto;
    margin-left:min(.521vw,1.017vh,.625rem);
    font-size:clamp(.638rem,min(.7447vw,1.4531vh),.89375rem);
  }
  .home-page .service-details-inner{
    width:100%;
    max-width:clamp(14rem,min(15.625vw,30.488vh),18.75rem);
    padding-top:min(.208vw,.407vh,.25rem);
  }
  .home-page .service-item.is-open .service-details{
    width:0;
    max-height:30rem;
    overflow:visible;
  }
  .home-page .department-grid{
    width:100%;
    height:min(20.833vw,40.65vh,25rem);
    margin:min(3.75vw,7.317vh,4.5rem) auto 0;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:min(2.5vw,4.878vh,3rem);
  }
  .home-page .department-card{
    height:min(20.833vw,40.65vh,25rem);
    min-height:0;
    padding:min(1.667vw,3.252vh,2rem) min(3.333vw,6.504vh,4rem);
    border-radius:min(.521vw,1.017vh,.625rem);
    font-size:clamp(.72rem,min(.833vw,1.625vh),1rem);
  }
  .home-page .department-card h3{
    margin:0 0 min(1.927vw,3.76vh,2.3125rem);
    font-size:clamp(.9rem,min(1.25vw,2.439vh),1.5rem);
    font-weight:400;
    line-height:1.25;
  }
  .home-page .department-card p{
    margin:0;
    line-height:1.5;
  }
}

@media(min-width:1121px){
  .home-page .service-row{
    flex-wrap:nowrap;
  }
  .home-page .service-row-top .service-item:nth-child(1){--service-closed-basis:23.739496%}
  .home-page .service-row-top .service-item:nth-child(2){--service-closed-basis:23.739496%}
  .home-page .service-row-top .service-item:nth-child(3){--service-closed-basis:10.294118%}
  .home-page .service-row-top .service-item:nth-child(4){--service-closed-basis:18.207283%}
  .home-page .service-row-top .service-item:nth-child(5){--service-closed-basis:7.703081%}
  .home-page .service-row-bottom .service-item:nth-child(1){--service-closed-basis:14.07563%}
  .home-page .service-row-bottom .service-item:nth-child(2){--service-closed-basis:34.383754%}
  .home-page .service-row-bottom .service-item:nth-child(3){--service-closed-basis:9.803922%}
  .home-page .service-row-bottom .service-item:nth-child(4){--service-closed-basis:10.364146%}
  .home-page .service-row-bottom .service-item:nth-child(5){--service-closed-basis:14.145658%}
  .home-page .service-item{
    width:var(--service-closed-basis);
    flex:0 0 var(--service-closed-basis);
    transition:
      width var(--service-expand-duration) cubic-bezier(.22,1,.36,1),
      flex-basis var(--service-expand-duration) cubic-bezier(.22,1,.36,1),
      transform var(--service-expand-duration) cubic-bezier(.22,1,.36,1);
  }
  .home-page .service-row-bottom .service-item:nth-child(2) .service-toggle{
    justify-content:flex-start;
    text-align:left;
  }
  .home-page .service-row-bottom .service-item:nth-child(2) .service-label{
    text-align:left;
    white-space:nowrap;
  }
  .home-page .service-item.is-open{
    width:max(var(--service-closed-basis),21.708683%);
    flex-basis:max(var(--service-closed-basis),21.708683%);
    max-width:100%;
  }
  .home-page .service-toggle{
    width:100%;
  }
  .home-page .service-details{
    margin-left:min(.521vw,1.017vh,.625rem);
  }
  .home-page .service-item.is-open .service-details{
    width:calc(100% - min(.521vw,1.017vh,.625rem));
    overflow:visible;
  }
}

@media(max-width:900px){
  .home-page .services-section{
    width:92vw;
    height:auto;
    margin:12vh auto 0;
    padding:0 0 10vh;
  }
  .home-page .services-bar{
    width:100%;
    height:auto;
    padding:5vw;
    grid-template-columns:1fr;
    gap:5vw;
    border-radius:2.5vw;
  }
  .home-page .services-bar.is-expanded{height:auto}
  .home-page .services-bar h2 span{font-size:8vw;line-height:.8}
  .home-page .services-bar h2 em{font-size:8.8vw;line-height:.72}
  .home-page .service-buttons{
    display:flex;
    flex-direction:column;
    gap:2vw;
  }
  .home-page .service-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2vw 3vw;
    align-items:start;
  }
  .home-page .service-item.is-open{
    grid-column:1/-1;
  }
  .home-page .service-toggle{
    justify-content:space-between;
    gap:2vw;
    padding:2vw 1vw;
    font-size:clamp(.68rem,3vw,.9rem);
    line-height:1.3;
    text-align:left;
    white-space:normal;
  }
  .home-page .service-arrow{width:4vw;height:2vw}
  .home-page .service-details{
    position:relative;
    inset:auto;
    margin-left:1vw;
    font-size:clamp(.78rem,3.5vw,.95rem);
  }
  .home-page .service-details-inner{
    width:min(38ch,80vw);
    padding-top:2vw;
  }
  .home-page .service-item.is-open .service-details{
    width:min(38ch,80vw);
    max-height:80rem;
  }
  .home-page .department-grid{
    width:100%;
    height:auto;
    margin:8vh 0 0;
    grid-template-columns:1fr;
    gap:3vw;
  }
  .home-page .department-card{
    height:auto;
    min-height:0;
    padding:8vw;
    border-radius:2.5vw;
    font-size:clamp(.75rem,3.2vw,.95rem);
  }
  .home-page .department-card h3{
    margin:0 0 5vw;
    font-size:clamp(1rem,4vw,1.25rem);
  }
}

@media(min-width:901px) and (max-width:1120px){
  .home-page .services-section{
    width:92vw;
  }
  .home-page .services-bar,
  .home-page .services-bar.is-expanded{
    grid-template-columns:1fr;
    gap:1.5rem;
    padding:1.5rem;
  }
  .home-page .services-bar h2{
    width:100%;
  }
  .home-page .service-buttons,
  .home-page .services-bar.is-expanded .service-buttons{
    gap:1.25rem;
  }
  .home-page .service-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.75rem 1.25rem;
  }
  .home-page .service-item.is-open{
    grid-column:1/-1;
    padding-right:0;
    transform:none;
  }
  .home-page .service-toggle{
    justify-content:flex-start;
    font-size:clamp(.8rem,1.8vw,1.1rem);
    text-align:left;
    white-space:normal;
  }
  .home-page .service-details-inner,
  .home-page .service-item.is-open .service-details{
    width:min(40ch,72vw);
  }
}

/* Tags — tipografia uniforme por contexto e escala combinada em vw/vh */
.lightbox-close{z-index:2}
@media(min-width:901px){
  .chip{
    min-height:clamp(1.5rem,max(2.4vw,4.553vh),2.8rem);
    padding:clamp(.35rem,max(.45vw,.813vh),.45rem) clamp(.75rem,max(1vw,1.626vh),1rem);
    font-size:clamp(.56rem,max(.8vw,1.463vh),.9rem);
  }
  .home-page .chip{
    min-height:clamp(2.5rem,max(2.865vw,5.59vh),3.4375rem);
    padding:clamp(.625rem,max(.781vw,1.524vh),.9375rem) clamp(.875rem,max(1.042vw,2.033vh),1.25rem);
    font-size:clamp(.78rem,max(1.042vw,2.033vh),1.34rem);
  }
}
@media(max-width:900px){
  .chip{
    min-height:clamp(1.25rem,max(5.128vw,2.37vh),2rem);
    padding:clamp(.3rem,max(1.35vw,.592vh),.55rem) clamp(.55rem,max(2.4vw,1.185vh),1rem);
    font-size:clamp(.5rem,max(2.05vw,.948vh),.72rem);
  }
  .home-page .chip{
    min-height:clamp(1.25rem,max(5.128vw,2.37vh),2rem);
    padding:clamp(.3rem,max(1.35vw,.592vh),.55rem) clamp(.55rem,max(2.4vw,1.185vh),1rem);
    font-size:clamp(.56rem,max(2.5vw,1.066vh),.72rem);
  }
}
.upfront-page .upfront-video-card .media-tags .chip,
.upfront-page .upfront-video-card .media-tags .chip.orange,
.upfront-page .upfront-video-card .media-tags .chip.green{
  height:clamp(2.1rem,min(2.03125vw,4.621vh),2.4375rem);
  min-height:0;
  padding-inline:clamp(.8rem,min(1.015625vw,2.311vh),1.21875rem);
  font-size:clamp(.6875rem,min(.677083vw,1.321138vh),.8125rem);
}
.case-page .highlight-chips .chip{
  height:clamp(2rem,max(2.604vw,5.081vh),3.125rem);
  padding-inline:clamp(.875rem,max(1.042vw,2.033vh),1.25rem);
  font-size:clamp(.75rem,max(.833vw,1.626vh),1rem);
}
@media(max-width:900px){
  .case-page .highlight-chips .chip{
    height:clamp(2rem,max(9vw,4.147vh),3.125rem);
    padding-inline:clamp(.75rem,max(3vw,1.422vh),1.25rem);
    font-size:clamp(.75rem,max(3vw,1.422vh),1rem);
  }
}

/* Modelo global de detalhe de case — Figma 362:22 */
.case-detail-page{
  background:#070707;
}
.case-detail-page .project-shell{
  width:100%;
  max-width:none;
  min-height:100vh;
  margin:0;
  padding:0 0 clamp(4rem,8vh,6rem);
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#070707;
  box-shadow:none;
}
.case-detail-page .project-hero{
  position:relative;
  isolation:isolate;
  width:100vw;
  height:clamp(42rem,80.556vh,54.375rem);
  overflow:hidden;
  background:#0b0b0b;
}
.case-detail-page .project-hero>.cover-media{
  z-index:-2;
  object-position:center 48%;
}
.case-detail-page .project-hero-shade{
  z-index:-1;
  background:
    radial-gradient(ellipse 43% 72% at 50% 27%,rgba(7,7,7,0) 0%,rgba(7,7,7,.12) 47%,rgba(7,7,7,.82) 74%,#070707 100%),
    linear-gradient(180deg,rgba(7,7,7,.14) 0%,rgba(7,7,7,0) 36%,#070707 100%);
}
.case-detail-page .project-back{
  position:absolute;
  left:clamp(1rem,4.167vw,5rem);
  top:clamp(1rem,3.704vh,2.5rem);
  min-height:clamp(2rem,3.148vh,2.125rem);
  padding:.2rem clamp(.75rem,1.042vw,1.25rem);
  gap:clamp(.35rem,.521vw,.625rem);
  font-size:clamp(.8rem,1.042vw,1.25rem);
}
.case-detail-page .project-back img{
  width:clamp(1rem,1.25vw,1.5rem);
  height:clamp(1rem,1.25vw,1.5rem);
}
.case-detail-page .project-hero-content{
  position:absolute;
  z-index:2;
  left:50%;
  bottom:clamp(2.5rem,6.481vh,4.375rem);
  transform:translateX(-50%);
  width:min(92vw,70rem);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(.9rem,2.222vh,1.5rem);
  text-align:center;
}
.case-detail-page .project-hero-content.reveal{
  transform:translate(-50%,2.2rem);
}
.case-detail-page .project-hero-content.reveal.visible{
  transform:translateX(-50%);
}
.case-detail-page .project-hero-content .placed-virtu{
  width:clamp(10.5rem,14.15vw,16.98rem);
  height:auto;
}
.case-detail-page .project-hero-content h1{
  margin:0;
  color:#fff;
  font-family:var(--stolzl);
  font-size:clamp(2.35rem,3.229vw,3.875rem);
  font-weight:400;
  line-height:1.08;
  text-wrap:balance;
}
.case-detail-page .project-case-title:has(.project-case-logo){
  width:100%;
  line-height:0;
}
.case-detail-page .project-case-logo{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin-inline:auto;
  object-fit:contain;
}
.case-detail-page .project-case-logo--lollapalooza{
  width:clamp(19rem,32vw,38.4rem);
}
.case-detail-page .project-case-logo--the-town{
  width:clamp(12rem,18.333vw,22rem);
}
.case-detail-page .project-case-logo--coletivo{
  width:clamp(10rem,14.583vw,17.5rem);
}
.case-detail-page .project-hero-tags{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:clamp(.35rem,.521vw,.625rem);
}
.case-detail-page .project-hero-tags .chip{
  min-height:clamp(2rem,4.63vh,3.125rem);
  padding:.55em clamp(.8rem,1.042vw,1.25rem);
  font-size:clamp(.72rem,1.042vw,1.25rem);
}
.case-detail-page .project-intro{
  --frame-stroke:.104167vw;
  position:relative;
  isolation:isolate;
  width:91.667vw;
  height:34.654vh;
  min-height:0;
  margin:5.589vh auto 0;
  padding:0;
  display:grid;
  grid-template-columns:11.615vw 40.469vw;
  align-items:center;
  justify-content:center;
  column-gap:2.083vw;
  overflow:hidden;
  border:0;
  border-radius:0;
  background:#0b0b0b;
  box-shadow:none;
}
.case-detail-page .project-intro::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  display:block;
  padding:var(--frame-stroke);
  pointer-events:none;
  background:radial-gradient(
    ellipse 86.249994% 64.47% at 50.3125% 50%,
    rgba(253,251,241,1) 0%,
    rgba(253,251,241,0) 100%
  );
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
}
.case-detail-page .project-intro::after{
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  pointer-events:none;
  box-shadow:inset 2.604167vw 0 2.8125vw #070707,
             inset -2.604167vw 0 2.8125vw #070707;
}
.case-detail-page .project-intro h2{
  position:relative;
  z-index:1;
  width:11.615vw;
  margin:0;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(1.25rem,1.666667vw,2rem);
  font-weight:400;
  line-height:1.5625vw;
}
.case-detail-page .project-intro h2 em{
  display:block;
  color:var(--orange);
  font-family:var(--salted);
  font-size:clamp(3.25rem,3.75vw,4.5rem);
  font-style:normal;
  font-weight:400;
  line-height:3.125vw;
  overflow-wrap:anywhere;
}
.case-detail-page.case-intro-unified .project-intro{
  grid-template-columns:28vw 40.469vw;
}
.case-detail-page.case-intro-unified .project-intro h2{
  width:100%;
  min-width:0;
}
.case-detail-page .project-intro h2.project-intro-title--single-case-line .project-intro-title-line{
  display:block;
}
.case-detail-page .project-intro h2.project-intro-title--single-case-line .project-intro-case-name{
  display:block;
  width:100%;
  margin-top:.2em;
  overflow-wrap:normal;
  white-space:nowrap;
  line-height:.9;
}
.case-detail-page .project-intro>div{
  position:relative;
  z-index:1;
  width:40.469vw;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(.7rem,.833333vw,1rem);
  line-height:1.145833;
}
.case-detail-page .project-intro>div p{
  margin:0;
  line-height:inherit;
}
.case-detail-page .project-intro>div p+p{
  margin-top:0;
}
.case-detail-page .project-highlights{
  padding-top:clamp(4rem,7.685vh,5.1875rem);
}
.case-detail-page .project-closing{
  width:min(76vw,89rem);
  margin:clamp(5rem,9vh,8rem) auto 0;
  padding:clamp(2rem,4vw,4rem);
  display:grid;
  grid-template-columns:minmax(16rem,31rem) minmax(20rem,42rem);
  gap:clamp(2rem,6vw,7rem);
  align-items:center;
  border-top:1px solid var(--border);
  font-size:clamp(.78rem,.83vw,1rem);
}
.case-detail-page .project-closing h2{margin:0;font-size:clamp(2rem,3vw,3.7rem);font-weight:400;line-height:1.05;text-transform:uppercase}
.case-detail-page .project-closing h2 em{font-family:var(--salted);font-style:normal;font-weight:400;color:var(--orange);text-transform:none}
.case-detail-page .project-closing p{margin:0}
.case-detail-page .project-highlights-title{
  width:clamp(13rem,17.604167vw,21.125rem);
  min-height:clamp(2.8rem,3.229167vw,3.875rem);
  margin:0 auto clamp(2.8rem,5.741vh,3.875rem);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(2rem,2.395833vw,2.875rem);
  font-weight:400;
  line-height:clamp(1.3rem,1.5625vw,1.875rem);
  text-align:center;
}
.case-detail-page .project-highlights-title em{
  display:block;
  color:var(--orange);
  font-family:var(--salted);
  font-size:clamp(2.2rem,2.552083vw,3.0625rem);
  font-style:normal;
  font-weight:400;
  line-height:clamp(1.3rem,1.5625vw,1.875rem);
}
.case-detail-page.upfront-page .deliverable-row{
  width:88.125vw;
  height:clamp(28rem,49.352vh,33.3125rem);
  margin:0 0 0 11.875vw;
  display:grid;
  grid-template-columns:minmax(18rem,19.896vw) minmax(0,1fr);
  align-items:stretch;
  gap:0;
  overflow:hidden;
}
.case-detail-page.upfront-page .horizontal-row{
  width:88.125vw;
  margin-top:clamp(2.75rem,5.093vh,3.4375rem);
}
.case-detail-page.upfront-page .deliverable-copy,
.case-detail-page.upfront-page .deliverable-copy-stories,
.case-detail-page.upfront-page .deliverable-copy-horizontal{
  width:100%;
  height:100%;
  min-height:0;
  padding:clamp(1.25rem,1.25vw,1.5rem);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:clamp(1.25rem,2.5vh,1.6875rem);
  overflow:hidden;
  border:2px solid transparent;
  border-radius:1.25rem 0 0 1.25rem;
  background:rgba(51,51,51,.1);
  box-shadow:inset -3.125vw 0 2.813vw rgba(8,8,8,.7);
}
.case-detail-page.upfront-page .deliverable-copy h3{
  width:100%;
  margin:0;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(1.5rem,1.667vw,2rem);
  font-weight:400;
  line-height:1.1;
}
.case-detail-page.upfront-page .deliverable-copy-body{
  width:100%;
  min-height:0;
  flex:0 1 auto;
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:clamp(.68rem,.729vw,.875rem);
  line-height:1.18;
}
.case-detail-page.upfront-page .deliverable-copy-body p{
  margin:0;
  line-height:inherit;
}
.case-detail-page.upfront-page .deliverable-copy-body p+p{
  margin-top:1em;
}
.case-detail-page.upfront-page .vertical-cards,
.case-detail-page.upfront-page .horizontal-cards{
  width:100%;
  height:100%;
  min-width:0;
  margin:0;
  padding:0;
  display:flex;
  align-items:stretch;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
  mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
}
.case-detail-page.upfront-page .horizontal-cards-viewport{
  width:100%;
  height:100%;
  min-width:0;
}
.case-detail-page.upfront-page .vertical-cards::-webkit-scrollbar,
.case-detail-page.upfront-page .horizontal-cards::-webkit-scrollbar{
  display:none;
}
.case-detail-page.upfront-page .vertical-cards{
  gap:clamp(1rem,1.354vw,1.625rem);
}
.case-detail-page.upfront-page .vertical-cards .vertical-card,
.case-detail-page.upfront-page .vertical-cards .vertical-card:first-child{
  flex:0 0 clamp(15.5rem,15.104vw,18.125rem);
  width:clamp(15.5rem,15.104vw,18.125rem);
  height:100%;
  max-height:none;
  border-radius:1.125rem;
}
.case-detail-page.upfront-page .horizontal-cards{
  gap:clamp(1rem,1.25vw,1.5rem);
}
.case-detail-page.upfront-page .horizontal-cards::after{
  content:"";
  flex:0 0 5vw;
  height:1px;
}
.case-detail-page.upfront-page .horizontal-cards .horizontal-card,
.case-detail-page.upfront-page .horizontal-cards .horizontal-card:first-child{
  flex:0 0 49.688vw;
  width:49.688vw;
  height:100%;
  aspect-ratio:auto;
  border-radius:1.125rem;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.case-detail-page.upfront-page .upfront-video-card .media-tags .chip,
.case-detail-page.upfront-page .upfront-video-card .media-tags .chip.orange,
.case-detail-page.upfront-page .upfront-video-card .media-tags .chip.green{
  height:clamp(1.8rem,3.704vh,2.5rem);
  min-height:0;
  padding-inline:clamp(.75rem,1.042vw,1.25rem);
  font-size:clamp(.64rem,.677vw,.8125rem);
}
.case-detail-page.upfront-page .upfront-video-card .fullscreen-icon{
  --fullscreen-control-size:clamp(2.75rem,3.333vw,4rem);
}
.case-detail-page.upfront-page .project-pagination{
  margin-top:auto;
}

@media(max-width:900px){
  .case-detail-page .project-shell{
    padding-bottom:clamp(3rem,8svh,5rem);
  }
  .case-detail-page .project-hero{
    height:84svh;
    min-height:34rem;
    max-height:48rem;
  }
  .case-detail-page .project-back{
    position:absolute;
    left:1rem;
    top:max(1rem,env(safe-area-inset-top));
  }
  .case-detail-page .project-hero-content{
    bottom:7svh;
    width:calc(100vw - 2rem);
    gap:.85rem;
  }
  .case-detail-page .project-hero-content .placed-virtu{
    width:clamp(9rem,42vw,12rem);
  }
  .case-detail-page .project-hero-content h1{
    font-size:clamp(2.25rem,11vw,3.4rem);
  }
  .case-detail-page .project-case-logo--lollapalooza{
    width:min(88vw,30rem);
  }
  .case-detail-page .project-case-logo--the-town{
    width:min(58vw,18rem);
  }
  .case-detail-page .project-case-logo--coletivo{
    width:min(52vw,14rem);
  }
  .case-detail-page .project-hero-tags .chip{
    min-height:2rem;
    font-size:clamp(.62rem,2.7vw,.78rem);
  }
  .case-detail-page .project-intro{
    --frame-stroke:.22vw;
    width:calc(100vw - 2rem);
    height:auto;
    min-height:48vh;
    margin:5vh auto 0;
    padding:6vh 6vw;
    grid-template-columns:1fr;
    align-content:center;
    row-gap:4vh;
  }
  .case-detail-page.case-intro-unified .project-intro{
    grid-template-columns:1fr;
  }
  .case-detail-page .project-intro::after{
    box-shadow:inset 5vw 0 7vw #070707,
               inset -5vw 0 7vw #070707;
  }
  .case-detail-page .project-intro h2{
    width:100%;
    font-size:clamp(1.35rem,5.8vw,1.85rem);
    line-height:5.4vw;
  }
  .case-detail-page .project-intro h2 em{
    margin-top:.2rem;
    font-size:clamp(2.75rem,12vw,4rem);
    line-height:12vw;
  }
  .case-detail-page .project-intro>div{
    width:100%;
    font-size:clamp(.78rem,3.5vw,.95rem);
    line-height:1.28;
  }
  .case-detail-page .project-highlights{
    padding-top:clamp(3.5rem,9svh,5rem);
  }
  .case-detail-page .project-closing{
    width:calc(100vw - 2rem);
    margin-top:clamp(4rem,9svh,6rem);
    padding:clamp(1.5rem,6vw,2rem) 0 0;
    grid-template-columns:1fr;
    gap:1.25rem;
    font-size:clamp(.78rem,3.5vw,.95rem);
    line-height:1.3;
  }
  .case-detail-page .project-closing h2{
    font-size:clamp(1.8rem,8vw,2.5rem);
  }
  .case-detail-page .project-highlights-title{
    width:80vw;
    min-height:14vw;
    margin-bottom:clamp(2.5rem,7svh,4rem);
    font-size:clamp(2.2rem,10vw,3rem);
    line-height:.72;
  }
  .case-detail-page .project-highlights-title em{
    display:block;
    font-size:clamp(2.35rem,11vw,3.25rem);
    line-height:.72;
  }
  .case-detail-page.upfront-page .deliverable-row,
  .case-detail-page.upfront-page .horizontal-row{
    width:calc(100vw - 2rem);
    height:auto;
    margin:0 auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    overflow:visible;
  }
  .case-detail-page.upfront-page .deliverable-row:not(.horizontal-row){
    --vertical-card-width:min(72vw,53svh);
    --stories-coupling-depth:min(4vw,2.2svh);
    align-items:center;
  }
  .case-detail-page.upfront-page .horizontal-row{
    --horizontal-card-width:min(84vw,78svh);
    --horizontal-coupling-depth:min(4vw,2.2svh);
    position:relative;
    margin-top:clamp(3.5rem,9svh,5rem);
    padding-bottom:min(13vw,8svh);
    align-items:center;
    gap:0;
  }
  .case-detail-page.upfront-page .deliverable-copy,
  .case-detail-page.upfront-page .deliverable-copy-stories,
  .case-detail-page.upfront-page .deliverable-copy-horizontal{
    width:100%;
    height:auto;
    min-height:0;
    padding:clamp(1.25rem,6vw,2rem);
    gap:1.25rem;
    overflow:visible;
    border-radius:1.25rem 1.25rem 0 0;
    box-shadow:inset -3rem 0 3rem rgba(8,8,8,.7);
  }
  .case-detail-page.upfront-page .deliverable-copy h3{
    font-size:clamp(1.6rem,8vw,2.1rem);
  }
  .case-detail-page.upfront-page .deliverable-copy-body{
    flex:none;
    font-size:clamp(.702rem,3.15vw,.855rem);
    line-height:1.3;
  }
  .case-detail-page.upfront-page .vertical-cards,
  .case-detail-page.upfront-page .horizontal-cards{
    width:100%;
    height:auto;
    padding:0;
    align-items:stretch;
    mask-image:linear-gradient(90deg,#000 0%,#000 84%,transparent 100%);
  }
  .case-detail-page.upfront-page .vertical-cards{
    position:relative;
    z-index:1;
    width:100vw;
    margin-inline:0;
    padding-inline:calc((100vw - var(--vertical-card-width))/2);
    gap:min(3vw,2.5svh);
    scroll-padding-inline:calc((100vw - var(--vertical-card-width))/2);
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pinch-zoom;
  }
  .case-detail-page.upfront-page .deliverable-row:not(.horizontal-row) .deliverable-copy-stories{
    position:relative;
    z-index:0;
    width:var(--vertical-card-width);
    max-width:100%;
    margin-bottom:calc(-1 * var(--stories-coupling-depth));
    padding-bottom:calc(clamp(1.25rem,6vw,2rem) + var(--stories-coupling-depth));
    align-self:center;
  }
  .case-detail-page.upfront-page .vertical-cards .vertical-card,
  .case-detail-page.upfront-page .vertical-cards .vertical-card:first-child{
    flex:0 0 var(--vertical-card-width);
    width:var(--vertical-card-width);
    height:auto;
    aspect-ratio:290/533;
    border-radius:min(4.6vw,3.4svh);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .case-detail-page.upfront-page .horizontal-cards{
    width:100vw;
    padding-inline:calc((100vw - var(--horizontal-card-width))/2);
    gap:min(4vw,3svh);
    scroll-padding-inline:calc((100vw - var(--horizontal-card-width))/2);
    mask-image:linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%);
  }
  .case-detail-page.upfront-page .horizontal-cards-viewport{
    position:relative;
    z-index:1;
    width:100vw;
    align-self:center;
    overflow:hidden;
  }
  .case-detail-page.upfront-page .horizontal-cards .horizontal-card,
  .case-detail-page.upfront-page .horizontal-cards .horizontal-card:first-child{
    flex:0 0 var(--horizontal-card-width);
    width:var(--horizontal-card-width);
    height:auto;
    aspect-ratio:954/533;
    border-radius:min(4.6vw,3.4svh);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .case-detail-page.upfront-page .horizontal-row .deliverable-copy-horizontal{
    position:static;
    z-index:0;
    width:var(--horizontal-card-width);
    max-width:100%;
    margin-bottom:calc(-1 * var(--horizontal-coupling-depth));
    padding-bottom:calc(clamp(1.25rem,6vw,2rem) + var(--horizontal-coupling-depth));
    align-self:center;
  }
  .case-detail-page.upfront-page .horizontal-row .project-pagination{
    position:absolute;
    left:50%;
    bottom:0;
    margin:0;
    transform:translateX(-50%);
  }
  .case-detail-page.upfront-page .upfront-video-card .fullscreen-icon{
    --fullscreen-control-size:clamp(3rem,13vw,4rem);
  }
  .case-detail-page.upfront-page .project-pagination{
    margin-top:.4rem;
  }
}

@media(max-width:560px){
  .case-detail-page .project-hero{
    height:78svh;
    min-height:32rem;
  }
  .case-detail-page .project-hero>.cover-media{
    object-position:center;
  }
  .case-detail-page .project-hero-shade{
    background:linear-gradient(180deg,rgba(7,7,7,.12) 0%,rgba(7,7,7,.08) 32%,#070707 100%);
  }
  .case-detail-page .project-hero-tags{
    gap:.3rem;
  }
  .case-detail-page .project-intro{
    width:calc(100vw - 1.5rem);
  }
  .case-detail-page .project-closing{
    width:calc(100vw - 1.5rem);
  }
  .case-detail-page.upfront-page .deliverable-row,
  .case-detail-page.upfront-page .horizontal-row{
    width:calc(100vw - 1.5rem);
  }
  .case-detail-page .site-footer{
    min-height:12rem;
  }
}

@media(max-width:900px){
  .case-detail-page.upfront-page .deliverable-row:not(.horizontal-row){
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
  }
}

/* Componentes compartilhados — CTA de orçamento e identificadores de case */
.budget-button{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  width:min(19.6875rem,calc(100vw - 2rem));
  height:4.375rem;
  min-height:0;
  margin:3.125vw auto 0;
  padding:0 1.25rem;
  border:0;
  outline:0;
  border-radius:8.75rem;
  background:var(--blue);
  color:var(--paper);
  font-family:var(--stolzl);
  font-size:1.25rem;
  font-weight:700;
  line-height:1.25rem;
  text-transform:uppercase;
  box-shadow:inset 0 0 .625rem 0 rgba(30,79,255,.3);
  filter:drop-shadow(0 0 .3125rem rgba(30,79,255,.3));
  cursor:pointer;
  transition:box-shadow .72s cubic-bezier(.16,.75,.25,1),filter .72s cubic-bezier(.16,.75,.25,1);
}
.budget-button::before{
  content:"";
  position:absolute;
  z-index:0;
  top:-55%;
  bottom:-55%;
  left:-35%;
  width:24%;
  pointer-events:none;
  opacity:0;
  transform:skewX(-22deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.78),transparent);
  filter:blur(.08rem);
  transition:opacity .38s ease-out;
}
.budget-button>img,
.budget-button>span{
  position:relative;
  z-index:1;
}
.budget-button:hover,
.budget-button:focus-visible{
  box-shadow:inset 0 0 1rem rgba(180,197,255,.68),0 0 1rem rgba(30,79,255,.95),0 0 2.25rem rgba(30,79,255,.62),0 0 3.25rem rgba(30,79,255,.24);
  filter:drop-shadow(0 0 .65rem rgba(30,79,255,.9));
  transition-duration:.28s;
}
.budget-button:hover::before,
.budget-button:focus-visible::before{
  animation:budget-button-sheen .9s cubic-bezier(.2,.7,.25,1);
}
.budget-button__icon{
  width:2.1875rem;
  height:2rem;
  flex:none;
  object-fit:contain;
}
.home-page .budget-button--universal{
  margin:min(3.75vw,7.317vh,4.5rem) auto 0;
}
.budget-button:focus-visible{
  outline:2px solid var(--paper);
  outline-offset:3px;
}
.home-page .budget-button--service{
  width:auto;
  height:min(2.083vw,4.065vh,2.5rem);
  min-height:0;
  margin:min(.833vw,1.626vh,1rem) 0 0;
  padding:0 min(1.042vw,2.033vh,1.25rem);
  gap:0;
  border-radius:min(7.292vw,14.228vh,8.75rem);
  font-size:clamp(.5rem,min(.573vw,1.118vh),.6875rem);
  line-height:1;
}

@keyframes budget-button-sheen{
  0%{left:-35%;opacity:0}
  18%{opacity:.9}
  100%{left:115%;opacity:0}
}
@keyframes budget-button-mobile-glow{
  0%,12%,58%,100%{
    box-shadow:inset 0 0 .625rem rgba(30,79,255,.3);
    filter:drop-shadow(0 0 .3125rem rgba(30,79,255,.3));
  }
  20%,31%{
    box-shadow:inset 0 0 1rem rgba(180,197,255,.68),0 0 1rem rgba(30,79,255,.95),0 0 2.25rem rgba(30,79,255,.62),0 0 3.25rem rgba(30,79,255,.24);
    filter:drop-shadow(0 0 .65rem rgba(30,79,255,.9));
  }
  44%{
    box-shadow:inset 0 0 .8rem rgba(111,143,255,.46),0 0 .65rem rgba(30,79,255,.62),0 0 1.45rem rgba(30,79,255,.3);
    filter:drop-shadow(0 0 .32rem rgba(30,79,255,.58));
  }
}
@keyframes budget-button-mobile-sheen{
  0%,12%{left:-35%;opacity:0}
  18%{opacity:.9}
  32%{left:115%;opacity:0}
  100%{left:115%;opacity:0}
}

@media(max-width:900px){
  .budget-button{
    animation:budget-button-mobile-glow 5.2s ease-in-out 1.35s infinite;
  }
  .budget-button::before{
    animation:budget-button-mobile-sheen 5.2s cubic-bezier(.2,.7,.25,1) 1.35s infinite;
  }
  .home-page .budget-button--service{
    width:auto;
    height:9vw;
    margin:min(3.077vw,1.422vh,1rem) 0 0;
    padding:0 4vw;
    border-radius:22.436vw;
    font-size:clamp(.6rem,2.7vw,.78rem);
    line-height:1;
  }
}

/* Shared tag rows: every tag in the same context has exactly the same height. */
.chip{
  line-height:1;
}

.home-page .card-meta,
.case-page .case-brand>div{
  --shared-tag-height:clamp(1.75rem,min(2.865vw,5.59vh),3.4375rem);
}

.case-page .highlight-chips{
  --shared-tag-height:clamp(1.65rem,min(2.604vw,5.081vh),3.125rem);
}

.case-detail-page .project-hero-tags{
  --shared-tag-height:clamp(1.75rem,min(2.604vw,4.63vh),3.125rem);
}

.home-page .card-meta>:is(.chip,.case-tag),
.case-page .case-brand>div>:is(.chip,.case-tag),
.case-page .highlight-chips>:is(.chip,.case-tag),
.case-detail-page .project-hero-tags>:is(.chip,.case-tag){
  height:var(--shared-tag-height);
  min-height:0;
  padding-block:0;
  line-height:1;
}

@media(max-width:900px){
  .home-page .card-meta,
  .case-page .case-brand>div{
    --shared-tag-height:clamp(1.25rem,min(5.128vw,2.37vh),2rem);
  }

  .case-page .highlight-chips{
    --shared-tag-height:clamp(1.5rem,min(9vw,4.147vh),3.125rem);
  }

  .case-detail-page .project-hero-tags{
    --shared-tag-height:clamp(1.5rem,min(8vw,3.7vh),2rem);
  }
}

/* Serviços — Figma 386:150, escala mobile baseada em 360 x 667 */
.home-page .service-label{
  display:block;
  min-width:0;
  margin:0!important;
  flex:0 1 auto;
  transform:none!important;
  transition:none!important;
}
.home-page .service-mobile-break{
  display:none;
}
.home-page .service-description-break{
  display:none;
}

@media(max-width:900px){
  .home-page .services-section{
    --service-mobile-size-reduction:min(1.111vw,.6svh);
    --service-mobile-font-size:clamp(.75rem,calc(min(5.556vw,3svh) - var(--service-mobile-size-reduction)),1rem);
    --service-mobile-gap:min(2.2vw,1.25svh);
    --service-mobile-title-gap:min(5.76vw,3.3svh);
    --service-mobile-pair-gap:min(3.111vw,1.68svh);
    --service-mobile-pair-row-gap:min(1.1vw,.625svh);
    --service-mobile-option-column-gap:min(1.1vw,.625svh);
    --service-mobile-option-row-gap:min(1.65vw,.938svh);
    --service-mobile-description-gap:min(.55vw,.313svh);
    --service-mobile-button-gap:min(2.75vw,1.563svh);
    --service-mobile-expanded-list-gap:min(5.5vw,3.125svh);
    --service-mobile-side-padding:min(4.167vw,2.25svh);
    --service-mobile-cell:min(8.5vw,4.6vh);
    --service-mobile-arrow-gap:min(2.778vw,1.5vh);
    --service-mobile-arrow-width:calc(min(5.556vw,3svh) - var(--service-mobile-size-reduction));
    --service-mobile-arrow-height:calc(min(2.778vw,1.5svh) - var(--service-mobile-size-reduction));
    width:100vw;
    margin:12vh auto 0;
    padding:0 0 10vh;
    overflow:visible;
  }
  .home-page .services-bar,
  .home-page .services-bar.is-expanded{
    width:100%;
    height:auto;
    min-height:0;
    padding:min(12.64vh,23.44vw) var(--service-mobile-side-padding);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:var(--service-mobile-title-gap);
    border-inline:0;
    border-radius:0;
  }
  .home-page .services-bar.is-expanded{
    padding-block:min(7.5vh,14vw);
  }
  .home-page .services-bar h2{
    width:100%;
    align-items:center;
    text-align:center;
  }
  .home-page .services-bar h2 span{
    font-size:clamp(2rem,min(11.111vw,6vh),2.5rem);
    line-height:min(8.333vw,4.5vh);
  }
  .home-page .services-bar h2 em{
    font-size:clamp(2.15rem,min(12.222vw,6.6vh),2.75rem);
    line-height:min(8.333vw,4.5vh);
  }
  .home-page .service-buttons,
  .home-page .services-bar.is-expanded .service-buttons{
    width:100%;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    gap:var(--service-mobile-gap);
  }
  .home-page .service-row{
    display:flex;
    flex-direction:column;
    gap:var(--service-mobile-gap);
    align-items:stretch;
  }
  .home-page .service-item{
    width:100%;
    min-height:var(--service-mobile-cell);
    align-items:stretch;
    justify-content:flex-start;
  }
  .home-page .service-item.is-open{
    min-height:0;
  }
  .home-page .service-toggle,
  .home-page .service-item.is-open .service-toggle{
    width:100%;
    height:auto;
    min-height:var(--service-mobile-cell);
    padding:min(.75vw,.4svh) min(2.778vw,1.5vh);
    justify-content:center;
    align-items:center;
    gap:var(--service-mobile-arrow-gap);
    font-size:var(--service-mobile-font-size);
    line-height:1.25;
    text-align:center;
    white-space:normal;
  }
  .home-page .service-label{
    width:max-content;
    max-width:none;
    flex:0 0 auto;
    text-align:left;
    white-space:nowrap;
    text-wrap:nowrap;
  }
  .home-page .service-mobile-break{
    display:block;
  }
  .home-page .service-description-break{
    display:block;
  }
  .home-page .service-label--long{
    font-size:inherit;
  }
  .home-page .services-bar:not(.is-expanded) .service-buttons{
    width:max-content;
    max-width:calc(100vw - (2 * var(--service-mobile-side-padding)));
    align-self:center;
    display:grid;
    grid-template-columns:max-content max-content;
    align-items:center;
    column-gap:var(--service-mobile-pair-gap);
    row-gap:var(--service-mobile-pair-row-gap);
  }
  .home-page .services-bar:not(.is-expanded) .service-row{
    display:contents;
  }
  .home-page .services-bar:not(.is-expanded) .service-item{
    width:max-content;
    max-width:none;
  }
  .home-page .services-bar:not(.is-expanded) .service-toggle{
    width:max-content;
    justify-content:flex-start;
    text-align:left;
  }
  .home-page .services-bar:not(.is-expanded) .service-label{
    text-align:left;
  }
  .home-page .services-bar.is-expanded .service-buttons{
    width:max-content;
    max-width:calc(100vw - (2 * var(--service-mobile-side-padding)));
    align-self:center;
    display:grid;
    grid-template-columns:max-content max-content;
    grid-auto-flow:row;
    align-items:start;
    column-gap:var(--service-mobile-pair-gap);
    row-gap:var(--service-mobile-pair-row-gap);
  }
  .home-page .services-bar.is-expanded .service-buttons.has-mobile-columns{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .home-page .services-bar.is-expanded .service-buttons.has-mobile-columns>.service-item.is-open{
    order:1;
  }
  .home-page .services-bar.is-expanded .service-buttons.has-mobile-columns>.service-row{
    display:none;
  }
  .home-page .service-expanded-columns{
    order:2;
    width:100%;
    margin-top:var(--service-mobile-expanded-list-gap);
    display:grid;
    grid-template-columns:max-content max-content;
    align-items:start;
    column-gap:var(--service-mobile-pair-gap);
  }
  .home-page .service-expanded-column{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    row-gap:var(--service-mobile-pair-row-gap);
  }
  .home-page .services-bar.is-expanded .service-row{
    display:contents;
  }
  .home-page .services-bar.is-expanded .service-item{
    display:flex;
    width:max-content;
    max-width:none;
    min-width:0;
    min-height:var(--service-mobile-cell);
    order:2;
    opacity:.2;
  }
  .home-page .services-bar.is-expanded .service-item.is-open{
    grid-column:1/-1;
    order:1;
    width:100%;
    max-width:100%;
    min-height:0;
    opacity:1;
  }
  .home-page .services-bar.is-expanded .service-item.is-open .service-toggle{
    width:max-content;
    max-width:100%;
    align-self:flex-start;
    justify-content:flex-start;
    text-align:left;
  }
  .home-page .services-bar.is-expanded .service-item.is-open .service-label{
    width:auto;
    max-width:calc(100vw - (2 * var(--service-mobile-side-padding)) - var(--service-mobile-arrow-gap) - var(--service-mobile-arrow-width));
    white-space:nowrap;
    text-wrap:nowrap;
  }
  .home-page .services-bar.is-expanded .service-item.is-open .service-mobile-break{
    display:none;
  }
  .home-page .services-bar.is-expanded .service-item:not(.is-open) .service-toggle{
    width:max-content;
    min-width:0;
    gap:var(--service-mobile-arrow-gap);
    justify-content:flex-start;
    text-align:left;
  }
  .home-page .services-bar.is-expanded .service-item:not(.is-open) .service-label{
    width:max-content;
    max-width:none;
    white-space:nowrap;
    text-align:left;
    text-wrap:nowrap;
  }
  .home-page .service-arrow{
    width:var(--service-mobile-arrow-width);
    height:var(--service-mobile-arrow-height);
    flex:none;
  }
  .home-page .services-bar:not(.is-expanded) .service-buttons,
  .home-page .services-bar.is-expanded .service-expanded-columns{
    justify-items:stretch;
  }
  .home-page .service-expanded-column{
    align-items:stretch;
  }
  .home-page .services-bar:not(.is-expanded) .service-item,
  .home-page .services-bar.is-expanded .service-expanded-column .service-item{
    width:100%;
  }
  .home-page .services-bar:not(.is-expanded) .service-toggle,
  .home-page .services-bar.is-expanded .service-expanded-column .service-item:not(.is-open) .service-toggle{
    width:max-content;
    display:inline-grid;
    grid-template-columns:max-content var(--service-mobile-arrow-width);
    justify-content:start;
    column-gap:var(--service-mobile-arrow-gap);
    row-gap:0;
    text-align:left;
  }
  .home-page .services-bar:not(.is-expanded) .service-label,
  .home-page .services-bar.is-expanded .service-expanded-column .service-item:not(.is-open) .service-label{
    justify-self:start;
    text-align:left;
  }
  .home-page .services-bar:not(.is-expanded) .service-arrow,
  .home-page .services-bar.is-expanded .service-expanded-column .service-item:not(.is-open) .service-arrow{
    grid-column:2;
    justify-self:start;
    align-self:center;
  }
  .home-page .service-details{
    position:relative;
    inset:auto;
    margin:0;
    padding-inline:min(2.778vw,1.5vh);
    font-size:clamp(.605rem,calc(min(4.356vw,2.3595svh) - min(1.3442vw,.726svh)),.8107rem);
  }
  .home-page .service-details-inner{
    width:100%;
    max-width:none;
    padding-top:var(--service-mobile-description-gap);
  }
  .home-page .service-details p{
    line-height:1.25;
    text-wrap:pretty;
  }
  .home-page .service-item.is-open .service-details{
    width:100%;
    max-height:min(80vh,180vw);
    overflow:visible;
  }
  .home-page .service-item.is-open,
  .home-page .service-item.is-open .service-details-inner{
    overflow:visible;
  }
  .home-page .budget-button--service{
    z-index:2;
    height:clamp(2.15rem,calc(min(11.04vw,5.88svh) - var(--service-mobile-size-reduction)),3rem);
    margin:var(--service-mobile-button-gap) 0 0;
    padding:0 max(0px,calc(min(4.8vw,2.58svh) - var(--service-mobile-size-reduction)));
    font-size:clamp(.5rem,calc(min(3.24vw,1.74svh) - var(--service-mobile-size-reduction)),.7rem);
    font-weight:600;
  }
}

/* Depoimentos — grid natural no desktop e carrossel arrastável no mobile. */
@media(max-width:900px){
  .home-page .department-grid.testimonial-carousel{
    --testimonial-card-width:min(82vw,26rem);
    --testimonial-track-edge:max(min(4vw,2.15vh),calc((100% - var(--testimonial-card-width))/2));
    width:100%;
    height:auto;
    margin:min(8vh,14vw) auto 0;
    padding:min(2vw,1.1vh) var(--testimonial-track-edge) min(5vw,2.7vh);
    display:flex;
    grid-template-columns:none;
    align-items:stretch;
    gap:min(4vw,2.2vh);
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-padding-inline:var(--testimonial-track-edge);
    scroll-behavior:smooth;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    touch-action:pan-y;
    cursor:grab;
  }
  .home-page .department-grid.testimonial-carousel::-webkit-scrollbar{
    display:none;
  }
  .home-page .department-grid.testimonial-carousel.is-dragging{
    cursor:grabbing;
    scroll-snap-type:none;
  }
  .home-page .department-grid.testimonial-carousel .department-card{
    flex:0 0 var(--testimonial-card-width);
    width:var(--testimonial-card-width);
    height:auto;
    min-height:min(65vw,36vh);
    padding:min(6vw,3.2vh);
    font-size:clamp(.75rem,min(3.2vw,1.7vh),.95rem);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
  .home-page .department-grid.testimonial-carousel .department-card h3{
    margin-bottom:min(5vw,2.7vh);
    font-size:clamp(1rem,min(4.3vw,2.2vh),1.25rem);
  }
  .home-page .department-grid.testimonial-carousel:focus-visible{
    outline:1px solid rgba(253,251,241,.5);
    outline-offset:min(.5vw,.975vh);
  }
}

/* A seção sobre segue exatamente a mesma régua lateral dos cases. */
.home-page{
  --home-content-inline-width:91.927vw;
}
.home-page .cases-grid,
.home-page .about-section{
  width:var(--home-content-inline-width);
}
.home-page .about-section{
  margin-left:var(--page-pad);
  margin-right:0;
}
@media(min-width:901px){
  .home-page .about-section{
    grid-template-columns:13.282vw 24.531vw minmax(0,1fr);
  }
}
@media(max-width:900px){
  .home-page{
    --home-content-inline-width:92vw;
  }
}

@media(max-width:900px){
  .home-page .about-section{
    --about-mobile-text-width:min(76vw,50svh);
    width:92vw;
    margin-inline:4vw;
    padding-inline:0;
    grid-template-columns:minmax(0,1fr);
    column-gap:0;
    row-gap:min(5vw,2.7vh);
    align-items:start;
  }
  .home-page .about-mark{
    display:none;
  }
  .home-page .about-section h1,
  .home-page .about-copy{
    grid-column:1;
    width:var(--about-mobile-text-width);
    max-width:100%;
    margin-inline:auto;
    padding-inline:0;
    justify-self:center;
    text-align:left;
  }
  .home-page .about-copy p{
    max-width:100%;
    overflow-wrap:break-word;
  }
  .home-page .about-copy{
    min-width:0;
    font-size:clamp(.66rem,min(3.135vw,1.782vh),.946rem);
  }
  .home-page .about-copy:not(.is-expanded) p:nth-of-type(n+3){
    display:none;
  }
  .home-page .about-copy:not(.is-expanded) p:nth-of-type(2){
    margin-bottom:0;
  }
  .home-page .about-copy.is-expanded p{
    margin-bottom:min(4vw,2.16vh);
  }
  .home-page .about-copy-toggle{
    display:inline-flex;
    align-items:center;
    width:max-content;
    min-height:min(7vw,3.78vh);
    margin:min(1.4vw,.76vh) auto 0 0;
    padding:0;
    border:0;
    background:transparent;
    color:var(--blue);
    font:inherit;
    font-weight:300;
    line-height:1;
    cursor:pointer;
  }
  .home-page .about-copy-toggle:focus-visible{
    outline:min(.55vw,.3vh) solid var(--blue);
    outline-offset:min(1vw,.54vh);
  }
}

/* Mobile viewport containment: only carousel tracks may advance horizontally. */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:clip;
}

body{
  overscroll-behavior-x:none;
}

@supports not (overflow:clip){
  html,
  body{
    overflow-x:hidden;
  }
}

@media(max-width:900px){
  :root{
    --mobile-screen-width:100vw;
    --mobile-gutter:4vw;
  }

  body,
  .home-page,
  .case-page,
  .project-page,
  .making-page,
  .home-hero,
  .home-cases,
  .about-section,
  .services-section,
  .site-footer,
  .case-hero,
  .project-shell,
  .making-shell{
    max-width:var(--mobile-screen-width);
  }

  .carousel-track,
  .highlight-track,
  .vertical-cards,
  .horizontal-cards,
  .horizontal-cards-viewport{
    min-width:0;
    max-width:var(--mobile-screen-width);
    overscroll-behavior-x:contain;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }

  .home-page .floating-whatsapp{
    position:fixed;
    z-index:60;
    right:max(var(--mobile-gutter),env(safe-area-inset-right));
    bottom:max(3vh,calc(env(safe-area-inset-bottom) + 2vh));
    width:min(17vw,10vh,4.75rem);
    margin:0;
  }
}

@media(prefers-reduced-motion:reduce){
  .budget-button:hover,
  .budget-button:focus-visible{
    animation:none;
    box-shadow:inset 0 0 1rem rgba(180,197,255,.6),0 0 1rem rgba(30,79,255,.88),0 0 2rem rgba(30,79,255,.5);
    filter:drop-shadow(0 0 .5rem rgba(30,79,255,.8));
  }
  .budget-button:hover::before,
  .budget-button:focus-visible::before{
    animation:none;
  }
}

.case-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:clamp(1.75rem,min(2.865vw,5.59vh),3.4375rem);
  padding:clamp(.3rem,min(.781vw,1.524vh),.9375rem) clamp(.55rem,min(1.042vw,2.033vh),1.25rem);
  flex:0 0 auto;
  border:1px solid rgba(253,251,241,.2);
  border-radius:6.25vw;
  box-shadow:inset 0 0 .521vw rgba(253,251,241,.1);
  font-family:var(--stolzl);
  font-size:clamp(.68rem,min(1.042vw,2.033vh),1.34rem);
  font-style:normal;
  font-weight:400;
  line-height:1;
  white-space:nowrap;
}
.case-tag--projects{
  background:var(--orange);
  color:var(--paper);
}
.case-tag--reels{
  background:var(--green);
  color:var(--black);
}

@media(max-width:900px){
  .budget-button{
    width:50vw;
    height:11.111vw;
    margin:5svh auto 0;
    gap:2.54vw;
    padding:0 3.175vw;
    font-size:clamp(.68rem,3.175vw,.9rem);
    line-height:1;
    box-shadow:inset 0 0 .625rem 0 rgba(30,79,255,.3);
    filter:drop-shadow(0 0 .3125rem rgba(30,79,255,.3));
  }
  .budget-button__icon{
    width:5.556vw;
    height:5.079vw;
  }
  .home-page .budget-button--universal{
    margin:min(10vw,5.4svh) auto 0;
  }
  .case-tag{
    min-height:clamp(1.25rem,min(5.128vw,2.37vh),2rem);
    padding:clamp(.3rem,min(1.35vw,.592vh),.55rem) clamp(.55rem,min(2.4vw,1.185vh),1rem);
    font-size:clamp(.56rem,min(2.5vw,1.066vh),.72rem);
    border-width:1px;
    box-shadow:inset 0 0 2vw rgba(253,251,241,.1);
  }
}

/* Selected service motion */
.home-page .service-toggle{
  position:relative;
  isolation:isolate;
  transform-origin:center left;
}

.home-page .service-toggle[aria-expanded="true"]{
  color:var(--blue);
  text-shadow:0 0 min(.625vw,1.22vh) rgba(30,79,255,.56);
  animation:service-selected-pop .56s cubic-bezier(.22,1,.36,1);
}

.home-page .service-arrow{
  transform-origin:center;
  transition:transform .48s cubic-bezier(.22,1,.36,1),filter .3s ease;
}

.home-page .service-toggle[aria-expanded="true"] .service-arrow{
  transform:rotate(180deg);
  filter:drop-shadow(0 0 min(.313vw,.61vh) rgba(30,79,255,.78));
}

.home-page .service-item.is-open .service-details-inner{
  animation:service-details-enter .62s .08s both cubic-bezier(.22,1,.36,1);
}

.home-page .service-item.is-closing .service-toggle{
  animation:service-selected-exit .44s both cubic-bezier(.4,0,.2,1);
}

.home-page .service-item.is-closing .service-details{
  max-height:30rem;
  overflow:visible;
  opacity:1;
  pointer-events:none;
  transform:none;
}

.home-page .service-item.is-closing .service-details-inner{
  animation:service-details-exit .44s both cubic-bezier(.4,0,.2,1);
}

@keyframes service-selected-pop{
  0%{transform:scale(.96);opacity:.72}
  58%{transform:translateY(calc(-1 * min(.208vw,.407vh))) scale(1.035)}
  100%{transform:none;opacity:1}
}

@keyframes service-details-enter{
  0%{opacity:0;transform:translateY(min(.625vw,1.22vh))}
  100%{opacity:1;transform:none}
}

@keyframes service-selected-exit{
  0%{transform:none;opacity:1}
  100%{transform:translateY(min(.208vw,.407vh)) scale(.96);opacity:.58}
}

@keyframes service-details-exit{
  0%{opacity:1;transform:none}
  100%{opacity:0;transform:translateY(calc(-1 * min(.625vw,1.22vh)))}
}

@media(min-width:901px){
  .home-page .service-item.is-closing .service-details{
    width:0;
  }
}

@media(max-width:900px){
  .home-page .service-toggle[aria-expanded="true"]{
    text-shadow:0 0 min(2.5vw,1.4vh) rgba(30,79,255,.56);
  }

  .home-page .service-toggle[aria-expanded="true"] .service-arrow{
    filter:drop-shadow(0 0 min(1.25vw,.7vh) rgba(30,79,255,.78));
  }

  .home-page .service-item.is-closing .service-details{
    width:100%;
    max-height:min(80vh,180vw);
  }

  @keyframes service-selected-pop{
    0%{transform:scale(.96);opacity:.72}
    58%{transform:translateY(calc(-1 * min(.8vw,.45vh))) scale(1.035)}
    100%{transform:none;opacity:1}
  }

  @keyframes service-details-enter{
    0%{opacity:0;transform:translateY(min(2.5vw,1.4vh))}
    100%{opacity:1;transform:none}
  }

  @keyframes service-selected-exit{
    0%{transform:none;opacity:1}
    100%{transform:translateY(min(.8vw,.45vh)) scale(.96);opacity:.58}
  }

  @keyframes service-details-exit{
    0%{opacity:1;transform:none}
    100%{opacity:0;transform:translateY(calc(-1 * min(2.5vw,1.4vh)))}
  }
}

/* Tags universais — a mesma tipografia responsiva para todos os itens da linha. */
.home-page .card-meta,
.case-page .case-brand>div{
  --universal-tag-font-size:clamp(.68rem,min(1.042vw,2.033vh),1.34rem);
  --universal-tag-padding-inline:clamp(.55rem,min(1.042vw,2.033vh),1.25rem);
}

.case-page .highlight-chips{
  --universal-tag-font-size:clamp(.68rem,min(.833vw,1.626vh),1rem);
  --universal-tag-padding-inline:clamp(.5rem,min(.833vw,1.626vh),1rem);
}

.case-detail-page .project-hero-tags{
  --universal-tag-font-size:clamp(.68rem,min(1.042vw,2.033vh),1.25rem);
  --universal-tag-padding-inline:clamp(.55rem,min(1.042vw,2.033vh),1.25rem);
}

.home-page .card-meta>:is(.chip,.case-tag),
.case-page .case-brand>div>:is(.chip,.case-tag),
.case-page .highlight-chips>:is(.chip,.case-tag),
.case-detail-page .project-hero-tags>:is(.chip,.case-tag){
  font-family:var(--stolzl);
  font-size:var(--universal-tag-font-size);
  font-style:normal;
  font-weight:400;
  line-height:1;
  padding-inline:var(--universal-tag-padding-inline);
}

@media(max-width:900px){
  .home-page .card-meta,
  .case-page .case-brand>div{
    --universal-tag-font-size:clamp(.56rem,min(2.5vw,1.066vh),.72rem);
    --universal-tag-padding-inline:clamp(.55rem,min(2.4vw,1.185vh),1rem);
  }

  .case-page .highlight-chips{
    --universal-tag-font-size:clamp(.68rem,min(3vw,1.422vh),1rem);
    --universal-tag-padding-inline:clamp(.55rem,min(3vw,1.422vh),1rem);
  }

  .case-detail-page .project-hero-tags{
    --universal-tag-font-size:clamp(.62rem,min(2.7vw,1.2vh),.78rem);
    --universal-tag-padding-inline:clamp(.55rem,min(2.7vw,1.2vh),1rem);
  }
}

/* Rodapé mobile: composição vertical centralizada */
@media(max-width:900px){
  .site-footer,
  .home-page .site-footer,
  .case-detail-page .site-footer{
    --footer-mobile-unit:min(1vw,.5svh);
    width:100vw;
    height:auto;
    min-height:max(34svh,calc(85 * var(--footer-mobile-unit)));
    padding:calc(4 * var(--footer-mobile-unit)) 4vw;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:hidden;
  }

  .footer-brand,
  .home-page .footer-brand{
    position:static;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:calc(4 * var(--footer-mobile-unit));
  }

  .footer-brand>img,
  .home-page .footer-brand>img{
    width:calc(22 * var(--footer-mobile-unit));
    height:auto;
    object-fit:contain;
  }

  .footer-brand>div,
  .home-page .footer-brand>div{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:calc(2.5 * var(--footer-mobile-unit));
    padding:0;
    transform:translateY(calc(5.85 * var(--footer-mobile-unit)));
  }

  .footer-brand a,
  .home-page .footer-brand a{
    --footer-social-size:clamp(2.5rem,max(11.282vw,5.213svh),2.75rem);
    flex:0 0 var(--footer-social-size);
    width:var(--footer-social-size);
    height:var(--footer-social-size);
  }

  .footer-brand a img{
    width:100%;
    height:100%;
  }

  .footer-legal,
  .home-page .footer-legal{
    margin-top:calc(5 * var(--footer-mobile-unit));
    font-size:clamp(.62rem,calc(2.5 * var(--footer-mobile-unit)),.82rem);
    line-height:1.25;
  }

  .footer-legal p{
    margin:calc(.75 * var(--footer-mobile-unit)) 0;
    line-height:inherit;
  }

  .footer-credit,
  .home-page .footer-credit{
    position:static;
    width:calc(29 * var(--footer-mobile-unit));
    height:auto;
    margin-top:calc(5 * var(--footer-mobile-unit));
  }

  .footer-credit img{
    width:100%;
    height:auto;
  }
}

/* Botão Voltar mobile — padrão compartilhado do case Lollapalooza. */
@media(max-width:900px){
  .back-button,
  .case-detail-page .project-back,
  .making-shell .project-back,
  .case-hero>.back-button{
    position:absolute!important;
    z-index:10;
    left:max(clamp(.75rem,min(4.103vw,1.896svh),1rem),env(safe-area-inset-left))!important;
    top:max(clamp(.75rem,min(4.103vw,1.896svh),1rem),env(safe-area-inset-top))!important;
    min-height:clamp(1.75rem,min(8.205vw,3.791svh),2rem);
    padding:clamp(.15rem,min(.821vw,.379svh),.2rem) clamp(.65rem,min(3.077vw,1.422svh),.75rem);
    gap:clamp(.3rem,min(1.436vw,.664svh),.35rem);
    border-radius:min(25.641vw,11.848svh);
    background:var(--blue);
    color:var(--paper);
    font-size:clamp(.72rem,min(3.282vw,1.517svh),.8rem);
    font-weight:400;
    box-shadow:0 0 min(2.564vw,1.185svh) rgba(30,79,255,.35);
  }

  .back-button img,
  .case-detail-page .project-back img,
  .making-shell .project-back img,
  .case-hero>.back-button img{
    width:clamp(.875rem,min(4.103vw,1.896svh),1rem);
    height:clamp(.875rem,min(4.103vw,1.896svh),1rem);
    flex:none;
  }
}

/* Paginação mobile das subpáginas: bolinhas 30% menores. */
@media(max-width:900px){
  .case-page .highlight-dots,
  .project-page.upfront-page .project-pagination{
    --subpage-pagination-unit:min(1vw,.5svh);
  }

  .case-page .highlight-dot{
    width:calc(1.4 * var(--subpage-pagination-unit));
    height:calc(1.4 * var(--subpage-pagination-unit));
  }

  .case-page .highlight-dot.is-active{
    box-shadow:
      0 0 calc(1.4 * var(--subpage-pagination-unit)) var(--blue),
      0 0 calc(2.8 * var(--subpage-pagination-unit)) rgba(30,79,255,.62);
  }

  .project-page.upfront-page .project-pagination-dot img,
  .project-page.upfront-page .project-pagination-dot.is-active img{
    left:50%;
    top:50%;
    right:auto;
    bottom:auto;
    transform:translate(-50%,-50%);
  }

  .project-page.upfront-page .project-pagination-dot img{
    width:calc(1.6156 * var(--subpage-pagination-unit));
    height:calc(1.6156 * var(--subpage-pagination-unit));
  }

  .project-page.upfront-page .project-pagination-dot.is-active img{
    width:calc(5.2052 * var(--subpage-pagination-unit));
    height:calc(5.2052 * var(--subpage-pagination-unit));
  }
}

/* Títulos de introdução dos subcases centralizados no mobile. */
@media(max-width:900px){
  .project-page .project-intro>:is(h1,h2){
    width:100%;
    margin-inline:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-self:center;
    text-align:center;
  }

  .project-page .project-intro>:is(h1,h2) :is(.project-intro-title-line,.project-intro-case-name),
  .project-page .project-intro>:is(h1,h2)>em{
    width:100%;
    margin-inline:auto;
    text-align:center;
  }

  .case-detail-page .project-intro{
    width:calc(88vw - 2rem);
    padding-inline:0;
  }
}

@media(max-width:420px){
  .case-detail-page .project-intro{
    width:calc(88vw - 1.5rem);
  }
}

@media(max-width:900px){
  :is(.home-page .about-copy-toggle,.case-page .case-about-copy-toggle)[aria-expanded="false"]{
    font-size:clamp(.9504rem,min(4.608vw,2.592vh),1.368rem);
  }
}

/* Modelo global de Stories e vídeos horizontais — referência Atec. */
@media(min-width:901px){
  .project-page.upfront-page{
    --subcase-media-row-height:clamp(28rem,49.352vh,33.3125rem);
    --subcase-story-card-width:clamp(15.5rem,15.104vw,18.125rem);
    --subcase-horizontal-card-width:49.688vw;
    --subcase-media-radius:1.125rem;
  }

  .project-page.upfront-page .deliverable-row{
    width:88.125vw;
    height:var(--subcase-media-row-height);
    margin:0 0 0 11.875vw;
    display:grid;
    grid-template-columns:minmax(18rem,19.896vw) minmax(0,1fr);
    align-items:stretch;
    gap:0;
    overflow:hidden;
  }

  .project-page.upfront-page .horizontal-row{
    width:88.125vw;
    margin-top:clamp(2.75rem,5.093vh,3.4375rem);
  }

  .project-page.upfront-page .deliverable-copy,
  .project-page.upfront-page .deliverable-copy-stories,
  .project-page.upfront-page .deliverable-copy-horizontal{
    width:100%;
    height:100%;
    min-height:0;
    padding:clamp(1.25rem,1.25vw,1.5rem);
    gap:clamp(1.25rem,2.5vh,1.6875rem);
    overflow:hidden;
    border:2px solid transparent;
    border-radius:1.25rem 0 0 1.25rem;
    box-shadow:inset -3.125vw 0 2.813vw rgba(8,8,8,.7);
  }

  .project-page.upfront-page .vertical-cards,
  .project-page.upfront-page .horizontal-cards{
    width:100%;
    height:100%;
    min-width:0;
    margin:0;
    padding:0;
    align-items:stretch;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    mask-image:linear-gradient(90deg,#000 0%,#000 88%,transparent 100%);
  }

  .project-page.upfront-page .vertical-cards{
    gap:clamp(1rem,1.354vw,1.625rem);
  }

  .project-page.upfront-page .vertical-cards .vertical-card,
  .project-page.upfront-page .vertical-cards .vertical-card:first-child{
    flex:0 0 var(--subcase-story-card-width);
    width:var(--subcase-story-card-width);
    height:100%;
    max-height:none;
    border-radius:var(--subcase-media-radius);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .project-page.upfront-page .horizontal-cards-viewport{
    width:100%;
    height:100%;
    min-width:0;
  }

  .project-page.upfront-page .horizontal-cards{
    gap:clamp(1rem,1.25vw,1.5rem);
  }

  .project-page.upfront-page .horizontal-cards::after{
    content:"";
    flex:0 0 5vw;
    height:1px;
  }

  .project-page.upfront-page .horizontal-cards .horizontal-card,
  .project-page.upfront-page .horizontal-cards .horizontal-card:first-child{
    flex:0 0 var(--subcase-horizontal-card-width);
    width:var(--subcase-horizontal-card-width);
    height:100%;
    aspect-ratio:auto;
    border-radius:var(--subcase-media-radius);
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }

  .project-page.upfront-page .project-pagination{
    margin-top:auto;
  }
}

@media(max-width:900px){
  .project-page.upfront-page{
    --subcase-story-card-width:min(72vw,53svh);
    --subcase-horizontal-card-width:92vw;
    --subcase-media-radius:min(4.6vw,3.4svh);
    --subcase-story-coupling-depth:min(4vw,2.2svh);
    --subcase-horizontal-coupling-depth:min(4vw,2.2svh);
  }

  .project-page.upfront-page .deliverable-row,
  .project-page.upfront-page .horizontal-row{
    height:auto;
    display:flex;
    flex-direction:column;
    overflow:visible;
  }

  .project-page.upfront-page .deliverable-row:not(.horizontal-row){
    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    align-items:center;
  }

  .project-page.upfront-page .horizontal-row{
    position:relative;
    width:calc(100vw - 2rem);
    margin:clamp(3.5rem,9svh,5rem) auto 0;
    padding-bottom:min(13vw,8svh);
    align-items:center;
    gap:0;
  }

  .project-page.upfront-page .deliverable-row:not(.horizontal-row) .deliverable-copy-stories{
    position:relative;
    z-index:0;
    width:var(--subcase-story-card-width);
    max-width:100%;
    margin-bottom:calc(-1 * var(--subcase-story-coupling-depth));
    padding-bottom:calc(clamp(1.25rem,6vw,2rem) + var(--subcase-story-coupling-depth));
    align-self:center;
  }

  .project-page.upfront-page .vertical-cards,
  .project-page.upfront-page .horizontal-cards{
    width:100vw;
    height:auto;
    align-items:stretch;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x pinch-zoom;
  }

  .project-page.upfront-page .vertical-cards{
    position:relative;
    z-index:1;
    margin-inline:0;
    padding-inline:calc((100vw - var(--subcase-story-card-width))/2);
    gap:min(3vw,2.5svh);
    scroll-padding-inline:calc((100vw - var(--subcase-story-card-width))/2);
    mask-image:linear-gradient(90deg,#000 0%,#000 84%,transparent 100%);
  }

  .project-page.upfront-page .vertical-cards .vertical-card,
  .project-page.upfront-page .vertical-cards .vertical-card:first-child{
    flex:0 0 var(--subcase-story-card-width);
    width:var(--subcase-story-card-width);
    height:auto;
    max-height:none;
    aspect-ratio:290/533;
    border-radius:var(--subcase-media-radius);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }

  .project-page.upfront-page .horizontal-row .deliverable-copy-horizontal{
    position:static;
    z-index:0;
    width:var(--subcase-horizontal-card-width);
    max-width:100%;
    margin-bottom:calc(-1 * var(--subcase-horizontal-coupling-depth));
    padding-bottom:calc(clamp(1.25rem,6vw,2rem) + var(--subcase-horizontal-coupling-depth));
    align-self:center;
  }

  .project-page.upfront-page .horizontal-cards-viewport{
    position:relative;
    z-index:1;
    width:100vw;
    align-self:center;
    overflow:hidden;
  }

  .project-page.upfront-page .horizontal-cards{
    padding-inline:calc((100vw - var(--subcase-horizontal-card-width))/2);
    gap:min(1vw,.75svh);
    scroll-padding-inline:calc((100vw - var(--subcase-horizontal-card-width))/2);
    mask-image:linear-gradient(90deg,transparent 0%,#000 3%,#000 97%,transparent 100%);
  }

  .project-page.upfront-page .horizontal-cards .horizontal-card,
  .project-page.upfront-page .horizontal-cards .horizontal-card:first-child{
    flex:0 0 var(--subcase-horizontal-card-width);
    width:var(--subcase-horizontal-card-width);
    height:auto;
    aspect-ratio:1.85;
    border-radius:var(--subcase-media-radius);
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }

  .project-page.upfront-page .horizontal-row .project-pagination{
    position:absolute;
    left:50%;
    bottom:0;
    margin:0;
    transform:translateX(-50%);
  }
}

/* Carrossel horizontal estável: sem fade ou animação automática de entrada. */
.project-page.upfront-page .horizontal-row.reveal,
.project-page.upfront-page .horizontal-row.reveal.visible{
  opacity:1;
  transform:none;
  transition:none;
}

.project-page.upfront-page .horizontal-cards{
  -webkit-mask-image:none;
  mask-image:none;
  scroll-behavior:auto;
}

.project-page.upfront-page .horizontal-cards .horizontal-card,
.project-page.upfront-page .horizontal-cards .horizontal-card.is-current-video,
.project-page.upfront-page .horizontal-cards .horizontal-card.is-next-video{
  opacity:1;
  visibility:visible;
  animation:none!important;
  transition:none!important;
  transform:none;
}

/* Detalhes de case: título e descrição formam um único bloco central responsivo. */
@media(min-width:901px){
  .case-detail-page.case-intro-unified .project-intro{
    grid-template-columns:fit-content(min(24vw,46vh)) minmax(0,40.469vw);
    column-gap:clamp(1rem,min(2.083vw,3.7vh),2.5rem);
  }

  .case-detail-page.case-intro-unified .project-intro h2{
    width:fit-content(min(24vw,46vh));
    max-width:min(24vw,46vh);
    justify-self:end;
    line-height:1;
  }

  .case-detail-page.case-intro-unified .project-intro h2 .project-intro-case-name{
    font-size:clamp(1rem,min(var(--case-name-fit-vw,3.75vw),var(--case-name-fit-vh,7.317vh)),4.5rem);
    line-height:.9;
  }

  .case-detail-page.case-intro-unified .project-intro>div{
    justify-self:start;
    font-size:clamp(.75rem,min(.833vw,1.626vh),1rem);
  }
}

@media(max-width:900px){
  .case-detail-page.case-intro-unified .project-intro{
    row-gap:clamp(.85rem,min(4vw,2.4svh),1.5rem);
  }

  .case-detail-page.case-intro-unified .project-intro>div{
    justify-self:center;
    text-align:center;
    font-size:clamp(.78rem,min(3.5vw,1.9svh),.95rem);
  }

  .case-detail-page.case-intro-unified .project-intro h2{
    font-size:clamp(1.35rem,min(5.8vw,3.15svh),1.85rem);
    line-height:1.02;
  }

  .case-detail-page.case-intro-unified .project-intro h2 .project-intro-case-name{
    font-size:clamp(2.25rem,min(var(--case-name-fit-vw,12vw),var(--case-name-fit-vh,6.5svh)),4rem);
    line-height:.9;
  }
}

/* Sobreposição mínima elimina a emenda de subpixel entre vídeo, gradiente e borda. */
:is(
  .home-page .case-card>.card-shade,
  .case-page .highlight-card>.card-shade,
  .case-detail-page .project-hero-shade
){
  --video-shade-overlap:max(1px,min(.12vw,.22vh));
  bottom:calc(-1 * var(--video-shade-overlap));
  backface-visibility:hidden;
  transform:translateZ(0);
}

.project-page.upfront-page .upfront-video-card::before{
  --video-shade-overlap:max(1px,min(.12vw,.22vh));
  bottom:calc(-1 * var(--video-shade-overlap));
  backface-visibility:hidden;
  transform:translateZ(0);
}

.home-page .case-card>.card-shade{
  background:linear-gradient(180deg,transparent 25%,rgba(7,7,7,.74) 72%,#070707 100%);
}

/* Paginação dos vídeos: todos os pontos preservam a proporção circular. */
.project-page.upfront-page .project-pagination{
  width:calc(7 * var(--project-pagination-dot-size));
  height:calc(3.7778 * var(--project-pagination-dot-size));
  padding:0;
  display:grid;
  place-items:center;
  border-radius:999px;
}

.project-page.upfront-page .project-pagination-inner{
  width:auto;
  height:var(--project-pagination-dot-size);
  align-items:center;
  justify-content:center;
}

.project-page.upfront-page .project-pagination-dot{
  width:var(--project-pagination-dot-size);
  height:var(--project-pagination-dot-size);
  display:grid;
  place-items:center;
  aspect-ratio:1;
}

.project-page.upfront-page .project-pagination-dot img,
.project-page.upfront-page .project-pagination-dot.is-active img{
  left:50%;
  top:50%;
  right:auto;
  bottom:auto;
  width:var(--project-pagination-dot-size);
  height:var(--project-pagination-dot-size);
  aspect-ratio:1;
  object-fit:contain;
  transform:translate(-50%,-50%);
}

.project-page.upfront-page .project-pagination-dot.is-active img{
  width:calc(3.2222 * var(--project-pagination-dot-size));
  height:calc(3.2222 * var(--project-pagination-dot-size));
}

@media(min-width:901px){
  .project-page.upfront-page .project-pagination{
    --project-pagination-dot-size:clamp(.35rem,min(.46875vw,.914634vh),.5625rem);
  }

  .project-page.upfront-page .project-pagination-inner{
    gap:clamp(.25rem,min(.416667vw,.813vh),.5rem);
  }
}

@media(max-width:900px){
  .project-page.upfront-page .project-pagination{
    --project-pagination-dot-size:clamp(.35rem,min(1.6156vw,.87svh),.45rem);
  }

  .project-page.upfront-page .project-pagination-inner{
    gap:clamp(.3rem,min(2.051vw,1.1svh),.5rem);
  }
}
