/* ═══════════════════════════════════════════════════════════
   EXTEMPORÂNEA 2026 — base partilhada (versão clara)
   Organização + animações da edição dark, recoloridas para a
   identidade gráfica clara · Thunder · controlos quadrados
   Paleta: azul #1B8FE4 · mint #C8E1B8 · rosa #E8C5D0 · lilás #8E7DC7
   ═══════════════════════════════════════════════════════════ */

/* ── THUNDER ── */
@font-face { font-family:'Thunder'; src:url('../assets/fonts/Thunder-LightLC.ttf')    format('truetype'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Thunder'; src:url('../assets/fonts/Thunder-LC.ttf')         format('truetype'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Thunder'; src:url('../assets/fonts/Thunder-MediumLC.ttf')   format('truetype'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Thunder'; src:url('../assets/fonts/Thunder-SemiBoldLC.ttf') format('truetype'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Thunder'; src:url('../assets/fonts/Thunder-BoldLC.ttf')     format('truetype'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Thunder'; src:url('../assets/fonts/Thunder-ExtraBoldLC.ttf')format('truetype'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Thunder'; src:url('../assets/fonts/Thunder-BlackLC.ttf')    format('truetype'); font-weight:900; font-style:normal; font-display:swap; }

/* ── TOKENS ── */
:root{
  --paper:     #FAFAF5;
  --bg:        #FFFFFF;
  /* tipografia toda em azul — escala tirada dos tons do logo */
  --ink:       #0C3C80;   /* azul profundo — texto base / corpo */
  --ink-soft:  #2D5BA0;   /* azul médio — corpo secundário */
  --ink-dim:   #7B97C8;   /* azul esbatido — metas / labels */

  --blue:       #006CE4;  /* azul nuclear do logo — títulos / links / destaque */
  --blue-deep:  #0056C0;  /* azul mais fundo — hover / estados fortes */
  --blue-bright:#00A8FC;  /* azul-glow claro do logo — acentos brilhantes */
  --blue-soft:  #BCD9F0;
  --mint:      #C8E1B8;
  --mint-soft: #E6F0DA;
  --mint-deep: #5d8a3f;
  --cream:     #F4EFD8;
  --cream-soft:#FBF7E5;
  --pink:      #E8C5D0;
  --pink-soft: #F3DEE6;
  --lilac:     #8E7DC7;
  --lilac-deep:#6D5BA8;

  --accent:    var(--blue);
  --line:      rgba(12,60,128,.16);
  --line-soft: rgba(12,60,128,.08);

  --font: 'Thunder', system-ui, -apple-system, sans-serif;
  /* só Thunder em toda a landing page — as labels deixam de ser monospace */
  --mono: 'Thunder', system-ui, -apple-system, sans-serif;

  --max:  1480px;
  --pad:  clamp(20px, 5vw, 80px);

  --e-out:  cubic-bezier(.16,1,.3,1);
  --e-soft: cubic-bezier(.22,.61,.36,1);
}

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

html{
  background:var(--paper); -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;       /* transição nativa ao clicar nas âncoras */
  scroll-padding-top:84px;      /* secção pára por baixo da navbar fixa, não escondida */
}

body{
  font-family:var(--font);
  font-weight:300;
  color:var(--ink);
  background:var(--paper);
  line-height:1.5;
  overflow-x:hidden;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body.is-loading{ overflow:hidden; height:100vh; }
body.modal-open{ overflow:hidden; }

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; color:inherit; background:none; border:none; cursor:pointer; }
::selection{ background:var(--blue); color:#fff; }

.svg-defs{ position:absolute; width:0; height:0; overflow:hidden; }

/* ── TYPE SCALE ── */
.mono{ font-family:var(--mono); font-weight:400; letter-spacing:.16em; text-transform:uppercase; font-size:.72rem; }

.t-sub{
  font-weight:300; font-size:clamp(1.4rem,3.6vw,3rem);
  line-height:.95; letter-spacing:.12em; text-transform:lowercase; color:var(--blue);
}
.t-display{
  font-weight:500; font-size:clamp(1.8rem,4.6vw,3.9rem);
  line-height:1.06; letter-spacing:.01em;
}
.t-card{
  font-weight:700; font-size:clamp(2rem,4.4vw,3.4rem);
  line-height:.9; letter-spacing:.01em; text-transform:uppercase;
}

/* ═══════════ PRELOADER ═══════════ */
.loader{
  position:fixed; inset:0; z-index:2000;
  background:var(--paper);
  display:flex; align-items:center; justify-content:center;
  transition:opacity 1.8s ease, visibility 1.8s ease;
}
.loader.is-done{ opacity:0; visibility:hidden; pointer-events:none; }
.loader__word{ color:var(--blue); font-size:.8rem; letter-spacing:.5em; opacity:.55; }
.loader.is-done .loader__word{ opacity:0; transition:opacity 1.2s ease; }

/* ═══════════ NAV ═══════════ */
.nav{
  position:fixed; inset:0 0 auto 0; z-index:200;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  padding:20px var(--pad);
  transition:padding .4s var(--e-out), background .4s ease, backdrop-filter .4s ease;
}
.nav.is-scrolled{
  padding-top:13px; padding-bottom:13px;
  background:rgba(250,250,245,.82);
  backdrop-filter:blur(14px) saturate(130%);
  -webkit-backdrop-filter:blur(14px) saturate(130%);
  border-bottom:1px solid var(--line-soft);
}
.nav__mark{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.34em; font-weight:500;
  color:var(--ink); display:flex; white-space:nowrap;
}
.nav__mark-x{ color:var(--blue); }
.nav__mark-rest{ overflow:hidden; max-width:0; opacity:0; transition:max-width .5s var(--e-out), opacity .4s ease; }
.nav.is-scrolled .nav__mark-rest{ max-width:14ch; opacity:1; }
/* logo no lugar do wordmark de texto — só aparece depois da hero sair de vista */
.nav__logo{
  height:clamp(26px,3vw,40px); width:auto; display:block;
  transition:opacity .55s var(--e-out), transform .55s var(--e-out), height .4s var(--e-out);
}
.has-js .nav__logo{ opacity:0; transform:translateY(-9px); pointer-events:none; }
.has-js .nav.is-past-hero .nav__logo{ opacity:1; transform:none; pointer-events:auto; }
.nav.is-scrolled .nav__logo{ height:clamp(22px,2.4vw,32px); }
.nav__right{ display:flex; align-items:center; gap:clamp(16px,2.4vw,34px); }
.nav__links{ display:flex; gap:clamp(16px,2.4vw,34px); list-style:none; }
.nav__link{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft); position:relative; padding:4px 0; transition:color .3s ease;
}
.nav__link::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--blue); transition:width .35s var(--e-out); }
.nav__link:hover{ color:var(--blue-deep); }
.nav__link:hover::after{ width:100%; }

.nav__lang{
  border:1px solid var(--line); padding:6px 11px; display:flex; gap:3px;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.1em; color:var(--ink-soft);
  transition:border-color .3s, color .3s;
}
.nav__lang:hover{ border-color:var(--blue); }
.nav__lang .lang-pt,.nav__lang .lang-en,.nav__lang .lang-sep{ opacity:.45; transition:opacity .3s, color .3s; }
.nav__lang .is-active{ opacity:1; color:var(--blue-deep); }

.nav__burger{ display:none; width:30px; height:24px; flex-direction:column; justify-content:center; gap:6px; }
.nav__burger span{ display:block; width:26px; height:1.5px; background:var(--ink); transition:transform .3s, opacity .3s; }

/* ═══════════ HERO ═══════════ */
main{ position:relative; z-index:2; background:var(--paper); }

.hero{
  position:relative; z-index:2;
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:clamp(120px,16vh,190px) var(--pad) clamp(48px,8vh,90px);
  overflow:hidden;
  background:var(--paper);
}
/* imagem gráfica de fundo (parallax via JS) */
.hero__bg{
  position:absolute; inset:-14% 0 0 0; z-index:0; pointer-events:none;
  background:url('../assets/hero/graphic.jpg') center top / cover no-repeat;
}
/* véu de legibilidade + esbatimento para paper em baixo */
.hero__bg::after{
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(250,250,245,.34) 0%, rgba(250,250,245,0) 26%,
      rgba(250,250,245,0) 50%, rgba(250,250,245,.72) 84%, var(--paper) 100%);
}
/* canvas do shader pastel (véu animado) */
.hero__veil{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  display:block; width:100%; height:100%;
  mix-blend-mode:soft-light; opacity:.9;
}
.no-veil .hero__veil{ display:none; }
.hero__grain{
  position:absolute; inset:0; z-index:1; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

.hero__inner{ position:relative; z-index:3; width:100%; max-width:var(--max); margin:0 auto; }

.hero__kicker{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  color:var(--ink-soft); font-size:.74rem; letter-spacing:.24em; margin-bottom:clamp(20px,4vh,40px);
  text-shadow:0 1px 16px rgba(250,250,245,.9);
}
.hero__kicker i{ color:var(--blue); font-style:normal; }

.hero__logo{ position:relative; width:min(1180px,100%); }
/* logo = <svg><image filter=url(#liquid)> — sem viewBox, por isso o filtro
   trabalha em px (efeito idêntico ao antigo) e funciona em Safari/WebKit.
   aspect-ratio dá altura ao svg; overflow:visible para o líquido não cortar. */
.hero__logo-img{
  width:100%; height:auto; display:block;
  aspect-ratio:1600 / 761;
  overflow:visible;
  filter:drop-shadow(0 16px 34px rgba(14,111,184,.20));
  will-change:transform;
}

.hero__base{
  margin-top:clamp(24px,4vh,48px);
  display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:clamp(20px,4vw,60px);
}
.hero__sub{ flex:1 1 280px; text-shadow:0 1px 16px rgba(250,250,245,.85); }
.hero__meta{ text-align:right; }
.hero__date{
  font-weight:800; font-size:clamp(2.6rem,7vw,6rem); line-height:.82; letter-spacing:.01em; color:var(--ink);
  text-shadow:0 1px 20px rgba(250,250,245,.7);
}
.hero__date span{ color:var(--blue); }
.hero__info{ margin-top:14px; color:var(--blue-deep); font-size:.7rem; letter-spacing:.18em; text-shadow:0 1px 14px rgba(250,250,245,.9); }

.hero__scroll{
  position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:var(--ink-soft); font-size:.62rem; letter-spacing:.3em;
}
.hero__scroll-line{ width:1px; height:46px; background:linear-gradient(var(--blue),transparent); animation:scrollLine 2s ease-in-out infinite; }
@keyframes scrollLine{ 0%,100%{ transform:scaleY(.3); opacity:.3; transform-origin:top; } 50%{ transform:scaleY(1); opacity:1; transform-origin:top; } }

/* ── TAPE ── */
.tape{ position:relative; overflow:hidden; }
.tape--hero{
  position:absolute; z-index:2; left:-10%; right:-10%; top:36%;
  transform:rotate(-12deg); pointer-events:none;
}
.tape__run{
  display:flex; white-space:nowrap; width:max-content;
  background:var(--mint);
  padding:clamp(8px,1.1vw,14px) 0;
}
.tape__run span{
  font-family:var(--font); font-weight:800; text-transform:uppercase;
  font-size:clamp(1.1rem,2vw,1.7rem); letter-spacing:.04em; color:var(--ink);
  padding:0 .5em; display:inline-flex; align-items:center; gap:.5em;
}
.tape__run span i{ color:var(--blue); font-style:normal; }

/* ═══════════ TICKER ═══════════ */
.ticker{
  position:relative; z-index:3;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background:var(--cream-soft); overflow:hidden;
}
.ticker__run{ display:flex; white-space:nowrap; width:max-content; padding:16px 0; }
.ticker__run span{
  font-weight:700; text-transform:uppercase; font-size:clamp(1.1rem,2.2vw,1.8rem);
  letter-spacing:.02em; color:var(--ink); padding:0 .6em; display:inline-flex; align-items:center; gap:.6em;
}
.ticker__run span i{ color:var(--blue); font-style:normal; font-size:.7em; }

/* ═══════════ SECTIONS ═══════════ */
.sobre, .programa, .info{ position:relative; z-index:3; background:var(--paper); }
.section{ position:relative; z-index:3; max-width:var(--max); margin:0 auto; padding:clamp(80px,13vh,170px) var(--pad); }
.section__head{
  display:flex; align-items:baseline; gap:clamp(14px,2vw,28px);
  margin-bottom:clamp(40px,7vh,90px); flex-wrap:wrap;
}
.section__idx{ color:var(--blue-deep); font-size:.8rem; }
.section__title{
  font-weight:800; font-size:clamp(2.6rem,9vw,7rem); line-height:.84;
  letter-spacing:.01em; text-transform:uppercase; color:var(--blue);
}
.section__rule{ flex:1; height:1px; background:var(--line); min-width:40px; align-self:center; }
.section__count{ color:var(--ink-soft); font-size:.72rem; }

/* ── SOBRE ── */
.sobre__lead-wrap{ max-width:1100px; margin-bottom:clamp(48px,7vh,90px); }
.sobre__lead{ color:var(--ink); font-weight:300; letter-spacing:.1em; }
.sobre__lead .wd{ display:inline-block; opacity:.18; transition:opacity .5s var(--e-out); }
.sobre__lead .wd.hot{ opacity:1; }
.sobre__lead .wd.accent{ color:inherit; }

.sobre__cols{ display:grid; grid-template-columns:1.5fr .9fr; gap:clamp(36px,6vw,90px); align-items:start; }
.sobre__body p{
  font-weight:400; font-size:calc(clamp(1.02rem,1.4vw,1.28rem) + 2px); line-height:1.66;
  letter-spacing:.125em; color:var(--ink-soft); margin-bottom:1.3em; max-width:60ch;
}
.sobre__body .sobre__about{ color:var(--blue-deep); }

/* "Saber mais" — bloco que expande + botão quadrado azul */
.sobre__more[hidden]{ display:none; }
.sobre__more p:last-child{ margin-bottom:0; }
.sobre__toggle{
  margin-top:18px; display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--blue); border:1px solid var(--blue); padding:13px 22px;
  background:transparent; transition:background .3s var(--e-out), color .3s var(--e-out);
}
.sobre__toggle:hover{ background:var(--blue); color:#fff; }
.sobre__toggle-icon{ font-size:1.15em; line-height:1; transition:transform .4s var(--e-out); }
.sobre__toggle.is-open .sobre__toggle-icon{ transform:rotate(45deg); }

.sobre__facts{ border-top:1px solid var(--line); }
.fact{
  display:flex; flex-direction:column; gap:6px;
  padding:18px 0; border-bottom:1px solid var(--line-soft);
}
.fact__k{ color:var(--ink-dim); font-size:.64rem; }
.fact__v{ font-weight:400; font-size:clamp(1.1rem,1.6vw,1.5rem); letter-spacing:.02em; color:var(--ink); }
.fact__v--hi{ color:var(--blue); }

/* ═══════════ PROGRAMA / RAIL (partilhado pelas duas versões) ═══════════ */
.programa{ max-width:none; padding-left:0; padding-right:0; }
.programa .section__head{ max-width:var(--max); margin-left:auto; margin-right:auto; padding:0 var(--pad); }
.rail{ position:relative; overflow:hidden; cursor:grab; padding:14px 0; }
.rail:active{ cursor:grabbing; }
.rail__track{
  display:flex; gap:clamp(20px,3vw,56px);
  padding:0 var(--pad); width:max-content;
  align-items:center; will-change:transform;
}
.card{ flex:0 0 auto; }
.card__btn{ display:block; width:100%; text-align:left; position:relative; }
.rail__hint{ margin:26px var(--pad) 0; color:var(--ink-dim); font-size:.66rem; }

/* ── INFO / CTA ── */
.info{ text-align:center; }
.info__kicker{ color:var(--blue-deep); font-size:.8rem; letter-spacing:.34em; }
.info__date{
  font-weight:900; font-size:clamp(4rem,18vw,15rem); line-height:.82; letter-spacing:-.01em;
  color:var(--ink); margin:.12em 0 .1em;
}
.info__dot{ color:var(--blue); }
.info__line{ color:var(--blue-deep); font-size:clamp(.7rem,1.3vw,.92rem); letter-spacing:.16em; }
.info__actions{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-top:clamp(30px,5vh,54px); }
.btn{
  font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase;
  padding:16px 30px; border:1px solid var(--blue); transition:.3s var(--e-out);
}
.btn--solid{ background:var(--blue); color:#fff; }
.btn--solid:hover{ background:var(--blue-deep); border-color:var(--blue-deep); }
.btn--ghost{ color:var(--blue-deep); }
.btn--ghost:hover{ background:var(--blue); border-color:var(--blue); color:#fff; }

/* ═══════════ MODAL (realinhado) ═══════════ */
.modal{
  position:fixed; inset:0; z-index:1000; opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .4s ease, visibility .4s ease;
}
.modal.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
.modal__overlay{ position:absolute; inset:0; background:rgba(26,26,46,.5); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); cursor:pointer; }
.modal__panel{
  --accent:var(--blue-deep); --frame:var(--cream-soft);
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-46%); opacity:0;
  width:min(1080px,94vw); max-height:92vh; overflow-y:auto; overscroll-behavior:contain;
  background:var(--paper);
  border:clamp(8px,1.2vw,18px) solid var(--frame);
  border-radius:6px;
  box-shadow:0 40px 120px rgba(26,26,46,.4);
  transition:transform .5s var(--e-out), opacity .5s var(--e-out);
}
.modal.is-open .modal__panel{ transform:translate(-50%,-50%); opacity:1; }
/* molduras mantêm a cor de cada performance; o TEXTO de acento é sempre azul */
.modal--cream .modal__panel{ --frame:var(--cream-soft); --accent:var(--blue-deep); }
.modal--pink  .modal__panel{ --frame:var(--pink-soft);  --accent:var(--blue-deep); }
.modal--mint  .modal__panel{ --frame:var(--mint-soft);  --accent:var(--blue-deep); }

.modal__bar{
  position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between;
  padding:13px clamp(16px,3vw,26px); background:var(--frame);
}
.modal__count{ color:var(--accent); font-size:.78rem; letter-spacing:.14em; }
.modal__count b{ font-weight:700; }
.modal__bar-actions{ display:flex; align-items:center; gap:8px; }
.modal__step{ width:38px; height:38px; border:1px solid var(--line); background:rgba(250,250,245,.6); color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:1rem; transition:.3s; }
.modal__step:hover{ background:var(--ink); color:var(--paper); }
.modal__close{ width:38px; height:38px; border:1px solid var(--line); background:rgba(250,250,245,.6); color:var(--ink); display:flex; align-items:center; justify-content:center; font-size:.95rem; transition:.3s; }
.modal__close:hover{ background:var(--ink); color:var(--paper); transform:rotate(90deg); }

.modal__hero{ position:relative; aspect-ratio:16/9; max-height:46vh; min-height:240px; overflow:hidden; background:var(--blue-soft); }
.modal__cover{ width:100%; height:100%; object-fit:cover; }
.modal__hero::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(26,26,46,.2) 0%, rgba(26,26,46,0) 30%, rgba(26,26,46,0) 46%, rgba(26,26,46,.8) 100%); }
.modal__chip{ position:absolute; top:16px; left:16px; z-index:2; color:var(--paper); font-size:.62rem; border:1px solid rgba(255,255,255,.34); padding:6px 11px; background:rgba(26,26,46,.32); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
/* CRÉDITO DA IMAGEM — sobre a imagem, com © */
.modal__credit{ position:absolute; bottom:14px; right:16px; z-index:2; color:rgba(250,250,245,.86); font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-shadow:0 1px 8px rgba(26,26,46,.7); }
.modal__heading{ position:absolute; left:clamp(18px,4vw,40px); right:clamp(18px,4vw,40px); bottom:clamp(18px,4vh,32px); z-index:2; }
.modal__kicker{ color:rgba(250,250,245,.82); font-size:.64rem; }
.modal__title{ color:var(--paper); margin:8px 0 6px; }
.modal__authors{ color:var(--paper); font-size:.72rem; letter-spacing:.12em; text-transform:none; opacity:.92; }

.modal__body{ display:grid; grid-template-columns:1.62fr 1fr; gap:clamp(28px,4vw,56px); padding:clamp(30px,5vh,52px) clamp(22px,4vw,52px); }
.block-label{ color:var(--accent); font-size:.7rem; letter-spacing:.2em; margin:28px 0 12px; }
.block-label:first-child{ margin-top:0; }
.modal__main p{ font-weight:300; font-size:1.02rem; line-height:1.72; color:var(--ink-soft); margin-bottom:14px; }
.modal__main p strong{ font-weight:600; color:var(--ink); }
.modal__main a{ color:var(--blue); border-bottom:1px solid currentColor; transition:opacity .3s; }
.modal__main a:hover{ opacity:.6; }
.modal__aside{ display:flex; flex-direction:column; gap:14px; align-self:start; position:sticky; top:74px; }
.side-block{ padding:15px 17px; background:var(--frame); }
.side-label{ display:block; color:var(--accent); font-size:.62rem; letter-spacing:.16em; margin-bottom:6px; }
.side-block p{ font-size:.94rem; color:var(--ink); line-height:1.5; }

.modal__others{ padding:clamp(24px,4vh,38px) clamp(22px,4vw,52px) clamp(32px,5vh,46px); border-top:1px solid var(--line); }
.modal__others-label{ display:block; color:var(--ink-soft); font-size:.7rem; letter-spacing:.2em; margin-bottom:16px; }
.modal__others-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.other-card{ display:flex; align-items:center; gap:14px; padding:11px; background:var(--frame); width:100%; text-align:left; transition:transform .3s var(--e-out), box-shadow .3s ease; }
.other-card:hover{ transform:translateY(-3px); box-shadow:0 16px 40px rgba(26,26,46,.16); }
.other-card__thumb{ flex:none; width:72px; height:72px; overflow:hidden; background:var(--blue-soft); }
.other-card__thumb img{ width:100%; height:100%; object-fit:cover; }
.other-card__title{ font-weight:700; font-size:.92rem; letter-spacing:.04em; text-transform:uppercase; color:var(--accent); line-height:1; }
.other-card__authors{ margin-top:5px; font-size:.66rem; letter-spacing:.06em; color:var(--ink-soft); font-family:var(--mono); }

/* ═══════════ FOOTER ═══════════ */
.footer{ position:relative; z-index:3; background:var(--cream-soft); border-top:1px solid var(--line); overflow:hidden; }
.footer__tape{ border-bottom:1px solid var(--line); }
.footer__tape .tape__run{ background:var(--blue); }
.footer__tape .tape__run span{ color:#fff; }
.footer__tape .tape__run span i{ color:var(--mint); }
.footer__inner{ max-width:var(--max); margin:0 auto; padding:clamp(50px,8vh,90px) var(--pad) clamp(28px,5vh,44px); }
.footer__brand{ font-weight:900; font-size:clamp(2.6rem,8vw,6rem); line-height:.9; color:var(--ink); letter-spacing:-.01em; display:inline-block; transition:color .3s; }
.footer__brand:hover{ color:var(--blue); }
/* barra de logótipos — grupos (label em Thunder + logo) alinhados pela base */
.footer__bar{
  margin-top:clamp(40px,6vh,68px);
  display:flex; flex-wrap:wrap; align-items:flex-end;
  gap:clamp(26px,4vw,64px);
}
.footer__bar-group{ display:flex; flex-direction:column; gap:14px; }
.footer__bar-lab{
  font-family:var(--font); font-weight:400; font-size:.82rem;
  letter-spacing:.01em; line-height:1.2; color:var(--ink-soft); white-space:nowrap;
}
.footer__bar-logo{ height:clamp(32px,3.8vw,46px); width:auto; display:block; }
/* logo do Coliseu um pouco mais pequeno que os restantes */
.footer__bar-logo--coliseu{ height:clamp(27px,3.2vw,39px); }
@media (max-width:560px){ .footer__bar-lab{ white-space:normal; max-width:26ch; } }
.footer__cols{ display:flex; flex-wrap:wrap; gap:clamp(30px,6vw,90px); margin-top:clamp(36px,6vh,60px); }
.footer__col{ display:flex; flex-direction:column; gap:10px; }
.footer__lab{ color:var(--blue-deep); font-size:.66rem; }
.footer__col p{ font-size:.95rem; color:var(--ink-soft); line-height:1.5; }
.footer__col a{ color:var(--blue-deep); font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; margin-top:4px; transition:opacity .3s; }
.footer__col a:hover{ opacity:.6; }
.footer__partners{ display:flex; flex-wrap:wrap; align-items:center; gap:clamp(18px,3vw,40px); }
.partner{ display:flex; align-items:center; justify-content:center; height:clamp(40px,5vw,58px); transition:opacity .3s; opacity:.78; }
.partner:hover{ opacity:1; }
.partner img{ height:100%; width:auto; object-fit:contain; }
.footer__legal{ margin-top:clamp(40px,6vh,64px); padding-top:20px; border-top:1px solid var(--line-soft); color:var(--ink-dim); font-size:.66rem; }

/* ═══════════ REVEAL ═══════════ */
.has-js [data-reveal]{ opacity:0; transform:translateY(26px); }
.has-js [data-reveal].in{ opacity:1; transform:none; transition:opacity .9s var(--e-out), transform .9s var(--e-out); }

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width:900px){
  .nav__links{
    position:fixed; inset:0; flex-direction:column; align-items:center; justify-content:center; gap:30px;
    background:rgba(250,250,245,.97); backdrop-filter:blur(10px);
    transform:translateX(100%); transition:transform .5s var(--e-out); z-index:150;
  }
  .nav__links.is-open{ transform:none; }
  .nav__link{ font-size:1.3rem; }
  .nav__burger{ display:flex; z-index:160; }
  .nav.is-menu-open .nav__burger span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav.is-menu-open .nav__burger span:nth-child(2){ opacity:0; }
  .nav.is-menu-open .nav__burger span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }

  .sobre__cols{ grid-template-columns:1fr; gap:40px; }
  .modal__body{ grid-template-columns:1fr; gap:26px; }
  .modal__aside{ position:static; }
  .hero__base{ flex-direction:column; align-items:flex-start; }
  .hero__meta{ text-align:left; }
}
@media (max-width:560px){
  .modal__others-grid{ grid-template-columns:1fr; }
  .hero__kicker span:last-child{ display:none; }
  .tape--hero{ top:42%; }
}

/* ═══════════ REDUCED MOTION ═══════════ */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .has-js [data-reveal]{ opacity:1; transform:none; }
  .sobre__lead .wd{ opacity:1; }
}
