/* ════════════════════════════════════════════════════════════
   RIKOLVER DS 8.6.1 — 2026-05-05
   
   Bundle CSS canónico para webs del Grupo Rikolver.
   Fuente de verdad de tokens, paletas, componentes y animaciones.
   
   USO:
     <html class="no-js">  <!-- obligatorio -->
     <link rel="stylesheet" href="https://assets.rikolver.com/css/grk-ds-8_6.css">
     <script>document.documentElement.classList.remove('no-js')</script>
     <script src="https://assets.rikolver.com/js/rikolver.js" defer></script>
   
   Componentes catalogados: ver GRK_catalogo_markup-v1_0.md
   Changelog histórico: CHANGELOG_DS-v8_6_1.md
   
   Fixes vs DS 8.6:
     · B1 [CRÍTICO] data-a sin valor: estado base sin clip-path inicial
       hasta que html.is-anim-ready esté activo (puesto por rikolver.js).
       Mantiene reveal vertical para todos los data-a, robusto si JS falla.
     · B2 [CRÍTICO] Fonts: paths absolutos al CDN (eran relativos rotos).
     · B3 [ALTA] Variable --t-label declarada en :root (faltaba).
     · B4 [BAJA] Eliminados duplicados literales .rk-lang-opt/sep.
     · B5 Versionado coherente (era "DS 8.1").
     · B6 --color-acento-proyecto declarado por defecto.
     · M1 Changelog histórico extraído a CHANGELOG_DS-v8_6_1.md.
     · M4 Componentes header/lang reorganizados en sección propia.
   
   Compatibilidad: Safari 13+, Chrome 55+, Firefox 53+, Edge 79+.
   Cobertura ≥ 98% navegadores actuales (febrero 2026).
   ════════════════════════════════════════════════════════════ */

@font-face{font-family:'Archia';src:url('https://assets.rikolver.com/fonts/Archia-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Archia';src:url('https://assets.rikolver.com/fonts/Archia-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Archia';src:url('https://assets.rikolver.com/fonts/Archia-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Archia';src:url('https://assets.rikolver.com/fonts/Archia-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'ArgestaDisplay';src:url('https://assets.rikolver.com/fonts/ArgestaDisplay-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'ArgestaDisplay';src:url('https://assets.rikolver.com/fonts/ArgestaDisplay-RegularItalic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'ArgestaHeadline';src:url('https://assets.rikolver.com/fonts/ArgestaHeadline-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'ArgestaHeadline';src:url('https://assets.rikolver.com/fonts/ArgestaHeadline-RegularItalic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'ArgestaHairline';src:url('https://assets.rikolver.com/fonts/ArgestaHairline-Regular.woff2') format('woff2');font-weight:100;font-style:normal;font-display:swap}
@font-face{font-family:'ArgestaText';src:url('https://assets.rikolver.com/fonts/ArgestaText-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root {
  --color-blanco:#FFFFFF;
  --color-marron-cedar:#493B32;
  --color-azul-oxford:#1B1E27;
  --color-gris-koala:#94969A;
  --color-oxford-profundo:#13151C;
  --color-oxford-medio:#222737;
  --color-arena:#D6D2CC;
  --color-azul-oxford-translucido:rgba(27,30,39,.85);
  --fuente-display:'ArgestaDisplay',Georgia,serif;
  --fuente-headline:'ArgestaHeadline',Georgia,serif;
  --fuente-hairline:'ArgestaHairline',Georgia,serif;
  --fuente-texto:'ArgestaText',Georgia,serif;
  --fuente-ui:'Archia',system-ui,sans-serif;
  --header-h:64px;--header-h-slim:48px;
  --gutter:clamp(1.2rem,5vw,5.5rem);
  --max-w:1280px;--max-w-w:1400px;
  --sp-1:8px;--sp-2:16px;--sp-3:24px;--sp-4:32px;--sp-5:40px;--sp-6:56px;--sp-7:72px;--sp-8:96px;
  --pad-v:clamp(3.5rem,7vw,7rem);
  --gap:clamp(2.5rem,5vw,5rem);
  --gap-grid:clamp(1.5rem,3vw,3.5rem);
  --ease-expo:cubic-bezier(.16,1,.3,1);
  --ease-quart:cubic-bezier(.25,1,.5,1);
  --ease-inout:cubic-bezier(.65,0,.35,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --dur-fast:200ms;--dur-med:450ms;--dur-slow:1400ms;--dur-xslow:1600ms;
  /* Tipografía utilitaria */
  --t-label:clamp(.65rem,.8vw,.75rem);
  --t-xs:clamp(.7rem,.9vw,.8rem);
  /* Acento de proyecto — override por sociedad/proyecto vía :root local */
  --color-acento-proyecto:var(--color-marron-cedar);
}

/* ── PALETAS ────────────────────────────────────────────── */
.fondo-azul-oxford{background-color:var(--color-azul-oxford);--color-fondo:var(--color-azul-oxford);--color-texto-principal:var(--color-gris-koala);--color-titulos:var(--color-gris-koala);--color-subtitulos:var(--color-gris-koala);--color-enlace:var(--color-gris-koala);--color-acento:var(--color-acento-proyecto,var(--color-marron-cedar));--color-input-bg:var(--color-gris-koala);--color-input-text:var(--color-azul-oxford);--color-boton-enviar:var(--color-gris-koala);--color-boton-enviar-hover:var(--color-marron-cedar);--color-boton-enviar-texto:var(--color-azul-oxford);--color-boton-enviar-texto-hover:var(--color-gris-koala)}
.fondo-azul-oxford a:hover{color:var(--color-blanco)}
.fondo-marron-cedar{background-color:var(--color-marron-cedar);--color-fondo:var(--color-marron-cedar);--color-texto-principal:var(--color-gris-koala);--color-titulos:var(--color-gris-koala);--color-subtitulos:var(--color-gris-koala);--color-enlace:var(--color-gris-koala);--color-acento:var(--color-acento-proyecto,var(--color-marron-cedar));--color-input-bg:var(--color-gris-koala);--color-input-text:var(--color-marron-cedar);--color-boton-enviar:var(--color-gris-koala);--color-boton-enviar-hover:var(--color-azul-oxford);--color-boton-enviar-texto:var(--color-marron-cedar);--color-boton-enviar-texto-hover:var(--color-gris-koala)}
.fondo-marron-cedar a:hover{color:var(--color-blanco)}
.fondo-gris-koala{background-color:var(--color-gris-koala);--color-fondo:var(--color-gris-koala);--color-texto-principal:var(--color-azul-oxford);--color-titulos:var(--color-azul-oxford);--color-subtitulos:var(--color-azul-oxford);--color-enlace:var(--color-azul-oxford);--color-acento:var(--color-acento-proyecto,var(--color-marron-cedar));--color-input-bg:var(--color-blanco);--color-input-text:var(--color-gris-koala);--color-boton-enviar:var(--color-azul-oxford);--color-boton-enviar-hover:var(--color-marron-cedar);--color-boton-enviar-texto:var(--color-gris-koala);--color-boton-enviar-texto-hover:var(--color-azul-oxford)}
.fondo-gris-koala a:hover{color:var(--color-marron-cedar)}
.fondo-blanco{background-color:var(--color-blanco);--color-fondo:var(--color-blanco);--color-texto-principal:var(--color-azul-oxford);--color-titulos:var(--color-azul-oxford);--color-subtitulos:var(--color-gris-koala);--color-enlace:var(--color-azul-oxford);--color-acento:var(--color-acento-proyecto,var(--color-marron-cedar))}

/* ── CEDAR OVERRIDES ────────────────────────────────────── */
.fondo-marron-cedar .rk-linea{background:var(--color-azul-oxford)}
.fondo-marron-cedar .rk-stat-box.rk-stat-accent{background:var(--color-azul-oxford)}
.fondo-marron-cedar .rk-stat-box.rk-stat-accent .rk-sv,.fondo-marron-cedar .rk-stat-box.rk-stat-accent .rk-sl{color:var(--color-gris-koala)}
.fondo-marron-cedar .rk-card-sub{color:var(--color-gris-koala)}
.fondo-marron-cedar .rk-cita{border-color:var(--color-azul-oxford)}
.fondo-marron-cedar .rk-plano-stat-v{color:var(--color-gris-koala)}
.fondo-marron-cedar em{color:var(--color-gris-koala)}
.fondo-marron-cedar .titulo-seccion em{color:var(--color-gris-koala)}/* specificity 0,2,1 — LAST */

/* ── RESET ──────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{font-family:var(--fuente-ui);font-size:16px;font-weight:300;line-height:1.75;color:var(--color-texto-principal);background-color:var(--color-fondo);overflow-x:hidden}
img{max-width:100%;display:block}
a{color:var(--color-enlace);text-decoration:none;transition:color var(--dur-fast) var(--ease-quart)}

/* ── TIPOGRAFÍA ─────────────────────────────────────────── */
.titulo-principal{font-family:var(--fuente-headline);font-size:clamp(3.2rem,7vw,6rem);font-weight:400;line-height:1.1;letter-spacing:-.5px;color:var(--color-titulos);text-align:center}
.hero-label{font-family:var(--fuente-ui);font-size:clamp(.8rem,1.1vw,1rem);font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--color-subtitulos);text-align:center;margin-bottom:var(--sp-4)}
.titulo-seccion{font-family:var(--fuente-headline);font-size:clamp(2.6rem,5.5vw,4rem);font-weight:400;line-height:1.3;color:var(--color-titulos);margin-bottom:var(--sp-4)}
.titulo-seccion em{font-style:italic;color:var(--color-acento)}
.numero-imagen{font-family:var(--fuente-headline);font-size:clamp(2rem,3vw,2.5rem);font-weight:400;color:var(--color-subtitulos);line-height:1.5;margin-top:var(--sp-4)}
.texto-imagen{font-family:var(--fuente-ui);font-size:clamp(1.2rem,1.6vw,1.4rem);font-weight:100;line-height:1.7;color:var(--color-texto-principal);margin-top:var(--sp-4)}
em{font-style:italic;color:var(--color-acento)}

/* ── SECTION LABEL (.sl) ────────────────────────────────── */
.sl{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}
.sl-etq{font-family:var(--fuente-ui);font-size:clamp(.688rem,.3vw+.58rem,.813rem);font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--color-acento);white-space:nowrap}
.sl-linea{flex:1;height:1px;background:var(--color-acento);opacity:.4}

/* ── ANIMACIONES ────────────────────────────────────────── */
/*
 * Política de animaciones DS 8.6.1
 * 
 * Estado inicial seguro: sin clip-path. Visible por defecto.
 * El clip-path inicial (que oculta) SOLO se activa cuando rikolver.js
 * añade .is-anim-ready al <html>. Esto garantiza:
 *   1. JS falla / tarda / bloqueado → contenido visible (no roto).
 *   2. JS activo → clip-path se aplica + IntersectionObserver añade .vis
 *      → animación reveal correcta.
 * 
 * Patrón obligatorio en HTML:
 *   <html class="no-js">
 *   <script>document.documentElement.classList.remove('no-js')</script>
 *   ...
 *   <script src=".../rikolver.js" defer></script>
 * 
 * rikolver.js v4.1+ debe añadir 'is-anim-ready' al <html> ANTES de
 * registrar el IntersectionObserver. Con esto el orden es:
 *   1. CSS aplica clip-path inicial (oculta)
 *   2. IntersectionObserver registra elementos
 *   3. Al entrar viewport, JS añade .vis → animación reveal
 */

/* Reduced motion → todo visible inmediatamente */
@media(prefers-reduced-motion:reduce){
  [data-a],[data-ag]>*,.rk-linea,.rk-word .rk-w-inner{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
    -webkit-clip-path:none!important;
    transition:none!important;
    animation:none!important;
  }
}

/* No-JS fallback → todo visible (regla de cortesía) */
html.no-js [data-a],
html.no-js [data-ag]>*,
html.no-js .rk-linea,
html.no-js .rk-word .rk-w-inner{
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  -webkit-clip-path:none!important;
}

/* ── Estado inicial: SOLO bajo html.is-anim-ready ─────────────── */
html.is-anim-ready [data-a]{
  clip-path:inset(0 0 100% 0);
  -webkit-clip-path:inset(0 0 100% 0);
  transition:clip-path var(--dur-slow) var(--ease-expo),-webkit-clip-path var(--dur-slow) var(--ease-expo);
}
html.is-anim-ready [data-a].vis{
  clip-path:inset(0 0 0% 0);
  -webkit-clip-path:inset(0 0 0% 0);
}

html.is-anim-ready [data-a="fade"]{
  opacity:0;
  clip-path:none;
  -webkit-clip-path:none;
  transition:opacity var(--dur-slow) var(--ease-expo);
}
html.is-anim-ready [data-a="fade"].vis{opacity:1}

html.is-anim-ready [data-a="left"]{
  opacity:0;
  transform:translateX(24px);
  clip-path:none;
  -webkit-clip-path:none;
  transition:opacity var(--dur-slow) var(--ease-expo),transform var(--dur-slow) var(--ease-expo);
}
html.is-anim-ready [data-a="left"].vis{opacity:1;transform:none}

html.is-anim-ready [data-a="reveal-h"]{
  clip-path:inset(0 100% 0 0);
  -webkit-clip-path:inset(0 100% 0 0);
  transition:clip-path var(--dur-xslow) var(--ease-expo),-webkit-clip-path var(--dur-xslow) var(--ease-expo);
}
html.is-anim-ready [data-a="reveal-h"].vis{
  clip-path:inset(0 0% 0 0);
  -webkit-clip-path:inset(0 0% 0 0);
}

html.is-anim-ready [data-a="scale"]{
  opacity:0;
  transform:scale(.97);
  clip-path:none;
  -webkit-clip-path:none;
  transition:opacity var(--dur-slow) var(--ease-expo),transform var(--dur-slow) var(--ease-spring);
}
html.is-anim-ready [data-a="scale"].vis{opacity:1;transform:none}

/* Delays escalonados (válidos solo cuando is-anim-ready) */
[data-d="1"]{transition-delay:180ms!important}
[data-d="2"]{transition-delay:360ms!important}
[data-d="3"]{transition-delay:540ms!important}
[data-d="4"]{transition-delay:720ms!important}
[data-d="5"]{transition-delay:900ms!important}

/* Grupos escalonados (data-ag) */
html.is-anim-ready [data-ag]>*{
  clip-path:inset(0 0 100% 0);
  -webkit-clip-path:inset(0 0 100% 0);
  transition:clip-path var(--dur-slow) var(--ease-expo),-webkit-clip-path var(--dur-slow) var(--ease-expo);
}
html.is-anim-ready [data-ag].vis>*:nth-child(1){clip-path:inset(0 0 0% 0);-webkit-clip-path:inset(0 0 0% 0);transition-delay:0ms}
html.is-anim-ready [data-ag].vis>*:nth-child(2){clip-path:inset(0 0 0% 0);-webkit-clip-path:inset(0 0 0% 0);transition-delay:180ms}
html.is-anim-ready [data-ag].vis>*:nth-child(3){clip-path:inset(0 0 0% 0);-webkit-clip-path:inset(0 0 0% 0);transition-delay:360ms}
html.is-anim-ready [data-ag].vis>*:nth-child(4){clip-path:inset(0 0 0% 0);-webkit-clip-path:inset(0 0 0% 0);transition-delay:540ms}
html.is-anim-ready [data-ag].vis>*:nth-child(5){clip-path:inset(0 0 0% 0);-webkit-clip-path:inset(0 0 0% 0);transition-delay:720ms}
html.is-anim-ready [data-ag].vis>*:nth-child(6){clip-path:inset(0 0 0% 0);-webkit-clip-path:inset(0 0 0% 0);transition-delay:900ms}

/* Líneas (componente decorativo) */
.rk-linea{
  display:block;
  height:1px;
  background:var(--color-acento);
  margin:var(--sp-3) 0 var(--sp-5);
}
html.is-anim-ready .rk-linea{
  clip-path:inset(0 100% 0 0);
  -webkit-clip-path:inset(0 100% 0 0);
  transition:clip-path var(--dur-xslow) var(--ease-expo),-webkit-clip-path var(--dur-xslow) var(--ease-expo);
}
html.is-anim-ready .rk-linea.vis{
  clip-path:inset(0 0% 0 0);
  -webkit-clip-path:inset(0 0% 0 0);
}

/* Word-by-word (rk-word) */
.rk-word{display:block;overflow:visible}
.rk-word .rk-w{display:inline-block;overflow:hidden;vertical-align:bottom;margin-right:.22em}
html.is-anim-ready .rk-word .rk-w-inner{
  display:block;
  transform:translateY(105%);
  opacity:0;
  transition:transform var(--dur-slow) var(--ease-expo),opacity var(--dur-slow) var(--ease-expo);
  transition-delay:calc(var(--wi,0)*75ms);
}
html.is-anim-ready .rk-word.vis .rk-w-inner{transform:translateY(0);opacity:1}

/* Keyframe scroll-ind (siempre activo) */
@keyframes scrollLine{
  0%{clip-path:inset(0 0 100% 0);-webkit-clip-path:inset(0 0 100% 0)}
  45%{clip-path:inset(0 0 0% 0);-webkit-clip-path:inset(0 0 0% 0)}
  100%{clip-path:inset(100% 0 0 0);-webkit-clip-path:inset(100% 0 0 0)}
}

/* ── HEADER ─────────────────────────────────────────────── */
.rk-header{position:fixed;top:0;left:0;width:100%;height:var(--header-h);z-index:100;background:transparent;transition:background var(--dur-med) var(--ease-quart),height var(--dur-med),box-shadow var(--dur-med)}
.rk-header.scrolled{background:var(--color-azul-oxford-translucido);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 4px 32px rgba(0,0,0,.2);height:var(--header-h-slim)}
.rk-header-inner{max-width:var(--max-w-w);margin:0 auto;padding:0 var(--gutter);height:100%;display:flex;align-items:center;justify-content:space-between}
.rk-nav-list{list-style:none;display:flex;gap:clamp(1.5rem,2.5vw,2.2rem);align-items:center}
.rk-nav-link{font-family:var(--fuente-ui);font-size:clamp(.75rem,.3vw+.65rem,.875rem);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gris-koala);position:relative;padding-bottom:2px}
.rk-nav-link::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--color-marron-cedar);clip-path:inset(0 100% 0 0);-webkit-clip-path:inset(0 100% 0 0);transition:clip-path var(--dur-med) var(--ease-expo),-webkit-clip-path var(--dur-med) var(--ease-expo)}
.rk-nav-link:hover{color:var(--color-blanco)}
.rk-nav-link:hover::after{clip-path:inset(0 0% 0 0);-webkit-clip-path:inset(0 0% 0 0)}

.rk-lang{display:flex;align-items:center;gap:4px}
.rk-lang-opt{font-family:var(--fuente-ui);font-size:var(--t-label);font-weight:600;letter-spacing:.08em;color:var(--color-gris-koala);text-decoration:none;opacity:.35;transition:opacity var(--dur-fast),color var(--dur-fast)}
.rk-lang-opt.active{opacity:.85;color:var(--color-blanco)}
.rk-lang-opt:hover{opacity:1;color:var(--color-blanco)}
.rk-lang-sep{font-size:var(--t-label);color:var(--color-gris-koala);opacity:.2}
@media(max-width:768px){.rk-nav{display:none}}

/* ── LAYOUT ─────────────────────────────────────────────── */
.seccion{padding:var(--pad-v) var(--gutter)}
.seccion-inner{max-width:var(--max-w);margin:0 auto}
.contenedor-galeria{display:flex;flex-direction:column;gap:40px}
.contenedor-galeria .bloque-texto{flex:1;max-width:720px;margin:0 auto}
.contenedor-galeria .bloque-imagen{flex:1;max-width:100%}
.contenedor-galeria .bloque-imagen img,.img-placeholder{width:100%;max-width:476px;height:auto;max-height:640px;object-fit:cover;display:block;margin:0 auto}
.img-placeholder{aspect-ratio:4/5;border-radius:4px;display:flex;align-items:center;justify-content:center}
.img-placeholder span{font-family:var(--fuente-headline);font-size:clamp(3rem,8vw,6rem);color:var(--color-gris-koala);opacity:.06}
@media(min-width:820px){
  .contenedor-galeria{flex-direction:row;align-items:center;justify-content:center;gap:clamp(2rem,4vw,60px)}
  .contenedor-galeria .bloque-texto,.contenedor-galeria .bloque-imagen{max-width:50%}
  .contenedor-galeria.inverso{flex-direction:row-reverse}
}

/* ── BOTONES ────────────────────────────────────────────── */
.boton{display:inline-block;background-color:var(--color-boton-enviar);color:var(--color-boton-enviar-texto);padding:12px 32px;font-family:var(--fuente-ui);font-weight:400;font-size:clamp(1rem,1.5vw,1.5rem);border:2px solid var(--color-boton-enviar);border-radius:4px;text-decoration:none;cursor:pointer;transition:background-color .3s,color .3s,border-color .3s}
.boton:hover{background-color:var(--color-boton-enviar-hover);color:var(--color-boton-enviar-texto-hover);border-color:var(--color-boton-enviar-hover)}

/* ── FORMULARIO ─────────────────────────────────────────── */
.formulario-contacto label{display:flex;flex-direction:column;gap:8px;color:var(--color-texto-principal);font-family:var(--fuente-ui);font-weight:500;font-size:clamp(1rem,1.5vw,1.5rem);line-height:1.4;margin-bottom:20px}
.formulario-contacto input,.formulario-contacto textarea{background-color:transparent;color:var(--color-texto-principal);border:2px solid var(--color-texto-principal);padding:12px 16px;font-family:var(--fuente-ui);font-weight:500;font-size:clamp(1rem,1.3vw,1.3rem);line-height:1.4;width:100%;border-radius:0;outline:none}
.formulario-contacto input::placeholder,.formulario-contacto textarea::placeholder{color:var(--color-texto-principal);font-weight:300}
.formulario-contacto input:focus,.formulario-contacto textarea:focus{border-color:var(--color-acento)}
.formulario-contacto textarea{resize:vertical;min-height:140px}
.formulario-contacto button{background-color:var(--color-boton-enviar);color:var(--color-boton-enviar-texto);font-family:var(--fuente-ui);font-weight:500;padding:12px 32px;border-radius:8px;border:none;cursor:pointer;transition:background-color .3s,color .3s}
.formulario-contacto button:hover{background-color:var(--color-boton-enviar-hover);color:var(--color-boton-enviar-texto-hover)}
.aceptacion{font-family:var(--fuente-ui);font-weight:500;font-size:clamp(.85rem,1.2vw,1.1rem);color:var(--color-texto-principal);display:flex;align-items:center;gap:12px;margin:20px 0 24px}
.aceptacion input[type="checkbox"]{width:18px;height:18px;flex-shrink:0;accent-color:var(--color-boton-enviar)}
.aceptacion span{line-height:1.3}
/* Phone prefix — DS 8.1: min-width 180px for country names */
.tel-group{display:flex;gap:0;width:100%}
.tel-prefix{background-color:transparent;color:var(--color-texto-principal);border:2px solid var(--color-texto-principal);border-right:none;padding:12px 8px 12px 12px;font-family:var(--fuente-ui);font-weight:500;font-size:clamp(.85rem,1.1vw,1.1rem);border-radius:0;outline:none;width:auto;min-width:180px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%2394969A'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px}
.tel-prefix:focus{border-color:var(--color-acento)}
.tel-prefix option{background:var(--color-azul-oxford);color:var(--color-gris-koala)}
.tel-group input[type="tel"]{border-left:1px solid var(--color-texto-principal);flex:1}
@media(max-width:480px){.tel-group{flex-direction:column}.tel-prefix{border-right:2px solid var(--color-texto-principal);border-bottom:none;min-width:100%}.tel-group input[type="tel"]{border-left:2px solid var(--color-texto-principal);border-top:1px solid var(--color-texto-principal)}}

/* ═══ STAT BOXES — OPCIÓN C (text-align:left) ═══════════ */
.rk-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.5px;margin:2.5rem 0}
.rk-stat-box{background:var(--color-gris-koala);padding:clamp(1.8rem,3.5vw,3rem) clamp(1.2rem,2vw,2rem)}
.rk-stat-box .rk-sv{font-family:var(--fuente-hairline);font-size:clamp(2rem,4.5vw,3.8rem);font-weight:100;color:var(--color-azul-oxford);line-height:1;letter-spacing:-.01em;margin-bottom:.6rem}
.rk-stat-box .rk-sl{font-family:var(--fuente-ui);font-size:clamp(.7rem,1vw,.88rem);font-weight:300;color:var(--color-azul-oxford);line-height:1.45;letter-spacing:.04em}
.rk-stat-box.rk-stat-accent{background:var(--color-acento)}
.rk-stat-box.rk-stat-accent .rk-sv,.rk-stat-box.rk-stat-accent .rk-sl{color:var(--color-gris-koala)}
.fondo-marron-cedar .rk-stat-box{background:var(--color-gris-koala)}
.fondo-marron-cedar .rk-stat-box .rk-sv{color:var(--color-marron-cedar)}
.fondo-marron-cedar .rk-stat-box .rk-sl{color:var(--color-marron-cedar)}
.fondo-gris-koala .rk-stat-box{background:var(--color-blanco);box-shadow:0 2px 12px rgba(27,30,39,.07)}
.fondo-gris-koala .rk-stat-box .rk-sv,.fondo-gris-koala .rk-stat-box .rk-sl{color:var(--color-azul-oxford)}
.fondo-gris-koala .rk-stat-box.rk-stat-accent{background:var(--color-azul-oxford)}
.fondo-gris-koala .rk-stat-box.rk-stat-accent .rk-sv,.fondo-gris-koala .rk-stat-box.rk-stat-accent .rk-sl{color:var(--color-gris-koala)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5px;padding:var(--sp-5) 0}
.stat-v{font-family:var(--fuente-hairline);font-size:clamp(2rem,4.5vw,3.8rem);font-weight:100;line-height:1;letter-spacing:-.01em}
.stat-l{font-family:var(--fuente-ui);font-size:clamp(.7rem,1vw,.88rem);font-weight:300;color:var(--color-texto-principal);margin-top:.6rem;line-height:1.45}
@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}

/* ── TAGS ───────────────────────────────────────────────── */
.rk-tag{display:inline-block;font-family:var(--fuente-ui);font-size:clamp(.65rem,.8vw,.75rem);font-weight:500;letter-spacing:.06em;padding:.25rem .6rem;border-radius:3px;white-space:nowrap}
.fondo-azul-oxford .rk-tag,.fondo-marron-cedar .rk-tag{border:1px solid var(--color-gris-koala);color:var(--color-gris-koala)}
.fondo-gris-koala .rk-tag{border:1px solid var(--color-azul-oxford);color:var(--color-azul-oxford)}

/* ── TABLA ──────────────────────────────────────────────── */
.rk-tabla-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.rk-tabla{width:100%;border-collapse:collapse;font-family:var(--fuente-ui);font-size:clamp(.9rem,1.2vw,1.1rem)}
.rk-tabla thead th{font-weight:500;font-size:clamp(.7rem,.9vw,.8rem);letter-spacing:.14em;text-transform:uppercase;color:var(--color-subtitulos);padding:.8rem 1rem;border-bottom:2px solid var(--color-acento);text-align:left}
.rk-tabla thead th.r{text-align:right}
.rk-tabla tbody td{font-weight:300;padding:.9rem 1rem;border-bottom:1px solid var(--color-texto-principal);color:var(--color-texto-principal);vertical-align:middle}
.rk-tabla tbody td.r{text-align:right;font-weight:400}
.rk-tabla tbody tr:hover td{background:rgba(148,150,154,.08)}
.rk-tabla .tr-grupo td{font-weight:600;font-size:clamp(.65rem,.8vw,.75rem);letter-spacing:.14em;text-transform:uppercase;color:var(--color-input-text);padding:.5rem 1rem;background:var(--color-input-bg);border-bottom:none}
.fondo-azul-oxford .rk-tabla .tr-grupo:hover td{background:var(--color-marron-cedar);color:var(--color-gris-koala)}

/* ── CARDS ──────────────────────────────────────────────── */
.rk-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5px;margin:2.5rem 0}
.rk-card{background:var(--color-acento);padding:2rem;position:relative;overflow:hidden;transition:background .3s}
.rk-card-num{font-family:var(--fuente-hairline);font-size:clamp(2.5rem,5vw,3.5rem);font-weight:100;color:var(--color-gris-koala);line-height:1;margin-bottom:.8rem}
.rk-card h3{font-family:var(--fuente-headline);font-size:clamp(1.1rem,1.5vw,1.3rem);font-weight:400;color:var(--color-gris-koala);margin-bottom:.5rem}
.rk-card p{font-family:var(--fuente-ui);font-size:clamp(.85rem,1.1vw,1rem);font-weight:100;color:var(--color-gris-koala);line-height:1.7}
.rk-card-sub{font-family:var(--fuente-ui);font-size:clamp(.65rem,.8vw,.75rem);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gris-koala);margin-bottom:1rem}
.rk-card-floors{margin-top:1.2rem;border-top:1px solid var(--color-gris-koala)}
.rk-card-floor{display:flex;justify-content:space-between;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--color-gris-koala);font-family:var(--fuente-ui);font-size:clamp(.8rem,1vw,.9rem);font-weight:300;color:var(--color-gris-koala)}
.rk-card-floor strong{font-weight:500}
.rk-card-total{display:flex;justify-content:space-between;padding:.8rem 0;border-top:1px solid var(--color-gris-koala);font-family:var(--fuente-ui);font-size:clamp(.75rem,.9vw,.85rem);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-gris-koala)}
.fondo-marron-cedar .rk-card{background:var(--color-azul-oxford)}
.fondo-gris-koala .rk-card{background:var(--color-blanco)}
.fondo-gris-koala .rk-card h3,.fondo-gris-koala .rk-card p{color:var(--color-azul-oxford)}
.fondo-gris-koala .rk-card-num{color:var(--color-marron-cedar)}

/* ── BLOCKQUOTE ─────────────────────────────────────────── */
.rk-cita{font-family:var(--fuente-display);font-size:clamp(1.3rem,2.5vw,2rem);font-style:italic;line-height:1.5;color:var(--color-titulos);padding:var(--sp-5) 0;border-top:1.5px solid var(--color-acento);border-bottom:1.5px solid var(--color-acento);margin:2.5rem 0}

/* ── CALLOUT ────────────────────────────────────────────── */
.rk-callout{background:var(--color-acento);padding:1.5rem 2rem;border-radius:2px;margin:2rem 0}
.rk-callout p{font-family:var(--fuente-ui);font-size:clamp(1rem,1.3vw,1.2rem);font-weight:100;color:var(--color-gris-koala);line-height:1.6}
.rk-callout strong{font-weight:500;color:var(--color-blanco)}
.fondo-marron-cedar .rk-callout{background:var(--color-azul-oxford)}

/* ── FIRMAS ─────────────────────────────────────────────── */
.firmas-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center;margin-top:var(--sp-6)}
.firma{font-family:var(--fuente-ui);font-size:clamp(1rem,1.4vw,1.3rem);font-weight:100;color:var(--color-texto-principal)}
.firma-bold{font-weight:600}
@media(max-width:600px){.firmas-grid{grid-template-columns:repeat(2,1fr)}}

/* ── CONTADOR ANIMADO ───────────────────────────────────── */
.rk-num-count{font-family:var(--fuente-hairline);font-size:clamp(2.5rem,6vw,5rem);font-weight:100;line-height:1;letter-spacing:-.02em;color:var(--color-titulos);display:inline-block}
.rk-num-suffix{font-family:var(--fuente-ui);font-size:clamp(1rem,2vw,1.5rem);font-weight:300;vertical-align:super;margin-left:.2em;color:var(--color-texto-principal)}
.rk-stats-anim{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(1.5rem,3vw,3rem);padding:var(--sp-5) 0}
.rk-stat-anim .stat-l{font-family:var(--fuente-ui);font-size:clamp(.7rem,.9vw,.8rem);font-weight:500;color:var(--color-texto-principal);margin-top:.5rem}
@media(max-width:600px){.rk-stats-anim{grid-template-columns:repeat(2,1fr)}}

/* ── TIMELINE ───────────────────────────────────────────── */
.rk-timeline{position:relative;padding:var(--sp-5) 0;margin:2rem 0}
.rk-timeline-bar{position:relative;height:3px;background:rgba(148,150,154,.2);border-radius:2px;overflow:hidden}
.rk-timeline-fill{height:100%;background:var(--color-acento);border-radius:2px;width:0;transition:width 1.8s var(--ease-expo)}
.rk-timeline-bar.vis .rk-timeline-fill{width:var(--progress)}
.rk-timeline-pct{font-family:var(--fuente-hairline);font-size:clamp(2rem,4vw,3rem);font-weight:100;color:var(--color-acento);margin-bottom:1rem}
.rk-timeline-milestones{display:flex;justify-content:space-between;margin-top:1.5rem;flex-wrap:wrap;gap:1rem}
.rk-milestone{text-align:center;flex:1;min-width:100px}
.rk-milestone-date{font-family:var(--fuente-ui);font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-texto-principal)}
.rk-milestone-label{font-family:var(--fuente-ui);font-size:.75rem;font-weight:300;color:var(--color-texto-principal);margin-top:.3rem}
.rk-milestone-dot{width:10px;height:10px;border-radius:50%;margin:0 auto .5rem;border:2px solid var(--color-texto-principal)}
.rk-milestone.done .rk-milestone-dot{background:var(--color-acento);border-color:var(--color-acento)}
.rk-milestone.active .rk-milestone-dot{background:var(--color-texto-principal);border-color:var(--color-texto-principal)}

/* ── MAPA ───────────────────────────────────────────────── */
.rk-mapa{border-radius:4px;overflow:hidden;position:relative;margin:2rem 0}
.rk-mapa iframe{width:100%;height:clamp(300px,40vw,500px);border:0;filter:grayscale(1) contrast(1.1) brightness(.7);transition:filter .4s}
.rk-mapa:hover iframe{filter:grayscale(.3) contrast(1) brightness(.85)}
.rk-mapa-overlay{position:absolute;top:0;left:0;right:0;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;background:linear-gradient(180deg,rgba(27,30,39,.6),transparent)}
.rk-mapa-title{font-family:var(--fuente-headline);font-size:clamp(1.2rem,2vw,1.6rem);font-weight:400;color:var(--color-blanco)}
.rk-poi-list{display:flex;gap:clamp(1.5rem,3vw,3rem);margin-top:1.5rem;flex-wrap:wrap}
.rk-poi{font-family:var(--fuente-ui);font-size:clamp(.8rem,1vw,.9rem);font-weight:300;color:var(--color-texto-principal)}
.rk-poi strong{font-weight:600;color:var(--color-blanco);margin-right:.3rem}

/* ── DOSSIER ────────────────────────────────────────────── */
.rk-dossier{background:var(--color-acento);border-radius:4px;padding:clamp(2rem,4vw,3.5rem);display:flex;align-items:center;gap:clamp(2rem,4vw,3.5rem);margin:2rem 0;flex-wrap:wrap}
.fondo-marron-cedar .rk-dossier{background:var(--color-azul-oxford)}
.fondo-gris-koala .rk-dossier{background:var(--color-azul-oxford)}
.rk-dossier-icon{width:60px;height:80px;border:2px solid var(--color-gris-koala);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.rk-dossier-icon span{font-family:var(--fuente-ui);font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gris-koala)}
.rk-dossier-text{flex:1;min-width:200px}
.rk-dossier-text h3{font-family:var(--fuente-headline);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:400;color:var(--color-gris-koala);margin-bottom:.5rem}
.rk-dossier-text p{font-family:var(--fuente-ui);font-size:clamp(.85rem,1.1vw,1rem);font-weight:100;color:var(--color-gris-koala);line-height:1.6}
.rk-dossier-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.rk-dossier-form input{background:transparent;border:1.5px solid var(--color-gris-koala);color:var(--color-gris-koala);padding:10px 14px;font-family:var(--fuente-ui);font-size:.85rem;font-weight:300;border-radius:3px;width:220px;outline:none}
.rk-dossier-form input::placeholder{color:var(--color-gris-koala);font-weight:300}
.rk-dossier-form input:focus{border-color:var(--color-blanco)}
.rk-dossier-form button{background:var(--color-gris-koala);color:var(--color-azul-oxford);padding:10px 20px;font-family:var(--fuente-ui);font-size:.85rem;font-weight:600;border:none;border-radius:3px;cursor:pointer;transition:background .3s,color .3s}
.rk-dossier-form button:hover{background:var(--color-blanco)}
@media(max-width:600px){.rk-dossier{flex-direction:column}.rk-dossier-form input{width:100%}}

/* ── VÍDEO ──────────────────────────────────────────────── */
.rk-video-inline{position:relative;margin:2rem 0;border-radius:4px;overflow:hidden}
.rk-video-inline video{width:100%;display:block;max-height:60vh;object-fit:cover}
.rk-video-inline-overlay{position:absolute;inset:0;background:rgba(27,30,39,.3);display:flex;align-items:center;justify-content:center;transition:opacity .4s;pointer-events:none}
.rk-video-inline.playing .rk-video-inline-overlay{opacity:0}
.rk-play-btn{width:64px;height:64px;border-radius:50%;border:2px solid var(--color-blanco);background:rgba(27,30,39,.4);display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;transition:transform .3s var(--ease-expo)}
.rk-play-btn:hover{transform:scale(1.1)}

/* ── COMPARADOR ─────────────────────────────────────────── */
.rk-comparador{margin:2rem 0}
.rk-comp-tabs{display:flex;gap:2px;margin-bottom:1.5rem;flex-wrap:wrap}
.rk-comp-tab{font-family:var(--fuente-ui);font-size:clamp(.85rem,1.2vw,1.1rem);font-weight:400;padding:10px clamp(1rem,2vw,1.6rem);border:none;cursor:pointer;transition:background .3s,color .3s}
.rk-comp-tab:first-child{border-radius:4px 0 0 4px}
.rk-comp-tab:last-child{border-radius:0 4px 4px 0}
.fondo-azul-oxford .rk-comp-tab{background:var(--color-gris-koala);color:var(--color-azul-oxford)}
.fondo-azul-oxford .rk-comp-tab.active{background:var(--color-acento);color:var(--color-gris-koala)}
.fondo-azul-oxford .rk-comp-tab:hover:not(.active){background:var(--color-blanco);color:var(--color-azul-oxford)}
.fondo-gris-koala .rk-comp-tab{background:var(--color-blanco);color:var(--color-azul-oxford)}
.fondo-gris-koala .rk-comp-tab.active{background:var(--color-azul-oxford);color:var(--color-gris-koala)}
.rk-comp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5px}
.rk-comp-card{background:rgba(148,150,154,.08);padding:clamp(1.5rem,3vw,2.5rem);transition:background .3s}
.rk-comp-card.highlight{background:var(--color-acento)}
.rk-comp-card-tag{font-family:var(--fuente-ui);font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem;color:var(--color-texto-principal)}
.rk-comp-card.highlight .rk-comp-card-tag,.rk-comp-card.highlight h4,.rk-comp-card.highlight .rk-comp-label,.rk-comp-card.highlight .rk-comp-value{color:var(--color-gris-koala)}
.rk-comp-card h4{font-family:var(--fuente-headline);font-size:clamp(1.3rem,2.5vw,1.8rem);font-weight:400;color:var(--color-titulos);margin-bottom:1rem}
.rk-comp-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(148,150,154,.15);font-size:clamp(.8rem,1vw,.9rem)}
.rk-comp-row:last-child{border-bottom:none}
.rk-comp-label{font-weight:300;color:var(--color-texto-principal)}
.rk-comp-value{font-weight:600;color:var(--color-blanco)}

/* ── EQUIPO ─────────────────────────────────────────────── */
.rk-equipo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin:2rem 0}
.rk-persona{text-align:left}
.rk-persona-foto{width:clamp(100px,15vw,140px);height:clamp(100px,15vw,140px);border-radius:50%;background:rgba(148,150,154,.12);margin:0 0 1rem;display:flex;align-items:center;justify-content:center;font-family:var(--fuente-hairline);font-size:clamp(2rem,4vw,3rem);color:var(--color-texto-principal)}
.rk-persona-nombre{font-family:var(--fuente-headline);font-size:clamp(1rem,1.5vw,1.2rem);font-weight:400;color:var(--color-titulos)}
.rk-persona-rol{font-family:var(--fuente-ui);font-size:clamp(.75rem,.9vw,.85rem);font-weight:300;color:var(--color-texto-principal);margin-top:.3rem}
/* Logos colaboradores — DS 8.1: preferir fill="currentColor" en SVGs */
.rk-logos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center;margin:2rem 0;color:var(--color-texto-principal)}
.rk-logo-item{display:flex;align-items:center;min-height:clamp(58px,8vw,80px)}
.rk-logo-item img,.rk-logo-item svg{max-width:clamp(120px,18vw,200px);max-height:clamp(48px,7vw,72px);width:auto;height:auto;object-fit:contain;opacity:.4;transition:opacity var(--dur-med)}
.rk-logo-item:hover img,.rk-logo-item:hover svg{opacity:.75}
/* Fallback CSS filter for raster/colored logos */
.rk-logo-item img:not([src$=".svg"]){filter:grayscale(1) brightness(.6) contrast(1.2);opacity:.7}
.rk-logo-item:hover img:not([src$=".svg"]){opacity:1;filter:grayscale(0) brightness(1) contrast(1)}
.fondo-azul-oxford .rk-logo-item img:not([src$=".svg"]){filter:grayscale(1) brightness(2.5) contrast(.8);opacity:.5}
.fondo-azul-oxford .rk-logo-item:hover img:not([src$=".svg"]){filter:grayscale(1) brightness(3) contrast(1);opacity:.8}
.fondo-gris-koala .rk-logo-item img:not([src$=".svg"]){filter:grayscale(1) brightness(.4) contrast(1.1);opacity:.6}
.fondo-gris-koala .rk-logo-item:hover img:not([src$=".svg"]){filter:grayscale(0) brightness(1) contrast(1);opacity:1}
.rk-logo-text{font-family:var(--fuente-ui);font-size:clamp(1rem,1.4vw,1.3rem);font-weight:100;color:var(--color-texto-principal)}
.rk-logo-text.bold{font-weight:600}
@media(max-width:820px){.rk-logos-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.rk-logos-grid{grid-template-columns:repeat(2,1fr)}.rk-equipo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:390px){.rk-logos-grid{grid-template-columns:1fr 1fr}.rk-equipo-grid{grid-template-columns:1fr}}

/* ── COOKIES ────────────────────────────────────────────── */
.rk-cookies{position:fixed;bottom:0;left:0;right:0;z-index:300;background:var(--color-azul-oxford);border-top:1px solid var(--color-acento);padding:1.2rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;transform:translateY(100%);transition:transform .5s var(--ease-expo)}
.rk-cookies.show{transform:translateY(0)}
.rk-cookies-text{font-family:var(--fuente-ui);font-size:clamp(.75rem,1vw,.85rem);font-weight:300;color:var(--color-gris-koala);flex:1;min-width:200px;line-height:1.6}
.rk-cookies-text a{color:var(--color-blanco);text-decoration:underline}
.rk-cookies-btns{display:flex;gap:.5rem;flex-shrink:0}
.rk-cookies-btn{font-family:var(--fuente-ui);font-size:.75rem;font-weight:600;padding:.5rem 1.2rem;border-radius:3px;border:none;cursor:pointer;transition:all .2s}
.rk-cookies-accept{background:var(--color-gris-koala);color:var(--color-azul-oxford)}
.rk-cookies-accept:hover{background:var(--color-blanco)}
.rk-cookies-config{background:transparent;color:var(--color-gris-koala);border:1px solid var(--color-gris-koala)}
.rk-cookies-config:hover{background:var(--color-gris-koala);color:var(--color-azul-oxford)}

/* ── GALERÍA HORIZONTAL ─────────────────────────────────── */
.rk-hgallery{position:relative;height:350vh}
.rk-hgallery-sticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.rk-hgallery-label{font-family:var(--fuente-ui);font-size:clamp(.65rem,.8vw,.75rem);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--color-texto-principal);padding:0 var(--gutter);margin-bottom:1rem}
.rk-hg-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-acento);margin-right:.6rem;vertical-align:middle}
.rk-hgallery-text{font-family:var(--fuente-hairline);font-size:clamp(3.5rem,12vw,10rem);font-weight:100;line-height:.95;letter-spacing:-.03em;color:var(--color-titulos);white-space:nowrap;padding:0 var(--gutter);will-change:transform}
.rk-hgallery-text em{font-style:italic;color:var(--color-acento);font-family:var(--fuente-headline)}
.rk-hgallery-track{display:flex;gap:clamp(10px,1.5vw,20px);padding:clamp(1.5rem,3vw,3rem) var(--gutter);will-change:transform}
.rk-hg-item{flex-shrink:0;width:clamp(260px,32vw,440px);border-radius:4px;overflow:hidden;position:relative}
.rk-hg-item img,.rk-hg-item .img-placeholder{width:100%;height:clamp(180px,25vw,340px);object-fit:cover;display:block;transition:transform 1s var(--ease-expo)}
.rk-hg-item:hover img,.rk-hg-item:hover .img-placeholder{transform:scale(1.04)}
.rk-hg-item-label{position:absolute;bottom:0;left:0;right:0;padding:.7rem .9rem;background:linear-gradient(0deg,rgba(27,30,39,.65),transparent);font-family:var(--fuente-ui);font-size:clamp(.65rem,.9vw,.8rem);font-weight:500;color:var(--color-gris-koala)}
.rk-hgallery-counter{font-family:var(--fuente-ui);font-size:.75rem;font-weight:300;color:var(--color-texto-principal);padding:0 var(--gutter);margin-top:.8rem}
.rk-hgallery-counter strong{font-weight:600;color:var(--color-blanco)}
.rk-zoom-overlay{position:fixed;inset:0;z-index:200;background:rgba(27,30,39,.92);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-expo);cursor:zoom-out;backdrop-filter:blur(8px)}
.rk-zoom-overlay.open{opacity:1;pointer-events:auto}
.rk-zoom-overlay img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:4px;transform:scale(.92);transition:transform .5s var(--ease-expo)}
.rk-zoom-overlay.open img{transform:scale(1)}
.rk-zoom-close{position:absolute;top:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem);width:40px;height:40px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rk-zoom-close::before,.rk-zoom-close::after{content:'';position:absolute;width:24px;height:1.5px;background:var(--color-gris-koala)}
.rk-zoom-close::before{transform:rotate(45deg)}
.rk-zoom-close::after{transform:rotate(-45deg)}
@media(max-width:600px){.rk-hgallery{height:300vh}.rk-hg-item{width:clamp(220px,70vw,320px)}}

/* ── VISOR PLANOS v4.3 ──────────────────────────────────── */
.rk-plano-container{background:var(--color-gris-koala);border-radius:4px;padding:clamp(1.5rem,4vw,3rem);min-height:clamp(250px,45vw,420px);display:flex;align-items:center;justify-content:center;margin:2rem 0}
.rk-floor-tabs{display:flex;gap:2px;margin-bottom:1.5rem;flex-wrap:wrap}
.rk-floor-tab{font-family:var(--fuente-ui);font-size:clamp(.85rem,1.2vw,1.1rem);font-weight:400;padding:10px clamp(1rem,2vw,1.6rem);border:none;cursor:pointer;transition:background .3s,color .3s}
.rk-floor-tab:first-child{border-radius:4px 0 0 4px}
.rk-floor-tab:last-child{border-radius:0 4px 4px 0}
.fondo-azul-oxford .rk-floor-tab{background:var(--color-gris-koala);color:var(--color-azul-oxford)}
.fondo-azul-oxford .rk-floor-tab.active{background:var(--color-acento);color:var(--color-gris-koala)}
.rk-plano-info{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-acento)}
.rk-plano-info-title{font-family:var(--fuente-headline);font-size:clamp(2rem,3vw,2.5rem);font-weight:400;color:var(--color-titulos);line-height:1.3}
.rk-plano-stat-v{font-family:var(--fuente-hairline);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:100;color:var(--color-acento);line-height:1}
.rk-plano-stat-l{font-family:var(--fuente-ui);font-size:clamp(.7rem,.9vw,.8rem);font-weight:500;color:var(--color-texto-principal);margin-top:.4rem}

/* ── SCROLL IND ─────────────────────────────────────────── */
.scroll-ind{position:absolute;bottom:clamp(1.5rem,3vw,2.5rem);right:var(--gutter);display:flex;flex-direction:column;align-items:center;gap:.5rem}
.scroll-ind-line{width:1px;height:48px;background:var(--color-gris-koala);animation:scrollLine 2.4s var(--ease-inout) infinite}
.scroll-ind-text{font-family:var(--fuente-ui);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-gris-koala);writing-mode:vertical-rl;font-weight:100}

/* ── FOOTER ─────────────────────────────────────────────── */
.rk-footer{padding:var(--sp-5) var(--gutter);border-top:1px solid var(--color-texto-principal)}
.rk-footer-in{max-width:var(--max-w-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}
.rk-footer-copy{font-family:var(--fuente-ui);font-size:clamp(.75rem,.3vw+.65rem,.875rem);color:var(--color-texto-principal);font-weight:300}
.rk-footer-links{display:flex;gap:var(--sp-5)}
.rk-footer-links a{font-family:var(--fuente-ui);font-size:clamp(.75rem,.3vw+.65rem,.875rem);color:var(--color-texto-principal);font-weight:300}
.rk-footer-links a:hover{color:var(--color-blanco)}

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:768px){.rk-card-grid{grid-template-columns:1fr}.rk-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.rk-stat-grid{grid-template-columns:repeat(2,1fr)}.rk-card-floor{flex-direction:column;gap:.2rem}}
@media(max-width:430px) and (orientation:portrait){.contenedor-galeria .bloque-texto{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:var(--sp-4) 16px}}
@media(max-width:390px){:root{--gutter:.9rem}}
@media(min-width:1440px){:root{--max-w:1360px;--max-w-w:1440px;--gutter:clamp(3rem,4vw,5rem)}}
@media(min-width:1700px){:root{--max-w:1480px;--max-w-w:1560px}}
@media(min-width:2100px){:root{--max-w:1680px;--max-w-w:1780px}}

/* ── DS ANNOTATIONS ─────────────────────────────────────── */
.ds-id{font-family:monospace;font-size:.55rem;font-weight:400;letter-spacing:.04em;padding:.15rem .4rem;border-radius:2px;display:inline-block;margin-bottom:.5rem}
.fondo-azul-oxford .ds-id,.fondo-marron-cedar .ds-id{background:rgba(148,150,154,.1);color:var(--color-gris-koala)}
.fondo-gris-koala .ds-id{background:rgba(27,30,39,.08);color:var(--color-azul-oxford)}
.ds-sep{border:none;height:1px;background:rgba(148,150,154,.15);margin:var(--sp-6) 0}
.ds-note{font-family:var(--fuente-ui);font-size:.65rem;font-weight:300;color:var(--color-texto-principal);opacity:.5;margin-top:.5rem}

.rk-logo{display:flex;align-items:center;text-decoration:none}
.rk-hamburger{display:flex;flex-direction:column;gap:6px;width:28px;height:28px;justify-content:center;background:none;border:none;cursor:pointer;padding:0}
.rk-hamburger span{display:block;width:100%;height:1.5px;background:var(--color-gris-koala);transform-origin:center;transition:transform var(--dur-med) var(--ease-expo),opacity var(--dur-fast)}
.rk-hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.rk-hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.rk-hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.rk-nav-mobile{position:fixed;inset:0;background:var(--color-azul-oxford-translucido,rgba(27,30,39,.95));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:99;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:calc(var(--header-h) + var(--sp-5)) var(--gutter) clamp(3rem,7vw,5rem);gap:var(--sp-3);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-quart)}
.rk-nav-mobile.open{opacity:1;pointer-events:auto}
.rk-nav-mobile a{font-family:var(--fuente-display);font-size:clamp(2.5rem,8vw,4.5rem);font-weight:400;line-height:1.15;color:var(--color-gris-koala);text-decoration:none;transition:color var(--dur-fast),transform var(--dur-fast) var(--ease-expo)}
.rk-nav-mobile a:hover{color:var(--color-blanco);transform:translateX(6px)}
.rk-nav-mobile::after{content:'';width:40px;height:1px;background:var(--color-marron-cedar);margin-top:var(--sp-3)}

@media(max-width:768px){.rk-nav{display:none}}
@media(min-width:769px){.rk-hamburger{display:none}}

