@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-Light.woff2') format('woff2'), url('../webfonts/SourceSansPro-Light.woff') format('woff'); font-weight:300; font-style:normal; font-display:swap; }
@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-LightIt.woff2') format('woff2'), url('../webfonts/SourceSansPro-LightIt.woff') format('woff'); font-weight:300; font-style:italic; font-display:swap; }
@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-Regular.woff2') format('woff2'), url('../webfonts/SourceSansPro-Regular.woff') format('woff'); font-weight:normal; font-style:normal; font-display:swap; }
@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-It.woff2') format('woff2'), url('../webfonts/SourceSansPro-It.woff') format('woff'); font-weight:normal; font-style:italic; font-display:swap; }
@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-Semibold.woff2') format('woff2'), url('../webfonts/SourceSansPro-Semibold.woff') format('woff'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-SemiboldIt.woff2') format('woff2'), url('../webfonts/SourceSansPro-SemiboldIt.woff') format('woff'); font-weight:600; font-style:italic; font-display:swap; }
@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-Bold.woff2') format('woff2'), url('../webfonts/SourceSansPro-Bold.woff') format('woff'); font-weight:bold; font-style:normal; font-display:swap; }
@font-face { font-family:'Source Sans Pro'; src:url('../webfonts/SourceSansPro-BoldIt.woff2') format('woff2'), url('../webfonts/SourceSansPro-BoldIt.woff') format('woff'); font-weight:bold; font-style:italic; font-display:swap; }

@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-Book.woff2') format('woff2'), url('../webfonts/Gotham-Book.woff') format('woff'); font-weight:normal; font-style:normal; font-display:swap; }
@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-BookItalic.woff2') format('woff2'), url('../webfonts/Gotham-BookItalic.woff') format('woff'); font-weight:normal; font-style:italic; font-display:swap; }
@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-MediumItalic.woff2') format('woff2'), url('../webfonts/Gotham-MediumItalic.woff') format('woff'); font-weight:500; font-style:italic; font-display:swap; }
@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-Medium.woff2') format('woff2'), url('../webfonts/Gotham-Medium.woff') format('woff'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-Bold.woff2') format('woff2'), url('../webfonts/Gotham-Bold.woff') format('woff'); font-weight:bold; font-style:normal; font-display:swap; }
@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-BoldItalic.woff2') format('woff2'), url('../webfonts/Gotham-BoldItalic.woff') format('woff'); font-weight:bold; font-style:italic; font-display:swap; }
@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-Black.woff2') format('woff2'), url('../webfonts/Gotham-Black.woff') format('woff'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'Gotham'; src:url('../webfonts/Gotham-BlackItalic.woff2') format('woff2'), url('../webfonts/Gotham-BlackItalic.woff') format('woff'); font-weight:900; font-style:italic; font-display:swap; }

:root {

  /* Colores */
  --ochodoble-white: #FFFFFF;
  --ochodoble-orange: #F85508;
  --ochodoble-orange-dark: #E74011;
  --ochodoble-blue: #0111A2;
  --ochodoble-blue-dark: #00194F;
  --ochodoble-black: #000000;
  --ochodoble-bg-light: #F4F4F4;
  --ochodoble-text-dark: var(--ochodoble-blue-dark);

  /* Fonts */
  --ochodoble-font-heading: 'Gotham', sans-serif;
  --ochodoble-font-body: 'Source Sans Pro', sans-serif;

  /* Tamaños (rems) */
  --text-xs: 0.75rem;     /* 12px */
  --text-sm: 0.875rem;    /* 14px */
  --text-base: 1rem;      /* 16px - Referencia */
  --text-body: 1.125rem;  /* 18px - Texto base */
  --text-md: 1.25rem;     /* 20px */
  --text-lg: 1.5rem;      /* 24px */
  --text-xl: 1.75rem;     /* 28px */
  --text-2xl: 2rem;       /* 32px */
  --text-3xl: 2.5rem;     /* 40px */
  --text-4xl: 3rem;       /* 48px */
  --text-5xl: 4rem;       /* 64px */
  --text-6xl: 5.375rem;   /* 86px - Hero */
  
  /* Espaciados (rem) */
  --spacing-xs: 0.25rem;  /* 4px */
  --spacing-sm: 0.5rem;   /* 8px */
  --spacing-md: 1rem;     /* 16px */
  --spacing-lg: 1.5rem;   /* 24px */
  --spacing-xl: 2rem;     /* 32px */
  --spacing-2xl: 3rem;    /* 48px */
  --spacing-3xl: 4rem;    /* 64px */
  --spacing-4xl: 6rem;    /* 96px */
  
  /* Radios */
  --radius-sm: 0.5rem;    /* 8px */
  --radius-md: 0.75rem;   /* 12px */
  --radius-lg: 1rem;      /* 16px */
  --radius-xl: 1.5rem;    /* 24px */
  --radius-full: 50px;

  /* z-index */
  --z-base: 0;
  --z-above: 1;
  --z-nav: 100;
  --z-modal: 1000;
  --z-overlay: 999;
  
  /* Trucante */
  --truncate-lines: 3;
  --truncate-line-height: 1.5;
  
  /* Bootstrap Overrides */
  --bs-body-font-family: var(--ochodoble-font-body);
  --bs-body-color: var(--ochodoble-text-dark);
  --bs-link-color: var(--ochodoble-orange);
  --bs-link-hover-color: var(--ochodoble-orange-dark);
  /*--bs-link-hover-color:#b30026; */

}

/* ============================================
   ESTILOS GLOBALES
   ============================================ */
html { font-size:16px; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { padding-top:82px; overflow-x:hidden; font-family:var(--ochodoble-font-body); font-size:var(--text-md); line-height:1.6; background-color:var(--ochodoble-white); color:var(--ochodoble-text-dark); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 { font-family:var(--ochodoble-font-heading); font-weight:bold; margin-bottom:1rem; }
a { text-decoration:none; transition:all 0.3s; }
img { display:block; max-width:100%; height:auto; }
section { scroll-margin-top:82px; }
* { outline:none; }

.ratio > img { object-fit:cover; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; transition:all 0.3s; }
.ratio-3x2 { --bs-aspect-ratio: 66.6666666667%; }
.rounded { border-radius:var(--radius-lg) !important; overflow:hidden; }

/* Utilidades de texto */
.text-white { color:var(--ochodoble-white) !important; }
.text-orange { color:var(--ochodoble-orange) !important; }
.text-orange-dark { color:var(--ochodoble-orange-dark) !important; }
.text-blue { color:var(--ochodoble-blue) !important; }
.text-blue-dark { color:var(--ochodoble-blue-dark) !important; }
.text-black { color:var(--ochodoble-black) !important; }

.truncate-3-lines, .truncate-2-lines, .truncate-4-lines, .truncate-5-lines { display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; text-overflow:ellipsis; word-wrap:break-word; line-height:var(--truncate-line-height, 1.5); }
.truncate-3-lines { -webkit-line-clamp:3; max-height:calc(var(--truncate-line-height, 1.5em) * 3); }
.truncate-2-lines { -webkit-line-clamp:2; max-height:calc(var(--truncate-line-height, 1.5em) * 2); }
.truncate-4-lines { -webkit-line-clamp:4; max-height:calc(var(--truncate-line-height, 1.5em) * 4); }
.truncate-5-lines { -webkit-line-clamp:5; max-height:calc(var(--truncate-line-height, 1.5em) * 5); }

/* Bootstrap Overrides */
.card, .card-header, .card-body, .card-footer { border:0px none; background:transparent; padding:0; }

.bullet-icon { list-style:none; margin-left:0; padding-left:0; }
.bullet-icon li { display:flex; min-height:24px; margin:.5rem 0; }
.bullet-icon li::before { display:block; flex:0 0 24px; width:24px; height:24px; content:''; margin:2px .5rem 0 0; background:url('../img/icono-bullet-check.svg') no-repeat center center; background-size:contain; }

/* ============================================
   BOTONES
   ============================================ */
.btn-ochodoble { display:inline-flex; align-items:center; justify-content:center; gap:var(--spacing-sm); font-family:var(--ochodoble-font-heading); font-size:var(--text-base); font-weight:500; text-decoration:none; padding:0.6rem 1.25rem; border:1px solid transparent; border-radius:var(--radius-full); cursor:pointer; }
.btn-ochodoble-primary { color:var(--ochodoble-white) !important; background-color:var(--ochodoble-orange-dark);  border-color:var(--ochodoble-orange-dark); }
.btn-ochodoble-primary:hover { color:var(--ochodoble-white); background-color:var(--ochodoble-orange); border-color:var(--ochodoble-orange);  }
.btn-ochodoble-outline { color:var(--ochodoble-blue-dark); background-color:transparent; border-color:var(--ochodoble-blue-dark); }
.btn-ochodoble-outline:hover { color:var(--ochodoble-white); background-color:var(--ochodoble-orange); }

.btn-icono { display:inline-flex; align-items:center; gap:var(--spacing-sm); }
.btn-icono:after { display:block; width:16px; height:16px; content:''; background:url('../img/btn-icono-flecha-der-negro.svg') no-repeat center; background-size:contain; transition:all 0.3s; }
.btn-icono:hover:after { filter:brightness(0) invert(1); }

.btn-descargar { display:inline-flex; align-items:center; gap:var(--spacing-sm); }
.btn-descargar:after { display:block; width:16px; height:16px; content:''; background:url('../img/icono-descargar.svg') no-repeat center; background-size:120%; transition:all 0.3s; }

.link-volver { display:inline-flex; align-items:center; gap:var(--spacing-sm); font-size:var(--text-sm); font-weight:500; color:var(--ochodoble-font-body); }
.link-volver:before { display:block; width:16px; height:16px; content:''; background:url('../img/btn-icono-flecha-izq-negro.svg') no-repeat center; background-size:contain; }

.stretched-link::after { z-index:2; }

.ochodoble-section-header { margin-bottom:3rem; }
.ochodoble-section-subtitle { font-weight:bold; font-size:var(--text-sm); font-family:var(--ochodoble-font-heading); text-transform:uppercase; color:var(--ochodoble-orange); letter-spacing:2%; margin-bottom:.5rem; }
.ochodoble-section-title { font-size:var(--text-3xl); line-height:1.05; margin-bottom:1.5rem; }
.ochodoble-section-title u { color:var(--ochodoble-orange); }
.ochodoble-section-text { font-size:var(--text-md); margin-bottom:0; }

/* ============================================
   HEADER / NAVBAR - COMPLETO
   ============================================ */

/* === ESTILOS BASE (Desktop) === */
.ochodoble-header { background-color:var(--ochodoble-white); z-index: var(--z-nav); transition:all 0.3s ease;  }
.ochodoble-header.ochodoble-header-transparent {  background-color: transparent;  transition:background-color 0.3s ease, box-shadow 0.3s ease; }
.ochodoble-header.ochodoble-header-transparent .nav-link { color:var(--ochodoble-white); }
.ochodoble-header .navbar-toggler { padding:0; border:0; border-radius:0; }
.ochodoble-header .navbar-toggler:focus, .ochodoble-header .navbar-toggler:focus-visible { outline:none; box-shadow:none; border:0px none transparent; }
.ochodoble-header.ochodoble-header-transparent .navbar-toggler-icon {  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }

.ochodoble-header.ochodoble-header-fixed { background:var(--ochodoble-white); box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08); }
.ochodoble-header.ochodoble-header-fixed .nav-link { color:var(--ochodoble-black); }
.ochodoble-header.ochodoble-header-fixed .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important; }

.navbar { height:80px; padding-top:0; padding-bottom:0; }
.navbar-brand { padding:0; }
.navbar-brand img { height:38px; width:auto; }
.ochodoble-header.ochodoble-header-transparent .navbar-brand img { content: url('../img/logo-ochodoble-blanco.svg'); }
.ochodoble-header.ochodoble-header-fixed .navbar-brand img { content: url('../img/logo-ochodoble.svg'); }

/* === NAVEGACIÓN === */
.navbar-nav { gap:var(--spacing-2xl); }
.nav-link { position:relative; font-family:var(--ochodoble-font-heading); font-size:13px; font-weight:500; color:var(--ochodoble-black); text-transform:uppercase; padding:0 !important; }
.nav-link::after { position:absolute; left:0; top:100%; width:0; height:2px; content:''; background:var(--ochodoble-orange); transition:all 0.3s; }
.nav-link:hover { color:var(--ochodoble-orange) !important; }
.nav-link:hover::after { width:100%; }

/* ============================================
   OVERLAY (MÓVIL/TABLET)
   ============================================ */

.navbar-overlay { position:fixed; top:0; left:0; width:100vw; height:100vh; background:rgba(0, 0, 0, 0.4); /*backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px);*/ z-index:1040; opacity:0; visibility:hidden; transition:opacity 0.4s ease, visibility 0.4s ease; display:none; }
.navbar-overlay.active { opacity:1; visibility:visible; }

@media (max-width: 991.98px) {
  .navbar-overlay { display:block; }
  .navbar-collapse { position:fixed; top:0; right:0; width:100%; max-width:400px; height:100vh; min-height:100vh; padding:0 30px; background:var(--ochodoble-white); transform:translateX(100%); transition:transform 0.4s cubic-bezier(0.22, 1, 0.36, 1); overflow-y:auto; z-index:1050; display:block !important; box-shadow:-10px 0 60px rgba(0, 0, 0, 0.1); border-top:none; will-change:transform; backface-visibility:hidden; -webkit-backface-visibility:hidden; opacity:0; pointer-events:none; }
  .navbar-collapse.show { opacity:1; transform:translateX(0); pointer-events:auto; }
  .navbar-collapse .panel-header { display:flex; align-items:center; justify-content:space-between; height:80px; margin-bottom:2rem; }
  .navbar-collapse .panel-header .panel-logo img { height:38px; width:auto; }
  .navbar-collapse .panel-header .panel-close {  display:flex; align-items:center; justify-content:center; width:30px; height:30px; font-size:1.25rem; color:var(--ochodoble-black); padding:0; background:transparent; border:none; border-radius:0; cursor: pointer; transition: all 0.3s ease; }
  .navbar-collapse .navbar-nav { flex-direction:column;  align-items:flex-start; gap:1.5rem; width:100%; }
  .navbar-collapse .nav-item { width:100%; text-align:left; padding:0; }
  .navbar-collapse .nav-link { font-size:var(--text-lg); font-weight:500; color:var(--ochodoble-black) !important; text-transform:uppercase; padding:0.5rem 0; }
  .navbar-collapse .nav-link::after { display:none; }
  .navbar-collapse .nav-link:hover { color:var(--ochodoble-orange) !important; }

  .navbar-collapse { height:auto; min-height:auto; overflow-y:visible; padding:0 30px 7rem; border-bottom-left-radius:1rem; }
}

@media (min-width: 992px) {
  .navbar-overlay { display: none !important; }
  .navbar-collapse .panel-header { display: none !important; }
  .navbar-collapse .navbar-nav { flex-direction: row !important; gap: var(--spacing-2xl) !important; align-items: center !important; width: auto !important; }
}
@media (max-width: 767.98px) {
  .navbar, .navbar-collapse .panel-header { height:64px; }
  .navbar-collapse .panel-header .panel-logo img { height:32px; }
}
@media (max-width: 575.98px) {
  .navbar-collapse { max-width:none; padding:0 28px; }
  .navbar-collapse { padding:0 28px 6rem; border-radius:0; }
}

.section-dark { color:var(--ochodoble-white); background:#171615; }
.section-dark a { color:var(--ochodoble-white); }

/* ============================================
   INSIGHTS / LO ÚLTIMO
   ============================================ */
.ochodoble-insights { background-color:var(--ochodoble-white); }
.ochodoble-card-insight { position:relative; background:var(--ochodoble-white); border-radius:var(--radius-lg); border:0px none; padding:0; transition:transform 0.3s ease, box-shadow 0.3s ease; }
.card-insight__category { font-size:var(--text-sm); font-family:var(--ochodoble-font-heading); color:var(--ochodoble-orange); }
.card-insight__date { font-size:var(--text-sm); }
.ochodoble-card-insight .stretched-link { font-family:var(--ochodoble-font-heading); font-weight:500; font-size:var(--text-sm); color:var(--ochodoble-black); text-transform:uppercase; text-decoration:none; }
.ochodoble-card-insight .stretched-link:hover { color:var(--ochodoble-orange); }


.home { padding:0; }
.home main section:not(.ochodoble-hero) { padding:7rem 0; }

/* Hero */
.ochodoble-hero { position:relative; display:flex; align-items:flex-end; height:100vh; color:var(--ochodoble-white); background:var(--ochodoble-black); overflow:hidden; }
.ochodoble-hero video { position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; z-index:var(--z-base); }
.ochodoble-hero::before { position:absolute; left:0; top:0; width:100%; height:100%; content:''; background:var(--ochodoble-black); opacity:.4; z-index:1; }
.ochodoble-hero .container-xl { position:relative; z-index:2; padding-top:5rem; padding-bottom:10%; }
.ochodoble-hero__content h1 { font-weight:900; font-size:clamp(2.5rem, 5vw, 5rem); line-height:.95; color:var(--ochodoble-white); margin-bottom:2rem; }
.ochodoble-hero__content h1 u { position:relative; display:inline-block; text-decoration:none; }
.ochodoble-hero__content h1 u:after { position:absolute; top:calc(100% + 3px); left:4px; width:calc(100% - 8px); height:8px; content:''; background:var(--ochodoble-white); white-space:nowrap; }
.ochodoble-hero__content p { font-weight:400; font-size:var(--text-xl); line-height:1.6; margin-bottom:2rem; }
.ochodoble-hero__content p strong { font-weight:700; }

@media (max-width: 767.98px) {
   body { font-size: }
   .navbar-brand img { height:32px; }
  .ochodoble-hero__content-top h1 { font-size:2rem; line-height:1.2; }
  .ochodoble-hero__content-bottom { padding:0; }
}

/* NOSOTROS */
.ochodoble-nosotros { background-color:var(--ochodoble-bg-light); }
.ochodoble-nosotros .ratio { position:relative; overflow:hidden; background:#000; cursor:pointer; }
@media (min-width:1200px) { 
  .ochodoble-nosotros .ratio { transform:scale(1.05); transform-origin:center right; }
}
.ochodoble-nosotros .ratio video { display:block; width:100%; height:100%; object-fit:cover;  }
.ochodoble-video-play { position:absolute; top:50%; left:50%; transform:translate(-50%, -50%) scale(0.8); display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:rgba(255, 255, 255, 0.9); border:none; cursor:pointer; opacity:0; visibility:hidden; transition:all 0.3s cubic-bezier(0.22, 1, 0.36, 1); z-index:10; box-shadow:0 8px 30px rgba(0, 0, 0, 0.2); padding:0; }
.ochodoble-video-play i { font-size:1.5rem; color:var(--ochodoble-blue-dark); margin-left:4px; }
.ochodoble-nosotros .ratio:hover .ochodoble-video-play { opacity:1; visibility:visible; transform:translate(-50%, -50%) scale(1); }
.ochodoble-video-play:hover { background:#ffffff; transform:translate(-50%, -50%) scale(1.05) !important; box-shadow:0 12px 40px rgba(0, 0, 0, 0.3); }

@media (max-width:768px) { 
  .ochodoble-video-play { width:50px; height:50px; }
  .ochodoble-video-play i { font-size:1.2rem; }
}
@media (max-width:480px) { 
  .ochodoble-video-play { width:44px; height:44px; }
  .ochodoble-video-play i { font-size:1rem; }
}

.circles-wrapper { position:relative; width:100%; aspect-ratio:12.5/9; }
.circles-wrapper .circle-item { position:absolute; top:0; left:0; width:auto; height:100%; aspect-ratio:1/1; border-radius:50%; overflow:hidden; } 
.circles-wrapper .circle-video { z-index:3; }
.circles-wrapper .circle-item-2 { left:50%; transform:translateX(-50%); content:''; background:var(--ochodoble-orange); z-index:2; }
.circles-wrapper .circle-item-3 { left:auto; right:0; content:''; background:var(--ochodoble-blue); z-index:1; }
.circles-wrapper .circle-video .circle-mask { position:relative; width:100%; height:100%; }
.circles-wrapper .circle-video .circle-mask video { display:block; width:100%; height:100%; object-fit:cover; }


/* CÓMO TRABAJAMOS */
.card-fase { position:relative; height:100%; color:var(--ochodoble-white); padding:2rem; border-radius:var(--radius-lg); overflow:hidden; }
.card-fase > img { position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:center top; z-index:0; }
.card-fase .card-header { height:auto; aspect-ratio:4/3; }
.card-fase .card-body { position:relative; font-size:var(--text-body); line-height:1.4; z-index:2; }
.card-fase .card-body h3 { font-size:var(--text-md); line-height:1.4; }
.card-fase.card-reverse { flex-direction:column-reverse; }
.card-fase.card-reverse > img { object-position:center bottom; }
#fase-1.card-fase::before { position:absolute; top:0; left:0; width:100%; height:60%; content:''; background: linear-gradient(180deg, #393433 0%, rgba(54,51,50,0.7) 50%, rgba(54,51,50,0) 100%); pointer-events:none; z-index:1; opacity:0.5; }

.camino { position:relative; color:var(--ochodoble-white); text-align:center; margin-top:1.5rem; padding:3rem 2rem; background:var(--ochodoble-blue-dark); border-radius:var(--radius-lg); overflow:hidden; }
.camino > video, .camino > img { position:absolute; left:0; top:50%; transform:translateY(-50%); width:100%; height:100%; object-fit:cover; z-index:0; }
.camino .camino-body { position:relative; z-index:1; }
.camino p { font-size:var(--text-lg); font-family:var(--ochodoble-font-heading); }
.camino ul { display:flex; align-items:center; justify-content:center; list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.camino ul li { position:relative; display:flex; align-items:center; font-weight:500; font-size:var(--text-base); font-family:var(--ochodoble-font-heading); color:var(--ochodoble-white); white-space:nowrap; }
.camino ul li::after { content:''; position:absolute; right:20px; width:48px; height:16px; background:url('../img/camino-flecha.svg') no-repeat center; background-size:contain; pointer-events:none; }
.camino ul li:last-child::after { display:none; }
.camino ul li:not(:last-child) { padding-right:88px; }
/* Mobile - Zigzag 2x2 */
@media (max-width:767.98px) { 
  .camino ul { display:grid; grid-template-columns:1fr 1fr; gap:20px 30px; max-width:400px; margin:0 auto; position:relative; }
  .camino ul li { padding:12px 20px; margin:0 !important; justify-content:center; }
  .camino ul li::after { content:''; position:absolute; right:-20px; width:24px; height:14px; background:url('../img/camino-flecha.svg') no-repeat center; background-size:contain; display:block; }
  .camino ul li:nth-child(even)::after { display:none; }
  .camino ul li:last-child::after { display:none !important; }
  .camino ul::after { content:''; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); width:24px; height:24px; background:url('../img/camino-flecha-2.svg') no-repeat center; background-size:contain; z-index:2; pointer-events:none; }
}
@media (max-width:575.98px) { 
  .camino ul { gap:15px 20px; max-width:300px; }
  .camino ul li { padding:10px 16px; font-size:0.85rem; }
  .camino ul li::after { right:-14px; width:18px; height:10px; }
  .camino ul::after { width:20px; height:20px; }
}

/* ============ DESKTOP ============ */
.ochodoble-servicios { background-color:var(--ochodoble-bg-light); }
.servicios-track { display:flex; align-items:center; gap:20px; }
.servicio-card { position:relative; background:var(--ochodoble-white); border-radius:var(--radius-lg); overflow:hidden; flex: 0 0 18%; height:85%; transition:flex-basis .55s cubic-bezier(.22,1,.36,1), height .55s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; cursor:pointer; box-shadow:0 2px 10px rgba(14,42,74,.06); }
.servicio-card-inner { height:100%; display:flex; flex-direction:column; padding:28px; }
.servicio-card:not(.active) .servicio-card-inner { justify-content:space-between; }
.servicio-card:not(.active) .servicio-desc, .servicio-card:not(.active) .servicio-link { display:none; } 
.servicio-number { font-size:57px; font-weight:bold; font-family:var(--ochodoble-font-heading); color:#DCDCE0; line-height:1; transition:opacity .3s ease; }
.servicio-image { position:relative; display:none; width:100%; height:auto; aspect-ratio:16/9; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:3rem; flex-shrink:0; }
.servicio-image img { width:100%;height:100%;object-fit:cover; }
.servicio-icon { display:inline-flex; align-items:center; justify-content:center; width:44px;height:44px; border-radius:10px; background:#EDEDF2; color:var(--ochodoble-blue-dark); font-size:1.05rem; margin-bottom:14px; }
.servicio-card h3 { font-size:var(--text-md); font-weight:500; color:var(--ochodoble-blue-dark); margin-bottom:0; transition:font-size .3s ease; }

/* ============================================
   VIDEO Y HOVER - ESTILOS ADICIONALES
   ============================================ */

/* ============ VIDEO EN CARDS ACTIVAS ============ */
.servicio-image video { width: 100%; height: 100%; object-fit: cover; display: block; background: #000; pointer-events: none; }
.servicio-image video::-webkit-media-controls { display: none !important; }
.servicio-image video::-webkit-media-controls-enclosure { display: none !important; }
.servicio-image video::-webkit-media-controls-panel { display: none !important; }
.servicio-image video::-webkit-media-controls-play-button { display: none !important; }
.servicio-image video::-webkit-media-controls-start-playback-button { display: none !important; }
.servicio-image video::-moz-media-controls { display: none !important; }

/* ============ HOVER EN CARD ACTIVA ============ */
.servicio-card.active .servicio-image { cursor: pointer; }
.servicio-card.active .servicio-image:hover video, .servicio-card.active .servicio-image:hover img { transform: scale(1.03); transition: transform 0.6s ease; }
.servicio-card.active .servicio-image::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.15); opacity: 0; transition: opacity 0.4s ease; pointer-events: none; z-index: 1; }
.servicio-card.active .servicio-image:hover::after { opacity: 1; }

/* ============ MOBILE - VIDEO ============ */
@media (max-width: 1199.98px) {
  .servicio-card-mobile .servicio-image { position:relative; }
  .servicio-card-mobile .servicio-image video { width:100%; height:100%; object-fit:cover; display:block; background:#000; }
  .servicio-card-mobile .servicio-image video::-webkit-media-controls { display:none !important; }
  .servicio-card-mobile .servicio-image video::-webkit-media-controls-enclosure { display:none !important; }
}

.servicio-card.active { flex-basis:41%; height:100%; box-shadow:0 12px 30px rgba(14,42,74,.14); }
.servicio-card.active .servicio-number { display:none; }
.servicio-card.active .servicio-image { display:block; }
.servicio-card.active .servicio-icon { background:var(--ochodoble-orange);color:#fff; }
.servicio-card.active .servicio-icon img { filter:brightness(0) invert(1); }
.servicio-card.active h3 { font-size:var(--text-xl); margin-bottom:12px; }


.servicios-track .servicio-desc, .servicios-track .servicio-link { max-height:0; opacity:0; overflow:hidden; transition:opacity .35s ease .1s; }
.servicios-track .servicio-card.active .servicio-desc, .servicios-track .servicio-card.active .servicio-link { max-height:200px; opacity:1; margin-top:8px; }
.servicio-desc { color:#4A5568; font-size:var(--text-body); line-height:1.55; }
.servicio-link { display:inline-flex; align-items:center; gap:8px; font-size:var(--text-sm); font-weight:bold; font-family:var(--ochodoble-font-heading); color:var(--ochodoble-blue-dark); text-decoration:none; margin-top:16px; }
.servicio-link i { transition:transform .25s ease; }
.servicio-link:hover i { transform:translateX(4px); }

.servicios-arrows { display:flex;gap:12px;justify-content:flex-end;margin-top:28px; }
.servicios-arrow { width:52px;height:52px;border-radius:50%; background:var(--ochodoble-white);border:none; display:flex;align-items:center;justify-content:center; color:var(--ochodoble-blue-dark);box-shadow:0 2px 8px rgba(14,42,74,.08); transition:background .25s ease,color .25s ease; }
.servicios-arrow:hover { background:var(--ochodoble-blue-dark);color:#fff; }

/* ============ MOBILE ============ */
.ochodoble-servicios-mobile { display:none; }
@media (max-width: 1199.98px) { .servicios-track { display:none; }
  .servicios-arrows { display:none; }
  .ochodoble-servicios-mobile { display:block; }

  .servicio-card-mobile { padding:15px; }
  .servicio-card-mobile-inner {   background:var(--ochodoble-white); border-radius:var(--radius-lg); padding:24px; box-shadow:0 8px 24px rgba(14,42,74,.10); }
  .servicio-card-mobile .servicio-image { display:block; width:100%;height:auto; aspect-ratio:16/9; border-radius:var(--radius-lg); overflow:hidden; margin-bottom:18px; }
  .servicio-card-mobile .servicio-image img { width:100%;height:100%; object-fit:cover; }
  .servicio-card-mobile .servicio-icon { background:var(--ochodoble-orange);color:#fff; }
  .servicio-card-mobile h3 { font-size:1.25rem;font-weight:700;color:var(--ochodoble-blue-dark); }
  .servicio-card-mobile .servicio-desc { color:#4A5568;font-size:.95rem;line-height:1.55;margin-top:8px; }
  .servicio-card-mobile .servicio-link {   display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--ochodoble-blue-dark);   text-decoration:none;margin-top:16px; }

  .slick-dots { position:relative;margin-top:20px; }
  .servicios-mobile-arrows { display:flex;gap:12px;justify-content:center;margin-top:20px; }
}


/* Nosotros */
.ochodoble-nosotros .ochodoble-section-title {  }

/* Servicios */
.ochodoble-servicios-slider-nav { display:inline-flex; align-items:center; gap:1rem; }
.ochodoble-servicios-slider-nav button { display:flex; align-items:center; justify-content:center; width:58px; height:58px; color:var(--ochodoble-white); padding:0; border:1.5px solid var(--ochodoble-white); border-radius:var(--radius-full); background-color:transparent; background-repeat:no-repeat; background-position:center center; background-size:20px; opacity:.5; transition: all 0.3s ease; }
.ochodoble-servicios-slider-nav button.slick-prev-custom { background-image:url('../img/slick-prev.svg'); }
.ochodoble-servicios-slider-nav button.slick-next-custom { background-image:url('../img/slick-next.svg'); }
.ochodoble-servicios-slider-nav button:hover { opacity:1; }

.ochodoble-servicios { position:relative; overflow:hidden; }
.ochodoble-servicios .slider-wrapper, .ochodoble-servicios .slider-wrapper .container-xl { position:relative; overflow:visible; }
.ochodoble-servicios .slider-wrapper { margin-bottom:2rem; }
.ochodoble-servicios .ochodoble-servicios-slider { width:100%; max-width:100%; overflow:visible !important; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
/* Clip-path en slick-list */
.ochodoble-servicios .ochodoble-servicios-slider .slick-list { width:100%; overflow:visible !important; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; clip-path:inset(0 -100vw 0 0); -webkit-clip-path:inset(0 -100vw 0 0); }
.ochodoble-servicios .ochodoble-servicios-slider .slick-track { display:flex; margin-left:0; padding-left:0; overflow:visible !important; }
.ochodoble-servicios .ochodoble-servicios-slide { height:auto; margin:0 .75rem; }
.ochodoble-servicios .ochodoble-servicios-slide:first-child { margin-left:0 !important; }
.ochodoble-servicios .ochodoble-servicios-slide:last-child { margin-right:calc((100vw - 100%) / 2 + 12px); }
@media (max-width: 991.98px) {
  .ochodoble-servicios .ochodoble-servicios-slider .slick-list { clip-path:none !important; -webkit-clip-path:none !important; }
  .ochodoble-servicios .ochodoble-servicios-slide:first-child { margin-left:.75rem !important; }
  .ochodoble-servicios .ochodoble-servicios-slide:last-child { margin-right:.75rem; }
}

/* Nosotros */
#nosotros .nosotros-texto p:last-child { margin-bottom:0; }

/* Equipo */
.ochodoble-equipo { background:var(--ochodoble-bg-light); }
.card-miembro { position:relative; height:100%; font-size:var(--text-base); color:#373737; }

.card-miembro .card-body { position:absolute; bottom:1rem; left:1rem; width:calc(100% - 2rem); display:flex; align-items:center; justify-content:space-between; padding:1rem; background-color:var(--ochodoble-white); border-radius:var(--radius-sm); transition:all 0.3s ease; }
.card-miembro .card-body h3 { font-weight:500; font-size:var(--text-md); font-family:var(--ochodoble-font-heading); margin-bottom:0; }
.card-miembro .card-body p { font-size:var(--text-base); margin-bottom:0; }
.card-miembro .card-body a.icono { display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; font-size:1.25rem; color:var(--ochodoble-blue-dark); border-radius:50%; background:#E9E9E9; }
.card-miembro .card-body a.icono:hover { color:var(--ochodoble-blue); background:var(--ochodoble-white); }

.btn-modal-equipo { position:relative; display:block; aspect-ratio:3.2/4; appearance:none; -webkit-appearance:none; margin:0; padding:0; border:0px none; border-radius:var(--radius-lg); background:none; overflow:hidden; cursor:pointer; transition:all 0.3s cubic-bezier(0.22, 1, 0.36, 1); }
.btn-modal-equipo img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s ease; }

.card-miembro:hover img { transform:scale(1.05); }
.card-miembro:hover .card-body { color:var(--ochodoble-white); background-color:var(--ochodoble-blue); }
/*
.btn-modal-equipo .ver-overlay { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--spacing-xs); background:rgba(0, 0, 0, 0.5); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); opacity:0; transition:all 0.3s ease; }
.btn-modal-equipo:hover { transform:scale(1.02); box-shadow:0 12px 40px rgba(0, 0, 0, 0.15); }
.btn-modal-equipo:hover img { transform:scale(1.05); }
.btn-modal-equipo:hover .ver-overlay { opacity:1; }
.btn-modal-equipo .ver-icono { display:flex; align-items:center; justify-content:center; width:56px; height:56px; background: var(--ochodoble-white); border-radius: var(--radius-full); color: var(--ochodoble-orange); font-size: 1.4rem; transition: all 0.3s ease; transform: scale(0.8); }
.btn-modal-equipo:hover .ver-icono { transform: scale(1); }
.btn-modal-equipo .ver-texto { font-family: var(--ochodoble-font-heading); font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ochodoble-white); opacity: 0; transform: translateY(8px); transition: all 0.3s ease; }
.btn-modal-equipo:hover .ver-texto { opacity: 1; transform: translateY(0); }
*/

.modal-equipo { overscroll-behavior:contain; position:fixed; top:0; left:0; width:100vw; height:100dvh; backdrop-filter:blur(0); }
body.modal-equipo-open { overflow:hidden; overscroll-behavior:none;  padding-right: var(--scrollbar-width, 0px); }
.modal-equipo .modal-dialog { position:fixed; right:0; top:0; margin:0; width:100%; max-width:600px; height:100%; transform:translateX(100%); transition:transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); }
.modal-equipo.show .modal-dialog { transform:translateX(0); }
.modal-equipo .modal-content { border:0px none; border-radius:0; }
.modal-equipo .modal-header { position:relative; border:0; padding:12px; }
.modal-equipo .modal-header .btn-close { position:absolute; top:2rem; right:2rem; width:48px; height:48px; padding:0; box-shadow:none !important; background-color:var(--ochodoble-white); background-size:40%; border-radius:var(--radius-full); opacity:1; transition:all 0.3s ease; z-index:5; }
.modal-equipo figure { position:relative; width:100%; aspect-ratio:293/318; margin:0; border-radius:var(--radius-lg); overflow:hidden; box-shadow:0 20px 60px rgba(0, 0, 0, 0.1); }
.modal-equipo figure::before { position: absolute; left:0; bottom:0; width:100%; height:30%; content:''; background:linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%); pointer-events:none; z-index:1; }
.modal-equipo figure img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.modal-equipo figure figcaption { position:absolute; left:0; bottom:0; color:var(--ochodoble-white); padding:1.25rem; z-index:2; }
.modal-equipo figure figcaption * { margin:0; }
.modal-equipo figure figcaption h3 { font-weight:600; font-size:var(--text-2xl); font-family:var(--ochodoble-font-body); }
.modal-equipo figure figcaption p { font-size:var(--text-base); }
.modal-equipo .modal-body { padding:1.25rem calc(1.25rem + 12px); }
.modal-equipo .modal-body h4 { font-weight:700; font-size:var(--text-body); font-family:var(--ochodoble-font-body); margin-bottom:.5rem; }
.modal-equipo .modal-body a { color:var(--ochodoble-text-dark); text-decoration:underline; }
.modal-equipo .modal-body a:hover { text-decoration:none; }

.modal-backdrop { background:rgba(0, 0, 0, 0.6); backdrop-filter:blur(3px); transition:opacity 0.4s ease; opacity:0; }
.modal-backdrop.show { opacity:1; }

@media (max-width:991.98px) { 
  .modal-equipo__nombre { font-size:2rem; }
}
@media (max-width:767.98px) { 
  .modal-equipo .modal-dialog { max-width:100%; }
  .modal-equipo .modal-header .btn-close { width:40px; height:40px; }
}
@media (max-width:575.98px) { 
  .modal-equipo__nombre { font-size:1.5rem; }
}

/* ============================================
   FOOTER
   ============================================ */
.footer { font-size:var(--text-base); padding:0; }
.footer a { color:var(--ochodoble-white); text-decoration:none; transition:opacity 0.3s ease; }
.footer a:hover { opacity:0.7; }

.footer-top { padding:2rem 0; }
.footer-top h5, .footer-top h6 { font-weight:600; font-family:var(--ochodoble-font-body); }
.footer-top a { color:var(--ochodoble-font-body); }
.footer-top a:hover { color:var(--ochodoble-orange); }
.footer-contacto a { font-size:var(--text-md); }
.footer-bottom { color:var(--ochodoble-white); background:var(--ochodoble-black); padding:1.5rem 0; }
.footer-copyright { margin-bottom:0; }


.ochodoble-page-title  { font-size:var(--text-4xl); text-transform:uppercase; }
.ochodoble-page-header { padding:4rem 0 3rem; }
.ochodoble-page-body { padding:0 0 6rem; }

.ochodoble-card { position:relative; padding-bottom:1rem; }
.ochodoble-card-img { border-radius:16px; overflow:hidden; }
.ochodoble-card-body h2, .ochodoble-card-body h3 { font-weight:500; font-size:var(--text-md); margin-bottom:.5rem; }
.stretched-link { font-size:var(--text-sm); text-decoration:none; }
.stretched-link span { position:absolute; left:0; bottom:0; display:inline-flex; height:16px; align-items:center; gap:10px; }
.stretched-link span:after { display:block; width:16px; height:16px; content:''; background:url('../img/btn-icono-flecha-der.svg') no-repeat center; background-size:contain; }

.ochodoble-card:hover .ochodoble-card-img img { transform:scale(1.1); }

/* ============================================
   VIDEO EN CARDS DE SERVICIOS
   ============================================ */
.page-template-page-servicios main { background:var(--ochodoble-bg-light); }
.ochodoble-card-servicio { padding:2rem 2rem 4rem; background:var(--ochodoble-white); border-radius:var(--radius-lg); overflow:hidden; box-shadow:0px 33px 40px 0px rgba(0, 25, 79, 0.10); }
.ochodoble-card-servicio-body h3 { font-size:var(--text-xl); font-weight:500; transition:all 0.3s; }
.ochodoble-card-servicio-body p { font-size:var(--text-body); margin-bottom:0; }
.ochodoble-card-servicio .stretched-link span { left:2rem; bottom:2rem; font-size:var(--text-sm); font-weight:bold; font-family:var(--ochodoble-font-heading); color:var(--ochodoble-blue-dark); }

.ochodoble-card-servicio { position:relative; overflow:hidden; transition:transform 0.3s ease, box-shadow 0.3s ease; }
.ochodoble-card-servicio:hover { transform:translateY(-4px); box-shadow:0 12px 40px rgba(0, 0, 0, 0.12); }
.ochodoble-card-servicio-img { position:relative; overflow:hidden; background:#f5f0eb; margin-bottom:3rem; }
.ochodoble-card-servicio-img video, .ochodoble-card-servicio-img img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 0.6s ease; }
.ochodoble-card-servicio-img video { background:#000; }
.ochodoble-card-servicio-img video::-webkit-media-controls { display:none !important; }
.ochodoble-card-servicio-img video::-webkit-media-controls-enclosure { display:none !important; }
.ochodoble-card-servicio-img video::-webkit-media-controls-panel { display:none !important; }
.ochodoble-card-servicio-img video::-webkit-media-controls-play-button { display:none !important; }
.ochodoble-card-servicio-img video::-moz-media-controls { display:none !important; }

.ochodoble-card-servicio .servicio-icon { background:var(--ochodoble-orange-dark); }
.ochodoble-card-servicio .servicio-icon img { filter:brightness(0) invert(1); }

/* Hover: zoom en imagen/video */
.ochodoble-card-servicio:hover .ochodoble-card-servicio-img video, .ochodoble-card-servicio:hover .ochodoble-card-servicio-img img { transform:scale(1.05); }

/* Overlay en hover */
.ochodoble-card-servicio-img::after { position: absolute; top:0; left:0; width:100%; height:100%; content:''; background:rgba(0, 0, 0, 0.2); opacity:0; transition:opacity 0.4s ease; pointer-events:none; z-index:1; }
.ochodoble-card-servicio:hover .ochodoble-card-servicio-img::after { opacity:1; }


.ochodoble-card-insight { padding:0; transition:all 0.3s; }
.ochodoble-card-insight figure { -webkit-transition:all 0.3s; -moz-transition:all 0.3s; transition:all 0.3s; }
.ochodoble-card-insight .ochodoble-card-insight-body { display:flex; flex-direction:column; gap:10px; }
.ochodoble-card-insight .ochodoble-card-insight-body h3 { font-weight:500; font-size:var(--text-md); margin:0; }

.card-insight__date { margin-bottom:0; }
.ochodoble-card-insight .stretched-link span { display:none; }
.ochodoble-card-insight:hover { background:var(--ochodoble-orange-light); border-color:var(--ochodoble-orange-light); }
.ochodoble-card-insight:hover figure { /*box-shadow: 0px 13px 25px 0px #D6C8C5;*/ } 
.ochodoble-card-insight:hover figure img { transform:none !important; }

.ochodoble-card-destacada { position:relative; padding:0; border:0px none; box-shadow:none; }
.ochodoble-card-destacada figure { position:relative; margin:0; }
.ochodoble-card-destacada figure.ratio { --bs-aspect-ratio: 54.538341% !important; }
.ochodoble-card-destacada figure:after { position:absolute; left:0; top:0; width:100%; height:100%; content:''; background:var(--ochodoble-black); opacity:0.44; }
.ochodoble-card-destacada .ochodoble-card-insight-body { position:absolute; z-index:2; left:0; bottom:0; padding:0 0 3rem 3rem; }
.ochodoble-card-destacada .ochodoble-card-insight-body * { color:var(--ochodoble-white) !important; }
.ochodoble-card-destacada .ochodoble-card-insight-body h2 { font-weight:500; font-size:2.5em; }

.card-insight__category { font-size:var(--text-xs); font-weight:500; font-family:var(--ochodoble-font-heading); text-transform:uppercase; }

.buscar-categorias { display:inline-flex; align-items:center; }
.buscar-categorias label { font-weight:600; font-size:1.2em; margin:0 10px 0 0; white-space:nowrap; }
.buscar-categorias .form-select { font-size:0.8em; font-weight:600; color:var(--ochodoble-black); background:#E9E9E9; border:0px none; border-radius:20px; padding:.5rem 1.25rem; }

.ochodoble-single-header { position:relative; height:634px; display:flex; align-items:flex-end; }
.ochodoble-single-header .header-img { position:absolute; left:0; top:0; width:100%; height:100%; overflow:hidden; }
.ochodoble-single-header .header-img img { width:100%; height:100%; object-fit:cover; }
.ochodoble-single-header .header-img:after { position:absolute; left:0; top:0; width:100%; height:100%; content:''; background:var(--ochodoble-black); opacity:0.4; z-index:1; }
.ochodoble-single-header .container-xl { position:relative; z-index:2; padding-bottom:5rem; }
.ochodoble-single-header h1 { font-weight:900; font-size:4.5rem; font-family:var(--ochodoble-font-heading); line-height:1; color:var(--ochodoble-white); }

.ochodoble-single-body { padding:6rem 0 3rem; line-height:2; color:#373737; }
.ochodoble-single-body a { color:#373737; }
.ochodoble-single-body h2, .ochodoble-single-body h3, .ochodoble-single-body h4, .ochodoble-single-body h5, .ochodoble-single-body h6 { font-weight:400; font-family:var(--ochodoble-font-body); color:var(--ochodoble-black); margin-bottom:2rem; }
.ochodoble-single-body h2 strong, .ochodoble-single-body h3 strong, .ochodoble-single-body h4 strong, .ochodoble-single-body h5 strong, .ochodoble-single-body h6 strong { font-weight:600; }
.ochodoble-single-body h2, .ochodoble-single-body h3 { margin-top:3rem; }
.ochodoble-single-body h2 { font-size:var(--text-2xl); }
.ochodoble-single-body .ochodoble-iframe-title { font-weight:500; font-size:1.75em; line-height:1.2em; font-family:var(--ochodoble-font-heading); padding-right:20%; }
.ochodoble-single-body p, .ochodoble-single-body ol, .ochodoble-single-body ul, .ochodoble-single-body table, .ochodoble-single-body blockquote { margin:2rem 0; }
.ochodoble-single-body li { margin:.75rem 0; }
.ochodoble-single-body figure { max-width:100%; }
.ochodoble-single-body img { border-radius:16px; }
.ochodoble-single-body p img { margin:2rem 0; }
.ochodoble-single-body .wp-caption-text, .ochodoble-single-body p.ochodoble-leyenda { font-size:var(--text-sm); line-height:1.5; opacity:.5; margin-top:-1rem; }
.ochodoble-single-body .wp-caption-text { margin-top:0; }

.ochodoble-page-cta { color:var(--ochodoble-white); padding:5rem 0; background:var(--ochodoble-blue-dark); }
.ochodoble-page-cta h3 { font-size:2rem; font-weight:bold; font-family:var(--ochodoble-font-heading); margin:0; }

.ochodoble-single-footer { padding:5rem 0; }
.ochodoble-single-footer .container-xl { position:relative; }
.ochodoble-single-footer h2 { font-size:var(--text-3xl); font-family:var(--ochodoble-font-heading); margin:0; }
.ochodoble-single-footer a { color:var(--ochodoble-font-body); }

/* INSIGHTS  */
.load-more-item { opacity:0; transform:translateY(30px); transition:opacity 0.5s ease, transform 0.5s ease; }
.load-more-item.is-visible { opacity:1; transform: translateY(0); }
#load-more-insights { min-width:200px; transition:all 0.3s ease; }
#load-more-insights:disabled { opacity:0.6; cursor:not-allowed; }
#load-more-insights.btn-secondary { background:var(--ochodoble-gray-light); color:var(--ochodoble-white); border-color:var(--ochodoble-gray-light); }
#load-more-insights.btn-secondary:hover { background:var(--ochodoble-gray-medium); border-color:var(--ochodoble-gray-medium); }
#load-more-insights .spinner { display:none; width:20px; height:20px; border:2px solid var(--ochodoble-white); border-top-color:transparent; border-radius:50%; animation:spin 0.8s linear infinite; }
#load-more-insights.loading .spinner { display:inline-block; }
#load-more-insights.loading .btn-text { display:none; }
@keyframes spin {
  to { transform: rotate(360deg); }
}
.single-post .ochodoble-single-header { height:auto; }
.single-post .ochodoble-single-header .container-xl { padding:3rem 0; }
.single-post .ochodoble-single-body { padding-top:0; }
.single-post .ochodoble-single-body .ochodoble-single-category { font-size:var(--text-sm); font-weight:500; font-family:var(--ochodoble-font-heading); color:var(--ochodoble-orange); text-transform:uppercase; }
.single-post .ochodoble-single-body h1 { font-weight:bold; font-size:var(--text-3xl); margin-bottom:0; }
.single-post .ochodoble-single-body a { color:var(--ochodoble-orange); text-decoration:underline; }
.single-post .ochodoble-single-body a:hover { text-decoration:none; }
.single-post .ochodoble-single-body hr { border-color:var(--ochodoble-black); opacity:1; }
.single-post .ochodoble-single-body .single-excerpt { margin-bottom:3rem; }
.single-post .ochodoble-single-body .single-excerpt p { font-weight:500; font-size:var(--text-md); line-height:1.6; margin:0; }
.single-post .ochodoble-single-body .single-thumb { margin-bottom:1rem; }
.single-post .ochodoble-single-body .single-thumb figure { border-radius:var(--radius-lg); margin-bottom:0; }

.ochodoble-single-body .insight-meta { padding-top:2rem; padding-bottom:2rem; }
.ochodoble-single-body .insight-meta p { margin:0; }
.ochodoble-single-body .compartir { display:inline-flex; align-items:center; gap:10px; }
.ochodoble-single-body .compartir ul { list-style:none; margin:0; padding:0; display:inline-flex; align-items:center; gap:10px; }
.ochodoble-single-body .compartir ul li { margin:0; }
.ochodoble-single-body .compartir ul li a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:1px solid #000; border-radius:50%; }
.ochodoble-single-body .compartir ul li a img { border-radius:0; width:50%; height:50%; object-fit:contain; }

.ochodoble-single-body .wp-block-embed, .ochodoble-single-body .wp-block-embed__wrapper, .ochodoble-single-body iframe, .ochodoble-single-body video { max-width:100% !important; }
.ochodoble-single-body .wp-block-embed { position:relative; margin:2rem 0; border-radius:var(--radius-lg); overflow:hidden; }
.ochodoble-single-body .wp-block-embed__wrapper { position:relative; height:0; padding-bottom:56.25%; /* 16:9 */ overflow:hidden; }
.ochodoble-single-body .wp-block-embed__wrapper iframe, .ochodoble-single-body .wp-block-embed__wrapper video, .ochodoble-single-body .wp-block-embed__wrapper embed { position:absolute; top:0; left:0; width:100%; height:100%; border:0; border-radius:var(--radius-lg); }
.ochodoble-single-body iframe[src*="youtube"], .ochodoble-single-body iframe[src*="youtu.be"], .ochodoble-single-body iframe[src*="vimeo"] { width:100%; height:auto; aspect-ratio:16 / 9; border-radius:var(--radius-lg); }

.ochodoble-iframe-wrapper { position:relative; width:100%; height:0; overflow:hidden; margin:3rem 0; }
.ochodoble-iframe-wrapper iframe { position:absolute; top:0; left:0; width:100% !important; height:100% !important; border:none; }
.ochodoble-iframe-wrapper iframe[src*="flo.uri.sh"], .ochodoble-iframe-wrapper iframe[src*="flourish"] { min-height:400px; }

@media (max-width:767.98px) { 
  .ochodoble-iframe-wrapper { margin:1.5rem 0; }
  .ochodoble-iframe-wrapper iframe[src*="flo.uri.sh"], .ochodoble-iframe-wrapper iframe[src*="flourish"] { min-height:300px; }
}

@media (max-width:575.98px) { 
  .ochodoble-iframe-wrapper iframe[src*="flo.uri.sh"], .ochodoble-iframe-wrapper iframe[src*="flourish"] { min-height:250px; }
}

.ochodoble-single-body blockquote, .ochodoble-single-body .wp-block-quote { position:relative; font-family:var(--ochodoble-font-body); font-size:var(--text-lg); line-height:1.6; color: var(--ochodoble-black); margin:3rem 0; padding:2.5rem 3rem 2.5rem 5rem; border:1px solid rgba(215, 0, 45, 0.08); border-radius:var(--radius-lg); background:var(--ochodoble-bg-light); box-shadow:0 4px 20px rgba(0, 0, 0, 0.03); overflow:hidden; transition: all 0.3s ease; }
.ochodoble-single-body blockquote::before, .ochodoble-single-body .wp-block-quote::before { display:none; position:absolute; left:0; top:0; height:100%; width:4px; content:''; background:var(--ochodoble-orange); }
.ochodoble-single-body blockquote::after, .ochodoble-single-body .wp-block-quote::after { content:'\201C'; position:absolute; top: 0.5rem; left: 1.25rem; font-family:var(--ochodoble-font-heading); font-size:6rem; line-height:1; font-style:normal; color:var(--ochodoble-orange); opacity:1; pointer-events:none; }
.ochodoble-single-body blockquote p, .ochodoble-single-body .wp-block-quote p { margin:0; font-size:inherit; line-height:inherit; }
.ochodoble-single-body blockquote p:last-child, .ochodoble-single-body .wp-block-quote p:last-child { margin-bottom:0; }
.ochodoble-single-body blockquote cite, .ochodoble-single-body .wp-block-quote cite, .ochodoble-single-body blockquote .wp-block-quote__citation, .ochodoble-single-body .wp-block-quote .wp-block-quote__citation { position:relative; display:block; font-style:normal; font-weight:600; font-size:var(--text-base); color: var(--ochodoble-gray-dark); margin-top:1rem; padding-left:1.5rem; }
.ochodoble-single-body blockquote cite::before, .ochodoble-single-body .wp-block-quote cite::before, .ochodoble-single-body blockquote .wp-block-quote__citation::before, .ochodoble-single-body .wp-block-quote .wp-block-quote__citation::before { position:absolute; left:0; top:0; content:'—'; color:var(--ochodoble-orange); }

.ochodoble-gallery-slider { margin:3rem 0; }
.ochodoble-gallery-slider figure { position:relative; aspect-ratio:16/9; margin-bottom:0; border-radius:var(--radius-lg); overflow:hidden; }
.ochodoble-gallery-slider figure img { width:100%; height:100%; object-fit:cover; }
.ochodoble-gallery-slider figure figcaption { position:absolute; left:0; bottom:0; padding:2rem 2rem 3rem; font-size:var(--text-base); color:var(--ochodoble-white); z-index:2; }
.ochodoble-gallery-slider figure::before { position: absolute; left:0; bottom:0; width:100%; height:30%; content:''; background:linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, transparent 100%); pointer-events:none; z-index:1; }
.ochodoble-gallery-slider .slick-dots { bottom:1rem; margin:0; z-index:3; }
.ochodoble-gallery-slider .slick-dots li { width:24px; height:24px; margin:0 .25rem; }
.ochodoble-gallery-slider .slick-dots li button:before { font-size:12px; color:var(--ochodoble-bg-light); }
.ochodoble-gallery-slider .slick-dots li.slick-active button:before { color:var(--ochodoble-orange); }

.contactanos { position:fixed; right:2rem; bottom:2rem; display:inline-flex; align-items:center; border-radius:50px; background:var(--ochodoble-blue); font-size:13px; font-weight:bold; font-family:var(--ochodoble-font-heading); color:var(--ochodoble-white); text-transform:uppercase; text-decoration:none; z-index:3; }
.contactanos figure { display:flex; width:48px; height:48px; align-items:center; justify-content:center; margin:0; overflow:hidden; }
.contactanos figure img { display:block; width:50%; height:50%; object-fit:contain; }
.contactanos span { max-width:0; opacity:0; overflow:hidden; transition:max-width 0.4s ease, opacity 0.3s ease; }
.contactanos:hover span { opacity:1; max-width:200px; padding:0 1.5rem 0 0; }

/* ============================================
   UTILIDADES RESPONSIVE
   ============================================ */
@media (max-width:575.98px) { 
   body { font-size:1rem; }

   section { padding:3rem 0; }

   .home main section:not(.ochodoble-hero) { padding:3rem 0; }

  .ochodoble-hero { max-height:600px; }
  .ochodoble-hero__content h1 { font-size:2.1rem; }
  .ochodoble-hero__content p { font-size:var(--text-base); line-height:1.6; margin-bottom:1.25rem; }

  .ochodoble-section-header { margin-bottom:2rem; }
  .ochodoble-section-title { font-size:var(--text-2xl); line-height:1.2; margin-bottom:1rem; }
  .ochodoble-section-text { font-size:var(--text-body); }

  .ochodoble-bento-card .card-body { padding:0 1.5rem 1.5rem; }
  .ochodoble-bento-card-reverse .card-body { padding:1.5rem 1.5rem 0; }
  .ochodoble-bento-card .card-body h3 { font-size:var(--text-body); line-height:1.5; }

  .ochodoble-cifra i { font-size:var(--text-5xl); }
  .ochodoble-cifra span { font-size:var(--text-body); }

  .ochodoble-servicios .slider-wrapper { margin-bottom:0; }
  .ochodoble-servicios-slider-nav button { width:46px; height:46px; }

  .card-miembro .card-body { display:flex; flex-direction:column; flex:1; gap:0; font-size:var(--text-sm); line-height:1.3; }
  .card-miembro .card-body h3 { font-size:var(--text-base); }
  .card-miembro .card-body p { margin-botton:auto; }
  .card-miembro .card-body a { margin-top:auto; display:inline-block; align-self:flex-start; }

  .footer-bottom { font-size:13px; }
  .contactanos { right:25px; bottom:25px; }
}
