/*
Theme Name:   CaPIU — Cátedra Permanente de Imágenes Urbanas
Theme URI:    https://catedraimagenesurbanas.org
Description:  Child theme de GeneratePress para la Cátedra Permanente de Imágenes Urbanas (CaPIU), creada y dirigida por Tulio Hernández. Incluye landing artística, archivo cronológico de ciclos, sesiones en video, invitados, libros, galería y popup de inscripción.
Author:       CaPIU
Template:     generatepress
Version:      1.0.3
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  capiu
Tags:         cultura, archivo, educacion
*/

/* =========================================================
   1. VARIABLES Y BASE
   ========================================================= */
:root{
  --night-1:#0a1524;
  --night-2:#122238;
  --night-3:#1c3350;
  --amber:#f0b45c;
  --amber-soft:#ffd98a;
  --paper:#f5efe3;
  --paper-2:#ece4d2;
  --ink:#141311;
  --ink-soft:#33302a;
  --blue:#3d6f8f;
  --line-d:rgba(245,239,227,.16);
  --line-l:rgba(20,19,17,.16);
  --capiu-maxw:1280px;
  --nav-h:70px;
}

body.capiu-site{
  background:var(--night-1);
  color:var(--paper);
  font-family:'Space Grotesk',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:300;
  overflow-x:hidden;
}
body.capiu-site ::selection{background:var(--amber);color:var(--night-1);}
.capiu-site h1,.capiu-site h2,.capiu-site h3,.capiu-site h4{
  font-family:'Fraunces',Georgia,serif;font-weight:600;letter-spacing:-.01em;
}
.capiu-site a{color:inherit;text-decoration:none;}
.capiu-site img{max-width:100%;height:auto;}

/* Neutralizar el contenedor de GeneratePress en la landing y archivos CaPIU */
.capiu-fullwidth #page,
.capiu-fullwidth #content,
.capiu-fullwidth .site-content{
  max-width:100%!important;width:100%!important;
  padding:0!important;margin:0!important;display:block!important;
}
.capiu-fullwidth .content-area{width:100%!important;max-width:100%!important;float:none!important;}
.capiu-fullwidth #primary{padding:0!important;}

.capiu-wrap{max-width:var(--capiu-maxw);margin:0 auto;padding:0 32px;}
.capiu-eyebrow{
  font-size:12px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--amber);font-weight:500;margin-bottom:14px;display:block;
}
.capiu-section{position:relative;padding:118px 0;}
.capiu-section,.capiu-hero,.capiu-contacto{scroll-margin-top:var(--nav-h);}
.capiu-section-head{max-width:720px;margin-bottom:60px;}
.capiu-section-head h2{font-size:clamp(30px,4.4vw,52px);line-height:1.06;margin:0;}
.capiu-section-head p{margin:18px 0 0;font-size:16px;line-height:1.68;opacity:.78;}

/* Secciones en papel */
.capiu-paper{background:var(--paper);color:var(--ink);}
.capiu-paper .capiu-eyebrow{color:var(--blue);}
.capiu-paper .capiu-section-head p{color:var(--ink-soft);opacity:1;}

/* Grano */
.capiu-grain{
  position:fixed;inset:0;pointer-events:none;z-index:9998;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Cursor personalizado — solo cuando el JS lo activa y hay puntero fino */
.capiu-has-cursor{cursor:none;}
.capiu-has-cursor a,.capiu-has-cursor button,.capiu-has-cursor input,.capiu-has-cursor select{cursor:none;}
.capiu-cursor{position:fixed;top:0;left:0;width:9px;height:9px;border-radius:50%;background:var(--amber);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference;}
.capiu-cursor-ring{position:fixed;top:0;left:0;width:36px;height:36px;border-radius:50%;border:1px solid var(--amber);pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .15s ease-out;}

/* Accesibilidad: respetar reduced motion */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
}

/* =========================================================
   2. HEADER / NAVEGACIÓN
   ========================================================= */
.capiu-header{
  position:fixed;top:0;left:0;right:0;z-index:500;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:12px 36px;min-height:var(--nav-h);
  background:linear-gradient(rgba(10,21,36,.9),rgba(10,21,36,.68) 75%,transparent);
  backdrop-filter:blur(6px);transition:background .35s ease,padding .35s ease;
}
.capiu-header.is-stuck{background:rgba(10,21,36,.97);padding:8px 36px;box-shadow:0 6px 26px rgba(0,0,0,.35);}
.capiu-paper-header .capiu-header{background:rgba(10,21,36,.97);}

.capiu-brand{display:flex;align-items:center;gap:13px;color:var(--paper);flex:0 0 auto;}
.capiu-brand .capiu-mark{width:40px;height:40px;flex:0 0 auto;color:var(--paper);}
.capiu-brand .capiu-mark svg{width:100%;height:100%;display:block;}
.capiu-brand-txt{line-height:1.05;}
.capiu-brand-name{font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:19px;display:block;}
.capiu-brand-name em{font-style:normal;color:var(--amber);}
.capiu-brand-sub{font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;opacity:.7;display:block;margin-top:3px;}

.capiu-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;}
.capiu-nav li{margin:0;}
.capiu-nav a{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;opacity:.8;color:var(--paper);padding:6px 0;display:block;}
.capiu-nav a:hover,.capiu-nav .current-menu-item>a{opacity:1;color:var(--amber);}
.capiu-header-right{display:flex;align-items:center;gap:20px;flex:0 0 auto;}
.capiu-lang{display:flex;gap:6px;font-size:12px;letter-spacing:.05em;color:var(--paper);}
.capiu-lang a{opacity:.5;}
.capiu-lang a.is-active,.capiu-lang a:hover{opacity:1;border-bottom:1px solid var(--amber);}
.capiu-lang .sep{opacity:.35;}

/* --- GTranslate ---------------------------------------------------
   El plugin trae su propio look (gris, Arial, bordes redondeados) que
   desentona con el encabezado. Aquí se reviste con la tipografía y la
   paleta del theme. Cubre los tres tipos de widget del shortcode:
   desplegable, enlaces con bandera y conmutador flotante. */
.capiu-gt{display:flex;align-items:center;line-height:1;}
.capiu-gt img{display:inline-block;}

/* Tipo «desplegable» */
.capiu-gt select.gt_selector,
.capiu-gt .gt_selector{
  appearance:none;-webkit-appearance:none;-moz-appearance:none;
  margin:0!important;height:auto!important;width:auto!important;
  background-color:transparent!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5l5-5' fill='none' stroke='%23f5efe3' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 10px center!important;
  background-size:9px auto!important;
  border:1px solid rgba(245,239,227,.32)!important;border-radius:2px!important;
  color:var(--paper)!important;
  font-family:'Space Grotesk',sans-serif!important;font-size:11.5px!important;font-weight:400!important;
  letter-spacing:.08em;text-transform:uppercase;
  padding:8px 28px 8px 12px!important;
  cursor:pointer;outline:none;box-shadow:none!important;
  transition:border-color .3s ease,color .3s ease;
}
.capiu-gt select.gt_selector:hover{border-color:var(--amber)!important;color:var(--amber)!important;}
.capiu-gt select.gt_selector:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}
/* Las opciones las pinta el sistema: se les quita el versalita para que sean legibles. */
.capiu-gt select.gt_selector option{
  background:var(--night-1);color:var(--paper);
  text-transform:none;letter-spacing:0;font-size:13px;
}

/* Tipo «enlaces / banderas» */
.capiu-gt .gt_container,
.capiu-gt [class*="gt_container-"]{margin:0!important;padding:0!important;}
.capiu-gt a.glink{
  display:inline-flex!important;align-items:center;gap:6px;
  margin:0 10px 0 0!important;
  font-family:'Space Grotesk',sans-serif!important;font-size:12px!important;
  letter-spacing:.06em;text-transform:uppercase;
  color:var(--paper)!important;opacity:.55;
  transition:opacity .3s ease,color .3s ease;
}
.capiu-gt a.glink:last-child{margin-right:0!important;}
.capiu-gt a.glink:hover{opacity:1;color:var(--amber)!important;}
.capiu-gt a.glink img{width:17px;height:auto;border-radius:1px;vertical-align:middle;}
.capiu-gt a.glink span{font-weight:400!important;}

/* Tipo «conmutador flotante»: se alinea con el resto de flotantes del sitio. */
.gt_float_switcher{
  font-family:'Space Grotesk',sans-serif!important;font-size:12px!important;
  border-radius:2px!important;box-shadow:0 12px 34px rgba(6,13,24,.4)!important;
  z-index:700!important;
}
.gt_float_switcher .gt-selected .gt-current-lang{text-transform:uppercase;letter-spacing:.06em;}

/* GTranslate en modo Google inserta una barra superior que empuja el
   documento ~40px y descoloca el encabezado fijo. Se neutraliza. */
body > .skiptranslate,
.goog-te-banner-frame,
#goog-gt-tt,
.goog-tooltip{display:none!important;}
body.capiu-site{top:0!important;}
/* Google resalta el texto traducido con fondo amarillo; sobra aquí. */
.capiu-site font[style]{background:none!important;box-shadow:none!important;}

/* En el panel móvil el selector va a mayor escala. */
.capiu-mobile-extra .capiu-gt select.gt_selector{font-size:14px!important;padding:12px 32px 12px 14px!important;}
.capiu-mobile-extra .capiu-gt a.glink{font-size:15px!important;opacity:.8;}

/* Botón hamburguesa */
.capiu-toggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:44px;height:44px;background:none;border:0;padding:0;cursor:pointer;
}
.capiu-toggle span{display:block;width:24px;height:2px;background:var(--paper);margin:0 auto;transition:transform .3s,opacity .25s;}
.capiu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.capiu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.capiu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Panel móvil */
.capiu-mobile-panel{
  position:fixed;inset:0;z-index:490;background:var(--night-1);
  padding:calc(var(--nav-h) + 30px) 32px 40px;
  transform:translateX(100%);transition:transform .4s cubic-bezier(.2,.8,.2,1);
  overflow-y:auto;visibility:hidden;
}
.capiu-mobile-panel.is-open{transform:none;visibility:visible;}
.capiu-mobile-panel ul{list-style:none;margin:0;padding:0;}
.capiu-mobile-panel li{border-bottom:1px solid var(--line-d);}
.capiu-mobile-panel a{
  display:block;padding:18px 2px;font-family:'Fraunces',Georgia,serif;
  font-size:22px;color:var(--paper);
}
.capiu-mobile-panel a:hover{color:var(--amber);}
.capiu-mobile-extra{margin-top:32px;display:flex;flex-direction:column;gap:22px;align-items:flex-start;}
.capiu-mobile-extra .capiu-btn{width:100%;justify-content:center;}
.capiu-mobile-extra .capiu-lang{font-size:14px;letter-spacing:.1em;align-items:center;}

/* =========================================================
   3. HERO
   ========================================================= */
.capiu-hero{
  position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end;
  background:
    radial-gradient(ellipse 90% 55% at 50% 118%,#2b4a6b 0%,transparent 60%),
    linear-gradient(to bottom,#060d18 0%,var(--night-1) 40%,var(--night-2) 100%);
}
#capiu-hero-canvas{position:absolute;inset:0;z-index:1;}
.capiu-hero-photo{
  position:absolute;right:0;top:0;bottom:0;width:50%;z-index:2;pointer-events:none;
  background-size:cover;background-position:center 30%;opacity:.88;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 46%);
  mask-image:linear-gradient(to right,transparent 0%,#000 46%);
}
.capiu-hero-photo::before{content:"";position:absolute;inset:0;background:rgba(10,21,36,.42);mix-blend-mode:multiply;}
.capiu-hero-photo::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to top,rgba(18,34,56,.85) 0%,transparent 34%),
    linear-gradient(to bottom,rgba(6,13,24,.9) 0%,transparent 28%);
}
.capiu-hero-inner{position:relative;z-index:3;width:100%;padding-bottom:11vh;padding-top:calc(var(--nav-h) + 40px);}
.capiu-hero .capiu-eyebrow{color:var(--amber-soft);}
.capiu-hero h1{font-size:clamp(38px,6.8vw,96px);line-height:1;max-width:1050px;color:var(--paper);margin:0;}
.capiu-hero h1 .accent{font-style:italic;font-weight:400;color:var(--amber);}
.capiu-hero-sub{margin:24px 0 0;max-width:560px;font-size:16.5px;line-height:1.7;color:rgba(245,239,227,.78);}
.capiu-hero-cta{margin-top:36px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}

/* Botones */
.capiu-btn{
  display:inline-flex;align-items:center;gap:10px;padding:15px 28px;
  border:1px solid rgba(245,239,227,.55);border-radius:2px;font-size:12.5px;
  letter-spacing:.08em;text-transform:uppercase;transition:all .35s ease;
  background:none;color:var(--paper);font-family:inherit;cursor:pointer;
}
.capiu-btn:hover{background:var(--paper);color:var(--night-1);border-color:var(--paper);}
.capiu-btn--solid{background:var(--amber);border-color:var(--amber);color:var(--night-1);font-weight:500;}
.capiu-btn--solid:hover{background:var(--amber-soft);border-color:var(--amber-soft);color:var(--night-1);}
.capiu-btn .dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:capiuBlink 1.6s infinite;}
@keyframes capiuBlink{0%,100%{opacity:1}50%{opacity:.25}}

/* Botón flotante */
.capiu-float-cta{
  position:fixed;right:26px;bottom:26px;z-index:800;
  display:inline-flex;align-items:center;gap:10px;
  background:var(--amber);color:var(--night-1);padding:15px 24px;border-radius:999px;border:0;
  font-family:'Space Grotesk',sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 12px 34px rgba(240,180,92,.35);transition:transform .3s ease,background .3s;
}
.capiu-float-cta:hover{transform:translateY(-3px);background:var(--amber-soft);}
body.capiu-menu-open .capiu-float-cta,
body.capiu-modal-open .capiu-float-cta{opacity:0;pointer-events:none;transform:translateY(20px);}
.capiu-float-cta .dot{width:8px;height:8px;border-radius:50%;background:var(--night-1);animation:capiuBlink 1.6s infinite;}

/* Banda próxima sesión */
.capiu-next{position:relative;z-index:4;background:var(--amber);color:var(--night-1);padding:13px 0;}
.capiu-next .capiu-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.capiu-next-txt{font-size:13.5px;}
.capiu-next-txt b{font-weight:600;}
.capiu-next-link{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;border-bottom:1.5px solid var(--night-1);padding-bottom:2px;background:none;border-top:0;border-left:0;border-right:0;color:inherit;cursor:pointer;font-family:inherit;}

/* Índice lateral de puntos */
.capiu-dots{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:400;display:flex;flex-direction:column;gap:13px;}
.capiu-dots a{width:8px;height:8px;border-radius:50%;border:1px solid rgba(245,239,227,.45);display:block;transition:all .3s;}
.capiu-dots a.is-active{background:var(--amber);border-color:var(--amber);transform:scale(1.4);}

/* Revelado en scroll */
.capiu-reveal{opacity:1;transform:none;}
.js-capiu-reveal .capiu-reveal{opacity:0;transform:translateY(46px);}

/* =========================================================
   4. SOBRE / ESTADÍSTICAS
   ========================================================= */
.capiu-about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:76px;align-items:start;}
.capiu-about-text p{font-size:17px;line-height:1.85;color:var(--ink-soft);margin:0 0 20px;}
.capiu-about-text p strong{color:var(--blue);font-weight:500;}
.capiu-lead::first-letter{
  font-family:'Fraunces',Georgia,serif;font-size:74px;font-weight:700;float:left;
  line-height:.78;padding:8px 12px 0 0;color:var(--ink);
}
.capiu-about-photo{margin:0 0 26px;position:relative;}
.capiu-about-photo img{width:100%;display:block;border:2px solid var(--ink);border-radius:3px;filter:sepia(.25) contrast(1.02);}
.capiu-about-photo figcaption{margin-top:10px;font-size:11.5px;letter-spacing:.04em;color:var(--ink-soft);font-style:italic;}
.capiu-stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink);border:1px solid var(--ink);}
.capiu-stat{background:var(--paper);padding:30px 24px;}
.capiu-stat-num{font-family:'Fraunces',Georgia,serif;font-size:42px;color:var(--blue);font-weight:600;line-height:1;}
.capiu-stat-lbl{margin-top:6px;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.capiu-aud-note{
  margin-top:26px;border-left:3px solid var(--amber);padding:16px 20px;background:var(--paper-2);
  font-size:14px;line-height:1.7;color:var(--ink-soft);font-style:italic;
}

/* =========================================================
   5. FORMATOS
   ========================================================= */
.capiu-formats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink);}
.capiu-format-card{background:var(--paper);padding:38px 28px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;transition:background .4s;color:var(--ink);}
.capiu-format-card:hover{background:var(--paper-2);}
.capiu-format-card .fnum{font-size:12px;color:var(--blue);letter-spacing:.1em;}
.capiu-format-card h3{font-size:25px;margin:56px 0 0;}
.capiu-format-card p{font-size:13.5px;color:var(--ink-soft);margin:10px 0 0;line-height:1.5;}

/* =========================================================
   6. ARCHIVO CRONOLÓGICO
   ========================================================= */
.capiu-archivo{background:linear-gradient(to bottom,var(--night-2),var(--night-1));overflow:hidden;padding-bottom:0;}
.capiu-archivo .capiu-section-head{padding:0 32px;max-width:var(--capiu-maxw);margin-left:auto;margin-right:auto;}
.capiu-timeline-pin{height:100vh;display:flex;align-items:center;overflow:hidden;}
.capiu-timeline-track{display:flex;gap:38px;padding:0 8vw;will-change:transform;}
.capiu-tl-card{
  flex:0 0 auto;width:min(78vw,420px);border:1px solid var(--line-d);border-radius:3px;
  padding:36px 32px;position:relative;
  background:linear-gradient(165deg,rgba(240,180,92,.1),rgba(18,34,56,.4) 55%);
}
.capiu-tl-card .yr{font-family:'Fraunces',Georgia,serif;font-size:62px;color:var(--amber);font-weight:600;line-height:1;}
.capiu-tl-card h4{font-size:21px;margin:16px 0 0;line-height:1.3;}
.capiu-tl-card p{font-size:13.5px;color:rgba(245,239,227,.66);margin:12px 0 0;line-height:1.6;}
.capiu-tl-card .tag{display:inline-block;margin-top:18px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--night-1);background:var(--amber);padding:5px 12px;border-radius:2px;font-weight:500;}
.capiu-tl-progress{position:absolute;bottom:34px;left:32px;right:32px;height:1px;background:var(--line-d);z-index:5;}
.capiu-tl-progress i{display:block;height:100%;width:0;background:var(--amber);}

/* =========================================================
   7. TEXTOS
   ========================================================= */
.capiu-text-list{border-top:2px solid var(--ink);}
.capiu-text-row{
  display:grid;grid-template-columns:130px 1fr auto;gap:26px;align-items:baseline;
  padding:26px 0;border-bottom:1px solid var(--line-l);transition:all .3s;
}
.capiu-text-row:hover{padding-left:14px;background:rgba(61,111,143,.07);}
.capiu-text-row .tdate{font-size:12px;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;}
.capiu-text-row h4{font-size:19px;font-weight:600;margin:0;}
.capiu-text-row .tmeta{font-size:11.5px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;opacity:.65;}

/* =========================================================
   8. VIDEOS
   ========================================================= */
.capiu-videos{background:var(--night-2);}
.capiu-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.capiu-video-card{position:relative;aspect-ratio:16/10;border-radius:3px;overflow:hidden;border:1px solid var(--line-d);display:block;}
.capiu-video-card .thumb{position:absolute;inset:0;background:linear-gradient(135deg,var(--tc1,#1c3350),var(--tc2,#0a1524));background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.2,.8,.2,1);}
.capiu-video-card:hover .thumb{transform:scale(1.07);}
.capiu-video-card .win{position:absolute;background:var(--amber);opacity:.85;border-radius:1px;}
.capiu-video-card .overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:linear-gradient(to top,rgba(4,9,17,.85),transparent 60%);}
.capiu-video-card .vy{font-size:11px;letter-spacing:.12em;color:var(--amber);text-transform:uppercase;}
.capiu-video-card h4{font-size:16.5px;margin:5px 0 0;}
.capiu-play{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(245,239,227,.6);display:flex;align-items:center;justify-content:center;font-size:12px;backdrop-filter:blur(3px);transition:all .3s;}
.capiu-video-card:hover .capiu-play{background:var(--amber);color:var(--night-1);border-color:var(--amber);}

/* =========================================================
   9. INVITADOS
   ========================================================= */
.capiu-guests{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.capiu-guest-frame{
  display:block;aspect-ratio:3/3.6;border:2px solid var(--ink);border-radius:4px;position:relative;overflow:hidden;
  background:linear-gradient(165deg,var(--gc1,#3d6f8f),var(--gc2,#122238));background-size:cover;background-position:center;
  transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s;
}
.capiu-guest-card:hover .capiu-guest-frame{transform:translateY(-8px) rotate(-1deg);box-shadow:0 22px 44px rgba(20,19,17,.28);}
.capiu-guest-frame::after{content:"";position:absolute;top:14px;right:14px;width:13px;height:13px;border-radius:50%;background:var(--amber);border:2px solid rgba(20,19,17,.55);}
.capiu-g-initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',Georgia,serif;font-weight:700;font-size:52px;color:rgba(245,239,227,.85);}
.capiu-g-quote{
  position:absolute;inset:0;padding:18px;display:flex;align-items:flex-end;
  background:linear-gradient(to top,rgba(10,21,36,.92) 30%,rgba(10,21,36,.25));
  font-family:'Fraunces',Georgia,serif;font-style:italic;font-size:13.5px;line-height:1.5;color:var(--paper);
  opacity:0;transition:opacity .35s;
}
.capiu-guest-card:hover .capiu-g-quote{opacity:1;}
.capiu-guest-card{display:block;}
.capiu-guest-card h4{margin:16px 0 0;font-size:18.5px;}
.capiu-g-role{display:block;margin-top:5px;font-size:12.5px;color:var(--ink-soft);line-height:1.45;}
.capiu-g-cycle{margin-top:8px;display:inline-block;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);border:1px solid rgba(61,111,143,.4);padding:4px 10px;border-radius:999px;}
.capiu-guests-more{margin-top:44px;padding-top:26px;border-top:2px solid var(--ink);display:flex;justify-content:flex-end;align-items:center;gap:20px;flex-wrap:wrap;}
.capiu-guests-more p{font-size:14.5px;color:var(--ink-soft);font-style:italic;max-width:640px;line-height:1.6;margin:0;}
.capiu-guests-more a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--blue);border-bottom:1.5px solid var(--blue);padding-bottom:3px;white-space:nowrap;}

/* =========================================================
   10. LIBROS
   ========================================================= */
.capiu-book-feature{display:grid;grid-template-columns:.55fr 1fr;gap:66px;align-items:center;}
.capiu-book-stage{perspective:1400px;display:flex;justify-content:center;}
.capiu-book{width:238px;height:365px;position:relative;transform-style:preserve-3d;transform:rotateY(-24deg) rotateX(4deg);transition:transform .6s ease;filter:drop-shadow(16px 26px 34px rgba(20,19,17,.45));}
.capiu-book-stage:hover .capiu-book{transform:rotateY(-6deg) rotateX(1deg);}
.capiu-book .cover{position:absolute;inset:0;border-radius:1px 5px 5px 1px;overflow:hidden;background-size:cover;background-position:center;}
.capiu-book .pages{position:absolute;top:2px;bottom:2px;width:22px;left:-20px;background:repeating-linear-gradient(#e8ddc7,#e8ddc7 2px,#d5c8ab 3px);transform:rotateY(90deg);transform-origin:right;border-radius:2px 0 0 2px;}
.capiu-book-info h3{font-size:29px;margin:0;}
.capiu-book-byline{margin-top:10px;font-size:13px;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;}
.capiu-book-info p{margin:20px 0 0;font-size:15.5px;line-height:1.75;color:var(--ink-soft);}
.capiu-book-list{margin:34px 0 0;border-top:2px solid var(--ink);list-style:none;padding:0;}
.capiu-book-list li{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line-l);font-size:14.5px;}
.capiu-book-list li span:last-child{color:var(--ink-soft);font-size:13px;opacity:.7;white-space:nowrap;}

/* =========================================================
   11. GALERÍA
   ========================================================= */
.capiu-galeria{background:var(--night-1);}
.capiu-masonry{columns:4 220px;column-gap:14px;}
.capiu-m-item{break-inside:avoid;margin-bottom:14px;border-radius:3px;overflow:hidden;position:relative;border:1px solid var(--line-d);display:block;}
.capiu-m-item img{width:100%;display:block;}
.capiu-m-item .tile{width:100%;display:block;background:linear-gradient(160deg,var(--c1),var(--c2));}
.capiu-m-item .cap{position:absolute;left:0;right:0;bottom:0;padding:13px;font-size:12px;background:linear-gradient(to top,rgba(4,9,17,.8),transparent);opacity:0;transition:opacity .3s;}
.capiu-m-item:hover .cap{opacity:1;}

/* =========================================================
   12. TULIO
   ========================================================= */
.capiu-tulio-grid{display:grid;grid-template-columns:.5fr 1fr;gap:66px;align-items:start;}
.capiu-portrait{
  aspect-ratio:3/4;border-radius:3px;position:relative;overflow:hidden;border:1px solid var(--line-l);
  background:radial-gradient(circle at 65% 22%,rgba(240,180,92,.55),transparent 42%),linear-gradient(165deg,#1c3350 0%,#0a1524 70%);
  background-size:cover;background-position:center;
}
.capiu-tulio-bio p{font-size:16px;line-height:1.82;color:var(--ink-soft);margin:0 0 18px;}
.capiu-credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
.capiu-credentials span{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:8px 14px;border:1px solid rgba(20,19,17,.3);border-radius:2px;color:var(--ink-soft);}

/* =========================================================
   13. CONTACTO / NEWSLETTER
   ========================================================= */
.capiu-contacto{
  padding:150px 0;text-align:center;position:relative;overflow:hidden;
  background:radial-gradient(ellipse 70% 60% at 50% 115%,rgba(240,180,92,.16),transparent 65%),var(--night-2);
}
.capiu-contacto-photo{position:absolute;inset:0;opacity:.2;background-size:cover;background-position:center 62%;}
.capiu-contacto-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,var(--night-2) 6%,rgba(18,34,56,.5) 55%,rgba(18,34,56,.75) 100%);}
.capiu-contacto .capiu-wrap{position:relative;z-index:2;}
.capiu-contacto h2{font-size:clamp(30px,4.8vw,60px);max-width:840px;margin:0 auto;}
.capiu-contacto .capiu-lede{max-width:520px;margin:20px auto 38px;opacity:.75;font-size:16px;}
.capiu-newsletter{display:flex;max-width:460px;margin:0 auto;border:1px solid rgba(245,239,227,.5);border-radius:2px;overflow:hidden;}
.capiu-newsletter input{flex:1;background:transparent;border:0;padding:16px 20px;color:var(--paper);font-family:inherit;font-size:14px;min-width:0;}
.capiu-newsletter input:focus{outline:none;}
.capiu-newsletter button{background:var(--amber);border:0;color:var(--night-1);padding:0 26px;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;}
.capiu-newsletter button:hover{background:var(--amber-soft);}
.capiu-fineprint{margin-top:22px;font-size:12.5px;opacity:.6;max-width:480px;margin-left:auto;margin-right:auto;}

/* =========================================================
   14. FOOTER
   ========================================================= */
.capiu-footer{background:#060d18;padding:56px 0 0;color:var(--paper);}
.capiu-foot-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:30px;padding:0 32px 44px;max-width:var(--capiu-maxw);margin:0 auto;}
.capiu-foot-grid .capiu-mark{width:46px;height:46px;}
.capiu-foot-links{display:flex;gap:24px;flex-wrap:wrap;}
.capiu-foot-links a{font-size:13px;opacity:.7;}
.capiu-foot-links a:hover{opacity:1;color:var(--amber);}
.capiu-foot-bottom{padding:22px 32px;max-width:var(--capiu-maxw);margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:12px;opacity:.45;border-top:1px solid var(--line-d);}

/* =========================================================
   15. MODAL DE INSCRIPCIÓN
   ========================================================= */
.capiu-modal-backdrop{
  position:fixed;inset:0;z-index:900;background:rgba(6,13,24,.72);backdrop-filter:blur(6px);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.capiu-modal-backdrop.is-open{display:flex;}
.capiu-modal{
  width:min(560px,100%);max-height:88vh;overflow:auto;background:var(--paper);color:var(--ink);
  border-radius:3px;border-top:6px solid var(--amber);box-shadow:0 40px 90px rgba(0,0,0,.5);
  animation:capiuModalIn .35s cubic-bezier(.2,.9,.3,1.1);
}
@keyframes capiuModalIn{from{opacity:0;transform:translateY(26px) scale(.98)}to{opacity:1;transform:none}}
.capiu-modal-head{padding:30px 34px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.capiu-modal-head .mh-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);font-weight:500;}
.capiu-modal-head h3{font-size:25px;margin:8px 0 0;line-height:1.2;}
.capiu-modal-close{background:none;border:1px solid var(--line-l);border-radius:50%;width:36px;height:36px;font-size:16px;cursor:pointer;color:var(--ink);flex:0 0 auto;transition:all .25s;line-height:1;}
.capiu-modal-close:hover{background:var(--ink);color:var(--paper);}
.capiu-session-chip{margin:18px 34px 0;padding:14px 18px;background:var(--night-1);color:var(--paper);border-radius:2px;display:flex;gap:14px;align-items:center;font-size:13px;}
.capiu-session-chip .live{width:9px;height:9px;border-radius:50%;background:var(--amber);animation:capiuBlink 1.4s infinite;flex:0 0 auto;}
.capiu-session-chip b{color:var(--amber-soft);font-weight:500;}
.capiu-form{padding:24px 34px 10px;display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.capiu-form .full{grid-column:1/-1;}
.capiu-form label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-bottom:7px;}
.capiu-form input,.capiu-form select{
  width:100%;padding:13px 14px;border:1px solid rgba(20,19,17,.3);border-radius:2px;
  background:#fff;font-family:inherit;font-size:14px;color:var(--ink);
}
.capiu-form input:focus,.capiu-form select:focus{outline:2px solid var(--blue);outline-offset:-1px;}
.capiu-form .capiu-submit{
  grid-column:1/-1;margin-top:6px;background:var(--ink);color:var(--paper);border:0;padding:16px;border-radius:2px;
  font-size:13px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .3s;font-family:inherit;
}
.capiu-form .capiu-submit:hover{background:var(--blue);}
.capiu-form .capiu-submit[disabled]{opacity:.6;cursor:wait;}
.capiu-hp{position:absolute!important;left:-9999px!important;}
.capiu-modal .fineprint{padding:14px 34px 30px;font-size:11.5px;line-height:1.6;color:var(--ink-soft);opacity:.85;margin:0;}
.capiu-form-msg{margin:0 34px;padding:14px 16px;border-radius:2px;font-size:14px;line-height:1.55;display:none;}
.capiu-form-msg.is-ok{display:block;background:rgba(61,111,143,.12);border-left:3px solid var(--blue);}
.capiu-form-msg.is-error{display:block;background:rgba(181,80,46,.12);border-left:3px solid #b5502e;}
.capiu-closed-state{padding:26px 34px 34px;font-size:15px;line-height:1.7;color:var(--ink-soft);}
.capiu-closed-state p{margin:0 0 10px;}

/* =========================================================
   16. PÁGINAS INTERNAS (archivos y singles)
   ========================================================= */
.capiu-page-head{padding:calc(var(--nav-h) + 80px) 0 50px;background:linear-gradient(to bottom,#060d18,var(--night-1));}
.capiu-page-head h1{font-size:clamp(32px,5vw,60px);margin:0;color:var(--paper);}
.capiu-page-head p{margin:16px 0 0;max-width:640px;opacity:.75;line-height:1.7;}
.capiu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.capiu-card{border:1px solid var(--line-d);border-radius:3px;overflow:hidden;background:rgba(18,34,56,.5);display:block;transition:transform .4s,border-color .4s;}
.capiu-card:hover{transform:translateY(-6px);border-color:var(--amber);}
.capiu-card-thumb{display:block;aspect-ratio:16/10;background:linear-gradient(135deg,#1c3350,#0a1524);background-size:cover;background-position:center;}
.capiu-card-body{display:block;padding:22px;}
.capiu-card-body h3{font-size:19px;margin:0 0 8px;}
.capiu-card-body .meta{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);}
.capiu-single{padding:calc(var(--nav-h) + 70px) 0 100px;}
.capiu-single .capiu-entry{max-width:760px;margin:0 auto;font-size:17px;line-height:1.85;}
.capiu-single .capiu-entry h1{font-size:clamp(30px,4.4vw,50px);margin:0 0 24px;}
.capiu-single .capiu-entry p{margin:0 0 22px;}
.capiu-embed{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;margin:0 0 34px;border:1px solid var(--line-d);}
.capiu-embed iframe{position:absolute;inset:0;width:100%;height:100%;}

/* --- Imagen destacada de la vista individual ---------------------
   Sin límite, un retrato vertical a 760px de ancho ocupa pantallas
   enteras. Se acota según el formato natural de cada tipo. */
.capiu-single-media{margin:0 0 34px;}
.capiu-single-media img{
  display:block;width:100%;height:auto;
  border:1px solid var(--line-d);border-radius:3px;
}
.capiu-single-media figcaption{
  margin-top:10px;font-size:11.5px;letter-spacing:.04em;
  color:rgba(245,239,227,.6);font-style:italic;
}
/* Verticales (retrato de invitado, portada de libro) */
.capiu-single-media--retrato{max-width:320px;}
.capiu-single-media--retrato img{border-width:2px;}
/* Horizontales (sesiones, textos, galería): se acota la altura */
.capiu-single-media--ancho img{max-height:58vh;object-fit:cover;object-position:center;}

/* Tarjetas de archivo según el formato de cada tipo */
.post-type-archive-capiu_invitado .capiu-card-thumb{
  aspect-ratio:3/3.6;background-position:center 20%;
}
.post-type-archive-capiu_libro .capiu-card-thumb{
  aspect-ratio:3/4;background-size:contain;background-repeat:no-repeat;
  background-color:#0d1b2c;
}

/* =========================================================
   17. RESPONSIVE — TABLET
   ========================================================= */
@media (max-width:1024px){
  :root{--nav-h:64px;}
  .capiu-section{padding:90px 0;}
  .capiu-wrap{padding:0 26px;}
  .capiu-about-grid{grid-template-columns:1fr;gap:44px;}
  .capiu-formats{grid-template-columns:1fr 1fr;}
  .capiu-video-grid{grid-template-columns:1fr 1fr;}
  .capiu-guests{grid-template-columns:repeat(2,1fr);}
  .capiu-book-feature{grid-template-columns:1fr;gap:40px;}
  .capiu-tulio-grid{grid-template-columns:1fr;gap:40px;}
  .capiu-portrait{max-width:360px;}
  .capiu-cards{grid-template-columns:1fr 1fr;}
  .capiu-masonry{columns:3 190px;}
  .capiu-hero-photo{width:62%;}
  .capiu-dots{display:none;}
}

/* Menú móvil a partir de 1024 (tablet incluida) */
@media (max-width:1024px){
  .capiu-nav{display:none;}
  .capiu-toggle{display:flex;}
  .capiu-header{padding:10px 22px;}
  .capiu-header.is-stuck{padding:8px 22px;}
}

/* =========================================================
   18. RESPONSIVE — MÓVIL
   ========================================================= */
@media (max-width:767px){
  .capiu-section{padding:72px 0;}
  .capiu-wrap{padding:0 20px;}
  .capiu-section-head{margin-bottom:40px;}
  .capiu-hero{min-height:92svh;}
  .capiu-hero-inner{padding-bottom:8vh;}
  .capiu-hero-photo{width:100%;opacity:.28;-webkit-mask-image:none;mask-image:none;}
  .capiu-hero h1{font-size:clamp(32px,9vw,46px);}
  .capiu-hero-sub{font-size:15px;}
  .capiu-hero-cta{flex-direction:column;align-items:stretch;}
  .capiu-hero-cta .capiu-btn{justify-content:center;}
  .capiu-next .capiu-wrap{flex-direction:column;align-items:flex-start;gap:10px;}
  .capiu-next-txt{font-size:12.5px;line-height:1.5;}
  .capiu-formats{grid-template-columns:1fr;}
  .capiu-format-card{min-height:0;padding:28px 22px;}
  .capiu-format-card h3{margin-top:26px;}
  .capiu-video-grid{grid-template-columns:1fr;}
  .capiu-guests{grid-template-columns:1fr 1fr;gap:16px;}
  .capiu-g-initials{font-size:36px;}
  .capiu-guest-card h4{font-size:16px;}
  .capiu-g-quote{display:none;}
  .capiu-cards{grid-template-columns:1fr;}
  .capiu-masonry{columns:2 140px;column-gap:10px;}
  .capiu-m-item{margin-bottom:10px;}
  .capiu-lead::first-letter{font-size:56px;}
  .capiu-stats{grid-template-columns:1fr 1fr;}
  .capiu-stat{padding:22px 18px;}
  .capiu-stat-num{font-size:34px;}
  .capiu-text-row{grid-template-columns:1fr;gap:6px;padding:20px 0;}
  .capiu-text-row:hover{padding-left:0;}
  .capiu-text-row h4{font-size:17px;}
  .capiu-timeline-pin{height:auto;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:10px 0 46px;scroll-snap-type:x mandatory;}
  .capiu-timeline-track{gap:16px;padding:0 20px;}
  .capiu-tl-card{width:78vw;padding:28px 24px;scroll-snap-align:center;}
  .capiu-tl-card .yr{font-size:48px;}
  .capiu-tl-progress{display:none;}
  .capiu-book{width:200px;height:307px;}
  .capiu-contacto{padding:90px 0;}
  .capiu-newsletter{flex-direction:column;border:0;gap:10px;}
  .capiu-newsletter input{border:1px solid rgba(245,239,227,.5);border-radius:2px;}
  .capiu-newsletter button{padding:15px;border-radius:2px;}
  .capiu-float-cta{right:14px;bottom:14px;padding:13px 18px;font-size:11px;}
  .capiu-foot-grid,.capiu-foot-bottom{flex-direction:column;align-items:flex-start;}
  .capiu-modal{max-height:92vh;}
  .capiu-form{grid-template-columns:1fr;padding:20px 22px 10px;gap:14px;}
  .capiu-modal-head{padding:24px 22px 0;}
  .capiu-modal-head h3{font-size:21px;}
  .capiu-session-chip{margin:16px 22px 0;font-size:12.5px;}
  .capiu-modal .fineprint,.capiu-closed-state{padding-left:22px;padding-right:22px;}
  .capiu-form-msg{margin:0 22px;}
  .capiu-guests-more{flex-direction:column;align-items:flex-start;}
  .capiu-single-media--retrato{max-width:230px;margin-left:auto;margin-right:auto;}
  .capiu-single-media--ancho img{max-height:46vh;}
}

@media (max-width:400px){
  .capiu-guests{grid-template-columns:1fr;}
  .capiu-brand-sub{display:none;}
}
