/* =========================================================
   Portal instituciones clientes · Creativos Digitales
   Estructura esperada:
   /index.html
   /css/styles.css
   /js/main.js
   /assets/img/*
========================================================= */

:root{
  --cd-celeste:#09BAED;
  --cd-cyan:#22d3ee;
  --cd-blue:#3b82f6;
  --cd-blue-deep:#006BA2;
  --cd-orange:#FE9405;
  --cd-dark:#123047;
  --cd-text:#0b0b0c;
  --cd-muted:#57606a;
  --cd-footer-bg:linear-gradient(135deg, #22d3ee 0%, #09BAED 50%, #3b82f6 100%);
  --cd-header-h:82px;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  padding-top:var(--cd-header-h);
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--cd-text);
  background:#fff;
}

img,
svg{
  max-width:100%;
}

section{
  scroll-margin-top:calc(var(--cd-header-h) + 18px);
}

/* ===============================
   HEADER
=============================== */

#cd-header-b2b{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:9999;
  background:#fff;
  border-bottom:1px solid rgba(11,14,19,.06);
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  transition:box-shadow .25s ease, background .25s ease;
}

#cd-header-b2b.is-scrolled{
  box-shadow:0 10px 30px rgba(11,14,19,.08);
}

#cd-header-b2b .wrap{
  max-width:1200px;
  margin:0 auto;
  padding:20px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

#cd-header-b2b .logo{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}

#cd-header-b2b .logo img{
  height:42px;
  width:auto;
  display:block;
}

#cd-header-b2b nav{
  display:flex;
  align-items:center;
  gap:28px;
}

#cd-header-b2b nav a{
  font-size:14px;
  font-weight:600;
  color:#0b0b0c;
  text-decoration:none;
  position:relative;
  transition:color .25s ease;
  white-space:nowrap;
}

#cd-header-b2b nav a:hover,
#cd-header-b2b nav a:focus-visible{
  color:var(--cd-orange);
}

#cd-header-b2b .burger{
  display:none;
  width:42px;
  height:42px;
  border-radius:12px;
  border:none;
  background:transparent;
  cursor:pointer;
  align-items:center;
  justify-content:center;
  padding:0;
}

#cd-header-b2b .burger span{
  width:22px;
  height:2.5px;
  background:var(--cd-orange);
  display:block;
  position:relative;
  transition:.25s ease;
}

#cd-header-b2b .burger span::before,
#cd-header-b2b .burger span::after{
  content:"";
  position:absolute;
  left:0;
  width:100%;
  height:100%;
  background:var(--cd-orange);
  transition:.25s ease;
}

#cd-header-b2b .burger span::before{ top:-7px; }
#cd-header-b2b .burger span::after{ top:7px; }

#cd-header-b2b .burger.is-open span{
  background:transparent;
}

#cd-header-b2b .burger.is-open span::before{
  top:0;
  transform:rotate(45deg);
}

#cd-header-b2b .burger.is-open span::after{
  top:0;
  transform:rotate(-45deg);
}

/* ===============================
   HERO
=============================== */

#cd-portal-hero{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  min-height:clamp(560px, 74vh, 720px);
  padding:clamp(46px,5vw,78px) 0 clamp(64px,7vw,96px);
  background:
    radial-gradient(620px 420px at 88% 14%, rgba(9,186,237,.15), transparent 62%),
    radial-gradient(520px 360px at 8% 84%, rgba(0,107,162,.10), transparent 64%),
    #ffffff;
  color:var(--cd-text);
  display:flex;
  align-items:center;
}

#cd-portal-hero::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-170px;
  top:-130px;
  border-radius:38% 62% 58% 42% / 42% 44% 56% 58%;
  background:
    radial-gradient(circle at 70% 24%, rgba(9,186,237,.42), transparent 30%),
    linear-gradient(135deg, rgba(0,107,162,.70), rgba(9,186,237,.38) 58%, rgba(254,148,5,.18));
  opacity:.22;
  filter:blur(1px);
  transform:rotate(-14deg);
  pointer-events:none;
  z-index:0;
}

#cd-portal-hero::after{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  left:-110px;
  bottom:-110px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(0,107,162,.16), transparent 68%);
  pointer-events:none;
  z-index:0;
}

#cd-portal-hero .wrap{
  position:relative;
  z-index:2;
  width:min(1180px,100%);
  margin:0 auto;
  padding:0 20px;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:clamp(34px,5vw,72px);
  margin-top:-25px;
}

#cd-portal-hero .left{
  max-width:720px;
}

#cd-portal-hero .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(9,186,237,.10);
  border:1px solid rgba(9,186,237,.20);
  color:var(--cd-blue-deep);
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:14px;
}

#cd-portal-hero .eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--cd-blue-deep);
  box-shadow:0 0 0 6px rgba(0,107,162,.14);
  flex:0 0 auto;
}

#cd-portal-hero .title{
  margin:0 0 12px;
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.08;
  font-size:clamp(32px,4.3vw,56px);
  color:#0b0b0c;
}

#cd-portal-hero .sub{
  margin:0 0 14px;
  font-size:clamp(17px,1.4vw,22px);
  line-height:1.4;
  font-weight:700;
  color:#16314c;
}

#cd-portal-hero .text{
  margin:0;
  max-width:64ch;
  color:var(--cd-muted);
  font-size:clamp(15px,1.1vw,18px);
  line-height:1.65;
}

#cd-portal-hero .hero-media{
  position:relative;
  min-height:clamp(420px,44vw,560px);
  display:grid;
  place-items:center;
  isolation:isolate;
}

#cd-portal-hero .hero-media__blob{
  position:absolute;
  inset:6% 0% 2% 6%;
  border-radius:34% 66% 58% 42% / 42% 36% 64% 58%;
  background:
    radial-gradient(circle at 72% 22%, rgba(9,186,237,.95), transparent 26%),
    radial-gradient(circle at 24% 78%, rgba(123,188,255,.65), transparent 28%),
    linear-gradient(135deg, #006BA2 0%, #09BAED 44%, #7bbcff 72%, #dff8ff 100%);
  box-shadow:
    0 34px 80px rgba(0,107,162,.26),
    0 14px 34px rgba(9,186,237,.16),
    inset 0 1px 0 rgba(255,255,255,.42);
  transform:rotate(-5deg);
  z-index:0;
  pointer-events:none;
}

#cd-portal-hero .hero-media__glow{
  position:absolute;
  width:92%;
  height:92%;
  left:5%;
  top:4%;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.34) 0%, rgba(255,255,255,0) 68%);
  z-index:1;
  pointer-events:none;
}

#cd-portal-hero .hero-media__dots{
  position:absolute;
  left:3%;
  top:17%;
  width:118px;
  height:118px;
  z-index:1;
  opacity:.45;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.95) 1.4px, transparent 1.4px);
  background-size:14px 14px;
  border-radius:20px;
  transform:rotate(-8deg);
  filter:drop-shadow(0 10px 18px rgba(0,107,162,.08));
}

#cd-portal-hero .hero-media__ring{
  position:absolute;
  right:8%;
  top:14%;
  width:150px;
  height:150px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,.56);
  box-shadow:
    0 0 0 10px rgba(255,255,255,.10),
    0 16px 34px rgba(0,107,162,.10);
  z-index:1;
  pointer-events:none;
}

#cd-portal-hero .hero-media__pill{
  position:absolute;
  right:1%;
  bottom:24%;
  width:122px;
  height:26px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(255,255,255,.72), rgba(255,255,255,.26));
  border:1px solid rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transform:rotate(-12deg);
  z-index:1;
  pointer-events:none;
  box-shadow:0 12px 22px rgba(15,23,42,.08);
}

#cd-portal-hero .hero-media__image{
  position:relative;
  z-index:2;
  width:100%;
  max-width:590px;
  display:flex;
  align-items:center;
  justify-content:center;
}

#cd-portal-hero .hero-media__image img{
  display:block;
  width:100%;
  max-width:590px;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 24px 46px rgba(0,0,0,.14));
}

/* ===============================
   SECCIONES GENERALES
=============================== */

#cd-portal-docentes,
#cd-portal-institucion,
#cd-portal-comunicacion,
#cd-portal-programas{
  background:#fff;
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--cd-text);
}

#cd-portal-docentes,
#cd-portal-institucion,
#cd-portal-comunicacion{
  padding:clamp(54px,6.5vw,92px) 0;
}

#cd-portal-programas{
  padding:clamp(56px,7vw,110px) 0;
}

#cd-portal-docentes,
#cd-portal-institucion,
#cd-portal-programas{
  position:relative;
  overflow:clip;
}

@supports not (overflow:clip){
  #cd-portal-docentes,
  #cd-portal-institucion,
  #cd-portal-programas{
    overflow:hidden;
  }
}

#cd-portal-docentes .wrap,
#cd-portal-institucion .wrap,
#cd-portal-comunicacion .wrap,
#cd-portal-programas .wrap{
  max-width:1180px;
  margin:0 auto;
  padding:0 18px;
  position:relative;
  z-index:2;
}

#cd-portal-programas .wrap{
  max-width:1200px;
  padding:0 20px;
}

#cd-portal-docentes h2,
#cd-portal-institucion h2,
#cd-portal-comunicacion h2,
#cd-portal-programas .title{
  margin:0 0 10px;
  text-align:center;
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.12;
  font-size:clamp(28px,3.1vw,44px);
}

#cd-portal-programas .title{
  font-size:clamp(28px,3.2vw,46px);
  line-height:1.10;
  margin:0 0 12px;
}

#cd-portal-docentes .sub,
#cd-portal-institucion .sub,
#cd-portal-comunicacion .sub,
#cd-portal-programas .sub{
  text-align:center;
  margin:10px auto 0;
  max-width:74ch;
  color:var(--cd-muted);
  line-height:1.55;
  font-size:clamp(15px,1.1vw,18px);
}

#cd-portal-programas .sub{
  max-width:70ch;
  margin:0 auto;
}

#cd-portal-docentes .grid{
  margin-top:26px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:clamp(14px,2.2vw,22px);
  align-items:stretch;
}

#cd-portal-institucion .grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:clamp(14px,2.2vw,22px);
  align-items:stretch;
}

#cd-portal-comunicacion .timeline,
#cd-portal-programas .grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(280px, 360px));
  justify-content:center;
  gap:clamp(14px,2.2vw,22px);
  align-items:stretch;
}

#cd-portal-comunicacion .timeline{
  position:relative;
  margin:42px 0 0;
  text-align:left;
}

#cd-portal-programas .grid{
  margin-top:0;
}

#cd-portal-programas .head{
  max-width:760px;
  margin:0 auto 24px;
  text-align:center;
}

#cd-portal-docentes .card,
#cd-portal-institucion .card,
#cd-portal-comunicacion .step,
#cd-portal-programas .card{
  background:rgba(255,255,255,.94);
  border:1px solid rgba(11,14,19,.08);
  border-radius:26px;
  padding:18px;
  box-shadow:
    0 18px 45px rgba(15,23,42,.08),
    0 2px 10px rgba(15,23,42,.04);
  backdrop-filter:blur(10px) saturate(160%);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:100%;
  position:relative;
  overflow:hidden;
}

#cd-portal-docentes .card:hover,
#cd-portal-institucion .card:hover,
#cd-portal-comunicacion .step:hover,
#cd-portal-programas .card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,107,162,.28);
  box-shadow:
    0 26px 70px rgba(15,23,42,.10),
    0 8px 18px rgba(15,23,42,.05);
}

#cd-portal-docentes .top,
#cd-portal-institucion .top,
#cd-portal-comunicacion .top,
#cd-portal-programas .card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  position:relative;
  z-index:1;
}

#cd-portal-docentes .icon,
#cd-portal-institucion .icon,
#cd-portal-comunicacion .icon,
#cd-portal-programas .icon{
  width:75px;
  height:75px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  overflow:hidden;
  transition:transform .22s ease;
}

#cd-portal-docentes .icon img,
#cd-portal-institucion .icon img,
#cd-portal-comunicacion .icon img,
#cd-portal-programas .icon img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

#cd-portal-docentes .card:hover .icon,
#cd-portal-institucion .card:hover .icon,
#cd-portal-comunicacion .step:hover .icon,
#cd-portal-programas .card:hover .icon{
  transform:translateY(-2px) scale(1.04);
}

#cd-portal-docentes .badge,
#cd-portal-institucion .badge,
#cd-portal-comunicacion .step-tag,
#cd-portal-programas .tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(254,148,5,.32);
  font-weight:900;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(254,148,5,.98);
  white-space:nowrap;
  position:relative;
  z-index:1;
  transition:border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

#cd-portal-docentes .card:hover .badge,
#cd-portal-institucion .card:hover .badge,
#cd-portal-comunicacion .step:hover .step-tag,
#cd-portal-programas .card:hover .tag{
  border-color:var(--cd-blue-deep);
  color:var(--cd-blue-deep);
  box-shadow:0 10px 22px rgba(0,107,162,.12);
  transform:translateY(-1px);
}

#cd-portal-docentes h3,
#cd-portal-institucion h3,
#cd-portal-comunicacion h3,
#cd-portal-programas h3{
  margin:0;
  font-weight:900;
  letter-spacing:-.02em;
  font-size:16px;
  line-height:1.2;
  color:var(--cd-text);
}

#cd-portal-comunicacion h3{
  text-align:left;
  position:relative;
  z-index:1;
}

#cd-portal-docentes p,
#cd-portal-institucion p,
#cd-portal-comunicacion p,
#cd-portal-programas p{
  margin:0;
  color:var(--cd-muted);
  line-height:1.6;
  font-size:14px;
}

#cd-portal-comunicacion p{
  text-align:left;
  position:relative;
  z-index:1;
}

#cd-portal-docentes .actions,
#cd-portal-institucion .actions,
#cd-portal-comunicacion .actions,
#cd-portal-programas .actions{
  margin-top:auto;
  padding-top:6px;
  position:relative;
  z-index:1;
  width:100%;
  min-width:0;
}

#cd-portal-comunicacion .actions{
  padding-top:8px;
}

#cd-portal-docentes .cd-btn-primary,
#cd-portal-institucion .cd-btn-primary,
#cd-portal-comunicacion .cd-btn-primary,
#cd-portal-programas .cd-btn-primary{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  min-width:0;
  padding:.95rem 1rem;
  border-radius:16px;
  font-weight:500;
  font-size:14px;
  line-height:1.1;
  text-align:center;
  text-decoration:none;
  background:var(--cd-orange);
  color:#fff !important;
  border:0;
  box-shadow:0 8px 18px rgba(0,0,0,.2);
  transition:background .25s ease-in-out, transform .25s ease-in-out, box-shadow .25s ease-in-out;
  white-space:normal;
  overflow-wrap:anywhere;
}

#cd-portal-docentes .cd-btn-primary:hover,
#cd-portal-institucion .cd-btn-primary:hover,
#cd-portal-comunicacion .cd-btn-primary:hover,
#cd-portal-programas .cd-btn-primary:hover{
  background:var(--cd-blue-deep);
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,107,162,.35);
}

#cd-portal-docentes .cd-btn-primary.is-disabled,
#cd-portal-institucion .cd-btn-primary.is-disabled,
#cd-portal-comunicacion .cd-btn-primary.is-disabled,
#cd-portal-programas .cd-btn-primary.is-disabled,
#cd-portal-docentes .cd-btn-primary[aria-disabled="true"],
#cd-portal-institucion .cd-btn-primary[aria-disabled="true"],
#cd-portal-comunicacion .cd-btn-primary[aria-disabled="true"],
#cd-portal-programas .cd-btn-primary[aria-disabled="true"]{
  cursor:not-allowed;
  opacity:.88;
}

/* ===============================
   INSTITUCIÓN
=============================== */

#cd-portal-institucion .shape{
  position:absolute;
  left:50%;
  top:52%;
  transform:translate(-50%,-50%);
  width:min(760px, 88vw);
  height:min(420px, 52vw);
  border-radius:140px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.42), rgba(255,255,255,0) 62%),
    linear-gradient(135deg, rgba(191,243,255,.58) 0%, rgba(127,231,255,.42) 52%, rgba(123,188,255,.34) 100%);
  box-shadow:0 18px 60px rgba(9,186,237,.10);
  opacity:.82;
  z-index:0;
  pointer-events:none;
  filter:saturate(1.02);
}

#cd-portal-institucion .stack{
  margin-top:30px;
  display:grid;
  gap:34px;
}

#cd-portal-institucion .group-title{
  margin:0 0 14px;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:clamp(20px,1.8vw,26px);
  line-height:1.2;
  font-weight:800;
  letter-spacing:-.02em;
  color:#122038;
}

#cd-portal-institucion .group-title::before{
  content:"";
  width:44px;
  height:4px;
  border-radius:999px;
  background:var(--cd-blue-deep);
  flex:0 0 auto;
}

/* ===============================
   PROGRAMAS
=============================== */

#cd-portal-programas .shape{
  position:absolute;
  top:35px;
  left:-240px;
  width:min(780px,120vw);
  height:min(520px,72vw);
  background:
    radial-gradient(700px 520px at 25% 25%, rgba(255,255,255,.22), transparent 55%),
    linear-gradient(135deg, #bff3ff 0%, #7fe7ff 55%, #7bbcff 100%);
  border-bottom-right-radius:160px;
  border-bottom-left-radius:46px;
  border-top-right-radius:46px;
  border-top-left-radius:46px;
  filter:saturate(1.02);
  opacity:.96;
  z-index:0;
  box-shadow:0 28px 90px rgba(9,186,237,.18);
  pointer-events:none;
}

#cd-portal-programas .card-top,
#cd-portal-programas .card-body,
#cd-portal-programas .actions{
  position:relative;
  z-index:1;
}

/* ===============================
   FOOTER
=============================== */

#cd-footer-mini{
  background:var(--cd-footer-bg);
  color:#fff;
  font-family:Montserrat,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  padding:clamp(46px, 6vw, 70px) 0 22px;
  overflow:hidden;
  text-align:center;
}

#cd-footer-mini .wrap{
  max-width:1000px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:22px;
}

#cd-footer-mini .logo{
  display:flex;
  justify-content:center;
  align-items:center;
}

#cd-footer-mini .logo img{
  width:190px;
  max-width:78vw;
  height:auto;
  display:block;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.18));
}

#cd-footer-mini .grid{
  width:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
  justify-content:center;
}

#cd-footer-mini .card{
  border-radius:18px;
  padding:16px;
  background:transparent;
  border:0;
}

#cd-footer-mini h4{
  margin:0 0 12px;
  font-size:16px;
  font-weight:800;
  letter-spacing:-0.01em;
  color:#fff;
}

#cd-footer-mini .list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:center;
}

#cd-footer-mini a{
  color:#fff;
  text-decoration:none;
  opacity:.95;
  transition:transform .2s ease, opacity .2s ease, color .2s ease;
  font-weight:600;
}

#cd-footer-mini a:hover{
  opacity:1;
  color:var(--cd-blue-deep);
  transform:translateY(-1px);
}

#cd-footer-mini .contact-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  line-height:1.2;
  padding:6px 4px;
  border-radius:12px;
}

#cd-footer-mini .cd-i{
  width:34px;
  height:34px;
  border-radius:12px;
  display:inline-grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.22);
  flex:0 0 auto;
  transition:background .25s ease, border-color .25s ease, transform .25s ease;
}

#cd-footer-mini .cd-i .material-symbols-rounded{
  font-size:20px;
  color:#fff;
  font-variation-settings:'FILL' 1, 'wght' 700, 'GRAD' 0, 'opsz' 24;
}

#cd-footer-mini .txt{
  min-width:0;
  overflow-wrap:anywhere;
  word-break:break-word;
  text-align:center;
}

#cd-footer-mini .social-row{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:6px;
}

#cd-footer-mini .social-row a{
  width:46px;
  height:46px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,107,162,.55);
  border:1px solid rgba(255,255,255,.22);
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}

#cd-footer-mini .social-row a:hover{
  transform:translateY(-2px);
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.35);
}

#cd-footer-mini .social-row svg{
  width:26px;
  height:26px;
  fill:#fff;
  display:block;
  transform-origin:50% 50%;
}

#cd-footer-mini .social-row a.fb svg{ transform:scale(1.12); }
#cd-footer-mini .social-row a.ig svg{ transform:scale(1.28); }
#cd-footer-mini .social-row a.li:hover svg{ transform:scale(1.08); }
#cd-footer-mini .social-row a.fb:hover svg{ transform:scale(1.12) scale(1.08); }
#cd-footer-mini .social-row a.ig:hover svg{ transform:scale(1.28) scale(1.08); }

#cd-footer-mini .bottom{
  max-width:1000px;
  margin:18px auto 0;
  padding:14px 20px 0;
  border-top:1px solid rgba(255,255,255,.18);
  text-align:center;
  font-size:13px;
  opacity:.92;
}

/* ===============================
   RESPONSIVE
=============================== */

@media (max-width:1100px){
  #cd-portal-docentes .grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:980px){
  :root{
    --cd-header-h:71px;
  }

  #cd-header-b2b .wrap{
    padding:14px 18px;
  }

  #cd-header-b2b nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    border-top:1px solid rgba(11,14,19,.08);
    padding:18px;
    display:none;
    flex-direction:column;
    gap:18px;
    text-align:center;
    box-shadow:0 20px 32px rgba(15,23,42,.08);
  }

  #cd-header-b2b nav.is-open{
    display:flex;
  }

  #cd-header-b2b .burger{
    display:flex;
  }

  #cd-header-b2b nav a{
    font-size:15px;
  }

  #cd-portal-hero{
    min-height:auto;
    padding:88px 0 76px;
    align-items:flex-start;
  }

  #cd-portal-hero .wrap{
    grid-template-columns:1fr;
    gap:46px;
    margin-top:0;
  }

  #cd-portal-hero .left{
    max-width:760px;
    text-align:center;
    margin:0 auto;
  }

  #cd-portal-hero .eyebrow{
    margin-left:auto;
    margin-right:auto;
  }

  #cd-portal-hero .text{
    margin-left:auto;
    margin-right:auto;
  }

  #cd-portal-hero .hero-media{
    min-height:430px;
  }

  #cd-portal-hero .hero-media__blob{
    inset:7% 10% 3% 10%;
  }

  #cd-portal-hero .hero-media__image img{
    max-width:520px;
  }

  #cd-portal-institucion .grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  #cd-portal-institucion .shape{
    width:min(680px, 110vw);
    height:min(380px, 66vw);
    top:50%;
  }

  #cd-portal-comunicacion .timeline{
    grid-template-columns:1fr;
    max-width:360px;
    margin:32px auto 0;
  }

  #cd-portal-programas .grid{
    grid-template-columns:repeat(2, minmax(260px, 340px));
  }

  #cd-portal-programas .shape{
    top:-240px;
    left:-340px;
    width:1100px;
    height:780px;
    border-bottom-right-radius:140px;
  }
}

@media (max-width:860px){
  #cd-footer-mini .grid{
    grid-template-columns:1fr;
  }

  #cd-footer-mini .card{
    padding:16px 14px;
  }
}

@media (max-width:640px){
  #cd-portal-programas .grid{
    grid-template-columns:1fr;
    max-width:360px;
    margin:0 auto;
  }
}

@media (max-width:520px){
  :root{
    --cd-header-h:71px;
  }

  #cd-portal-hero{
    padding:84px 0 66px;
  }

  #cd-portal-hero .wrap{
    padding:0 16px;
    margin-top:0;
    gap:36px;
  }

  #cd-portal-hero .eyebrow{
    max-width:100%;
    font-size:10px;
    line-height:1.2;
    white-space:normal;
    justify-content:center;
  }

  #cd-portal-hero .title{
    font-size:clamp(28px,7.2vw,38px);
    line-height:1.06;
  }

  #cd-portal-hero .hero-media{
    min-height:360px;
  }

  #cd-portal-hero .hero-media__blob{
    inset:9% 7% 6% 7%;
  }

  #cd-portal-hero .hero-media__image img{
    max-width:100%;
  }

  #cd-portal-hero .hero-media__dots{
    width:74px;
    height:74px;
    left:8%;
    top:17%;
    background-size:12px 12px;
  }

  #cd-portal-hero .hero-media__ring{
    width:92px;
    height:92px;
    right:8%;
    top:18%;
    box-shadow:
      0 0 0 7px rgba(255,255,255,.10),
      0 12px 24px rgba(0,107,162,.08);
  }

  #cd-portal-hero .hero-media__pill{
    width:88px;
    height:20px;
    right:5%;
    bottom:25%;
  }

  #cd-portal-docentes .grid,
  #cd-portal-institucion .grid{
    grid-template-columns:1fr;
  }

  #cd-portal-docentes .card,
  #cd-portal-institucion .card,
  #cd-portal-comunicacion .step,
  #cd-portal-programas .card{
    border-radius:22px;
    padding:16px;
  }

  #cd-portal-institucion .shape{
    width:120vw;
    height:72vw;
    border-radius:80px;
    opacity:.72;
  }

  #cd-portal-programas{
    padding:44px 0 80px;
  }

  #cd-portal-programas .shape{
    top:46%;
    left:-55%;
    transform:translateY(-50%);
    width:140vw;
    height:92vw;
    border-bottom-right-radius:120px;
  }
}