/* CP05 · coleccións completas */
[hidden]{display:none!important}
.section{scroll-margin-top:0}
.work-card,.audio-body,.media-titlebar>div{min-width:0}
.work-card strong,.document-link span,.media-titlebar h4{overflow-wrap:anywhere}
.cp05-card,.cp05-project{transform:none!important}
.cp05-card:after,.cp05-project:after{display:none!important}
.cp05-card .card-meta,.cp05-project .card-meta{position:relative;left:auto;right:auto;bottom:auto;min-width:0;max-width:100%;margin-top:auto}
.cp05-card strong,.cp05-project strong{line-height:1.12;min-height:0;padding-bottom:1rem}
.cp05-project .card-description{margin:0 0 1.2rem;flex:1;line-height:1.5}
.cp05-project .project-materials{font-size:.875rem;margin:.1rem 0 .8rem}
.cp05-project .image-wrap,[data-carousel=artigos] .image-wrap,[data-carousel=platano-cartaces] .image-wrap{aspect-ratio:.72}
.cp05-carousel .rail{margin-right:0;padding-right:.2rem}
.cp05-carousel .collection-head{flex-wrap:wrap}
.cp05-carousel .collection-head h3{max-width:none}
.cp05-media .image-wrap{aspect-ratio:16/9}
.cp05-media .work-card{background:var(--sheet)}
[data-carousel=bio-fotos] .image-wrap{aspect-ratio:4/3}
[data-carousel=bio-fluorescentes] .image-wrap{aspect-ratio:4/5}
[data-carousel=fotografias] .image-wrap{aspect-ratio:4/3}
.cp05-card img,.cp05-project img{object-fit:contain}
.bio-documentation{margin-top:4rem}
.season-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:2rem 0 0}
.season-tabs button{display:flex;flex-direction:column;gap:.4rem;text-align:left;font-family:Cartel,sans-serif;font-size:1.6rem;border:1px solid var(--ink);background:var(--sheet);padding:1.15rem;color:var(--ink)}
.season-tabs button span{font-family:Maquina,monospace;font-size:.875rem}
.season-tabs button[aria-selected=true]{background:var(--ink);color:var(--sheet);box-shadow:0 5px 0 var(--red)}
.season-panel{padding:1rem 0 0}
.season-intro{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:1.5rem 0 1rem}
.season-intro h3{margin:0;font-size:2rem}
.episode-list{list-style:none;padding:0;margin:1.2rem 0 0;border-top:1px solid var(--ink)}
.episode-list li{border-bottom:1px solid var(--line);margin:0}
.episode-list a{display:grid;grid-template-columns:4.5rem minmax(0,1fr) auto 2rem;gap:1rem;align-items:center;padding:1.1rem .85rem;color:var(--ink);text-decoration:none;min-height:64px;background:var(--sheet)}
.episode-list a:hover,.episode-list a.is-current{background:var(--ink);color:var(--sheet)}
.episode-title{font-family:Cartel,sans-serif;font-size:1.45rem;line-height:1.2;overflow-wrap:anywhere}
.episode-number,.episode-duration{font-size:.9rem;font-variant-numeric:tabular-nums}
.episode-play{font-size:1.5rem;text-align:center}
.episode-note{display:block;font-family:Maquina,monospace;font-size:.8rem;margin-top:.5rem}
.tokyo-programme .audio-cover{max-height:240px;aspect-ratio:1}
.tokyo-programme .audio-cover img{object-fit:contain}
.tokyo-programme .waveform:empty{display:none}
.project-cover img{object-fit:contain}
@media(max-width:1250px){
 .menu-toggle{display:block;margin-left:auto}
 .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:1rem var(--pad);border-bottom:1px solid var(--ink);max-height:calc(100dvh - 80px);overflow:auto;align-items:stretch}
 .main-nav.is-open{display:flex;flex-direction:column;gap:.3rem}
 .main-nav a{font-size:1.3rem;padding:.6rem 0;white-space:normal}
}
@media(max-width:620px){
 .cp05-carousel .rail{grid-auto-columns:85%}
 .cp05-carousel .collection-head h3{flex-basis:100%;font-size:1.8rem}
 .season-tabs{gap:.3rem}
 .season-tabs button{font-size:1.15rem;padding:.8rem .5rem}
 .season-tabs button span{font-size:.8rem}
 .episode-list a{grid-template-columns:3rem minmax(0,1fr) 1.5rem;gap:.6rem;padding:1rem .6rem}
 .episode-title{font-size:1.2rem}
 .episode-duration{grid-column:2;grid-row:2}
 .episode-play{grid-column:3;grid-row:1 / 3}
 .episode-number{align-self:start;font-size:.8rem;margin-top:.2rem}
 .season-intro p{font-size:.85rem}
 .tokyo-programme .audio-cover{display:none}
 .tokyo-programme .audio-player{padding:1rem}
 .cp05-card strong,.cp05-project strong{font-size:1.6rem}
}

/* CP05 · etiquetas de papel rasgado, 2026-09-08.
   O recorte só se aplica ao papel: o texto e o foco quedan completos. */
.work-card {
 --label-turn: -.55deg;
 --label-edge: polygon(
  2px 5px, 4% 3px, 9% 5px, 13% 1px, 19% 3px, 23% 0,
  29% 4px, 36% 2px, 41% 5px, 47% 1px, 53% 3px, 60% 0,
  67% 4px, 73% 2px, 79% 5px, 86% 1px, 92% 3px, calc(100% - 3px) 2px,
  calc(100% - 1px) 19%, calc(100% - 4px) 39%, 100% 59%,
  calc(100% - 2px) 77%, calc(100% - 4px) calc(100% - 3px),
  94% calc(100% - 1px), 88% calc(100% - 4px), 82% 100%,
  76% calc(100% - 2px), 69% calc(100% - 5px), 62% calc(100% - 1px),
  55% calc(100% - 3px), 49% 100%, 43% calc(100% - 4px),
  37% calc(100% - 2px), 30% calc(100% - 5px), 24% calc(100% - 1px),
  17% calc(100% - 3px), 11% 100%, 6% calc(100% - 4px), 1px calc(100% - 2px),
  3px 79%, 0 61%, 4px 42%, 1px 23%
 );
}
.work-card:nth-child(3n + 2) {
 --label-turn: .6deg;
 --label-edge: polygon(
  3px 2px, 5% 5px, 11% 1px, 18% 4px, 24% 0, 31% 3px,
  38% 1px, 44% 4px, 50% 2px, 57% 5px, 64% 1px, 71% 3px,
  77% 0, 83% 4px, 90% 2px, calc(100% - 2px) 4px,
  100% 24%, calc(100% - 3px) 44%, calc(100% - 1px) 63%,
  calc(100% - 4px) 81%, calc(100% - 2px) calc(100% - 2px),
  93% calc(100% - 4px), 86% 100%, 80% calc(100% - 3px),
  74% calc(100% - 1px), 67% calc(100% - 4px), 61% 100%,
  54% calc(100% - 2px), 47% calc(100% - 5px), 40% calc(100% - 1px),
  33% calc(100% - 3px), 26% 100%, 20% calc(100% - 4px),
  13% calc(100% - 2px), 7% calc(100% - 5px), 2px calc(100% - 1px),
  0 76%, 3px 56%, 1px 35%
 );
}
.work-card:nth-child(3n) { --label-turn: -.15deg; }

.work-card > strong,
.work-card > .card-meta,
.work-card .number-label {
 isolation: isolate;
 background: transparent !important;
 border: 0;
 border-radius: 0;
 box-shadow: none;
 color: var(--ink);
 overflow: visible;
}
.work-card > strong,
.work-card > .card-meta { position: relative; }
.work-card > strong::before,
.work-card > .card-meta::before,
.work-card .number-label::before,
.work-card > strong::after,
.work-card > .card-meta::after,
.work-card .number-label::after {
 content: '';
 position: absolute;
 inset: 0;
 pointer-events: none;
 clip-path: var(--label-edge);
}
.work-card > strong::before,
.work-card > .card-meta::before,
.work-card .number-label::before {
 z-index: -1;
 background-color: #faf7ee;
 background-image: linear-gradient(#faf7eed9, #ede5d3b3), var(--scan);
 background-size: auto, 420% auto;
 background-position: center, 34% 47%;
}
.work-card > strong::after,
.work-card > .card-meta::after,
.work-card .number-label::after {
 z-index: -2;
 background: #342b1e26;
 transform: translate(1px, 2px);
}
.work-card > strong {
 margin: .25rem .25rem .8rem;
 padding: .85rem .85rem .9rem;
 transform: rotate(var(--label-turn));
}
.work-card > .card-meta {
 margin: auto .45rem .45rem;
 padding: .65rem .9rem;
 min-width: 0;
 min-height: 44px;
 max-width: calc(100% - .9rem);
 align-self: flex-start;
 color: var(--red);
 line-height: 1.3;
 transform: rotate(calc(var(--label-turn) * -1));
 overflow-wrap: anywhere;
}
.work-card .card-arrow { color: currentColor; }
.work-card .number-label {
 left: .55rem;
 bottom: .55rem;
 padding: .45rem .7rem;
 font-size: .875rem;
 line-height: 1.3;
 font-variant-numeric: tabular-nums;
 transform: rotate(var(--label-turn));
}
.work-card:focus-visible > .card-meta,
.work-card:hover > .card-meta { color: var(--ink); }

@media (max-width: 620px) {
 .work-card > strong { padding: .8rem .75rem .85rem; }
 .work-card > .card-meta { padding: .65rem .8rem; }
}
@media (forced-colors: active) {
 .work-card > strong,
 .work-card > .card-meta,
 .work-card .number-label {
  color: CanvasText;
  background: Canvas !important;
  border: 1px solid CanvasText;
  transform: none;
 }
 .work-card > strong::before,
 .work-card > strong::after,
 .work-card > .card-meta::before,
 .work-card > .card-meta::after,
 .work-card .number-label::before,
 .work-card .number-label::after { display: none; }
}

/* CP05 · recuperación 04: portada e deseño gráfico. */
.portal-grid .portal {
 --label-turn: -.55deg;
 --label-edge: polygon(
  2px 5px, 4% 3px, 9% 5px, 13% 1px, 19% 3px, 23% 0,
  29% 4px, 36% 2px, 41% 5px, 47% 1px, 53% 3px, 60% 0,
  67% 4px, 73% 2px, 79% 5px, 86% 1px, 92% 3px, calc(100% - 3px) 2px,
  calc(100% - 1px) 19%, calc(100% - 4px) 39%, 100% 59%,
  calc(100% - 2px) 77%, calc(100% - 4px) calc(100% - 3px),
  94% calc(100% - 1px), 88% calc(100% - 4px), 82% 100%,
  76% calc(100% - 2px), 69% calc(100% - 5px), 62% calc(100% - 1px),
  55% calc(100% - 3px), 49% 100%, 43% calc(100% - 4px),
  37% calc(100% - 2px), 30% calc(100% - 5px), 24% calc(100% - 1px),
  17% calc(100% - 3px), 11% 100%, 6% calc(100% - 4px), 1px calc(100% - 2px),
  3px 79%, 0 61%, 4px 42%, 1px 23%
 );
}
.portal-grid .portal:nth-child(3n + 2) {
 --label-turn: .6deg;
 --label-edge: polygon(
  3px 2px, 5% 5px, 11% 1px, 18% 4px, 24% 0, 31% 3px,
  38% 1px, 44% 4px, 50% 2px, 57% 5px, 64% 1px, 71% 3px,
  77% 0, 83% 4px, 90% 2px, calc(100% - 2px) 4px,
  100% 24%, calc(100% - 3px) 44%, calc(100% - 1px) 63%,
  calc(100% - 4px) 81%, calc(100% - 2px) calc(100% - 2px),
  93% calc(100% - 4px), 86% 100%, 80% calc(100% - 3px),
  74% calc(100% - 1px), 67% calc(100% - 4px), 61% 100%,
  54% calc(100% - 2px), 47% calc(100% - 5px), 40% calc(100% - 1px),
  33% calc(100% - 3px), 26% 100%, 20% calc(100% - 4px),
  13% calc(100% - 2px), 7% calc(100% - 5px), 2px calc(100% - 1px),
  0 76%, 3px 56%, 1px 35%
 );
}
.portal-grid .portal:nth-child(3n) { --label-turn: -.15deg; }


.portal-grid .portal > img {
 filter: none;
 mix-blend-mode: normal;
}
.portal-grid .portal > h3,
.portal-grid .portal > span {
 position: relative;
 isolation: isolate;
 background: transparent !important;
 border: 0;
 border-radius: 0;
 box-shadow: none;
 overflow: visible;
 color: var(--ink);
 min-width: 0;
}
.portal-grid .portal > h3 {
 width: 100%;
 box-sizing: border-box;
 padding: .65rem .5rem .7rem;
 margin: 0 0 .55rem;
 min-height: 3.2em;
 font-size: clamp(1.2rem,1.75vw,1.65rem);
 line-height: 1.15;
 overflow-wrap: anywhere;
 transform: rotate(var(--label-turn));
}
.portal-grid .portal > span {
 margin: .4rem 0 .2rem;
 padding: .75rem .6rem 2.9rem;
 transform: rotate(calc(var(--label-turn) * -1));
}
.portal-grid .portal > h3::before,
.portal-grid .portal > h3::after,
.portal-grid .portal > span::before {
 content: '';
 position: absolute;
 inset: 0;
 pointer-events: none;
 clip-path: var(--label-edge);
}
.portal-grid .portal > h3::before,
.portal-grid .portal > span::before {
 z-index: -1;
 background-color: #faf7ee;
 background-image: linear-gradient(#faf7eed9,#ede5d3b3),var(--scan);
 background-size: auto,420% auto;
 background-position: center,34% 47%;
}
.portal-grid .portal > h3::after {
 z-index: -2;
 background: #342b1e26;
 transform: translate(1px,2px);
}
.portal-grid .portal > span::after {
 right: .3rem;
 bottom: .35rem;
}
[data-carousel="deseno-cartaces"] .image-wrap { aspect-ratio: 3/4; }
[data-carousel="deseno-portadas"] .image-wrap { aspect-ratio: 1; }
[data-carousel="deseno-cartaces"] .image-wrap > img,
[data-carousel="deseno-portadas"] .image-wrap > img {
 object-fit: contain;
 filter: none;
 mix-blend-mode: normal;
}
@media (max-width:620px) {
 .portal-grid .portal > h3 { font-size:1.25rem; }
 .portal-grid .portal:last-child > h3 { min-height:0; }
}
@media (forced-colors:active) {
 .portal-grid .portal > h3,
 .portal-grid .portal > span {
  color:CanvasText;
  background:Canvas !important;
  border:1px solid CanvasText;
  transform:none;
 }
 .portal-grid .portal > h3::before,
 .portal-grid .portal > h3::after,
 .portal-grid .portal > span::before { display:none; }
}
