:root{
  --bg:#0b0b0a; --bg2:#151513; --fg:#ece8e1; --mut:#8d8a83; --line:#2a2925;
  --acc:#e8e2d4;
  --cut:-14deg; /* o ângulo do logótipo */
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--fg);font-family:"Archivo",system-ui,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
footer{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1320px;margin:0 auto;padding:0 32px}
.cond{font-family:"Archivo",sans-serif;font-stretch:62%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em;line-height:.88}
.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.slash::before{content:"/ ";color:var(--mut)}

/* header */
header{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 32px;background:linear-gradient(#0b0b0acc,#0b0b0a00);transition:background .3s}
header.solid{background:#0b0b0af2;border-bottom:1px solid var(--line)}
header .logo img{height:64px;width:auto}
nav{display:flex;gap:28px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
nav a{opacity:.75;transition:.2s}
nav a:hover,nav a.on{opacity:1}
nav .lang{color:var(--mut)}
.burger{display:none;background:none;border:0;color:var(--fg);font:inherit;font-size:13px;letter-spacing:.14em}

/* hero */
.hero{position:relative;height:100svh;min-height:560px;overflow:hidden}
.hero video,.hero .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05) brightness(.9)}
.hero .txt{grid-template-columns:1fr;gap:8px;bottom:70px}
.hero .side{max-width:300px;font-size:14px}
.hero .txt{position:absolute;left:32px;right:32px;bottom:70px;display:grid;grid-template-columns:1fr;gap:8px}
.hero h1{font-size:12px;font-weight:500}
.hero h1 span{display:block}
.hero h1 span:nth-child(2){padding-left:.6em}
.hero h1 span:nth-child(3){padding-left:1.2em}
.hero .side{color:#cfcac0}

/* faixa diagonal */
.band{transform:rotate(-3deg);margin:-40px -40px 60px;background:var(--fg);color:var(--bg);padding:14px 0;white-space:nowrap;overflow:hidden;position:relative;z-index:3}
.band div{display:inline-block;animation:run 60s linear infinite;font-size:30px}
.band b{margin:0 22px;font-weight:300}
@keyframes run{to{transform:translateX(-50%)}}

/* em cena */
section{padding:90px 0}
.head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:16px;margin-bottom:40px}
.head h2{font-size:clamp(44px,6vw,88px)}
.feature{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:center}
.feature .img{aspect-ratio:16/9;overflow:hidden;background:var(--bg2)}
.feature .img img{width:100%;height:100%;object-fit:cover}
.feature h3{font-size:clamp(40px,4.5vw,68px);margin:12px 0 18px}
.feature p{color:#cfcac0}
.btn{display:inline-flex;gap:10px;align-items:center;border:1px solid var(--fg);padding:12px 20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-top:24px;transition:.2s}
.btn:hover{background:var(--fg);color:var(--bg)}
.btn.solid{background:var(--fg);color:var(--bg)}

/* tríptico */
.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.tri a{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--bg2)}
.tri img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.tri a:hover img{filter:none;transform:scale(1.04)}
.tri .lab{position:absolute;inset:auto 0 0;padding:20px;background:linear-gradient(#0000,#000d)}
.tri .n{font-size:13px;color:var(--mut)}
.tri h4{font-size:40px;margin-top:6px}

.soon{margin-top:56px;border:1px dashed #3a3934;padding:32px;max-width:760px}
.soon h3{font-size:clamp(36px,4vw,56px);margin:10px 0 14px}
.soon p{color:#cfcac0}

.prog{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 24px}
.pcard .im{aspect-ratio:4/3;overflow:hidden;background:var(--bg2);margin-bottom:14px}
.pcard img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.pcard:hover img{filter:none;transform:scale(1.04)}
.pcard h3{font-size:clamp(32px,3vw,44px);margin:8px 0 10px}
.pcard p{color:#cfcac0;font-size:15px}
.pcard.big{grid-column:1/-1;display:grid;grid-template-columns:1.6fr 1fr;gap:0 48px;align-items:center}
.pcard.big .im{grid-row:1/5;aspect-ratio:16/9;margin:0}
.pcard.big h3{font-size:clamp(44px,5vw,72px)}
@media (max-width:900px){.prog{grid-template-columns:1fr}.pcard.big{display:block}.pcard.big .im{margin-bottom:14px}}

/* repertório */
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filters button{background:none;border:1px solid var(--line);color:var(--mut);padding:8px 14px;font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.filters button.on{border-color:var(--fg);color:var(--fg)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 20px}
.card .im{aspect-ratio:4/3;overflow:hidden;background:var(--bg2);position:relative}
.card img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.card:hover img{filter:none;transform:scale(1.04)}
.card .type{display:grid;place-items:center;height:100%;padding:20px;text-align:center;font-size:30px;color:#4a4842;transform:rotate(var(--cut))}
.card .meta{display:flex;justify-content:space-between;gap:12px;margin-top:10px}
.card h5{font-size:16px;font-weight:600;line-height:1.3}
.card .y{font-size:13px;color:var(--mut)}
.card.hide{display:none}

/* companhia */
.about{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.about .big{font-size:clamp(24px,2.4vw,34px);line-height:1.3;font-weight:300}
.about p+p{margin-top:16px}
.about .small{color:#cfcac0}

/* rodapé */
footer{border-top:1px solid var(--line);padding:60px 0 40px;margin-top:40px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;font-size:15px}
.fgrid h6{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);font-weight:400;margin-bottom:12px}
.fgrid a{display:block;opacity:.85}
.fgrid a:hover{opacity:1;text-decoration:underline}
.apoios{display:flex;gap:28px;align-items:center;margin-top:48px;padding-top:24px;border-top:1px solid var(--line);font-size:12px;color:var(--mut);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap}
.apoios span{border:1px dashed #3a3934;padding:10px 16px}
.logos{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:32px 64px;margin-top:48px;margin-bottom:120px;padding-top:28px;border-top:1px solid var(--line)}
.logos h6{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);font-weight:400;margin-bottom:14px}
.logos span{display:flex;gap:28px;align-items:center}
.logos img{height:44px;width:auto;opacity:.85}
@media (max-width:900px){.logos img{height:34px}}
.huge{font-size:clamp(90px,22vw,340px);color:#1d1c19;margin-top:30px;transform:rotate(var(--cut));transform-origin:left;white-space:nowrap}

/* página de projeto */
.p-hero{position:relative;height:88svh;min-height:520px;overflow:hidden}
.p-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.5)}
.p-hero .txt{position:absolute;left:32px;right:32px;bottom:48px}
.p-hero h1{font-size:clamp(80px,14vw,230px)}
.p-hero .serie{display:flex;gap:18px;margin-bottom:18px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.p-hero .serie a{opacity:.5}.p-hero .serie a.on{opacity:1;border-bottom:1px solid}
.p-body{display:grid;grid-template-columns:1fr 1.4fr;gap:72px}
.facts{position:sticky;top:100px;align-self:start}
.facts dl{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;font-size:15px;margin-top:20px}
.facts dt{color:var(--mut)}
.lead{font-size:clamp(22px,2vw,28px);line-height:1.45;font-weight:300}
.ficha{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin-top:20px}
.ficha div{border-top:1px solid var(--line);padding:12px 0;font-size:15px}
.ficha span{display:block;font-size:12px;color:var(--mut);letter-spacing:.08em;text-transform:uppercase}
.gal{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:180px;gap:6px}
.gal img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.gal img:hover{filter:none}
.gal .w2{grid-column:span 2;grid-row:span 2}
.gal .tall{grid-row:span 2}
@media (max-width:900px){.gal{grid-template-columns:1fr 1fr;grid-auto-rows:140px}}
.video{aspect-ratio:16/9;background:#000}
.video iframe{width:100%;height:100%;border:0}
.dates{width:100%;border-collapse:collapse;font-size:15px}
.dates td{border-top:1px solid var(--line);padding:14px 0}
.dates td:last-child{text-align:right}
.note{font-size:12px;color:#b9935a;letter-spacing:.06em}
.next{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.next a{padding:40px 0}
.next a:last-child{text-align:right;border-left:1px solid var(--line)}
.next h4{font-size:44px;margin-top:6px}

@media (max-width:900px){
  .wrap{padding:0 16px} header{padding:14px 16px}
  nav{display:none} .burger{display:block}
  .hero{height:auto;min-height:0;padding-top:72px}
  .hero video{position:relative;height:auto;aspect-ratio:16/9}
  .hero .txt{position:static;padding:24px 16px 70px}
  .p-hero .txt{left:16px;right:16px}
  .feature,.about,.p-body{grid-template-columns:1fr;gap:32px}
  .tri{grid-template-columns:1fr}.tri a{aspect-ratio:16/10}
  .grid{grid-template-columns:1fr 1fr;gap:20px 12px}
  .fgrid{grid-template-columns:1fr 1fr}
  .ficha{grid-template-columns:1fr}
  .facts{position:static}
  .next h4{font-size:28px}
  section{padding:60px 0}
}

/* postais */
.postais{display:grid;grid-template-columns:repeat(5,1fr);gap:24px 16px}
.postal .im{aspect-ratio:3/2;overflow:hidden;background:var(--bg2);position:relative}
.postal img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.postal:hover img{filter:none;transform:scale(1.04)}
.postal .lock{position:absolute;left:8px;bottom:8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;background:#0b0b0acc;padding:4px 8px;opacity:0;transition:.3s}
.postal:hover .lock{opacity:1}
.postal h5{font-size:15px;font-weight:600;margin-top:10px;line-height:1.3}
.postal .y{font-size:13px;color:var(--mut)}
@media (max-width:900px){.postais{grid-template-columns:1fr 1fr}}

/* companhia */
.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:64px}
.nums b{display:block;font-size:clamp(64px,8vw,120px)}
.nums span{color:#cfcac0;font-size:15px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:64px 0 32px;border-top:1px solid var(--line);padding-top:32px}
.team h4{font-size:36px;margin:6px 0 12px}
.team p{color:#cfcac0;font-size:15px}
@media (max-width:900px){.nums{grid-template-columns:1fr 1fr}.team{grid-template-columns:1fr}}

/* sem rato (telemóvel): fotografias sempre a cores */
@media (hover:none){img,video{filter:none!important}.postal .lock{opacity:1}}

/* destaque (Incandescente): mesmo efeito preto e branco que o resto */
.feature .img img{filter:grayscale(1);transition:.5s}
.feature:hover .img img{filter:none;transform:scale(1.04)}
@media (hover:none){.feature .img img{filter:none!important}}

/* linha do tempo (percurso) */
.tl{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x proximity;border-top:1px solid var(--line);margin-bottom:32px;padding-bottom:12px}
.tl .yr{flex:0 0 190px;scroll-snap-align:start;padding:18px 18px 8px 0;border-right:1px solid var(--line);margin-right:18px}
.tl .yr b{display:block;font-size:44px;margin-bottom:12px;color:var(--fg)}
.tl .yr a{display:block;font-size:14px;line-height:1.35;color:#cfcac0;margin-bottom:10px}
.tl .yr a:hover{color:var(--fg);text-decoration:underline}
.tl::-webkit-scrollbar{height:6px}.tl::-webkit-scrollbar-thumb{background:#3a3934}

/* página dos postais: percurso do projeto */
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;border-top:1px solid var(--line);padding-top:24px}
.steps b{display:block;font-size:56px}
.steps span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.steps p{color:#cfcac0;font-size:15px;margin-top:8px}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}

/* página da companhia */
.team.big{margin-top:0}
.team .y{display:block;font-size:13px;color:var(--mut);margin:-6px 0 12px}
.colab{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.colab h5{font-size:18px;font-weight:600;margin:6px 0 8px}
.colab p{color:#cfcac0;font-size:14px}
.books{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.book .im{aspect-ratio:3/2;overflow:hidden;background:var(--bg2);margin-bottom:16px}
.book img{width:100%;height:100%;object-fit:cover}
.book h4{font-size:40px;margin:6px 0 12px}
.book p{color:#cfcac0}
@media (max-width:900px){.colab,.books{grid-template-columns:1fr}}

/* página espetáculos */
.peca{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;padding:40px 0;border-top:1px solid var(--line)}
.peca .im{aspect-ratio:3/2;overflow:hidden;background:var(--bg2);display:block}
.peca img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.peca:hover img{filter:none;transform:scale(1.03)}
.peca h3{font-size:clamp(40px,4.5vw,64px);margin:8px 0 14px}
.peca p{color:#cfcac0}
.peca dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:14px;margin:18px 0 6px}
.peca dt{color:var(--mut)}
@media (max-width:900px){.peca{grid-template-columns:1fr;gap:20px}}

/* página programação */
.prog-sec{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;border-top:1px solid var(--line)}
.prog-sec:nth-of-type(odd){grid-template-columns:1fr 1.2fr}
.prog-sec:nth-of-type(odd) .im{order:2}
.prog-sec .im{aspect-ratio:3/2;overflow:hidden;background:var(--bg2)}
.prog-sec img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:.5s}
.prog-sec:hover img{filter:none}
.prog-sec h2{font-size:clamp(44px,5vw,76px);margin:8px 0 16px}
.prog-sec p{color:#cfcac0;margin-bottom:12px}
@media (max-width:900px){.prog-sec,.prog-sec:nth-of-type(odd){grid-template-columns:1fr;gap:20px}.prog-sec:nth-of-type(odd) .im{order:0}}
@media (hover:none){.peca img,.prog-sec img{filter:none!important}}

/* ===== WordPress ===== */
.entry{color:#cfcac0;max-width:820px}
.entry > * + *{margin-top:18px}
.entry h2,.entry h3,.entry h4{color:var(--fg);font-family:"Archivo",sans-serif;font-stretch:62%;font-weight:800;text-transform:uppercase;line-height:.95;margin-top:40px}
.entry h2{font-size:clamp(36px,4vw,56px)}.entry h3{font-size:clamp(28px,3vw,40px)}.entry h4{font-size:24px}
.entry a{text-decoration:underline}
.entry strong{color:var(--fg)}
.entry img{height:auto}
.entry figure{margin-top:24px}
.entry figcaption{font-size:13px;color:var(--mut);margin-top:6px}
.entry .wp-block-columns{display:flex;gap:32px;flex-wrap:wrap;max-width:none}
.entry .wp-block-column{flex:1 1 240px;min-width:0}
.entry .wp-block-gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px}
.entry .wp-block-gallery img{width:100%;height:100%;object-fit:cover}
.entry .wp-block-embed__wrapper,.entry .video{position:relative;aspect-ratio:16/9;background:#000}
.entry .wp-block-embed__wrapper iframe,.entry .video iframe,.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video{position:relative;aspect-ratio:16/9;background:#000}
.entry video{width:100%;height:auto;background:#000}
.entry .wp-block-separator{border:0;border-top:1px solid var(--line);margin:40px 0}
.entry.intro{font-size:clamp(20px,1.9vw,26px);line-height:1.45;font-weight:300;color:var(--fg);max-width:900px;margin-bottom:28px}
.entry.companhia{max-width:none}
.entry.companhia .wp-block-columns{margin-top:28px}
.entry.companhia h2{border-top:1px solid var(--line);padding-top:16px;margin-top:72px}
.p-body .entry{max-width:none}
.p-body .entry > p:first-child{font-size:clamp(20px,1.8vw,26px);line-height:1.45;font-weight:300;color:var(--fg)}

/* postais: formulário do código */
.pw{max-width:520px;border:1px solid var(--line);padding:28px;margin-top:20px}
.pw p{margin-bottom:16px;color:#cfcac0}
.pw label{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.pw div{display:flex;gap:8px}
.pw input{flex:1;background:transparent;border:1px solid #3a3934;color:var(--fg);padding:12px 14px;font:inherit;font-size:16px}
.pw .btn{margin-top:0;cursor:pointer;border:0;font:inherit;font-size:13px}
button.btn{background:none;color:var(--fg);border:1px solid var(--fg);cursor:pointer}
button.btn.solid{background:var(--fg);color:var(--bg)}

/* menu no telemóvel */
@media (max-width:900px){
  .burger{cursor:pointer}
  body.menu-open nav{display:flex;position:fixed;inset:64px 0 0;background:#0b0b0af7;flex-direction:column;gap:22px;padding:32px 16px;font-size:18px}
  body.menu-open{overflow:hidden}
}
.admin-bar header{top:32px}
@media (max-width:782px){.admin-bar header{top:46px}}

/* conteúdo importado do site antigo: alinhado à esquerda, sem fundos nem margens próprias */
.p-body .entry [class*="has-text-align"],.p-body .entry p,.p-body .entry h2,.p-body .entry h3{text-align:left!important}
.p-body .entry .wp-block-group{padding:0!important;background:none!important;margin-left:0!important;max-width:none!important}
.p-body .entry .wp-block-group > *{max-width:none!important;margin-left:0!important}
.p-body .entry figure.wp-block-image{margin:24px 0}
.p-body .entry .wp-block-image img{width:100%;height:auto}

/* pedido do vídeo integral (espetáculos em circulação) */
.facts .pedido{margin-top:24px;font-size:14px;color:#cfcac0;border-top:1px solid var(--line);padding-top:16px}
.facts .pedido a{text-decoration:underline;color:var(--fg)}

/* ===== páginas de projeto v2: ficha em faixa, texto centrado, imagens largas ===== */
.fband{display:flex;flex-wrap:wrap;align-items:center;gap:18px 40px;padding:28px 0;border-bottom:1px solid var(--line);margin-bottom:64px}
.fband .fb-sub{flex-basis:100%;font-size:12px}
.fband dl{display:flex;flex-wrap:wrap;gap:16px 40px;margin:0}
.fband dl dt{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.fband dl dd{font-size:17px;margin:2px 0 0;color:var(--fg)}
.fband dl > dt + dd{margin-right:0}
.fband dl{display:grid;grid-auto-flow:column;grid-template-rows:auto auto;column-gap:44px;row-gap:2px}
.fb-btns{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.fb-btns .btn{margin-top:0}
.proj{max-width:780px;margin:0 auto;padding-top:0}
.proj .entry{max-width:none;font-size:18px;line-height:1.65}
.proj .entry > p:first-of-type,.proj .entry > .wp-block-group:first-child p:first-of-type{font-size:clamp(22px,2.1vw,28px);line-height:1.4;font-weight:300;color:var(--fg)}
.proj .entry [class*="has-text-align"],.proj .entry p,.proj .entry h2,.proj .entry h3{text-align:left!important}
.proj .entry .wp-block-group{padding:0!important;background:none!important;margin-left:0!important;max-width:none!important}
.proj .entry .wp-block-group > *{max-width:none!important;margin-left:0!important}
/* teaser e imagens mais largos do que o texto */
.proj .largo,.proj .entry figure.wp-block-image,.proj .entry .wp-block-gallery,.proj .entry figure.wp-block-embed,.proj .entry figure.wp-block-video{width:min(1120px,calc(100vw - 64px));margin:56px 0 56px 50%!important;transform:translateX(-50%);max-width:none!important}
.proj .entry figure.wp-block-image img{width:100%;height:auto;max-height:80vh;object-fit:cover}
.proj .entry .wp-block-columns{width:min(1120px,calc(100vw - 64px));margin-left:50%;transform:translateX(-50%)}
.proj .ficha{grid-template-columns:1fr 1fr}
.proj .pedido{margin-top:48px;font-size:15px;color:#cfcac0;border-top:1px solid var(--line);padding-top:18px}
.proj .pedido a{text-decoration:underline;color:var(--fg)}
.p-hero{height:78svh}
.p-hero .txt{bottom:56px}
@media (max-width:900px){
  .fband dl{grid-auto-flow:row;grid-template-rows:none;grid-template-columns:1fr 1fr;column-gap:20px}
  .fb-btns{margin-left:0}
  .proj .largo,.proj .entry figure.wp-block-image,.proj .entry .wp-block-gallery,.proj .entry figure.wp-block-embed,.proj .entry figure.wp-block-video,.proj .entry .wp-block-columns{width:calc(100vw - 32px)}
  .proj .ficha{grid-template-columns:1fr}
}

/* galerias largas e lista de nomes */
.proj .entry .wp-block-gallery{display:grid!important;grid-template-columns:repeat(3,1fr);gap:6px}
.proj .entry .wp-block-gallery figure{margin:0!important;width:auto!important;transform:none!important}
.proj .entry .wp-block-gallery figure:first-child{grid-column:span 2;grid-row:span 2}
.proj .entry .wp-block-gallery img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/2}
.proj .entry .wp-block-gallery figure:first-child img{aspect-ratio:auto}
.proj .entry h2{margin-top:64px}
.proj .entry p.nomes{font-family:"Archivo",sans-serif;font-stretch:62%;font-weight:700;text-transform:uppercase;font-size:clamp(20px,2vw,28px);line-height:1.25;color:var(--fg)}
@media (max-width:900px){.proj .entry .wp-block-gallery{grid-template-columns:1fr 1fr}}

/* correção: só as imagens soltas ficam largas; dentro de colunas e grupos ficam do tamanho da coluna */
.proj .entry .wp-block-column figure,.proj .entry .wp-block-column .wp-block-embed,.proj .entry .wp-block-column .wp-block-video,
.proj .entry .wp-block-group figure.wp-block-image,.proj .entry .wp-block-media-text figure{
  width:100%!important;margin:0 0 16px 0!important;transform:none!important;max-width:100%!important}
.proj .entry .wp-block-column img{width:100%;height:auto;max-height:none}
.proj .entry .wp-block-columns{gap:40px;align-items:flex-start}
.proj .entry .wp-block-column{min-width:0}
.proj .entry .wp-block-media-text{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
@media (max-width:900px){.proj .entry .wp-block-columns{flex-direction:column}.proj .entry .wp-block-media-text{grid-template-columns:1fr}}

/* colunas do conteúdo importado: empilham no telemóvel pela ordem original (como no WordPress) */
.wp-block-columns{display:flex;flex-wrap:wrap;align-items:normal;box-sizing:border-box}
.wp-block-columns.are-vertically-aligned-center{align-items:center}
.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}
.wp-block-column{flex-grow:1;min-width:0;word-break:break-word;overflow-wrap:break-word}
@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-column[style*=flex-basis]{flex-grow:0}}
@media (max-width:781px){
  .wp-block-columns:not(.is-not-stacked-on-mobile){flex-direction:column!important;flex-wrap:wrap!important}
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{flex-basis:100%!important;width:100%}
  .wp-block-column:empty{display:none}
}

/* ===== páginas de layout livre (Desassossego, Aires Torres): na linha do site novo ===== */
main.livre{padding:110px 0 40px;background:var(--bg)}
.livre-in{max-width:1120px;margin:0 auto;padding:0 32px}
main.livre .wp-block-group,main.livre .has-background{background:transparent!important;padding-left:0!important;padding-right:0!important}
main.livre .wp-block-group.alignfull{border-top:1px solid var(--line);padding-top:56px!important;padding-bottom:56px!important;margin:0!important}
main.livre .wp-block-group.alignfull:first-child{border-top:0;padding-top:0!important}
main.livre,main.livre *{font-family:"Archivo",system-ui,sans-serif!important}
main.livre p,main.livre li{color:#cfcac0;font-size:16px!important;line-height:1.6;letter-spacing:0!important}
main.livre h1,main.livre h2,main.livre h3,main.livre h4,main.livre h5{font-stretch:62%;font-weight:800!important;text-transform:uppercase;letter-spacing:-.01em;line-height:.95;color:var(--fg)}
main.livre h1{font-size:clamp(48px,7vw,110px)!important}
main.livre h2{font-size:clamp(40px,5vw,72px)!important}
main.livre h3{font-size:clamp(28px,3.2vw,44px)!important}
main.livre h4{font-size:clamp(22px,2.2vw,30px)!important}
main.livre h5{font-size:20px!important}
main.livre a{text-decoration:underline}
main.livre figure.wp-block-image{margin-left:auto;margin-right:auto}
main.livre figure.wp-block-image img{height:auto;max-width:100%}
main.livre .wp-block-separator{border:0;border-top:1px solid var(--line);opacity:1}
main.livre audio{filter:invert(1) hue-rotate(180deg) grayscale(1) brightness(.9);width:100%}
main.livre video,main.livre iframe{width:100%;max-width:100%}
/* Aires Torres: título e cartaz como uma página do site */
.slug-airestorres main.livre h1{text-align:left!important;margin-bottom:32px}
.slug-airestorres main.livre .wp-block-group > p,.slug-airestorres main.livre .wp-block-group > h2{text-align:left!important}
.slug-airestorres main.livre .wp-block-group{max-width:820px;margin:0 auto}
.slug-airestorres main.livre h3{font-size:24px!important;margin-bottom:6px!important}
.slug-airestorres main.livre .wp-block-columns{border-top:1px solid var(--line);padding-top:18px}
/* Desassossego 2022 (conteúdo antigo) */
.slug-desassossego-festival main.livre figure.aligncenter,.slug-desassossego-festival main.livre .wp-block-image:first-child{margin:0 auto 48px}
.slug-desassossego-festival main.livre [class*="has-text-align"]{text-align:left!important}
@media (max-width:900px){.livre-in{padding:0 16px}main.livre .wp-block-group.alignfull{padding-top:40px!important;padding-bottom:40px!important}}
main.livre video{aspect-ratio:16/9;background:#000;height:auto}

/* cartaz ao lado do título e da apresentação (páginas de layout livre) */
.intro-cartaz{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:end;margin:0 0 72px}
.intro-cartaz figure{margin:0!important;width:100%!important}
.intro-cartaz img{width:100%;height:auto;display:block}
.intro-cartaz .ic-txt h1{margin:0 0 24px!important;text-align:left!important}
.intro-cartaz .ic-txt p{text-align:left!important;font-size:17px!important}
.intro-cartaz .ic-txt p:first-of-type{color:var(--fg)}
main.livre .wp-block-group.alignfull:first-child{padding-top:0!important}
@media (max-width:900px){.intro-cartaz{grid-template-columns:1fr;gap:28px}}
.wp-block-column:empty{display:none}
.p-hero.sem-img{height:auto;min-height:0;padding:150px 0 40px}
.p-hero.sem-img .txt{position:relative;left:auto;right:auto;bottom:auto;max-width:1320px;margin:0 auto;padding:0 32px}
@media (max-width:900px){.p-hero.sem-img .txt{padding:0 16px}}
