/* ============================================================
   INDEX.CSS — Exclusivo para index.html (Versión optimizada)
   ============================================================ */

/* ─── 1. VARIABLES ─── */
:root {
  --gold: #d4af37;
  --dark-bg: #0b0b12;
  --black-cinematic: #050508;
  --bento-card-bg: #111116;
  --text-muted: #6b7280;
}

/* ─── 2. TIPOGRAFÍAS ─── */
.spec-body h3, .spec-body p, .texto-creadores, .blueprint-lead, .bento-card p,
.format-content p, .portal-tagline, .premium-quote, .journey-lead, .bridge-copy {
  font-family: 'Raleway', sans-serif;
}
.spec-number, .spec-value, .big-number, .badge-auth, .spec-label, .card-h,
.data-value, .badge-creadores, .valor-item p, .stat-meta, .stat-pill,
.media-brand, .footer-label, .brand-signature, .auth-tag, .eyebrow,
.cinematic-title, .press-eyebrow, .authority-title-editorial, .portal-year,
.production-title, .meta-num, .photo-tag, .btn-discover-decades, .format-tag,
.formatos-title, .btn-tech-primary, .btn-tech-secondary, .btn-cinematic-gold,
.btn-ev-outline, .btn-ph-outline, .btn-ph-gold, .et-year, .manifesto-author,
.credits-label, .spec-marker, .spec-title, .benefit-title, .gallery-main-title,
.display-reasoning, .blueprint-title, .concept-main-title, .concept-tag,
.intro-title, .intro-subtitle, .sec-label, .presenter-role, .badge-autor,
.badge-premium-gold, .btn-hero-primary, .btn-hero-secondary, .hero-eyebrow,
.hero-title, h1, h2, h3, h4, h5, h6 {
  font-family: "Oswald", sans-serif;
}

/* ─── 3. HELPERS Y UTILIDADES ─── */
.text-justify { text-align:justify; text-justify:inter-word; hyphens:auto; -webkit-hyphens:auto; -ms-hyphens:auto; }
.text-gold { color:var(--gold) !important; }
.gold, .gold-text { color:var(--gold) !important; }
.auth-divider { width:60px; height:3px; background:var(--gold); margin:30px auto; }
.mt-6 { margin-top:80px; }

/* ─── 4. COMPONENTES GLOBALES ─── */
/* 4.1 Botones */
.btn-tech-primary { background:var(--gold) !important; color:#000 !important; padding:18px 30px; font-weight:700; text-decoration:none; font-size:.9rem; display:block; text-align:center; margin-bottom:15px; transition:.3s; border:none; }
.btn-tech-secondary { border:2px solid #fff !important; color:#fff !important; padding:18px 30px; font-weight:700; text-decoration:none; font-size:.9rem; display:block; text-align:center; transition:.3s; background:transparent; }
.btn-tech-primary:hover { background:#fff !important; }
.btn-tech-secondary:hover { background:#fff !important; color:#000 !important; }

.btn-ev-outline { display:inline-flex; align-items:center; gap:15px; padding:18px 45px; border:1px solid rgba(212,175,55,.5); color:var(--gold); text-decoration:none; letter-spacing:2px; font-weight:700; transition:all .3s ease; }
.btn-ev-outline:hover { background:var(--gold); color:#000; box-shadow:0 0 30px rgba(212,175,55,.2); }

.btn-ph-outline { border:1px solid var(--gold); color:var(--gold); }
.btn-ph-gold { background:var(--gold); color:#000; }
.btn-ph-outline, .btn-ph-gold { padding:18px 40px; font-weight:700; text-decoration:none; letter-spacing:2px; font-size:.9rem; transition:.3s; }
.btn-ph-outline:hover { background:rgba(212,175,55,.1); transform:translateY(-3px); }
.btn-ph-gold:hover { background:#fff; transform:translateY(-3px); }

.btn-cinematic-gold { display:inline-block; padding:20px 45px; background:transparent; color:var(--gold); border:2px solid var(--gold); font-weight:700; text-decoration:none; letter-spacing:2px; transition:all .3s ease; }
.btn-cinematic-gold:hover { background:var(--gold); color:#000; box-shadow:0 0 30px rgba(212,175,55,.4); }

.btn-discover-decades { font-size:1.5rem; color:#fff !important; text-decoration:none !important; letter-spacing:4px; font-weight:800; transition:color .3s; }
.btn-discover-decades:hover { color:var(--gold) !important; }

/* 4.2 Badges */
.badge-autor { display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--gold); border:1px solid var(--gold); padding:.4rem 1.4rem; border-radius:30px; }
.badge-premium-gold { display:inline-block; padding:6px 20px; background:var(--gold); color:#000; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:2px; border-radius:4px; }
.badge-creadores { letter-spacing:3px; font-size:.85rem; font-weight:600; margin-bottom:15px; text-transform:uppercase; color:var(--gold); }
.badge-auth { font-size:10px; color:var(--gold); letter-spacing:2px; font-weight:600; margin-top:20px; opacity:0; transform:translateY(10px); transition:all .4s ease; }
.badge-tech { font-size:.7rem; letter-spacing:3px; font-weight:600; border:1px solid rgba(212,175,55,.3); padding:5px 12px; display:inline-block; margin-bottom:20px; color:var(--gold); }
.badge-trayectoria { display:inline-block; padding:6px 16px; background:#000; color:var(--gold); font-weight:800; font-size:.7rem; letter-spacing:2px; text-transform:uppercase; border-radius:4px; }
.badge-comercial { display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:2px; color:var(--gold); border:1px solid var(--gold); padding:5px 15px; border-radius:50px; }
.badge-premium { display:inline-block; padding:8px 18px; border:1px solid var(--gold); color:var(--gold); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:2px; border-radius:50px; }

/* 4.3 Otros componentes globales */
.sec-label { display:inline-flex; align-items:center; gap:14px; color:var(--gold); margin-bottom:12px; font-size:11px; letter-spacing:3.5px; font-weight:600; text-transform:uppercase; }
.sec-label::before { content:""; display:inline-block; width:24px; height:2px; background:var(--gold); border-radius:1px; }
.sec-label--centered { justify-content:center; }
.sec-label--centered::before { display:none; }
.sec-label--no-line::before { display:none; }

.auth-tag { letter-spacing:5px; font-size:.85rem; font-weight:700; display:block; margin-bottom:10px; color:var(--gold); }
.spec-line { flex-grow:1; height:1px; background:linear-gradient(90deg,var(--gold) 0%,transparent 100%); }
.stat-pill { display:inline-block !important; background:rgba(212,175,55,.1) !important; color:#fff !important; border:1px solid var(--gold) !important; padding:4px 12px !important; font-size:10px !important; font-weight:700; text-transform:uppercase; border-radius:4px; margin:2px; }
.media-brand { font-weight:600; letter-spacing:1px; display:inline-block; transition:all .3s ease; opacity:.7; cursor:default; text-transform:uppercase; color:#fff !important; font-size:1.4rem; text-shadow:0 0 15px rgba(255,255,255,.1); }
.media-brand:hover { opacity:1; color:var(--gold) !important; text-shadow:0 0 20px rgba(212,175,55,.4); transform:translateY(-3px); }

/* ─── 5. INTRO ─── */
.intro-guateque { background:#fff; color:#111; }
.intro-title { font-size:clamp(2.4rem,4vw,3.4rem); font-weight:700; line-height:1.1; color:var(--gold); margin-bottom:.5rem; text-shadow:none; }
.intro-subtitle { font-size:clamp(1.4rem,2.5vw,2rem); font-weight:500; line-height:1.3; color:#111; margin-bottom:1.5rem; }
.intro-text { text-align:justify; line-height:1.8; font-size:1.05rem; }
.intro-image { width:100%; }
.intro-image img { width:100%; height:auto; display:block; }

/* ─── 6. HERO ─── */
#hero-main.hero-simple::after { display:none !important; }

/* ─── 7. VIDEO SHOWCASE ─── */
#video-showcase { background:#0f0f1a; padding:100px 0; position:relative; overflow:hidden; }
#video-showcase .video-main-wrapper { max-width:1000px; margin:0 auto; position:relative; transition:transform .5s ease; }
#video-showcase .video-main-wrapper:hover { transform:scale(1.01); }
#video-showcase .video-container { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:4px; background:#000; box-shadow:0 25px 50px -12px rgba(0,0,0,.8); }
#video-showcase .video-container iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }
#video-showcase .text-center { max-width:1000px; margin:0 auto 3rem; }
#video-showcase .eyebrow { display:block; margin-bottom:.8rem; }
#video-showcase .cinematic-title { max-width:1000px; margin:0 auto 1.5rem; font-size:clamp(1.9rem,3vw,3rem); line-height:1.05; font-weight:700; letter-spacing:-.015em; text-align:center; text-wrap:balance; }
#video-showcase .cinematic-subtitle { max-width:1000px; margin:0 auto; font-size:1.15rem; line-height:1.9; color:rgba(255,255,255,.82); text-align:justify; text-wrap:pretty; }
#video-showcase .cinematic-video-wrapper { max-width:1000px; margin:3rem auto 0; }

.video-immersive-section { background-color:var(--black-cinematic); padding:120px 0; color:#fff !important; }
.eyebrow { color:var(--gold); letter-spacing:5px; font-size:.85rem; font-weight:600; display:block; margin-bottom:1rem; }
.cinematic-title { color:#fff; font-size:clamp(2.5rem,5vw,4.5rem); font-weight:800; text-transform:uppercase; line-height:1; margin-bottom:1.5rem; }
.cinematic-subtitle { color:rgba(255,255,255,.7); font-size:clamp(1.1rem,2vw,1.4rem); max-width:800px; margin:0 auto; }
.cinematic-video-wrapper { max-width:1100px; margin:60px auto 0; position:relative; z-index:10; }
.video-glow { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:110%; height:110%; background:radial-gradient(circle,rgba(212,175,55,.15) 0%,transparent 70%); z-index:-1; pointer-events:none; }
.video-frame { position:relative; aspect-ratio:16/9; background:#000; border-radius:8px; overflow:hidden; box-shadow:0 40px 100px rgba(0,0,0,.9); border:1px solid rgba(255,255,255,.1); }
.video-facade { position:absolute; inset:0; cursor:pointer; z-index:20; }
.facade-img { width:100%; height:100%; object-fit:cover; opacity:.6; transition:opacity .5s ease; }
.video-facade:hover .facade-img { opacity:.8; }
.play-button-wrapper { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:30; }
.play-button { width:90px; height:90px; background:var(--gold); border-radius:50%; display:flex; align-items:center; justify-content:center; color:#000; font-size:2.5rem; transition:all .4s cubic-bezier(.175,.885,.32,1.275); box-shadow:0 0 30px rgba(212,175,55,.5); }
.video-facade:hover .play-button { transform:scale(1.1); background:#fff; box-shadow:0 0 50px rgba(255,255,255,.4); }
.video-player-container, .video-player-container iframe { width:100%; height:100%; position:absolute; top:0; left:0; }

/* ─── 8. MASTER STATS ─── */
.guateque-master-stats { background-color:var(--black-cinematic) !important; padding:40px 0 !important; display:block !important; overflow:hidden !important; color:#fff !important; }
.guateque-master-stats .container > div { display:flex !important; flex-wrap:wrap !important; justify-content:center !important; align-items:center !important; gap:40px !important; padding:5px 0 !important; border-top:1px solid rgba(212,175,55,.2) !important; border-bottom:1px solid rgba(212,175,55,.2) !important; text-align:center !important; }
.guateque-master-stats .container > div > div { display:flex; flex-direction:column; gap:8px; }
.guateque-master-stats .container > div > div span:first-child { font-size:clamp(3rem,6vw,5rem); font-weight:800; line-height:.9; color:var(--gold); }
.guateque-master-stats .container > div > div span:last-child { font-size:.82rem; letter-spacing:.22em; text-transform:uppercase; color:#fff; }

/* ─── 9. CONCEPTO DARK ─── */
.concepto-dark-editorial { background-color:var(--dark-bg) !important; padding:100px 0; color:#fff !important; overflow:hidden; }
.concept-tag { letter-spacing:5px; font-size:.8rem; font-weight:700; display:block; margin-bottom:15px; color:var(--gold) !important; }
.concept-main-title { font-size:clamp(2.5rem,5vw,4rem); font-weight:700; color:#fff !important; line-height:1; margin-bottom:25px; text-transform:uppercase; }
.concept-lead { font-size:1.25rem; color:rgba(255,255,255,.85) !important; max-width:800px; margin:0 auto 50px; line-height:1.6; }
.concepto-dark-editorial .specs-grid { display:flex; flex-direction:column; gap:45px; }
.spec-header { display:flex; align-items:center; gap:20px; margin-bottom:12px; }
.spec-number { font-size:2rem; font-weight:800; color:var(--gold) !important; }
.spec-body h3 { font-size:1.6rem !important; font-weight:700 !important; color:#fff !important; margin-bottom:12px; letter-spacing:1px; text-transform:uppercase; }
.spec-body p { font-size:1.05rem; line-height:1.7; color:rgba(255,255,255,.75) !important; margin:0; }

/* ─── 10. BLUEPRINT ─── */
.guateque-blueprint-section { background-color:#08080a !important; padding:100px 0; color:#fff !important; border-top:1px solid rgba(212,175,55,.15); }
.blueprint-title { font-size:clamp(2.2rem,4vw,3.5rem); font-weight:700; line-height:1.1; margin-bottom:30px; text-transform:uppercase; color:#fff !important; }
.blueprint-lead { font-size:1.15rem; line-height:1.7; color:rgba(255,255,255,.9) !important; text-align:justify; text-justify:inter-word; hyphens:auto; margin-bottom:40px; }
.blueprint-specs { border-top:1px solid rgba(255,255,255,.1); }
.spec-line-item { display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:.9rem; }
.spec-label { color:rgba(255,255,255,.5) !important; text-transform:uppercase; letter-spacing:2px; font-size:.8rem; }
.spec-value { color:var(--gold) !important; font-weight:600; }

.bento-modern-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.bento-card { background:var(--bento-card-bg) !important; border:1px solid rgba(212,175,55,.2) !important; padding:30px; position:relative; transition:all .4s ease; border-radius:8px; }
.bento-hero { grid-column:span 2; background:linear-gradient(135deg,#111116 0%,#1a1a24 100%); }
.bento-full { grid-column:span 2; }
.card-inner { position:relative; z-index:2; }
.tech-icon { font-size:1.5rem; color:var(--gold); margin-bottom:20px; opacity:.8; }
.data-value { font-size:3.5rem; font-weight:700; line-height:1; color:var(--gold) !important; display:block; margin-bottom:10px; }
.card-h { font-size:1.2rem; text-transform:uppercase; letter-spacing:1px; margin-bottom:15px; color:#fff !important; }
.bento-card p { font-size:.95rem; line-height:1.5; color:rgba(255,255,255,.9) !important; text-align:justify; text-justify:inter-word; hyphens:auto; }
.bento-card:hover { border-color:var(--gold) !important; background:#16161d !important; transform:translateY(-5px); }

/* ─── 11. CREADORES ─── */
.section-creadores-premium { background-color:var(--dark-bg) !important; padding:100px 0; color:#fff !important; }
.texto-creadores { max-width:1220px; margin:0 auto; font-size:1.1rem; line-height:1.85; color:rgba(255,255,255,.82); text-align:justify; text-wrap:pretty; }
.card-creador { position:relative; overflow:hidden; border-radius:4px; background:#000; }
.img-creador { width:100%; height:auto; display:block; transition:transform .6s ease; opacity:.8; }
.card-creador:hover .img-creador { transform:scale(1.05); opacity:1; }
.info-creador-overlay { position:absolute; bottom:0; left:0; width:100%; padding:30px; background:linear-gradient(to top,rgba(212,175,55,.96) 0%,rgba(212,175,55,.82) 45%,rgba(212,175,55,0) 100%); }
.role-creador { color:var(--gold); font-size:.9rem; letter-spacing:2px; margin:0; }

.valor-item i { font-size:1.8rem; color:var(--gold) !important; margin-bottom:10px; display:block; }
.valor-item p { font-size:.9rem; letter-spacing:1px; color:#fff; text-transform:uppercase; margin:0; }
.border-top-gold { border-top:1px solid rgba(212,175,55,.3) !important; }

/* ─── 12. AUTORIDAD ─── */
.authority-wall { background-color:var(--dark-bg) !important; padding:100px 0; border-top:1px solid rgba(212,175,55,.2); }
.auth-title { color:#fff; font-size:clamp(2rem,4vw,3rem); font-weight:700; text-transform:uppercase; margin-bottom:30px; }

.logo-mosaic { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:30px; align-items:center; }
.logo-item { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.05); padding:40px 20px; border-radius:12px; text-decoration:none; display:flex; flex-direction:column; align-items:center; justify-content:center; transition:all .4s cubic-bezier(.165,.84,.44,1); position:relative; overflow:hidden; }
.brand-logo { max-width:150px; max-height:70px; width:auto; height:auto; object-fit:contain; display:block; filter:none !important; opacity:1 !important; transition:transform .4s ease; }
.logo-item:hover .brand-logo { transform:scale(1.05); }
.logo-item:hover .badge-auth { opacity:1; transform:translateY(0); }

.logo-grid-row { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.logo-grid-row .logo-item { height:200px; padding:20px; border-radius:4px; }
.brand-logo.horizontal { max-width:180px; max-height:80px; }
.brand-logo.vertical { max-height:100px; }
.logo-grid-row .logo-item:hover .badge-auth { opacity:.6; }

.section-press-dark { background-color:var(--black-cinematic) !important; padding:100px 0; border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); }
.press-eyebrow { font-size:.8rem; font-weight:700; letter-spacing:5px; text-transform:uppercase; margin:0; color:var(--gold); }
.authority-title-editorial { color:#fff; font-weight:700; font-size:clamp(1.4rem,2.5vw,2.2rem); line-height:1.3; max-width:900px; margin:0 auto; }
.press-horizontal-list { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 30px; max-width:1200px; margin:0 auto; }
.press-horizontal-list .media-brand { font-size:1.3rem; opacity:.7; white-space:nowrap; }
.press-horizontal-list .media-brand:hover { opacity:1; color:var(--gold) !important; }

/* ─── 13. GALERÍA ─── */
.galeria-section { padding:100px 0; background-color:var(--white); }
.galeria-section-dark { padding:100px 0; background-color:var(--black-cinematic); border-top:1px solid rgba(255,255,255,.05); }
.guateque-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; margin-top:40px; grid-auto-flow:dense; }
.galeria-section .guateque-grid { grid-auto-rows:220px; }
.galeria-section-dark .guateque-grid { grid-auto-rows:240px; }
.grid-item { position:relative; overflow:hidden; border-radius:12px; background-color:var(--white); box-shadow:0 10px 30px rgba(0,0,0,.08); }
.galeria-section-dark .grid-item { border-radius:4px; background-color:#111; border:1px solid rgba(255,255,255,.1); }
.grid-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.25,1,.5,1); }
.galeria-section-dark .grid-item img { opacity:.85; transition:all .6s cubic-bezier(.25,1,.5,1); }
.grid-item:hover img { transform:scale(1.08); }
.galeria-section-dark .grid-item:hover img { transform:scale(1.1); opacity:1; filter:contrast(1.1); }
.galeria-section-dark .grid-item::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 40%); opacity:0; transition:opacity .4s ease; }
.galeria-section-dark .grid-item:hover::after { opacity:1; }
.grid-item.large { grid-column:span 2; grid-row:span 2; }
.grid-item.tall { grid-row:span 2; }
.grid-item.wide { grid-column:span 2; }

/* ─── 14. TIMELINE ─── */
.section-timeline-premium { background-color:var(--black-cinematic) !important; padding:100px 0; color:#fff; }
.timeline-main-title { color:#fff !important; font-weight:700; text-transform:uppercase; }
.timeline-lead { color:#fff !important; font-weight:500; opacity:1 !important; }
.timeline-portals-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:15px; margin-top:60px; }
.portal-card { position:relative; height:550px; overflow:hidden; border-radius:4px; background:#000; border:1px solid rgba(255,255,255,.2); transition:all .4s ease; }
.portal-card:hover { border-color:var(--gold); transform:translateY(-5px); box-shadow:0 15px 40px rgba(0,0,0,.5); }
.portal-img { width:100%; height:100%; object-fit:cover; opacity:1 !important; filter:none !important; transition:transform .8s ease; }
.portal-card:hover .portal-img { transform:scale(1.05); }
.portal-overlay { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:30px 20px; background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 30%) !important; z-index:10; }
.portal-year { display:block; font-size:4.5rem; font-weight:700; color:#fff !important; line-height:1; margin-bottom:5px; text-shadow:2px 2px 15px rgba(0,0,0,.7); transition:all .4s ease; }
.portal-card:hover .portal-year { color:var(--gold) !important; text-shadow:0 0 20px rgba(212,175,55,.5); }
.portal-tagline { font-size:1.05rem; color:#fff !important; font-weight:700; line-height:1.3; margin:0; text-shadow:1px 1px 10px rgba(0,0,0,.8); opacity:1 !important; }

/* ─── 15. JOURNEY ─── */
.section-journey-dark { background-color:var(--black-cinematic) !important; padding:100px 0 !important; color:#fff !important; display:block !important; border-top:1px solid rgba(255,255,255,.05); }
.journey-badge { letter-spacing:5px; font-size:.8rem; font-weight:700; display:block; margin-bottom:25px; color:var(--gold); }
.journey-title { font-size:clamp(2.2rem,5vw,3.8rem) !important; font-weight:700 !important; line-height:1.1; text-transform:uppercase !important; color:#fff !important; margin-bottom:30px !important; }
.journey-lead { font-size:1.2rem !important; line-height:1.8 !important; max-width:850px; color:#fff !important; text-align:justify !important; }
.journey-grid-fixed { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:350px; gap:20px; margin-top:60px; width:100%; }
.journey-card { position:relative; overflow:hidden; border-radius:4px; background:#000; border:1px solid rgba(255,255,255,.15); }
.item-main { grid-column:span 7; }
.item-side { grid-column:span 5; }
.item-full { grid-column:span 12; }
.img-render { width:100% !important; height:100% !important; object-fit:cover !important; opacity:.45 !important; transition:all .8s ease; }
.journey-card:hover .img-render { opacity:.7 !important; transform:scale(1.03); }
.journey-overlay { position:absolute; bottom:0; left:0; width:100%; padding:40px; background:linear-gradient(to top,rgba(0,0,0,1) 0%,rgba(0,0,0,.6) 50%,transparent 100%); z-index:10; }
.journey-overlay h3 { color:#fff !important; font-size:1.8rem !important; font-weight:700 !important; text-transform:uppercase !important; margin:10px 0 0 0 !important; }
.caption-tag { color:var(--gold) !important; font-size:.8rem !important; letter-spacing:3px !important; font-weight:700 !important; }
.bridge-line { width:2px; height:100px; background:linear-gradient(to bottom,var(--gold),transparent); margin:0 auto 30px; }
.bridge-text { color:#fff !important; font-size:1.2rem !important; margin-bottom:20px; }
.btn-journey-start { color:#fff !important; font-size:1.5rem !important; text-decoration:none !important; letter-spacing:4px !important; font-weight:800 !important; }
.btn-journey-start:hover { color:var(--gold) !important; }

/* ─── 16. CELEBRACIONES ─── */
.celebraciones-premium { background-color:var(--dark-bg); padding:120px 0; color:#fff; border-top:1px solid rgba(255,255,255,.05); }
.formatos-title { font-size:clamp(2.2rem,5vw,3.5rem); font-weight:700; line-height:1.1; text-transform:uppercase; margin:20px 0; }
.formatos-lead { font-size:1.2rem; color:rgba(255,255,255,.7); line-height:1.7; }
.bento-formatos-grid { display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows:300px; gap:20px; }
.bento-item { position:relative; overflow:hidden; border-radius:8px; }
.item-large { grid-row:span 2; }
.item-wide { grid-column:span 2; }
.format-card { position:relative; width:100%; height:100%; background:#000; cursor:pointer; }
.format-img { width:100%; height:100%; object-fit:cover; opacity:.6; transition:all .7s cubic-bezier(.25,1,.3,1); }
.format-card:hover .format-img { transform:scale(1.08); opacity:.8; filter:contrast(1.1); }
.format-overlay { position:absolute; inset:0; padding:35px; background:linear-gradient(to top,rgba(0,0,0,.9) 0%,transparent 60%); display:flex; flex-direction:column; justify-content:flex-end; }
.format-content h3 { font-size:1.8rem; font-weight:700; margin-bottom:10px; color:#fff; text-transform:uppercase; }
.format-card:hover h3 { color:var(--gold); }
.format-content p { font-size:.95rem; line-height:1.5; color:rgba(255,255,255,.8); margin-bottom:20px; max-width:90%; text-align:justify; }
.format-tag { font-size:.75rem; letter-spacing:2px; color:var(--gold); text-transform:uppercase; border:1px solid var(--gold); padding:4px 12px; border-radius:2px; width:fit-content; }
.cta-question { color:rgba(255,255,255,.6); letter-spacing:1px; margin-bottom:20px; }

/* ─── 17. DÉCADAS / GUATECADAS ─── */
.py-decadas { padding:5rem 0; }
.lead-guatecada { font-size:1.25rem; line-height:1.4; max-width:800px; margin-left:auto; margin-right:auto; }
#decadas .col-12 { padding-left:calc(var(--bs-gutter-x)*.5); padding-right:calc(var(--bs-gutter-x)*.5); }
#decadas .lead-guatecada, #decadas .texto-decada { max-width:100% !important; margin-left:0 !important; margin-right:0 !important; text-align:justify; text-justify:inter-word; font-size:clamp(1rem,1.1vw+.4rem,1.2rem); line-height:1.9; color:rgba(255,255,255,.85); }
#decadas .lead-guatecada { margin-bottom:1.2rem !important; font-weight:500; }
#decadas .texto-decada { margin-bottom:0; }

.decade-card-premium { display:block; text-decoration:none; color:inherit; transition:transform .4s cubic-bezier(.165,.84,.44,1); outline:none; }
.decade-card-premium:hover { transform:translateY(-12px); color:inherit; }
.card-visual-wrapper { position:relative; border-radius:12px; overflow:hidden; background-color:#1a1a1a; aspect-ratio:9/16; box-shadow:0 10px 30px rgba(0,0,0,.1); }
.card-visual-wrapper img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease,opacity .4s ease; }
.decade-card-premium:hover .card-visual-wrapper img { transform:scale(1.1); opacity:.5; }
.card-hover-overlay { position:absolute; top:0; left:0; width:100%; height:100%; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .4s ease; background:radial-gradient(circle,rgba(0,0,0,.2) 0%,rgba(0,0,0,.6) 100%); }
.decade-card-premium:hover .card-hover-overlay { opacity:1; }
.btn-card-action { padding:10px 24px; background-color:var(--gold); color:#000; font-size:.8rem; font-weight:700; border-radius:50px; text-transform:uppercase; letter-spacing:1px; box-shadow:0 4px 15px rgba(0,0,0,.3); }
.card-info-box { padding:1.5rem .5rem; text-align:center; }
.card-info-box h3 { font-weight:800; margin-bottom:.3rem; font-size:1.5rem; color:#111; transition:color .3s ease; }
.decade-card-premium:hover .card-info-box h3 { color:var(--gold); }
.genre-tag { font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:1.5px; color:var(--gold); margin-bottom:.6rem; }
.tagline { font-size:.85rem; color:#666; margin:0; font-style:italic; }

/* ─── 18. FOOTER ─── */
#footer { border-top:1px solid rgba(255,255,255,.08); background:#08080A; }
.footer-social-clean { display:flex; justify-content:center; gap:26px; }
.footer-social-clean a { color:#b8b8b8; font-size:1.35rem; transition:.3s; }
.footer-social-clean a:hover { color:#fff; transform:translateY(-2px); }
.footer-links { display:flex; justify-content:center; flex-wrap:wrap; gap:28px; }
.footer-links a { color:#9f9f9f; text-decoration:none; font-size:.9rem; transition:.3s; }
.footer-links a:hover { color:#fff; }
.footer-copy { color:#777; font-size:.82rem; }

.footer-logo { width:100%; display:flex; justify-content:center; align-items:center; margin:0 auto 60px; }
.footer-logo img { display:block; width:200px; max-width:100%; height:auto; }

.authority-logos { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:4rem; }
.authority-logos .brand-logo { display:block; max-height:85px; max-width:190px; width:auto; height:auto; object-fit:contain; opacity:1; filter:none; transition:transform .3s ease; }
.authority-logos .brand-logo:hover { transform:scale(1.06); }

.authority-title { color:#fff; font-weight:700; font-size:clamp(1.4rem,2.5vw,2.2rem); line-height:1.3; margin:0 auto; max-width:1000px; text-align:center; word-break:break-word; }

.footer-final-frame { background-color:#000 !important; color:#fff !important; padding:80px 0 40px !important; border-top:1px solid rgba(212,175,55,.2) !important; display:block !important; }
.brand-signature { font-size:1.8rem !important; font-weight:700 !important; letter-spacing:3px !important; color:var(--gold) !important; text-transform:uppercase; }
.social-links-minimal a { color:var(--gold) !important; font-size:1.5rem !important; margin:0 15px !important; transition:transform .3s ease,color .3s ease !important; display:inline-block !important; }
.social-links-minimal a:hover { color:#fff !important; transform:translateY(-3px) !important; }
.legal-nav a { color:var(--gold) !important; text-decoration:none !important; font-size:.85rem !important; margin:0 12px !important; text-transform:uppercase !important; letter-spacing:1px !important; transition:color .3s ease !important; }
.legal-nav a:hover { color:#fff !important; text-decoration:underline !important; }
.author-claim, .legal-info { color:rgba(255,255,255,.6) !important; }
.footer-label { color:rgba(255,255,255,.4) !important; letter-spacing:3px !important; }

/* ─── 19. RESPONSIVE ─── */
@media (max-width:991px) {
  .section-premium-dark { padding:80px 0; }
  .section-creadores-final { padding-top:80px; }
  .section-creadores-final .texto-presentacion { text-align:left; padding-left:0; margin-top:20px; }
  .section-creadores-final .display-4 { font-size:2.8rem; }
  .bento-grid { grid-template-columns:1fr; }
  .bento-main, .bento-wide { grid-column:span 1; }
  .py-decadas { padding:4rem 0; }
  .decade-card-premium .card-info-box h3 { font-size:1.25rem; }
  .decade-card-premium .genre-tag { font-size:.6rem; letter-spacing:1px; }
  .guateque-grid { grid-template-columns:repeat(2,1fr); }
  .guateque-grid .grid-item.large { grid-column:span 2; grid-row:span 2; }
  .guateque-grid .grid-item.tall { grid-row:span 2; }
  .guateque-grid .grid-item.wide { grid-column:span 2; }
  .galeria-section .guateque-grid { grid-auto-rows:200px; }
  .galeria-section-dark .guateque-grid { grid-auto-rows:200px; }
  .logo-grid-row { grid-template-columns:repeat(2,1fr); }
  .section-evidence-dark .ev-large, .section-evidence-dark .ev-mid, .section-evidence-dark .ev-small { grid-column:span 12; height:300px; }
  .journey-grid-fixed { grid-template-columns:1fr; grid-auto-rows:300px; }
  .journey-grid-fixed .item-main, .journey-grid-fixed .item-side, .journey-grid-fixed .item-full { grid-column:span 1; }
  .journey-lead { text-align:left !important; }
  .bento-formatos-grid { grid-template-columns:repeat(2,1fr); }
  .bento-formatos-grid .item-wide { grid-column:span 2; }
  .timeline-portals-grid { grid-template-columns:repeat(2,1fr); }
  .timeline-portals-grid .portal-card:last-child { grid-column:span 2; }
  .timeline-portals-grid .portal-card { height:400px; }
  .portal-year { font-size:3.5rem; }
  .authority-logos { gap:2.5rem; }
  .authority-logos .brand-logo { max-height:70px; max-width:160px; }
}

@media (max-width:768px) {
  .intro-guateque { padding-top:45px !important; padding-bottom:45px !important; }
  .intro-title { font-size:2.2rem; text-align:center; }
  .intro-subtitle { font-size:1.35rem; text-align:center; }
  .intro-text { text-align:justify; text-justify:inter-word; font-size:1rem; line-height:1.75; }
  .intro-text p { margin-bottom:1.2rem; }
  .intro-image { margin-top:25px; }
  #video-showcase { padding:60px 0; }
  #video-showcase .video-main-wrapper { padding:0 15px; }
  .funfacts-section { padding:50px 0 !important; }
  .funfacts-section .fact-visual-box { margin-bottom:20px; }
  .funfacts-section .fact-label-group span:first-child { font-size:11px !important; letter-spacing:2px !important; }
  .section-evidence-dark .ev-large, .section-evidence-dark .ev-mid, .section-evidence-dark .ev-small { grid-column:span 12; height:300px; }
  .section-formatos { padding:60px 0; }
  .section-formatos .display-5 { font-size:2.2rem; }
  .section-contacto-dark { padding-top:80px; padding-bottom:40px !important; }
  .section-contacto-dark .display-4 { font-size:2.2rem; }
  .bento-formatos-grid { grid-template-columns:1fr; grid-auto-rows:350px; }
  .bento-formatos-grid .item-large, .bento-formatos-grid .item-wide { grid-row:span 1; grid-column:span 1; }
  .formatos-title { font-size:2.2rem; }
  .format-content p { text-align:left; }
  #decadas .lead-guatecada, #decadas .texto-decada { font-size:1rem; line-height:1.8; text-align:left; }
  .footer-final-frame { padding:50px 0 30px !important; }
  .legal-nav { display:flex; flex-direction:column; gap:10px; margin-top:20px !important; }
  .legal-nav a { margin:0 !important; }
  .section-press-dark { padding:60px 0; }
  .section-press-dark .media-brand { font-size:1.1rem; }
  .authority-title-editorial { font-size:1.3rem; }
  .press-horizontal-list .media-brand { font-size:1rem; }
  .press-horizontal-list { gap:15px 30px; }
  .section-creadores-premium { padding:60px 0; }
  .section-creadores-premium .display-4 { font-size:2.2rem; }
  .valor-item p { font-size:.75rem; }
}

@media (max-width:576px) {
  .intro-title { font-size:2rem; }
  .intro-subtitle { font-size:1.2rem; }
  .intro-text { font-size:.95rem; }
  .guateque-grid { grid-template-columns:1fr; grid-auto-rows:250px; }
  .guateque-grid .grid-item.large, .guateque-grid .grid-item.tall, .guateque-grid .grid-item.wide { grid-column:span 1; grid-row:span 1; }
  .galeria-section .guateque-grid { grid-auto-rows:250px; }
  .galeria-section-dark .guateque-grid { grid-auto-rows:280px; }
  .logo-grid-row { grid-template-columns:1fr; }
  .logo-grid-row .logo-item { height:160px; }
  .bento-modern-grid { grid-template-columns:1fr; }
  .bento-modern-grid .bento-hero, .bento-modern-grid .bento-full { grid-column:span 1; }
  .bento-modern-grid .text-justify, .bento-modern-grid .blueprint-lead, .bento-modern-grid .bento-card p { text-align:left !important; }
  .celebraciones-premium .bento-formatos-grid { grid-template-columns:1fr; }
  .section-timeline-premium .timeline-portals-grid { grid-template-columns:1fr; }
  .section-timeline-premium .timeline-portals-grid .portal-card:last-child { grid-column:span 1; }
  .section-timeline-premium .portal-card { height:400px; }
  .section-master-production .production-grid .p-main, .section-master-production .production-grid .p-side, .section-master-production .production-grid .p-full { grid-column:span 1; }
  .authority-logos { gap:2rem; }
  .authority-logos .brand-logo { max-height:55px; max-width:130px; }
}

@media (max-width:1100px) {
  .bento-formatos-grid { grid-template-columns:repeat(2,1fr); }
  .bento-formatos-grid .item-wide { grid-column:span 2; }
}
@media (max-width:991px) {
  .bento-formatos-grid .item-wide { grid-column:span 1; }
}
@media (max-width:991px) {
  .section-evidence-dark .ev-large, .section-evidence-dark .ev-mid, .section-evidence-dark .ev-small { grid-column:span 12; height:300px; }
}
@media (max-width:576px) {
  .gallery-main-title { font-size:1.8rem; }
  .gallery-subtitle { font-size:1rem; }
  .gallery-transition-phrase { font-size:1.1rem; }
}

.footer-final-frame .footer-logo { margin:0 auto 60px; }
.display-reasoning { font-size:clamp(2.5rem,5vw,3.8rem); font-weight:700; line-height:1.1; text-transform:uppercase; letter-spacing:-1px; }
#hero-main.hero-simple::after { display:none !important; }