/* ============================================================
   DANILO LINS — portfólio v4 (design "Avaliação completa de página")
   ============================================================ */
:root{
  --bg:#08080A;--ink:#F2EFE9;--red:#E4322B;--red-d:#C0241C;
  --mute:#9C978F;--soft:#C9C4BC;--soft2:#E6E1D9;
  --p1:#0E0E10;--p2:#141416;--p3:#111113;--p4:#18181b;
  --l1:#1d1d20;--l2:#2a2a2e;--l3:#3a3a3e;
  --px:clamp(18px,4vw,56px);--max:1560px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --anton:Anton,Impact,'Arial Narrow',sans-serif;
  --archivo:Archivo,system-ui,-apple-system,'Segoe UI',sans-serif;
  --script:'Ms Madi',cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--archivo);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink);text-decoration:none;transition:color .25s}
a:hover{color:var(--red)}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
img{display:block;max-width:100%}
picture{display:contents}
::selection{background:var(--red);color:var(--bg)}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--red);color:var(--bg);padding:12px 16px;font:700 12px/1 var(--archivo);letter-spacing:.14em;text-transform:uppercase;transition:top .2s}
.skip:focus{top:12px;color:var(--bg)}
.micro{font:600 11px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase}
.fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--px)}
body.lock{overflow:hidden}

/* ---------- cabeçalho ---------- */
.hd{position:fixed;top:0;left:0;right:0;z-index:50}
.hd-bg{position:absolute;inset:0;background:rgba(8,8,10,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--l1);opacity:0;transition:opacity .35s}
.hd.is-solid .hd-bg{opacity:1}
.hd-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px var(--px)}
.brand{display:flex;align-items:center;gap:14px}
.brand:hover{color:var(--ink)}
.brand-mark{width:40px;height:40px;background:var(--red);color:var(--bg);display:grid;place-items:center;font:400 20px/1 var(--anton);letter-spacing:.02em}
.brand-txt{display:flex;flex-direction:column;gap:3px}
.brand-name{font:400 17px/1 var(--anton);letter-spacing:.06em;color:var(--ink)}
.brand-sub{font:600 10px/1 var(--archivo);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.nav{display:flex;align-items:center;gap:30px}
.nav-a{display:flex;align-items:center;gap:8px;font:600 11px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase}
.nav-a .n{color:var(--mute)}
.nav-a .dot{width:6px;height:6px;border-radius:50%;background:var(--red);display:none}
.nav-a.is-active .dot{display:block}
.pill{display:flex;align-items:center;gap:10px;height:40px;padding:0 16px;border:1px solid var(--l3);border-radius:40px;font:600 11px/1 var(--archivo);letter-spacing:.12em;text-transform:uppercase;transition:border-color .25s,color .25s}
.pill:hover{border-color:var(--red)}
.menu-btn{height:44px;padding:0 18px;border:1px solid var(--l3);border-radius:44px;display:flex;align-items:center;gap:10px;font:600 11px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase}
.menu-btn .bars{display:flex;flex-direction:column;gap:4px}
.menu-btn .bars i{display:block;width:16px;height:1.5px;background:var(--ink)}
.menu-btn .bars i+i{background:var(--red)}
.progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--red);transform-origin:left;transform:scaleX(0)}
@media (min-width:900px){.menu-btn{display:none}}
@media (max-width:899.98px){.nav{display:none}}

.mmenu{position:fixed;inset:0;z-index:45;background:var(--bg);padding:110px 24px 32px;display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto}
.mmenu nav{display:flex;flex-direction:column;gap:6px}
.mmenu nav a{display:flex;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid var(--l1);font:400 clamp(44px,13vw,72px)/1 var(--anton);text-transform:uppercase}
.mmenu nav a span{font:600 12px/1 var(--archivo);letter-spacing:.16em;color:var(--red)}
.mmenu-ig{font:600 12px/1.5 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.mmenu-ig b{color:var(--ink)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--p1)}
.hero-par{position:absolute;inset:0;will-change:transform}
.hero-media{position:absolute;inset:0}
.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.05)}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.55) 0%,rgba(8,8,10,0) 28%,rgba(8,8,10,.15) 55%,var(--bg) 100%)}
.hero-in{position:relative;padding:0 var(--px) clamp(28px,5vh,56px);display:flex;flex-direction:column;gap:clamp(16px,2.4vw,28px)}
.hero-tag{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;font:600 11px/1.4 var(--archivo);letter-spacing:.18em;text-transform:uppercase}
.hero-tag .k{display:flex;align-items:center;gap:10px}
.hero-tag .k::before{content:"";width:8px;height:8px;background:var(--red)}
.hero-tag .v{color:var(--soft)}
.hero-h1{margin:0;font:400 clamp(64px,16.6vw,340px)/.82 var(--anton);letter-spacing:-.005em;text-transform:uppercase;white-space:nowrap;display:flex;overflow:hidden;padding-top:.06em}
.hero-h1 .l{display:inline-block}
.hero-h1 .sp{display:inline-block;width:.22em}
.hero-h1 .r{color:var(--red)}
.hero-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid rgba(242,239,233,.22);padding-top:18px}
.hero-sig{margin:0;font:400 clamp(34px,4vw,56px)/1 var(--script)}
.hero-meta{display:flex;flex-wrap:wrap;gap:10px 28px;font:600 11px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--soft)}
.hero-meta span,.hero-meta a{display:flex;align-items:center;gap:8px}
.hero-meta a{gap:10px;color:var(--ink)}
.cue{display:block;width:1px;height:26px;background:var(--ink);overflow:hidden;position:relative}
.cue i{position:absolute;left:0;top:0;width:1px;height:10px;background:var(--red)}

/* ---------- faixa ---------- */
.marq{background:var(--red);color:var(--bg);overflow:hidden;padding:16px 0;border-top:1px solid var(--bg)}
.marq-tr{display:flex;width:max-content;font:400 clamp(22px,2.4vw,34px)/1 var(--anton);text-transform:uppercase;letter-spacing:.02em}
.marq-tr span{display:flex;align-items:center;gap:28px;padding-right:28px;white-space:nowrap}
.marq-tr em{font-style:normal;font-size:.7em}

/* ---------- cabeçalho de seção ---------- */
.eyebrow{display:flex;align-items:center;gap:18px;font:600 11px/1 var(--archivo);letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.eyebrow .n{font:400 15px/1 var(--anton);letter-spacing:.04em;color:var(--red)}
.eyebrow .ln{flex:1;height:1px;background:var(--l2);transform-origin:left}
.h2{margin:0;font:400 clamp(64px,11vw,190px)/.84 var(--anton);text-transform:uppercase}
.stroke{color:transparent;-webkit-text-stroke:1.5px var(--ink)}

/* ---------- 01 sobre ---------- */
.sobre{padding:clamp(90px,12vw,170px) var(--px);max-width:var(--max);margin:0 auto}
.sobre-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:clamp(40px,6vw,96px);margin-top:clamp(40px,5vw,72px);align-items:start}
.por{display:flex;flex-direction:column;gap:14px}
.por-main{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--p2)}
.por-open{position:absolute;inset:0;cursor:zoom-in;display:block;width:100%}
.por-open img{object-position:50% 25%}
.curtain{position:absolute;inset:0;background:var(--red);transform:scaleX(0);pointer-events:none}
.por-num{position:absolute;left:16px;bottom:14px;font:400 64px/1 var(--anton);color:var(--ink);mix-blend-mode:difference;pointer-events:none}
.zoom-tag{position:absolute;right:16px;top:16px;display:flex;align-items:center;gap:8px;font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;background:rgba(8,8,10,.7);padding:8px 10px;pointer-events:none}
.por-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.por-t{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--p2)}
.por-t img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .6s var(--ease)}
.por-t:hover img{transform:scale(1.06)}
.por-t::after{content:"";position:absolute;inset:0;background:rgba(8,8,10,.55);transition:opacity .3s}
.por-t[aria-pressed="true"]::after{background:none;box-shadow:inset 0 0 0 2px var(--red)}
.por-t .n{position:absolute;left:6px;bottom:5px;z-index:1;font:600 9px/1 var(--archivo);letter-spacing:.1em}
.por-cap{margin:0;font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.sobre-txt{display:flex;flex-direction:column;gap:clamp(28px,3vw,44px)}
.sobre-h2{margin:0;font:400 clamp(64px,9vw,150px)/.86 var(--anton);text-transform:uppercase}
.lead{margin:0;font:500 clamp(22px,2.2vw,34px)/1.28 var(--archivo);letter-spacing:-.01em;text-wrap:pretty}
.lead em{font-style:normal;color:var(--red)}
.body{margin:0;max-width:62ch;font:400 17px/1.7 var(--archivo);color:var(--soft);text-wrap:pretty}
.facts{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:1px solid var(--l2)}
.facts>div{padding:22px 20px 22px 0;border-bottom:1px solid var(--l2);display:flex;flex-direction:column;gap:10px}
.facts dt{display:flex;align-items:center;gap:8px;font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.facts dd{margin:0;font:500 17px/1.3 var(--archivo)}
.facts dd span{color:var(--mute);font-size:14px}

/* ---------- 02 em cena ---------- */
.cena{position:relative;padding:clamp(70px,9vw,130px) 0;background:var(--p1);border-top:1px solid var(--l1);border-bottom:1px solid var(--l1);overflow:hidden}
.cena-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin:clamp(32px,4vw,56px) 0 clamp(28px,3vw,44px)}
.cena-top p{margin:0;max-width:34ch;font:400 16px/1.6 var(--archivo);color:var(--soft)}
.cena-stage{max-width:var(--max);margin:0 auto;padding:0 clamp(0px,4vw,56px)}
.player{position:relative;aspect-ratio:16/9;background:var(--p2);overflow:hidden}
.player-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(8,8,10,.1) 0%,rgba(8,8,10,.65) 100%);pointer-events:none}
.play{position:absolute;inset:0;display:grid;place-items:center;width:100%}
.play-in{display:flex;align-items:center;gap:22px}
.play-dot{width:clamp(76px,9vw,124px);height:clamp(76px,9vw,124px);border-radius:50%;background:var(--red);display:grid;place-items:center;box-shadow:0 0 0 0 rgba(228,50,43,.5);transition:transform .4s var(--ease)}
.play:hover .play-dot{transform:scale(1.06)}
.play-txt{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}
.play-lbl{font:400 clamp(28px,3vw,44px)/1 var(--anton);text-transform:uppercase}
.play-sub{display:flex;align-items:center;gap:8px;font:600 11px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--soft2)}
.player video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.player>[data-cover]{position:absolute;inset:0;z-index:1}
.player.is-preview-ready [data-cover]>picture{visibility:hidden}
.cena-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px var(--px) 0;color:var(--mute)}
@media (min-width:450px){.cena-foot{padding-left:0;padding-right:0}}
.cena-foot b{color:var(--ink)}
.cena-foot b.r{color:var(--red)}

/* ---------- frase ---------- */
.frase{padding:clamp(100px,13vw,190px) var(--px)}
.frase figure{margin:0 auto;max-width:1180px;display:flex;flex-direction:column;align-items:center;gap:clamp(28px,3vw,44px);text-align:center}
.frase-q{font:400 120px/.6 var(--anton);color:var(--red);height:60px}
.frase blockquote{margin:0}
.frase blockquote p{margin:0;font:500 clamp(28px,3.9vw,60px)/1.18 var(--archivo);letter-spacing:-.02em;text-wrap:balance}
.frase blockquote p span{transition:opacity .5s ease-out}
.frase figcaption{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px}
.frase figcaption .bar{width:40px;height:1px;background:var(--red)}
.frase figcaption .who{font:600 11px/1.5 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);text-align:left}
.frase figcaption .who b{color:var(--ink)}
.frase figcaption .sig{font:400 36px/1 var(--script);color:var(--red)}

/* ---------- 03 obras ---------- */
.obras{padding:0 var(--px) clamp(80px,10vw,140px);max-width:var(--max);margin:0 auto}
.obras-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px;margin:clamp(32px,4vw,56px) 0 clamp(48px,6vw,88px)}
.cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;min-width:min(100%,420px)}
.cats a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--l2);font:600 12px/1 var(--archivo);letter-spacing:.14em;text-transform:uppercase}
.cats a>span:first-child{display:flex;align-items:center;gap:10px}
.cats .n{color:var(--red)}
.cats .c{color:var(--mute)}
@media (max-width:640px){
  .cats{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);column-gap:0}
}
.anchor{scroll-margin-top:90px}
.cat-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 28px;padding-bottom:22px;border-bottom:1px solid var(--l2);margin-bottom:clamp(28px,3vw,44px)}
.h3{margin:0;display:flex;align-items:center;gap:16px;font:400 clamp(40px,5vw,76px)/1 var(--anton);text-transform:uppercase}
.h3 svg{width:.62em;height:.62em;flex:none}
.cat-head p{margin:0;max-width:52ch;font:400 15px/1.6 var(--archivo);color:var(--soft)}
.cat-head p b{color:var(--ink)}

.stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:clamp(28px,4vw,64px);align-items:start}
.stage-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--p2)}
.stage-media .open{position:absolute;inset:0;cursor:zoom-in;display:block;width:100%}
.stage-media .open img{transition:transform 1.2s var(--ease)}
.stage-media .open:hover img{transform:scale(1.03)}
.stage-count{position:absolute;left:18px;top:16px;font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;background:var(--bg);padding:8px 10px;pointer-events:none}
.stage-art{display:flex;flex-direction:column;gap:22px}
.stage-meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;font:600 11px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.stage-meta .k{color:var(--red)}
.stage-meta .rule{width:24px;height:1px;background:var(--l3)}
.stage-meta .v{color:var(--ink)}
.stage-title{margin:0;font:400 clamp(40px,4.6vw,72px)/.95 var(--anton);text-transform:uppercase;text-wrap:balance}
.stage-syn{margin:0;font:400 16px/1.7 var(--archivo);color:var(--soft);text-wrap:pretty}
.credit{margin:0;display:flex;align-items:center;gap:8px;font:600 11px/1 var(--archivo);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.credit a{color:var(--ink);text-transform:none;letter-spacing:.02em}
.credit a:hover{color:var(--red)}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.btn{height:52px;padding:0 22px;display:flex;align-items:center;gap:14px;font:600 12px/1 var(--archivo);letter-spacing:.14em;text-transform:uppercase;transition:background .25s,border-color .25s,color .25s}
.btn-red{background:var(--red);color:var(--bg);font-weight:700}
.btn-red:hover{background:var(--ink)}
.btn-red .c{font:400 15px/1 var(--anton)}
.btn-line{border:1px solid var(--l3)}
.btn-line:hover{border-color:var(--ink)}
.btn-line .ar{color:var(--red)}

.tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-top:clamp(28px,3vw,44px)}
.tab{position:relative;display:grid;grid-template-columns:84px 1fr;align-items:center;gap:16px;padding:10px;background:var(--p3);text-align:left;transition:background .25s}
.tab:hover{background:var(--p4)}
.tab-img{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:var(--l1)}
.tab-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}
.tab-txt{display:flex;flex-direction:column;gap:8px}
.tab-n{font:600 10px/1 var(--archivo);letter-spacing:.16em;color:var(--red)}
.tab-t{font:400 20px/1.05 var(--anton);text-transform:uppercase}
.tab::after{content:"";position:absolute;inset:0;background:rgba(8,8,10,.4);pointer-events:none;transition:opacity .3s}
.tab[aria-selected="true"]::after{opacity:0}
.tab[aria-selected="true"]::before{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--red);z-index:1}

.strip-wrap{margin-top:clamp(28px,3vw,40px)}
.strip-head{margin:0 0 14px;display:flex;justify-content:space-between;gap:12px;font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:var(--red) var(--p2);-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.strip-i{position:relative;flex:0 0 auto;height:clamp(200px,24vw,300px);aspect-ratio:3/4;overflow:hidden;background:var(--p2);cursor:zoom-in;scroll-snap-align:start}
.strip-i img{transition:transform .8s var(--ease)}
.strip-i:hover img{transform:scale(1.05)}
.strip-i .cap{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;display:flex;justify-content:space-between;background:linear-gradient(0deg,rgba(8,8,10,.85),transparent);font:600 10px/1 var(--archivo);letter-spacing:.14em;text-transform:uppercase}
.strip-i .cap i{font-style:normal;color:var(--red)}

.av{margin-top:clamp(90px,11vw,160px)}
.films{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(14px,1.6vw,24px)}
.film{display:flex;flex-direction:column;gap:14px}
.film-btn{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--p2);text-align:left;display:block;width:100%;outline:2px solid transparent;outline-offset:4px;transition:outline-color .25s}
.film-btn:hover{outline-color:var(--red)}
.film-btn img{transition:transform 1s var(--ease)}
.film-btn:hover img{transform:scale(1.04)}
.film-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.5) 0%,transparent 30%,transparent 50%,rgba(8,8,10,.92) 100%)}
.film-top{position:absolute;left:16px;right:16px;top:14px;display:flex;justify-content:space-between;font:600 10px/1 var(--archivo);letter-spacing:.16em}
.film-top .n{color:var(--red)}
.film-bot{position:absolute;left:16px;right:16px;bottom:16px;display:flex;flex-direction:column;gap:12px}
.film-t{font:400 clamp(26px,2.4vw,34px)/.98 var(--anton);text-transform:uppercase;text-wrap:balance}
.film-s{display:flex;align-items:center;gap:8px;font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--soft2)}
.film dl{margin:0;display:flex;flex-direction:column;border-top:1px solid var(--l2)}
.film dl div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--l1);font:400 14px/1.3 var(--archivo)}
.film dt{color:var(--mute)}
.film dd{margin:0;text-align:right}

/* ---------- eventos / publicidade ---------- */
.paper{background:var(--ink);color:var(--bg)}
.paper-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.paper article{padding:clamp(56px,7vw,110px) var(--px);display:flex;flex-direction:column;gap:22px}
.paper article+article{border-left:1px solid #d4cfc6}
@media (max-width:899.98px){.paper article+article{border-left:0;border-top:1px solid #d4cfc6}}
.paper .kick{margin:0;display:flex;align-items:center;gap:12px;font:600 11px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:#5c5852}
.paper .kick span{color:var(--red-d)}
.paper h3{margin:0;display:flex;align-items:center;gap:16px;font:400 clamp(48px,6vw,96px)/.9 var(--anton);text-transform:uppercase}
.paper h3 svg{width:.55em;height:.55em;flex:none}
.paper p.t{margin:0;max-width:44ch;font:400 17px/1.6 var(--archivo);color:#2c2a27}
.btn-dark{align-self:flex-start;display:flex;align-items:center;gap:12px;height:50px;padding:0 22px;background:var(--bg);color:var(--ink);font:700 12px/1 var(--archivo);letter-spacing:.14em;text-transform:uppercase;transition:background .25s}
.btn-dark:hover{color:var(--ink);background:var(--red-d)}
.btn-dark .ar{color:var(--red)}
.btn-dark:hover .ar{color:var(--ink)}

/* ---------- 04 contato ---------- */
.contato{position:relative;background:var(--red);color:var(--bg);overflow:hidden}
.contato-in{max-width:var(--max);margin:0 auto;padding:clamp(90px,12vw,170px) var(--px);display:flex;flex-direction:column;gap:clamp(28px,4vw,52px)}
.contato .eyebrow{color:var(--bg)}
.contato .eyebrow .n{color:var(--bg)}
.contato .eyebrow .ln{background:var(--bg)}
.contato-h2{margin:0;font:400 clamp(72px,13vw,230px)/.84 var(--anton);text-transform:uppercase}
.contato-h2 .s{font:400 1.05em/0 var(--script);text-transform:none;color:var(--ink)}
.contato-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--bg);padding-top:28px}
.contato-row p{margin:0;max-width:40ch;font:500 18px/1.5 var(--archivo)}
.magnet{display:flex;align-items:center;gap:18px;height:clamp(64px,6vw,84px);padding:0 clamp(24px,2.4vw,36px);background:var(--bg);color:var(--ink);border-radius:100px;will-change:transform;transition:transform .35s var(--ease)}
.magnet:hover{color:var(--ink)}
.magnet-txt{display:flex;flex-direction:column;gap:6px}
.magnet-txt .k{font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.magnet-txt .v{font:400 clamp(20px,1.8vw,26px)/1 var(--anton);letter-spacing:.02em}
.magnet .ar{font-size:22px;color:var(--red)}

/* ---------- rodapé ---------- */
.foot{padding:clamp(56px,6vw,90px) var(--px) 28px;max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;gap:clamp(32px,4vw,56px)}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}
.foot-nav{display:flex;flex-wrap:wrap;gap:12px 28px}
.foot-top>p{margin:0;font:600 11px/1.6 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);text-align:right}
.foot-big{margin:0;font:400 clamp(56px,16.4vw,330px)/.8 var(--anton);text-transform:uppercase;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--l3);text-align:center}
.foot-bot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;border-top:1px solid var(--l1);padding-top:22px}
.foot-bot p{margin:0;font:400 13px/1.5 var(--archivo);color:var(--mute)}
.foot-bot .sig{font:400 28px/1 var(--script);color:var(--red)}
.top-btn{display:flex;align-items:center;gap:10px}
.top-btn i{font-style:normal;width:36px;height:36px;border:1px solid var(--l3);border-radius:50%;display:grid;place-items:center;color:var(--red)}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(8,8,10,.97);display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.lb-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,3vw,40px)}
.lb-head{display:flex;flex-direction:column;gap:6px;min-width:0}
.lb-kind{font:600 10px/1 var(--archivo);letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.lb-title{margin:0;font:400 clamp(20px,2vw,28px)/1 var(--anton);text-transform:uppercase}
.lb-x{flex:none;width:48px;height:48px;border:1px solid var(--l3);border-radius:50%;display:grid;place-items:center;transition:border-color .25s}
.lb-x:hover{border-color:var(--red)}
.lb-mid{position:relative;min-height:0;display:grid;grid-template: minmax(0,1fr) / minmax(0,1fr);place-items:center;padding:0 clamp(56px,7vw,110px)}
.lb-mid>picture{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:0;min-height:0;pointer-events:none}
.lb-mid img{position:relative;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:auto}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;background:var(--p2);display:grid;place-items:center;font-size:20px;transition:background .25s,color .25s;z-index:1}
.lb-nav:hover{background:var(--red);color:var(--bg)}
.lb-prev{left:clamp(8px,2vw,32px)}
.lb-next{right:clamp(8px,2vw,32px)}
.lb-bot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,3vw,40px);color:var(--mute)}
.lb-bot b{color:var(--ink)}
@media (max-width:640px){
  .lb-mid{padding:0 8px}
  .lb-nav{top:auto;bottom:-70px;transform:none;width:44px;height:44px}
  .lb-prev{left:auto;right:calc(50% + 6px)}
  .lb-next{right:auto;left:calc(50% + 6px)}
  .lb-bot{padding-bottom:max(16px,env(safe-area-inset-bottom))}
}

/* ---------- movimento ---------- */
@keyframes rise{from{transform:translateY(105%)}to{transform:none}}
@keyframes heroIn{from{transform:scale(1.18);opacity:0}to{transform:none;opacity:1}}
@keyframes cue{from{transform:translateY(-10px)}to{transform:translateY(26px)}}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pulse{from{box-shadow:0 0 0 0 rgba(228,50,43,.55)}to{box-shadow:0 0 0 28px rgba(228,50,43,0)}}

.motion .hero-h1 .l{animation:rise 1.1s var(--ease) backwards;animation-delay:calc(120ms + var(--i) * 55ms)}
.motion .hero-media{animation:heroIn 2.2s var(--ease) backwards}
.motion .cue i{animation:cue 1.6s ease-in-out infinite alternate}
.motion .marq-tr{animation:marq 38s linear infinite}
.motion .play-dot{animation:pulse 1.8s ease-out infinite}

.motion [data-rv]{transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--d,0ms)}
.motion [data-rv]:not(.in){opacity:0;transform:translateY(32px)}
.motion [data-line]{transition:transform 1.2s var(--ease);transition-delay:calc(var(--d,0ms) + 150ms)}
.motion [data-line]:not(.in){transform:scaleX(0)}
.motion [data-words]:not(.in) span{opacity:.12}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
