/* ============================================================
   AYCA 2026 · Crónica por día — estilos compartidos de las 3 páginas
   Se apoya en la identidad del sitio: navy / teal / naranja / verde / dorado, Poppins ligera.
   Cada página define su color con body[data-day].
   ============================================================ */
:root{
  --navy:#092e6e; --teal:#0e2933; --teal-2:#1a414f;
  --orange:#e35f34; --orange-dark:#b8461f; --green:#6ea543; --green-dark:#4d7f4c;
  --gold:#dfa554; --gold-dark:#a9732a; --amber:#ffbd61;
  --bg:#faf7f2; --paper:#fff;
  --line:rgba(9,46,110,.12); --line-soft:rgba(9,46,110,.07);
  --ink:rgba(9,46,110,.88); --ink-55:rgba(9,46,110,.64); --ink-35:rgba(9,46,110,.42);
  --day:var(--orange); --day-dark:var(--orange-dark);
  --ease:cubic-bezier(.22,1,.36,1);
}
body[data-day="sabado"]{ --day:var(--gold); --day-dark:var(--gold-dark); }
body[data-day="domingo"]{ --day:var(--green); --day-dark:var(--green-dark); }
body[data-day="lunes"]{ --day:var(--orange); --day-dark:var(--orange-dark); }

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
body{
  margin:0; font-family:'Poppins',sans-serif; color:var(--navy); background:var(--bg);
  -webkit-font-smoothing:antialiased; overflow-x:clip; line-height:1.5;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
h1,h2,h3,h4,p,ul,ol,figure,blockquote{ margin:0; }
ul,ol{ padding:0; list-style:none; }
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
:focus-visible{ outline:2px solid var(--day-dark); outline-offset:3px; border-radius:6px; }

.wrap{ width:100%; max-width:1180px; margin:0 auto; padding:0 1.4rem; }
@media (min-width:1024px){ .wrap{ padding:0 2.5rem; } }
.eyebrow{ font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; font-weight:600; color:var(--day-dark); }
.font-display{ font-weight:200; letter-spacing:-.012em; }

/* ---------------- barra superior (estática) ---------------- */
.cr-nav{ position:sticky; top:0; z-index:100; background:var(--teal); border-bottom:1px solid rgba(255,255,255,.08); }
.cr-nav::after{ content:''; position:absolute; left:0; right:0; top:100%; height:2px; background:linear-gradient(90deg,var(--orange),var(--gold),var(--green)); opacity:.7; }
.cr-nav-in{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem 1rem; min-height:68px; padding:.55rem 0; }
.cr-brand{ display:flex; align-items:center; gap:.9rem; }
.cr-brand img{ height:40px; width:auto; }
.cr-brand span{ display:none; padding-left:.9rem; border-left:1px solid rgba(255,255,255,.22); font-size:.62rem; line-height:1.4; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.62); font-weight:500; }
@media (min-width:640px){ .cr-brand span{ display:block; } }
.day-tabs{ display:flex; align-items:center; gap:.25rem; padding:.25rem; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); order:3; width:100%; }
@media (min-width:900px){ .day-tabs{ order:0; width:auto; } }
.day-tab{ flex:1; display:flex; align-items:center; justify-content:center; gap:.45rem; padding:.5rem 1rem; border-radius:999px; font-size:.8rem; font-weight:500; color:rgba(255,255,255,.72); white-space:nowrap; transition:color .25s ease, background-color .25s ease; }
.day-tab b{ font-weight:600; }
.day-tab small{ font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; opacity:.7; }
.day-tab:hover{ color:#fff; background:rgba(255,255,255,.1); }
.day-tab.is-current{ color:#2a1a00; background:var(--tab,var(--amber)); font-weight:600; }
.day-tab.is-current small{ opacity:.7; }
.day-tab[data-d="sabado"]{ --tab:var(--gold); } .day-tab[data-d="domingo"]{ --tab:var(--green); } .day-tab[data-d="lunes"]{ --tab:#ff8a62; }
.day-tab[data-d="domingo"].is-current{ color:#0b2308; }
.home-btn{ display:inline-flex; align-items:center; gap:.55rem; padding:.3rem 1.05rem .3rem .3rem; border-radius:999px; border:1px solid rgba(255,255,255,.26); color:#fff; font-size:.8rem; font-weight:600; transition:background-color .3s ease, border-color .3s ease, transform .3s var(--ease); }
.home-btn i{ display:grid; place-items:center; width:1.85rem; height:1.85rem; border-radius:50%; background:var(--orange); transition:transform .35s var(--ease); }
.home-btn:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.5); }
.home-btn:hover i{ transform:translateX(-3px); }

/* ---------------- héroe ---------------- */
.cr-hero{ position:relative; isolation:isolate; display:flex; align-items:flex-end; min-height:min(82svh,760px); padding:3.2rem 0 6.4rem; overflow:hidden; color:#fff; background:var(--teal); }
.cr-hero-bg{ position:absolute; inset:-4% 0; z-index:-3; background-size:cover; background-position:center; animation:crKb 18s ease-out forwards; will-change:transform; }
@keyframes crKb{ from{ transform:scale(1); } to{ transform:scale(1.09); } }
.cr-hero--plain .cr-hero-bg{ animation:none; background:
    radial-gradient(900px 620px at 78% 24%, color-mix(in srgb,var(--day) 62%,transparent), transparent 64%),
    radial-gradient(700px 520px at 6% 96%, rgba(227,95,52,.28), transparent 64%),
    linear-gradient(160deg,#1d5566 0%,#133846 52%,#0c222b 100%); }
.cr-hero--plain::before{ content:''; position:absolute; inset:0; z-index:-2; opacity:.55; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520' viewBox='0 0 520 520' fill='none' stroke='%23ffffff' stroke-opacity='.11' stroke-width='1.2'%3E%3Ccircle cx='400' cy='150' r='58'/%3E%3Ccircle cx='400' cy='150' r='96'/%3E%3Ccircle cx='400' cy='150' r='136'/%3E%3Ccircle cx='400' cy='150' r='178'/%3E%3Ccircle cx='400' cy='150' r='222'/%3E%3Ccircle cx='400' cy='150' r='268'/%3E%3C/svg%3E") right -80px top -60px/min(900px,120vw) no-repeat; }
.cr-hero-scrim{ position:absolute; inset:0; z-index:-1; background:
    linear-gradient(180deg,rgba(6,14,20,.55) 0%,rgba(6,14,20,.38) 28%,rgba(6,14,20,.78) 70%,rgba(6,14,20,.94) 100%),
    linear-gradient(90deg,rgba(6,14,20,.66) 0%,rgba(6,14,20,.12) 70%); }
.cr-ghost{ position:absolute; z-index:-1; right:calc(max(0px,(100% - 1180px)/2) + 1.6rem); top:.6rem; text-align:right; font-weight:200; line-height:.8; letter-spacing:-.05em; font-size:clamp(11rem,32vw,29rem); color:transparent; -webkit-text-stroke:1.5px rgba(255,255,255,.3); user-select:none; pointer-events:none; }
.cr-hero:not(.cr-hero--plain) .cr-ghost{ -webkit-text-stroke-color:rgba(255,255,255,.2); }
.cr-ghost small{ display:block; margin:1.1rem 0 0 auto; width:max-content; font-size:clamp(.9rem,1.6vw,1.4rem); font-weight:600; letter-spacing:.5em; -webkit-text-stroke:0; color:var(--day); padding-left:.5em; }
.crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; font-size:.75rem; color:rgba(255,255,255,.7); margin-bottom:2.2rem; }
.crumbs a{ display:inline-flex; align-items:center; gap:.4rem; transition:color .25s ease; }
.crumbs a:hover{ color:var(--amber); }
.crumbs span[aria-hidden]{ opacity:.45; }
.crumbs [aria-current]{ color:#fff; font-weight:500; }
.cr-hero .eyebrow{ display:inline-flex; align-items:center; gap:.75rem; color:var(--day); filter:brightness(1.15); }
.cr-hero .eyebrow::before{ content:''; width:38px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--day),var(--amber)); }
.cr-hero h1{ margin:1.1rem 0 1.4rem; max-width:15ch; font-weight:200; line-height:1.03; letter-spacing:-.022em; font-size:clamp(2.5rem,6.2vw,5.2rem); text-shadow:0 2px 30px rgba(0,0,0,.45); }
.cr-hero h1.is-long{ max-width:19ch; font-size:clamp(2.3rem,5.2vw,4.4rem); }
.cr-lead{ max-width:38rem; font-size:clamp(1rem,1.5vw,1.2rem); line-height:1.7; color:rgba(255,255,255,.86); text-shadow:0 1px 3px rgba(0,0,0,.6), 0 6px 26px rgba(0,0,0,.45); }
.cr-chips{ display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.9rem; }
.cr-chip{ display:inline-flex; align-items:center; gap:.6rem; padding:.3rem 1rem .3rem .3rem; border-radius:999px; font-size:.78rem; font-weight:500; color:#fff; border:1px solid rgba(255,255,255,.18); background:rgba(8,20,28,.62); backdrop-filter:blur(6px); }
.cr-chip i{ display:grid; place-items:center; width:1.8rem; height:1.8rem; border-radius:50%; background:var(--day); color:#fff; flex:none; }
body[data-day="sabado"] .cr-chip i{ color:#2a1a00; }

/* ---------------- cuerpo ---------------- */
.cr-main{ position:relative; z-index:2; margin-top:-2.6rem; border-radius:34px 34px 0 0; background:var(--bg);
  background-image:radial-gradient(1000px 700px at 90% 0%, color-mix(in srgb,var(--day) 9%,transparent), transparent 62%), radial-gradient(900px 700px at 0% 40%, rgba(9,46,110,.045), transparent 62%);
  padding:3.2rem 0 4rem; }
@media (min-width:1024px){ .cr-main{ padding:4.4rem 0 5rem; border-radius:44px 44px 0 0; margin-top:-3.2rem; } }
.cr-layout{ display:grid; gap:2.2rem; }
@media (min-width:1100px){ .cr-layout{ grid-template-columns:216px minmax(0,860px); gap:4.2rem; justify-content:center; } }

/* índice lateral / chips */
.rail{ min-width:0; }
.rail-in{ display:flex; gap:.5rem; overflow-x:auto; padding:.2rem .1rem .8rem; margin:0 -1.4rem; padding-left:1.4rem; padding-right:1.4rem; scrollbar-width:none; scroll-snap-type:x proximity; }
.rail-in::-webkit-scrollbar{ display:none; }
.rail-t{ display:none; }
.rail a{ flex:none; scroll-snap-align:start; display:flex; align-items:center; gap:.6rem; padding:.5rem .95rem; border-radius:999px; background:var(--paper); border:1px solid var(--line); font-size:.78rem; font-weight:500; color:var(--ink-55); white-space:nowrap; transition:color .25s ease, border-color .25s ease, background-color .25s ease; }
.rail a img{ width:26px; height:26px; border-radius:50%; object-fit:cover; object-position:center 18%; }
.rail a.is-active{ color:var(--navy); border-color:var(--day); background:color-mix(in srgb,var(--day) 14%,#fff); }
@media (min-width:1100px){
  .rail-in{ position:sticky; top:96px; flex-direction:column; gap:.15rem; overflow:visible; margin:0; padding:0 0 0 1.1rem; border-left:1px solid var(--line); }
  .rail-t{ display:block; margin:0 0 .9rem; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--ink-35); }
  .rail a{ padding:.5rem .7rem; margin-left:-1.1rem; padding-left:1.1rem; border:0; background:none; border-radius:0 12px 12px 0; position:relative; white-space:normal; line-height:1.3; }
  .rail a::before{ content:''; position:absolute; left:-1px; top:50%; width:2px; height:0; background:var(--day); transform:translateY(-50%); transition:height .35s var(--ease); }
  .rail a:hover{ color:var(--navy); background:color-mix(in srgb,var(--day) 8%,transparent); }
  .rail a.is-active{ background:color-mix(in srgb,var(--day) 12%,transparent); border:0; }
  .rail a.is-active::before{ height:70%; }
}
.rail--talks a{ font-size:.76rem; }
@media (min-width:1100px){ .rail--talks .rail-in{ gap:.05rem; } .rail--talks a{ padding-top:.38rem; padding-bottom:.38rem; } .rail--talks a img{ width:28px; height:28px; } }

/* títulos de capítulo */
.chap{ margin:0 0 1.8rem; }
.chap-n{ display:inline-flex; align-items:center; gap:.8rem; margin-bottom:.9rem; font-size:.72rem; letter-spacing:.2em; font-weight:700; text-transform:uppercase; color:var(--day-dark); }
.chap-n::before{ content:''; width:34px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--day),var(--amber)); }
.chap h2{ font-weight:200; font-size:clamp(1.9rem,3.8vw,2.9rem); line-height:1.1; letter-spacing:-.016em; }
.chap p.sub{ margin-top:.9rem; font-size:.95rem; color:var(--ink-55); max-width:38rem; line-height:1.65; }
.sec{ margin-top:4.6rem; }
.sec:first-child{ margin-top:0; }
.sub-h{ margin:3rem 0 1.1rem; font-weight:300; font-size:clamp(1.3rem,2.3vw,1.7rem); line-height:1.2; display:flex; align-items:center; gap:1rem; }
.sub-h::after{ content:''; flex:1; height:1px; background:linear-gradient(90deg,var(--line),transparent); }

/* texto de lectura */
.prose p{ font-size:1.04rem; line-height:1.95; color:var(--ink); margin-bottom:1.3rem; max-width:44rem; }
.prose p strong{ font-weight:600; color:var(--navy); }
.prose.dropcap > p:first-child::first-letter{ float:left; margin:.18rem .7rem 0 0; font-size:4.6rem; line-height:.78; font-weight:300; color:var(--day); }
.abstract{ position:relative; margin:0 0 3.6rem; padding:1.6rem 1.7rem 1.6rem 2rem; border-radius:22px; background:var(--paper); border:1px solid var(--line); box-shadow:0 20px 50px rgba(9,46,110,.06); }
.abstract::before{ content:''; position:absolute; left:0; top:1.4rem; bottom:1.4rem; width:4px; border-radius:0 4px 4px 0; background:var(--day); }
.abstract p{ font-size:1.12rem; line-height:1.8; font-weight:300; color:var(--navy); }

/* cifras */
.stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:1rem; margin:2.2rem 0; }
.stat{ padding:1.5rem 1.4rem 1.4rem; border-radius:22px; background:var(--paper); border:1px solid var(--line); position:relative; overflow:hidden; }
.stat::after{ content:''; position:absolute; right:-30px; top:-30px; width:110px; height:110px; border-radius:50%; background:color-mix(in srgb,var(--day) 14%,transparent); }
.stat-n{ position:relative; z-index:1; font-size:clamp(2.4rem,4.4vw,3.3rem); font-weight:200; line-height:1; letter-spacing:-.03em; color:var(--day-dark); }
.stat-n sup{ font-size:.5em; font-weight:300; vertical-align:top; position:relative; top:.15em; margin-right:.05em; }
.stat-l{ position:relative; z-index:1; margin-top:.7rem; font-size:.82rem; line-height:1.5; color:var(--ink-55); }

/* tarjetas numeradas / pasos */
.steps{ display:grid; gap:1rem; margin:1.8rem 0; counter-reset:st; }
@media (min-width:760px){ .steps.cols-3{ grid-template-columns:repeat(3,1fr); } .steps.cols-2{ grid-template-columns:repeat(2,1fr); } }
.step{ counter-increment:st; position:relative; padding:1.5rem 1.4rem 1.5rem; border-radius:22px; background:var(--paper); border:1px solid var(--line); transition:transform .45s var(--ease), box-shadow .45s ease, border-color .45s ease; }
.step:hover{ transform:translateY(-4px); box-shadow:0 26px 50px rgba(9,46,110,.1); border-color:color-mix(in srgb,var(--day) 55%,transparent); }
.step h3{ font-size:.98rem; font-weight:600; line-height:1.35; margin-bottom:.5rem; }
.step p{ font-size:.9rem; line-height:1.7; color:var(--ink-55); }
.step.is-plain::before{ content:attr(data-k); display:block; margin-bottom:.8rem; font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--day-dark); }
.step > p:only-child{ font-size:1.02rem; font-weight:300; line-height:1.75; color:var(--navy); }
.step.is-plain > p:only-child{ font-size:.98rem; }

/* laboratorios */
.labs{ display:grid; gap:1rem; margin-top:1.6rem; }
@media (min-width:760px){ .labs{ grid-template-columns:1fr 1fr; } .lab.is-feature{ grid-column:1 / -1; } }
.lab{ position:relative; padding:1.7rem 1.6rem 1.7rem; border-radius:24px; background:var(--paper); border:1px solid var(--line); overflow:hidden; transition:transform .45s var(--ease), box-shadow .45s ease; }
.lab::before{ content:''; position:absolute; left:0; right:0; top:0; height:4px; background:linear-gradient(90deg,var(--day),var(--amber)); }
.lab:hover{ transform:translateY(-4px); box-shadow:0 28px 56px rgba(9,46,110,.1); }
.lab-tag{ display:inline-flex; align-items:center; gap:.5rem; margin-bottom:.9rem; padding:.3rem .8rem; border-radius:999px; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--day-dark); background:color-mix(in srgb,var(--day) 14%,#fff); }
.lab-tag::before{ content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.lab h3{ font-size:1.4rem; font-weight:300; line-height:1.15; margin-bottom:.8rem; letter-spacing:-.01em; }
.lab p{ font-size:.92rem; line-height:1.8; color:var(--ink-55); }
.lab.is-feature{ padding:2rem 2rem; background:linear-gradient(135deg,#fff 0%, color-mix(in srgb,var(--day) 7%,#fff) 100%); }
.lab.is-feature h3{ font-size:1.7rem; }
.lab.is-feature p{ font-size:.98rem; max-width:46rem; }

/* bloque oscuro (pilares / citas) */
.band{ position:relative; isolation:isolate; margin:2.4rem 0; padding:2.2rem 1.7rem; border-radius:30px; color:#fff; overflow:hidden; background:linear-gradient(150deg,var(--teal-2) 0%,var(--teal) 70%); }
.band::before{ content:''; position:absolute; z-index:-1; right:-80px; top:-80px; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle,color-mix(in srgb,var(--day) 40%,transparent),transparent 68%); }
.band .eyebrow{ color:var(--amber); }
.band h3{ margin:.7rem 0 1.5rem; font-weight:200; font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1.2; max-width:30rem; }
.pillars{ display:grid; gap:.9rem; counter-reset:pl; }
@media (min-width:760px){ .pillars{ grid-template-columns:repeat(3,1fr); } }
.pillar{ padding:1.4rem 1.3rem; border-radius:20px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.13); font-size:1rem; font-weight:300; line-height:1.7; color:#fff; }
@media (min-width:760px){ .band{ padding:2.8rem 2.6rem; } }

.quote-band{ position:relative; isolation:isolate; margin:4.6rem 0 0; padding:3rem 1.7rem; border-radius:32px; overflow:hidden; color:#fff; background:linear-gradient(155deg,#16424f 0%,#0e2933 60%,#0a1c24 100%); }
.quote-band::before{ content:''; position:absolute; z-index:-1; inset:0; background:radial-gradient(520px 340px at 100% 0%, color-mix(in srgb,var(--day) 38%,transparent), transparent 66%), radial-gradient(420px 320px at 0% 100%, rgba(227,95,52,.22), transparent 66%); }
.quote-band svg.qm{ width:46px; height:46px; color:var(--day); margin-bottom:1.1rem; }
.quote-band blockquote{ font-size:clamp(1.35rem,2.8vw,2.1rem); font-weight:200; line-height:1.45; letter-spacing:-.01em; max-width:44rem; }
.quote-band blockquote em{ font-style:normal; color:var(--amber); font-weight:300; }
.quote-band cite{ display:block; margin-top:1.4rem; font-style:normal; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.6); }
@media (min-width:760px){ .quote-band{ padding:4rem 3.4rem; } }

/* cita corta */
.pull{ position:relative; margin:2rem 0; padding:.4rem 0 .4rem 1.6rem; border-left:3px solid var(--day); font-size:clamp(1.25rem,2.4vw,1.65rem); font-weight:200; line-height:1.45; color:var(--navy); max-width:40rem; }
.pull + .pull{ margin-top:-.6rem; }

/* dos preguntas */
.duo{ display:grid; gap:1rem; margin:1.8rem 0; }
@media (min-width:760px){ .duo{ grid-template-columns:1fr 1fr; gap:1.2rem; } }
.duo-q{ position:relative; padding:1.7rem 1.6rem; border-radius:24px; background:var(--paper); border:1px solid var(--line); }
.duo-q.is-back{ background:linear-gradient(150deg,var(--teal-2),var(--teal)); border-color:transparent; color:#fff; }
.duo-q .dir{ display:inline-flex; align-items:center; gap:.6rem; margin-bottom:1rem; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--day-dark); }
.duo-q.is-back .dir{ color:var(--amber); }
.duo-q .dir svg{ width:30px; height:14px; }
.duo-q p{ font-size:1.12rem; font-weight:300; line-height:1.55; }

/* persona */
.person{ display:grid; gap:1.6rem; margin:1.6rem 0 1rem; padding:1.4rem; border-radius:28px; background:var(--paper); border:1px solid var(--line); box-shadow:0 24px 60px rgba(9,46,110,.07); }
@media (min-width:760px){ .person{ grid-template-columns:230px 1fr; gap:2rem; padding:1.5rem; align-items:center; } }
.person-ph{ position:relative; aspect-ratio:4/5; border-radius:20px; overflow:hidden; background:var(--line-soft); }
.person-ph img{ width:100%; height:100%; object-fit:cover; object-position:center 16%; }
.person h3{ font-weight:300; font-size:1.5rem; line-height:1.15; }
.person .meta{ margin:.55rem 0 1rem; display:flex; align-items:center; gap:.5rem; font-size:.78rem; color:var(--ink-55); }
.person .meta::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--green); }
.person .tk{ font-size:.95rem; line-height:1.55; padding:.9rem 1.1rem; border-radius:16px; background:color-mix(in srgb,var(--day) 11%,#fff); color:var(--navy); }
.person .tk small{ display:block; margin-bottom:.25rem; font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--day-dark); }

/* figura con pie */
.fig{ margin:2rem 0; }
.fig-in{ position:relative; border-radius:26px; overflow:hidden; background:var(--line-soft); box-shadow:0 26px 60px rgba(9,46,110,.14); }
.fig img{ width:100%; height:auto; }
.fig figcaption{ margin-top:.8rem; font-size:.78rem; color:var(--ink-55); display:flex; gap:.6rem; align-items:center; }
.fig figcaption::before{ content:''; width:22px; height:2px; background:var(--day); border-radius:2px; flex:none; }
.fig.is-side{ max-width:340px; }
@media (min-width:900px){ .fig.is-side{ float:right; margin:.4rem 0 1.4rem 2.2rem; width:300px; } }

/* galería de fotos (huecos listos para las fotos reales) */
.wall{ display:grid; grid-template-columns:repeat(6,1fr); gap:.7rem; }
.wall .ph{ grid-column:span 3; aspect-ratio:4/3; }
.wall .ph.w2{ grid-column:span 6; aspect-ratio:21/9; }
.wall .ph.t{ aspect-ratio:3/4; }
@media (min-width:760px){
  .wall .ph{ grid-column:span 2; }
  .wall .ph.w2{ grid-column:span 4; aspect-ratio:16/9; }
  .wall .ph.t{ grid-column:span 2; aspect-ratio:3/4; }
}
.ph{ position:relative; display:grid; place-items:center; overflow:hidden; border-radius:20px; background:
    repeating-linear-gradient(135deg,color-mix(in srgb,var(--day) 9%,transparent) 0 2px,transparent 2px 14px),
    linear-gradient(150deg,color-mix(in srgb,var(--day) 17%,#fff),color-mix(in srgb,var(--day) 5%,#fff));
  border:1.5px dashed color-mix(in srgb,var(--day) 55%,transparent); color:var(--day-dark); text-align:center; }
.ph span{ display:flex; flex-direction:column; align-items:center; gap:.5rem; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; padding:1rem; }
.ph span svg{ width:26px; height:26px; opacity:.85; }
.ph span small{ font-weight:500; letter-spacing:.06em; text-transform:none; font-size:.72rem; opacity:.75; }
.ph.has-img{ border:0; background:var(--line-soft); cursor:zoom-in; }
.ph.has-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.ph.has-img:hover img{ transform:scale(1.05); }

.masonry{ columns:2; column-gap:.7rem; }
@media (min-width:900px){ .masonry{ columns:3; } }
.masonry .ph{ display:block; margin:0 0 .7rem; break-inside:avoid; border-radius:20px; }
.masonry .ph.has-img img{ position:static; inset:auto; width:100%; height:auto; }

.vids{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.vid{ position:relative; border-radius:24px; overflow:hidden; background:#0b1d26; box-shadow:0 26px 56px rgba(9,46,110,.18); }
.vid video{ display:block; width:100%; aspect-ratio:9/16; object-fit:cover; background:#0b1d26; }
@media (min-width:900px){ .vids{ grid-template-columns:repeat(3,1fr); } }

/* ---------------- charlas del lunes ---------------- */
.talk{ position:relative; display:grid; gap:1.6rem; padding:2.4rem 0 3rem; border-top:1px solid var(--line); scroll-margin-top:90px; }
.talk:first-of-type{ border-top:0; padding-top:.4rem; }
@media (min-width:860px){ .talk{ grid-template-columns:260px minmax(0,1fr); gap:2.6rem; } }
.talk-ph{ position:relative; align-self:start; aspect-ratio:4/5; border-radius:24px; overflow:hidden; background:var(--line-soft); box-shadow:0 26px 56px rgba(9,46,110,.16); max-width:340px; }
.talk-ph img{ width:100%; height:100%; object-fit:cover; object-position:center 16%; transition:transform 1.2s var(--ease); }
.talk:hover .talk-ph img{ transform:scale(1.045); }
.talk-ph::after{ content:''; position:absolute; inset:auto 0 0 0; height:36%; background:linear-gradient(180deg,rgba(9,46,110,0),rgba(9,46,110,.34)); pointer-events:none; }
.talk-ph .tag{ position:absolute; z-index:2; left:.9rem; bottom:.9rem; padding:.34rem .75rem; border-radius:999px; background:rgba(255,255,255,.95); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--green-dark); box-shadow:0 6px 16px rgba(9,46,110,.22); }
@media (min-width:860px){ .talk-ph{ position:sticky; top:96px; } }
.talk-body{ min-width:0; padding-right:0; }
.talk-who{ display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .9rem; margin-bottom:.9rem; }
.talk-who .name{ font-size:.95rem; font-weight:600; }
.talk-who .where{ display:inline-flex; align-items:center; gap:.45rem; font-size:.74rem; color:var(--ink-55); }
.talk-who .where::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--green); }
.talk h3{ margin-bottom:1.3rem; font-weight:200; font-size:clamp(1.55rem,2.9vw,2.2rem); line-height:1.16; letter-spacing:-.014em; }
.talk .sum-l{ margin-bottom:.8rem; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--day-dark); }
.talk .prose p{ font-size:1rem; line-height:1.9; }
.talk-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1rem; margin-top:1.5rem; }
.vid-btn{ display:inline-flex; align-items:center; gap:.9rem; padding:.34rem 1.3rem .34rem .34rem; border-radius:999px; background:var(--orange); color:#fff; font-size:.84rem; font-weight:600; border:1.5px solid transparent; cursor:pointer; box-shadow:0 12px 26px rgba(227,95,52,.3); transition:transform .35s var(--ease), background-color .3s ease, box-shadow .35s ease; }
.vid-btn i{ display:grid; place-items:center; width:2.2rem; height:2.2rem; border-radius:50%; background:#fff; color:var(--orange-dark); }
.vid-btn:hover{ transform:translateY(-2px); background:var(--orange-dark); box-shadow:0 16px 32px rgba(227,95,52,.38); }
.vid-btn[aria-disabled="true"]{ background:transparent; color:var(--ink-55); border-color:var(--line); box-shadow:none; cursor:default; }
.vid-btn[aria-disabled="true"] i{ background:color-mix(in srgb,var(--day) 16%,#fff); color:var(--day-dark); }
.vid-btn[aria-disabled="true"]:hover{ transform:none; background:transparent; }
.pending{ display:inline-flex; align-items:center; gap:.5rem; font-size:.74rem; color:var(--ink-35); }
.pending svg{ width:15px; height:15px; }
.talk-photos{ display:grid; gap:.7rem; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); margin-top:1.5rem; }
.talk-photos .ph{ aspect-ratio:16/10; }
.note-pending{ margin-top:.2rem; padding:1rem 1.2rem; border-radius:16px; background:color-mix(in srgb,var(--day) 10%,#fff); border:1px dashed color-mix(in srgb,var(--day) 50%,transparent); font-size:.9rem; color:var(--ink-55); }

/* navegación entre días */
.days-end{ margin-top:5rem; }
.days-end h2{ font-weight:200; font-size:clamp(1.5rem,2.8vw,2rem); margin-bottom:1.3rem; }
.days-grid{ display:grid; gap:1rem; }
@media (min-width:760px){ .days-grid.is-two{ grid-template-columns:1fr 1fr; } }
.day-card{ position:relative; isolation:isolate; display:flex; flex-direction:column; justify-content:flex-end; min-height:230px; padding:1.6rem; border-radius:26px; overflow:hidden; color:#fff; background:var(--teal); transition:transform .5s var(--ease), box-shadow .5s ease; }
.day-card .bg{ position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transition:transform 1.2s var(--ease); }
.day-card.plain .bg{ background:radial-gradient(500px 320px at 90% 0%,color-mix(in srgb,var(--dc) 55%,transparent),transparent 66%),linear-gradient(155deg,#16424f,#0e2933); }
.day-card::before{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(6,14,20,.2) 0%,rgba(6,14,20,.86) 100%); }
.day-card[data-d="sabado"]{ --dc:var(--gold); } .day-card[data-d="domingo"]{ --dc:var(--green); } .day-card[data-d="lunes"]{ --dc:var(--orange); }
.day-card:hover{ transform:translateY(-5px); box-shadow:0 32px 64px rgba(9,46,110,.28); }
.day-card:hover .bg{ transform:scale(1.07); }
.day-card .dir{ display:inline-flex; align-items:center; gap:.55rem; margin-bottom:.6rem; font-size:.66rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700; color:var(--amber); }
.day-card .dir svg{ width:18px; height:12px; }
.day-card .d{ font-size:.82rem; color:rgba(255,255,255,.75); }
.day-card h3{ margin:.15rem 0 0; font-size:1.55rem; font-weight:300; line-height:1.15; max-width:18ch; }
.day-card .go{ position:absolute; right:1.4rem; top:1.4rem; display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:50%; background:var(--dc); color:#fff; transition:transform .45s var(--ease); }
.day-card[data-d="sabado"] .go{ color:#2a1a00; }
.day-card:hover .go{ transform:scale(1.1) rotate(-8deg); }
.home-row{ display:flex; flex-wrap:wrap; justify-content:center; gap:.9rem; margin-top:2rem; }
.btn-pill{ display:inline-flex; align-items:center; gap:.9rem; padding:.4rem .4rem .4rem 1.5rem; border-radius:999px; font-weight:600; font-size:.88rem; color:#fff; background:var(--teal); transition:transform .35s var(--ease), background-color .3s ease, box-shadow .35s ease; box-shadow:0 14px 30px rgba(9,46,110,.2); }
.btn-pill i{ display:grid; place-items:center; width:2.3rem; height:2.3rem; border-radius:50%; background:var(--orange); transition:transform .4s var(--ease); }
.btn-pill:hover{ transform:translateY(-2px); background:var(--teal-2); }
.btn-pill:hover i{ transform:translateX(3px); }
.btn-pill.is-back{ padding:.4rem 1.5rem .4rem .4rem; }
.btn-pill.is-back:hover i{ transform:translateX(-3px); }
.btn-pill.is-light{ background:var(--paper); color:var(--navy); border:1.5px solid var(--line); box-shadow:none; }
.btn-pill.is-light:hover{ border-color:var(--orange); background:var(--paper); }

/* ---------------- pie de página (igual al del sitio) ---------------- */
.site-footer{ background:var(--teal); color:#fff; }
.ft-cta{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:2rem; padding:3.6rem 0 3rem; border-bottom:1px solid rgba(255,255,255,.12); }
.ft-cta h2{ font-size:clamp(1.8rem,3.6vw,2.8rem); font-weight:200; line-height:1.1; color:#fff; letter-spacing:-.01em; }
.ft-cta p{ margin-top:.8rem; max-width:34rem; font-size:.95rem; line-height:1.65; color:rgba(255,255,255,.7); }
.btn-hero{ display:inline-flex; align-items:center; gap:.95rem; padding:.4rem .4rem .4rem 1.55rem; border-radius:999px; font-weight:600; font-size:.9rem; color:#fff; background:var(--orange); box-shadow:0 14px 30px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .35s var(--ease), background-color .3s ease; }
.btn-hero .btn-ico{ display:grid; place-items:center; width:2.4rem; height:2.4rem; border-radius:50%; background:#fff; color:var(--orange-dark); transition:transform .4s var(--ease); }
.btn-hero:hover{ transform:translateY(-2px); background:var(--orange-dark); }
.btn-hero:hover .btn-ico{ transform:translateX(3px); }
.ft-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.4fr; gap:2.6rem; padding:3rem 0 2.6rem; }
.ft-brand img{ width:150px; height:auto; }
.ft-brand p{ margin-top:1.1rem; max-width:19rem; font-size:.9rem; line-height:1.65; color:rgba(255,255,255,.78); }
.ft-meta{ display:flex; flex-direction:column; gap:.55rem; margin-top:1.4rem; font-size:.8rem; color:rgba(255,255,255,.72); }
.ft-meta span{ display:flex; align-items:center; gap:.6rem; }
.ft-meta svg{ flex:none; color:var(--amber); }
.ft-col h3{ margin-bottom:1.1rem; font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; font-weight:700; color:var(--amber); }
.ft-col ul{ display:flex; flex-direction:column; gap:.7rem; }
.ft-col a{ font-size:.88rem; color:rgba(255,255,255,.76); transition:color .25s ease, padding-left .3s var(--ease); }
.ft-col ul a:hover{ color:#fff; padding-left:.35rem; }
.ft-logos{ display:flex; flex-wrap:wrap; align-items:center; gap:.9rem 1.6rem; }
.ft-logos img{ height:34px; width:auto; max-width:112px; object-fit:contain; filter:brightness(0) invert(1); opacity:.82; }
.ft-sub{ margin:1.6rem 0 .9rem; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.5); }
.ft-bottom{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem 2rem; padding:1.5rem 0 2rem; border-top:1px solid rgba(255,255,255,.12); font-size:.76rem; color:rgba(255,255,255,.55); }
.ft-bottom a{ color:rgba(255,255,255,.75); transition:color .25s ease; }
.ft-bottom a:hover{ color:var(--amber); }
@media (max-width:1023px){ .ft-grid{ grid-template-columns:1fr 1fr; } .ft-brand{ grid-column:1 / -1; } }
@media (max-width:767px){
  .ft-cta{ flex-direction:column; text-align:center; padding:2.8rem 0 2.4rem; }
  .ft-cta p{ margin-left:auto; margin-right:auto; }
  .ft-grid{ grid-template-columns:1fr 1fr; gap:2.2rem 1.4rem; text-align:center; padding:2.4rem 0; }
  .ft-brand, .ft-orgs{ grid-column:1 / -1; }
  .ft-brand img{ margin:0 auto; } .ft-brand p{ margin-left:auto; margin-right:auto; }
  .ft-meta{ align-items:center; } .ft-col ul{ align-items:center; } .ft-logos{ justify-content:center; }
  .ft-bottom{ justify-content:center; text-align:center; flex-direction:column; }
}

/* ---------------- visor de fotos ---------------- */
.lb{ position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:1.2rem; background:rgba(6,14,20,.92); opacity:0; pointer-events:none; transition:opacity .3s ease; }
.lb.is-open{ opacity:1; pointer-events:auto; }
.lb img{ max-width:min(1200px,94vw); max-height:86svh; border-radius:14px; box-shadow:0 30px 80px rgba(0,0,0,.6); }
.lb button{ position:absolute; top:1.1rem; right:1.1rem; display:grid; place-items:center; width:2.8rem; height:2.8rem; border-radius:50%; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.1); color:#fff; cursor:pointer; }
.lb button:hover{ background:rgba(255,255,255,.22); }

/* ---------------- móvil ---------------- */
@media (max-width:767px){
  .cr-hero{ min-height:auto; padding:2.4rem 0 5.4rem; text-align:center; }
  .cr-hero .eyebrow::before{ display:none; }
  .crumbs{ justify-content:center; margin-bottom:1.6rem; }
  .cr-hero h1, .cr-hero h1.is-long{ margin-left:auto; margin-right:auto; max-width:14ch; }
  .cr-hero h1.is-long{ max-width:17ch; }
  .cr-lead{ margin:0 auto; }
  .cr-chips{ justify-content:center; }
  .cr-ghost{ right:50%; transform:translateX(50%); top:.2rem; font-size:clamp(8rem,40vw,12rem); opacity:.38; }
  .cr-ghost small{ display:none; }
  .home-btn span{ display:none; } .home-btn{ padding:.3rem; }
  .abstract{ padding:1.3rem 1.2rem 1.3rem 1.5rem; } .abstract p{ font-size:1.02rem; }
  .prose p{ font-size:1rem; line-height:1.85; }
  .prose.dropcap > p:first-child::first-letter{ font-size:3.8rem; }
  .sec{ margin-top:3.6rem; }
  .talk-ph{ max-width:none; aspect-ratio:1/1; } .talk-ph img{ object-position:center 14%; }
  .day-card{ min-height:200px; }
}
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; } .cr-hero-bg{ animation:none; } *{ transition-duration:.01ms !important; }
}
