/* Lucas Has · Plataforma de Marca v0.3
   Palco fixo de 1920×1080 escalado para caber na janela.
   Preto + off-white, rosa só como sinal. */

@font-face{font-family:"Silka";src:url("../assets/fonts/Silka_Light.otf?v=1791570294") format("opentype");font-weight:300;font-display:block}
@font-face{font-family:"Silka";src:url("../assets/fonts/Silka_Regular.otf?v=1791570294") format("opentype");font-weight:400;font-display:block}
@font-face{font-family:"Silka";src:url("../assets/fonts/Silka_Medium.otf?v=1791570294") format("opentype");font-weight:500;font-display:block}
@font-face{font-family:"Silka";src:url("../assets/fonts/Silka_Semibold.otf?v=1791570294") format("opentype");font-weight:600;font-display:block}
@font-face{font-family:"Silka";src:url("../assets/fonts/Silka_Bold.otf?v=1791570294") format("opentype");font-weight:700;font-display:block}
@font-face{font-family:"Inter";src:url("../assets/fonts/Inter-Variable.ttf?v=1791570294") format("truetype");font-weight:100 900;font-display:block}
/* Neue Haas Grotesk Display (Trial): sem acentos. Só numerais, siglas e frases em inglês. */

:root{
  --pink:#ff008c;
  --ease:cubic-bezier(.65,0,.35,1);            /* curva 65/65 da marca */
  --out:cubic-bezier(.16,1,.3,1);
  --spring:cubic-bezier(.34,1.56,.64,1);        /* passa do ponto e volta */
  --f-display:"Silka","Inter",system-ui,sans-serif;
  --f-text:"Inter",system-ui,-apple-system,sans-serif;
  --f-grot:"Inter",system-ui,sans-serif;
  --m:96px; --r:28px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#000;overflow:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:var(--f-text);color:#ededed}
img,video,svg{display:block}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
p,h1,h2,figure{margin:0}
::selection{background:var(--pink);color:#000}

/* ───────── palco ───────── */
.deck{overflow:hidden;position:fixed;left:50%;top:50%;width:var(--W,1920px);height:var(--H,1080px);transform:translate(-50%,-50%) scale(var(--s,1));transform-origin:center}
.slide{position:absolute;left:var(--bx,0px);top:var(--by,0px);width:1920px;height:1080px;overflow:visible;box-shadow:0 0 0 2400px var(--bg);background:var(--bg);color:var(--fg);opacity:0;visibility:hidden;transition:opacity .55s var(--ease),visibility 0s .55s}
.slide.is-active{opacity:1;visibility:visible;z-index:2;transition:opacity .55s var(--ease)}
.t-dark,.card.inv{--bg:#0a0a0a;--fg:#ededed;--mut:#8f8f8f;--dim:#5c5c5c;--line:rgba(237,237,237,.16);--card:#151515}
.t-light,.card.lit{--bg:#ededed;--fg:#0a0a0a;--mut:#666;--dim:#a8a8a8;--line:rgba(10,10,10,.16);--card:#f7f7f7}
.t-pink{--bg:#ff008c;--fg:#0a0a0a;--mut:rgba(10,10,10,.74);--dim:rgba(10,10,10,.45);--line:rgba(10,10,10,.3);--card:rgba(0,0,0,.1)}

/* moldura editorial */
.fr-top,.fr-bot{position:absolute;left:var(--m);right:var(--m);display:grid;grid-template-columns:3fr 3fr 5fr 1fr;column-gap:24px;font:500 13px/1 var(--f-text);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);z-index:5}
.fr-top{top:44px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.fr-bot{bottom:40px;grid-template-columns:3fr 8fr 1fr}
.fr-top b{font-weight:600;color:var(--fg)}
.fr-logo{display:flex;align-items:center;gap:12px;color:var(--fg);font:500 20px/1 var(--f-display);letter-spacing:-.02em;text-transform:none;margin-top:-5px}
.fr-logo svg{width:30px;height:19px;fill:var(--pink)}
.t-pink .fr-logo svg{fill:#0a0a0a}
.fr-n{text-align:right;font-family:var(--f-grot);font-size:15px;letter-spacing:.06em;color:var(--fg)}
.fr-bot span:last-child{text-align:right}
.pad{position:absolute;left:var(--m);right:var(--m);top:140px;bottom:92px;z-index:3}
.g12{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px}
.fill{position:absolute;inset:0}

/* ───────── tipografia ───────── */
.d{font-family:var(--f-display);font-weight:500;letter-spacing:-.05em;line-height:.9}
.d-1{font-size:250px;line-height:.84}.d-2{font-size:176px;line-height:.86}.d-3{font-size:132px}.d-4{font-size:100px;line-height:.94}.d-5{font-size:76px;line-height:.98;letter-spacing:-.045em}.d-6{font-size:56px;line-height:1.03;letter-spacing:-.04em}
.h{font-family:var(--f-display);font-weight:500;font-size:38px;letter-spacing:-.035em;line-height:1.08}
.h-s{font-size:27px;letter-spacing:-.03em;line-height:1.12}
.lead{font-size:31px;line-height:1.34;letter-spacing:-.014em;font-weight:400}
.p{font-size:22px;line-height:1.5;color:var(--mut)}
.lead b,.p b{color:var(--fg);font-weight:500}
.lead.mut{color:var(--mut)}
.sm{font-size:17px;line-height:1.45;color:var(--mut)}
.k{font:600 13px/1.2 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.mono{font:500 13px/1.3 var(--f-text);letter-spacing:.14em;text-transform:uppercase}
.fig{font:500 12px/1.5 var(--f-text);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.pk{color:var(--pink)}
.mut{color:var(--mut)}
.nw{white-space:nowrap}
.en{font-family:var(--f-grot);letter-spacing:-.03em}
.num{font-family:var(--f-grot);font-weight:100;letter-spacing:-.06em;line-height:.8}
/* dois tons: o título fica em cinza e <b> acende */
.tt{color:var(--dim)}
.tt b{color:var(--fg);font-weight:inherit}
/* o ponto rosa */
.pt{color:var(--pink);font-style:normal}
.t-pink .pt{color:#ededed}
/* etiqueta */
.tag{display:inline-flex;align-items:center;gap:10px;height:38px;padding:0 16px 0 14px;border-radius:11px;border:1px solid var(--line);font:500 15px/1 var(--f-display);letter-spacing:-.005em;color:var(--fg);white-space:nowrap;text-transform:none}
.tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink);flex:none}
.t-pink .tag{border-color:rgba(10,10,10,.42)}
.t-pink .tag::before{background:#0a0a0a}
.sug{display:inline-block;font:600 11px/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--pink);border:1px solid var(--pink);padding:5px 8px 4px;border-radius:5px;vertical-align:middle}
.rule{height:1px;background:var(--line);border:0;margin:0;transform-origin:left}

/* efeitos de texto */
.oof{filter:blur(6px);opacity:.66;transition:filter .9s var(--ease),opacity .9s var(--ease)}
h1:hover .oof,h2:hover .oof{filter:blur(0);opacity:1}
/* foco progressivo: a frase entra em foco palavra a palavra */
.pull span{display:inline-block;transition:filter 1s var(--ease)}
.pull .b1{filter:blur(1.5px)}.pull .b2{filter:blur(4px)}.pull .b3{filter:blur(7.5px)}
.pull:hover span{filter:blur(0)}

/* ───────── entradas ───────── */
[data-a]{opacity:var(--o,1);animation-duration:1.15s;animation-timing-function:var(--ease);animation-fill-mode:both;animation-delay:calc(var(--d,0)*95ms + 260ms)}
.slide:not(.is-active) [data-a]{animation:none;opacity:0}
.slide.is-active [data-a="focus"]{animation-name:a-focus;animation-duration:1.6s}
.slide.is-active [data-a="up"]{animation-name:a-up}
.slide.is-active [data-a="fade"]{animation-name:a-fade}
.slide.is-active [data-a="line"]{animation-name:a-line}
.slide.is-active [data-a="clip"]{animation-name:a-clip;animation-duration:1.7s}
.slide.is-active [data-a="zoom"]{animation-name:a-zoom;animation-duration:2s;animation-timing-function:var(--out)}
@keyframes a-focus{from{opacity:0;filter:blur(30px);transform:scale(1.03)}to{opacity:var(--o,1);filter:blur(0);transform:none}}
@keyframes a-up{from{opacity:0;transform:translateY(46px)}to{opacity:var(--o,1);transform:none}}
@keyframes a-fade{from{opacity:0}to{opacity:var(--o,1)}}
@keyframes a-line{from{opacity:1;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes a-clip{from{opacity:0;clip-path:inset(0 100% 0 0 round 16px);transform:translateY(18px)}35%{opacity:var(--o,1)}to{opacity:var(--o,1);clip-path:inset(0 0 0 0 round 16px);transform:none}}
@keyframes a-zoom{from{opacity:0;transform:scale(1.08)}to{opacity:var(--o,1);transform:none}}
.w{display:inline-block;white-space:pre}
.slide:not(.is-active) .w{opacity:0}
.slide.is-active .w{animation:a-word 1.1s var(--ease) both;animation-delay:calc(var(--i)*85ms + 300ms)}
@keyframes a-word{from{opacity:0;filter:blur(18px);transform:translateY(.16em)}to{opacity:1;filter:blur(0);transform:none}}
.draw{stroke-dasharray:1.03 1.03;stroke-dashoffset:1.03}
.slide.is-active .draw{animation:a-draw 2.8s var(--ease) both;animation-delay:calc(var(--d,0)*95ms + 200ms)}
@keyframes a-draw{from{stroke-dashoffset:1.03}to{stroke-dashoffset:0}}

/* ───────── superfícies e imagem ───────── */
.grain{position:absolute;inset:0;pointer-events:none;z-index:9;opacity:.1;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 .9 0'/></filter><rect width='300' height='300' filter='url(%23n)'/></svg>")}
.dots{background-image:radial-gradient(circle,currentColor 1.7px,transparent 2.2px);background-size:11px 11px}
.sym-line{position:absolute;fill:none;stroke:var(--pink);stroke-width:1.2;overflow:visible;pointer-events:none}
.sym-line use,.sym-line path{vector-effect:non-scaling-stroke}
.bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.art{position:absolute;pointer-events:none;user-select:none;z-index:1}
.art.ink{filter:invert(1)}
/* busto cortado no pescoço: some para baixo em vez de terminar em linha reta */
.art.fade-b{-webkit-mask-image:linear-gradient(#000 80%,transparent 99%);mask-image:linear-gradient(#000 80%,transparent 99%)}
.art.fade-l{-webkit-mask-image:linear-gradient(90deg,transparent 4%,#000 62%);mask-image:linear-gradient(90deg,transparent 4%,#000 62%)}
.cut{position:absolute;user-select:none;z-index:2}
.bw{filter:grayscale(1) contrast(1.06);transition:filter .9s var(--ease)}
.cut.bw:hover{filter:none}
.k0{background:#000;color:#ededed;box-shadow:inset 0 0 0 1px rgba(237,237,237,.14)}
.pp{background:#ededed;color:#0a0a0a}
.rs{background:var(--pink);color:#0a0a0a}
.card{background:var(--card);color:var(--fg);border-radius:var(--r);padding:34px 36px 38px;position:relative}
.card.inv,.card.lit{background:var(--bg)}
.bento{display:grid;gap:16px}
.bar{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:64px;padding:18px 28px;border-radius:16px;background:var(--pink);color:#0a0a0a;font:600 15px/1.35 var(--f-text);letter-spacing:.12em;text-transform:uppercase}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chips span,.chip{display:inline-flex;align-items:center;height:38px;padding:0 16px;border:1px solid var(--line);border-radius:99px;font:500 15px/1 var(--f-text);letter-spacing:.01em;transition:background .3s var(--ease),color .3s,border-color .3s}
.chip:hover{border-color:var(--fg)}
.chip.on{background:var(--fg);color:var(--bg);border-color:var(--fg)}

/* moldura de foto com recorte (aba que morde o canto) */
.nf{position:absolute;border-radius:var(--r);overflow:hidden;background:#111;z-index:2}
.nf img{width:100%;height:100%;object-fit:cover}
.nf:has(.nt.bl){border-bottom-left-radius:0}
.nf:has(.nt.tr){border-top-right-radius:0}
.nt{position:absolute;background:var(--bg);color:var(--fg);z-index:2;font:500 12px/1.5 var(--f-text);letter-spacing:.14em;text-transform:uppercase}
.nt::before,.nt::after{content:"";position:absolute;width:24px;height:24px}
.nt.bl{left:0;bottom:0;padding:18px 26px 2px 2px;border-top-right-radius:24px}
.nt.bl::before{left:0;top:-24px;background:radial-gradient(circle at 100% 0,transparent 23.5px,var(--bg) 24px)}
.nt.bl::after{right:-24px;bottom:0;background:radial-gradient(circle at 100% 0,transparent 23.5px,var(--bg) 24px)}
.nt.tr{right:0;top:0;padding:0 2px 16px 24px;border-bottom-left-radius:24px;font:300 38px/1 var(--f-grot);letter-spacing:-.03em;text-transform:none}
.nt.tr::before{left:-24px;top:0;background:radial-gradient(circle at 0 100%,transparent 23.5px,var(--bg) 24px)}
.nt.tr::after{right:0;bottom:-24px;background:radial-gradient(circle at 0 100%,transparent 23.5px,var(--bg) 24px)}
/* chamadas ao redor de uma imagem */
.co{position:absolute;display:flex;align-items:center;gap:12px;font:500 17px/1.2 var(--f-display);letter-spacing:-.01em;color:var(--fg);z-index:4;white-space:nowrap}
.co::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink);flex:none}
.co::after{content:"";flex:1;height:1px;background:var(--line);min-width:24px}
.co.r::before{order:3}.co.r::after{order:2}
.co.l::before{order:-2}.co.l::after{order:-1}

/* fotos arrastáveis */
.dw{position:absolute;z-index:2}
[data-drag]{position:relative;width:100%;height:100%;cursor:grab;touch-action:none;will-change:transform;transition:scale .55s var(--spring),box-shadow .45s var(--ease)}
[data-drag]:hover{scale:1.04}
[data-drag].dragging{cursor:grabbing;scale:1.07}
.snap{background:#f4f1ea;padding:14px 14px 46px;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.snap:hover,.snap.dragging{box-shadow:0 46px 90px rgba(0,0,0,.6)}
.snap img{width:100%;height:100%;object-fit:cover;pointer-events:none;filter:saturate(.92) contrast(1.02)}
.snap figcaption{position:absolute;left:16px;bottom:15px;font:500 11px/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:#777}
.ph{overflow:hidden;border-radius:24px;background:#111;box-shadow:0 0 0 rgba(0,0,0,0)}
.ph:hover,.ph.dragging{box-shadow:0 30px 60px rgba(0,0,0,.28)}
.ph img{width:100%;height:100%;object-fit:cover;pointer-events:none}

/* ───────── capa ───────── */
.cover::before{content:"";position:absolute;left:0;right:0;top:106px;height:1px;background:rgba(237,237,237,.14)}
.cv-sym{left:-806px;top:-560px;width:3571px;stroke-width:.6;opacity:.8}
.cv-meta{position:absolute;left:108px;right:108px;top:44px;display:flex;justify-content:space-between;font:400 21px/1 var(--f-text);letter-spacing:.01em;text-transform:uppercase;color:#d0d0d0}
.cv-tag{position:absolute;left:0;right:0;top:522px;text-align:center;font:300 30px/1 var(--f-grot);letter-spacing:.01em;color:#5e5e5e}
.cv-tag b{font-weight:300;color:var(--pink)}
.cv-logo{position:absolute;left:-23px;bottom:-22px;width:1950px}

/* ───────── abertura de capítulo (padrão fixo) ───────── */
.chap .tex{position:absolute;inset:0;background:url("../assets/img/poster-loop-nuvem.jpg?v=1791570730") center/cover}
.chap::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 0%,rgba(10,10,10,.62) 46%,rgba(10,10,10,.2) 100%);z-index:1;pointer-events:none}
.chap .art{z-index:2}
.chap .num{position:absolute;left:calc(var(--m) - 14px);top:150px;font-size:330px;z-index:3}
.chap .bt{position:absolute;left:var(--m);bottom:98px;z-index:3;max-width:1000px}
.chap .sub{margin-top:34px;max-width:900px}
.chap .fig{margin-top:26px}
html.no-art .chap .art,html.no-art .chap .fig{display:none}

/* índice */
.toc{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}
.toc a{display:grid;grid-template-columns:110px 1fr;align-items:baseline;padding:24px 0 26px;border-top:1px solid var(--line);text-decoration:none;transition:padding .45s var(--ease),color .3s}
.toc a:hover{padding-left:18px}
.toc a:hover .t::after{content:".";color:var(--pink)}
.toc .n{font:200 46px/1 var(--f-grot);letter-spacing:-.04em}
.toc .t{font:500 34px/1 var(--f-display);letter-spacing:-.035em}
.toc .x{grid-column:2;font-size:18px;color:var(--mut);margin-top:10px}
.toc .end{color:var(--mut)}

/* ───────── trajetória: timeline de edição ───────── */
.nle-view{position:absolute;left:826px;right:var(--m);top:140px;height:460px;border-radius:24px;background:#000;box-shadow:inset 0 0 0 1px var(--line);padding:26px 34px;z-index:3;display:flex;flex-direction:column}
.cm{position:absolute;width:18px;height:18px;border:1px solid rgba(237,237,237,.34)}
.cm.tl{left:22px;top:60px;border-right:0;border-bottom:0}.cm.tr{right:22px;top:60px;border-left:0;border-bottom:0}
.cm.bl{left:22px;bottom:22px;border-right:0;border-top:0}.cm.br{right:22px;bottom:22px;border-left:0;border-top:0}
.nle-top{display:flex;justify-content:space-between;font:500 12px/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.nle-top b{color:var(--fg);font-weight:600}
.nv-tc{font:400 15px/1 var(--f-grot);letter-spacing:.08em;color:var(--pink)}
.nle-body{margin-top:auto;padding:0 28px 26px}
.nv-role{font:500 54px/1 var(--f-display);letter-spacing:-.045em;margin:16px 0 20px}
.nv-x{font-size:23px;line-height:1.42;color:var(--mut);max-width:820px}
.nle{position:absolute;left:var(--m);right:var(--m);bottom:92px;height:352px;border-radius:24px;background:#111;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;z-index:3;user-select:none;touch-action:none}
.nle-ruler{display:flex;height:40px;margin-left:72px;cursor:ew-resize}
.nle-ruler span{flex:1;font:400 13px/40px var(--f-grot);letter-spacing:.08em;color:var(--mut);padding-left:10px;border-left:1px solid var(--line)}
.trk{display:grid;grid-template-columns:72px 1fr;height:78px;border-top:1px solid var(--line)}
.th{display:flex;align-items:center;justify-content:center;font:500 13px/1 var(--f-grot);letter-spacing:.08em;color:var(--mut);border-right:1px solid var(--line)}
.lane{position:relative;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(237,237,237,.06) calc(12.5% - 1px) 12.5%)}
.clip{position:absolute;top:9px;bottom:9px;border-radius:10px;background:#242424;color:#d6d6d6;font:500 15px/1 var(--f-display);letter-spacing:-.01em;padding:0 13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 0 0 1px rgba(237,237,237,.13);transition:background .3s var(--ease),color .3s,transform .5s var(--spring)}
.clip:hover{background:#333;color:#fff;transform:scaleY(1.07)}
.clip.on{background:var(--pink);color:#0a0a0a;box-shadow:none}
.trk.au .lane{background:none}
.wave{position:absolute;inset:14px 0;width:100%;height:calc(100% - 28px);color:#3d3d3d}
.nle-head{position:absolute;top:0;bottom:0;left:72px;width:0;z-index:5;pointer-events:none;transition:left .9s var(--ease)}
.nle-head.live{transition:none}
.nle-head i{position:absolute;left:-1px;top:14px;bottom:0;width:2px;background:var(--pink)}
.nle-head::before{content:"";position:absolute;left:-9px;top:6px;border:9px solid transparent;border-top:12px solid var(--pink);border-bottom:0}

/* ───────── cartões específicos ───────── */
.st{display:flex;flex-direction:column;padding:30px 32px 32px}
.st .v{font:100 128px/.86 var(--f-grot);letter-spacing:-.06em}
.st .v.big{font-size:330px;line-height:.8;margin-top:auto}
.st .v small{font-size:54px;font-weight:300;letter-spacing:-.03em;margin-left:6px}
.st .l{font:500 23px/1.2 var(--f-display);letter-spacing:-.02em;margin-top:auto;padding-top:20px}
.st .v.big + .l{margin-top:26px}
.st .sm{margin-top:8px}
.sp{display:flex;flex-direction:column;justify-content:space-between}
.sp .num{font-size:72px}
.sp .p{margin-top:14px;font-size:20px}
.src{display:grid;grid-template-columns:260px 1fr;align-items:center;column-gap:24px;padding:19px 0;border-top:1px solid var(--line)}
.src .t{font:500 27px/1 var(--f-display);letter-spacing:-.03em;color:var(--mut)}
.src .x{font-size:19px;color:var(--mut)}
.src.on{border-top:1px solid var(--fg);border-bottom:1px solid var(--line)}
.src.on .t,.src.on .x{color:var(--fg)}
.src.on .t::after{content:".";color:var(--pink)}
.logos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.logos div{height:156px;display:flex;align-items:center;justify-content:center;background:var(--card);border-radius:22px;transition:background .35s var(--ease),transform .55s var(--spring)}
.logos div:hover{background-color:#1f1f1f}
.logos img{max-width:168px;max-height:44px;opacity:.9}
.player{position:absolute;left:var(--m);right:var(--m);top:140px;bottom:92px;border-radius:var(--r);overflow:hidden;background:#000;z-index:3}
.player video{width:100%;height:100%;object-fit:cover}
.player .ov{position:absolute;inset:0;display:flex;align-items:flex-end;gap:28px;padding:0 44px 44px;background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,0) 50%);transition:opacity .5s}
.player .ov .mono{color:#e2e2e2;padding-bottom:22px}
.player.playing .ov{opacity:0;pointer-events:none}
.play{width:124px;height:124px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;flex:none;transition:transform .55s var(--spring)}
.play:hover{transform:scale(1.1)}
.play svg{width:34px;height:34px;fill:#0a0a0a;margin-left:6px}
.cases{position:absolute;inset:140px var(--m) 92px;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;z-index:3}
.case{position:relative;overflow:hidden;background:#000;border-radius:24px}
.case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--out),opacity .5s;opacity:.8}
.case:hover img{transform:scale(1.06);opacity:1}
.case::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent 55%)}
.case .inf{position:absolute;left:24px;right:24px;bottom:24px;z-index:2}
.case .inf b{display:block;font:500 27px/1.05 var(--f-display);letter-spacing:-.03em;color:#ededed}
.case .inf span{display:block;margin-top:10px;font:500 12px/1.3 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:#b5b5b5}
.shift{display:grid;grid-template-columns:1fr 120px 1.25fr;align-items:stretch;column-gap:16px}
.shift svg{width:120px;height:40px;stroke:var(--pink);fill:none;stroke-width:2;align-self:center}
.shift .card{min-height:250px}
.pmv{border-top:1px solid var(--line);padding:24px 0 34px}
.pmv:last-child{padding-bottom:0}
.pmv .k{margin-bottom:16px}
.pmv .p{margin-top:12px}
.pb{height:560px;display:flex;flex-direction:column}
.pb .d{font-size:44px;margin-top:56px}
.pb .p{margin-top:22px;font-size:20px}
.go{margin-top:auto;padding-top:18px}
.fd{padding:0 0 32px;overflow:hidden;display:flex;flex-direction:column}
.fd img{width:100%;height:206px;object-fit:cover;opacity:.9;-webkit-mask-image:linear-gradient(#000 50%,transparent);mask-image:linear-gradient(#000 50%,transparent)}
.fd p{padding:0 34px}
.fd .d{font-size:48px;margin-top:16px}
.fd .p{margin-top:16px;font-size:19.5px;line-height:1.46}
.fd .go{color:var(--fg)}
.aq{display:flex;flex-direction:column;justify-content:space-between}
.aq .lead,.aq .p{margin-top:20px;max-width:480px}

/* calma */
.ripples{position:absolute;pointer-events:none;color:var(--pink);overflow:visible;z-index:1}
.t-pink .ripples{color:#0a0a0a}
.rp{fill:none;stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision;transform-box:fill-box;transform-origin:center;opacity:0;animation:ripple 18s linear infinite;animation-delay:calc(var(--i) * -2s)}
@keyframes ripple{0%{transform:scale(.03);opacity:0}7%{opacity:.9}65%{opacity:.4}100%{transform:scale(1);opacity:0}}
.calma-word{font:400 520px/.8 var(--f-display);letter-spacing:-.06em}

/* linhas numeradas */
.row{display:grid;grid-template-columns:70px 1fr 1.35fr;column-gap:24px;align-items:baseline;padding:22px 0;border-top:1px solid var(--line)}
.rows .row:last-child{border-bottom:1px solid var(--line)}
.row .n{font:400 15px/1 var(--f-grot);letter-spacing:.06em;color:var(--mut)}
.row .t{font:500 28px/1.12 var(--f-display);letter-spacing:-.03em}
.row .x{font-size:20px;line-height:1.42;color:var(--mut)}
.row.one{grid-template-columns:1fr;padding:17px 0}
.row.one .t{font-size:25px}
.card .rows .row:last-child{border-bottom:0}
.row.two{grid-template-columns:1fr 1.5fr}
.row.tri{grid-template-columns:70px 1fr 1fr}
.rows.big .row{grid-template-columns:70px 1fr 280px;padding:26px 0}
.rows.big .mono{text-align:right}

/* C.A.L.M.A. */
.calma-row{display:grid;grid-template-columns:repeat(5,1fr);column-gap:24px}
.cl{position:relative;text-align:left;padding:26px 0 0;border-top:1px solid var(--line);transition:border-color .4s}
.cl .L{font:500 372px/.82 var(--f-display);letter-spacing:-.06em;display:block;color:var(--dim);transition:color .45s var(--ease)}
.cl .W{font:500 30px/1 var(--f-display);letter-spacing:-.03em;display:block;margin-top:26px}
.cl .S{font-size:18px;line-height:1.4;color:var(--mut);display:block;margin-top:12px;max-width:270px}
.cl .I{position:absolute;right:0;top:26px;font:400 15px/1 var(--f-grot);letter-spacing:.06em;color:var(--mut)}
.cl:hover .L{color:var(--fg)}
.cl.on .L{color:var(--pink)}
.cl.on{border-top-color:var(--fg)}
.cl-panel{margin-top:52px;display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;min-height:150px;border-top:1px solid var(--line);padding-top:30px}
.letter{position:absolute;left:var(--m);top:118px;font:500 880px/.8 var(--f-display);letter-spacing:-.07em;color:var(--pink);z-index:1}
.t-pink .letter{color:#0a0a0a}
.lt .cut{z-index:2}
.lt-body{position:absolute;left:880px;right:var(--m);top:160px;z-index:3}
.lt-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;margin-top:40px}
.lt-cell{border-top:1px solid var(--line);padding:22px 20px 26px 0}
.lt-cell .k{margin-bottom:14px}
.lt-cell p:not(.k){font-size:22px;line-height:1.4}
.lt-cell ul{margin:0;padding:0;list-style:none;font-size:21px;line-height:1.38}
.lt-cell li{padding-left:22px;position:relative;margin-bottom:8px}
.lt-cell li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:1px;background:var(--fg)}
.lt-idx{position:absolute;right:var(--m);top:160px;display:flex;gap:8px;font:500 15px/1 var(--f-display);z-index:3}
.lt-idx span{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;opacity:.6}
.lt-idx span.on{background:var(--fg);color:var(--bg);border-color:var(--fg);opacity:1}
.lt-fig{position:absolute;left:880px;bottom:100px;z-index:3;max-width:900px}
.proc{position:absolute;left:var(--m);right:var(--m);top:560px;display:grid;grid-template-columns:repeat(5,1fr);column-gap:24px;z-index:3}
.proc div{border-top:1px solid var(--line);padding-top:22px}
.proc .L{font:500 15px/1 var(--f-grot);letter-spacing:.08em;color:var(--mut)}
.proc .t{font:500 38px/1 var(--f-display);letter-spacing:-.04em;margin:14px 0}
.proc .x{font-size:18px;line-height:1.42;color:var(--mut)}
.proc .e{font:600 13px/1.3 var(--f-text);letter-spacing:.14em;text-transform:uppercase;margin-top:18px}
.mx{display:grid;grid-template-columns:250px repeat(5,1fr);border-top:1px solid var(--line)}
.mx>*{padding:19px 18px 21px 0;border-bottom:1px solid var(--line);font-size:18.5px;line-height:1.34}
.mx .hd{font:500 54px/.9 var(--f-display);letter-spacing:-.05em;padding-bottom:16px}
.mx .hd small{display:block;font:600 12px/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-top:10px}
.mx .rh{font:500 25px/1.08 var(--f-display);letter-spacing:-.03em}
.mx .c{color:var(--mut);transition:color .3s}
.mx .c:hover{color:var(--fg)}
.chk{display:grid}
.chk button{display:grid;grid-template-columns:66px 62px 1fr;align-items:center;text-align:left;padding:22px 0;border-top:1px solid var(--line)}
.chk button:last-child{border-bottom:1px solid var(--line)}
.chk .bx{width:36px;height:36px;border:1.5px solid var(--fg);border-radius:10px;display:flex;align-items:center;justify-content:center;transition:background .3s var(--ease),border-color .3s,transform .5s var(--spring)}
.chk button:hover .bx{transform:scale(1.12)}
.chk .bx svg{width:20px;height:20px;stroke:#0a0a0a;stroke-width:3;fill:none;opacity:0;transition:opacity .2s}
.chk button.on .bx{background:var(--pink);border-color:var(--pink)}
.chk button.on .bx svg{opacity:1}
.chk .L{font:500 44px/1 var(--f-display);letter-spacing:-.04em}
.chk .q{font:500 30px/1.16 var(--f-display);letter-spacing:-.03em}
.chk button.on .q{color:var(--dim)}

/* golden circle */
.gc{position:absolute;right:120px;top:190px;width:720px;height:720px;z-index:3}
.gc button{position:absolute;border-radius:50%;border:1px solid var(--line);background:var(--bg);display:flex;justify-content:center;transition:background .45s var(--ease),border-color .45s,color .45s}
.gc button span{font:600 14px/1 var(--f-text);letter-spacing:.2em;margin-top:26px}
.gc .r3{inset:0}.gc .r2{inset:120px}.gc .r1{inset:240px;align-items:center}
.gc .r1 span{margin:0}
.gc button.on{background:var(--pink);border-color:var(--pink);color:#0a0a0a}
.gc button.on span::after{content:" •";color:#0a0a0a}
.gc button{transition:background .45s var(--ease),border-color .45s,color .45s,box-shadow .45s var(--ease)}
.gc button.lock{box-shadow:0 0 0 9px rgba(255,0,140,.2)}
.gc button.lock span::after{content:" ●"}
.gc-txt{position:absolute;left:var(--m);top:480px;width:740px;z-index:3}

/* identidade */
.dial{display:grid;grid-template-columns:140px 1fr 150px;align-items:center;column-gap:22px;padding:13px 0;font:500 19px/1 var(--f-display);letter-spacing:-.02em}
.dial .tr{position:relative;height:28px;cursor:ew-resize;touch-action:none}
.dial .tr::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--line)}
.dial .kn{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--pink);transition:transform .45s var(--spring)}
.dial .tr:hover .kn{transform:scale(1.4)}
.dial span:last-child{text-align:right}
.attr .card{height:176px;padding:26px 28px;transition:background .35s var(--ease),color .35s,transform .55s var(--spring)}
.attr .t{font:500 34px/1 var(--f-display);letter-spacing:-.04em}
.attr .x{font-size:18.5px;line-height:1.4;color:var(--mut);margin-top:12px;transition:color .35s}
.attr .card:hover{background-color:#0a0a0a;color:#ededed;transform:translateY(-8px)}
.attr .card:hover .x{color:#9d9d9d}
.has-line{font:300 108px/1 var(--f-grot);letter-spacing:-.05em;white-space:nowrap}
.has-line b{font-weight:300;color:var(--pink)}
.has-list{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
.has-list button{text-align:left;padding:17px 0;border-top:1px solid var(--line);font:400 30px/1 var(--f-grot);letter-spacing:-.03em;color:var(--dim);transition:color .3s,padding .45s var(--ease)}
.has-list button b{font-weight:400}
.has-list button.on,.has-list button:hover{color:var(--fg);padding-left:14px}
.has-list button.on b{color:var(--pink)}
.voz{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.voz ul{list-style:none;margin:14px 0 0;padding:0}
.voz li{font:500 30px/1.1 var(--f-display);letter-spacing:-.03em;padding:17px 0;border-top:1px solid var(--line)}
.voz .no li{color:var(--mut);text-decoration:line-through;text-decoration-color:var(--pink);text-decoration-thickness:2px}

/* sistema visual */
.lg{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lg div{height:214px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:22px}
.lg img{max-width:62%;max-height:44%}
.lg i{position:absolute;left:18px;bottom:16px;font:500 11px/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;font-style:normal;opacity:.6}
.sws{display:flex;gap:16px}
.sw{border-radius:var(--r);padding:30px 32px 32px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.sw .pc{font:100 180px/.8 var(--f-grot);letter-spacing:-.06em}
.sw .nm{font:500 56px/1 var(--f-display);letter-spacing:-.045em}
.sw .hx{font:400 17px/1.5 var(--f-text);letter-spacing:.01em;margin-top:14px;opacity:.8}
.sw.rs{padding:30px 22px 32px}
.spec{display:grid;grid-template-columns:330px 1fr;column-gap:24px;border-top:1px solid var(--line);padding:28px 0 30px;align-items:start}
.spec:last-child{border-bottom:1px solid var(--line)}
.spec .sm{margin-top:10px}
.smp{font-size:108px;line-height:.92;letter-spacing:-.045em;white-space:nowrap}
.smp.txt{font-family:var(--f-text);font-size:42px;line-height:1.24;letter-spacing:-.018em;white-space:normal;max-width:1180px}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{position:relative;height:570px;overflow:hidden;border-radius:24px}
.tile .cap{position:absolute;left:24px;right:24px;bottom:22px;z-index:3;font:500 12px/1.4 var(--f-text);letter-spacing:.14em;text-transform:uppercase}
.tile .cap b{display:block;font:500 26px/1 var(--f-display);text-transform:none;letter-spacing:-.03em;margin-bottom:10px}
.tile .cap.sh::before{content:"";position:absolute;left:-24px;right:-24px;bottom:-22px;height:230px;background:linear-gradient(0deg,#000 22%,transparent);z-index:-1}
.tile.pp{display:flex;align-items:center;justify-content:center}
.blur-demo{font:500 150px/.85 var(--f-display);letter-spacing:-.06em;animation:blurloop 5s var(--ease) infinite alternate}
@keyframes blurloop{0%,12%{filter:blur(24px);opacity:.7}88%,100%{filter:blur(0);opacity:1}}
.curve{width:100%;height:auto;overflow:visible}
.ball{display:block;width:26px;height:26px;border-radius:50%;background:var(--pink);animation:ball 2.6s var(--ease) infinite alternate}
@keyframes ball{from{margin-left:0}to{margin-left:calc(100% - 26px)}}
.snd{display:inline-flex;align-items:center;gap:16px;height:64px;padding:0 28px 0 8px;border:1px solid var(--line);border-radius:99px;font:500 17px/1 var(--f-display);transition:border-color .3s}
.snd i{width:48px;height:48px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;transition:transform .5s var(--spring)}
.snd i svg{width:16px;height:16px;fill:#0a0a0a;margin-left:2px}
.snd:hover{border-color:var(--fg)}
.snd:hover i{transform:scale(1.1)}

/* expansão */
.arch .card{padding:28px 30px 30px;min-height:238px;display:flex;flex-direction:column}
.arch .h{margin-top:14px}
.sub2{margin-top:auto;padding-top:22px;font:400 36px/1 var(--f-display);letter-spacing:-.045em}
.sub2 b{font-weight:400;color:var(--mut)}
.mod .card{height:312px;padding:26px 26px 28px;transition:background .4s var(--ease),color .4s,transform .6s var(--spring)}
.mod .card:hover{background-color:#0a0a0a;color:#ededed;transform:translateY(-10px)}
.mod .L{font:500 120px/.8 var(--f-display);letter-spacing:-.06em}
.mod .card:hover .L{color:var(--pink)}
.mod .t{font:500 24px/1.06 var(--f-display);letter-spacing:-.03em;position:absolute;left:26px;right:26px;bottom:64px}
.mod .x{font-size:15.5px;line-height:1.3;position:absolute;left:26px;right:26px;bottom:26px;opacity:.7}
.talk{border-top:1px solid var(--line);padding:22px 0 24px;display:grid;grid-template-columns:64px 1fr;align-items:baseline}
.talk:last-child{border-bottom:1px solid var(--line)}
.talk .n{font:400 15px/1 var(--f-grot);color:var(--mut);letter-spacing:.06em}
.talk .t{font:500 33px/1.08 var(--f-display);letter-spacing:-.035em}
.talk .x{grid-column:2;font-size:19px;color:var(--mut);margin-top:9px;line-height:1.4}
.mini{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:18px;font-family:var(--f-display)}
.mlogo{position:absolute;left:26px;top:24px;width:34px;fill:var(--pink)}
.mn{position:absolute;right:26px;top:28px;font-size:10px;color:#8f8f8f}
.mbig{position:absolute;left:22px;bottom:24px;font:400 168px/.8 var(--f-display);letter-spacing:-.06em}
.msm{position:absolute;left:18px;bottom:16px;font:500 30px/1 var(--f-display);letter-spacing:-.04em;z-index:2}
.mnum{position:absolute;left:16px;top:16px;font-size:74px}
.mini .ink{filter:invert(1)}
.ct .card{min-height:270px;display:flex;flex-direction:column;justify-content:space-between}
.stories{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;height:570px}
.story{position:relative;border-radius:24px;overflow:hidden;transition:transform .6s var(--spring)}
.story:hover{transform:translateY(-12px)}
.story img,.story .sym-line{position:absolute}
.story.pp img{filter:none}
.s-top{position:absolute;left:18px;right:18px;top:16px;display:flex;align-items:center;gap:8px;font:500 13px/1 var(--f-display);z-index:3}
.s-top svg{width:24px;height:15px;fill:var(--pink)}
.story.rs .s-top svg{fill:#0a0a0a}
.s-h{position:absolute;left:18px;bottom:16px;font:500 68px/.86 var(--f-display);letter-spacing:-.055em;z-index:3}
.story.rs .pt{color:#ededed}
.s-x{position:absolute;left:18px;right:18px;top:48px;font:500 13px/1.35 var(--f-text);opacity:.72;z-index:3}
.s-en{position:absolute;left:18px;right:18px;bottom:18px;font:300 36px/.94 var(--f-grot);letter-spacing:-.045em;z-index:3}
.s-en b{font-weight:300;color:var(--pink)}
.s-q{position:absolute;left:18px;right:18px;bottom:18px;font:500 34px/1.02 var(--f-display);letter-spacing:-.04em;z-index:3;--dim:#5c5c5c}
.kv-ctrl{display:grid;row-gap:24px}
.kv-ctrl .grp{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.kv-stage{position:absolute;left:760px;right:var(--m);top:148px;bottom:100px;display:flex;align-items:center;justify-content:center;z-index:3}
.kv{position:relative;overflow:hidden;border-radius:20px;background:#0a0a0a;color:#ededed;transition:width .7s var(--ease),height .7s var(--ease),background .5s,color .5s;box-shadow:0 0 0 1px rgba(237,237,237,.16)}
.kv[data-tema="papel"]{background:#ededed;color:#0a0a0a}
.kv[data-tema="rosa"]{background:#ff008c;color:#0a0a0a}
.kv .kv-h{position:absolute;left:6%;right:6%;bottom:13%;font:500 1em/.92 var(--f-display);letter-spacing:-.05em;outline:none;z-index:3;transition:font-size .5s var(--ease)}
.kv .kv-top{position:absolute;left:6%;right:6%;top:5.5%;display:flex;justify-content:space-between;align-items:center;font:500 .16em/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;z-index:3;opacity:.85}
.kv .kv-top svg{height:1.6em;width:2.6em;fill:var(--pink)}
.kv[data-tema="rosa"] .kv-top svg{fill:currentColor}
.kv .kv-bot{position:absolute;left:6%;right:6%;bottom:5%;display:flex;justify-content:space-between;font:500 .15em/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;z-index:3;opacity:.7}
.kv .kv-art>*{position:absolute;opacity:0;transition:opacity .5s}
.kv[data-arte="simbolo"] .a-sim,.kv[data-arte="gravura"] .a-gra,.kv[data-arte="retrato"] .a-por{opacity:1}
.kv .a-sim{right:-12%;top:-8%;width:95%;fill:none;stroke:var(--pink);stroke-width:1.2}
.kv .a-sim use{vector-effect:non-scaling-stroke}
.kv[data-tema="rosa"] .a-sim{stroke:#0a0a0a}
.kv .a-gra{right:-6%;top:-16%;height:132%}
.kv[data-tema="papel"] .a-gra,.kv[data-tema="rosa"] .a-gra{filter:invert(1)}
.kv .a-por{right:6%;top:6%;height:150%}
.d90 .card{min-height:340px;display:flex;flex-direction:column}
.d90 .v{font:100 124px/.86 var(--f-grot);letter-spacing:-.06em}
.d90 .h{margin-top:auto;padding-top:28px}
.d90 .p{margin-top:12px}
.links{position:absolute;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;border-top:1px solid var(--line);padding-top:26px}
.links a{text-decoration:none;transition:color .3s}
.links a:hover{color:var(--pink)}

/* ───────── interface fora do palco ───────── */
.hud{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;font:500 12px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:#cfcfcf;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent)}
body.ui .hud{opacity:1;transform:none;pointer-events:auto}
.hud .grp{display:flex;align-items:center;gap:6px}
.hud button,.ebar button{height:38px;padding:0 14px;border:1px solid rgba(237,237,237,.22);border-radius:99px;background:rgba(10,10,10,.6);transition:border-color .25s,background .25s,color .25s;white-space:nowrap}
.hud button:hover,.ebar button:hover{border-color:#ededed;color:#fff}
.hud button.pri,.ebar button.pri{background:var(--pink);border-color:var(--pink);color:#0a0a0a;font-weight:600}
.hud button.act{background:#ededed;color:#0a0a0a;border-color:#ededed}
.hud .cnt{font-family:var(--f-grot);font-size:14px;letter-spacing:.08em;min-width:86px;text-align:center}
.prog{position:fixed;left:0;bottom:0;height:3px;background:var(--pink);z-index:51;width:0;transition:width .55s var(--ease)}
.menu{position:fixed;inset:0;z-index:60;background:rgba(6,6,6,.97);color:#ededed;overflow-y:auto;padding:56px 64px 80px;opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.menu.open{opacity:1;visibility:visible;transition:opacity .35s}
.menu-hd{display:flex;justify-content:space-between;align-items:center;gap:16px;font:500 13px/1 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:#9a9a9a;padding-bottom:22px;border-bottom:1px solid rgba(237,237,237,.16)}
.menu-hd button{height:38px;padding:0 16px;border:1px solid rgba(237,237,237,.25);border-radius:99px}
.menu-cols{columns:4 260px;column-gap:40px;margin-top:34px}
.menu-sec{break-inside:avoid;margin-bottom:34px}
.menu-sec h3{font:500 26px/1 var(--f-display);letter-spacing:-.03em;margin:0 0 14px;color:#fff}
.menu-sec h3 span{font:300 15px var(--f-grot);color:#8f8f8f;margin-right:10px;letter-spacing:.04em}
.menu-sec button{display:flex;gap:12px;width:100%;text-align:left;padding:7px 0;font-size:15px;line-height:1.3;color:#a9a9a9;transition:color .2s}
.menu-sec button:hover,.menu-sec button.on{color:#fff}
.menu-sec button.on::after{content:"•";color:var(--pink)}
.menu-sec button i{font:400 12px var(--f-grot);font-style:normal;min-width:22px;opacity:.6;padding-top:2px}
.tip{position:fixed;left:50%;bottom:72px;transform:translateX(-50%);max-width:92vw;z-index:90;background:#ededed;color:#0a0a0a;padding:12px 18px;border-radius:99px;font:500 13px/1.2 var(--f-text);opacity:0;pointer-events:none;transition:opacity .3s;white-space:nowrap}
.tip.on{opacity:1}
/* modo edição */
.ebar{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:80;display:none;align-items:center;gap:8px;padding:8px 8px 8px 18px;border-radius:99px;background:rgba(16,16,16,.94);box-shadow:0 0 0 1px rgba(237,237,237,.18),0 18px 40px rgba(0,0,0,.5);font:500 12px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:#d5d5d5;white-space:nowrap}
html.editing .ebar{display:flex}
.ebar span i{font-style:normal;color:var(--pink)}
html.editing [data-eid]{outline:1px dashed rgba(255,0,140,.5);outline-offset:5px;cursor:text;border-radius:2px}
html.editing [data-eid]:hover{outline-style:solid}
html.editing [data-eid]:focus{outline:2px solid var(--pink)}

/* modo sem animação: index.html?still, e também durante a edição */
html.still *,html.still *::before,html.still *::after,html.editing .slide *,html.editing .slide *::before{animation:none!important;transition:none!important}
html.still [data-a],html.editing [data-a]{opacity:var(--o,1)!important}
html.still .w,html.editing .w{opacity:1!important}
html.still .draw,html.editing .draw{stroke-dashoffset:0!important}
html.still .blur-demo,html.editing .blur-demo{filter:none;opacity:1}
html.still .rp,html.editing .rp{opacity:calc(.85 - var(--i) * .08);transform:scale(calc((var(--i) + 1) / 9))}
html.editing .oof{filter:none;opacity:1}
html.editing .pull span{filter:none}

@media (prefers-reduced-motion:reduce){
  [data-a],.w,.draw{animation-duration:.01s!important;animation-delay:0s!important}
  .blur-demo,.ball,.rp{animation:none}
  .rp{opacity:calc(.85 - var(--i) * .08);transform:scale(calc((var(--i) + 1) / 9))}
}

/* ───────── PDF ───────── */
@page{size:1920px 1080px;margin:0}
@media print{
  html,body{height:auto;overflow:visible;background:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hud,.prog,.menu,.tip,.grain,.ebar,.scr{display:none!important}
  .snap,.ph{box-shadow:none!important}
  .deck{position:static;transform:none!important;width:1920px!important;height:auto!important}
  .slide{width:1920px!important;height:1080px!important;overflow:hidden!important;box-shadow:none!important;--bx:0px;--by:0px}
  .deck{overflow:visible!important}
  .slide{position:relative;inset:auto;opacity:1!important;visibility:visible!important;break-after:page;page-break-after:always;break-inside:avoid;transition:none!important}
  .slide:last-child{break-after:auto;page-break-after:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  [data-a]{opacity:var(--o,1)!important}
  .w{opacity:1!important}
  .draw{stroke-dashoffset:0!important}
  video.bgv{display:none}
  .player video{visibility:hidden}
  .player{background:#000 url("../assets/img/showreel-thumb.jpg?v=1791570368") center/cover}
  .blur-demo{filter:none;opacity:1}
  .rp{opacity:calc(.85 - var(--i) * .08);transform:scale(calc((var(--i) + 1) / 9))}
  .player .ov{opacity:1!important}
}

/* ═════════════ v0.4 ═════════════ */

/* cursor da marca */
.cur{position:fixed;left:0;top:0;z-index:200;pointer-events:none;opacity:0;transition:opacity .3s}
.cur.on{opacity:1}
.cur i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--cur,#ff008c);transition:background .3s}
.cur-r{position:fixed;left:-19px;top:-19px;width:38px;height:38px;border-radius:50%;z-index:199;pointer-events:none;box-shadow:inset 0 0 0 1px var(--cur,#ff008c);opacity:0;transition:opacity .35s,background .35s}
.cur-r.on{opacity:.45}
.cur-r.hit{opacity:1;background:rgba(255,0,140,.1)}
html.on-pink .cur-r.hit{background:rgba(0,0,0,.1)}
html.editing .cur-r{display:none}
.cur span{position:absolute;left:26px;top:20px;padding:7px 10px 6px;border-radius:6px;background:var(--cur,#ff008c);color:var(--curt,#0a0a0a);font:600 11px/1 var(--f-text);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .35s var(--out)}
.cur.lab span{opacity:1;transform:none}
html.on-pink{--cur:#0a0a0a;--curt:#ededed}
html.cur-on:not(.editing),html.cur-on:not(.editing) *{cursor:none!important}
html.editing .cur{display:none}

/* profundidade: figuras respondem ao cursor */
.chap .art{translate:calc(var(--px,0)*-22px) calc(var(--py,0)*-14px);transition:translate .9s var(--out)}
.lt .letter{translate:calc(var(--px,0)*16px) calc(var(--py,0)*10px);transition:translate .9s var(--out)}
.lt .cut,.slide>.cut{translate:calc(var(--px,0)*-18px) calc(var(--py,0)*-11px);transition:translate .9s var(--out)}
.slide>.sym-line{translate:calc(var(--px,0)*12px) calc(var(--py,0)*8px);transition:translate 1.2s var(--out)}
@property --ga{syntax:"<number>";inherits:true;initial-value:0}
.card,.card.inv,.card.lit,.logos div{background-image:radial-gradient(380px circle at var(--mx,-900px) var(--my,-900px),rgba(255,0,140,calc(.16*var(--ga))),transparent 62%);transition:--ga .6s var(--ease)}
.logos div{transition:--ga .6s var(--ease),background-color .35s var(--ease),transform .55s var(--spring)}
.attr .card{transition:--ga .6s var(--ease),background-color .35s var(--ease),color .35s,transform .55s var(--spring)}
.mod .card{transition:--ga .6s var(--ease),background-color .4s var(--ease),color .4s,transform .6s var(--spring)}
.card.glow,.logos div.glow{--ga:1}

/* números que rolam */
.od{display:inline-block;height:1em;line-height:1;overflow:hidden;padding:0 .3em;margin:0 -.3em;vertical-align:-.1em}
.od-s{display:block;line-height:1;transform:translateY(0);transition:transform 1.7s var(--ease)}
.slide.is-active .od-s,html.still .od-s,.pv-in .od-s{transform:translateY(calc(var(--v)*-10%))}

/* prévia de tela (índice e linha do tempo) */
.pv{position:fixed;z-index:150;width:400px;pointer-events:none;opacity:0;transform:translateY(8px) scale(.97);transition:opacity .2s,transform .3s var(--out);border-radius:14px;overflow:hidden;background:#0a0a0a;box-shadow:0 0 0 1px rgba(237,237,237,.22),0 24px 60px rgba(0,0,0,.65)}
.pv.on{opacity:1;transform:none}
.pv-in{position:relative;width:400px;height:225px;overflow:hidden}
.pv-in .slide{overflow:hidden;--bx:0px;--by:0px;position:absolute;left:0;top:0;transform:scale(.20834);transform-origin:0 0;opacity:1;visibility:visible}
.pv-in *,.pv-in *::before,.pv-in *::after{animation:none!important;transition:none!important}
.pv-in [data-a]{opacity:var(--o,1)!important}.pv-in .w{opacity:1!important}.pv-in .draw{stroke-dashoffset:0!important}
.pv-in .rp{opacity:calc(.85 - var(--i) * .08);transform:scale(calc((var(--i) + 1) / 9))}
.pv-cap{display:block;padding:9px 12px 10px;font:500 11px/1.2 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:#cfcfcf;background:#111}

/* controles: linha do tempo por capítulo */
.hud{flex-direction:column;align-items:stretch;gap:10px;padding:26px 18px 14px;background:linear-gradient(0deg,rgba(0,0,0,.88) 55%,transparent)}
.hud-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tlb{position:relative;display:flex;gap:3px}
.tlb-c{min-width:0;display:flex;flex-direction:column}
.tlb-c span{font:500 9px/1 var(--f-text);letter-spacing:.12em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#9a9a9a;margin-bottom:6px}
.tlb-c div{display:flex;gap:1px;height:16px;border-radius:4px;overflow:hidden}
.tlb-c i{flex:1;background:#303030;transition:background .2s,transform .2s}
.tlb-c i:hover{background:#ededed}
.tlb-c i.on{background:var(--pink)}
.tlb-h{display:none}
.fr-tc{font-family:var(--f-grot);letter-spacing:.08em;text-align:center}
.fr-bot{grid-template-columns:3fr 2fr 3fr}

/* projetos */
.projs{position:absolute;inset:140px var(--m) 100px;display:flex;gap:12px;z-index:3}
.proj{position:relative;flex:1 1 0;min-width:0;border-radius:24px;overflow:hidden;background:#000;transition:flex-grow .75s var(--ease)}
.projs:hover .proj{flex-grow:.6}
.projs .proj:hover,.projs .proj.playing{flex-grow:5.4}
.proj .cv,.proj video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.proj.playing video{object-fit:contain;background:#000}
.proj .cv{opacity:.7;transition:opacity .5s}
.proj:hover .cv{opacity:1}
.proj::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.04) 46%,rgba(0,0,0,.55));pointer-events:none;transition:opacity .5s}
.proj.playing::after{opacity:.3}
.proj .lg{position:absolute;left:18px;right:18px;top:24px;height:62px;z-index:2;display:flex;align-items:center;justify-content:center;font:600 21px/1 var(--f-display);letter-spacing:-.01em;color:#ececec;white-space:nowrap}
.proj .lg img{width:100%;height:100%;max-width:270px;object-fit:contain;object-position:center}
.proj .inf{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}
.proj .inf b{display:block;font:500 24px/1.06 var(--f-display);letter-spacing:-.03em;color:#ededed}
.proj .inf span{display:block;margin-top:10px;font:500 11px/1.35 var(--f-text);letter-spacing:.14em;text-transform:uppercase;color:#bdbdbd}
.proj.playing .inf{opacity:0;transition:opacity .4s}
.projs-hint{position:absolute;left:0;right:0;bottom:68px;text-align:center;z-index:3}

/* fotos: recorte vetorial, revelação em pixels, arraste acima do texto */
.nf{background:none;overflow:visible;border-radius:0}
.nf:has(.nt.bl),.nf:has(.nt.tr){border-radius:0}
.nf img,.nf canvas.pix{border-radius:var(--r);clip-path:var(--clip)}
.nt{background:none}.nt::before,.nt::after{display:none}
.nt.bl{left:2px;bottom:2px;padding:0;border-radius:0}
.nt.tr{right:2px;top:0;padding:0;border-radius:0}
canvas.pix{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;transition:opacity .4s}
canvas.pix.out{opacity:0}
.ph{position:relative}
.dw{z-index:4}
.fd img{-webkit-mask-image:none;mask-image:none;opacity:1}
svg[data-squiggle]{overflow:visible}
.rp1{position:absolute;width:0;height:0;z-index:1;pointer-events:none}
.rp1::before{content:"";position:absolute;left:-420px;top:-420px;width:840px;height:840px;border-radius:50%;border:1.6px solid var(--pink);animation:rp1 2.5s var(--out) both}
@keyframes rp1{from{transform:scale(.02);opacity:.9}to{transform:scale(1);opacity:0}}

/* viradas, camadas e linha da marca */
.turns{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.turns .card{height:500px;padding:28px 28px 30px;display:flex;flex-direction:column}
.turns .y{font:100 92px/.86 var(--f-grot);letter-spacing:-.06em}
.turns .h{font-size:30px;margin-top:auto}
.turns .p{font-size:18.5px;line-height:1.42;margin-top:14px}
.lanes{position:relative}
.lanes .ax{display:flex;margin-left:330px;font:400 13px/1 var(--f-grot);letter-spacing:.08em;color:var(--mut);padding-bottom:12px}
.lanes .ax span{flex:1;border-left:1px solid var(--line);padding-left:8px}
.lane{display:grid;grid-template-columns:330px 1fr;align-items:center;height:58px;border-top:1px solid var(--line)}
.lane:last-child{border-bottom:1px solid var(--line)}
.lane .nm{font:500 22px/1.1 var(--f-display);letter-spacing:-.02em;display:flex;gap:14px;align-items:baseline}
.lane .nm i{font:400 12px/1 var(--f-grot);font-style:normal;color:var(--mut);letter-spacing:.08em;min-width:24px}
.lane .tk{position:relative;height:100%;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),var(--line) calc(12.5% - 1px) 12.5%)}
.lane .tk b{position:absolute;top:12px;bottom:12px;border-radius:8px;background:var(--fg);transform-origin:left;display:flex;align-items:center;padding-left:12px;font:500 12px/1 var(--f-text);letter-spacing:.1em;text-transform:uppercase;color:var(--bg);white-space:nowrap;overflow:hidden}
.lane.hot .tk b{background:var(--pink);color:#0a0a0a}
.road{position:relative;display:grid;grid-template-columns:repeat(7,1fr);column-gap:16px}
.road::before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:var(--line)}
.road div{position:relative;padding-top:38px}
.road div::before{content:"";position:absolute;left:0;top:2px;width:13px;height:13px;border-radius:50%;background:var(--bg);border:1px solid var(--fg)}
.road .now::before{background:var(--pink);border-color:var(--pink);box-shadow:0 0 0 6px rgba(255,0,140,.2)}
.road .fut::before{border-style:dashed}
.road .y{font:200 46px/1 var(--f-grot);letter-spacing:-.04em}
.road .h{font-size:24px;margin-top:14px}
.road .p{font-size:17px;line-height:1.42;margin-top:10px}
.road .fut{color:var(--mut)}
.quote{font:500 124px/.92 var(--f-display);letter-spacing:-.055em}

/* identidade: construção, usos, cor, escultura e textura */
.build{position:absolute;right:var(--m);top:150px;width:900px;height:830px;z-index:2;color:var(--fg)}
.build text{font:500 15px var(--f-text);letter-spacing:.12em;fill:var(--mut);text-transform:uppercase}
.uses{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.use.pp{box-shadow:inset 0 0 0 1px var(--line)}
.use{position:relative;height:250px;border-radius:20px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.use img{width:46%}
.use i{position:absolute;left:14px;bottom:12px;right:14px;font:500 11px/1.3 var(--f-text);letter-spacing:.12em;text-transform:uppercase;font-style:normal;opacity:.75}
.use.no::after{content:"";position:absolute;left:12px;top:12px;width:22px;height:22px;border-radius:50%;background:linear-gradient(45deg,transparent 46%,#0a0a0a 46% 54%,transparent 54%),linear-gradient(-45deg,transparent 46%,#0a0a0a 46% 54%,transparent 54%),var(--pink)}
.use.yes::after{content:"";position:absolute;left:12px;top:12px;width:22px;height:22px;border-radius:50%;box-shadow:inset 0 0 0 1.5px currentColor;opacity:.6}
.combos{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.combo{border-radius:var(--r);padding:26px 28px 28px;height:270px;display:flex;flex-direction:column;justify-content:space-between}
.combo .aa{font:500 64px/.9 var(--f-display);letter-spacing:-.05em}
.combo .r{font:300 44px/1 var(--f-grot);letter-spacing:-.03em}
.combo .n{font:500 12px/1.4 var(--f-text);letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.scope{position:absolute;right:120px;top:150px;width:800px;height:800px;z-index:2;color:var(--fg)}
.scope text{font:500 15px var(--f-grot);letter-spacing:.06em;fill:var(--mut)}
.figs{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.fig-c{position:relative;height:262px;border-radius:20px;background:#000;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.fig-c img{position:absolute;left:50%;top:12px;height:166px;transform:translateX(-50%)}
.fig-c b{position:absolute;left:16px;bottom:34px;font:500 21px/1 var(--f-display);letter-spacing:-.02em;color:#ededed}
.fig-c span{position:absolute;left:16px;right:12px;bottom:14px;font:500 10.5px/1.2 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:#8f8f8f}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.step{position:relative;height:590px;border-radius:24px;background:#000;box-shadow:inset 0 0 0 1px var(--line);overflow:hidden}
.step img{position:absolute;left:50%;top:26px;height:390px;transform:translateX(-50%)}
.step .n{position:absolute;left:24px;top:22px;font:400 15px/1 var(--f-grot);letter-spacing:.06em;color:var(--mut);z-index:2}
.step::after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(0deg,#000 46%,transparent)}
.step .cap{z-index:2;position:absolute;left:24px;right:24px;bottom:22px;font:500 12px/1.45 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:#a8a8a8}
.step .cap b{display:block;font:500 28px/1 var(--f-display);text-transform:none;letter-spacing:-.03em;margin-bottom:10px;color:#ededed}
.pairs{display:grid;grid-template-columns:1fr 60px 1fr;row-gap:0}
.pairs>*{padding:19px 0;border-top:1px solid var(--line);font:500 30px/1.1 var(--f-display);letter-spacing:-.03em}
.pairs .x{color:var(--pink);text-align:center;font-family:var(--f-grot);font-weight:300}
.pairs small{display:block;font:400 17px/1.35 var(--f-text);letter-spacing:0;color:var(--mut);margin-top:6px}
.swz{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.swz div{position:relative;height:300px;border-radius:24px;overflow:hidden;background:#000;box-shadow:inset 0 0 0 1px var(--line)}
.swz .cap{position:absolute;left:22px;right:22px;bottom:18px;font:500 12px/1.45 var(--f-text);letter-spacing:.12em;text-transform:uppercase;color:#a8a8a8;z-index:2}
.swz .cap b{display:block;font:500 26px/1 var(--f-display);text-transform:none;letter-spacing:-.03em;margin-bottom:8px;color:#ededed}
.swz .z{position:absolute;inset:0 0 86px 0}
.z-ret{background:radial-gradient(circle,#ededed 34%,transparent 37%) 0 0/34px 34px,radial-gradient(circle,#ededed 34%,transparent 37%) 17px 17px/34px 34px}
.z-gr{opacity:.9;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .93  0 0 0 0 .93  0 0 0 0 .93  0 0 0 1.4 -.45'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>")}
.z-px{background:conic-gradient(#ededed 25%,#ff008c 0 50%,#1c1c1c 0 75%,#8f8f8f 0) 0 0/68px 68px}

@media print{
  .cur,.cur-r,.pv,.projs-hint,canvas.pix,.rp1{display:none!important}
  .hv-lens .card::before,.fd::after{display:none!important}
  .deck{--px:0!important;--py:0!important}
  .art,.cut,.fd img,.kv .a-por,.dots,.kv .a-ret{-webkit-mask-image:none!important;mask-image:none!important}
  .od-s{transform:translateY(calc(var(--v)*-10%))!important}
  .card,.logos div{background-image:none!important}
}

/* ── rodada 5: onda no clique em qualquer tela, hover dos cartões por tela, campo de direção ── */
.rp1{z-index:6}
.rp1::before{left:-360px;top:-360px;width:720px;height:720px;border-width:1.4px;animation-duration:2.2s}
.t-pink .rp1::before{border-color:#0a0a0a}
@keyframes rp1{from{transform:scale(.02);opacity:.75}to{transform:scale(1);opacity:0}}
.card,.card.inv,.card.lit{transition:--ga .6s var(--ease),translate .7s var(--out),scale .7s var(--out),box-shadow .5s var(--ease),background-color .45s var(--ease),opacity .45s var(--ease)}
.logos div{transition:--ga .6s var(--ease),translate .7s var(--out),box-shadow .5s var(--ease),background-color .35s var(--ease),transform .55s var(--spring)}
:where(.card)>:where(p,h3,img,svg,.ic){transition:translate .8s var(--out),scale .8s var(--out),filter .45s var(--ease),opacity .45s var(--ease)}
/* 1 · elevação */
.hv-lift .card.glow,.hv-lift .logos div.glow{translate:0 -10px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.hv-lift.t-dark .card.glow:not(.inv,.lit),.hv-lift.t-dark .logos div.glow{background-color:#1c1c1c}
.hv-lift.t-light .card.glow:not(.inv,.lit){background-color:#fff}
/* 2 · paralaxe: o cartão acompanha o cursor e o conteúdo anda um pouco mais */
.hv-par .card.glow,.hv-par .logos div.glow{translate:calc(var(--hx,0)*9px) calc(var(--hy,0)*7px)}
.hv-par .card.glow>:where(p,h3,svg,.ic){translate:calc(var(--hx,0)*7px) calc(var(--hy,0)*5px)}
.hv-par .card.glow>img{translate:calc(var(--hx,0)*-9px) calc(var(--hy,0)*-6px);scale:1.07}
.hv-par .logos div.glow img{translate:calc(var(--hx,0)*8px) calc(var(--hy,0)*6px)}
.logos img{transition:translate .8s var(--out)}
/* 3 · foco: os vizinhos recuam e o texto de apoio deles desfoca */
.hv-focus:has(.card.glow) .card:not(.glow):not(:has(.card.glow)){opacity:.55}
.hv-focus:has(.card.glow) .card:not(.glow):not(:has(.card.glow))>:where(p,h3){filter:blur(1.6px)}
.hv-focus .card.glow{translate:0 -4px}
/* 4 · lente: desfoque suave em um raio que segue o cursor */
.hv-lens .card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;opacity:var(--ga);-webkit-backdrop-filter:blur(2.6px);backdrop-filter:blur(2.6px);-webkit-mask-image:radial-gradient(150px circle at var(--mx,-900px) var(--my,-900px),#000 15%,transparent 100%);mask-image:radial-gradient(150px circle at var(--mx,-900px) var(--my,-900px),#000 15%,transparent 100%)}
.hv-lens.t-dark .card.glow:not(.inv,.lit){background-color:#1a1a1a}
/* fundamentos: o brilho passa por cima da gravura, em vez de ficar cortado por ela */
.card.fd{background-image:none}
.fd::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:2;mix-blend-mode:screen;background:radial-gradient(520px circle at var(--mx,-900px) var(--my,-900px),rgba(255,0,140,calc(.2*var(--ga))),transparent 68%)}
.fd img{transform-origin:50% 50%}
/* campo de direção (essência) */
svg[data-field]{overflow:visible;z-index:1}
svg[data-field] line{stroke-linecap:round}

/* tons de apoio */
.tn-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:16px}
.tn i{display:flex;align-items:flex-end;height:150px;border-radius:22px;padding:16px 18px;box-shadow:inset 0 0 0 1px rgba(237,237,237,.14);font-style:normal}
.tn i b{font:500 15px/1 var(--f-grot);letter-spacing:.06em}
.tn .nm{font:500 24px/1.1 var(--f-display);letter-spacing:-.03em;margin-top:14px}
.tn .us{font-size:16px;line-height:1.35;color:var(--mut);margin-top:6px}

.tn-row:has(>.tn:nth-child(5):last-child){grid-template-columns:repeat(5,1fr)}

/* clipe curto da linha do tempo: alarga o bastante para caber o nome */
.clip.tight{width:auto!important;min-width:max-content;overflow:visible}

/* janela que não é 16:9: a tela fica no centro, em 1920×1080, e só os fundos se estendem até as bordas */
.slide>.tex,.chap::after,.slide>.fill:not([style*="px"]),.slide>video.bgv:not([style]){inset:calc(var(--by,0px)*-1) calc(var(--bx,0px)*-1);width:auto;height:auto}
.slide>video.bgv:not([style]){width:calc(100% + var(--bx,0px)*2);height:calc(100% + var(--by,0px)*2)}

/* logos com muita margem no arquivo: compensam no cartão de projeto */
.proj .lg img[src*="natura"]{scale:1.5}
.proj .lg img[src*="movida"]{scale:1.45}
