/* PALETA-2027 · tokens v1.1 */
:root {
  /* Blanco dominante y neutros fríos */
  --p27-blanco:      #FFFFFF;
  --p27-gris:        #F7F8FA;   /* banda alterna · nunca más oscura que esto como fondo de sección */
  --p27-gris-2:      #EEF1F5;   /* campos, separadores gruesos */
  --p27-linea:       rgba(20, 33, 61, 0.10);
  --p27-tinta:       #14213D;   /* titulares y texto principal · 15,97:1 */
  --p27-tinta-2:     #4A5568;   /* texto secundario · 7,53:1 */
  --p27-tinta-3:     #6B7280;   /* notas, metadatos · 4,83:1 (no sobre tintes) */

  /* 1 · Luminous Blue · color principal y de acción */
  --p27-azul:        #3977D5;
  --p27-azul-texto:  #3574D4;
  --p27-azul-hondo:  #2E60AD;   /* también hover de botón */
  --p27-azul-tinte:  #EBF1FB;
  --p27-azul-suave:  #D3E1F6;

  /* 2 · Energy Orange */
  --p27-naranja:        #E97926;
  --p27-naranja-texto:  #BC5B13;
  --p27-naranja-hondo:  #9C5119;
  --p27-naranja-tinte:  #FDF2E9;
  --p27-naranja-suave:  #FAE2CF;

  /* 3 · Pop Pink */
  --p27-rosa:        #E65B9B;
  --p27-rosa-texto:  #DE2479;
  --p27-rosa-hondo:  #A3416E;
  --p27-rosa-tinte:  #FCEFF5;
  --p27-rosa-suave:  #FADBE9;

  /* 4 · Meadowland Green */
  --p27-verde:        #7D9867;
  --p27-verde-texto:  #667D54;
  --p27-verde-hondo:  #576A48;
  --p27-verde-tinte:  #F2F5F0;
  --p27-verde-suave:  #E2E8DE;

  /* 5 · Clay */
  --p27-arcilla:        #BB887B;
  --p27-arcilla-texto:  #A66655;
  --p27-arcilla-hondo:  #815E55;
  --p27-arcilla-tinte:  #F8F3F2;
  --p27-arcilla-suave:  #F0E5E2;

  /* Logo Rinsa en la cabecera de una web: la mitad del mínimo general */
  --p27-logo-web:       24px;

  /* Roles (lo que consume el CSS de la web) */
  --p27-fondo:          var(--p27-blanco);
  --p27-accion:         var(--p27-azul-texto);   /* botón primario: texto blanco 4,56:1 */
  --p27-accion-hover:   var(--p27-azul-hondo);
  --p27-enlace:         var(--p27-azul-texto);
  --p27-foco:           rgba(57, 119, 213, 0.45);
  --p27-sombra-1:       0 1px 2px rgba(20,33,61,.04), 0 8px 24px rgba(20,33,61,.05);
  --p27-sombra-2:       0 2px 6px rgba(20,33,61,.05), 0 24px 64px rgba(20,33,61,.09);
}

:root{--f-display:"Plus Jakarta Sans",Inter,"Helvetica Neue",Arial,sans-serif;--f-body:Inter,"Helvetica Neue",Arial,sans-serif;--wrap:1160px;--gutter:clamp(16px,4vw,48px);--r-card:20px;--r-pill:999px;--ease:cubic-bezier(.16,1,.3,1);--rinsa-rojo:#B01C2E;--rinsa-navy:#14213D}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--p27-blanco);color:var(--p27-tinta);font:400 1.0625rem/1.65 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--f-display);font-weight:800;line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0}
a{color:var(--p27-enlace)}
img,svg{display:block}
.wrap{width:min(var(--wrap),100% - 2*var(--gutter));margin-inline:auto}
.skip{position:absolute;left:-999px}
.skip:focus{left:12px;top:12px;z-index:50;background:var(--p27-blanco);padding:8px 14px}
:focus-visible{outline:3px solid var(--p27-foco);outline-offset:2px}

.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--p27-linea)}
.nav__in{display:flex;align-items:center;gap:24px;min-height:68px}
.nav__marca{font:800 19px var(--f-display);color:var(--p27-tinta);text-decoration:none;}
.nav__marca b{color:var(--p27-rosa-texto)}
.nav__links{display:flex;gap:28px;margin-left:auto}
.nav__links a{color:var(--p27-tinta-2);text-decoration:none;font-weight:500;font-size:15px}
.nav__links a:hover{color:var(--p27-accion)}
.nav__rinsa{margin-left:12px}
.nav__rinsa img{height:var(--p27-logo-web);width:auto}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--r-pill);border:1px solid transparent;background:var(--p27-accion);color:#fff;font:600 1rem/1 var(--f-body);text-decoration:none;white-space:nowrap;transition:background-color .18s ease,transform .16s var(--ease)}
.btn:hover{background:var(--p27-accion-hover)}
.btn:active{transform:scale(.97)}
.btn--linea{color:var(--p27-azul-hondo);border-color:var(--p27-azul-suave);background:var(--p27-blanco)}
.btn--linea:hover{background:var(--p27-azul-tinte)}
.btn--ancho{display:flex;width:100%}

.hero{padding:clamp(56px,9vw,112px) 0 clamp(56px,8vw,96px);overflow:hidden}
.hero__in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,6vw,80px);align-items:center}
.hero__in>*{min-width:0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 .82rem/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--p27-azul-hondo)}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--p27-azul);border-radius:2px}
.hero h1{margin-top:20px;font-size:clamp(2.4rem,5.4vw,4.25rem);line-height:1.04}
.hero h1 em{font-style:normal;color:var(--p27-azul-texto)}
.hero__sub{margin:22px 0 34px;max-width:46ch;font-size:clamp(1.08rem,1.6vw,1.25rem);color:var(--p27-tinta-2)}
.hero__facts{margin-top:40px;padding-top:28px;border-top:1px solid var(--p27-linea);display:flex;flex-wrap:wrap;gap:28px 40px}
.fact b{display:block;font:800 1.7rem/1 var(--f-display);color:var(--p27-tinta)}
.fact span{font-size:.9rem;color:var(--p27-tinta-3)}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px}
.hero__red svg{width:100%;height:auto;max-width:500px;margin:0 auto;overflow:visible}
.lineas line{stroke:var(--p27-linea);stroke-width:1.5}
.nodo{animation:latir 3.6s ease-in-out infinite}
.nodo text{font:800 25px var(--f-display);text-anchor:middle}
.pulso{animation:viajar 3.85s ease-in-out infinite;opacity:0}
@keyframes latir{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes viajar{0%{transform:translate(0,0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translate(var(--dx),var(--dy));opacity:0}}


.seccion{padding:clamp(64px,9vw,112px) 0}
.seccion--gris{background:var(--p27-gris)}
.cab{max-width:680px;margin-bottom:clamp(32px,5vw,56px)}
.cab__ante{display:inline-flex;align-items:center;gap:10px;font:600 .82rem/1 var(--f-body);letter-spacing:.08em;text-transform:uppercase;color:var(--p27-azul-hondo)}
.cab__ante::before{content:"";width:28px;height:2px;background:var(--p27-azul);border-radius:2px}
.cab h2{margin:14px 0 16px;font-size:clamp(1.9rem,3.6vw,2.75rem);line-height:1.1}
.cab p:last-child{color:var(--p27-tinta-2);font-size:1.1rem}
.nota{margin-top:24px;color:var(--p27-tinta-2);font-size:15px}

.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.trio__c{background:var(--c);border-radius:var(--r-card);padding:28px}
.trio__c h2{font-size:1.5rem;color:var(--t);margin-bottom:10px}

.dias{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.dia{background:#fff;border-radius:var(--r-card);padding:16px;border:1px solid var(--p27-linea);display:flex;flex-direction:column;gap:10px}
.dia header{display:flex;align-items:center;gap:10px}
.dia header b{font:800 40px/1 var(--f-display)}
.dia header span{font-weight:600;font-size:15px;line-height:1.2}
.dia header small{display:block;font-weight:400;color:var(--p27-tinta-2);font-size:13px}
.dia--pausa{background:transparent;border-style:dashed}
.dia__pausa{color:var(--p27-tinta-2);font-size:15px;margin:auto 0}
.bloque{position:relative;display:block;flex:1;background:var(--pc);color:var(--pt);border-radius:16px;padding:14px;min-height:118px;text-decoration:none;transition:transform .15s}
.bloque:hover{transform:translateY(-3px)}
.bloque__t{display:block;font-size:13px;font-weight:600}
.bloque strong{display:block;font:800 20px/1.15 var(--f-display);margin-top:4px}
.bloque__x{display:block;font-size:13px;margin-top:6px;line-height:1.3}
.bloque .bandera{position:absolute;right:12px;bottom:12px;width:30px;border-radius:4px;box-shadow:0 0 0 1.5px rgba(255,255,255,.7)}
.bloque--after{background:var(--p27-rosa-tinte);color:var(--p27-rosa-hondo)}

.sellos{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.sello{position:relative;aspect-ratio:1;border:0;border-radius:50%;background:var(--p27-gris);color:var(--p27-tinta-2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font:inherit;box-shadow:inset 0 0 0 3px var(--pc);transition:transform .2s,background .2s,color .2s;padding:6px}
.sello:hover{transform:rotate(-5deg) scale(1.05)}
.sello[aria-pressed="true"]{background:var(--pc);color:var(--pt);transform:rotate(-7deg) scale(1.03)}
.sello .bandera{width:34%;border-radius:3px;box-shadow:0 0 0 1px var(--p27-linea)}
.sello__n{font:800 13px var(--f-display)}
.sello__p{font-weight:700;font-size:13px;line-height:1.1;text-align:center}
.logro{margin-top:28px;display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:center;background:var(--p27-azul-tinte);border-radius:var(--r-card);padding:26px 30px;transition:background .3s}
.logro--ok{background:var(--p27-naranja-suave)}
.logro__cuenta{font-size:16px;margin-bottom:8px}
.logro__cuenta b{font:800 34px var(--f-display)}
.barra{height:10px;background:#fff;border-radius:999px;overflow:hidden}
.barra i{display:block;height:100%;width:0;background:var(--p27-azul-texto);transition:width .3s}
.logro__txt h3{font-size:24px;margin-bottom:4px}

.after{display:grid;grid-template-columns:1.25fr .75fr;border-radius:28px;overflow:hidden;background:var(--p27-blanco);box-shadow:var(--p27-sombra-2)}
.after>*{min-width:0}
.after__cuerpo{padding:clamp(28px,5vw,56px)}
.after__cuerpo h2{margin:14px 0 16px;font-size:clamp(2rem,4.4vw,3.25rem)}
.after__cuerpo p:not(.cab__ante){color:var(--p27-tinta-2);font-size:1.1rem;margin-bottom:26px;max-width:46ch}
.after__dato{padding:clamp(28px,5vw,56px);background:var(--p27-rosa-tinte);color:var(--p27-rosa-hondo);display:flex;flex-direction:column;justify-content:center;gap:6px}
.after__dato b{font:800 clamp(3.5rem,8vw,6rem)/1 var(--f-display)}
.after__dato span{font-weight:600}
.colores{display:flex;height:8px;border-radius:8px;overflow:hidden;margin-top:18px;max-width:220px}
.colores i{flex:1;background:var(--pc)}

.pases{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.pase{position:relative;border-radius:var(--r-card);padding:30px;border:1px solid var(--p27-linea);display:flex;flex-direction:column}
.pase--dest{border:2px solid var(--p27-rosa)}
.pase__marca{position:absolute;top:-13px;left:28px;background:var(--p27-rosa-texto);color:#fff;font-weight:700;font-size:13px;padding:4px 12px;border-radius:999px}
.pase h3{font-size:1.75rem}
.pase__desc{color:var(--p27-tinta-2);margin:8px 0 18px;min-height:3.2em}
.tramos{list-style:none;margin:0 0 22px;padding:0}
.tramo{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--p27-linea);color:var(--p27-tinta-2)}
.tramo span{font-weight:600}
.tramo small{display:block;font-weight:400;font-size:13px}
.tramo b{font:800 24px var(--f-display)}
.tramo--on{color:var(--p27-tinta)}
.tramo--on b{font-size:38px;color:var(--p27-azul-hondo)}

.duo{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.tarjeta{background:#fff;border-radius:var(--r-card);padding:30px;border:1px solid var(--p27-linea)}
.tarjeta h3{font-size:1.45rem;margin:14px 0 10px}
.tarjeta p:not(.cab__ante){color:var(--p27-tinta-2);margin-bottom:14px}
.enlace{font-weight:700;overflow-wrap:anywhere}

.pie{padding:40px 0 48px;border-top:1px solid var(--p27-linea);font-size:.9rem;color:var(--p27-tinta-3)}
.pie__in{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.pie__marca{font:800 19px var(--f-display);color:var(--p27-tinta)}
.pie__marca b{color:var(--p27-rosa-texto)}
.pie__links{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.pie a{color:var(--p27-tinta-2);text-decoration:none}


/* v2 */
.nav__links{gap:22px}
.btn--nav{min-height:40px;padding:0 18px;font-size:.92rem;margin-left:8px}
.hero{padding-bottom:0}
.hero__ficha{margin:38px 0 0;padding-top:24px;border-top:1px solid var(--p27-linea);display:grid;grid-template-columns:repeat(3,auto);gap:16px 34px;justify-content:start}
.hero__ficha dt{font-size:.82rem;color:var(--p27-tinta-3)}
.hero__ficha dd{margin:2px 0 0;font-weight:600;font-size:.98rem}
.franja{list-style:none;margin:clamp(40px,6vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--p27-linea)}
.franja li{display:flex;align-items:center;gap:10px;padding:18px 8px 20px 0;font-weight:600;font-size:.92rem;line-height:1.15;border-top:3px solid var(--pc);margin-top:-2px}
.franja .bandera{width:30px;flex:none;border-radius:3px;box-shadow:0 0 0 1px var(--p27-linea)}

.cifras{background:var(--p27-gris);padding:clamp(30px,4vw,44px) 0}
.cifras__in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:22px 32px}
.cifras b{display:inline-block;font:800 clamp(2rem,3.6vw,2.75rem)/1.05 var(--f-display);color:var(--p27-azul-hondo)}
.cifras div:nth-child(2) b{color:var(--p27-rosa-hondo)}
.cifras div:nth-child(3) b{color:var(--p27-naranja-hondo)}
.cifras div:nth-child(4) b{color:var(--p27-verde-hondo)}
.cifras div:nth-child(5) b{color:var(--p27-arcilla-hondo)}
.cifras span{display:block;font-size:.92rem;color:var(--p27-tinta-2);margin-top:4px}

.cab--ancha{max-width:820px}
.ico{width:34px;height:34px;fill:none;stroke:var(--t);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-bottom:18px}
.trio__c h3{font-size:1.5rem;color:var(--t);margin-bottom:10px}
.trio__c ul{margin:18px 0 0;padding:16px 0 0;list-style:none;border-top:1px solid rgba(20,33,61,.1);font-size:.95rem;color:var(--p27-tinta)}
.trio__c li{padding:4px 0}
.sub{font-size:1.45rem;margin:clamp(40px,6vw,60px) 0 22px}
.sub--0{margin:0 0 8px}

.carr__cab{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:clamp(40px,6vw,60px) 0 18px}
.carr__nav{display:flex;gap:8px}
.carr__nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--p27-azul-suave);background:#fff;color:var(--p27-azul-hondo);font-size:24px;line-height:1;cursor:pointer;transition:background .18s}
.carr__nav button:hover:not(:disabled){background:var(--p27-azul-tinte)}
.carr__nav button:disabled{opacity:.35;cursor:default}
.bloques{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.bloques::-webkit-scrollbar{display:none}
.bloques .bl{flex:0 0 calc((100% - 16px)/2);scroll-snap-align:start}
.carr__puntos{display:flex;justify-content:center;gap:7px;margin-top:16px}
.carr__puntos i{width:8px;height:8px;border-radius:999px;background:var(--p27-gris-2);transition:width .2s,background .2s}
.carr__puntos i.on{width:24px;background:var(--pc)}
.bl{position:relative;display:grid;grid-template-columns:1fr 104px;gap:20px;background:#fff;border:1px solid var(--p27-linea);border-top:4px solid var(--pc);border-radius:var(--r-card);padding:22px 22px 24px}
.bl__cab{display:flex;align-items:center;gap:10px;font-size:.86rem;color:var(--p27-tinta-2);font-weight:600}
.bl__cab .bandera{width:30px;border-radius:3px;box-shadow:0 0 0 1px var(--p27-linea)}
.bl h4{margin:12px 0 2px;font:800 1.32rem/1.15 var(--f-display)}
.bl__tema{display:inline-block;font:700 1rem/1.3 var(--f-display);color:var(--ph)}
.bl p{font-size:.95rem;color:var(--p27-tinta-2);margin-top:10px}
.bl__meta{list-style:none;padding:0;margin:12px 0 0;font-size:.88rem;color:var(--p27-tinta-2)}
.bl__meta li{padding:2px 0}
.bl__meta li>span{display:inline-block}
.bl__cert{align-self:start;padding:0;border:1px solid var(--p27-linea);background:#fff;border-radius:6px;overflow:hidden;cursor:zoom-in;transition:transform .2s var(--ease)}
.bl__cert:hover{transform:translateY(-3px) rotate(1deg)}
.bl__cert img{width:100%;height:auto}

.horas{margin-top:clamp(40px,6vw,60px);display:grid;grid-template-columns:.8fr 1.2fr;gap:32px;align-items:start}
.horas p{color:var(--p27-tinta-2)}
.tabla-scroll{overflow-x:auto}
.tabla{width:100%;border-collapse:collapse;font-size:.96rem;background:#fff}
.tabla th,.tabla td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--p27-linea)}
.tabla thead th{font-size:.84rem;color:var(--p27-tinta-2);font-weight:600}
.tabla tbody th{font-weight:600}
.tabla .si{color:var(--p27-azul-hondo);font-weight:600}
.tabla .no{color:var(--p27-tinta-3)}
.pais-c{display:flex;align-items:center;gap:9px}
.pais-c .bandera{width:24px;border-radius:2px;box-shadow:0 0 0 1px var(--p27-linea);flex:none}
.comparar{margin-top:26px;border:1px solid var(--p27-linea);border-radius:var(--r-card)}
.comparar tr:last-child th,.comparar tr:last-child td{border-bottom:0}

.galeria{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.cert{padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit;text-align:left}
.cert img{width:100%;height:auto;border-radius:5px;box-shadow:0 0 0 1px var(--p27-linea),var(--p27-sombra-1);transition:transform .25s var(--ease),box-shadow .25s}
.cert:hover img{transform:translateY(-6px);box-shadow:0 0 0 1px var(--pc),var(--p27-sombra-2)}
.cert b{display:block;margin-top:11px;font:700 .92rem/1.2 var(--f-display)}
.cert span{display:block;font-size:.8rem;color:var(--p27-tinta-2);line-height:1.3;margin-top:2px}
.mayor{margin-top:clamp(36px,5vw,56px);display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(28px,5vw,60px);align-items:center;padding:clamp(20px,3vw,36px);border:1px solid var(--p27-linea);border-radius:28px}
.mayor>*{min-width:0}
.mayor__img{padding:0;border:0;background:none;cursor:zoom-in}
.mayor__img img{width:100%;height:auto;border-radius:6px;box-shadow:0 0 0 1px var(--p27-linea),var(--p27-sombra-2)}
.mayor__txt h3{font-size:clamp(1.5rem,2.6vw,2rem);margin:14px 0 12px}
.mayor__txt p:not(.cab__ante){color:var(--p27-tinta-2)}
.checks{list-style:none;padding:0;margin:18px 0 0}
.checks li{position:relative;padding:5px 0 5px 26px;font-weight:500}
.checks li::before{content:"";position:absolute;left:2px;top:12px;width:12px;height:6px;border-left:2px solid var(--p27-azul-texto);border-bottom:2px solid var(--p27-azul-texto);transform:rotate(-45deg)}
.tracker{margin-top:clamp(40px,6vw,64px)}
.tracker header{margin-bottom:22px}
.tracker header p{color:var(--p27-tinta-2)}

.ponentes{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ponente{background:#fff;border:1px solid var(--p27-linea);border-radius:var(--r-card);padding:20px}
.ponente__foto{width:72px;height:72px;border-radius:50%;background:var(--pt2);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.ponente__foto svg{width:34px;height:34px;fill:none;stroke:var(--ph);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ponente b{display:block;font:700 1.02rem/1.25 var(--f-display)}
.ponente span{display:block;font-size:.88rem;color:var(--p27-tinta-2);margin-top:3px}
.ponente .pais-c{margin-top:12px;font-size:.84rem;font-weight:600;color:var(--p27-tinta)}
.sedes{display:grid;grid-template-columns:repeat(7,1fr);gap:12px}
.sede{min-height:96px;border-radius:12px;background:#fff;border:1px solid var(--p27-linea);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:12px 8px;font-size:.8rem;line-height:1.2;color:var(--p27-tinta-2)}
.sede .bandera{width:30px;border-radius:3px;box-shadow:0 0 0 1px var(--p27-linea)}

.agenda{list-style:none;padding:0;margin:0 0 26px}
.agenda li{display:flex;gap:16px;padding:9px 0;border-top:1px solid var(--p27-linea);color:var(--p27-tinta-2)}
.agenda b{font:700 1rem var(--f-display);color:var(--p27-rosa-hondo);min-width:52px}
.after__cuerpo p.after__nota{font-size:.88rem;margin:16px 0 0}
.after__dato span{display:inline-block;align-self:flex-start}
.pase__nota{margin-top:12px;font-size:.88rem;color:var(--p27-tinta-2);text-align:center}
.pase{background:#fff}

.ruta{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:r}
.ruta li{border-top:3px solid var(--c);padding-top:14px}
.ruta time{display:block;font:700 .9rem var(--f-display);color:var(--p27-tinta-2)}
.ruta b{display:block;font:800 1.08rem/1.2 var(--f-display);margin:6px 0 4px}
.ruta span{font-size:.92rem;color:var(--p27-tinta-2)}

.faq-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;align-items:start}
.faq details{border-top:1px solid var(--p27-linea);padding:4px 0}
.faq details:last-child{border-bottom:1px solid var(--p27-linea)}
.faq summary{cursor:pointer;list-style:none;padding:14px 32px 14px 0;font:700 1.05rem/1.3 var(--f-display);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:10px;font-size:1.5rem;font-weight:500;color:var(--p27-azul-texto)}
.faq details[open] summary::after{content:"−"}
.faq p{padding:0 0 16px;color:var(--p27-tinta-2)}

.final{padding:0 0 clamp(64px,9vw,112px)}
.final__in{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;background:var(--p27-azul-tinte);border-radius:28px;padding:clamp(28px,5vw,52px)}
.final h2{font-size:clamp(1.7rem,3.2vw,2.5rem);color:var(--p27-azul-hondo)}
.final p{color:var(--p27-tinta);margin-top:8px}

.pie__in{display:grid;grid-template-columns:1.6fr 1fr 1.3fr 1fr;gap:28px}
.pie__col{display:flex;flex-direction:column;gap:8px}
.pie__col h4{margin:0 0 4px;font:700 .95rem var(--f-display);color:var(--p27-tinta)}
.pie__col--marca p{color:var(--p27-tinta-2)}

.visor{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;overflow:hidden}
.visor::backdrop{background:rgba(20,33,61,.82)}
.visor[open]{display:flex;align-items:center;justify-content:center}
.visor figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px}
.visor img{max-width:min(82vw,1100px);max-height:82vh;width:auto;height:auto;border-radius:4px;background:#fff}
.visor figcaption{color:#fff;font-weight:600;text-align:center}
.visor button{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:#fff;color:var(--p27-tinta);font-size:28px;line-height:1;cursor:pointer}
.visor__x{top:18px;right:18px}
.visor__f--a{left:18px;top:calc(50% - 24px)}
.visor__f--s{right:18px;top:calc(50% - 24px)}

html.revision .sim{outline:1.5px dashed var(--p27-rosa-texto);outline-offset:3px;border-radius:3px}
.leyenda{position:fixed;left:16px;bottom:16px;z-index:40;display:flex;align-items:center;gap:10px;background:#fff;border:1.5px dashed var(--p27-rosa-texto);border-radius:999px;padding:8px 8px 8px 16px;font-size:.84rem;font-weight:600;box-shadow:var(--p27-sombra-1)}
.leyenda button{border:0;background:var(--p27-rosa-tinte);color:var(--p27-rosa-hondo);border-radius:999px;padding:5px 12px;font:600 .8rem var(--f-body);cursor:pointer}

@media (max-width:1080px){
  .nav__links{display:none}
  .btn--nav{margin-left:auto}
  .galeria{grid-template-columns:repeat(4,1fr)}
  .sedes{grid-template-columns:repeat(4,1fr)}
  .franja{grid-template-columns:repeat(4,1fr)}
  .ponentes{grid-template-columns:repeat(2,1fr)}
  .ruta{grid-template-columns:repeat(3,1fr);row-gap:26px}
}
@media (max-width:960px){
  .hero__in,.after,.mayor,.horas,.faq-in{grid-template-columns:1fr}
  .hero__red{order:-1;max-width:300px;margin:0 auto}
  .dias{grid-template-columns:1fr 1fr}
  .sellos{grid-template-columns:repeat(4,1fr)}
  .bloques .bl{flex-basis:86%}
  .pie__in{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .seccion{padding:60px 0}
  .trio,.pases,.duo,.dias,.logro{grid-template-columns:1fr}
  .sellos{grid-template-columns:repeat(3,1fr)}
  .pase__desc{min-height:0}
  .hero__ficha{grid-template-columns:1fr}
  .franja{grid-template-columns:repeat(2,1fr)}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .sedes{grid-template-columns:repeat(2,1fr)}
  .ponentes{grid-template-columns:1fr}
  .ruta{grid-template-columns:1fr}
  .bl{grid-template-columns:1fr 76px;gap:14px}
  .pie__in{grid-template-columns:1fr}
  .nav__in{gap:12px}
  .nav__marca{white-space:nowrap;font-size:17px}
  .btn--nav{padding:0 14px}
  .nav__rinsa{margin-left:0}
  .visor button{width:40px;height:40px}
  .visor__f--a{left:6px}
  .visor__f--s{right:6px}
  .leyenda{left:8px;right:auto;bottom:8px}
}
@media (max-width:340px){
  .nav__in{gap:8px}
  .btn--nav{padding:0 10px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .nodo,.pulso{animation:none}
}
