/* Ajustes de compatibilidad de la web pública. */
#logoWrap { width: min(73vw, 620px, 68vh); aspect-ratio: 976 / 638; }
#logoMask { display: none; }
#decomp img { width: min(73vw, 620px, 68vh); aspect-ratio: 976 / 638; }
#switchZone { width:180px; height:180px; bottom:calc(env(safe-area-inset-bottom) + 28px); overflow:visible; touch-action:none; }
#innerSquare { left:12px; top:12px; z-index:2; pointer-events:auto; user-select:none; -webkit-user-select:none; -webkit-user-drag:none; touch-action:none; }
#innerSquare::before { content:""; position:absolute; inset:-9px; pointer-events:auto; }
#innerSquare > * { pointer-events:none; user-select:none; -webkit-user-select:none; }
#track { bottom:38px; }
#innerArrow { position:absolute; left:calc(50% - 7px); top:calc(50% - 7px); animation:fclArrowAlternate 3.8s linear infinite; }
#innerGreenPoint { position:absolute; left:calc(50% - 3px); top:calc(50% - 3px); width:6px; height:6px; border-radius:50%; background:#75d719; box-shadow:0 0 0 2px rgba(255,255,255,.72),0 0 8px rgba(117,215,25,.45); opacity:0; pointer-events:none; animation:fclPointAlternate 3.8s linear infinite; }
@keyframes fclArrowAlternate { 0%,44%{opacity:1} 46%,94%{opacity:0} 96%,100%{opacity:1} }
@keyframes fclPointAlternate { 0%,44%{opacity:0} 46%,94%{opacity:1} 96%,100%{opacity:0} }
#app.confirmed #innerArrow { animation:none; opacity:0; }
#app.confirmed #innerGreenPoint { animation:none; opacity:1; }
@media(prefers-reduced-motion:reduce) { #innerArrow { animation:none; opacity:0; } #innerGreenPoint { animation:none; opacity:1; } }
#switchZone::before { content:""; position:absolute; z-index:0; left:12px; top:12px; width:26px; height:26px; border:1px dashed rgba(45,45,45,.34); pointer-events:none; animation:fclDragHint 3.8s ease-in-out infinite; }
@keyframes fclDragHint { 0%,12%{transform:translate(0,0);opacity:0} 28%{opacity:.48} 66%{transform:translate(65px,65px);opacity:.48} 84%,100%{transform:translate(65px,65px);opacity:0} }
#outerSquare::after { animation:fclTargetPulse 1.8s ease-in-out infinite; }
@keyframes fclTargetPulse { 0%,100%{box-shadow:0 0 0 3px rgba(255,255,255,.72),0 0 7px rgba(117,215,25,.25)} 50%{box-shadow:0 0 0 7px rgba(117,215,25,.17),0 0 19px rgba(117,215,25,.68)} }
#outerSquare.locked::after { animation:none; }
#app.confirmed #switchZone::before { animation:none; opacity:0; }
#humanConfirm { top:auto; bottom:8px; max-width:calc(100vw - 28px); box-sizing:border-box; padding:5px 9px; color:#387c09; background:rgba(255,255,255,.88); font-size:clamp(10px,1.1vw,12px); line-height:1.35; letter-spacing:.12em; text-align:center; pointer-events:none; }
#app.confirmed #humanConfirm { letter-spacing:.12em; }
#field1 { isolation:isolate; }
#fclIntroPixelField { position:absolute; inset:0; z-index:0; width:100%; height:100%; opacity:0; image-rendering:pixelated; pointer-events:none; transition:opacity .7s ease; }
#field1 #svg1 { position:absolute; inset:0; z-index:1; pointer-events:none; }
#field1 #svg1 .line { stroke:#a7c9ee; stroke-opacity:.34; stroke-width:1; }
#field2 { isolation:isolate; }
#fclPhotoPixelField { position:absolute; inset:0; z-index:0; width:100%; height:100%; opacity:0; image-rendering:pixelated; pointer-events:none; transition:opacity .7s ease; }
body.standard-overlay-open #fclPhotoPixelField { opacity:0 !important; }
#field2 #svg2 { z-index:1; pointer-events:none; }
#footerLeft { gap:5px; }
#policyBtn,#contactBtn,#footerRight .r1,#footerRight .r2 { color:#7c8389; font-size:9px; letter-spacing:.15em; line-height:1.35; }
#futuraOverlay .panel,#quinoInfoOverlay .panel,#goyoInfoOverlay .panel { width:min(92vw,760px); }
#futuraOverlay .panel > p,#futuraOverlay .futuraAboutSection,#quinoInfoOverlay .panel > p,#goyoInfoOverlay .panel > p { max-width:65ch; margin-left:auto; margin-right:auto; text-align:justify; text-wrap:pretty; hyphens:auto; }
#futuraOverlay .panel > p,#futuraOverlay .futuraAboutSection,#quinoInfoOverlay .panel > p,#goyoInfoOverlay .panel > p { max-width:none; }
#futuraOverlay .panel p,#quinoInfoOverlay .panel p,#goyoInfoOverlay .panel p { font-size:16px; line-height:1.62; }
#futuraOverlay .panel > p,#quinoInfoOverlay .panel > p,#goyoInfoOverlay .panel > p { padding:16px 19px; background:rgba(250,250,248,.72); border-left:1px solid rgba(35,60,72,.19); }
#futuraOverlay .futuraAboutSection { padding:17px 19px 19px; border:1px solid rgba(35,60,72,.15); background:rgba(250,250,248,.70); }
#futuraOverlay .futuraAboutSection h3 { color:#1b3745; font-weight:700; }
#futuraOverlay .futuraAboutActsLogo { display:block; width:min(190px,55%); height:auto; margin:10px auto 18px; filter:grayscale(1) brightness(.72) contrast(.96); }
.aboutPersonOverlay .aboutPortrait { position:relative; width:max-content; max-width:100%; margin:19px auto 24px; }
.aboutPersonOverlay .aboutPortrait .aboutShot { display:block; max-height:265px; max-width:min(100%,380px); width:auto; margin:0 auto; background:transparent; }
.aboutPersonOverlay .aboutPortrait .fclZoomTrigger { position:absolute; right:10px; bottom:10px; }
@media(max-width:600px) { #logoWrap,#decomp img { width:min(84vw,420px,54vh); } #switchZone { bottom:calc(env(safe-area-inset-bottom) + 44px); } #futuraOverlay .panel > p,#futuraOverlay .futuraAboutSection,#quinoInfoOverlay .panel > p,#goyoInfoOverlay .panel > p { text-align:left; padding-left:13px; padding-right:13px; } #policyBtn,#contactBtn,#footerRight .r1,#footerRight .r2 { font-size:8px; } }
@media(prefers-reduced-motion:reduce) { #switchZone::before,#outerSquare::after { animation:none; } #fclPhotoPixelField,#fclIntroPixelField { transition:none; } }
#heroFrame {
  top: 10.5vh;
  height: min(35vh, 380px);
  pointer-events: auto;
  touch-action: pan-y;
  cursor: default;
  user-select: none;
}
#heroFrame.dragging { cursor: grabbing; }
#heroFrame .heroSlide {
  animation: none !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 1.4s ease-in-out;
}
#heroFrame .heroSlide.active { opacity: 1; pointer-events: none; }
#heroFrame .heroSlide img { cursor: pointer; pointer-events: auto; -webkit-user-drag: none; }
#heroFrame .heroSlide:not(.active) img,
#heroFrame .heroSlide:not(.active) .heroCaption { pointer-events:none; }
#heroFrame .heroCaption {
  position: absolute;
  left: 50%;
  bottom: -23px;
  transform: translateX(-50%);
  max-width: min(88vw, 620px);
  border: 0;
  background: transparent;
  color: #303030;
  padding: 3px 6px;
  font: italic 8.5px/1.4 Arial,sans-serif;
  letter-spacing: .08em;
  text-align: center;
  cursor: pointer;
  pointer-events: auto;
  white-space: normal;
}
#heroFrame .heroNav, #heroFrame .heroCount { display: none; }
#titleBlank, #headerPulse { display: none; }
#topTools { top: calc(env(safe-area-inset-top) + 12px); height: 64px; }
#fclBrand {
  position: absolute;
  left: clamp(10px, 2vw, 30px);
  top: 0;
  width: clamp(66px, 8vw, 118px);
  height: clamp(45px, 5.5vw, 80px);
  object-fit: contain;
  pointer-events: auto;
  cursor: pointer;
}
#fclBrand:focus-visible { outline: 2px solid #2d6d91; outline-offset: 4px; }
#nodeBtn {
  left: auto;
  right: clamp(12px, 2.2vw, 30px);
  top: 0;
  transform: none;
  width: clamp(43px, 5.5vw, 72px);
  height: clamp(43px, 5.5vw, 72px);
}
#nodeBtn img { display: block; width: 100%; height: 100%; object-fit: contain; }
#adminHotspot { right: clamp(58px, 7vw, 100px); top: 22px; }
#menuGap { top: 47vh; height: 10vh; }
#menuViewport {
  left: 50%;
  right: auto;
  width: min(94vw, 680px);
  top: 47vh;
  height: 10vh;
  transform: translateX(-50%);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  touch-action: none;
  cursor: grab;
  mask-image: linear-gradient(90deg, transparent 0, black 10%, black 90%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0, black 10%, black 90%, transparent 100%);
}
#menuScroller {
  width: max-content;
  min-width: 100%;
  padding: 0 50%;
  gap: clamp(54px, 10vw, 100px);
}
#menuScroller .menuItem,
#menuScroller .menuItem.active { font-size: clamp(12px, 1.8vw, 21px); font-weight: 400; opacity: .32; cursor: pointer; }
#menuScroller .menuItem.centered { font-weight: 700; opacity: 1; cursor: pointer; }
#footerCenter {
  position: fixed;
  top: 70vh;
  bottom: auto;
  width: clamp(135px, 14vw, 190px);
  z-index: 6;
}
#promotoraTagline {
  position:fixed;
  left:50%;
  top:81.5vh;
  z-index:6;
  transform:translateX(-50%);
  width:min(78vw,680px);
  color:#303238;
  opacity:.72;
  font:500 clamp(11px,1.15vw,15px)/1.2 "FCL Roboto Condensed","Arial Narrow",Arial,sans-serif;
  letter-spacing:.18em;
  text-align:center;
  white-space:nowrap;
}
/* La trama de las ventanas vive dentro de la tarjeta, no sobre la portada. */
body.standard-overlay-open #overlayMotion { display: none; }
#aboutOverlay .panel, #futuraOverlay .panel,
#quinoInfoOverlay .panel, #goyoInfoOverlay .panel,
#cultureOverlay .panel, #fclAreaOverlay .panel {
  background-color: #fff;
  background-image:
    repeating-conic-gradient(from 240deg at 50% 8%, rgba(106,153,188,.045) 0 .07deg, transparent .09deg 7deg),
    repeating-linear-gradient(0deg, transparent 0 27px, rgba(55,70,80,.045) 28px, transparent 29px);
  background-blend-mode: normal;
}
#cultureOverlay .panel { background-image: none; }
#fclAreaOverlay .panel { background-color: #fff; }
#fclAreaOverlay .fclPublicNoCover { display: none; }
#fclAreaOverlay .panel {
  width: min(94vw, 1120px);
  max-height: 91dvh;
  padding: clamp(22px, 4vw, 54px);
  background-image: none;
  box-shadow: 0 24px 70px rgba(20, 40, 50, .14);
}
#fclAreaOverlay .fclAreaHero { margin:0 0 clamp(20px,3vw,32px); width:100%; background:#eef2f3; }
#fclAreaOverlay .fclAreaHero[hidden] { display:none; }
#fclAreaOverlay .fclAreaHero img { display:block; width:100%; height:auto; }
#fclAreaOverlay .fclAreaHero figcaption { margin:0;padding:5px 2px 0;color:#667680;font-size:10px;line-height:1.35;letter-spacing:.02em;text-align:right; }
#fclAreaOverlay #fclAreaTitle { margin: 0 0 8px; font-size: clamp(32px, 5.4vw, 76px); line-height: .96; letter-spacing: -.06em; font-weight: 400; color: #1b3745; }
#fclAreaOverlay #fclAreaEyebrow { color: #667680; letter-spacing: .19em; }
#fclAreaOverlay #fclAreaIntro { max-width: 660px; margin: 16px 0 35px; font-size: clamp(14px, 1.5vw, 18px); line-height: 1.6; }
#fclAreaOverlay #fclPublicList { display: grid; gap: 0; border-top: 1px solid #aec0c9; }
.fclEditorialListItem {
  display: grid;
  grid-template-columns: minmax(150px, 31%) minmax(0, 1fr);
  gap: clamp(20px, 4vw, 56px);
  width: 100%;
  min-height: 250px;
  padding: clamp(20px, 3vw, 38px);
  border: 0;
  border-bottom: 1px solid #aec0c9;
  background: #f5f8f9;
  color: #1b3745;
  text-align: left;
  cursor: pointer;
}
.fclEditorialListItem:nth-child(even) { background: #e9eff1; }
.fclEditorialListItem:hover, .fclEditorialListItem:focus-visible { background: #dfe9ed; outline: none; }
.fclEditorialListVisual { display: grid; place-items: center; min-height: 190px; background: #1b3745; overflow: hidden; }
.fclEditorialListVisual img { display: block; width: 100%; height: min(28vw, 300px); object-fit: contain; transition: transform .4s ease; }
.fclEditorialListItem:hover img { transform: scale(1.035); }
.fclEditorialListCopy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 0; }
.fclEditorialListCopy small { margin-bottom: 20px; color: #657e8a; font-size: 10px; letter-spacing: .16em; }
.fclEditorialListCopy strong { font-size: clamp(24px, 3.3vw, 43px); font-weight: 400; line-height: 1.04; letter-spacing: -.045em; }
.fclEditorialListSub { margin-top: 13px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.fclEditorialListSynopsis { max-width: 53ch; margin-top: 22px; color: #44525a; font-size: clamp(13px, 1.3vw, 16px); line-height: 1.6; }
#actsContent { max-width: 1060px; }
#actsContent > p { max-width: 760px; }
#actsCatalog { margin-top: clamp(36px, 6vw, 76px); }
.actsDirectoryChapter {
  display: grid;
  grid-template-columns: minmax(190px, 31%) minmax(0, 1fr);
  gap: clamp(22px, 4vw, 56px);
  padding: clamp(30px, 5vw, 60px) 0;
  border-top: 1px solid #9cafb8;
}
.actsDirectoryHeading > span {
  display: block;
  margin-bottom: 18px;
  color: #567285;
  font-size: 9px;
  letter-spacing: .18em;
}
#actsContent .actsDirectoryHeading h2 {
  margin: 0 0 15px;
  font-size: clamp(29px, 3.8vw, 50px);
  line-height: 1.02;
  font-weight: 400;
  letter-spacing: -.045em;
}
#actsContent .actsDirectoryHeading p {
  max-width: 36ch;
  font-size: 14px;
  line-height: 1.6;
}
.actsDirectoryGrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.actsDirectoryEntry {
  min-width: 0;
  display: grid;
  grid-template-rows: auto minmax(190px, 29vw) auto;
  gap: 12px;
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid #9cafb8;
  background: #eef3f5;
  color: #1b3745;
  text-align: left;
  cursor: pointer;
}
.actsDirectoryNumber { color: #69889a; font: 11px/1 Arial, sans-serif; letter-spacing: .18em; }
.actsDirectoryVisual {
  display: grid;
  place-items: center;
  min-width: 0;
  overflow: hidden;
  background: #1b3745;
}
.actsDirectoryVisual img { display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .45s ease; }
.actsDirectoryEntry:hover .actsDirectoryVisual img { transform: scale(1.045); }
.actsDirectoryCopy strong { display: block; font-size: clamp(17px, 1.8vw, 24px); line-height: 1.08; font-weight: 500; }
.actsDirectoryCopy > span { display: block; margin-top: 9px; color: #65737b; font-size: 10px; letter-spacing: .05em; }
.actsDirectoryNumber, .actsDirectoryCopy { padding: 0 18px; }
.actsDirectoryEntry:hover, .actsDirectoryEntry:focus-visible { background: #dfe9ed; }
.actsDirectoryMore {
  grid-column: 2;
  justify-self: start;
  padding: 5px 0 8px;
  border: 0;
  border-bottom: 1px solid #59788c;
  background: transparent;
  color: #385d73;
  font-size: 11px;
  cursor: pointer;
}
#actsCatalog .actsDirectoryChapter:last-child .actsDirectoryEntry { max-width: 390px; }
#privacyOverlay { background: rgba(248,245,239,.94); backdrop-filter: blur(11px); }
#privacyOverlay .panel {
  position: absolute;
  inset: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 700px);
  height: auto;
  max-height: min(78dvh, 780px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 24px 20px 22px;
  border: 1px solid rgba(45,45,45,.14);
  box-shadow: 0 20px 44px rgba(0,0,0,.08);
  background: rgba(248,245,239,.98);
}
#privacyOverlay .panel h2 {
  flex: 0 0 auto;
  margin: 0 0 12px;
  font-size: clamp(22px, 5vw, 34px);
  line-height: 1;
  font-weight: 300;
  letter-spacing: -.05em;
}
#privacyOverlay #privacyClose {
  position: absolute;
  right: 14px;
  top: 12px;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
#privacyOverlay .fclPrivacyScroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  border-top: 1px solid #2d2d2d;
  padding: 17px 0 56px;
  touch-action: pan-y;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
}
#privacyOverlay .fclPrivacyCopy { max-width: 720px; margin: 0 auto; padding: 6px 0 80px; }
#privacyOverlay .fclPrivacyEyebrow {
  margin: 0 0 24px;
  font-size: 7px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: #777;
}
#privacyOverlay .fclPrivacyCopy p {
  margin: 0 0 22px;
  font-size: 14px;
  line-height: 1.78;
  font-weight: 400;
  text-transform: none;
}
#privacyOverlay .fclPrivacyCopy p.fclPrivacySummary {
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 1.7;
}
#privacyOverlay .fclPrivacyCopy a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(9,10,12,.5);
}
#privacyOverlay .fclPrivacyDetails {
  border-top: 1px solid rgba(9,10,12,.22);
  padding-top: 14px;
}
#privacyOverlay .fclPrivacyDetails summary {
  display: inline-block;
  list-style: none;
  cursor: pointer;
  border: 1px solid rgba(9,10,12,.38);
  padding: 10px 13px;
  color: #2d2d2d;
  font: 600 11px/1.2 Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
#privacyOverlay .fclPrivacyDetails summary::-webkit-details-marker { display: none; }
#privacyOverlay .fclPrivacyDetails[open] summary { margin-bottom: 24px; }
#privacyOverlay .fclPrivacyDetailsBody h3 {
  margin: 28px 0 10px;
  font: 600 14px/1.3 Arial, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #153e50;
}
#privacyOverlay .fclPrivacyDetailsBody h3:first-child { margin-top: 0; }
#privacyOverlay .fclPrivacyCopy p.fclPrivacyFine {
  padding-top: 18px;
  border-top: 1px solid rgba(9,10,12,.18);
  font-size: 11px;
  color: #55585d;
}
#fclDetailOverlay .panel { background-image: none; }
#fclDetailOverlay .fclDetailPanel.v01-review {
  width: min(78vw, 1120px);
  height: min(91dvh, 1000px);
  max-height: none;
  padding: clamp(18px, 3vw, 48px);
  background: #fff;
  border-color: rgba(45,45,45,.19);
  box-shadow: 0 24px 80px rgba(35,45,50,.13);
  overflow-anchor: none;
}
#fclDetailOverlay .v01-review #fclDetailTitle {
  max-width: 840px;
  margin: 8px 0 12px;
  font-size: clamp(29px, 4.1vw, 56px);
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: -.048em;
}
#fclDetailOverlay .v01-review #fclDetailMeta {
  border-top: 1px solid rgba(45,45,45,.22);
  padding-top: 10px;
  color: #56788b;
  font-size: 9px;
}
#fclDetailOverlay .v01-review #fclDetailSynopsis {
  max-width: 800px;
  margin: 0 0 22px;
  font-size: clamp(16px, 1.6vw, 21px) !important;
  line-height: 1.55 !important;
  font-weight: 400;
}
.v01-review #fclDetailBlocks { margin-top: 12px; }
.v01-review .v01SourceFrame {
  display: block;
  width: 100%;
  height: min(67dvh, 740px);
  border: 0;
  border-top: 1px solid rgba(45,45,45,.19);
  background: #fff;
}
.v01-review .v01SourceLink {
  display: inline-block;
  margin: 0 0 12px;
  color: #56788b;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
/* Ensayo de ficha Futura: apertura escénica y lectura por pliegos, solo CAMPESINA. */
#fclDetailOverlay .fclDetailPanel.v01-review.fclFichePrototype {
  width: min(78vw, 1120px);
  height: min(91dvh, 1060px);
  padding: 0;
  overflow: auto;
  background: #173947;
  border: 0;
}
#fclDetailOverlay .fclFichePrototype #fclDetailClose {
  position: sticky;
  top: 12px;
  right: 15px;
  z-index: 5;
  margin: 12px 14px 0 0;
  color: #fff;
}
#fclDetailOverlay #fclDetailClose.fclProjectReturn {
  box-sizing: border-box;
  display: block;
  width: max-content;
  max-width: calc(100% - 28px);
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.38);
  background: rgba(23,57,71,.97);
  color: #fff;
  font: 600 10px/1.3 Arial,sans-serif;
  letter-spacing: .075em;
  text-align: left;
  white-space: normal;
  box-shadow: 0 2px 12px rgba(0,0,0,.16);
}
#fclDetailOverlay #fclDetailClose .fclReturnExpanded { display: none; }
#fclDetailOverlay #fclDetailClose .fclReturnCompact { display: block; }
#fclDetailOverlay #fclDetailClose:is(.is-expanded,:hover,:focus,:focus-visible) .fclReturnExpanded { display: block; }
#fclDetailOverlay #fclDetailClose:is(.is-expanded,:hover,:focus,:focus-visible) .fclReturnCompact { display: none; }
#fclDetailOverlay #fclDetailClose.is-pulsing { animation: fclProjectReturnPulse 1.25s ease-in-out 2; }
@keyframes fclProjectReturnPulse {
  0%,100% { opacity: 1; }
  50% { opacity: .64; }
}
@media (prefers-reduced-motion: reduce) {
  #fclDetailOverlay #fclDetailClose.is-pulsing { animation: none; }
}
#fclDetailOverlay .fclFichePrototype .fclCoverSlot {
  position: absolute;
  top: clamp(68px, 6vw, 94px);
  right: clamp(26px, 5vw, 80px);
  width: min(28%, 320px);
  height: 300px;
  display: grid;
  place-items: center;
  grid-template-rows: minmax(0, 1fr);
  min-width: 0;
  min-height: 0;
}
#fclDetailOverlay .fclFichePrototype #fclDetailHero {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 100%;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  margin: 0;
  object-fit: contain;
  object-position: center center;
}
#fclDetailOverlay .fclFichePrototype.fclFicheNoCover .fclCoverSlot { display: none; }
#fclDetailOverlay .fclFichePrototype #fclDetailTitle {
  max-width: min(67%, 800px);
  margin: clamp(48px, 7vw, 88px) clamp(25px, 5vw, 80px) 24px;
  color: #f4f7f8;
  font-size: clamp(43px, 6vw, 86px);
  font-weight: 400;
  line-height: .97;
  letter-spacing: -.065em;
}
#fclDetailOverlay .fclFichePrototype #fclDetailMeta {
  margin: 0 clamp(25px, 5vw, 80px);
  border-color: rgba(224,239,245,.45);
  color: #b3d2de;
}
#fclDetailOverlay .fclFichePrototype #fclDetailSynopsis {
  max-width: min(62%, 740px);
  margin: clamp(24px, 4vw, 50px) clamp(25px, 5vw, 80px) clamp(40px, 6vw, 72px);
  color: #f4f7f8;
  font-size: clamp(20px, 2.3vw, 29px) !important;
  line-height: 1.42 !important;
}
#fclDetailOverlay .fclFichePrototype #fclDetailBlocks {
  margin: 0;
  padding: 0;
  background: #f4f7f8;
}
#fclDetailOverlay .fclFichePrototype .v01SourceLink { display: none; }
#fclDetailOverlay .fclFichePrototype .v01SourceFrame {
  height: min(70dvh, 780px);
  border: 0;
}
#fclDetailOverlay .fclFichePrototype #fclDetailChildren { padding: 25px clamp(18px, 5vw, 80px); background: #fff; }
#fclDetailOverlay .fclFichePrototype.fclUnifiedProjectWindow .fclDetailHeader,
#fclDetailOverlay .fclFichePrototype.fclUnifiedProjectWindow #fclDetailChildren { display:none; }
#fclDetailOverlay .fclFichePrototype.fclUnifiedProjectWindow #fclDetailBlocks { margin:0; padding:0; background:#fff; }
#fclDetailOverlay .fclFichePrototype.fclUnifiedProjectWindow .v01SourceFrame { display:block; width:100%; min-height:70dvh; border:0; }
.v01-review .v01Notice {
  border-left: 1px solid #aaa;
  padding: 7px 10px;
  margin: 0 0 12px;
  background: #fafaf8;
  font-size: 10px;
  color: #777;
}
.v01MediaRow {
  display: grid;
  grid-template-columns: 86px minmax(0,1fr);
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(45,45,45,.15);
}
.v01MediaRow img { width: 86px; height: 86px; object-fit: contain; background: #fff; }
.v01MediaRow strong { display: block; font-size: 11px; margin-bottom: 6px; }
.v01MediaRow label { display: block; font-size: 9px; margin: 5px 0; }
.v01MediaRow input[type="text"], .v01MediaRow select {
  display: block;
  width: 100%;
  max-width: 480px;
  margin-top: 3px;
  border: 1px solid #ccc;
  background: #fff;
  color: #333;
  padding: 7px;
  font: 11px Arial,sans-serif;
}
.v01MediaRow input[type="checkbox"] { margin-right: 6px; }
.v01AdminNotice { border: 1px solid #d6c899; padding: 10px; background: #fbf8ee; color: #5a513f; font: 11px/1.5 Arial,sans-serif; margin: 12px 0; }
@media (max-width: 520px) {
  #heroFrame { top: 11vh; height: 32vh; }
  #heroFrame .heroCaption { bottom: -23px; font-size: 8px; max-width: 90vw; }
  #menuGap, #menuViewport { top: 47vh; height: 9vh; }
  #menuScroller { gap: 54px; padding: 0 50%; }
  #menuScroller .menuItem { font-size: 12px; }
  .actsDirectoryChapter { display: block; padding: 30px 0; }
  .actsDirectoryHeading { margin-bottom: 26px; }
  .actsDirectoryGrid { gap: 10px; }
  .actsDirectoryEntry { grid-template-rows: auto 180px auto; }
  .actsDirectoryCopy strong { font-size: 16px; }
  .actsDirectoryMore { margin-top: 20px; }
  #fclAreaOverlay .panel { width: 98vw; padding: 22px 14px; }
  .fclEditorialListItem { grid-template-columns: 115px minmax(0, 1fr); gap: 15px; min-height: 170px; padding: 15px 10px; }
  .fclEditorialListVisual { min-height: 140px; }
  .fclEditorialListVisual img { height: 145px; }
  .fclEditorialListCopy small { margin-bottom: 9px; font-size: 8px; }
  .fclEditorialListCopy strong { font-size: clamp(20px, 6vw, 28px); }
  .fclEditorialListSub { margin-top: 7px; font-size: 9px; }
  .fclEditorialListSynopsis { margin-top: 10px; font-size: 11px; }
  #privacyOverlay .panel { width: min(92vw, 700px); height: auto; padding: 24px 16px 22px; }
  #privacyOverlay .panel h2 { font-size: clamp(22px, 5vw, 34px); }
  #privacyOverlay #privacyClose { right: 14px; top: 12px; width: 34px; height: 34px; }
  #privacyOverlay .fclPrivacyScroll { padding-top: 12px; }
  #footerCenter { top: 67vh; width: 142px; }
  #fclDetailOverlay .fclDetailPanel.v01-review { width: 98vw; height: 97dvh; padding: 20px 16px 24px; }
  #fclDetailOverlay .fclDetailPanel.v01-review.fclFichePrototype { width: 100vw; height: 100dvh; }
  #fclDetailOverlay .fclFichePrototype .fclCoverSlot { position: relative; top: auto; right: auto; width: min(60vw, 230px); height: 280px; margin: 26px auto 0; }
  #fclDetailOverlay .fclFichePrototype #fclDetailHero { width: 100%; height: 100%; margin: 0; }
  #fclDetailOverlay .fclFichePrototype #fclDetailTitle { max-width: none; font-size: clamp(38px, 11vw, 62px); margin-top: 28px; }
  #fclDetailOverlay .fclFichePrototype #fclDetailSynopsis { max-width: none; }
  .v01-review .v01SourceFrame { height: 65dvh; }
  .v01MediaRow { grid-template-columns: 64px minmax(0,1fr); gap: 8px; }
.v01MediaRow img { width: 64px; height: 64px; }
}

/* Segunda pantalla: dos accesos culturales quietos y Acerca de antes de ACTS. */
@font-face {
  font-family:"FCL Roboto Condensed";
  src:url("/assets/RobotoCondensed-Variable.ttf") format("truetype");
  font-style:normal; font-weight:100 900; font-display:swap;
}
#menuGap { display:none; }
#menuViewport {
  top:47vh; height:10vh; width:min(94vw,680px);
  overflow:visible; cursor:default; touch-action:auto;
  mask-image:none; -webkit-mask-image:none;
}
#menuScroller {
  display:grid; grid-template-columns:1fr 1fr; align-items:center;
  gap:clamp(12px,3vw,42px); width:100%; min-width:0; height:100%; padding:0;
}
#menuScroller .menuItem,#menuScroller .menuItem.active,#menuScroller .menuItem.centered {
  position:relative; overflow:hidden;
  width:100%; min-width:0; padding:12px 0;
  font:400 clamp(11px,1.2vw,16px)/1.2 "FCL Roboto Condensed","Arial Narrow",Arial,sans-serif;
  letter-spacing:.015em; opacity:.62; color:#303238;
  transform:none; white-space:nowrap; cursor:pointer;
}
#menuScroller .menuItem:hover,#menuScroller .menuItem:focus-visible,
#aboutDirect:hover,#aboutDirect:focus-visible { font-weight:700; }
#aboutDirect {
  position:absolute; z-index:6; left:50%; top:59vh; transform:translateX(-50%);
  overflow:hidden;
  border:0; background:transparent; padding:9px 16px;
  color:#303238; opacity:.66; cursor:pointer;
  font:400 clamp(11px,1.2vw,16px)/1.2 "FCL Roboto Condensed","Arial Narrow",Arial,sans-serif;
  letter-spacing:.015em; white-space:nowrap;
}
#menuScroller .menuItem::after,#aboutDirect::after {
  content:"";
  position:absolute;
  left:5%;
  bottom:3px;
  width:28%;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.98),rgba(150,150,150,.52),transparent);
  filter:blur(.35px);
  opacity:.72;
  pointer-events:none;
  animation:actsLightSweep 3.4s ease-in-out infinite;
}
#aboutDirect::after { bottom:1px; }
#aboutDirect:focus-visible,#menuScroller .menuItem:focus-visible { outline:1px solid #1b3745; outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
  #menuScroller .menuItem::after,#aboutDirect::after { left:36%; animation:none; }
}

/* Tipografía y proporciones cotejadas con la web personal de Goyo Ucle. */
#footerLeft { gap:6px; }
#policyBtn,#contactBtn { font:400 6.2px/1.35 Arial,Helvetica,sans-serif; letter-spacing:.12em; color:rgba(9,10,12,.46); }
#footerRight .r1 { font:400 6.5px/1.35 Arial,Helvetica,sans-serif; letter-spacing:.16em; color:#33353a; }
#footerRight .r2 { font:400 6.2px/1.35 Arial,Helvetica,sans-serif; letter-spacing:.12em; color:#696b70; }
#footerRight .r1 { margin-bottom:4px; }

#heroFrame .heroCaption { width:min(92vw,620px); max-width:none; box-sizing:border-box; }
@media(max-width:520px) {
  #menuViewport { top:51vh; height:8vh; width:calc(100vw - 24px); }
  #menuScroller { gap:8px; }
  #menuScroller .menuItem,#menuScroller .menuItem.active,#menuScroller .menuItem.centered { font-size:clamp(11px,3.2vw,13px); letter-spacing:.015em; }
  #aboutDirect { top:60vh; font-size:12px; }
  #footerCenter { top:70vh; }
  #promotoraTagline { top:81vh; width:calc(100vw - 48px); font-size:10px; letter-spacing:.11em; }
  #heroFrame .heroCaption { width:calc(100vw - 32px); bottom:-25px; font-size:7.6px; line-height:1.2; letter-spacing:.025em; padding:2px 0; }
  #footerLeft { left:16px; bottom:0; gap:5px; width:108px; }
  #policyBtn,#contactBtn { font-size:7.2px; line-height:1.38; letter-spacing:.13em; white-space:normal; }
  #footerRight { right:16px; bottom:0; width:148px; }
  #footerRight .r1 { font-size:6.7px; line-height:1.35; letter-spacing:.125em; white-space:normal; margin-bottom:6px; }
  #footerRight .r2 { font-size:6.8px; letter-spacing:.115em; white-space:normal; }
}
@media(max-width:340px) {
  #footerRight { right:12px; width:132px; }
  #footerRight .r1 { font-size:6px; line-height:1.3; letter-spacing:.1em; }
  #footerRight .r1 a { white-space:nowrap; }
}

/* La portada reserva espacio para el gesto completo en pantallas móviles. */
@media(max-width:600px), (max-height:500px) and (pointer:coarse) {
  #stage1 {
    --fclIntroHeight:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    --fclIntroLogoWidth:min(84vw,420px,calc((var(--fclIntroHeight) - 240px) * 1.52978));
    --fclIntroLogoHeight:calc(var(--fclIntroLogoWidth) * .6536885);
    --fclIntroLogoTop:min(50dvh,calc(100dvh - env(safe-area-inset-bottom) - 224px - var(--fclIntroLogoHeight) / 2));
  }
  #logoWrap,#decomp img { width:var(--fclIntroLogoWidth); top:var(--fclIntroLogoTop); }
  #switchZone { bottom:calc(env(safe-area-inset-bottom) + 20px); }
}

/* Introducciones y pies de foto · revisión 7 de octubre de 2026 */
#fclAreaIntro.fclPublicIntro { font-size:clamp(13px,1.3vw,16px)!important; line-height:1.65!important; max-width:78ch; margin-bottom:28px!important; }
#heroFrame .heroCaption { font-style:italic; font-size:8.5px; letter-spacing:.02em; line-height:1.4; }
@media(max-width:600px) { #heroFrame .heroCaption { font-size:8px; } }
/* Toda la ficha comparte el desplazamiento del panel. */
#fclDetailOverlay .fclFicheTop {
  position: absolute; right: max(24px, 3vw); bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  z-index: 8; width: 48px; height: 48px; padding: 0; border: 1px solid #afc8d4;
  border-radius: 50%; background: #173947; color: #fff; font-size: 28px;
  line-height: 1; cursor: pointer; box-shadow: 0 3px 12px #0003;
}
#fclDetailOverlay .fclFicheTop[hidden] { display: none; }
#fclDetailOverlay .fclFicheTop:focus-visible { outline: 3px solid #5599c5; outline-offset: 3px; }

/* Proporciones de lectura y navegación acordadas con Goyo, 07/10/2026. */
#fclAreaOverlay #fclAreaTitle {font-size:clamp(28px,3.4vw,46px);line-height:1.08;letter-spacing:-.04em;margin-bottom:8px;}
#fclAreaOverlay #fclAreaIntro.fclPublicIntro {max-width:none;font-size:16px!important;line-height:1.55!important;margin:20px 0 24px!important;text-wrap:pretty;hyphens:auto;}
#fclAreaOverlay .fclEditorialListItem {grid-template-columns:160px minmax(0,1fr);gap:26px;min-height:0;padding:18px 10px;background:#fff;border-color:#d5dde0;}
#fclAreaOverlay .fclEditorialListItem:hover,#fclAreaOverlay .fclEditorialListItem:focus-visible {background:#f5f7f7;outline:1px solid #bccbd0;outline-offset:-1px;}
#fclAreaOverlay .fclEditorialListVisual {min-height:0;height:160px;background:transparent;}
#fclAreaOverlay .fclEditorialListVisual img {height:160px;width:100%;object-fit:contain;}
#fclAreaOverlay .fclEditorialListCopy small {margin-bottom:8px;font-size:9px;}
#fclAreaOverlay .fclEditorialListCopy strong {font-size:clamp(22px,2.3vw,30px);line-height:1.13;letter-spacing:-.035em;}
#fclAreaOverlay .fclEditorialListSub {margin-top:7px;font-size:10px;line-height:1.4;}
#fclAreaOverlay .fclEditorialListSynopsis {max-width:70ch;margin-top:9px;font-size:14px;line-height:1.5;text-wrap:pretty;}
#fclAreaOverlay .fclEditorialListItem.fclHierarchyChild {
  width:calc(100% - clamp(24px,3vw,42px));
  margin-left:clamp(24px,3vw,42px);
}
#fclAreaOverlay .fclEditorialListItem.fclHierarchyGrandchild {
  width:calc(100% - clamp(48px,6vw,84px));
  margin-left:clamp(48px,6vw,84px);
}
.fclCategoryBack {padding:10px 0;border:0;background:none;font:inherit;font-size:13px;color:#1b3745;cursor:pointer;}
#fclAreaOverlay .fclEditorialListItem.fclListNoCover {grid-template-columns:1fr;padding:24px 10px;}
#fclAreaOverlay .fclListNoCover .fclEditorialListVisual {display:none;}
#fclDetailOverlay .fclFichePrototype #fclDetailTitle {font-size:clamp(30px,3.8vw,48px);line-height:1.08;letter-spacing:-.04em;margin:24px clamp(20px,4vw,54px) 14px;}
#fclDetailOverlay .fclFichePrototype #fclDetailMeta {margin:0 clamp(20px,4vw,54px);font-size:11px;}
#fclDetailOverlay .fclFichePrototype #fclDetailSynopsis {font-size:17px!important;line-height:1.5!important;margin:18px clamp(20px,4vw,54px) 32px;}
#fclDetailOverlay .fclFichePrototype .fclCoverSlot {top:58px;right:clamp(20px,4vw,54px);width:min(27%,300px);height:250px;}
#fclDetailOverlay #fclDetailClose.fclProjectReturn {min-height:36px;padding:8px 10px;font-weight:400;letter-spacing:.02em;box-shadow:none;}
@media(min-width:700px){#fclAreaIntro.fclPublicIntro{text-align:justify;}}
@media(max-width:600px){
 #fclAreaOverlay .panel{padding:22px 18px;}
 #fclAreaOverlay .fclEditorialListItem{grid-template-columns:92px minmax(0,1fr);gap:14px;padding:16px 0;}
 #fclAreaOverlay .fclEditorialListVisual,#fclAreaOverlay .fclEditorialListVisual img{height:124px;}
 #fclAreaOverlay .fclEditorialListCopy strong{font-size:21px;}
 #fclAreaOverlay .fclEditorialListSynopsis{font-size:13px;}
 #fclAreaOverlay .fclEditorialListItem.fclHierarchyChild{
   width:calc(100% - 12px);
   margin-left:12px;
   padding-left:8px;
 }
 #fclAreaOverlay .fclEditorialListItem.fclHierarchyGrandchild{width:calc(100% - 24px);margin-left:24px;}
 #fclAreaOverlay #fclAreaIntro.fclPublicIntro{font-size:15px!important;text-align:left;}
 #fclDetailOverlay .fclFichePrototype #fclDetailTitle{max-width:none;margin:18px 20px 14px;}
 #fclDetailOverlay .fclFichePrototype #fclDetailSynopsis{max-width:none;}
 #fclDetailOverlay .fclFichePrototype .fclCoverSlot{position:relative;top:auto;right:auto;width:calc(100% - 40px);height:clamp(160px,38svh,220px);margin:12px 20px 0;padding:0;box-sizing:border-box;}
}

.fclHexagonFooter { display:block; flex:none; width:100%; height:84px; margin-top:36px; background:#fff url('./assets/futura-hexagonos.svg') repeat-x center bottom / 2000.4px 84px; border-bottom:1px solid #222; }
@media(max-width:600px){.fclHexagonFooter{height:56px;background-size:1333.6px 56px;margin-top:24px;}}

.registeredMark{font-size:.32em!important;line-height:0!important;vertical-align:super!important;letter-spacing:0!important;margin-left:.08em}
.fclInlineImage{max-width:45%!important;float:right!important;margin:0 0 14px 20px!important;height:auto!important;display:block!important}.fclInlineImage[data-align="left"]{float:left!important;margin:0 20px 14px 0!important}.fclInlineImage[data-align="center"]{float:none!important;margin:15px auto!important;max-width:100%!important}.fclInlineImage img{width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important}.project-text:after{content:"";display:block;clear:both}

/* Barrio Barroco · ficha escénica, 12/10/2026. */
.project-text:has(.fclBarrioSection){padding:0!important;background:#fff!important;}
.fclBarrioSection{
  box-sizing:border-box;
  width:min(100%,980px);
  margin:0 auto;
  padding:clamp(42px,6vw,76px) clamp(24px,6vw,76px);
  color:#203540;
}
.fclBarrioSection+.fclBarrioSection{border-top:1px solid #cbd8dd;}
.fclBarrioKicker{display:block;margin:0 0 16px;color:#56717e;font-size:11px;font-weight:700;letter-spacing:.18em;line-height:1.4;}
.fclBarrioSection h2{max-width:22ch;margin:0 0 24px;font-size:clamp(30px,4.3vw,52px);font-weight:400;letter-spacing:-.045em;line-height:1.06;text-wrap:balance;}
.fclBarrioSection h3{margin:0 0 12px;font-size:clamp(21px,2.2vw,28px);font-weight:500;line-height:1.2;}
.fclBarrioSection p{max-width:72ch;margin:0 0 1.15em;font-size:clamp(16px,1.55vw,19px);line-height:1.62;text-wrap:pretty;hyphens:auto;}
.fclBarrioSection p:last-child{margin-bottom:0;}
.fclBarrioClaim{font-size:clamp(19px,2vw,25px)!important;font-style:italic;}
.fclBarrioFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin-top:36px;border-top:1px solid #bfd0d7;}
.fclBarrioFacts p{display:grid;grid-template-columns:minmax(88px,auto) minmax(0,1fr);gap:16px;max-width:none;margin:0;padding:15px 0;border-bottom:1px solid #d6e0e4;font-size:15px;line-height:1.4;}
.fclBarrioFacts strong{font-size:11px;letter-spacing:.08em;text-transform:uppercase;}
.fclBarrioCredits{margin:0;}
.fclBarrioCredits>div{display:grid;grid-template-columns:minmax(230px,1fr) minmax(180px,.8fr);gap:26px;padding:14px 0;border-top:1px solid #d2dde1;}
.fclBarrioCredits>div:last-child{border-bottom:1px solid #d2dde1;}
.fclBarrioCredits dt{font-size:13px;letter-spacing:.04em;line-height:1.4;text-transform:uppercase;}
.fclBarrioCredits dd{margin:0;font-size:17px;line-height:1.4;}
.fclBarrioRepertoire{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 52px;}
.fclBarrioRepertoire>div{padding-top:18px;border-top:1px solid #cbd8dd;}
.fclBarrioRepertoire h3{font-size:20px;}
.fclBarrioRepertoire p{font-size:16px;}
.fclBarrioHistories article{max-width:76ch;padding:34px 0;border-top:1px solid #cbd8dd;}
.fclBarrioTeamHeading{margin:0 0 38px;padding:0 0 34px;border-bottom:1px solid #cbd8dd;}
.fclBarrioTeamHeading h2{margin-bottom:0;}
.fclBarrioHistories article:last-child{padding-bottom:0;}
.fclBarrioHistories .fclHistoryWithPhoto{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,34%);gap:clamp(28px,4vw,52px);align-items:start;max-width:none;}
.fclHistoryWithPhoto .fclHistoryCopy{min-width:0;}
.fclHistoryWithPhoto .fclHistoryPortrait{width:100%;margin:0;}
.fclHistoryWithPhoto .fclHistoryPortrait img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;}
.fclHistoryWithPhoto .fclHistoryPortrait figcaption{margin-top:10px;color:#526975;font-size:13px;line-height:1.45;}
main:has(.fclBarrioLead)>.project-link{display:block;box-sizing:border-box;width:min(calc(100% - 48px),828px);margin:28px auto 54px;padding:15px 20px;border:1px solid #173947;background:#173947;color:#fff!important;font-size:13px;font-weight:700;letter-spacing:.07em;line-height:1.35;text-align:center;text-decoration:none;}
main:has(.fclBarrioLead)>.project-link:hover,main:has(.fclBarrioLead)>.project-link:focus-visible{background:#fff;color:#173947!important;}
main:has(.fclBarrioLead)>.project-video-block{box-sizing:border-box;width:min(calc(100% - 48px),900px);margin:20px auto 64px;padding:0;}
main:has(.fclBarrioLead)>.project-video-block .project-video-title{margin:0 0 18px;font-size:clamp(24px,3vw,36px);font-weight:400;line-height:1.15;}
main:has(.fclBarrioLead)>.project-video-block .project-video{background:#102c38;text-align:center;}
main:has(.fclBarrioLead)>.project-video-block video{display:block;width:100%;max-height:72svh;object-fit:contain;}
main:has(.fclBarrioLead)>.project-video-block .project-video-caption{margin:12px 0 0;font-size:14px;line-height:1.5;}
@media(max-width:700px){
  .fclBarrioSection{padding:38px 20px;}
  .fclBarrioSection h2{font-size:clamp(29px,9vw,40px);}
  .fclBarrioSection p{font-size:16px;line-height:1.58;}
  .fclBarrioFacts,.fclBarrioRepertoire{grid-template-columns:1fr;}
  .fclBarrioFacts p{grid-template-columns:82px minmax(0,1fr);gap:12px;}
  .fclBarrioCredits>div{grid-template-columns:1fr;gap:5px;}
  .fclBarrioHistories .fclHistoryWithPhoto{grid-template-columns:1fr;gap:24px;}
  .fclHistoryWithPhoto .fclHistoryPortrait{width:min(100%,420px);margin:0 auto;}
  main:has(.fclBarrioLead)>.project-link,main:has(.fclBarrioLead)>.project-video-block{width:calc(100% - 40px);}
}

/* Contacto informado: el cliente de correo solo se solicita tras una segunda acción. */
#contactOverlay .fclContactPanel { width:min(92vw,760px); max-height:90dvh; padding:clamp(20px,3vw,34px); background:#fff; }
#contactOverlay .fclContactImage { display:block; width:100%; aspect-ratio:16/5; object-fit:cover; margin:0 0 24px; }
#contactOverlay .fclContactPanel h2 { font-size:clamp(24px,3.2vw,38px); }
#contactOverlay .fclContactPanel p { max-width:68ch; font-size:clamp(14px,1.5vw,17px); }
#contactOverlay .fclContactPanel a { color:#173947; text-underline-offset:3px; }
#contactOverlay .fclContactMail { display:inline-block; margin:8px 0 18px; padding:12px 16px; border:1px solid #173947; background:#173947; color:#fff!important; font-size:12px; font-weight:700; letter-spacing:.08em; text-decoration:none; }
#contactOverlay .fclContactAddress { font-size:13px!important; }
@media(max-width:600px){
  #fclAreaOverlay .fclAreaHero { margin-bottom:18px; }
  #contactOverlay { padding:0; }
  #contactOverlay .fclContactPanel { width:100%; height:100dvh; max-height:100dvh; padding:20px 16px; border:0; }
  #contactOverlay .fclContactImage { aspect-ratio:16/7; margin-bottom:18px; }
  #contactOverlay .fclContactMail { display:block; text-align:center; line-height:1.35; }
}

/* Cabecera común de proyecto: misma composición estable para todas las fichas. */
#fclDetailOverlay .fclFichePrototype .fclDetailHeader{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,38%);
  align-items:center;
  gap:clamp(28px,4.5vw,66px);
  padding:10px clamp(28px,5vw,72px) clamp(38px,5vw,62px);
}
#fclDetailOverlay .fclFichePrototype .fclDetailHeading{min-width:0;}
#fclDetailOverlay .fclFichePrototype .fclDetailHeader #fclDetailTitle{
  max-width:none;
  margin:0 0 18px;
  font-size:clamp(34px,4vw,58px);
  line-height:1.04;
  letter-spacing:-.045em;
  text-wrap:balance;
}
#fclDetailOverlay .fclFichePrototype .fclDetailHeader #fclDetailMeta{
  margin:0;
  padding-top:12px;
  border-top:1px solid rgba(224,239,245,.45);
  font-size:11px;
  line-height:1.45;
}
#fclDetailOverlay .fclFichePrototype .fclDetailHeader #fclDetailSynopsis{
  max-width:64ch;
  margin:22px 0 0;
  color:#f4f7f8;
  font-size:clamp(16px,1.55vw,19px)!important;
  line-height:1.55!important;
  text-wrap:pretty;
  hyphens:auto;
}
#fclDetailOverlay .fclFichePrototype .fclDetailHeader .fclCoverSlot{
  position:relative;
  inset:auto;
  width:100%;
  height:clamp(260px,26vw,360px);
  min-width:0;
  margin:0;
}
#fclDetailOverlay .fclFichePrototype .fclDetailHeader #fclDetailHero{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:contain;
}
#fclDetailOverlay .fclFichePrototype.fclFicheNoCover .fclDetailHeader{grid-template-columns:minmax(0,1fr);}
#fclDetailOverlay .fclFichePrototype.fclFicheNoCover .fclDetailHeading{max-width:860px;}
@media(max-width:760px){
  #fclDetailOverlay .fclFichePrototype .fclDetailHeader{
    grid-template-columns:minmax(0,1fr);
    gap:22px;
    padding:8px 20px 34px;
  }
  #fclDetailOverlay .fclFichePrototype .fclDetailHeader .fclCoverSlot{
    order:-1;
    width:100%;
    height:clamp(190px,46svh,300px);
    margin:0;
  }
  #fclDetailOverlay .fclFichePrototype .fclDetailHeader #fclDetailTitle{
    margin:0 0 14px;
    font-size:clamp(32px,10vw,48px);
  }
  #fclDetailOverlay .fclFichePrototype .fclDetailHeader #fclDetailSynopsis{
    margin-top:18px;
    font-size:16px!important;
  }
}
