@font-face{font-family:Stara;src:url('assets/Stara-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Stara;src:url('assets/Stara-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Stara;src:url('assets/Stara-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Stara;src:url('assets/Stara-ExtraBold.ttf') format('truetype');font-weight:800;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/Manrope-Regular.ttf') format('truetype');font-weight:400;font-display:swap}

/* Tokens — marca TH Play: preto, grafite e o amarelo do manual (#f3e73d). O amarelo é acento, nunca fundo de leitura longa. */
:root{
  --ink:#101010;--ink-deep:#0a0a0a;--panel:#1a1a1a;--graphite:#3e3e3d;--yellow:#f3e73d;--accent:var(--paper);
  /* Logo e ícones monocromáticos por padrão */
  --lr:currentColor;--lp:currentColor;--iso-fill:var(--paper);--iso-lines:var(--ink);
  --paper:#f1f1ef;--white:#fff;--muted:#a6a6a2;--gray:#5d5d5b;--line:#2f2f2e;--line-light:#d1d1ce;
  --max:1280px;--font:Stara,Arial,sans-serif;--body:Manrope,Arial,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.65,0,.35,1);--micro:180ms;--normal:350ms;--macro:750ms;
  --radius:8px;--radius-lg:14px;--section:clamp(84px,9vw,140px);--gutter:48px
}
*{box-sizing:border-box}
html{scroll-padding-top:25px}
html:not(.lenis){scroll-behavior:smooth}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font);font-weight:500;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.modal-open,body.is-loading{overflow:hidden}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;color:inherit}
img,video{display:block;max-width:100%}
::selection{background:var(--accent);color:var(--ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
[hidden]{display:none!important}
.wrap{width:min(calc(100% - var(--gutter)*2),var(--max));margin-inline:auto}
.section{padding-block:var(--section);position:relative}
.light{background:var(--paper);color:var(--ink)}
h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}
h2{font-size:clamp(38px,4.6vw,68px);font-weight:600;line-height:1.04;letter-spacing:-.045em}
h2 em,h3 em{font-weight:500;font-style:normal;color:var(--muted)}.light h2 em,.light h3 em{color:var(--gray)}
p{font-family:var(--body);font-size:14px;line-height:1.85}

/* Rótulos: Stara em caixa alta, sólida — substitui a mono fina de antes. */
.eyebrow{font-family:var(--font);font-size:11px;line-height:1.4;letter-spacing:.14em;font-weight:600;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.eyebrow i{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%}
.light .eyebrow i{background:var(--ink)}
.eyebrow i.rec{background:#ff4b3a;animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{opacity:.2}}
.skip-link{position:fixed;top:-100px;left:20px;z-index:300;background:var(--accent);color:var(--ink);padding:15px}.skip-link:focus{top:10px}
.page-progress{position:fixed;top:0;left:0;z-index:160;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.sprite{position:absolute;width:0;height:0}

/* Botões */
.button{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:56px;padding:15px 24px;background:var(--accent);color:var(--ink);border-radius:999px;font-size:13px;font-weight:700;overflow:hidden;isolation:isolate;transition:color var(--normal) var(--ease)}
.button{border:1px solid var(--paper)}
.button:hover{color:var(--paper)}
.button:before{content:'';position:absolute;inset:0;background:var(--ink);border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.button:hover:before{transform:none}
.button span{font-size:20px;font-weight:500;transition:transform var(--normal) var(--ease)}
.button:hover span{transform:translate(3px,-3px) rotate(45deg)}
.button-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.button-dark:before{background:var(--paper)}.button-dark:hover{color:var(--ink)}
.button-small{min-height:44px;padding:10px 20px;font-size:12px;gap:20px}
.text-link{display:inline-flex;align-items:center;gap:18px;padding:13px 20px;border:1px solid #ffffff40;border-radius:999px;background:#ffffff0a;font-size:13px;font-weight:600;line-height:1.3;position:relative;transition:background .35s var(--ease),color .35s var(--ease),border-color .35s}
.text-link:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.light .text-link,.realtime .text-link{border-color:#10101038;background:#1010100a}
.light .text-link:hover,.realtime .text-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.text-link span{font-size:19px;transition:transform var(--normal) var(--ease)}.text-link:hover span{transform:translateX(4px)}

.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:52px}
.section-head .eyebrow{margin-bottom:26px}
.section-head>p{max-width:340px;color:var(--muted);font-size:14px;line-height:1.85;margin-bottom:6px}.light .section-head>p{color:var(--gray)}

/* Split de linhas (GSAP) */
.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.line>span{display:inline-block;will-change:transform}

/* Loader */
.loader{display:none}
.js .loader{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:var(--ink-deep);color:var(--paper);animation:loader-safety 0s 7s forwards}
@keyframes loader-safety{to{visibility:hidden}}
.loader-stage{position:relative;width:min(46vmin,340px);aspect-ratio:1}
.loader-maze{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.maze-path{fill:none;stroke:var(--accent);stroke-width:2.4}
.loader-core{position:absolute;inset:31%;width:38%;height:38%;--iso-fill:var(--yellow);--iso-lines:var(--ink-deep);opacity:0;transform:scale(.4)}
.loader-word{position:absolute;bottom:13vh;left:50%;width:min(52vw,260px);transform:translateX(-50%);--lt:var(--paper);--lf:var(--muted);opacity:0}
.loader-count{position:absolute;right:var(--gutter);bottom:5vh;font-size:clamp(48px,8vw,110px);font-weight:600;letter-spacing:-.05em;line-height:1;font-variant-numeric:tabular-nums}
.loader-count b{font-weight:600}
.loader-note{position:absolute;left:var(--gutter);bottom:calc(5vh + 12px);font-size:11px;letter-spacing:.14em;color:var(--muted)}

/* Mandala de fundo fixa — detalhe sutil, gira com o scroll */
.bg-mandala{position:fixed;z-index:0;top:50%;right:3vw;width:min(84vh,46vw);aspect-ratio:1;pointer-events:none;opacity:.05;transform:translateY(-50%)}
.bg-mandala svg{width:100%;height:100%;--iso-line:var(--paper)}
main,.footer{position:relative;z-index:1}
/* Nada pode alargar a página: a faixa inclinada e os trilhos vazam de propósito, mas são recortados aqui. */
main{overflow-x:clip}
@supports (overflow:clip){html,body{overflow-x:clip}}

/* Cursor */
.cursor{display:none}
@media (hover:hover) and (pointer:fine){
  .has-cursor .cursor{display:block;position:fixed;inset:0;z-index:400;pointer-events:none}
  .cursor{opacity:0}
  .cursor-dot{position:fixed;top:0;left:0;width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--accent);border-radius:50%}
  .cursor-ring{position:fixed;top:0;left:0;width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid #ffffff66;border-radius:50%;display:grid;place-items:center;mix-blend-mode:difference;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),background .3s,border-color .3s}
  .cursor-label{font:700 10px/1 var(--font);letter-spacing:.12em;color:var(--ink);opacity:0;transition:opacity .2s}
  .cursor.is-label .cursor-ring{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--accent);border-color:var(--accent);mix-blend-mode:normal}
  .cursor.is-label .cursor-label{opacity:1}
  .cursor.is-label .cursor-dot{opacity:0}
  .has-cursor [data-cursor],.has-cursor [data-cursor] *{cursor:none}
  .cursor.is-hover .cursor-ring{width:56px;height:56px;margin:-28px 0 0 -28px;border-color:var(--accent)}
}

/* Navegação */
.nav{position:fixed;top:0;left:0;right:0;z-index:150;height:88px;transition:transform .5s var(--ease),background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.is-scrolled{background:#101010d9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.nav.is-hidden{transform:translateY(-100%)}
/* Menu aberto: sem desfoque nem transform na barra (eles prendem o menu fixo dentro dela) */
body.menu-open .nav{backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;background:transparent;border-bottom-color:transparent;z-index:450}
body.menu-open .cursor{display:none}
.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between}
.brand{position:relative;z-index:3;display:flex;align-items:center;gap:10px;color:var(--paper);--lf:var(--muted)}
.brand-mark{width:46px;height:46px;flex-shrink:0;--hair:.5px}
.brand-word{width:138px;height:20px}
.nav-links{display:flex;align-items:center;gap:30px;font-size:13px}
.nav-links>a:not(.button){color:var(--muted);position:relative;padding-block:6px;transition:color var(--micro)}
.nav-links>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links>a:not(.button):hover{color:var(--white)}.nav-links>a:not(.button):hover:after,.nav-links>a.is-current:after{transform:scaleX(1);transform-origin:left}
.nav-links>a.is-current{color:var(--white)}
.menu-mandala{display:none}
.menu-toggle{display:none;background:none;padding:12px;margin-right:-12px}
.menu-toggle span{display:block;height:1.5px;width:26px;background:var(--paper);margin:6px 0;transition:transform .4s var(--ease)}

/* Hero */
.hero{position:relative;padding-top:128px;padding-bottom:56px;overflow:hidden}
.hero-top{position:relative;display:flex;justify-content:space-between;gap:20px}
.hero-location{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:600}
.hero-heading{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-top:34px;padding-bottom:48px}
h1{font-size:clamp(48px,7.6vw,118px);font-weight:600;line-height:.98;letter-spacing:-.055em}
h1 em{font-style:normal;color:var(--muted)}
.hero-note{padding-bottom:8px;flex-shrink:0;max-width:220px}
.mini-mark{width:44px;height:44px;display:block}
.hero-note .mini-mark{margin-bottom:16px;animation:spin 24s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hero-note p{font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:12px}
.hero-stage{position:relative;height:clamp(460px,72vh,720px);width:100%;overflow:hidden;background:var(--ink);clip-path:inset(0px var(--gutter) 0px var(--gutter) round var(--radius-lg))}
.hero-media{position:absolute;inset:-6% 0;will-change:transform}
.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10101088,transparent 32%,transparent 55%,#101010e0)}
.hero-stage-top{position:absolute;z-index:2;top:26px;left:calc(var(--gutter) + 32px);right:calc(var(--gutter) + 32px);display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;font-weight:600}
.live-dot{width:8px;height:8px;background:#ff4b3a;border-radius:50%;display:inline-block;margin-right:9px;animation:blink 1.4s steps(2) infinite}
.timecode{font-variant-numeric:tabular-nums;color:var(--muted)}
.hero-stage{cursor:pointer}
.reel-hint{display:flex;gap:10px;align-items:center}
.hero-play{position:absolute;z-index:2;top:46%;left:50%;width:132px;height:132px;margin:-66px 0 0 -66px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;border-radius:50%;background:#101010b3;border:1px solid #f3e73d55;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-play>span{font-size:20px}
@media (hover:hover) and (pointer:fine){.hero-play{opacity:0;pointer-events:none}.hero-play:focus-visible{opacity:1}}
.hero-play small{font-size:9px;text-align:center;line-height:1.5;letter-spacing:.12em;font-weight:700}
.hero-stage-bottom{position:absolute;z-index:2;bottom:34px;left:calc(var(--gutter) + 32px);right:calc(var(--gutter) + 32px);display:flex;justify-content:space-between;align-items:flex-end}
.hero-stage-bottom p{font:500 clamp(22px,2.2vw,30px)/1.2 var(--font);letter-spacing:-.03em}
.hero-stage-bottom p strong{font-weight:600;color:var(--muted)}
.hero-stage-bottom>a{font-size:13px;display:flex;align-items:center;gap:20px}
.hero-stage-bottom>a span{font-size:26px;transition:transform .4s var(--ease)}.hero-stage-bottom>a:hover span{transform:translate(3px,3px)}
.hero-foot{display:flex;justify-content:space-between;padding-block:26px 34px;font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:600}

/* Vídeo: sem arquivo ainda, o poster ganha um leve Ken Burns para a página não ficar parada. */
.vid{width:100%;height:100%;object-fit:cover;background:var(--panel)}
.vid.is-fallback{animation:kenburns 18s var(--ease-io) infinite alternate}
@keyframes kenburns{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.12) translate(-1.5%,-1%)}}

/* Faixa amarela */
.marquee{background:#161616;color:#6e6e6b;border-block:1px solid var(--line);overflow:hidden;padding-block:20px;position:relative;z-index:2;width:110%;margin-left:-5%}
.marquee-track{display:flex;width:max-content;will-change:transform}
.marquee-track,.marquee-group{align-items:center}
.marquee-group{display:flex;gap:34px;padding-right:34px}
.js .marquee-track{animation:none}
.marquee-track span{font-size:clamp(28px,3.6vw,52px);font-weight:600;letter-spacing:-.04em;white-space:nowrap;line-height:1}
.marquee-track svg{width:clamp(34px,3.4vw,50px);height:clamp(34px,3.4vw,50px);flex-shrink:0;color:#6e6e6b;--hair:.6px}
html:not(.motion) .marquee-track{animation:marquee 30s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Dois mundos */
.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;perspective:1400px}
.world-card{position:relative;height:clamp(460px,44vw,600px);overflow:hidden;border-radius:var(--radius-lg);background:var(--ink);color:var(--white);transform-style:preserve-3d;will-change:transform}
.world-card>.vid{position:absolute;inset:0;filter:grayscale(.85) brightness(.8);transition:filter .8s var(--ease),transform 1.2s var(--ease)}
.world-card:hover>.vid,.world-card:focus-visible>.vid{filter:none;transform:scale(1.04)}
.world-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10101066,transparent 30%,#101010e6)}
.world-top{position:absolute;top:28px;left:32px;right:32px;display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.14em;font-weight:600}
.circle-arrow{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff88;border-radius:50%;font-size:22px;transition:background .4s,color .4s,border-color .4s,transform .5s var(--ease)}
.world-card:hover .circle-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:rotate(45deg)}
.world-copy{position:absolute;bottom:34px;left:32px;right:32px;transform:translateZ(40px)}
.world-copy>span{font-size:11px;letter-spacing:.14em;font-weight:600;color:var(--accent)}
.world-copy h3{font-size:clamp(34px,3.6vw,54px);line-height:1.02;letter-spacing:-.045em;font-weight:600;margin:16px 0}
.world-copy p{font-size:13px;color:#ddd}

/* Portfólio */
.portfolio h2 em{color:var(--muted)}
.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.filters{position:relative;display:flex;padding:5px;border:1px solid var(--line);border-radius:30px;gap:3px}
.filter-pill{position:absolute;top:5px;bottom:5px;left:5px;width:0;border-radius:24px;background:var(--accent);transition:transform .5s var(--ease),width .5s var(--ease)}
.filters button{position:relative;z-index:1;background:none;border-radius:24px;padding:12px 21px;color:var(--muted);font-size:12px;transition:color var(--normal)}
.filters button.active{color:var(--ink)}
.no-pill .filters button.active{background:var(--accent)}
.film-count{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:600}
.screen{aspect-ratio:2.05;position:relative;overflow:hidden;background:var(--panel);border-radius:var(--radius-lg);cursor:pointer}
.screen>img{height:100%;width:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.screen:hover>img{transform:scale(1.03)}
.screen-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10101077,transparent 35%,#101010e0);pointer-events:none}
.screen-top{position:absolute;top:26px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.14em;font-weight:600;pointer-events:none}
.screen-play{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:13px;background:transparent}
.screen-play>span{width:84px;height:84px;border:1px solid #ffffff99;border-radius:50%;display:grid;place-items:center;background:#10101055;backdrop-filter:blur(6px);font-size:20px;transition:background var(--normal),color var(--normal),border-color var(--normal),transform var(--normal) var(--ease)}
.screen:hover .screen-play>span{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:scale(1.08)}
.screen-play small{font-size:10px;letter-spacing:.14em;font-weight:700}
.screen-caption{position:absolute;bottom:28px;left:30px;right:30px;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none}
.screen-caption span{font-size:11px;letter-spacing:.14em;font-weight:600}
#featured-category{color:var(--accent)}
.screen-caption h3{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;font-weight:600;margin-top:10px}
.film-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--graphite) transparent;padding:22px 0 16px;cursor:grab}
.film-rail.is-dragging{cursor:grabbing;scroll-snap-type:none}
.film-thumb{flex:0 0 calc((100% - 64px)/5);min-width:180px;padding:0 0 12px;background:transparent;text-align:left;border-bottom:2px solid transparent;scroll-snap-align:start;opacity:.55;transition:opacity var(--micro),border-color var(--normal)}
.film-thumb:hover,.film-thumb.selected{opacity:1}.film-thumb.selected{border-bottom-color:var(--accent)}
.thumb-image{height:112px;position:relative;overflow:hidden;border-radius:6px;margin-bottom:11px}
.thumb-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.film-thumb:hover .thumb-image img{transform:scale(1.08)}
.thumb-image span{position:absolute;right:10px;bottom:10px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#10101088;font-size:10px}
.film-thumb.selected .thumb-image span{background:var(--accent);color:var(--ink)}
.film-thumb strong{font-weight:600;display:block;font-size:13px;padding-bottom:4px}
.film-thumb small{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.portfolio-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:25px}
.portfolio-bottom>span{font-size:12px;color:var(--muted)}.portfolio-bottom>div{display:flex;gap:12px;flex-wrap:wrap}.portfolio-bottom .text-link{font-size:12px}

/* Marcas: as 20 logos da TH Pádua em cards, duas faixas em sentidos opostos */
.brands{padding:var(--section) 0;overflow:hidden;position:relative;background:#fff;color:var(--ink)}
.brands-head{margin-bottom:48px}
.brands-head p{color:var(--gray);max-width:320px}
.brand-marquee{display:flex;width:max-content;animation:marquee 60s linear infinite;margin-bottom:14px}
.brand-marquee.is-reverse{animation-direction:reverse;animation-duration:70s}

.brand-row{display:flex;gap:14px;padding-right:14px}
.brand-row img{width:clamp(160px,15vw,220px);height:auto;aspect-ratio:309/147;filter:grayscale(1);opacity:.9;transition:filter .5s var(--ease),opacity .5s,transform .5s var(--ease)}
.brand-row img:hover{filter:none;opacity:1;transform:translateY(-4px)}

/* Serviços */
.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.service-intro .eyebrow{margin-bottom:29px}
.service-intro>p{max-width:400px;color:var(--gray);margin:28px 0 30px}
.social-link{display:block;margin-top:20px;font-size:12px;color:var(--muted)}.light .social-link{color:var(--gray)}.social-link:hover{text-decoration:underline}
.service-details{border-top:1px solid var(--line-light)}
.service-details details{border-bottom:1px solid var(--line-light);padding-block:24px;transition:padding .4s var(--ease)}
.service-details summary{display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:20px;font-weight:600;cursor:pointer;list-style:none;line-height:1.3;letter-spacing:-.02em;transition:transform .4s var(--ease)}
.service-details summary:hover{transform:translateX(8px)}
.service-details summary::-webkit-details-marker{display:none}
.service-details summary>span{width:30px;height:30px;position:relative;flex-shrink:0;border-radius:50%;border:1px solid var(--line-light);transition:background .3s,border-color .3s}
.service-details summary>span:before,.service-details summary>span:after{content:'';position:absolute;top:14px;left:8px;background:currentColor;height:1px;width:12px;transition:transform var(--normal) var(--ease)}
.service-details summary>span:after{transform:rotate(90deg)}
.service-details details[open] summary>span{background:var(--ink);border-color:var(--ink);color:var(--accent)}
.service-details details[open] summary>span:after{transform:rotate(0)}
.service-details details[open]>p{animation:fade-up .6s var(--ease)}
@keyframes fade-up{from{opacity:0;transform:translateY(10px)}}
.service-details details>p{padding-top:16px;color:var(--gray);font-size:14px;max-width:480px}
.service-foot{display:flex;align-items:center;gap:22px;margin-top:37px}
.service-foot .mini-mark{color:var(--ink);animation:spin 24s linear infinite}
.service-foot p{font-size:13px;color:var(--gray)}.service-foot strong{font-weight:400;color:var(--ink)}

/* Bastidores */
.backstage{position:relative;overflow:hidden}
.backstage-pin{padding-block:var(--section) 60px;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.backstage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}
.backstage-head .eyebrow{margin-bottom:24px}
.backstage-head p{max-width:330px;color:var(--muted)}
.backstage-head small{display:block;margin-top:12px;font:600 10px var(--font);letter-spacing:.14em;color:var(--gray)}
.backstage-track{display:flex;gap:18px;padding-inline:max(var(--gutter),calc((100vw - var(--max))/2));width:max-content;will-change:transform}
.bts-card{position:relative;margin:0;width:clamp(260px,24vw,360px);aspect-ratio:3/4;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0;background:var(--panel)}
.bts-card-wide{width:clamp(420px,44vw,640px);aspect-ratio:auto}
.bts-card .vid{position:absolute;inset:0;transition:transform 1.2s var(--ease),filter .8s}
.bts-card:hover .vid{transform:scale(1.05)}
.bts-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#101010e6)}
.bts-card figcaption{position:absolute;z-index:1;left:22px;right:22px;bottom:22px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline}
.bts-card figcaption span{font-size:11px;font-weight:700;color:var(--accent);grid-row:span 2}
.bts-card figcaption strong{font-size:20px;letter-spacing:-.03em;font-weight:600;line-height:1.15}
.bts-card figcaption small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-top:6px}
.bts-end{position:relative;flex-shrink:0;width:clamp(260px,24vw,360px);border-radius:var(--radius-lg);background:var(--accent);color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:28px;overflow:hidden}
.bts-end svg{position:absolute;right:-40%;top:-20%;width:120%;height:auto;--iso-line:var(--ink);opacity:.18;transition:transform 1.6s var(--ease)}
.bts-end:hover svg{transform:rotate(45deg)}
.bts-end span{position:relative;font-size:clamp(28px,2.6vw,40px);font-weight:600;letter-spacing:-.04em;line-height:1.05;margin-top:auto}
.bts-end b{position:relative;font-size:40px;font-weight:500;margin-top:18px;transition:transform .5s var(--ease)}.bts-end:hover b{transform:translate(6px,-6px)}
.backstage-progress{display:flex;align-items:center;gap:24px;margin-top:36px}
.bp-bar{flex:1;height:2px;background:var(--line);position:relative;overflow:hidden}
.bp-bar i{position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left}
.bp-label{font-size:11px;letter-spacing:.14em;color:var(--muted);font-weight:600}

/* Eventos */
.events{overflow:hidden}
.dots-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#ffffff17 1px,transparent 1.2px);background-size:26px 26px;-webkit-mask:radial-gradient(ellipse 75% 60% at 50% 35%,#000 20%,transparent 80%);mask:radial-gradient(ellipse 75% 60% at 50% 35%,#000 20%,transparent 80%)}
.events>.wrap{position:relative}
.event-heading{text-align:center;margin-bottom:70px;position:relative}
.event-heading .eyebrow{justify-content:center;margin-bottom:26px}
.event-heading h2{font-size:clamp(44px,6vw,90px);letter-spacing:-.05em}
.event-heading h2 em{color:var(--muted);font-weight:600}
.event-heading p{color:var(--muted);margin-top:26px;font-size:14px}
.event-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center}
.event-image{height:600px;position:relative;overflow:hidden;border-radius:var(--radius-lg)}
.event-image>img{width:100%;height:115%;object-fit:cover;will-change:transform}
.event-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#101010bb);pointer-events:none}
.event-film{position:absolute;z-index:1;bottom:30px;left:30px;background:none;display:flex;align-items:center;gap:18px;text-align:left;font-size:12px;letter-spacing:.12em;font-weight:700}
.event-film .circle-arrow{font-size:14px}
.event-film:hover .circle-arrow{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.event-film small{display:block;font:500 12px var(--font);color:#ddd;margin-top:6px;letter-spacing:0}
.event-services h3{font-size:clamp(34px,3.2vw,46px);line-height:1.08;letter-spacing:-.04em;font-weight:600;margin-top:24px}
.event-grid{list-style:none;padding:0;margin:30px 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.event-grid li{position:relative;display:flex;flex-direction:column;gap:18px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#151515;font-size:14px;line-height:1.35;color:var(--paper);overflow:hidden;transition:background .45s var(--ease),color .45s var(--ease),border-color .45s,transform .45s var(--ease)}
.event-grid li:last-child{grid-column:1/-1;flex-direction:row;align-items:center}
.event-grid li:hover{background:var(--paper);color:var(--ink);border-color:var(--paper);transform:translateY(-3px)}
.event-grid svg{width:42px;height:42px;padding:10px;border:1px solid var(--line);border-radius:50%;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .6s var(--ease),border-color .45s}
.event-grid li:hover svg{transform:rotate(-12deg) scale(1.08);border-color:#0002}
.realtime{position:relative;margin-top:180px;display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:clamp(110px,11vw,170px);align-items:center;min-height:480px;padding:0 clamp(28px,5vw,72px);background:#fff;color:var(--ink);border-radius:28px;clip-path:inset(-60% -6% 0 -6% round 0 0 28px 28px);isolation:isolate}
.realtime:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background-image:radial-gradient(circle,#0000001a 1px,transparent 1.2px);background-size:24px 24px;-webkit-mask:radial-gradient(ellipse 80% 90% at 70% 50%,#000,transparent 85%);mask:radial-gradient(ellipse 80% 90% at 70% 50%,#000,transparent 85%)}
/* O painel branco é o "box": o celular fica preso embaixo e sai pela borda de cima. */
.phone-box{position:relative;align-self:stretch;display:flex;justify-content:center;align-items:flex-end}
/* Widgets animados do Real Time (SVG + GSAP) */
.rt-widget{position:absolute;z-index:3;background:#141414;color:var(--paper);border:1px solid #ffffff1a;border-radius:18px;box-shadow:0 30px 50px -22px #000c,inset 0 1px 0 #ffffff14}
.rt-timer{top:4%;right:-6%;width:124px;height:124px;border-radius:50%}
.rt-timer svg{width:100%;height:100%;display:block}
.rt-face{fill:#141414}
.rt-ticks line{stroke:#ffffff40;stroke-width:1}
.rt-track{fill:none;stroke:#ffffff14;stroke-width:5}
.rt-progress{fill:none;stroke:var(--paper);stroke-width:5;stroke-linecap:round;stroke-dasharray:238.76;stroke-dashoffset:238.76}
.rt-timer-text{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1}
.rt-timer-text b{font-size:22px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.rt-timer-text small{font-size:7px;letter-spacing:.12em;font-weight:700;color:var(--muted);margin-top:6px}
.rt-story{top:30%;left:-12%;width:168px;padding:8px}
.rt-story-thumb{position:relative;height:104px;border-radius:12px;overflow:hidden}
.rt-story-thumb img{width:100%;height:100%;object-fit:cover}
.rt-story-thumb span{position:absolute;left:8px;top:8px;display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#101010b3;font-size:8px;font-weight:700;letter-spacing:.14em;color:#fff}
.rt-story-thumb span i{width:5px;height:5px;border-radius:50%;background:#ff4b3a}
.rt-story-btn{margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;height:36px;border-radius:10px;border:1px solid #ffffff2e;font-size:12px;font-weight:700;transition:background .25s,color .25s}
.rt-story-btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;display:none}
.rt-story-btn.is-done{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.rt-story-btn.is-done svg{display:block}
.rt-cursor{position:absolute;width:22px;height:22px;left:58%;top:100%;fill:#fff;stroke:#101010;stroke-width:1.4;stroke-linejoin:round;filter:drop-shadow(0 4px 6px #0008);opacity:0}
.rt-timeline{bottom:9%;right:-16%;width:214px;padding:14px}
.rt-tl-head{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;margin-bottom:10px}
.rt-tl-head b{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:600}
.rt-timeline svg{width:100%;height:auto;display:block;overflow:visible}
.rt-clips rect{fill:#ffffff3d}.rt-clips rect.alt{fill:#ffffff1f}
.wave{fill:#ffffff59}
.rt-playhead{stroke:var(--paper);stroke-width:1.5}
.rt-tl-bar{margin-top:10px;height:3px;border-radius:3px;background:#ffffff1a;overflow:hidden}
.rt-tl-bar i{display:block;height:100%;width:100%;background:var(--paper);transform:scaleX(0);transform-origin:left}
.phone{position:relative;z-index:1;width:280px;flex-shrink:0;aspect-ratio:9/19;border-radius:40px;padding:10px;margin-bottom:-200px;background:linear-gradient(145deg,#2c2c2b,#0c0c0c);box-shadow:0 40px 60px -24px #0009,inset 0 0 0 1px #ffffff1a;will-change:transform}
.phone-screen{position:relative;width:100%;height:100%;border-radius:30px;overflow:hidden;background:#000}
.phone-screen .vid{position:absolute;inset:0}
.phone-rec{position:absolute;top:16px;left:16px;color:#fff;display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:20px;background:#101010aa;font-size:10px;letter-spacing:.12em;font-weight:700}
.phone-rec i{width:7px;height:7px;border-radius:50%;background:#ff4b3a;animation:blink 1.4s steps(2) infinite}
.realtime-copy{max-width:540px;padding-block:56px}
.realtime-copy .eyebrow{color:var(--ink)}
.realtime-copy h3{font-size:clamp(28px,3vw,44px);line-height:1.1;letter-spacing:-.04em;font-weight:600;margin:18px 0 22px}
.realtime-copy h3 em{color:var(--gray)}
.realtime-copy p{color:var(--gray);font-size:15px;margin-bottom:22px}


/* Time */
.team{overflow:hidden}
.team-contact-sheet{width:min(1500px,calc(100% + 160px));margin:70px auto 70px;display:flex;align-items:center;justify-content:center;gap:16px;position:relative;left:50%;transform:translateX(-50%)}
.team-contact-sheet figure{flex:1 0 0;margin:0;min-width:0;overflow:hidden;border-radius:8px;background:var(--ink);height:320px;rotate:-3deg;transition:rotate .6s var(--ease)}
.team-contact-sheet figure:nth-child(even){rotate:3deg;margin-top:-40px}
.team-contact-sheet figure:nth-child(3n){rotate:-1deg}
.team-contact-sheet figure:hover{rotate:0deg}
.team-contact-sheet img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s,transform .8s var(--ease)}
.team-contact-sheet figure:hover img{filter:none;transform:scale(1.05)}
/* Galeria circular (WebGL) do time — passa em loop; arraste para navegar. */
.team-gallery{position:relative;margin:30px 0 60px;font:600 22px var(--font);color:var(--ink)}
.team-gallery.is-webgl{height:clamp(380px,46vw,620px);cursor:grab}
.team-gallery.is-webgl.is-dragging{cursor:grabbing}
.team-gallery.is-webgl .team-contact-sheet{display:none}
.team-gallery canvas{display:block;width:100%!important;height:100%!important}
.team-gallery.is-css-loop{overflow:hidden;padding-block:40px}
.team-gallery.is-css-loop .team-contact-sheet{width:max-content;padding-right:16px;left:0;transform:none;margin:0;justify-content:flex-start;animation:marquee 55s linear infinite}
.team-gallery.is-css-loop .team-contact-sheet:hover{animation-play-state:paused}
.team-gallery.is-css-loop .team-contact-sheet figure{flex:0 0 clamp(170px,17vw,240px);display:block!important}
.team-photo{position:relative;height:clamp(320px,42vw,560px);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:56px}
.team-photo img{width:100%;height:118%;object-fit:cover;object-position:center 40%;will-change:transform}
.photo-note{position:absolute;right:16px;bottom:12px;z-index:2;font-size:9px;letter-spacing:.12em;color:#fff;font-weight:600;opacity:.8}
.team-bottom{display:flex;justify-content:space-between;gap:35px;align-items:center}
.team-bottom p{font-size:14px;color:var(--gray)}.team-bottom strong{color:var(--ink);font-weight:400}

/* Processo */
.process{position:relative}
.process-pin{min-height:100vh;display:flex;align-items:center;padding-block:120px 80px}
.process-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;align-items:center}
.process-copy .eyebrow{margin-bottom:26px}
.process-copy h2{font-size:clamp(34px,3.5vw,52px)}
.process-steps{list-style:none;padding:0;margin:48px 0 0;border-top:1px solid var(--line)}
.process-steps li{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:22px 0;border-bottom:1px solid var(--line);opacity:.38;transition:opacity .5s var(--ease)}
.process-steps li.is-active{opacity:1}
.process-steps li>span{font-size:12px;font-weight:700;color:var(--accent);padding-top:6px}
.process-steps h3{font-size:24px;font-weight:600;letter-spacing:-.03em}
.process-steps p{font-size:14px;color:var(--muted);max-width:360px;max-height:0;overflow:hidden;opacity:0;transition:max-height .6s var(--ease),opacity .5s,margin .6s var(--ease)}
.process-steps li.is-active p{max-height:80px;opacity:1;margin-top:8px}
.step-media{display:none}
.process-frame{position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;background:var(--panel)}
.frame-media{position:absolute;inset:0;clip-path:inset(0 0 100% 0);transition:clip-path 1s var(--ease-io)}
.frame-media.is-active{clip-path:inset(0 0 0 0)}
.frame-media.was-active{clip-path:inset(0 0 0 0);z-index:0}
.frame-media.is-active{z-index:1}
.frame-media .vid{position:absolute;inset:0}
.frame-hud{position:absolute;z-index:3;left:22px;right:22px;bottom:20px;display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.14em;font-weight:700}
.frame-hud:before{content:'';position:absolute;inset:-60px -22px -20px;background:linear-gradient(transparent,#101010cc);z-index:-1}
.frame-step{color:var(--accent)}
.frame-bar{flex:1;height:2px;background:#ffffff33;position:relative;overflow:hidden}
.frame-bar i{position:absolute;inset:0;background:var(--accent);transform:scaleX(.25);transform-origin:left;transition:transform .6s var(--ease)}

/* FAQ */
.faq-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:90px}
.faq-layout h2{font-size:clamp(34px,3.4vw,48px);margin-top:25px}
.faq-layout summary{font-size:17px}

/* Contato */
.contact{overflow:hidden;isolation:isolate}
.contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:90px;align-items:start}
.contact-copy h2{font-size:clamp(52px,6.4vw,96px);letter-spacing:-.055em;line-height:.98;margin-top:32px}
.contact-copy h2 em{color:var(--muted);font-weight:600}
.contact-copy>p{color:var(--muted);font-size:14px;margin-top:30px}
.contact-mark{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);margin-top:58px;padding-top:28px}
.contact-mark svg{width:54px;height:54px;animation:spin 24s linear infinite}
.contact-mark>span{font-size:11px;line-height:1.8;letter-spacing:.14em;color:var(--muted);font-weight:600}
fieldset{border:0;padding:0;margin:0 0 26px}legend{font-size:13px;padding:0;margin-bottom:15px}
.project-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.project-options label{cursor:pointer;position:relative}
.project-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0}
.project-options label>span{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--line);padding:18px 16px;border-radius:12px;font-size:13px;color:var(--muted);background:var(--ink);transition:border-color .3s,background .3s,color .3s}
.project-options label:hover>span{border-color:var(--gray)}
.project-options label>span{align-items:center}
.project-options em{font-style:normal;flex:1}
.project-options b{font-weight:500;font-size:18px}
.opt-ico{width:38px;height:38px;padding:9px;border-radius:50%;border:1px solid var(--line);flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:border-color .3s,background .3s}
.project-options input:checked+span .opt-ico{border-color:#10101026;background:#1010100d}
.project-options input:checked+span{animation:opt-glow 2.2s ease-in-out infinite}
@keyframes opt-glow{0%,100%{box-shadow:0 0 0 0 #ffffff00,0 0 18px 0 #ffffff26}50%{box-shadow:0 0 0 6px #ffffff14,0 0 34px 6px #ffffff40}}
.project-options input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--ink)}
.project-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:4px}
.field{display:block;font-size:13px;margin-bottom:22px;position:relative}
.field input,.field textarea{width:100%;background:none;color:var(--paper);border:0;border-bottom:1px solid var(--line);border-radius:0;padding:12px 0;font-size:14px;line-height:1.6;resize:vertical;min-width:0;transition:border-color .3s}
.field input:focus,.field textarea:focus{outline:0;border-bottom-color:var(--accent)}
.field input::placeholder,.field textarea::placeholder{color:var(--gray);opacity:1}
.field textarea{min-height:80px}.field input[type=date]{color-scheme:dark;min-height:44px}
.form-row{display:flex;gap:25px}.form-row .field{flex:1;min-width:0}.optional{color:var(--muted)}
.form-note{color:var(--muted);font-size:12px;line-height:1.8;margin:0 0 22px}
#brief-form{position:relative;background:#161616;border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3vw,40px);box-shadow:0 40px 80px -40px #000}
#brief-form:before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(160deg,#ffffff2e,transparent 40%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.contact form>.button{width:100%}
.form-status{font-size:12px;color:var(--muted);margin-top:12px}

/* Rodapé */
.footer{position:relative;overflow:hidden;border-top:1px solid var(--line);padding-block:64px 26px;background:var(--ink-deep)}
.footer-mandala{display:none;position:absolute;right:-12%;bottom:-38%;width:min(760px,80vw);height:auto;aspect-ratio:1;--iso-line:var(--accent);opacity:.07;pointer-events:none}
.footer-top{position:relative;display:grid;grid-template-columns:1.2fr 1fr 1fr auto;align-items:start;gap:30px;padding-bottom:40px}
.footer-top>p{font:600 22px/1.3 var(--font);letter-spacing:-.03em}
.footer-top nav,.footer-top>div{display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--muted)}
.footer-top a:hover{color:var(--accent)}
.back-top{width:52px;height:52px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:22px;transition:background .3s,color .3s,border-color .3s}
.back-top:hover{background:var(--accent);color:var(--ink)!important;border-color:var(--accent)}
.footer-logo{position:relative;display:flex;align-items:center;gap:2.2vw;padding-block:30px 40px;color:var(--paper);--lf:var(--muted)}
.footer-logo-mark{width:17vw;max-width:220px;aspect-ratio:1;height:auto;flex-shrink:0;--hair:.9px}
.footer-logo-word{flex:1;height:auto;aspect-ratio:968/140}
.footer-bottom{position:relative;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;font-size:12px;color:var(--muted)}
.footer-bottom a:hover{color:var(--accent)}

/* Diálogos */
dialog{padding:0;border:1px solid var(--line);background:var(--ink);color:var(--paper);border-radius:var(--radius-lg);max-height:90dvh;overflow:auto}
dialog::backdrop{background:#000d;backdrop-filter:blur(9px)}
.video-dialog{width:min(1120px,94vw)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;font-size:13px}
.dialog-close{background:none;padding:8px 0 8px 15px;display:flex;align-items:center;gap:17px;font-size:12px}.dialog-close span{font-size:25px;line-height:1}
#video-container{background:#000;aspect-ratio:16/9}#video-container video{width:100%;height:100%;display:block;background:#000}
dialog[open]{animation:dialog-in .6s var(--ease)}
@keyframes dialog-in{from{opacity:0;transform:translateY(24px) scale(.97)}}#video-container iframe{width:100%;height:100%;border:0;display:block}
.dialog-footer{display:flex;justify-content:space-between;gap:20px;padding:20px 24px;font-size:12px;color:var(--muted)}
.contact-dialog{width:min(560px,94vw);padding:26px}.contact-dialog .dialog-top{padding:0 0 25px}.contact-dialog .dialog-close{font-size:25px}
.contact-dialog h2{font-size:42px}.contact-dialog>p{font-size:13px;margin:18px 0;color:var(--muted)}
#brief-output{width:100%;background:var(--panel);color:var(--paper);font:13px/1.7 var(--body);padding:15px;border:1px solid var(--line);border-radius:8px;resize:vertical;margin-bottom:18px}
.contact-dialog .button{width:100%}.contact-dialog .text-link{margin-top:16px}

/* Depoimentos (aparecem só com dados reais) */
.quote-stage{display:grid;grid-template-columns:1fr 1.4fr;align-items:center;gap:65px}.quote-stage>img{width:100%;height:400px;object-fit:cover;filter:grayscale(1);border-radius:8px}.quote-stage blockquote{font-size:30px;line-height:1.4;letter-spacing:-.8px;margin:0 0 30px}.quote-stage p{font-size:13px;color:var(--gray)}.quote-controls{display:flex;align-items:center;gap:20px;margin-top:25px}.quote-controls button{background:none;color:var(--ink);border:1px solid var(--line-light);border-radius:50%;width:42px;height:42px}.testimonials .filters{border-color:var(--line-light)}.testimonials .filters .active{background:var(--ink);color:var(--paper)}.testimonials .filters button{color:var(--gray)}

/* Responsivo */
@media(min-width:1600px){.hero-heading{padding-block:44px 56px}}
@media(max-width:1100px){
  :root{--gutter:32px}
  .hero-note{display:none}
  .service-layout,.event-editorial,.faq-layout{gap:55px}.contact-grid{gap:60px}
  .process-layout{gap:48px}
  .team-contact-sheet figure{height:260px}.team-contact-sheet{gap:10px}
  .nav-links{gap:20px}
  .footer-top{grid-template-columns:1fr 1fr auto}.footer-top>p{grid-column:1/-1}
}
@media(max-width:860px){
  .menu-toggle{display:block;position:relative;z-index:3}
  .nav-links{position:fixed;inset:0;z-index:2;background:var(--ink-deep);flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:100px var(--gutter) 60px;visibility:hidden;clip-path:circle(0 at calc(100% - 44px) 44px);transition:clip-path .8s var(--ease-io),visibility 0s .8s;overflow:hidden}
  .nav-links.is-open{visibility:visible;clip-path:circle(150% at calc(100% - 44px) 44px);transition:clip-path .8s var(--ease-io)}
  .nav-links>a:not(.button){font-size:clamp(38px,11vw,60px);font-weight:600;letter-spacing:-.04em;color:var(--paper);display:flex;align-items:baseline;gap:14px}
  .nav-links>a:not(.button):before{content:attr(data-index);font-size:12px;color:var(--accent);letter-spacing:.1em}
  .nav-links>a:not(.button):after{display:none}
  .nav-links .button{margin-top:28px}
  .menu-mandala{display:block;position:absolute;right:-45%;bottom:-25%;width:110vw;height:110vw;--iso-line:var(--accent);opacity:.1;animation:spin 60s linear infinite;pointer-events:none}
  .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .backstage-pin{min-height:100svh;padding-block:84px 28px}.backstage-head{margin-bottom:26px}
  .process-pin{min-height:0;padding-block:var(--section)}
  .process-layout{grid-template-columns:1fr}
  .process-frame{display:none}
  .process-steps{border-top:0;margin-top:32px}
  .process-steps li{opacity:1;grid-template-columns:44px 1fr;position:sticky;top:calc(90px + var(--i,0) * 14px);margin-bottom:18px;padding:20px 18px;background:#171717;border:1px solid var(--line);border-radius:20px;box-shadow:0 -20px 40px -20px #000c;will-change:transform}
  .process-steps p{max-height:none;opacity:1;margin-top:8px}
  .step-media{display:block;grid-column:1/-1;aspect-ratio:16/9;border-radius:10px;overflow:hidden;margin-top:16px;position:relative}
  .step-media .vid{position:absolute;inset:0}
  .realtime{grid-template-columns:1fr;gap:0;margin-top:170px;clip-path:inset(-40% -6% 0 -6% round 0 0 24px 24px)}
  .phone-box{height:330px;clip-path:inset(-200% -60% 0 -60%)}.realtime-copy{padding-block:40px 44px}
}
@media(max-width:760px){
  :root{--gutter:20px}
  .section{padding-block:80px}
  .nav{height:74px}
  .brand-mark{width:40px;height:40px}.brand-word{width:118px}
  .hero{padding-top:104px}
  .hero-location{display:none}
  .hero-top .eyebrow{font-size:10px}
  .hero-heading{padding-top:26px;padding-bottom:30px}
  h1{font-size:12.4vw;letter-spacing:-.05em;line-height:1.02}
    .hero-stage{height:470px}
  .hero-stage-top{top:20px;left:calc(var(--gutter) + 20px);right:calc(var(--gutter) + 20px);font-size:9px}
  .hero-stage-bottom{left:calc(var(--gutter) + 20px);right:calc(var(--gutter) + 20px);bottom:26px}
  .hero-stage-bottom>a{font-size:0;gap:0}
  .hero-play{width:76px;height:76px;margin:-38px 0 0 -38px;top:46%}.hero-play small,.reel-hint-text,.rec-tail{display:none}
  .hero-foot{font-size:9px;letter-spacing:.06em;padding-block:22px 26px}.hero-foot-center{display:none}
  h2{font-size:40px}
  .section-head{display:block;margin-bottom:34px}.section-head>p{margin-top:22px}
  .world-grid{gap:16px}.world-card{height:420px}
  .world-top{top:20px;left:20px;right:20px;font-size:10px}.world-copy{left:20px;right:20px;bottom:24px}
  .world-copy h3{font-size:34px}
  .portfolio-toolbar{flex-wrap:wrap}
  .screen{aspect-ratio:1.2}.screen-top{left:20px;right:20px;top:20px;font-size:9px}.screen-top>span:last-child{display:none}
  .screen-caption{left:20px;right:20px;bottom:20px}.screen-play>span{width:66px;height:66px}
  .film-rail{padding:14px 0 8px}.film-thumb{min-width:140px}.thumb-image{height:80px}
  .portfolio-bottom{display:block;margin-top:14px}.portfolio-bottom>span{display:block;margin-bottom:15px}
  .brand-row img{width:150px}
  .service-layout,.faq-layout,.contact-grid{grid-template-columns:1fr;gap:48px}
  .service-details summary{font-size:18px}
  .backstage-head{display:block}.backstage-head p{margin-top:22px}
  .bts-card{width:74vw}.bts-card-wide{width:86vw;aspect-ratio:4/5}.bts-end{width:74vw;min-height:300px}
  .events{padding-top:64px}.event-heading{margin-bottom:28px}.event-heading .eyebrow{margin-bottom:16px}.event-heading h2{font-size:34px;line-height:1.05}.event-heading p{margin-top:16px;font-size:13px}
  .event-editorial{grid-template-columns:1fr;gap:40px}.event-image{height:440px}
  .event-services .button{width:100%}
  .phone{width:230px;margin-bottom:-150px}.rt-widget{scale:.74}.rt-timer{right:-4%;top:-2%;transform-origin:top right}.rt-story{left:-6%;top:26%;transform-origin:left center}.rt-timeline{right:-8%;bottom:4%;transform-origin:right bottom}
  .team-contact-sheet{margin:50px 0 40px;width:calc(100% + 220px);gap:10px}
  .team-contact-sheet figure{flex-basis:120px;flex-shrink:0;height:200px}
  .team-contact-sheet figure:nth-child(n+6){display:none}
  .team-bottom{display:block}.team-bottom .text-link{margin-top:20px}
  .team-gallery.is-webgl{height:330px}.team-gallery{margin:10px 0 40px}
  .contact-copy h2{font-size:15vw}
  .contact-mark{display:none}
  .form-row{flex-direction:column;gap:0}
  .footer-top{grid-template-columns:1fr 1fr;gap:30px}.back-top{position:absolute;right:0;top:0}
  .footer-bottom{display:block;line-height:2}
  .dialog-footer{display:block;line-height:1.8}.dialog-footer>span{display:none}
  .contact-dialog{padding:22px}.contact-dialog h2{font-size:36px}
  .quote-stage{grid-template-columns:1fr;gap:25px}.quote-stage>img{height:260px}.quote-stage blockquote{font-size:24px}
}
@media(max-width:480px){
  .world-grid{grid-template-columns:1fr}
  .filters{width:100%}.filters button{flex:1;padding-inline:8px}
  .project-options{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .bg-mandala{display:none}
}

/* Ícone de play em SVG (o caractere ▶ vira emoji no iOS) */
.play-ico{width:1em;height:1em;display:inline-block;vertical-align:-.12em;fill:currentColor;flex-shrink:0;margin-left:.12em}
.reel-hint-text{display:inline-flex;align-items:center;gap:6px}.reel-hint-text .play-ico{width:9px;height:9px;margin:0}

/* Briefing: prévia da mensagem + um único botão para o WhatsApp */
.brief-preview{white-space:pre-wrap;background:var(--panel);color:var(--paper);font:14px/1.75 var(--body);padding:18px;border:1px solid var(--line);border-radius:12px;margin-bottom:18px;max-height:42vh;overflow:auto}
.button-wa{width:100%}
.wa-ico{width:22px;height:22px;fill:currentColor;flex-shrink:0}
.brief-preview{resize:none!important}
