/* ══════════════════════════════════════════════════════════════
   MARTA ROSA — fado a céu aberto
   Bodoni Moda (display) + Archivo variável (largura 62–125)
   ══════════════════════════════════════════════════════════════ */

@font-face{font-family:'Bodoni Moda';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/bodoni.woff2') format('woff2')}
@font-face{font-family:'Bodoni Moda';font-style:italic;font-weight:400 600;font-display:swap;src:url('../fonts/bodoni-italic.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400 700;font-stretch:62% 125%;font-display:swap;src:url('../fonts/archivo.woff2') format('woff2')}

:root{
  --papel:#EEF5FC;
  --superficie:#E4EFFA;
  --ceu:#BCD9F4;
  --tinta:#08203A;
  --tinta-fraca:#4A6786;
  --cobalto:#1B4FA0;
  --linha:rgba(27,79,160,.20);
  --linha-forte:rgba(27,79,160,.42);
  --sol:#D98A2B;
  --ph-fundo:#DCEAF8;
  --mistura:multiply;
  --grao:.055;
  --sombra:0 24px 60px -30px rgba(8,32,58,.45);

  --larg:min(1440px,100% - clamp(2rem,6vw,7rem));
  --sec:clamp(5rem,11vw,11rem);
  --curva:cubic-bezier(.22,.61,.36,1);
  --curva-f:cubic-bezier(.76,0,.24,1);

  --display:'Bodoni Moda',Georgia,'Times New Roman',serif;
  --corpo:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
}

html[data-tema="escuro"]{
  --papel:#050F1C;
  --superficie:#0A1E33;
  --ceu:#17395B;
  --tinta:#DDEBFA;
  --tinta-fraca:#8AAACA;
  --cobalto:#78AEF2;
  --linha:rgba(120,174,242,.22);
  --linha-forte:rgba(120,174,242,.45);
  --sol:#EDA94F;
  --ph-fundo:#0E2740;
  --mistura:screen;
  --grao:.075;
  --sombra:0 24px 60px -30px rgba(0,0,0,.8);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
html.sem-rolar{overflow:hidden}

body{
  margin:0;background:var(--papel);color:var(--tinta);
  font-family:var(--corpo);font-size:clamp(1rem,.93rem + .3vw,1.1rem);
  line-height:1.6;overflow-x:hidden;font-synthesis-weight:none;
  -webkit-font-smoothing:antialiased;
  transition:background-color .6s var(--curva),color .6s var(--curva);
}
img,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--cobalto);outline-offset:4px}

.env{width:var(--larg);margin-inline:auto}
.num{font-variant-numeric:tabular-nums}

.saltar{position:fixed;top:-100px;left:1rem;z-index:300;background:var(--cobalto);color:var(--papel);
        padding:.7rem 1.1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.saltar:focus{top:1rem}

/* ── tipografia ─────────────────────────────────────────── */
.d{font-family:var(--display);font-weight:400;line-height:.95;letter-spacing:-.02em;
   font-variation-settings:'opsz' 96;text-wrap:balance;margin:0}
.d--l{font-size:clamp(2.3rem,6vw,5.4rem)}
.d--m{font-size:clamp(1.7rem,3.4vw,2.9rem);line-height:1.03}

.rot{font-size:.7rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.22em;
     color:var(--tinta-fraca);margin:0;display:flex;align-items:center;gap:.8rem}
.rot::before{content:"";width:2rem;height:1px;background:var(--cobalto);flex:none}
.rot--claro{color:inherit;opacity:.8}

.txt{max-width:56ch;color:var(--tinta-fraca);margin:0 0 1rem}
.txt:last-child{margin-bottom:0}
.txt strong{color:var(--tinta);font-weight:600}
.lig{border-bottom:1px solid var(--linha);transition:border-color .3s var(--curva)}
.lig:hover{border-color:var(--cobalto)}

.tijolo{width:15px;height:15px;flex:none;color:var(--cobalto);opacity:.8}

/* ── botões cápsula ─────────────────────────────────────── */
.cap{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
     padding:.62rem 1.15rem;border:1px solid var(--linha-forte);border-radius:999px;
     font-size:.7rem;font-weight:600;font-stretch:80%;text-transform:uppercase;letter-spacing:.14em;
     color:var(--tinta);white-space:nowrap;position:relative;overflow:hidden;
     transition:color .35s var(--curva),border-color .35s var(--curva)}
.cap::before{content:"";position:absolute;inset:0;background:var(--cobalto);border-radius:inherit;
             transform:translateY(101%);transition:transform .45s var(--curva)}
.cap:hover{color:var(--papel);border-color:var(--cobalto)}
.cap:hover::before{transform:translateY(0)}
.cap > *{position:relative;z-index:1}
.cap--cheio{background:var(--cobalto);border-color:var(--cobalto);color:var(--papel)}
.cap--ico{padding:.5rem;width:2.2rem;height:2.2rem}
.cap--fino{padding:.42rem .8rem;font-size:.62rem;border-color:var(--linha)}
.ico{width:15px;height:15px;position:relative;z-index:1}
.cap--cheio::before{background:var(--tinta)}

/* ── grão de película ───────────────────────────────────── */
.grao{position:fixed;inset:-50%;z-index:200;pointer-events:none;opacity:var(--grao);
      background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
      animation:grao 1.2s steps(3) infinite;mix-blend-mode:var(--mistura)}
@keyframes grao{
  0%{transform:translate(0,0)}33%{transform:translate(-3%,2%)}66%{transform:translate(2%,-3%)}100%{transform:translate(0,0)}
}

/* ── cursor ─────────────────────────────────────────────── */
.cur{position:fixed;top:0;left:0;z-index:250;pointer-events:none;opacity:0;
     transition:opacity .3s var(--curva);mix-blend-mode:var(--mistura)}
body.tem-cur .cur{opacity:1}
.cur__p{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--cobalto);
        transform:translate(-50%,-50%)}
.cur__a{position:absolute;width:38px;height:38px;border-radius:50%;border:1px solid var(--linha-forte);
        transform:translate(-50%,-50%) scale(1);transition:transform .35s var(--curva),background-color .35s var(--curva)}
body.cur-mag .cur__a{transform:translate(-50%,-50%) scale(1.85);background:color-mix(in srgb,var(--cobalto) 12%,transparent)}
@media (hover:none),(pointer:coarse){.cur{display:none}}

/* ── pré-carregamento ───────────────────────────────────── */
.carga{position:fixed;inset:0;z-index:400;background:var(--papel);display:grid;place-items:center;
       transition:opacity .7s var(--curva),visibility .7s}
.carga.fora{opacity:0;visibility:hidden}
.carga__in{display:flex;flex-direction:column;align-items:center;gap:.8rem}
.carga__n{font-family:var(--display);font-size:clamp(2rem,7vw,4.5rem);letter-spacing:.02em;
          line-height:1;overflow:hidden}
.carga__n i{display:inline-block;transform:translateY(105%);animation:sobe .9s var(--curva) forwards}
@keyframes sobe{to{transform:translateY(0)}}
.carga__c{font-size:.72rem;font-weight:700;font-stretch:74%;letter-spacing:.3em;color:var(--tinta-fraca)}
.carga__barra{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--linha)}
.carga__barra i{display:block;height:100%;width:0;background:var(--cobalto);transition:width .25s linear}

/* ── nav ────────────────────────────────────────────────── */
.nav{position:fixed;top:0;left:0;right:0;z-index:120;transition:transform .5s var(--curva)}
.nav.escondida{transform:translateY(-105%)}
.nav__in{width:var(--larg);margin-inline:auto;display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);
         padding-block:1.1rem;transition:padding .4s var(--curva)}
.nav.colada .nav__in{padding-block:.65rem}
.nav::after{content:"";position:absolute;inset:0;z-index:-1;
            background:color-mix(in srgb,var(--papel) 72%,transparent);
            backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);
            border-bottom:1px solid transparent;opacity:0;transition:opacity .4s var(--curva),border-color .4s var(--curva)}
.nav.colada::after{opacity:1;border-bottom-color:var(--linha)}

.marca{font-family:var(--display);font-size:1.1rem;letter-spacing:.16em;text-transform:uppercase;
       font-variation-settings:'opsz' 11;white-space:nowrap}
.nav__links{display:flex;gap:clamp(1rem,2.2vw,2rem);margin-left:auto}
.nav__links a{font-size:.71rem;font-weight:600;font-stretch:78%;text-transform:uppercase;letter-spacing:.16em;
              color:var(--tinta-fraca);position:relative;padding-block:.2rem}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cobalto);
                     transform:scaleX(0);transform-origin:right;transition:transform .4s var(--curva)}
.nav__links a:hover{color:var(--tinta)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav__fer{display:flex;align-items:center;gap:.5rem;margin-left:auto}
.nav__links + .nav__fer{margin-left:0}
.nav__fer .cap{padding:.5rem .85rem;font-size:.66rem}
/* botão do menu: só aparece quando os links deixam de caber */
.ham{display:none;width:2.6rem;height:2.6rem;border:1px solid var(--linha-forte);border-radius:999px;
     background:none;cursor:pointer;padding:0;align-items:center;justify-content:center;gap:.32rem;
     flex-direction:column;transition:border-color .3s var(--curva)}
.ham i{display:block;width:1rem;height:1.5px;background:currentColor;border-radius:2px;
       transition:transform .35s var(--curva),opacity .25s var(--curva)}
.ham:hover{border-color:var(--cobalto)}
.ham[aria-expanded="true"] i:first-child{transform:translateY(.205rem) rotate(45deg)}
.ham[aria-expanded="true"] i:last-child{transform:translateY(-.205rem) rotate(-45deg)}

.menu{display:none}
.menu__l{display:flex;flex-direction:column;gap:.2rem}
.menu__l a{font-family:var(--display);font-size:clamp(2rem,9vw,2.8rem);line-height:1.18;
           color:var(--tinta);text-decoration:none;font-variation-settings:'opsz' 32;
           padding:.2rem 0;transition:color .3s var(--curva)}
.menu__l a[aria-current="page"]{color:var(--cobalto)}
.menu__l a:hover{color:var(--cobalto)}
.menu__b{align-self:flex-start;margin-top:2rem}

@media (max-width:940px){
  .nav__links{display:none}
  .ham{display:flex}
  .nav__book{display:none}
  .nav--aberto{background:var(--papel)}
  /* a barra tem de ficar por cima do painel, senão o botão de fechar
     desaparece por baixo dele e só resta a tecla Escape */
  .nav--aberto .nav__in{position:relative;z-index:2}
  .menu{display:block;position:fixed;inset:0;z-index:1;
        padding:clamp(5.5rem,16vh,8rem) 0 clamp(2rem,6vh,4rem);
        background:var(--papel);overflow-y:auto;overscroll-behavior:contain}
  .menu__in{width:var(--larg);margin-inline:auto;display:flex;flex-direction:column;align-items:flex-start}
  .menu[hidden]{display:none}
}

/* ── HERO ───────────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
      padding:clamp(6rem,14vh,10rem) 0 clamp(1.5rem,4vh,3rem);overflow:hidden;isolation:isolate}
.hero__ceu{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero__grade{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.12;
  background-image:linear-gradient(var(--linha) 1px,transparent 1px),linear-gradient(90deg,var(--linha) 1px,transparent 1px);
  background-size:clamp(60px,7vw,110px) clamp(60px,7vw,110px);
  -webkit-mask-image:radial-gradient(120% 80% at 50% 60%,#000 20%,transparent 75%);
          mask-image:radial-gradient(120% 80% at 50% 60%,#000 20%,transparent 75%)}
.hero__in{width:var(--larg);margin-inline:auto;position:relative;
          display:grid;gap:clamp(1.3rem,3vw,2.8rem);align-items:end}
/* Retrato e nome lado a lado a partir dos 900px. Abaixo disso o retrato fica
   por cima do nome, e continua grande — encolhê-lo até virar selo era pô-lo
   como enfeite, que é o contrário do que se quer aqui. */
@media (min-width:900px){
  /* pista fixa para o retrato: com `auto` a largura da coluna passa a depender
     da largura da imagem, que por sua vez era 100% da coluna — circular, e a
     grelha colapsava */
  .hero__in{grid-template-columns:clamp(240px,27vw,360px) minmax(0,1fr)}
  .nome{font-size:clamp(3rem,9.2vw,8.2rem)}
}
.hero__q{min-width:0}
.hero__f{margin:0;width:min(100%,340px);justify-self:start}
.hero__img{width:100%;height:auto;display:block;border:1px solid var(--linha);
           background:var(--superficie)}
/* o lugar do crédito fica reservado: ele só chega quando o creditos.js corre,
   depois do ecrã de carga, e sem isto a coluna dava um salto */
.hero__leg{min-height:1.4em}

.nome{font-family:var(--display);font-weight:400;margin:.6rem 0 0;line-height:.86;
      font-size:clamp(3.6rem,17.5vw,17rem);letter-spacing:-.045em;
      display:flex;flex-wrap:wrap;user-select:none}
.nome__p{display:inline-flex}   /* cada palavra é um bloco: assim «Rosa» não parte a meio */
.nome__l{display:inline-block;transform:translateY(110%);opacity:0;will-change:transform}
.nome__e{width:.22em}
body.pronto .nome__l{transform:translateY(0);opacity:1;
  transition:transform 1.05s var(--curva),opacity .7s var(--curva);
  transition-delay:calc(var(--i) * 55ms)}

.hero__frase{font-family:var(--display);font-size:clamp(1.15rem,2.1vw,1.85rem);line-height:1.24;
             max-width:34ch;margin:clamp(1rem,2.4vw,2rem) 0 0;font-variation-settings:'opsz' 28;
             text-wrap:balance}

.hero__pe{width:var(--larg);margin:clamp(2rem,5vh,4rem) auto 0;display:flex;align-items:flex-end;
          justify-content:space-between;gap:1.5rem}
.prox{display:inline-flex;align-items:center;gap:.9rem;padding:.75rem 1.2rem;border-radius:999px;
      border:1px solid var(--linha-forte);background:color-mix(in srgb,var(--papel) 55%,transparent);
      backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
      transition:border-color .35s var(--curva),background-color .35s var(--curva)}
.prox:hover{border-color:var(--cobalto);background:color-mix(in srgb,var(--papel) 80%,transparent)}
.prox__p{display:inline-flex;align-items:center;gap:.5rem;font-size:.66rem;font-weight:700;font-stretch:72%;
         text-transform:uppercase;letter-spacing:.18em;color:var(--sol);white-space:nowrap}
.ponto{width:7px;height:7px;border-radius:50%;background:var(--sol);flex:none;animation:pulsa 2.6s infinite}
@keyframes pulsa{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--sol) 60%,transparent)}
                 70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
.prox__q{font-size:.82rem;font-weight:500}
.prox__s{color:var(--cobalto)}
@media (max-width:640px){.prox{flex-wrap:wrap;gap:.5rem .8rem}.prox__q{font-size:.75rem}}

.rolar{width:1px;height:clamp(40px,7vh,72px);background:var(--linha-forte);position:relative;overflow:hidden;flex:none}
.rolar i{position:absolute;inset:0;background:var(--cobalto);transform:translateY(-100%);
         animation:desce 2.4s var(--curva) infinite}
@keyframes desce{0%{transform:translateY(-100%)}55%{transform:translateY(0)}100%{transform:translateY(100%)}}
@media (max-width:640px){.rolar{display:none}}

/* ── fita de datas ──────────────────────────────────────── */
.fita{border-block:1px solid var(--linha);padding-block:.85rem;overflow:hidden;
      background:var(--superficie);white-space:nowrap}
.fita__t{display:inline-flex;gap:2.5rem;will-change:transform}
.fita__i{display:inline-flex;align-items:center;gap:2.5rem;font-size:.78rem;font-weight:700;
         font-stretch:70%;text-transform:uppercase;letter-spacing:.16em;color:var(--tinta-fraca)}
.fita__i b{color:var(--tinta);font-weight:700}
.fita__i svg{width:11px;height:11px;color:var(--cobalto)}

/* ── retrato a toda a largura ───────────────────────────── */
.cheia{padding:var(--sec) 0 0}
.cheia__cx{width:100%;overflow:hidden}
.cheia__leg{width:var(--larg);margin:1rem auto 0;font-size:.7rem;font-weight:600;font-stretch:76%;
            text-transform:uppercase;letter-spacing:.16em;color:var(--tinta-fraca)}

/* ── placeholders ───────────────────────────────────────── */
.ph{position:relative;background:var(--ph-fundo);border:1px solid var(--linha);
    display:grid;place-items:center;overflow:hidden;isolation:isolate}
.ph::before{content:"";position:absolute;inset:0;opacity:.55;
  background-image:linear-gradient(var(--linha) 1px,transparent 1px),linear-gradient(90deg,var(--linha) 1px,transparent 1px);
  background-size:48px 48px;background-position:center}
.ph::after{content:"";position:absolute;inset:12px;border:1px dashed var(--linha);pointer-events:none}
.ph__c{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.7rem;
       text-align:center;padding:1.5rem}
.ph__n{font-family:var(--display);font-size:clamp(1.05rem,1.7vw,1.6rem);line-height:1.16;max-width:26ch;
       margin:0;font-variation-settings:'opsz' 22}
.ph__d{margin:0;font-size:.64rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
       letter-spacing:.2em;color:var(--cobalto)}
.ph--16{aspect-ratio:16/9}
.ph--43{aspect-ratio:3/4}
.ph--1{aspect-ratio:1}
.ph--cheia{aspect-ratio:16/9;min-height:min(78svh,760px)}
@media (max-width:640px){.ph--cheia{aspect-ratio:4/5;min-height:0}}

/* ── secções ────────────────────────────────────────────── */
.sec{padding-block:var(--sec);position:relative}
.sec--fundo{background:var(--superficie)}
.cab{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.6rem 3rem;
     margin-bottom:clamp(2.2rem,4.5vw,4rem)}
.cab__t{display:flex;flex-direction:column;gap:1.2rem;max-width:min(100%,660px);flex:1 1 380px}
.cab__x{display:flex;flex-direction:column;align-items:flex-start;gap:1.2rem;max-width:min(100%,42ch)}
.cab__bts{display:flex;flex-wrap:wrap;gap:.7rem;margin:0}

/* Porta de entrada do «Quem é», na página inicial: retrato, três linhas e o
   link. O resto — percurso, formação, prémios — vive na página própria. */
.sec--curta{padding-block:calc(var(--sec) * .62)}
.abre{display:grid;gap:clamp(1.6rem,4vw,3.5rem);align-items:center}
@media (min-width:800px){.abre{grid-template-columns:minmax(0,.5fr) minmax(0,1fr)}}
.abre__f{margin:0;max-width:480px}
.abre__img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;border:1px solid var(--linha)}
.abre__q{display:flex;flex-direction:column;align-items:flex-start;gap:1.1rem;max-width:54ch}
.abre__q > p{margin:0}

/* revelação de títulos, linha a linha */
.ani{overflow:hidden}
.ani > .ani__l{display:block;transform:translateY(105%);transition:transform 1s var(--curva);
               transition-delay:calc(var(--i) * 90ms)}
.vis .ani > .ani__l,.ani.vis > .ani__l{transform:translateY(0)}

.sobe-i{opacity:0;transform:translateY(24px);transition:opacity .9s var(--curva),transform .9s var(--curva)}
.vis .sobe-i,.sobe-i.vis{opacity:1;transform:none}

/* ── agenda ─────────────────────────────────────────────── */
.datas{border-top:1px solid var(--linha)}
.datas__vazio{padding:2rem 0;color:var(--tinta-fraca);font-size:.9rem}
.data{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem clamp(1.2rem,3vw,3rem);
      padding:clamp(1.1rem,2vw,1.7rem) 0;border-bottom:1px solid var(--linha);position:relative;
      transition:color .4s var(--curva)}
.data::before{content:"";position:absolute;inset:0 -1.5rem;background:var(--cobalto);z-index:-1;
              transform:scaleY(0);transform-origin:bottom;transition:transform .45s var(--curva-f)}
.data.tocada{color:var(--papel)}
.data.tocada::before{transform:scaleY(1);transform-origin:top}
.data.tocada .data__l,.data.tocada .data__mes{color:color-mix(in srgb,var(--papel) 78%,transparent)}
.data.tocada .selo{border-color:color-mix(in srgb,var(--papel) 60%,transparent);color:var(--papel)}
.data__d{display:flex;flex-direction:column;line-height:1;min-width:clamp(4.5rem,8vw,7rem)}
.data__dia{font-family:var(--display);font-size:clamp(2.4rem,5.5vw,4.6rem);font-variation-settings:'opsz' 70;
           font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.data__mes{font-size:.66rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.2em;
           color:var(--tinta-fraca);margin-top:.5rem;transition:color .4s var(--curva)}
.data__q{min-width:0}
.data__t{margin:0 0 .25rem;font-size:clamp(1rem,1.5vw,1.25rem);font-weight:600}
.data__l{margin:0;font-size:.84rem;color:var(--tinta-fraca);transition:color .4s var(--curva)}
.data__a{display:flex;align-items:center;gap:.7rem;justify-content:flex-end;flex-wrap:wrap}
.selo{font-size:.62rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.14em;
      padding:.35rem .6rem;border:1px solid currentColor;border-radius:999px;white-space:nowrap;
      color:var(--tinta-fraca);transition:color .4s var(--curva),border-color .4s var(--curva)}
.selo--breve{color:var(--cobalto)}
.data__bt{background:var(--sol);border-color:var(--sol);color:#170C00}
.data__bt::before{background:var(--tinta)}
.data__bt:hover{color:var(--papel);border-color:var(--tinta)}
@media (max-width:760px){
  .data{grid-template-columns:auto 1fr}
  .data__a{grid-column:1/-1;justify-content:flex-start}
  .data::before{inset:0 -1rem}
}

.espreita{position:fixed;top:0;left:0;z-index:110;width:clamp(180px,20vw,300px);pointer-events:none;
          opacity:0;transform:translate(-50%,-50%) scale(.92);
          transition:opacity .35s var(--curva),transform .45s var(--curva)}
.espreita.vis{opacity:1;transform:translate(-50%,-50%) scale(1)}
.ph--espreita{aspect-ratio:3/2;box-shadow:var(--sombra)}
@media (max-width:900px),(pointer:coarse){.espreita{display:none}}

.data__mais[aria-expanded="true"]{background:var(--cobalto);border-color:var(--cobalto);color:var(--papel)}

/* painel de pormenores: só abre quando há mesmo alguma coisa lá dentro */
.mais{display:grid;gap:clamp(1.2rem,3vw,2.5rem);padding:0 0 clamp(1.5rem,3vw,2.5rem);
      border-bottom:1px solid var(--linha);animation:abre .45s var(--curva)}
.mais[hidden]{display:none}
@media (min-width:760px){.mais{grid-template-columns:minmax(0,.42fr) minmax(0,1fr);align-items:start}}
@keyframes abre{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mais__cartaz{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--linha)}
.mais__c{margin:.6rem 0 0;font-size:.64rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
          letter-spacing:.14em;color:var(--tinta-fraca)}
.cart__img{width:100%;aspect-ratio:16/9;object-fit:cover;border:1px solid var(--linha);
           transition:transform .6s var(--curva)}
.cart:hover .cart__img{transform:scale(.985)}
.mais__q{display:flex;flex-direction:column;gap:.9rem;min-width:0}
.mais__l{margin:0;font-size:.9rem}
.mais__l span{font-size:.64rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
              letter-spacing:.16em;color:var(--cobalto);margin-right:.6rem}
.mais__i{list-style:none;margin:.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.mais__i li{display:flex;gap:.8rem;align-items:baseline;font-size:.92rem;color:var(--tinta-fraca)}
.mais__i li::before{content:"◇";color:var(--cobalto);font-size:.65rem;flex:none}
.mais__f{margin:.4rem 0 0;font-size:.74rem;color:var(--tinta-fraca)}
.mais__f span{font-size:.62rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
              letter-spacing:.16em;color:var(--tinta-fraca);margin-right:.5rem}
.mais__f a{border-bottom:1px solid var(--linha);color:var(--cobalto)}

/* ── datas passadas ─────────────────────────────────────── */
.recentes{margin-top:clamp(2.5rem,5vw,4rem)}
.recentes[hidden]{display:none}
.passadas{list-style:none;margin:1.2rem 0 0;padding:0;border-top:1px solid var(--linha)}
.passada{display:grid;grid-template-columns:minmax(8.5rem,auto) minmax(0,1fr) auto;gap:.3rem 1.5rem;
         align-items:baseline;padding:.8rem 0;border-bottom:1px solid var(--linha)}
.passada__d{font-size:.7rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.16em;
            color:var(--cobalto)}
.passada__t{font-size:.95rem;font-weight:500;min-width:0}
.passada__s{display:block;font-size:.78rem;font-weight:400;color:var(--tinta-fraca);margin-top:.15rem}
.passada__l{font-size:.8rem;color:var(--tinta-fraca)}
@media (max-width:640px){
  .passada{grid-template-columns:1fr}
  .passada__l{grid-row:2}
}

/* ── ouvir ──────────────────────────────────────────────── */
.ouvir{display:grid;gap:clamp(1.8rem,4vw,4rem)}
@media (min-width:900px){.ouvir{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start}}
.ouvir__capa{position:relative}
@media (min-width:900px){.ouvir__capa{position:sticky;top:clamp(6rem,12vh,9rem)}}
.onda{width:100%;height:64px;margin-top:.9rem}

.leitor{position:relative;min-height:352px}
.leitor .ph{aspect-ratio:1;min-height:352px}
.leitor__f{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:14px;
           background:var(--papel)}

.ficha{margin-top:1.4rem;display:flex;flex-direction:column;gap:.7rem}
.ficha__s{margin:0;font-size:.92rem;color:var(--tinta-fraca);max-width:52ch}
.ficha__f{margin:0;font-size:.78rem;line-height:1.6;color:var(--tinta-fraca);max-width:60ch}
.ficha__f b{color:var(--tinta);font-weight:600;font-stretch:80%;text-transform:uppercase;
            letter-spacing:.12em;font-size:.68rem}

.lancamentos{list-style:none;margin:0 0 2rem;padding:0;border-top:1px solid var(--linha)}
.lanc{border-bottom:1px solid var(--linha)}
.lanc__a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:1rem;
         padding:1.05rem .2rem;transition:padding-left .35s var(--curva),color .35s var(--curva)}
.lanc__a:hover{padding-left:.9rem;color:var(--cobalto)}
.lanc__ano{font-size:.7rem;font-weight:700;font-stretch:72%;letter-spacing:.16em;color:var(--tinta-fraca);
           min-width:2.6rem}
.lanc__q{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.lanc__t{font-size:1.05rem;font-weight:600}
.lanc__s{font-size:.76rem;color:var(--tinta-fraca)}
.lanc__i{color:var(--cobalto)}

.plats{display:grid;gap:.5rem}
.plat{display:flex;align-items:center;gap:.95rem;
      padding:1rem 1.15rem;border:1px solid var(--linha);border-radius:14px;background:var(--papel);
      transition:transform .4s var(--curva),border-color .4s var(--curva)}
.sec--fundo .plat{background:var(--papel)}
.plat:hover{transform:translateX(6px);border-color:var(--cobalto)}
.plat__i{display:grid;place-items:center;width:2.35rem;height:2.35rem;flex:none;border-radius:50%;
         border:1px solid var(--linha);color:var(--cobalto);transition:background-color .4s var(--curva),color .4s var(--curva)}
.plat:hover .plat__i{background:var(--cobalto);color:var(--papel)}
.plat__q{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1}
.plat__n{font-size:.95rem;font-weight:600}
.plat__s{font-size:.7rem;font-stretch:80%;text-transform:uppercase;letter-spacing:.12em;
         color:var(--tinta-fraca)}
.plat__a{color:var(--cobalto);font-size:1.1rem;flex:none}

/* ícone de plataforma: herda a cor do texto e escala com a caixa */
.ic{width:1.15rem;height:1.15rem;fill:currentColor;display:block}
.ic--pe{width:.95rem;height:.95rem;flex:none}
#peCanais a{display:inline-flex;align-items:center;gap:.5rem}

/* ── rolo horizontal ────────────────────────────────────── */
.sec--ver{padding-bottom:calc(var(--sec) * .7)}
.rolo{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;
      padding-inline:max(calc((100vw - var(--larg)) / 2),1rem);scroll-snap-type:x proximity}
.rolo::-webkit-scrollbar{display:none}
.rolo.arrasta{cursor:grabbing}
.rolo__t{display:flex;gap:clamp(1rem,2vw,2rem);width:max-content;padding-bottom:.5rem}
.cart{width:clamp(280px,42vw,660px);flex:none;scroll-snap-align:start}
.cart .ph{transition:transform .6s var(--curva)}
.cart:hover .ph{transform:scale(.985)}
.cart__t{margin:.9rem 0 .2rem;font-size:1.05rem;font-weight:600}
.cart__l{margin:0;font-size:.72rem;font-weight:600;font-stretch:76%;text-transform:uppercase;
         letter-spacing:.16em;color:var(--tinta-fraca)}
.rolo__b{height:2px;background:var(--linha);margin-top:clamp(1.5rem,3vw,2.5rem);overflow:hidden}
.rolo__b i{display:block;height:100%;width:22%;background:var(--cobalto);transform-origin:left}

.video{position:relative;aspect-ratio:16/9;background:var(--ph-fundo);overflow:hidden;
       border:1px solid var(--linha)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__bt{position:absolute;inset:0;width:100%;height:100%;padding:0;display:grid;place-items:center}
.video__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
            transition:transform .8s var(--curva),filter .5s var(--curva);filter:saturate(.85)}
.video__bt:hover .video__img{transform:scale(1.03);filter:saturate(1)}
.video__seta{position:relative;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;
             background:color-mix(in srgb,var(--papel) 88%,transparent);color:var(--cobalto);
             font-size:1.1rem;padding-left:4px;backdrop-filter:blur(6px);
             transition:transform .4s var(--curva)}
.video__bt:hover .video__seta{transform:scale(1.1)}

/* ── quem é ─────────────────────────────────────────────── */
.sobre{display:grid;gap:clamp(2rem,5vw,5rem)}
@media (min-width:900px){.sobre{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start}}
.sobre__q{display:flex;flex-direction:column;gap:1.3rem}
/* a biografia oficial, na página «Quem é» */
.bio > p{margin:0}
.bio__linha{font-family:var(--display);font-size:clamp(1.3rem,2.5vw,1.8rem);line-height:1.28;
            color:var(--tinta);max-width:32ch}
.bio__fonte{margin-top:.6rem;font-size:.64rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
            letter-spacing:.14em;color:var(--tinta-fraca)}
.factos{margin:1rem 0 0;display:grid}
.factos > div{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;gap:.4rem 1.4rem;
              padding:.85rem 0;border-top:1px solid var(--linha)}
.factos > div:last-child{border-bottom:1px solid var(--linha)}
.factos dt{font-size:.66rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.16em;
           color:var(--cobalto)}
.factos dd{margin:0;font-size:.92rem}
@media (max-width:520px){.factos > div{grid-template-columns:1fr}}

/* ── tira do instagram ──────────────────────────────────── */
.tira{overflow:hidden;margin-top:clamp(1rem,2vw,2rem)}
.tira__t{display:flex;gap:.7rem;width:max-content;will-change:transform}
.tira__i{width:clamp(180px,22vw,300px);flex:none}
.tira__i .ph{aspect-ratio:1;transition:transform .5s var(--curva)}
.tira__i:hover .ph{transform:scale(.96)}

/* ── imprensa ───────────────────────────────────────────── */
.kit{display:grid;gap:clamp(1.5rem,4vw,4rem)}
@media (min-width:800px){.kit{grid-template-columns:1fr 1fr}}
.kit__l{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.kit__l li{padding:.85rem 0;border-bottom:1px solid var(--linha);font-size:.95rem;
           display:flex;gap:.8rem;align-items:baseline}
.kit__l li::before{content:"◇";color:var(--cobalto);font-size:.7rem;flex:none}
.citacoes{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem)}
.kit--fim{margin-top:clamp(2rem,4vw,3.5rem)}
.pecas{list-style:none;margin:1.2rem 0 0;padding:0;border-top:1px solid var(--linha)}
.peca{border-bottom:1px solid var(--linha)}
.peca a{display:grid;grid-template-columns:minmax(7.5rem,auto) minmax(0,1fr) auto;gap:.3rem 1.2rem;
        align-items:baseline;padding:.85rem .2rem;transition:padding-left .3s var(--curva),color .3s var(--curva)}
.peca a:hover{padding-left:.8rem;color:var(--cobalto)}
.peca__o{font-size:.66rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.16em;
         color:var(--cobalto)}
.peca__t{font-size:.9rem;min-width:0}
.peca__a{font-size:.72rem;color:var(--tinta-fraca)}
@media (max-width:640px){
  .peca a{grid-template-columns:1fr auto}
  .peca__t{grid-column:1/-1}
}

.cit{margin:0;border-left:2px solid var(--cobalto);padding-left:1.5rem;display:flex;flex-direction:column;gap:.9rem}
.cit__t{font-family:var(--display);font-style:italic;font-size:clamp(1.25rem,2.4vw,1.9rem);line-height:1.28;
        margin:0;color:var(--tinta-fraca);font-variation-settings:'opsz' 26}
.cit__f{font-size:.66rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.18em;
        color:var(--cobalto)}

/* ── booking ────────────────────────────────────────────── */
.book{display:grid;gap:clamp(2rem,5vw,5rem)}
@media (min-width:900px){.book{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.form{display:grid;gap:1rem}
.dupla{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:560px){.dupla{grid-template-columns:1fr 1fr}}
.campo{display:flex;flex-direction:column;gap:.45rem}
.campo label{font-size:.66rem;font-weight:700;font-stretch:72%;text-transform:uppercase;letter-spacing:.16em;
             color:var(--tinta-fraca)}
.campo input,.campo select,.campo textarea{
  font:inherit;font-size:.95rem;color:var(--tinta);background:transparent;border:0;
  border-bottom:1px solid var(--linha);padding:.6rem 0;border-radius:0;width:100%;
  transition:border-color .35s var(--curva)}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-bottom-color:var(--cobalto)}
.campo textarea{min-height:120px;resize:vertical}
.campo input:user-invalid,.campo textarea:user-invalid{border-bottom-color:var(--sol)}
.mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__pe{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.6rem}
.form__msg{margin:0;font-size:.82rem;color:var(--tinta-fraca)}
.form__msg.erro{color:var(--sol)}
.book__d{display:flex;flex-direction:column;gap:1.4rem;align-items:stretch}

/* Cartão de visita da Onofriana, ao lado do formulário. Leva as cores da casa
   dela — papel, tinta e o vermelho —, e não as deste sítio, também no tema
   escuro: é o cartão de outra marca, não uma secção desta. */
.cartao{--o-tinta:#0A0A0A;--o-papel:#F5F1EA;--o-papel-fundo:#EFE9DE;--o-linha:#D9D1C3;
        --o-pedra:#5C5650;--o-rosa:#A8201A;
        background:var(--o-papel);color:var(--o-tinta);border:1px solid var(--o-linha);
        padding:clamp(1.6rem,3vw,2.2rem);display:flex;flex-direction:column;
        gap:clamp(1rem,2vw,1.3rem);align-self:start;position:relative;overflow:hidden}
/* uma sombra de papel, para o cartão pousar em cima da página e não pintar nela */
.cartao::after{content:"";position:absolute;inset:0;pointer-events:none;
               box-shadow:inset 0 0 0 1px rgba(10,10,10,.04)}

.cartao__marca{display:flex;align-items:center;gap:clamp(.9rem,2vw,1.3rem);text-decoration:none}
.cartao__gui{width:auto;height:clamp(74px,9vw,104px);flex:none;display:block}
.cartao__nome{width:min(100%,215px);height:auto;display:block}
.cartao__marca:hover .cartao__gui{transform:translateY(-2px)}
.cartao__gui{transition:transform .45s var(--curva)}

.cartao__t{margin:0;font-size:.88rem;line-height:1.68;color:var(--o-pedra);
           padding-top:clamp(.9rem,2vw,1.2rem);border-top:1px solid var(--o-linha)}

.cartao__m{display:inline-flex;align-items:center;gap:.6rem;margin:0;font-size:1rem;
           color:var(--o-tinta);text-decoration:none;align-self:flex-start;
           transition:color .3s var(--curva)}
.cartao__m span{border-bottom:1px solid var(--o-rosa);padding-bottom:1px}
.cartao__m:hover{color:var(--o-rosa)}
.ic--ono{width:1.1rem;height:1.1rem;flex:none}

.cartao__r{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.cartao__r a{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:99px;
             color:var(--o-tinta);background:var(--o-papel-fundo);border:1px solid var(--o-linha);
             transition:background .3s var(--curva),color .3s var(--curva),
                        border-color .3s var(--curva),transform .3s var(--curva)}
.cartao__r a:hover{background:var(--o-rosa);border-color:var(--o-rosa);color:var(--o-papel);
                   transform:translateY(-2px)}

.cartao__bt{align-self:flex-start;display:inline-block;font-size:.66rem;font-weight:700;
            font-stretch:72%;text-transform:uppercase;letter-spacing:.14em;text-decoration:none;
            color:var(--o-papel);background:var(--o-tinta);border:1px solid var(--o-tinta);
            border-radius:99px;padding:.72rem 1.3rem;
            transition:background .3s var(--curva),border-color .3s var(--curva)}
.cartao__bt:hover{background:var(--o-rosa);border-color:var(--o-rosa)}

@media (max-width:420px){
  .cartao__marca{flex-direction:column;align-items:flex-start;gap:.9rem}
  .cartao__gui{height:88px}
}

/* ── rodapé ─────────────────────────────────────────────── */
.pe{padding:clamp(3rem,7vw,6rem) 0 2rem;border-top:1px solid var(--linha);overflow:hidden}
.pe__nome{font-size:clamp(3rem,15vw,14rem);line-height:.82;letter-spacing:-.045em;
          color:var(--tinta);opacity:.13;margin:0 0 clamp(2rem,5vw,4rem);white-space:nowrap}
.pe__g{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr))}
.pe__l{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.pe__l a{font-size:.88rem;color:var(--tinta-fraca);transition:color .3s var(--curva)}
.pe__l a:hover{color:var(--cobalto)}
.pe__f{margin-top:clamp(2.5rem,5vw,4rem);padding-top:1.5rem;border-top:1px solid var(--linha);
       display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;
       font-size:.72rem;color:var(--tinta-fraca)}

/* ── menos movimento ────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;
                       transition-duration:.001ms !important}
  .nome__l,.ani > .ani__l{transform:none !important;opacity:1 !important}
  .sobe-i{opacity:1 !important;transform:none !important}
  .grao{animation:none}
}


/* ══ PÁGINAS INTERIORES ═══════════════════════════════════════ */

/* cabeçalho de página */
.topo-p{padding:calc(clamp(6rem,12vh,9rem)) 0 clamp(2rem,4vw,3.5rem);border-bottom:1px solid var(--linha)}
.topo-p .d--l{margin:1.2rem 0 0}
.topo-p__t{margin-top:1.4rem;max-width:52ch}
.topo-p .cap,.topo-p__bt{margin-top:1.6rem}
.topo-p__bt{display:flex;flex-wrap:wrap;gap:.7rem}
.topo-p__bt .cap{margin-top:0}

/* ── discografia ────────────────────────────────────────── */
.discos{display:flex;flex-direction:column;gap:0}
/* Cada disco é um bloco fechado, com um traço a toda a largura e o ano em
   corpo grande no cimo. A separação entre discos tinha de se ver de longe. */
.disco{scroll-margin-top:7rem;position:relative;
       padding-block:clamp(2.6rem,6vw,4.6rem);border-top:1px solid var(--linha-forte)}
.disco:first-child{border-top:0;padding-top:0}
.disco__ano{position:absolute;top:clamp(2.4rem,5.6vw,4.2rem);right:0;margin:0;
            font-family:var(--display);font-size:clamp(3.4rem,9vw,7rem);line-height:.8;
            color:var(--tinta);opacity:.07;pointer-events:none;user-select:none;
            letter-spacing:-.03em}
.disco:first-child .disco__ano,.vgrupo:first-child .disco__ano{top:0}
@media (max-width:600px){.disco__ano{display:none}}
.disco__cab{display:grid;gap:clamp(1.5rem,3vw,3rem);align-items:start}
@media (min-width:760px){.disco__cab{grid-template-columns:minmax(0,.38fr) minmax(0,1fr)}}
/* height:auto é indispensável: sem ele o height="800" do HTML ganha ao aspect-ratio,
   a caixa fica alta e estreita e o object-fit corta a capa pelos lados */
.disco__capa{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border:1px solid var(--linha);
             box-shadow:var(--sombra);background:var(--superficie)}
.disco__q{display:flex;flex-direction:column;gap:1rem;min-width:0}
.disco__q .d--m{margin:0}
.disco__mus{margin:0;font-size:.8rem;line-height:1.7;color:var(--tinta-fraca)}
.disco__mus span{font-size:.64rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
                 letter-spacing:.16em;color:var(--cobalto);margin-right:.6rem}
.disco__ligs{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.3rem}

/* uma coluna só: primeiro o alinhamento, depois o leitor recolhido */
.disco__baixo{display:flex;flex-direction:column;gap:clamp(1.4rem,3vw,2.2rem);
              margin-top:clamp(1.8rem,3.5vw,3rem)}
.disco__leitor{width:100%;height:340px;border:1px solid var(--linha);border-radius:14px;background:var(--superficie)}
.disco__leitor--video{aspect-ratio:16/9;height:auto}
.disco__selo{margin:0;font-size:.78rem;color:var(--tinta-fraca)}
/* onde é que este disco se ouve, e onde é que não se ouve — dito à frente */
.disco__nota{margin:0;font-size:.85rem;line-height:1.6;color:var(--tinta-fraca);
             border-left:2px solid var(--linha-forte);padding-left:.9rem}
.disco__nota .lig{color:var(--cobalto)}
.disco__sem{border:1px dashed var(--linha-forte);padding:1.4rem 1.5rem;background:var(--superficie);
            display:flex;flex-direction:column;gap:.7rem;border-radius:14px}

/* abas de plataforma, por cima do leitor */
.disco__toca .rot--so{margin-bottom:.7rem}
.abas{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}
.aba{display:inline-flex;align-items:center;gap:.5rem;
     font-family:inherit;font-size:.68rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
     letter-spacing:.13em;color:var(--tinta-fraca);background:none;border:1px solid var(--linha);
     border-radius:999px;padding:.5rem 1rem;cursor:pointer;
     transition:color .3s var(--curva),border-color .3s var(--curva),background-color .3s var(--curva)}
.aba:hover{color:var(--tinta);border-color:var(--linha-forte)}
.aba--on{background:var(--cobalto);border-color:var(--cobalto);color:var(--papel)}
.aba:focus-visible{outline:2px solid var(--cobalto);outline-offset:2px}
.ic--aba{width:1rem;height:1rem;flex:none}
.ic--min{width:.85rem;height:.85rem;flex:none}

/* onde é que se abre a aplicação — dito com todas as letras, por baixo do leitor */
.disco__abrir{margin:.6rem 0 0;font-size:.72rem;font-weight:600;font-stretch:78%;
              text-transform:uppercase;letter-spacing:.13em}
.disco__abrir a{display:inline-flex;align-items:center;gap:.4rem;color:var(--cobalto);
                border-bottom:1px solid transparent;transition:border-color .3s var(--curva)}
.disco__abrir a:hover{border-bottom-color:var(--cobalto)}

.disco__fora{margin:1.1rem 0 0;font-size:.78rem;color:var(--tinta-fraca);
             display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem}
.disco__fora span{font-size:.64rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
                  letter-spacing:.16em;color:var(--tinta-fraca);flex-basis:100%;margin:0}
.disco__fora a{display:inline-flex;align-items:center;gap:.4rem;color:inherit;
               border-bottom:1px solid var(--linha-forte);text-decoration:none}
.disco__fora a:hover{color:var(--cobalto);border-color:var(--cobalto)}
.disco__sem-t{margin:0;font-size:.68rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
              letter-spacing:.18em;color:var(--sol)}

.alin{list-style:none;margin:1rem 0 0;padding:0;border-top:1px solid var(--linha)}
.alin__f{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:start;gap:1rem;
         padding:.8rem .2rem;border-bottom:1px solid var(--linha)}
.alin__n{font-size:.68rem;font-weight:700;font-stretch:72%;letter-spacing:.14em;color:var(--tinta-fraca);
          padding-top:.22rem}
/* título e autoria em coluna: quem escreveu a letra e quem fez a música fica
   sempre à vista, e não escondido dentro do painel da letra */
.alin__q{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.alin__t{font-size:.98rem;min-width:0}
.alin__a{font-size:.72rem;line-height:1.45;color:var(--tinta-fraca)}
.alin__a--falta{font-style:italic;opacity:.72}
.alin__v{color:var(--cobalto);font-size:.7rem;text-decoration:none;
         width:24px;height:24px;border-radius:50%;border:1px solid var(--linha-forte);
         display:grid;place-items:center;transition:background-color .3s var(--curva),color .3s var(--curva)}
.alin__v:hover{background:var(--cobalto);color:var(--papel)}
.alin__d{font-size:.78rem;color:var(--tinta-fraca);font-variant-numeric:tabular-nums;min-width:2.6rem;
          text-align:right;padding-top:.12rem}

/* ── faixa: botões de vídeo, letra e partitura ──────────── */
.alin__f{grid-template-columns:auto minmax(0,1fr) auto auto}
.alin--larga{margin-top:1.4rem}
.alin__b{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}
.fx{display:inline-flex;align-items:center;gap:.35rem;font-family:inherit;
    font-size:.62rem;font-weight:600;font-stretch:78%;text-transform:uppercase;letter-spacing:.12em;
    color:var(--tinta-fraca);background:none;border:1px solid var(--linha);border-radius:999px;
    padding:.35rem .7rem;cursor:pointer;white-space:nowrap;
    transition:color .3s var(--curva),border-color .3s var(--curva)}
.fx:hover{color:var(--cobalto);border-color:var(--cobalto)}
.ic--fx{width:.8rem;height:.8rem;flex:none}
.video-c__x{margin:.5rem 0 0;display:flex;gap:.35rem;flex-wrap:wrap}
.disco__q--so{max-width:60ch;margin-bottom:.6rem}
.disco__q--so .d--m{margin:.4rem 0 .8rem}

/* painel de texto: letra ou partitura */
.lente--folha{align-items:start;overflow-y:auto}
.folha{width:min(680px,100%);background:var(--papel);border-radius:16px;
       padding:clamp(1.8rem,5vw,3.2rem);margin:auto;box-shadow:var(--sombra);
       transform:translateY(12px);transition:transform .35s var(--curva)}
.lente--dentro .folha{transform:translateY(0)}
.folha .d--m{margin:.5rem 0 0}
.folha__a{margin:.6rem 0 0;font-size:.82rem;color:var(--tinta-fraca)}
.folha__t{margin-top:clamp(1.4rem,3vw,2.2rem);font-family:var(--display);
          font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.7;
          font-variation-settings:'opsz' 18}
.folha__t p{margin:0 0 1.5rem}
.folha__t p:last-child{margin-bottom:0}
.folha__p{margin-top:clamp(1.4rem,3vw,2.2rem)}
.folha__p img{width:100%;height:auto;border:1px solid var(--linha);border-radius:10px;
              background:var(--superficie)}
.folha__d{margin:.9rem 0 0;font-size:.7rem;font-weight:600;font-stretch:78%;
          text-transform:uppercase;letter-spacing:.13em}
.folha__d a{color:var(--cobalto);border-bottom:1px solid currentColor}

/* ── vídeos ─────────────────────────────────────────────── */
.videos{display:flex;flex-direction:column;gap:0}
.videos__l{display:flex;flex-direction:column;gap:0}

/* filtros: a mesma pastilha das abas de plataforma, para a casa toda usar o
   mesmo botão */
.vfiltros{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
.vfiltros__n{margin-left:.4rem;opacity:.65;font-variant-numeric:tabular-nums}
.videos__nota{margin:0 0 clamp(1.8rem,4vw,2.8rem);max-width:68ch}

/* Um ano por bloco, recolhível. O ano em corpo grande faz de marcador — é o
   mesmo gesto do número do ano na discografia, e as duas páginas leem-se da
   mesma maneira. */
.vano{position:relative}
.vano__s{list-style:none;cursor:pointer;display:grid;
         grid-template-columns:auto minmax(0,1fr) auto;align-items:center;
         gap:.4rem 1rem;padding:.2rem 0}
.vano__s::-webkit-details-marker{display:none}
.vano__a{font-family:var(--display);font-size:clamp(2rem,5vw,3.1rem);line-height:.9;
         letter-spacing:-.02em;color:var(--tinta)}
.vano__q{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.vano__n{font-size:.68rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
         letter-spacing:.16em;color:var(--tinta-fraca)}
.vano__d{font-size:.78rem;color:var(--cobalto);line-height:1.4}
.vano__v{width:.6rem;height:.6rem;border-right:1.6px solid var(--tinta-fraca);
         border-bottom:1.6px solid var(--tinta-fraca);rotate:45deg;translate:0 -3px;
         transition:rotate .3s var(--curva),translate .3s var(--curva)}
.vano[open] > .vano__s .vano__v{rotate:-135deg;translate:0 2px}
.vano__s:focus-visible{outline:2px solid var(--cobalto);outline-offset:4px}
.vano[open] > .vano__s{margin-bottom:clamp(1.4rem,3vw,2.2rem)}

/* mesma separação que na discografia: traço a toda a largura */
.vgrupo{position:relative;padding-block:clamp(2.6rem,6vw,4.6rem);
        border-top:1px solid var(--linha-forte)}
.vgrupo:first-child{border-top:0;padding-top:0}
.vgrupo[hidden]{display:none}
.vgrupo__cab{margin-bottom:clamp(1.4rem,3vw,2.2rem);max-width:60ch}
.vgrupo__cab .legenda{margin-top:.5rem}
.videos__g{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
/* uma classe com display vence o [hidden] do agente do utilizador */
.videos__g[hidden]{display:none}
.videos__g + .videos__g{margin-top:clamp(1.5rem,3vw,2.5rem)}
.vgrupo__mais{margin-top:clamp(1.6rem,3vw,2.4rem);display:flex;justify-content:center}
@media (min-width:640px){.videos__g{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.videos__g{grid-template-columns:repeat(3,1fr)}}
.video-c{scroll-margin-top:7rem;min-width:0}
.video-c__t{margin:.9rem 0 .2rem;font-size:1.05rem;font-weight:600}
.video-c__fado{font-size:.8rem;font-weight:400;color:var(--tinta-fraca);white-space:nowrap}
.video-c__l{margin:0;font-size:.72rem;font-weight:600;font-stretch:76%;text-transform:uppercase;
            letter-spacing:.16em;color:var(--tinta-fraca)}
/* a que disco pertence o tema — deixou de ser o capítulo e passou a ser isto */
.video-c__d{margin:.35rem 0 0;font-size:.72rem;font-weight:600;font-stretch:78%;
            text-transform:uppercase;letter-spacing:.12em}
.video-c__d a{color:var(--cobalto);border-bottom:1px solid transparent;
              transition:border-color .3s var(--curva)}
.video-c__d a:hover{border-bottom-color:var(--cobalto)}
.video-c__a{margin:.45rem 0 0;font-size:.82rem;color:var(--tinta-fraca);line-height:1.5}
.video-c__o{margin:.25rem 0 0;font-size:.78rem;color:var(--tinta-fraca);line-height:1.5;font-style:italic}
.video-c__c{margin:.35rem 0 0;font-size:.68rem;font-weight:600;font-stretch:76%;text-transform:uppercase;
            letter-spacing:.14em;color:var(--tinta-fraca);opacity:.75}

/* leitor sobreposto dos vídeos */
.lente{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:clamp(1rem,4vw,3rem);
       background:color-mix(in srgb,var(--tinta) 88%,transparent);opacity:0;
       transition:opacity .3s var(--curva);backdrop-filter:blur(6px)}
.lente--dentro{opacity:1}
.lente__q{width:min(1100px,100%);transform:scale(.97);transition:transform .35s var(--curva)}
.lente--dentro .lente__q{transform:scale(1)}
.lente__v{position:relative;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;
          box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.lente__v iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lente__t{margin:.9rem 0 0;color:var(--papel);font-size:.9rem;text-align:center;opacity:.85}
html[data-tema="escuro"] .lente__t{color:var(--tinta)}
.lente__f{position:absolute;top:clamp(.6rem,2vw,1.4rem);right:clamp(.6rem,2vw,1.4rem);
          width:2.8rem;height:2.8rem;border-radius:50%;border:1px solid rgba(255,255,255,.35);
          background:rgba(255,255,255,.08);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;
          display:grid;place-items:center;transition:background-color .3s var(--curva)}
.lente__f:hover{background:rgba(255,255,255,.2)}

/* ── temas escritos para outras vozes ───────────────────── */
.vozes{display:grid;gap:clamp(1.6rem,3vw,2.2rem);margin-top:clamp(1.4rem,3vw,2.4rem);
       grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.voz{display:flex;flex-direction:column;gap:1rem;border:1px solid var(--linha);border-radius:16px;
     padding:clamp(1.1rem,2.4vw,1.5rem);background:var(--papel);min-width:0}
.sec--fundo .voz{background:var(--papel)}
.voz__cap{margin:0}
.voz__capa{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border:1px solid var(--linha);
           border-radius:10px;background:var(--superficie);display:block}
.voz__cap figcaption{margin-top:.5rem;font-size:.66rem;font-weight:600;font-stretch:76%;
                     text-transform:uppercase;letter-spacing:.14em;color:var(--tinta-fraca)}
.voz__q{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.voz__t{font-family:var(--display);font-size:clamp(1.4rem,2.2vw,1.85rem);line-height:1.05;margin:.1rem 0 0;
        font-variation-settings:'opsz' 26;overflow-wrap:break-word}
.voz__f{margin:0;font-size:.82rem;color:var(--tinta-fraca);font-style:italic}
.voz__d{margin:0;font-size:.88rem;color:var(--tinta-fraca)}
.voz__leitor{width:100%;height:152px;border:0;border-radius:12px;margin-top:.5rem;background:var(--superficie)}
/* botão com a mesma tipografia dos .cap que são <a> — o <button> não a herda */
.voz__bt{cursor:pointer;font-family:inherit;background:none;appearance:none}
.voz__v:not(:empty){margin-top:.8rem}
.voz__vf{width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:12px;display:block}
.voz__capa + .credito{margin:.4rem 0 0}

/* lista «também escreveu», na página das letras */
.pv__q{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.pv__a{font-size:.78rem;color:var(--tinta-fraca);line-height:1.45}

/* ── páginas legais ─────────────────────────────────────── */
.legal{max-width:64ch}
.legal h2{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.8rem);line-height:1.1;
          margin:clamp(2.2rem,4vw,3rem) 0 .8rem;font-variation-settings:'opsz' 24}
.legal h2:first-child{margin-top:0}
.legal p{margin:0 0 1rem;font-size:.95rem;line-height:1.75;color:var(--tinta-fraca)}
.legal ul{margin:0 0 1rem;padding-left:1.15rem}
.legal li{font-size:.95rem;line-height:1.75;color:var(--tinta-fraca);margin-bottom:.5rem}
.legal b{color:var(--tinta);font-weight:600}
.legal a{color:var(--cobalto);text-decoration:none;border-bottom:1px solid currentColor}
.legal__data{margin-top:2.5rem;font-size:.8rem;font-style:italic;opacity:.7}

/* aviso de cookies */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:clamp(.8rem,2vw,1.4rem);
    transform:translateY(120%);transition:transform .45s var(--curva)}
.ck--dentro{transform:translateY(0)}
.ck__in{max-width:var(--env,1400px);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;
        gap:1rem clamp(1rem,3vw,2.5rem);padding:clamp(1rem,2.4vw,1.5rem) clamp(1.1rem,3vw,2rem);
        background:var(--papel);border:1px solid var(--linha-forte);border-radius:16px;
        box-shadow:var(--sombra)}
.ck__t{margin:0;flex:1 1 26ch;font-size:.86rem;line-height:1.6;color:var(--tinta-fraca)}
.ck__t a{color:var(--cobalto)}
.ck__b{display:flex;flex-wrap:wrap;gap:.6rem;flex:none}
.ck__r{font-family:inherit;background:none;cursor:pointer}
.cap.ck__r{color:var(--tinta-fraca)}

/* rodapé: ligações legais */
.pe__legal{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;align-items:center}
.pe__legal a,.pe__ck{font:inherit;font-size:inherit;color:inherit;background:none;border:0;padding:0;
                     cursor:pointer;text-decoration:none;border-bottom:1px solid transparent;
                     transition:border-color .3s var(--curva),color .3s var(--curva)}
.pe__legal a:hover,.pe__ck:hover{color:var(--cobalto);border-bottom-color:var(--cobalto)}
.pe__l--ic a{display:inline-flex;align-items:center;gap:.5rem}

/* ── Instagram embutido ─────────────────────────────────── */
.ig{margin-top:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;gap:clamp(1.4rem,3vw,2.2rem)}
.ig__g{display:grid;gap:clamp(1rem,2vw,1.6rem);
       grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.ig__c{margin:0;display:flex;flex-direction:column;gap:.55rem;min-width:0}
.ig__p{width:100%;min-height:560px;border:1px solid var(--linha);border-radius:16px;
       background:var(--papel);display:block}
.ig__l{font-size:.68rem;font-weight:600;font-stretch:76%;text-transform:uppercase;
       letter-spacing:.14em;color:var(--tinta-fraca);overflow-wrap:anywhere}
.ig__l a{color:inherit;text-decoration:none;border-bottom:1px solid var(--linha-forte);
         transition:color .3s var(--curva),border-color .3s var(--curva)}
.ig__l a:hover{color:var(--cobalto);border-color:var(--cobalto)}
.ig__g--fotos{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.ig__foto{display:block;overflow:hidden;border-radius:14px;border:1px solid var(--linha);
          background:var(--superficie);aspect-ratio:1}
.ig__foto img{width:100%;height:100%;object-fit:cover;display:block;
              transition:transform .6s var(--curva)}
.ig__foto:hover img{transform:scale(1.04)}
.ig__convite{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;
             padding:clamp(1.6rem,3.5vw,2.4rem);border:1px solid var(--linha);border-radius:16px;
             background:var(--papel);max-width:52ch}
.sec--fundo .ig__convite{background:var(--papel)}
.ig__arroba{margin:0;font-family:var(--display);font-size:clamp(2rem,4.5vw,3.2rem);line-height:1;
            font-variation-settings:'opsz' 40;overflow-wrap:anywhere}
.ig__convite .txt{margin:0}

/* atalho da página inicial para as outras */
.portas{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.porta{display:flex;flex-direction:column;gap:.5rem;padding:1.4rem 1.5rem;border:1px solid var(--linha);
       border-radius:16px;background:var(--papel);transition:transform .4s var(--curva),border-color .4s var(--curva)}
.sec--fundo .porta{background:var(--papel)}
.porta:hover{transform:translateY(-4px);border-color:var(--cobalto)}
.porta__t{font-family:var(--display);font-size:1.5rem;line-height:1.05;font-variation-settings:'opsz' 24}
.porta__d{font-size:.85rem;color:var(--tinta-fraca)}
.porta__s{margin-top:.4rem;color:var(--cobalto);font-size:.9rem}

/* ── percurso ───────────────────────────────────────────── */
.percurso{list-style:none;margin:1.2rem 0 0;padding:0;border-top:1px solid var(--linha)}
.passo{display:grid;grid-template-columns:4.2rem minmax(0,1fr);gap:.4rem 1.4rem;align-items:baseline;
       padding:1rem 0;border-bottom:1px solid var(--linha)}
.passo__a{font-family:var(--display);font-size:1.35rem;color:var(--cobalto);
          font-variant-numeric:tabular-nums;font-variation-settings:'opsz' 18}
.passo__t{font-size:.92rem;line-height:1.65;color:var(--tinta-fraca)}
@media (max-width:520px){.passo{grid-template-columns:1fr;gap:.2rem}}

/* ── fotografias reais ──────────────────────────────────── */
.cheia__img{width:100%;height:auto;display:block}
@media (max-width:640px){.cheia__img{aspect-ratio:4/5;object-fit:cover}}
.sobre__f-cx{margin:0}
.sobre__img{width:100%;height:auto;border:1px solid var(--linha);display:block}
.sobre__cred{margin-top:.7rem;font-size:.64rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
             letter-spacing:.14em;color:var(--tinta-fraca)}
/* As fotografias de imprensa: três em linha, cada uma com a sua proporção.
   Nada de aspect-ratio fixo aqui — forçar 3/4 cortava o plano largo do palco.
   Alinham-se pelo topo e a legenda encosta ao fundo da coluna. */
.g3{display:grid;gap:clamp(1rem,2.5vw,2rem);align-items:start}
@media (min-width:700px){.g3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.foto{margin:0;display:flex;flex-direction:column;gap:.7rem;min-width:0}
.foto img{width:100%;height:auto;display:block;border:1px solid var(--linha)}


/* ── crédito de imagem ──────────────────────────────────── */
.credito,figcaption,.sobre__cred,.mais__c{
  margin:.6rem 0 0;font-size:.62rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
  letter-spacing:.13em;color:var(--tinta-fraca);line-height:1.5}
.cart .credito,.video-c .credito{margin-top:.45rem}
.disco__capa + .credito{margin-bottom:.4rem}

/* ── cronologia ─────────────────────────────────────────── */
/* Duas formas do mesmo conteúdo. Acima dos 1040px é uma linha vertical colada
   à esquerda, que acompanha a leitura. Abaixo é um painel recolhido: a fila
   horizontal que aqui esteve cortava-se na margem e não se via que rolava. */
.comLinha{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.4rem,3vw,3.2rem)}
.comLinha__q{min-width:0}
.linha{min-width:0}
.linha__l{list-style:none;margin:0;padding:0}
.linha__larga{display:none}
.linha__a{font-weight:700;color:var(--cobalto)}

@media (min-width:1040px){
  .comLinha{grid-template-columns:minmax(0,200px) minmax(0,1fr);align-items:start}
  .linha{position:sticky;top:calc(var(--nav-alt,5.2rem) + 1.4rem)}
  .linha__larga{display:block}
  .linha__curta{display:none}

  .linha__rot{margin:0 0 1rem}
  .linha__larga .linha__l{border-left:1px solid var(--linha);padding-left:1.15rem}
  .linha__i{position:relative}
  .linha__i a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem .7rem;
              padding:.55rem 0;text-decoration:none;color:var(--tinta-fraca);
              transition:color .3s var(--curva)}
  /* marca cheia num lançamento, vazia num tema solto */
  .linha__i::before{content:"";position:absolute;left:-1.15rem;top:1.05rem;
                    width:7px;height:7px;border-radius:99px;translate:-50% 0;
                    background:var(--papel);border:1px solid var(--linha-forte);
                    transition:background .3s var(--curva),border-color .3s var(--curva),
                               scale .3s var(--curva)}
  .linha__i--marco::before{background:var(--linha-forte)}
  .linha__i:hover a,.linha__i--aqui a{color:var(--tinta)}
  .linha__i--aqui::before{background:var(--cobalto);border-color:var(--cobalto);scale:1.35}
  .linha__a{grid-row:span 2;font-size:.7rem;letter-spacing:.04em;padding-top:.15rem}
  .linha__q{display:flex;flex-direction:column;gap:.1rem;min-width:0}
  .linha__t{font-size:.85rem;line-height:1.35}
  .linha__i--marco .linha__t{font-weight:600}
  .linha__n{font-size:.64rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
            letter-spacing:.09em;color:var(--tinta-fraca);line-height:1.35}
}

/* painel recolhido, no telemóvel e no tablet */
.linha__curta{border:1px solid var(--linha);border-radius:12px;background:var(--papel)}
.sec--fundo .linha__curta{background:var(--papel)}
.linha__curta > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.7rem;
                        padding:.85rem 1rem;font-size:.68rem;font-weight:700;font-stretch:72%;
                        text-transform:uppercase;letter-spacing:.16em;color:var(--tinta)}
.linha__curta > summary::-webkit-details-marker{display:none}
.linha__s-n{margin-left:auto;font-size:.72rem;font-weight:600;color:var(--tinta-fraca);
            letter-spacing:normal}
.linha__s-v{width:.55rem;height:.55rem;border-right:1.5px solid var(--tinta-fraca);
            border-bottom:1.5px solid var(--tinta-fraca);rotate:45deg;translate:0 -2px;
            transition:rotate .3s var(--curva)}
.linha__curta[open] > summary .linha__s-v{rotate:-135deg;translate:0 2px}
.linha__curta[open] > summary{border-bottom:1px solid var(--linha)}
.linha__curta .linha__l{padding:.4rem 0 .6rem}
.linha__curta .linha__i a{display:grid;grid-template-columns:3.2rem minmax(0,1fr);gap:.15rem .6rem;
                          padding:.6rem 1rem;text-decoration:none;color:var(--tinta)}
.linha__curta .linha__i--aqui a{background:color-mix(in srgb,var(--cobalto) 8%,transparent)}
.linha__curta .linha__a{grid-row:span 2;font-size:.74rem}
.linha__curta .linha__t{font-size:.88rem;line-height:1.3}
.linha__curta .linha__i--marco .linha__t{font-weight:600}
.linha__curta .linha__n{font-size:.64rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
                        letter-spacing:.09em;color:var(--tinta-fraca)}

/* de onde saiu a letra: no sítio de uma artista, uma letra sem proveniência
   não vale muito mais do que letra nenhuma */
.folha__fonte{margin:1.6rem 0 0;padding-top:1rem;border-top:1px solid var(--linha);
              font-size:.66rem;font-weight:600;font-stretch:78%;text-transform:uppercase;
              letter-spacing:.12em;color:var(--tinta-fraca)}

/* ── painel de uma faixa: vídeo, letra, ou os dois ──────── */
/* Um só painel para os três casos. Com vídeo e letra ao mesmo tempo, ficam
   lado a lado no ecrã largo e um sobre o outro no estreito; a letra rola
   dentro da própria coluna, para o vídeo não sair de vista. */
.lente--faixa .fx__q{width:min(1100px,100%);max-height:calc(100dvh - clamp(2rem,8vw,6rem));
                     display:flex;flex-direction:column;gap:clamp(.9rem,2vw,1.4rem);
                     background:var(--papel);border-radius:16px;
                     padding:clamp(1.4rem,3.5vw,2.4rem);overflow:auto;
                     transform:scale(.97);transition:transform .35s var(--curva)}
.lente--dentro .fx__q{transform:scale(1)}
.fx__cab{display:flex;flex-direction:column;gap:.5rem}
.fx__cab .d{margin:0}
.fx__l{min-width:0;overflow:auto}
.lente--faixa .lente__v{border-radius:12px}

@media (min-width:900px){
  .lente--duplo .fx__q{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);
                       grid-template-rows:auto minmax(0,1fr);align-items:start;
                       column-gap:clamp(1.4rem,3vw,2.4rem)}
  .lente--duplo .fx__cab{grid-column:1 / -1}
  .lente--duplo .fx__l{max-height:60dvh;padding-right:.6rem}
  /* a letra ao lado do vídeo tem metade da largura: o corpo desce com ela */
  .lente--duplo .folha__t{margin-top:0;font-size:1.02rem;line-height:1.62}
  .lente--duplo .folha__t p{margin-bottom:1.1rem}
}
.lente--faixa .folha__t{margin-top:0}

/* ── ouvir o disco, recolhido ───────────────────────────── */
/* Fechado ocupa uma linha e diz onde se pode ouvir; aberto mostra as abas e o
   leitor. Os iframes só carregam ao abrir — ver ligarOuvir() em paginas.js. */
.ouvirD{border:1px solid var(--linha);border-radius:14px;background:var(--superficie);
        margin-top:.4rem}
.sec--fundo .ouvirD{background:var(--papel)}
.ouvirD > summary{list-style:none;cursor:pointer;display:flex;align-items:center;
                  gap:.4rem 1rem;flex-wrap:wrap;padding:1rem clamp(1rem,2.4vw,1.5rem)}
.ouvirD > summary::-webkit-details-marker{display:none}
.ouvirD > summary:hover .ouvirD__t{color:var(--cobalto)}
.ouvirD__t{font-size:.68rem;font-weight:700;font-stretch:72%;text-transform:uppercase;
           letter-spacing:.16em;color:var(--tinta);transition:color .3s var(--curva)}
.ouvirD__n{font-size:.74rem;color:var(--tinta-fraca)}
.ouvirD__v{margin-left:auto;width:.55rem;height:.55rem;flex:none;
           border-right:1.5px solid var(--tinta-fraca);border-bottom:1.5px solid var(--tinta-fraca);
           rotate:45deg;translate:0 -2px;transition:rotate .3s var(--curva)}
.ouvirD[open] > summary .ouvirD__v{rotate:-135deg;translate:0 2px}
.ouvirD[open] > summary{border-bottom:1px solid var(--linha)}
.ouvirD .disco__toca{padding:clamp(1rem,2.4vw,1.5rem)}
.ouvirD .rot--so{margin-bottom:.7rem}

/* ── vídeo em destaque, na página inicial ──────────────── */
.dest{display:grid;gap:clamp(1.4rem,3vw,2.6rem);align-items:center}
@media (min-width:900px){.dest{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
.dest__v{min-width:0}
.dest__q{display:flex;flex-direction:column;gap:.9rem;min-width:0}
.dest__t{margin:0}
.dest__a{margin:0;font-size:.88rem}
.dest__b{display:flex;flex-wrap:wrap;gap:.7rem;margin:.4rem 0 0}
.dest__bt{cursor:pointer;font-family:inherit;appearance:none}

/* ── imprensa, na página inicial ───────────────────────── */
.dizem{display:grid;gap:clamp(1.8rem,4vw,3.5rem);align-items:start}
@media (min-width:860px){.dizem{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.dizem .pecas{margin-top:1rem}
.dizem .cit__t{font-size:clamp(1.15rem,2.1vw,1.6rem)}

/* ── botão de ouvir, no pé do hero ─────────────────────── */
.hero__ouvir{flex:none}

/* ── instagram: uma fila que rola, no telemóvel ────────── */
/* Três embeds empilhados ocupavam 2,7 ecrãs — mais do que qualquer outra
   secção, e para conteúdo que nem é dela. Numa fila, ocupam 0,8. */
@media (max-width:759px){
  .ig__g{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;
         padding-bottom:.6rem;
         scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ig__g::-webkit-scrollbar{display:none}
  .ig__c{flex:none;width:min(84vw,340px);scroll-snap-align:start}
}
.saiu__l{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.saiu__l a{display:inline-flex;align-items:baseline;gap:.55rem;text-decoration:none;
           border:1px solid var(--linha);border-radius:99px;padding:.55rem 1rem;
           font-size:.72rem;font-weight:600;font-stretch:80%;color:var(--tinta);
           transition:border-color .3s var(--curva),color .3s var(--curva)}
.saiu__l a:hover{border-color:var(--cobalto);color:var(--cobalto)}
.saiu__a{font-size:.66rem;color:var(--tinta-fraca)}
