@import url('./fonts.css');
/* Geometría de navegación ASM / PO / FRUTOS.
   Copia independiente por proyecto: conservar estos valores al ajustar la barra. */
header:has(> .glass-nav) {
  position: fixed;
  inset: 0 0 auto;
  padding: 16px 24px;
}
header > .glass-nav {
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  height: 72px;
  min-height: 72px;
  margin-inline: auto;
  padding: 0 20px;
}
@media (max-width: 800px) {
  header:has(> .glass-nav) { padding: 12px; }
  header > .glass-nav {
    height: 64px;
    min-height: 64px;
    padding: 0 12px;
  }
}
:root{--bg:oklch(.995 0 0);--fg:oklch(.16 0 0);--muted:oklch(.46 0 0);--line:color-mix(in oklab,var(--fg),transparent 86%);--card:color-mix(in oklab,var(--fg),transparent 97.5%);color-scheme:light}
html.dark{--bg:oklch(.07 0 0);--fg:oklch(.94 0 0);--muted:oklch(.68 0 0);color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg);color:var(--fg);scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;font-family:'Libre Franklin',Arial,sans-serif;font-size:16px;line-height:1.7}h1,h2,h3,.brand span{font-family:'EB Garamond',Georgia,serif;font-weight:400;letter-spacing:-.04em;line-height:1.05}h1{font-size:clamp(3.4rem,7vw,6.2rem);margin:18px 0 26px}h2{font-size:clamp(2.5rem,4.2vw,3.5rem);margin:12px 0 25px}h3{font-size:2rem;margin:16px 0 8px}p{margin:0 0 22px}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline:2px solid var(--fg);outline-offset:5px}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:var(--bg);padding:12px}.skip:focus{top:20px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.19em;text-transform:uppercase;color:var(--muted);margin:0}.muted{color:var(--muted)}
header{position:fixed;top:0;left:0;right:0;z-index:30;padding:16px 24px}.glass-nav{max-width:1440px;margin:auto;min-height:72px;padding:0 20px;border:1px solid color-mix(in oklab,var(--fg),transparent 80%);border-radius:16px;background:color-mix(in oklab,var(--bg),transparent 52%);box-shadow:0 18px 55px color-mix(in oklab,var(--fg),transparent 91%),0 0 30px color-mix(in oklab,var(--fg),transparent 94%);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);display:flex;align-items:center;gap:15px}.brand{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:0}.brand img{width:76px;height:48px;object-fit:contain}.brand span{font-size:26px;white-space:nowrap;letter-spacing:-.02em}.nav{display:flex;align-items:center;gap:2px}.nav a{font-size:15px;font-weight:500;padding:9px 16px;border-radius:24px}.nav a:hover,.nav a[aria-current=page],.icon:hover{background:color-mix(in oklab,var(--fg),transparent 94%)}.tools{display:flex;align-items:center;border-left:1px solid var(--line);padding-left:8px}.icon{width:44px;height:44px;background:none;border:0;border-radius:50%;color:var(--fg);display:grid;place-items:center;position:relative;padding:0;line-height:0}.icon span{position:absolute;inset:0;display:grid;place-items:center;line-height:0}.icon svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sun,.dark .moon{display:none}.dark .sun{display:block}.menu{display:none}
.shell{max-width:1280px;padding:150px 56px 20px;margin:auto}.section{max-width:1280px;padding:85px 56px;margin:auto}.hero{position:relative;isolation:isolate;min-height:620px;min-height:clamp(560px,52vw,760px);display:flex;align-items:flex-end}.hero-art{opacity:.1;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;z-index:-2}.hero-art.dark-art{display:none}.dark .hero-art.dark-art{display:block}.dark .hero-art.light-art{display:none}.hero:after{content:'';position:absolute;inset:50% 0 0;z-index:-1;background:linear-gradient(transparent,var(--bg))}.hero-copy{width:100%;max-width:1440px;padding:220px 56px 30px;margin:0 auto}.hero-copy h1{margin:12px 0 20px}.hero-copy p:not(.eyebrow){font-size:18px;max-width:620px}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:99px;background:var(--fg);color:var(--bg);border:1px solid var(--fg);padding:11px 23px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s}.button:hover{opacity:.78;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--fg);border-color:var(--line)}.split{display:grid;grid-template-columns:.8fr 1.7fr;gap:80px}.copy{font-size:18px;line-height:1.82}.copy p:last-child{margin-bottom:0}.collage{max-width:1330px;margin:0 auto;padding:0 40px}.collage img{width:100%;border-radius:16px}.dark .collage img{mask-image:linear-gradient(#000 75%,transparent)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}.section-head h2{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px}.card{display:block}.cover{border-radius:16px;overflow:hidden;background:var(--card);aspect-ratio:4/3}.cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card:hover img{transform:scale(1.04)}.card .eyebrow{margin-top:18px}.card h3{display:flex;justify-content:space-between;align-items:center}.card h3 span{font-family:Arial,sans-serif;font-size:22px}.card p{font-size:14px;color:var(--muted)}.archive-intro{max-width:700px}.filters{margin:40px 0 20px;display:flex;gap:16px}.filters label:first-child{flex:1}.filters input,.filters select{width:100%;height:50px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--fg)}.filters label span{display:block;font-size:13px;margin-bottom:7px}.result-count{font-size:13px;color:var(--muted);margin-bottom:30px}.empty{padding:40px;border:1px solid var(--line);border-radius:16px}.back{font-size:14px;color:var(--muted)}.detail{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;margin-top:35px;align-items:start}.detail h1{font-size:clamp(3rem,5.5vw,5.7rem)}.detail .cover{aspect-ratio:1}.detail p{color:var(--muted)}.detail .synopsis{margin-top:35px}.detail strong{font-size:14px;color:var(--fg)}.video-section{margin-top:65px}.video-placeholder,.player{aspect-ratio:16/9;border-radius:16px;background:#111;color:#eee;border:1px solid #292929;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.play-icon{width:60px;height:60px;border:1px solid #666;border-radius:50%;display:grid;place-items:center;font-size:22px;padding-left:3px;margin-bottom:18px}.video-placeholder p{margin:0;font-size:14px;color:#aaa}.video-placeholder h3{font-size:28px;margin:0 0 10px}.player{padding:0;overflow:hidden}.player iframe{width:100%;height:100%;border:0}.divider{margin-top:75px;padding-top:40px;border-top:1px solid var(--line)}dl{display:grid;grid-template-columns:1fr 1fr;margin:30px 0 0}dl>div{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px;border-bottom:1px solid var(--line);padding:18px 22px 18px 0}dl>div:nth-child(even){padding-left:22px}dt{font-size:13px;font-weight:600}dd{margin:0;font-size:14px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:17px;font-weight:500}details .names{columns:3;column-gap:35px;padding:20px 0 0;list-style:none;margin:0}.names li{font-size:13px;margin-bottom:8px;break-inside:avoid}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:30px}.photo{padding:0;background:var(--card);border:0;border-radius:10px;overflow:hidden;aspect-ratio:4/3}.photo img{width:100%;height:100%;object-fit:cover}.photo:hover{opacity:.8}.gallery-more{margin-top:24px}.chapter-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:60px;padding-top:30px}.chapter-nav a:last-child{text-align:right}.chapter-nav span{display:block;font-size:12px;color:var(--muted)}.chapter-nav strong{font-family:'EB Garamond';font-size:25px;font-weight:400}.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.form{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:32px}.form label{display:grid;gap:8px;font-size:14px;font-weight:500;margin-bottom:24px}.form input,.form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--bg);color:var(--fg);font-size:16px}.form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-status{font-size:14px;margin:16px 0 0}.hp{display:none!important}.text-link{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}footer{margin-top:95px;border-top:1px solid var(--line);padding:60px 24px;text-align:center}footer h2{font-size:clamp(2.4rem,4vw,3rem)}.footer-bottom{max-width:1120px;margin:45px auto 0;padding-top:30px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:18px}.footer-bottom img{width:100px}.footer-bottom p{font-size:13px;color:var(--muted);margin:0}dialog{border:1px solid var(--line);border-radius:18px;background:var(--bg);color:var(--fg);padding:24px;max-width:calc(100vw - 32px);max-height:90svh}dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}dialog .close{margin-left:auto}#lightbox img{max-height:65svh;width:auto;margin:auto;object-fit:contain}#lightbox p{margin:14px 0 0;text-align:center;font-size:13px}.lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}[hidden]{display:none!important}
@media(min-width:1600px){.hero{min-height:830px}.hero-art{object-position:center 35%}}
@media(max-width:1050px){.brand span{font-size:23px}.nav a{padding:9px 10px}.shell,.section{padding-left:32px;padding-right:32px}.detail,.split,.contact-layout{gap:36px}.hero-copy{padding-left:32px;padding-right:32px}}
@media(max-width:800px){header{padding:12px}.glass-nav{min-height:64px;padding:0 12px;gap:6px}.brand img{width:61px;height:42px}.brand span{font-size:21px}.menu{display:grid}.nav{display:none;position:absolute;top:88px;left:12px;right:12px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--bg);box-shadow:0 20px 40px #0002}.nav.open{display:flex;flex-direction:column;align-items:stretch}.nav a{padding:12px}.hero{min-height:560px;min-height:68svh}.hero-art{object-position:center top}.hero-copy{padding:180px 24px 20px}.hero-copy h1{font-size:clamp(3.2rem,10vw,4.8rem)}.hero-copy p:not(.eyebrow){font-size:16px}.shell{padding:120px 24px 20px}.section{padding:55px 24px}.split,.detail,.contact-layout{grid-template-columns:1fr;gap:30px}.detail .cover{max-width:550px;width:100%;aspect-ratio:4/3}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.collage{padding:0 24px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.section-head{align-items:start;flex-direction:column}.copy{font-size:17px}dl{grid-template-columns:1fr}dl>div:nth-child(even){padding-left:0}.names{columns:2!important}.contact-layout{gap:35px}.form{padding:24px}.video-section{margin-top:40px}footer{margin-top:60px;padding:45px 24px}}
@media(max-width:480px){.brand span{font-size:19px}.brand{gap:8px}.brand img{width:52px}.tools{padding-left:3px}.icon{width:36px;height:40px}.filters{flex-direction:column}.grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:1fr;gap:0}.video-placeholder h3{font-size:22px}.video-placeholder p{font-size:12px}.play-icon{width:42px;height:42px;margin-bottom:10px}.video-placeholder{padding:16px}.names{columns:1!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

.split>h2{white-space:nowrap}.split>.copy{padding-top:24px}

/* Logos de navegación suministrados para cada tema. */
.brand img.brand-logo{width:44px;height:48px;object-fit:contain}.brand .logo-dark{display:none}.dark .brand .logo-light{display:none}.dark .brand .logo-dark{display:block}
.footer-bottom img.footer-logo{width:min(130px,36vw);height:auto}.footer-bottom .logo-dark{display:none}.dark .footer-bottom .logo-light{display:none}.dark .footer-bottom .logo-dark{display:block}

/* La barra del Archivo abre el buscador completo y conserva el filtro territorial. */
.archive-search-control{flex:1;min-width:0;display:grid;gap:7px}.archive-search-control>span{font-size:13px}.archive-search-trigger{width:100%;min-width:0;max-width:100%;height:50px;display:flex;align-items:center;gap:12px;padding:10px 15px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--muted);text-align:left}.archive-search-trigger:hover{border-color:color-mix(in oklab,var(--fg),transparent 65%);color:var(--fg)}.archive-search-trigger svg{width:19px;height:19px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}.archive-search-trigger em{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-style:normal}.archive-search-trigger kbd{margin-left:auto;padding:2px 6px;border:1px solid var(--line);border-radius:5px;color:var(--muted);font:11px 'Libre Franklin',sans-serif;white-space:nowrap}@media(max-width:600px){.filters{flex-direction:column}.archive-search-trigger kbd{display:none}.archive-search-trigger em{font-size:14px}}
.video-notice{max-width:760px;margin:18px auto 0;padding:14px 18px;border-left:2px solid var(--fg);background:var(--card);color:var(--muted);font-size:14px;line-height:1.65}.video-notice a{color:var(--fg);text-decoration:underline;text-underline-offset:3px}
.archive-intro-line{white-space:nowrap}@media(max-width:800px){.archive-intro-line{white-space:normal}}
.nav-dropdown{position:relative}.nav-dropdown summary{list-style:none;cursor:pointer;font-size:15px;font-weight:500;padding:9px 16px;border-radius:24px;white-space:nowrap}.nav-dropdown summary::-webkit-details-marker{display:none}.nav-dropdown summary span{font-size:14px;margin-left:4px}.nav-dropdown[open] summary,.nav-dropdown summary:hover{background:color-mix(in oklab,var(--fg),transparent 94%)}.nav-dropdown>div{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--bg);box-shadow:0 16px 35px #0002}.nav-dropdown>div a{display:block;padding:9px 12px;border-radius:8px}.nav-dropdown>div a:hover{background:var(--card)}
@media(max-width:800px){.nav-dropdown summary{padding:12px}.nav-dropdown>div{position:static;margin:4px 0 8px;box-shadow:none;background:var(--card)}.nav-dropdown>div a{padding:10px 18px}}

/* Credits: protagonists first, all content visible, compact editorial columns. */
.credits-panel{margin-top:48px;padding-top:30px}
.credits-lead h2{font-size:34px;margin:0 0 15px}
.credits-advisers{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.credit-names{display:flex;flex-wrap:wrap;list-style:none;gap:4px 0;margin:0;padding:0;font-size:14px;line-height:1.65}
.credit-names li{max-width:100%;overflow-wrap:anywhere}
.credit-names li:not(:last-child)::after{content:'·';margin:0 10px;color:var(--muted)}
.person-link{text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--fg),transparent 65%);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .2s}
.person-link:hover{text-decoration-color:var(--fg)}
.credits-team{margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.credits-team h3,.credits-thanks h3{font-size:25px;margin:0 0 16px}
dl.compact-credits{display:block;columns:3;column-gap:32px;margin:0}
dl.compact-credits>div,dl.compact-credits>div:nth-child(even){display:block;break-inside:avoid;border:0;padding:0;margin:0 0 12px}
.compact-credits dt{display:inline;font-size:12px;line-height:1.55;font-weight:600}
.compact-credits dt::after{content:':';margin-right:4px}
.compact-credits dd{display:inline;font-size:13px;line-height:1.65;color:var(--muted)}
.credits-thanks{margin-top:14px;padding-top:20px;border-top:1px solid var(--line)}
.credits-thanks h3{font-size:22px;margin-bottom:12px}
.credits-thanks .credit-names{font-size:12px;line-height:1.7;color:var(--muted);gap:2px 0}
.credits-thanks .credit-names li:not(:last-child)::after{margin:0 7px}
.person-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:65px;align-items:start;margin-top:40px}
.person-page h1{font-size:clamp(2.8rem,5vw,4.8rem);max-width:720px;line-height:1.03}
.person-bio{font-size:17px;line-height:1.85;max-width:700px}
.person-contact{margin-top:18px}.person-contact h2{font-family:var(--sans);font-size:10px;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;color:var(--muted)}.person-contact a{display:block;width:max-content;max-width:100%;overflow-wrap:anywhere;margin-top:3px;font-family:var(--sans);font-size:12px;line-height:1.45;font-weight:400}
.person-portrait{margin:0;padding-top:30px}
.person-portrait img{width:auto;max-width:100%;height:auto;border-radius:12px;margin:0 auto}
.archive-note{font-size:12px;color:var(--muted);margin:28px 0 0}
.person-chapters h2{font-size:32px}
@media(max-width:900px){dl.compact-credits{columns:2}.person-layout{gap:35px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}
@media(max-width:600px){dl.compact-credits{columns:1}.credits-panel{margin-top:32px;padding-top:24px}.credit-names{font-size:13px}.credits-lead h2{font-size:30px}.person-layout{display:flex;flex-direction:column;gap:25px}.person-portrait{order:-1;padding:0;align-self:flex-start;max-width:100%}.person-portrait img{max-height:260px;object-fit:contain;object-position:left}.person-bio{font-size:16px}}

/* Selector de tema: iconos Lucide centrados por su propia caja, como en ASM. */
#theme .theme-glyph{position:static;display:block;width:18px;height:18px;margin:0;transform:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#theme .theme-glyph.sun{display:none}
html.dark #theme .theme-glyph.moon{display:none}
html.dark #theme .theme-glyph.sun{display:block}

/* Fondo superior del Home: presencia intermedia en modo claro. */
.hero-art.light-art{opacity:.45}
.series-intro{padding-top:72px;padding-bottom:72px;text-align:center}
.series-intro .copy{max-width:920px;margin:auto;font-size:21px;line-height:1.7}
.series-intro .text-link{display:inline-block;margin-top:8px;font-size:15px}
main>.hero+.collage{margin-top:44px}
.hero-copy>p{white-space:nowrap}
@media(max-width:800px){.hero-copy>p{white-space:normal}.series-intro{padding-top:48px;padding-bottom:48px}.series-intro .copy{font-size:18px}}

.search-dialog{width:min(900px,calc(100vw - 32px));max-height:min(760px,calc(100svh - 32px));padding:0;overflow:hidden}.search-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:25px 28px 13px}.search-dialog-head h2{font-size:32px;margin:6px 0 0}.search-input-wrap{display:flex;align-items:center;gap:12px;margin:0 28px;border:1px solid var(--line);border-radius:13px;padding:0 14px}.search-input-wrap svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6}.search-input-wrap input{min-width:0;width:100%;padding:15px 0;border:0;background:transparent;color:var(--fg);font-size:16px;outline:0}.search-meta{display:flex;justify-content:space-between;padding:10px 28px;border-bottom:1px solid var(--line);font-size:11px;color:var(--muted)}.search-results{overflow:auto;max-height:min(505px,57svh);padding:8px}.search-result{display:flex;gap:14px;padding:11px;border-radius:12px}.search-result:hover{background:var(--card)}.search-result img{width:64px;height:64px;flex:0 0 auto;object-fit:cover;border-radius:8px;background:var(--card)}.search-result span{display:grid;min-width:0;align-content:center;gap:2px}.search-result strong{font-size:16px;font-weight:600}.search-result small,.search-result em{font-size:12px;font-style:normal;color:var(--muted);line-height:1.45}.search-result em{margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-empty{padding:38px 20px;text-align:center;color:var(--muted)}@media(max-width:600px){.search-dialog-head{padding:20px 20px 10px}.search-input-wrap{margin:0 20px}.search-meta{padding:10px 20px}.search-results{max-height:60svh}.search-result img{width:52px;height:52px}.search-dialog-head h2{font-size:28px}}
