:root{
  --marfil:#F5F2EC; --negro:#111111; --gris:#858A8D; --granate:#8D3438; --rojo:#A82018;
  --bordo:#3A0E12; --bordo-2:#24080B; --oro:#C9A35B;
  --c-politica:#B8323A; --c-geopolitica:#2C4A7A; --c-economia:#C08A2E; --c-historia:#6E4A8E; --c-sociedad:#3F7A4E;
  --serif:"Source Serif 4", Georgia, serif;
  --sans:"Source Sans 3", system-ui, sans-serif;
  --tag:"Oswald", "Arial Narrow", sans-serif;
  --disp:"Saira Extra Condensed", "Oswald", sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--bordo-2)}
body{background:var(--bordo-2);color:var(--marfil);font-family:var(--sans);font-size:18px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}

/* Loader */
#loader{position:fixed;inset:0;z-index:100;background:var(--bordo-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transition:opacity .9s ease, visibility .9s}
#loader.done{opacity:0;visibility:hidden}
.loader-p{width:64px;opacity:.95;animation:breathe 2.4s ease-in-out infinite}
.loader-bar{width:180px;height:1px;background:rgba(245,242,236,.15)}
#loader-fill{display:block;height:100%;width:0;background:var(--oro);animation:fill 2.2s ease-out forwards}
@keyframes fill{to{width:100%}}
.loader-txt{font-family:var(--serif);font-style:italic;font-size:15px;color:rgba(245,242,236,.6)}
@keyframes breathe{50%{opacity:.55}}

/* Header */
.top{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:20px clamp(18px,4vw,48px);pointer-events:none}
.top::after{content:"";position:absolute;left:clamp(18px,4vw,48px);right:clamp(18px,4vw,48px);bottom:8px;height:1px;background:rgba(245,242,236,.25)}
.top a{pointer-events:auto}
.top-logo img{height:22px;width:auto}
.top-nav{display:flex;gap:24px}
.top-nav a{font-family:var(--tag);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:12px;text-decoration:none;opacity:.85}
.top-nav a:hover{opacity:1;color:var(--oro)}

.ilu-tag{position:fixed;z-index:40;left:clamp(18px,4vw,48px);bottom:20px;font-family:var(--tag);font-size:10.5px;letter-spacing:.2em;padding:4px 8px;border:1px solid rgba(245,242,236,.45);color:rgba(245,242,236,.8);background:rgba(17,17,17,.35);transition:opacity .4s}
.ilu-tag.off{opacity:0}

/* Journey: paradas con scroll-snap */
.journey{position:relative}
.stop{height:100vh;height:100svh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--bordo-2);margin-bottom:-100vh;margin-bottom:-100svh;z-index:0}
.layers{position:absolute;inset:0}
.layers img,.layers video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}
.layers .on{opacity:1}
.layers video.on{transition:none}
.vignette{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(ellipse at center, transparent 45%, rgba(20,4,6,.55) 100%),
  linear-gradient(to bottom, rgba(20,4,6,.55) 0%, transparent 18%, transparent 70%, rgba(20,4,6,.7) 100%)}
.stops{position:relative;z-index:1}
.chapters{position:fixed;inset:0;pointer-events:none;z-index:2}
.ch{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);padding:0 clamp(22px,6vw,90px);text-align:center;opacity:0;visibility:hidden;transition:opacity .45s ease, visibility 0s linear .45s;text-shadow:0 2px 24px rgba(0,0,0,.55);isolation:isolate}
.ch.on{opacity:1;visibility:visible;transition:opacity .55s ease .05s, visibility 0s}
.chapters.away .ch{opacity:0 !important;visibility:hidden !important;transition:opacity .2s, visibility 0s linear .2s}
.ch::before{content:"";position:absolute;left:50%;top:50%;width:min(1100px,120vw);height:160%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center, rgba(20,4,6,.62) 0%, rgba(20,4,6,.35) 45%, transparent 72%);z-index:-1;pointer-events:none}
.kicker{font-family:var(--tag);font-weight:500;text-transform:uppercase;letter-spacing:.24em;font-size:13px;color:var(--oro);margin-bottom:22px}
.ch1-logo img{width:min(760px,82vw);margin:0 auto;filter:drop-shadow(0 6px 30px rgba(0,0,0,.6))}
.scroll-hint{margin-top:42px;font-family:var(--serif);font-style:italic;font-size:17px;opacity:.85}
.scroll-hint span{display:inline-block;animation:bob 1.8s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(5px)}}
.serif-it{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(24px,3.2vw,40px);opacity:.92}
.display{font-family:var(--serif);font-weight:600;font-size:clamp(56px,10vw,150px);line-height:.95;letter-spacing:-.01em}
.serif-lg{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.4vw,62px);line-height:1.12;max-width:17ch;margin:0 auto}
.note{max-width:46ch;margin:26px auto 0;font-size:17px;color:rgba(245,242,236,.92)}
.pillars{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2.4vw,36px);max-width:1180px;margin:0 auto;text-align:left}
.pillars li{border-top:2px solid var(--oro);padding:16px 18px 18px;font-size:16px;color:rgba(245,242,236,.94);background:rgba(20,4,6,.72);backdrop-filter:blur(3px)}
.pillars b{display:block;font-family:var(--serif);font-weight:600;font-size:clamp(22px,2.2vw,30px);color:var(--marfil);margin:6px 0 8px}
.p-n{font-family:var(--serif);font-style:italic;color:var(--oro);font-size:15px}

/* Sala */
.sala{position:relative;padding:120px clamp(18px,4vw,48px) 80px;background:linear-gradient(var(--bordo-2),var(--bordo) 30%,var(--bordo-2))}
.sala-head{text-align:center;margin-bottom:40px}
.sala-sub{margin-top:14px;color:rgba(245,242,236,.75)}
.hemi{position:relative;max-width:1280px;margin:0 auto;aspect-ratio:16/9;border:1px solid rgba(201,163,91,.35);overflow:hidden;background:var(--bordo)}
.hemi img{width:100%;height:100%;object-fit:cover}
.hemi img.missing{visibility:hidden}
.hemi-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 70%, transparent 30%, rgba(20,4,6,.45))}
.seat{--c:var(--oro);position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:none;border:0;cursor:pointer;color:var(--marfil);display:flex;flex-direction:column;align-items:center;gap:8px;font:inherit}
.seat[data-sec=politica]{--c:var(--c-politica)}.seat[data-sec=geopolitica]{--c:var(--c-geopolitica)}.seat[data-sec=economia]{--c:var(--c-economia)}.seat[data-sec=historia]{--c:var(--c-historia)}.seat[data-sec=sociedad]{--c:var(--c-sociedad)}.seat.tribuna{--c:var(--marfil)}
.seat i{width:18px;height:18px;border-radius:50%;background:var(--c);border:2px solid var(--marfil);box-shadow:0 0 0 0 var(--c);animation:pulse 2.6s infinite}
.seat span{font-family:var(--tag);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;padding:5px 10px;background:rgba(17,17,17,.72);border-left:3px solid var(--c);white-space:nowrap;transition:background .2s}
.seat:hover span,.seat:focus-visible span,.seat.active span{background:var(--c);color:#fff}
.seat:focus-visible{outline:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--c) 70%,transparent)}70%{box-shadow:0 0 0 16px transparent}100%{box-shadow:0 0 0 0 transparent}}
.sec-list{display:none;list-style:none;max-width:560px;margin:24px auto 0}
.sec-list button{width:100%;text-align:left;background:rgba(17,17,17,.4);border:0;border-left:4px solid var(--c);color:var(--marfil);padding:14px 16px;margin-bottom:8px;font-family:var(--tag);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:14px;cursor:pointer}

.panel{--c:var(--oro);position:fixed;z-index:60;right:0;top:0;bottom:0;width:min(440px,100%);background:#1a0609f2;border-left:4px solid var(--c);padding:90px 32px 40px;overflow:auto;transform:translateX(100%);transition:transform .45s cubic-bezier(.2,.7,.2,1);backdrop-filter:blur(6px)}
.panel.open{transform:none}
.panel-x{position:absolute;top:70px;right:20px;background:none;border:0;color:var(--marfil);font-size:32px;cursor:pointer;line-height:1}
.panel-kicker{display:inline-block;font-family:var(--tag);font-weight:700;text-transform:uppercase;letter-spacing:.16em;font-size:12px;background:var(--c);color:#fff;padding:4px 9px}
.panel-title{font-family:var(--serif);font-weight:600;font-size:34px;line-height:1.1;margin:16px 0 12px}
.panel-desc{color:rgba(245,242,236,.8);margin-bottom:26px}
.panel-items{list-style:none}
.panel-items li{border-top:1px solid rgba(245,242,236,.15);padding:16px 0}
.panel-items .it-kind{font-family:var(--tag);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--oro)}
.panel-items .it-title{display:block;font-family:var(--serif);font-size:21px;line-height:1.25;margin:4px 0 8px}
.panel-items a{font-family:var(--tag);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:13px;text-decoration:none;border-bottom:1px solid var(--c)}
.panel-items .soon{font-style:italic;color:rgba(245,242,236,.6)}

/* Cierre */
.cierre{padding:140px 24px 120px;text-align:center;background:var(--bordo-2)}
.cierre-logo{width:min(520px,80vw);margin:0 auto 36px}
.cierre-txt{max-width:40ch;margin:0 auto 34px;font-family:var(--serif);font-size:22px}
.cta{display:inline-block;font-family:var(--tag);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:14px;text-decoration:none;background:var(--granate);padding:16px 28px;transition:background .2s}
.cta:hover{background:var(--rojo)}
.redes{list-style:none;display:flex;justify-content:center;gap:28px;margin:38px 0 60px;flex-wrap:wrap}
.redes a{font-family:var(--tag);text-transform:uppercase;letter-spacing:.14em;font-size:13px;text-decoration:none;opacity:.8}
.redes a:hover{opacity:1;color:var(--oro)}
.secciones{font-family:var(--serif);font-variant:small-caps;letter-spacing:.3em;font-size:14px;color:rgba(245,242,236,.6);border-top:1px solid rgba(245,242,236,.2);padding-top:22px;max-width:760px;margin:0 auto}
.pie{padding:28px clamp(18px,4vw,48px) 40px;font-size:13px;color:rgba(245,242,236,.55);border-top:1px solid rgba(245,242,236,.1);background:var(--bordo-2);display:flex;flex-direction:column;gap:6px}

/* Móvil */
@media (max-width:760px){
  body{font-size:16px}
  .pillars{grid-template-columns:1fr 1fr;gap:18px 16px}
  .pillars li{font-size:14px}
  .hemi{aspect-ratio:16/9}
  .seat span{font-size:10.5px;padding:4px 7px}
  .seat i{width:14px;height:14px}
  .seat:not(.tribuna) span{display:none}
  .sec-list{display:block}
  .top-nav a:first-child{display:none}
}

/* Sin animación: paradas fijas con su imagen, sin video */
.static .chapters{position:static}
.static .stage,.static .stops{display:none}
.static .ch{position:relative;top:auto;transform:none;opacity:1;visibility:visible;min-height:100vh;display:flex;flex-direction:column;justify-content:center;background-size:cover;background-position:center}
.static .ch::before{width:100%;height:100%;background:rgba(20,4,6,.5)}

/* Botón de sonido */
.snd{display:inline-flex;align-items:center;gap:7px;background:none;border:1px solid rgba(245,242,236,.35);color:var(--marfil);padding:5px 10px;font-family:var(--tag);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:11px;cursor:pointer;pointer-events:auto}
.snd svg{width:16px;height:16px}
.snd path.w1,.snd path.w2,.snd path.x{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.snd .w1,.snd .w2{display:none}
.snd[aria-pressed="true"]{border-color:var(--oro);color:var(--oro)}
.snd[aria-pressed="true"] .w1,.snd[aria-pressed="true"] .w2{display:block}
.snd[aria-pressed="true"] .x{display:none}
.top-nav{align-items:center}

/* Atajo a la sala */
.skip{position:fixed;z-index:45;right:clamp(18px,4vw,48px);bottom:18px;background:rgba(17,17,17,.55);color:var(--marfil);border:1px solid rgba(201,163,91,.6);padding:9px 14px;font-family:var(--tag);font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:11.5px;cursor:pointer;backdrop-filter:blur(4px);transition:opacity .4s, background .2s}
.skip:hover{background:var(--granate)}
.skip span{color:var(--oro)}
.skip.off{opacity:0;pointer-events:none}

/* Quiénes somos */
.quienes{padding:120px clamp(20px,5vw,60px) 110px;background:linear-gradient(var(--bordo-2),var(--bordo) 50%,var(--bordo-2));text-align:center}
.quienes .serif-lg{margin-bottom:60px}
.persona{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(24px,4vw,56px);max-width:980px;margin:0 auto;text-align:left;align-items:center}
.persona-foto{width:100%;height:auto;border-bottom:3px solid var(--oro);background:radial-gradient(ellipse at 50% 70%, rgba(141,52,56,.55), transparent 70%)}
.persona-rol{font-family:var(--tag);font-weight:500;text-transform:uppercase;letter-spacing:.22em;font-size:12px;color:var(--oro)}
.persona-nombre{font-family:var(--serif);font-weight:600;font-size:clamp(32px,4vw,48px);letter-spacing:.06em;text-transform:uppercase;margin:6px 0 20px;line-height:1.05}
.persona-txt p:not(.persona-rol){font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.6;color:rgba(245,242,236,.9);margin-bottom:14px}
.colab{max-width:640px;margin:90px auto 0;border-top:1px solid rgba(201,163,91,.4);padding-top:40px}
.colab-t{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,36px);margin:10px 0 16px}
.colab p{color:rgba(245,242,236,.85);margin-bottom:26px}
.colab .mail{margin:14px 0 0;font-family:var(--tag);letter-spacing:.08em;color:var(--oro)}
@media (max-width:760px){
  .persona{grid-template-columns:1fr;text-align:center}
  .persona-foto{max-width:280px;margin:0 auto}
  .top-nav a[href="#quienes"]{display:none}
  .snd span{display:none}
  .skip{bottom:62px;right:16px}
}
.snd[hidden]{display:none}
