/* ═══════════════════════════════════════════════
   LUCAS GIRON — Creative Motion Director
   ═══════════════════════════════════════════════ */

/* As cores abaixo são o padrão — o painel (/admin) sobrescreve em tempo de execução. */
:root{
  --ink:      #08080A;
  --ink-2:    #0E0E11;
  --ink-3:    #16161A;
  --paper:    #F2F0EA;
  --hi:       #FFFFFF;
  --flare:    #FF3B00;
  --flare-s:  #FF6B3D;
  --on-flare: #FFFFFF;
  --live:     #4ADE80;
  --ink-rgb:   8,8,10;
  --paper-rgb: 242,240,234;
  --flare-rgb: 255,59,0;
  --line:     rgba(var(--paper-rgb),.14);
  --paper-d:  rgba(var(--paper-rgb),.55);
  --paper-dd: rgba(var(--paper-rgb),.34);

  --pad: clamp(1.25rem, 4vw, 5rem);
  --ease: cubic-bezier(.22,1,.36,1);
  --ease-io: cubic-bezier(.76,0,.24,1);

  --f-disp: 'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --f-mono: 'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0 }

html{ scroll-behavior:smooth; -webkit-text-size-adjust:100% }
html.is-locked{ overflow:hidden }

body{
  background:var(--ink);
  color:var(--paper);
  font-family:var(--f-disp);
  font-variation-settings:'wdth' 100,'wght' 400;
  font-size:clamp(.95rem,.9rem + .25vw,1.075rem);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{ display:block; max-width:100%; height:auto }
a{ color:inherit; text-decoration:none }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer }
::selection{ background:var(--flare); color:var(--on-flare) }

.mono{
  font-family:var(--f-mono);
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
}
.muted{ color:var(--paper-dd) }
em{ font-style:italic; color:var(--flare-s) }
strong{ font-variation-settings:'wdth' 100,'wght' 700; color:var(--hi) }

/* ── scrollbar ── */
::-webkit-scrollbar{ width:9px }
::-webkit-scrollbar-track{ background:var(--ink) }
::-webkit-scrollbar-thumb{ background:rgba(var(--paper-rgb),.16); border-radius:9px }
::-webkit-scrollbar-thumb:hover{ background:var(--flare) }

/* ═══════ TEXTURAS GLOBAIS ═══════ */
.fx-grain{
  position:fixed; inset:-150%; z-index:9000; pointer-events:none;
  opacity:.055; will-change:transform;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 700ms steps(1) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)}      20%{transform:translate(-3%,2%)}
  40%{transform:translate(2%,-3%)}  60%{transform:translate(-2%,-2%)}
  80%{transform:translate(3%,1%)}   100%{transform:translate(0,0)}
}
.fx-scan{
  position:fixed; inset:0; z-index:8999; pointer-events:none; opacity:.35;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.22) 2px 3px);
  mix-blend-mode:multiply;
}
.fx-vignette{
  position:fixed; inset:0; z-index:8998; pointer-events:none;
  background:radial-gradient(120% 90% at 50% 45%,transparent 42%,rgba(0,0,0,.65) 100%);
}

/* ═══════ PRELOADER ═══════ */
.loader{
  position:fixed; inset:0; z-index:10000;
  display:grid; place-items:center; background:var(--ink);
}
.loader__bars{ position:absolute; inset:0; display:flex }
.loader__bars i{ flex:1; background:var(--ink); transform-origin:top }
.loader__inner{ position:relative; z-index:2; text-align:center; width:min(78vw,420px) }
.loader__label{ color:var(--paper-dd); margin-bottom:1.1rem }
.loader__count{
  font-variation-settings:'wdth' 118,'wght' 800;
  font-size:clamp(4rem,15vw,9rem); line-height:.85; letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
}
.loader__track{ height:2px; background:var(--line); margin-top:1.4rem; overflow:hidden }
.loader__track span{ display:block; height:100%; width:0; background:var(--flare) }
.loader.is-out .loader__inner{ opacity:0; transition:opacity .3s ease }
.loader.is-out .loader__bars i{ animation:barUp .85s var(--ease-io) forwards }
@keyframes barUp{ to{ transform:scaleY(0) } }
.loader.is-done{ pointer-events:none; visibility:hidden }

/* ═══════ CURSOR ═══════ */
.cursor{ position:fixed; top:0; left:0; z-index:9500; pointer-events:none; display:none }
@media (pointer:fine){ .cursor{ display:block } body.has-cursor{ cursor:none } }
.cursor__dot{
  position:absolute; width:6px; height:6px; border-radius:50%; background:var(--flare);
  transform:translate(-50%,-50%);
}
.cursor__ring{
  position:absolute; width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(var(--paper-rgb),.45);
  transform:translate(-50%,-50%) scale(1);
  display:grid; place-items:center;
  transition:width .4s var(--ease),height .4s var(--ease),background .4s var(--ease),border-color .4s var(--ease);
}
.cursor__text{
  font-size:.58rem; opacity:0; color:var(--on-flare); transition:opacity .25s ease .05s;
  font-family:var(--f-mono); letter-spacing:.12em;
}
.cursor.is-play .cursor__ring{ width:88px; height:88px; background:var(--flare); border-color:var(--flare) }
.cursor.is-play .cursor__text{ opacity:1 }
.cursor.is-play .cursor__dot{ opacity:0 }
.cursor.is-link .cursor__ring{ width:56px; height:56px; background:rgba(var(--paper-rgb),.1); border-color:transparent }

/* ═══════ PROGRESSO ═══════ */
.progress{ position:fixed; top:0; left:0; right:0; height:2px; z-index:8000; background:transparent }
.progress span{ display:block; height:100%; width:0; background:var(--flare); box-shadow:0 0 14px var(--flare) }

/* ═══════ NAV ═══════ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:7000;
  display:flex; align-items:center; gap:2rem;
  padding:1.15rem var(--pad);
  transition:transform .5s var(--ease),background .4s ease,backdrop-filter .4s ease,border-color .4s ease;
  border-bottom:1px solid transparent;
}
.nav.is-stuck{
  background:rgba(var(--ink-rgb),.72); backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--line);
}
.nav.is-hidden{ transform:translateY(-105%) }
.nav__logo{ display:flex; align-items:center; gap:.65rem; margin-right:auto }
.nav__mark{
  display:grid; place-items:center; width:30px; height:30px;
  background:var(--flare); color:var(--on-flare);
  font-variation-settings:'wdth' 112,'wght' 800; font-size:.82rem; letter-spacing:-.02em;
}
.nav__logotext{ color:var(--paper) }
@media (max-width:860px){ .nav__logotext{ display:none } }

.nav__menu{ display:flex; gap:1.9rem }
.nav__link{ position:relative; padding:.25rem 0; color:var(--paper-d); transition:color .3s }
.nav__link::after{
  content:''; position:absolute; left:0; bottom:0; width:100%; height:1px;
  background:var(--flare); transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--ease);
}
.nav__link:hover{ color:var(--paper) }
.nav__link:hover::after{ transform:scaleX(1); transform-origin:left }

.nav__reel{
  display:flex; align-items:center; gap:.55rem;
  padding:.6rem 1.1rem; border:1px solid var(--line); border-radius:999px;
  transition:background .35s var(--ease),border-color .35s,color .35s;
}
.nav__reel:hover{ background:var(--flare); border-color:var(--flare); color:var(--on-flare) }
.nav__reeldot{ width:6px; height:6px; border-radius:50%; background:var(--flare); animation:pulse 1.8s infinite }
.nav__reel:hover .nav__reeldot{ background:var(--on-flare) }
@keyframes pulse{ 0%,100%{ opacity:1; transform:scale(1) } 50%{ opacity:.35; transform:scale(.75) } }

.nav__burger{ display:none; width:34px; height:22px; position:relative }
.nav__burger i{
  position:absolute; left:0; width:100%; height:1.5px; background:var(--paper);
  transition:transform .45s var(--ease),opacity .3s;
}
.nav__burger i:nth-child(1){ top:6px } .nav__burger i:nth-child(2){ bottom:6px }
.nav__burger.is-on i:nth-child(1){ transform:translateY(5px) rotate(45deg) }
.nav__burger.is-on i:nth-child(2){ transform:translateY(-5px) rotate(-45deg) }

@media (max-width:860px){
  .nav__menu,.nav__reel{ display:none }
  .nav__burger{ display:block }
}

/* ═══════ DRAWER ═══════ */
.drawer{
  position:fixed; inset:0; z-index:6900; background:var(--ink-2);
  display:flex; flex-direction:column; justify-content:center; gap:.5rem;
  padding:0 var(--pad);
  clip-path:inset(0 0 100% 0); transition:clip-path .7s var(--ease-io);
  pointer-events:none;
}
.drawer.is-open{ clip-path:inset(0 0 0 0); pointer-events:auto }
.drawer__link{
  font-variation-settings:'wdth' 112,'wght' 800;
  font-size:clamp(2.4rem,12vw,4rem); line-height:1.05; letter-spacing:-.03em;
  border-bottom:1px solid var(--line); padding:.5rem 0;
}
.drawer__link:active{ color:var(--flare) }
.drawer__foot{ display:flex; gap:1.5rem; margin-top:2.5rem; color:var(--paper-dd) }

/* ═══════ HERO ═══════ */
.hero{
  position:relative; min-height:100svh; display:flex; flex-direction:column;
  justify-content:flex-end; padding:9rem var(--pad) 1.4rem; overflow:hidden;
}
.hero__reel{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center;
  gap:1.2rem; opacity:.17; filter:blur(1.5px) grayscale(1) contrast(1.15);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.hero__reelrow{ display:flex; gap:1.2rem; width:max-content; will-change:transform }
.hero__reelrow img{ width:clamp(180px,20vw,300px); aspect-ratio:16/9; object-fit:cover }
.hero__glow{
  position:absolute; width:60vmax; height:60vmax; left:0; top:0; pointer-events:none;
  background:radial-gradient(circle,rgba(var(--flare-rgb),.19),transparent 62%);
  transform:translate(-50%,-50%); will-change:transform; transition:opacity .6s;
}
.hero__inner{ position:relative; z-index:2; width:100% }

.hero__eyebrow{
  display:flex; align-items:center; gap:.7rem; flex-wrap:wrap;
  color:var(--paper-d); margin-bottom:clamp(1rem,3vw,2rem);
  opacity:0; transform:translateY(14px);
}
.is-ready .hero__eyebrow{ opacity:1; transform:none; transition:opacity .8s ease .15s,transform .8s var(--ease) .15s }
.hero__eyebrow .dot{ width:7px; height:7px; background:var(--flare); border-radius:50% }
.hero__eyebrow .sep{ color:var(--flare) }

.hero__title{
  font-variation-settings:'wdth' 118,'wght' 800;
  font-size:clamp(3.6rem,15.5vw,15rem);
  line-height:.83; letter-spacing:-.045em; text-transform:uppercase;
}
.hero__title .line{ display:block }
.hero__title .line--2{
  color:transparent; -webkit-text-stroke:1.5px var(--paper);
  transition:color .6s var(--ease);
}
.hero__title .line--2:hover{ color:var(--flare); -webkit-text-stroke-color:var(--flare) }

/* split de letras */
[data-split] .ch{ display:inline-block; overflow:hidden; vertical-align:bottom }
[data-split] .ch > span{
  display:inline-block; transform:translateY(105%) rotate(6deg);
  transition:transform 1.05s var(--ease) var(--d,0s);
}
.is-ready [data-split] .ch > span,
[data-split].is-in .ch > span{ transform:translateY(0) rotate(0) }

.hero__rotator{
  display:flex; align-items:baseline; gap:1rem; margin:clamp(1.2rem,3vw,2.2rem) 0;
  color:var(--paper-d);
}
.rot{
  font-family:var(--f-mono); font-size:.72rem; line-height:1.6;
  height:1.6em; overflow:hidden; position:relative;
}
.rot span{
  display:block; height:1.6em; letter-spacing:.16em;
  color:var(--flare); text-transform:uppercase; white-space:nowrap;
  transition:transform .75s var(--ease-io);
}

.hero__grid{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem 3rem;
  align-items:end; border-top:1px solid var(--line); padding-top:1.6rem;
}
.hero__lede{ max-width:46ch; color:var(--paper-d); font-size:clamp(.95rem,.9rem + .3vw,1.15rem) }
.hero__actions{ display:flex; gap:.7rem; flex-wrap:wrap }
@media (max-width:760px){ .hero__grid{ grid-template-columns:1fr } }

.btn{
  position:relative; display:inline-flex; align-items:center; gap:.65rem;
  padding:.95rem 1.5rem; border-radius:999px; overflow:hidden;
  font-family:var(--f-mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase;
  border:1px solid var(--line); white-space:nowrap;
}
.btn > *{ position:relative; z-index:2 }
.btn::before{
  content:''; position:absolute; inset:0; background:var(--flare); z-index:1;
  transform:translateY(101%); transition:transform .55s var(--ease-io);
}
.btn:hover::before{ transform:translateY(0) }
.btn:hover{ color:var(--on-flare); border-color:var(--flare) }
.btn--flare{ background:var(--flare); border-color:var(--flare); color:var(--on-flare) }
.btn--flare::before{ background:var(--paper) }
.btn--flare:hover{ color:var(--ink) }
.btn__ico{ font-size:.6rem }

.hero__foot{
  position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding-top:1.6rem; color:var(--paper-dd); flex-wrap:wrap;
}
.live{ display:inline-flex; align-items:center; gap:.5rem; color:var(--paper-d) }
.live i{ width:7px; height:7px; border-radius:50%; background:var(--live); box-shadow:0 0 10px var(--live); animation:pulse 2s infinite }
.hero__scroll{ display:flex; align-items:center; gap:.6rem; font-family:var(--f-mono); font-size:.62rem; letter-spacing:.2em }
.hero__scroll i{ width:34px; height:1px; background:var(--paper-dd); position:relative; overflow:hidden }
.hero__scroll i::after{ content:''; position:absolute; inset:0; background:var(--flare); animation:slide 2.2s var(--ease-io) infinite }
@keyframes slide{ 0%{ transform:translateX(-100%) } 60%,100%{ transform:translateX(100%) } }
@media (max-width:640px){ .hero__scroll{ display:none } }

/* ═══════ TICKER ═══════ */
.ticker{
  border-block:1px solid var(--line); overflow:hidden; padding:1.1rem 0;
  background:var(--ink-2);
}
.ticker__track{
  display:flex; align-items:center; gap:2.2rem; width:max-content;
  animation:march 34s linear infinite;
}
.ticker span{
  font-variation-settings:'wdth' 108,'wght' 700;
  font-size:clamp(1.3rem,3.4vw,2.4rem); text-transform:uppercase; letter-spacing:-.02em;
  color:transparent; -webkit-text-stroke:1px rgba(var(--paper-rgb),.42);
  transition:color .3s,-webkit-text-stroke-color .3s;
}
.ticker span:hover{ color:var(--flare); -webkit-text-stroke-color:var(--flare) }
.ticker i{ color:var(--flare); font-size:.75rem; font-style:normal }
@keyframes march{ to{ transform:translateX(-50%) } }
.ticker:hover .ticker__track{ animation-play-state:paused }

/* ═══════ CABEÇALHO DE SEÇÃO ═══════ */
.sec-head{
  display:flex; justify-content:space-between; align-items:flex-end; gap:2.5rem;
  padding:clamp(4.5rem,10vw,9rem) var(--pad) clamp(2rem,4vw,3.5rem);
  flex-wrap:wrap;
}
.sec-head__l{ display:flex; gap:1.2rem; align-items:flex-start }
.sec-num{ color:var(--flare); padding-top:.6rem }
.sec-title{
  font-variation-settings:'wdth' 116,'wght' 800;
  font-size:clamp(2.2rem,7vw,5.4rem); line-height:.9; letter-spacing:-.04em; text-transform:uppercase;
  white-space:pre-line;
}
.sec-head__r{ display:flex; flex-direction:column; gap:1rem; align-items:flex-start }

.filters{ display:flex; gap:.45rem; flex-wrap:wrap }
.filter{
  padding:.5rem 1rem; border:1px solid var(--line); border-radius:999px;
  color:var(--paper-dd); transition:all .35s var(--ease);
}
.filter sup{ font-size:.55em; opacity:.7; margin-left:.25em }
.filter:hover{ color:var(--paper); border-color:var(--paper-dd) }
.filter.is-on{ background:var(--paper); color:var(--ink); border-color:var(--paper) }

/* ═══════ GRID DE TRABALHOS ═══════ */
.grid{
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:clamp(1.5rem,3vw,3.2rem) clamp(1rem,2vw,2rem);
  padding:0 var(--pad) clamp(4rem,8vw,7rem);
}
@media (max-width:1000px){ .grid{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:600px){ .grid{ grid-template-columns:1fr } }

.cardwrap{ min-width:0 }
@media (min-width:1001px){ .cardwrap:nth-child(3n+2){ margin-top:5.5rem } }

.card{
  display:block; width:100%; text-align:left;
  opacity:0; transform:translateY(48px);
  transition:opacity .9s var(--ease),transform .9s var(--ease);
}
.card.is-in{ opacity:1; transform:none }
.card.is-hidden{ display:none }

.card__media{
  position:relative; overflow:hidden; background:var(--ink-3);
  aspect-ratio:16/9;
}
.card__img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.02); filter:grayscale(1) contrast(1.06) brightness(.82);
  transition:transform 1.1s var(--ease),filter .7s var(--ease);
}
.card:hover .card__img{ transform:scale(1.09); filter:grayscale(0) contrast(1) brightness(1) }

/* RGB split no hover */
.card__media::before,.card__media::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:inherit; opacity:0; mix-blend-mode:screen;
  transition:opacity .3s;
}
.card__glitch{
  position:absolute; inset:0; pointer-events:none; opacity:0;
  background:linear-gradient(90deg,rgba(255,0,60,.35),transparent 30%,transparent 70%,rgba(0,225,255,.35));
  mix-blend-mode:screen; transition:opacity .35s;
}
.card:hover .card__glitch{ opacity:1; animation:jitter .35s steps(2) 2 }
@keyframes jitter{ 0%{transform:translateX(0)} 50%{transform:translateX(4px)} 100%{transform:translateX(0)} }

.card__scan{
  position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.16) 3px 4px);
  opacity:.5; transition:opacity .4s;
}
.card:hover .card__scan{ opacity:.15 }

.card__bar{
  position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--flare);
  transform:scaleX(0); transform-origin:left; transition:transform .7s var(--ease-io);
}
.card:hover .card__bar{ transform:scaleX(1) }

.card__tag{
  position:absolute; top:.75rem; left:.75rem; z-index:3;
  padding:.28rem .6rem; background:rgba(var(--ink-rgb),.72); backdrop-filter:blur(6px);
  font-family:var(--f-mono); font-size:.58rem; letter-spacing:.14em; text-transform:uppercase;
  border:1px solid var(--line);
}
.card__dur{
  position:absolute; bottom:.75rem; right:.75rem; z-index:3;
  padding:.24rem .5rem; background:rgba(var(--ink-rgb),.72); backdrop-filter:blur(6px);
  font-family:var(--f-mono); font-size:.58rem; letter-spacing:.1em;
  font-variant-numeric:tabular-nums;
  transform:translateY(6px); opacity:0; transition:all .4s var(--ease);
}
.card:hover .card__dur{ transform:none; opacity:1 }

.card__meta{
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  padding-top:.95rem; border-top:1px solid var(--line); margin-top:.95rem;
}
.card__t{
  font-variation-settings:'wdth' 104,'wght' 600;
  font-size:clamp(1rem,1.6vw,1.22rem); line-height:1.22; letter-spacing:-.015em;
  transition:color .35s;
}
.card:hover .card__t{ color:var(--flare) }
.card__y{ font-family:var(--f-mono); font-size:.66rem; color:var(--paper-dd); letter-spacing:.1em }
.card__d{ padding-top:.4rem; font-size:.86rem; color:var(--paper-dd); line-height:1.5 }

/* ═══════ SOBRE ═══════ */
.about{ border-top:1px solid var(--line) }
.about__body{
  display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2.5rem,6vw,6rem);
  padding:0 var(--pad) clamp(5rem,9vw,8rem);
}
@media (max-width:940px){ .about__body{ grid-template-columns:1fr } }

.about__col--text p{ margin-bottom:1.4rem; color:var(--paper-d); max-width:56ch }
.about__big{
  font-size:clamp(1.25rem,2.6vw,1.85rem) !important; line-height:1.42;
  color:var(--paper) !important; font-variation-settings:'wdth' 100,'wght' 400;
  letter-spacing:-.015em;
}
.about__sign{
  font-family:var(--f-mono); font-size:1.4rem; color:var(--flare);
  transform:rotate(-4deg); display:inline-block; margin-top:1rem; opacity:.9;
}

[data-reveal]{ opacity:0; transform:translateY(30px); transition:opacity .9s var(--ease),transform .9s var(--ease) }
[data-reveal].is-in{ opacity:1; transform:none }

.stats{ display:grid; gap:1px; background:var(--line); border:1px solid var(--line); margin-bottom:2.5rem }
.stat{ background:var(--ink); padding:1.4rem 1.3rem }
.stat__n{
  display:block; font-variation-settings:'wdth' 116,'wght' 800;
  font-size:clamp(2.6rem,6vw,4rem); line-height:.9; letter-spacing:-.045em; color:var(--flare);
  font-variant-numeric:tabular-nums;
}
.stat__l{ display:block; color:var(--paper-dd); margin-top:.5rem }

.kit{ margin-bottom:2.2rem }
.kit__t{ color:var(--flare); padding-bottom:.8rem; border-bottom:1px solid var(--line) }
.kit__list{ list-style:none }
.kit__list li{
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.75rem 0; border-bottom:1px solid var(--line);
  transition:padding-left .4s var(--ease),color .3s;
}
.kit__list li:hover{ padding-left:.7rem; color:var(--hi) }
.kit__list li span{ font-size:.98rem }
.kit__list li b{
  font-family:var(--f-mono); font-size:.62rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--paper-dd); font-weight:400;
}

/* ═══════ CLIENTES ═══════ */
.clients{ border-block:1px solid var(--line); padding:clamp(2.5rem,5vw,4rem) 0; overflow:hidden }
.clients__label{ text-align:center; color:var(--paper-dd); margin-bottom:1.8rem }
.marquee{ overflow:hidden }
.marquee__track{ display:flex; gap:3.5rem; width:max-content; animation:march 30s linear infinite }
.marquee__track span{
  font-variation-settings:'wdth' 96,'wght' 700;
  font-size:clamp(1.05rem,2.3vw,1.7rem); white-space:nowrap;
  color:var(--paper-dd); transition:color .3s;
}
.marquee__track span:hover{ color:var(--flare) }

/* ═══════ CONTATO ═══════ */
.contact{
  position:relative; overflow:hidden; text-align:center;
  padding:clamp(5rem,12vw,10rem) var(--pad) clamp(4rem,8vw,7rem);
}
.contact__bg{
  position:absolute; left:50%; bottom:-40%; width:110vmax; height:80vmax; transform:translateX(-50%);
  background:radial-gradient(circle at 50% 100%,rgba(var(--flare-rgb),.28),transparent 55%);
  pointer-events:none;
}
.contact > *{ position:relative; z-index:2 }
.contact .sec-num{ display:block; margin-bottom:1.5rem }
.contact__kicker{ color:var(--paper-d); margin-bottom:1.4rem }
.contact__title{
  font-variation-settings:'wdth' 120,'wght' 800;
  font-size:clamp(3rem,15vw,13rem); line-height:.84; letter-spacing:-.05em; text-transform:uppercase;
}
.contact__title .line{ display:block }
.contact__title .line--out{ color:transparent; -webkit-text-stroke:1.5px var(--flare) }
.contact__row{ margin:clamp(2rem,5vw,3.5rem) 0 2rem }
.contact__mail{
  position:relative; display:inline-block;
  font-variation-settings:'wdth' 100,'wght' 500;
  font-size:clamp(1.1rem,3.6vw,2.1rem); letter-spacing:-.02em;
  padding-bottom:.35rem; border-bottom:1px solid var(--line);
  transition:color .35s,border-color .35s;
  word-break:break-word;
}
.contact__mail:hover{ color:var(--flare); border-color:var(--flare) }

.contact__links{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap }
.clink{
  display:flex; flex-direction:column; gap:.3rem; align-items:center;
  padding:1.1rem 2rem; border:1px solid var(--line); border-radius:4px; min-width:190px;
  transition:background .4s var(--ease),border-color .4s,transform .4s var(--ease);
}
.clink:hover{ background:var(--ink-3); border-color:var(--paper-dd); transform:translateY(-4px) }
.clink__t{ font-variation-settings:'wdth' 104,'wght' 600; font-size:1.1rem }
.clink__h{ color:var(--paper-dd) }
.clink:hover .clink__h{ color:var(--flare) }

/* ═══════ FOOT ═══════ */
.foot{
  display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
  padding:1.6rem var(--pad); border-top:1px solid var(--line); color:var(--paper-dd);
}
.foot__top{ transition:color .3s } .foot__top:hover{ color:var(--flare) }

/* ═══════ MODAL ═══════ */
.modal{
  position:fixed; inset:0; z-index:9800; display:grid; place-items:center;
  padding:var(--pad); background:rgba(var(--ink-rgb),.92); backdrop-filter:blur(10px);
  opacity:0; pointer-events:none; transition:opacity .45s var(--ease);
}
.modal.is-open{ opacity:1; pointer-events:auto }
.modal__stage{ width:min(1180px,100%); transform:scale(.96); transition:transform .55s var(--ease) }
.modal.is-open .modal__stage{ transform:none }
.modal__head{
  display:flex; justify-content:space-between; gap:1rem; padding-bottom:.75rem;
  border-bottom:1px solid var(--line); margin-bottom:.9rem;
}
.modal__frame{ position:relative; aspect-ratio:16/9; background:#000; border:1px solid var(--line) }
.modal__frame iframe{ position:absolute; inset:0; width:100%; height:100%; border:0 }
.modal__close{
  position:absolute; top:1.2rem; right:var(--pad); width:44px; height:44px;
  border:1px solid var(--line); border-radius:50%; display:grid; place-items:center;
  transition:background .35s,border-color .35s,transform .35s;
}
.modal__close:hover{ background:var(--flare); border-color:var(--flare); transform:rotate(90deg) }
.modal__close span{ position:absolute; width:16px; height:1.5px; background:var(--paper) }
.modal__close span:first-child{ transform:rotate(45deg) }
.modal__close span:last-child{ transform:rotate(-45deg) }

/* ═══════ MENU (links vêm do painel) ═══════ */
.drawer__links{ display:flex; flex-direction:column; gap:.5rem }

/* ═══════ SEÇÕES CRIADAS NO PAINEL ═══════ */
.xsec{ border-top:1px solid var(--line) }

.xtext{ display:grid; gap:clamp(2rem,5vw,5rem); padding:0 var(--pad) clamp(4rem,8vw,7rem) }
.xtext.has-img{ grid-template-columns:1.1fr .9fr; align-items:start }
.xtext.has-img.is-left .xtext__img{ order:-1 }
@media (max-width:900px){
  .xtext.has-img{ grid-template-columns:1fr }
  .xtext.has-img.is-left .xtext__img{ order:0 }
}
.xtext__body p{ margin-bottom:1.3rem; color:var(--paper-d); max-width:62ch }
.xtext__body p:first-child{
  color:var(--paper); font-size:clamp(1.2rem,2.2vw,1.65rem); line-height:1.42; letter-spacing:-.01em;
}
.xtext__img img{ width:100%; aspect-ratio:4/3; object-fit:cover }

.xgal{
  display:grid; grid-template-columns:repeat(var(--cols,3),1fr); gap:clamp(.8rem,1.6vw,1.4rem);
  padding:0 var(--pad) clamp(4rem,8vw,7rem);
}
@media (max-width:900px){ .xgal{ grid-template-columns:repeat(2,1fr) } }
@media (max-width:560px){ .xgal{ grid-template-columns:1fr } }
.xgal__btn{ display:block; width:100%; overflow:hidden; background:var(--ink-3) }
.xgal__btn img{
  width:100%; aspect-ratio:4/3; object-fit:cover;
  filter:grayscale(1) brightness(.85); transition:transform 1s var(--ease),filter .6s var(--ease);
}
.xgal__btn:hover img{ transform:scale(1.06); filter:none }
.xgal figcaption{ padding-top:.6rem }

.xvid{ padding:0 var(--pad) clamp(4rem,8vw,7rem) }
.xvid__btn{ position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; background:var(--ink-3) }
.xvid__btn img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease) }
.xvid__btn:hover img{ transform:scale(1.04) }
.xvid__play{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  padding:1.1rem 1.8rem; border-radius:999px; background:var(--flare); color:var(--on-flare); font-size:.75rem;
}
.xvid__btn:disabled{ cursor:default }
.xvid__btn:disabled .xvid__play{ display:none }

.xcards{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1px;
  background:var(--line); border-block:1px solid var(--line); margin:0 var(--pad) clamp(4rem,8vw,7rem);
}
.xcard{ background:var(--ink); padding:clamp(1.4rem,2.5vw,2.2rem) }
.xcard__n{ color:var(--flare) }
.xcard__t{
  font-variation-settings:'wdth' 108,'wght' 700; font-size:clamp(1.15rem,1.8vw,1.45rem);
  line-height:1.2; margin:.9rem 0 .6rem; letter-spacing:-.015em;
}
.xcard__d{ color:var(--paper-d); font-size:.95rem }

.xcta{ text-align:center; padding:clamp(5rem,10vw,9rem) var(--pad) }
.xcta__k{ color:var(--paper-d); margin-bottom:1.2rem }
.xcta__t{
  font-variation-settings:'wdth' 118,'wght' 800; font-size:clamp(2.4rem,8vw,6.5rem);
  line-height:.9; letter-spacing:-.04em; text-transform:uppercase;
}
.xcta__p{ color:var(--paper-d); max-width:52ch; margin:1.4rem auto 0 }
.xcta .btn{ margin-top:2rem }

.modal__frame img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#000 }

/* ═══════ VÍDEO NATIVO ═══════ */
.modal__frame video{ position:absolute; inset:0; width:100%; height:100%; background:#000; object-fit:contain }
.card__vid{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .5s var(--ease); pointer-events:none;
}
.card__vid.is-on{ opacity:1 }

/* ═══════ EFEITOS DESLIGÁVEIS (painel) ═══════ */
body.no-grain .fx-grain,
body.no-scan .fx-scan,
body.no-vignette .fx-vignette{ display:none }
[hidden]{ display:none !important }

/* ═══════ PRÉ-VISUALIZAÇÃO ═══════ */
.preview-badge{
  position:fixed; left:50%; bottom:1rem; transform:translateX(-50%); z-index:9900;
  padding:.55rem 1rem; border-radius:999px; background:var(--flare); color:var(--on-flare);
  box-shadow:0 8px 30px rgba(0,0,0,.4); pointer-events:none; white-space:nowrap;
}

/* ═══════ ACESSIBILIDADE ═══════ */
:focus-visible{ outline:2px solid var(--flare); outline-offset:3px }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
  .fx-grain,.fx-scan{ display:none }
  [data-reveal],.card,.hero__eyebrow{ opacity:1 !important; transform:none !important }
  [data-split] .ch > span{ transform:none !important }
  .cardwrap{ margin-top:0 !important }
}
