/* Portafolio Colibrí — cara pública. Dirección A aprobada en Fase 4. */
@font-face{font-family:'Gotham';src:local('Gotham Book'),url('https://colibricreativos.com/blog/assets/fonts/gotham-book.woff2') format('woff2');font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:'Gotham';src:local('Gotham Medium'),url('https://colibricreativos.com/blog/assets/fonts/gotham-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:block}
@font-face{font-family:'Gotham';src:local('Gotham Bold'),url('https://colibricreativos.com/blog/assets/fonts/gotham-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:block}
/* Alias para weight 600-900 apunten a bold */
@font-face{font-family:'Gotham';src:url('https://colibricreativos.com/blog/assets/fonts/gotham-bold.woff2') format('woff2');font-weight:600 900;font-style:normal;font-display:block}

:root{
  --azul:#1D3E55; --azul-900:#0D2233; --azul-050:#EEF3F6;
  --coral:#EE6176; --coral-600:#D94A60; --coral-200:#F79E8C;
  --negro:#202020; --gris:#6B7A85; --linea:#E8E4DE; --crema:#FBFAF8;
  --f:'Gotham',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}
/* Gotham trae las métricas verticales en cero: sin line-height explícito
   las líneas se encimarían en Safari y Firefox. */
body{margin:0;background:var(--crema);color:var(--negro);font-family:var(--f) !important;
  font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p{line-height:1.35;margin:0;font-family:var(--f) !important;}
button,input,select,textarea{font-family:var(--f) !important;line-height:1.4}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
.bg-header {
    background: #1D3E55; !important;
    padding-bottom: 15px;
}
.margen-top-nav {
    position: relative;
    margin-top: -15px !important;
    /*border: solid 2px #FFF;*/
}
.letraTitulo h1 {
    font-family: 'Gotham', system-ui, sans-serif !important;
    font-weight:700;
}
.pb-top{display:flex;justify-content:space-between;align-items:center;
  padding:24px 48px;max-width:1280px;margin:0 auto}
.pb-top .lg{height:36px;width:auto}
.pb-nav{display:flex;gap:28px;font-size:13px;font-weight:500;color:var(--gris)}
.pb-nav .act{color:var(--azul);font-weight:700}

.pb-hero{max-width:1280px;margin:0 auto;padding:48px 48px 30px}
.pb-hero h1{font-family:var(--f) !important;font-size:66px;font-weight:700;line-height:1.05;margin:0 0 16px;
  letter-spacing:-.025em;color:var(--azul)}
.pb-hero h1 em{font-style:normal;color:var(--coral)}
.pb-hero p{font-size:17px;line-height:1.6;color:var(--gris);max-width:520px}

.pb-filtros{max-width:1280px;margin:0 auto;padding:0 48px 20px;display:flex;gap:28px;
  flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--linea)}
.pb-filtros a{font-size:14px;font-weight:500;color:var(--gris);padding:4px 0;position:relative}
.pb-filtros a.on{color:var(--azul);font-weight:700}
.pb-filtros a.on:after{content:'';position:absolute;left:0;right:0;bottom:-21px;
  height:2px;background:var(--coral)}
.pb-sub{max-width:1280px;margin:0 auto;padding:16px 48px 0;display:flex;gap:9px;flex-wrap:wrap}
.pb-sub a{font-size:12px;font-weight:500;padding:6px 15px;border-radius:999px;
  border:1px solid #DED8D0;color:var(--gris)}
.pb-sub a.on{background:var(--azul);border-color:var(--azul);color:#fff;font-weight:700}

.pb-grid{max-width:1280px;margin:0 auto;padding:32px 48px 70px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:42px 30px}
.pb-card.big{grid-column:1/-1}
.pb-cover{aspect-ratio:4/3;border-radius:3px;overflow:hidden;position:relative;
  display:flex;align-items:flex-end;padding:20px;transition:transform .3s}
.pb-card.big .pb-cover{aspect-ratio:21/9}
.pb-card:hover .pb-cover{transform:translateY(-5px)}
.pb-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-cover .mono{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:78px;font-weight:700;color:#fff;opacity:.16;letter-spacing:-.04em}
.pb-card.big .pb-cover .mono{font-size:118px}
.pb-badge{position:relative;font-size:10.5px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:#fff;background:rgba(0,0,0,.32);padding:6px 12px;border-radius:999px}
.pb-meta{padding-top:14px}
.pb-cli{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--coral);margin-bottom:6px}
.pb-tit{font-size:18px;font-weight:700;color:var(--azul);line-height:1.3;margin-bottom:5px}
.pb-card.big .pb-tit{font-size:24px}
.pb-des{font-size:13px;color:var(--gris)}
.pb-vacio{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--gris)}
.pb-vacio strong{display:block;font-size:19px;color:var(--azul);margin-bottom:8px}

.pb-pie{background:var(--azul);color:#fff;padding:44px 48px;text-align:center}
.pb-pie .lg{height:42px;width:auto;display:inline-block}
.pb-pie p{font-size:12.5px;color:#8FA5B4;margin-top:16px}

/* ---------- ficha ---------- */
.fk{max-width:1180px;margin:0 auto;padding:22px 48px 70px}
.volver{font-size:13px;color:var(--gris);display:inline-block;margin-bottom:22px}
.volver:hover{color:var(--coral)}
.fk-h{margin-bottom:26px}
.fk-h .cli{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--coral);margin-bottom:9px}
.fk-h h1{font-size:40px;font-weight:700;color:var(--azul);line-height:1.08;margin-bottom:12px;
  letter-spacing:-.02em}
.fk-h .met{font-size:13px;color:var(--gris);display:flex;gap:16px;flex-wrap:wrap}
.escenario{background:var(--azul);border-radius:6px;padding:34px 24px;margin-bottom:34px;
  display:flex;flex-direction:column;align-items:center;gap:20px}
.visor-ctrl{display:flex;gap:7px;justify-content:center;flex-wrap:wrap}
.visor-ctrl button{font-size:11.5px;font-weight:700;padding:8px 15px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);background:none;color:#B9C8D3;cursor:pointer}
.visor-ctrl button.on{background:#fff;border-color:#fff;color:var(--azul)}
.pie-visor{font-size:11.5px;color:#8FA5B4;text-align:center;max-width:560px}

.dev{background:#111;border-radius:10px;padding:9px;box-shadow:0 22px 50px rgba(0,0,0,.35);
  transition:max-width .3s;width:100%;max-width:920px}
.dev.tablet{max-width:600px}
.dev.movil{max-width:310px;border-radius:24px;padding:11px 8px 14px}
.dev .bar{display:flex;align-items:center;gap:6px;padding:0 4px 8px}
.dev .bar i{width:8px;height:8px;border-radius:50%;background:#555;display:block}
.dev .bar .url{flex:1;background:#2a2a2a;border-radius:99px;height:19px;margin-left:8px;
  font-size:10px;color:#9aa;display:flex;align-items:center;padding:0 11px;overflow:hidden;white-space:nowrap}
.dev.movil .bar{display:none}
.dev .notch{width:70px;height:4px;background:#333;border-radius:99px;margin:0 auto 7px;display:none}
.dev.movil .notch{display:block}
.dev iframe{width:100%;height:430px;border:0;border-radius:4px;background:#fff;display:block}
.dev.movil iframe{height:470px;border-radius:14px}

.flip{display:flex;gap:2px;box-shadow:0 22px 50px rgba(0,0,0,.35);border-radius:3px;
  overflow:hidden;max-width:820px;width:100%;background:#fff}
.flip img{flex:1;width:50%;object-fit:contain;background:#fff}
.flipnav{display:flex;align-items:center;gap:16px;color:#B9C8D3;font-size:12.5px}
.flipnav button{width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.25);
  background:none;color:#fff;cursor:pointer;font-size:15px}
.tiras{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding-bottom:4px}
.tiras img{width:32px;height:auto;flex:0 0 auto;opacity:.45;cursor:pointer;border-radius:2px}
.tiras img.on{opacity:1;outline:2px solid var(--coral)}

.fon{width:310px;background:#111;border-radius:26px;padding:11px 8px 14px;
  box-shadow:0 22px 50px rgba(0,0,0,.4)}
.fon .notch{width:70px;height:4px;background:#333;border-radius:99px;margin:0 auto 8px}
.fon .scr{background:#000;border-radius:16px;height:470px;overflow:hidden;position:relative}
.fon .tabs2{display:flex;background:#111;border-bottom:1px solid #262626}
.fon .tabs2 button{flex:1;background:none;border:0;color:#888;font-size:11px;font-weight:700;
  padding:10px 0;cursor:pointer;border-bottom:2px solid transparent}
.fon .tabs2 button.on{color:#fff;border-bottom-color:var(--coral)}
.fon .feed{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;
  height:426px;overflow-y:auto;align-content:start}
.fon .feed img,.fon .feed video{aspect-ratio:1;object-fit:cover;width:100%}
.fon .story{position:relative;height:426px;background:#000}
.fon .story img,.fon .story video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fon .story .prog{position:absolute;top:9px;left:9px;right:9px;display:flex;gap:3px;z-index:3}
.fon .story .prog i{flex:1;height:2px;background:rgba(255,255,255,.34);border-radius:99px;display:block}
.fon .story .prog i.on{background:#fff}
.fon .story .lados{position:absolute;inset:0;display:flex;z-index:4}
.fon .story .lados span{flex:1;cursor:pointer}

.capturas{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:100%;max-width:920px}
.capturas figcaption{font-size:10.5px;color:#8FA5B4;margin-top:6px;line-height:1.4}
.capturas img{border-radius:3px}

.bloques{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:34px}
.bloques h3{font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--coral);margin-bottom:10px}
.bloques p{font-size:14px;line-height:1.65}
.tagsf{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:34px}
.tagsf span{font-size:12px;font-weight:500;color:var(--azul);background:var(--azul-050);
  padding:7px 14px;border-radius:999px}
/*.cta{background:var(--azul);border-radius:6px;padding:34px;margin-bottom:44px}
.cta b{font-size:22px;font-weight:700;display:block;margin-bottom:6px;color:#fff;}
.cta p{color:#B9C8D3}
.cta form{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:10px;margin-top:20px}
.cta input,.cta textarea{
  height:44px;
  border:1px solid rgba(255,255,255,.5);
  background:#1a3a50;
  color:#ffffff;
  border-radius:4px;
  padding:0 13px;
  font-size:13.5px;
  width:100%;
  -webkit-appearance:none;
  appearance:none;
  box-shadow:none;
  outline:none;
}
.cta input::-webkit-input-placeholder { color:#90b8cc; opacity:1; }
.cta input::-moz-placeholder          { color:#90b8cc; opacity:1; }
.cta input:-ms-input-placeholder      { color:#90b8cc; opacity:1; }
.cta input::placeholder               { color:#90b8cc; opacity:1; }
.cta textarea::-webkit-input-placeholder { color:#90b8cc; opacity:1; }
.cta textarea::-moz-placeholder          { color:#90b8cc; opacity:1; }
.cta textarea:-ms-input-placeholder      { color:#90b8cc; opacity:1; }
.cta textarea::placeholder               { color:#90b8cc; opacity:1; }
.cta button{background:#fff;color:var(--azul);border:0;border-radius:4px;padding:0 24px;
  font-weight:700;font-size:13.5px;cursor:pointer;height:44px;
  display:flex;align-items:center;justify-content:center;align-self:center}
.cta .ok{background:rgba(46,158,107,.2);border:1px solid #2E9E6B;border-radius:4px;
  padding:14px 18px;margin-top:18px;font-size:14px}*/
.cta{background:var(--azul);border-radius:6px;padding:34px;margin-bottom:44px}
.cta b{font-size:22px;font-weight:700;display:block;margin-bottom:6px;color:#fff;}
.cta p{color:#B9C8D3}

  
  
/*.trampa{position:absolute;left:-9999px}*/
.rel h2{font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;
  color:var(--gris);margin-bottom:18px}
.rel .g{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rel .pb-cover{aspect-ratio:4/3}
.rel .pb-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

@media(max-width:1100px){
  .pb-grid{grid-template-columns:repeat(2,1fr)}
  .bloques{grid-template-columns:1fr;gap:20px}
  .capturas{grid-template-columns:repeat(2,1fr)}
  .cta form{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .bg-header {
        height: 160px;
        background: #1D3E55; !important;
    }

    .pb-top,.pb-hero,.pb-filtros,.pb-sub,.pb-grid,.fk{padding-left:20px;padding-right:20px}
    .pb-hero{padding-top:32px} .pb-hero h1{font-size:38px} .pb-hero p{font-size:15px}
    .pb-grid{grid-template-columns:1fr;gap:28px}
    .pb-card.big .pb-cover{aspect-ratio:4/3}
    .pb-card.big .pb-cover .mono{font-size:78px}
    .pb-card.big .pb-tit{font-size:18px}
    .pb-nav{display:none}
    .fk-h h1{font-size:28px}
    .rel .g{grid-template-columns:1fr}
    .escenario{padding:20px 12px}
    .flip{display:block}
    .flip img{width:100%}
    .flip img.par{display:none}
    .capturas{grid-template-columns:1fr 1fr}
    .cta{padding:24px} .cta form{grid-template-columns:1fr}
}
.pb-grid a, .pb-filtros a, .pb-sub a, .pb-nav a, .pb-top a { text-decoration: none !important; }
/* ============================================================
   Fix tipografía bold — forzar Gotham en todos los elementos
   con font-weight 700 para que no sea sobreescrito por Nicepage
   ============================================================ */
#contenido strong,
#contenido b,
#contenido h1,
#contenido h2,
#contenido h3,
#contenido h4,
#contenido .cd h3,
#contenido .art-h h1,
#contenido .firma b,
#contenido .hero h2 {
  font-family: 'Gotham', system-ui, -apple-system, sans-serif !important;
  font-weight: 700 !important;
}

/* Fix fondo oscuro móvil */
.pb-hero { background: var(--crema) !important; }
.pb-filtros { background: var(--crema) !important; }
.pb-sub { background: var(--crema) !important; }
.pb-grid { background: var(--crema) !important; }
.fk { background: var(--crema) !important; }

/* Fix bold — máxima especificidad para ganarle a nicepage */
html body .pb-hero h1,
html body .fk-h h1,
html body .pb-tit,
html body .pb-card.big .pb-tit {
  font-family: 'Gotham', sans-serif !important;
  font-weight: 700 !important;
}

/* Fix subrayado y color en todos los links del portafolio */
.volver,
.fk-h .cli,
.fk-h .cli a,
.pb-tit a,
.pb-cli a,
.rel a,
.rel .pb-tit,
.rel .pb-cli,
.fk a {
  text-decoration: none !important;
  color: inherit !important;
}
.volver { color: var(--gris) !important; }
.fk-h .cli, .fk-h .cli a { color: var(--coral) !important; }
.pb-tit, .pb-tit a { color: var(--azul) !important; }
.pb-cli, .pb-cli a { color: var(--coral) !important; }

/* ── Preview iframe en tarjetas ── */
.pb-cover--iframe { overflow:hidden; }

.pb-iframe-wrap {
  position:absolute;inset:0;
  pointer-events:none;
  overflow:hidden;
}
.pb-iframe-wrap iframe {
  position:absolute;
  top:0;left:0;
  width:1280px;
  height:960px;
  border:0;
  transform-origin:top left;
  /* Escala para caber en el ancho del cover (~400px grid normal, ~100vw big) */
  transform:scale(0.3125); /* 400/1280 */
  pointer-events:none;
}
.pb-card.big .pb-iframe-wrap iframe {
  transform:scale(0.65); /* ~832/1280 */
}
/* Capa encima para que no sea clickeable ni interactivo */
.pb-iframe-overlay {
  position:absolute;inset:0;
  z-index:2;
}
@media(max-width:1280px){
  .pb-iframe-wrap iframe { transform:scale(0.28); }
  .pb-card.big .pb-iframe-wrap iframe { transform:scale(0.55); }
}
@media(max-width:760px){
  .pb-iframe-wrap iframe { transform:scale(0.27); }
  .pb-card.big .pb-iframe-wrap iframe { transform:scale(0.27); }
}

/* ── Visor Media ── */
.media-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  width: 100%;
  max-width: 920px;
}
.media-item {
  background: #000;
  border-radius: 6px;
  overflow: hidden;
  display: flex;
}
.media-item.horizontal {
  width: 100%;
  max-width: 820px;
  aspect-ratio: 16/9;
}
.media-item.vertical {
  width: 280px;
  aspect-ratio: 9/16;
}
.media-item video,
.media-item iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
@media(max-width:760px){
  .media-item.horizontal { max-width: 100%; }
  .media-item.vertical { width: 180px; }
}

/* ── Fix bold CTA y También te puede interesar ── */
html body .cta b,
html body .cta > b {
  font-family: 'Gotham', system-ui, -apple-system, sans-serif !important;
  font-weight: 700 !important;
  -webkit-font-smoothing: antialiased;
}
html body .rel h2 {
  font-family: 'Gotham', system-ui, -apple-system, sans-serif !important;
  font-weight: 700 !important;
  -webkit-font-smoothing: antialiased;
}

/* ── Navegación externa de historias ── */
.story-nav {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  margin-top: 12px;
}
.story-nav-btn {
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, opacity .2s;
  line-height: 1;
}
.story-nav-btn:hover { background: rgba(255,255,255,0.22); }

/* Barra de progreso activa animada */
.fon .story .prog i.on {
  background: #fff;
  animation: igProgress 5s linear forwards;
}
.fon .story .prog i.done { background: #fff; }

@keyframes igProgress {
  from { transform: scaleX(0); transform-origin: left; }
  to   { transform: scaleX(1); transform-origin: left; }
}
.fon .story .prog i {
  transform-origin: left;
}

/* ── Fix bold CTA y También te puede interesar ── */
html body .cta b, html body .cta > b {
  font-family: 'Gotham', system-ui, -apple-system, sans-serif !important;
  font-weight: 700 !important;
  -webkit-font-smoothing: antialiased;
}
html body .rel h2 {
  font-family: 'Gotham', system-ui, -apple-system, sans-serif !important;
  font-weight: 700 !important;
  -webkit-font-smoothing: antialiased;
}