/* ==========================================
   0. Design Tokens
   ========================================== */
.page-inicio-2026 {
  --ipp-pink: #cc3f5c;
  --ipp-pink-light: #F8C8D0;
  --ipp-teal: #a4d8d1;
  --ipp-teal-light: #e8f4f2;
  --ipp-yellow: #fad139;
  --ipp-dark: #000000;
  --ipp-dark-2: #1a1a1a;
  --ipp-gray: #f5f5f5;
  --ipp-gray-2: #e0e0e0;
  --ipp-white: #ffffff;
  --ipp-green: #4a7c59;
  --ipp-mint: #d4edda;

  --font-heading: 'Raleway', sans-serif;
  --font-body: 'Inter', sans-serif;

  --container: 1280px;
  --gap: 24px;
}

/* ==========================================
   1. Base / Reset (scoped)
   ========================================== */
.page-inicio-2026 {
  font-family: var(--font-body);
  color: #333;
  line-height: 1.6;
  overflow-x: hidden;
  padding-top: 70px;
}

.page-inicio-2026 * { box-sizing: border-box; }
.page-inicio-2026 *::before { box-sizing: border-box; }
.page-inicio-2026 *::after { box-sizing: border-box; }

.page-inicio-2026 img { max-width: 100%; height: auto; display: block; }
.page-inicio-2026 a { text-decoration: none; }
.page-inicio-2026 a:not(.hn-btn) { color: inherit; }
.page-inicio-2026 h1 { font-family: var(--font-heading); font-weight: 700; font-style: normal; line-height: 1.2; margin: 0 0 16px; }
.page-inicio-2026 h2 { font-family: var(--font-heading); font-weight: 700; font-style: normal; line-height: 1.2; margin: 0 0 16px; }
.page-inicio-2026 h3 { font-family: var(--font-heading); font-weight: 700; font-style: normal; line-height: 1.2; margin: 0 0 16px; }
.page-inicio-2026 h4 { font-family: var(--font-heading); font-weight: 700; font-style: normal; line-height: 1.2; margin: 0 0 16px; }
.page-inicio-2026 p { margin: 0 0 16px; }
.page-inicio-2026 section { width: 100%; }

.hn-container { max-width: var(--container); margin: 0 auto; padding: 0 24px; }

/* ==========================================
   2. Buttons
   ========================================== */
.hn-shadow { box-shadow: 0px 25px 50px -12px rgba(0,0,0,0.25); }

.hn-btn { display: inline-block; padding: 14px 32px; font-family: var(--font-body); font-weight: 600; font-size: 14px; border-radius: 4px; cursor: pointer; transition: background-color 0.3s, color 0.3s; border: 2px solid transparent; text-align: center; }
.hn-btn--pink { background-color: var(--ipp-pink); color: var(--ipp-white); border-color: var(--ipp-pink); }
.hn-btn--pink:hover { background-color: #b0344d; }
.hn-btn--outline { background-color: transparent; color: var(--ipp-dark); border-color: var(--ipp-dark); }
.hn-btn--outline:hover { background-color: var(--ipp-dark); color: var(--ipp-white); }
.hn-btn--outline-white { background-color: transparent; color: var(--ipp-white); border-color: var(--ipp-white); }
.hn-btn--outline-white:hover { background-color: var(--ipp-white); color: var(--ipp-dark); }

/* ==========================================
   SEC 1 — Hero
   ========================================== */
.hn-hero { position: relative; min-height: calc(100vh - 70px); display: flex; align-items: center; background-color: #c94f6e; overflow: hidden; }
.hn-hero__bg { position: absolute; inset: 0; z-index: 0; }
.hn-hero__bg img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; opacity: 0.7; }
.hn-hero__content { position: relative; z-index: 1; display: grid; grid-template-columns: 51.29% 31.67%; gap: 13.52%; align-items: start; max-width: var(--container); margin: 0 auto; padding: 60px 24px 80px; width: 100%; }
.hn-hero__text { background-color: #F9FAFA; padding: 60px 57px 60px 48px; position: relative; color: var(--ipp-dark); }
.hn-hero__text::after { content: ''; position: absolute; bottom: -121px; left: 0; width: 0; height: 0; border-style: solid; border-width: 121px 90px 0 0; border-color: #F9FAFA transparent transparent transparent; }
.hn-hero__text h1 { font-family: var(--font-heading); font-size: 44px; font-weight: 700; font-style: normal; line-height: 1.136em; letter-spacing: -0.02em; color: var(--ipp-pink); margin-bottom: 20px; }
.hn-hero__text p { font-family: var(--font-heading); font-size: 22px; font-weight: 400; line-height: 1.3em; color: #000; }
.hn-hero__form { background: var(--ipp-white); border-radius: 0; padding: 36px 32px; box-shadow: 0 8px 32px rgba(0,0,0,0.15); width: 100%; min-height: 561px; border-top: 4px solid var(--ipp-pink); }
.hn-hero__form h3 { font-size: 22px; margin-bottom: 4px; }
.hn-hero__form .hn-form-subtitle { font-size: 13px; color: #777; margin-bottom: 20px; }
.hn-hero__form .hn-form-field { margin-bottom: 14px; }
.hn-hero__form label { display: block; font-size: 12px; font-weight: 600; color: #555; margin-bottom: 6px; }
.hn-hero__form input { width: 100%; padding: 12px 14px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; font-family: var(--font-body); transition: border-color 0.3s; }
.hn-hero__form select { width: 100%; padding: 12px 14px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; font-family: var(--font-body); transition: border-color 0.3s; }
.hn-hero__form input:focus { outline: none; border-color: var(--ipp-pink); }
.hn-hero__form select:focus { outline: none; border-color: var(--ipp-pink); }
.hn-hero__form .hn-btn { width: 100%; margin-top: 8px; }

/* ==========================================
   SEC 2 — Carreras
   ========================================== */
.hn-carreras { padding: 80px 0; background: var(--ipp-white); }
.hn-carreras__title { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; margin-bottom: 48px; }
.hn-carreras__title span { color: var(--ipp-pink); }
.hn-carreras__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.hn-card { border-radius: 0; overflow: hidden; background: var(--ipp-white); box-shadow: none; display: flex; flex-direction: column; }
.hn-card__header { padding: 37px 10px 30px 20px; display: flex; flex-direction: column; flex-grow: 1; position: relative; padding-bottom: 44px; }
.hn-card__header::after { content: ''; position: absolute; bottom: -74px; left: 0; width: 0; height: 0; border-style: solid; border-width: 74px 58px 0 0; border-color: transparent; z-index: 1; }
.hn-card--green .hn-card__header::after { border-color: var(--ipp-teal) transparent transparent transparent; }
.hn-card--teal .hn-card__header::after { border-color: var(--ipp-pink-light) transparent transparent transparent; }
.hn-card--yellow .hn-card__header::after { border-color: var(--ipp-yellow) transparent transparent transparent; }
.hn-card--pink .hn-card__header::after { border-color: var(--ipp-pink) transparent transparent transparent; }
.hn-card--mint .hn-card__header::after { border-color: var(--ipp-teal) transparent transparent transparent; }
.hn-card__header h4 { font-family: var(--font-heading); font-size: 22px; font-weight: 700; font-style: normal; line-height: 1.454em; color: #1A1A1A; margin-bottom: 10px; }
.hn-card__header p { font-family: var(--font-heading); font-size: 16px; font-weight: 500; font-style: normal; line-height: 1.625em; color: #4B5563; margin-bottom: 12px; }
.hn-card__link { font-family: var(--font-heading); font-size: 16px; font-weight: 700; font-style: normal; line-height: 1.5em; color: #000; display: inline-flex; align-items: center; gap: 8px; }
.hn-card__link::after { content: ''; display: inline-block; width: 12.25px; height: 10.5px; background-image: url("data:image/svg+xml,%3Csvg width='13' height='11' viewBox='0 0 13 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.993 5.87002C12.3348 5.52822 12.3348 4.97314 11.993 4.63135L7.61797 0.256348C7.27617 -0.0854492 6.72109 -0.0854492 6.3793 0.256348C6.0375 0.598145 6.0375 1.15322 6.3793 1.49502L9.26406 4.37705H0.875C0.391016 4.37705 0 4.76807 0 5.25205C0 5.73604 0.391016 6.12705 0.875 6.12705H9.26133L6.38203 9.00908C6.04023 9.35088 6.04023 9.90596 6.38203 10.2478C6.72383 10.5896 7.27891 10.5896 7.6207 10.2478L11.9957 5.87275L11.993 5.87002Z' fill='black'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; }
.hn-card__link:hover { text-decoration: underline; }
.hn-card__img { margin-top: auto; position: relative; }
.hn-card__img img { width: 100%; height: 200px; object-fit: cover; }
.hn-card--green .hn-card__header { background-color: var(--ipp-teal); }
.hn-card--teal .hn-card__header { background-color: var(--ipp-pink-light); }
.hn-card--yellow .hn-card__header { background-color: var(--ipp-yellow); }
.hn-card--pink .hn-card__header { background-color: var(--ipp-pink); }
.hn-card--mint .hn-card__header { background-color: var(--ipp-teal); }
.hn-card--pink .hn-card__header h4 { color: var(--ipp-white); }
.hn-card--pink .hn-card__header p { color: var(--ipp-white); }
.hn-card--pink .hn-card__header .hn-card__link { color: var(--ipp-white); }
.hn-card--pink .hn-card__header .hn-card__link::after { background-image: url("data:image/svg+xml,%3Csvg width='13' height='11' viewBox='0 0 13 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.993 5.87002C12.3348 5.52822 12.3348 4.97314 11.993 4.63135L7.61797 0.256348C7.27617 -0.0854492 6.72109 -0.0854492 6.3793 0.256348C6.0375 0.598145 6.0375 1.15322 6.3793 1.49502L9.26406 4.37705H0.875C0.391016 4.37705 0 4.76807 0 5.25205C0 5.73604 0.391016 6.12705 0.875 6.12705H9.26133L6.38203 9.00908C6.04023 9.35088 6.04023 9.90596 6.38203 10.2478C6.72383 10.5896 7.27891 10.5896 7.6207 10.2478L11.9957 5.87275L11.993 5.87002Z' fill='white'/%3E%3C/svg%3E"); }
.hn-card--cta { background: var(--ipp-white); box-shadow: 0 0 20px 0 rgba(0,0,0,0.10); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 48px 32px; }
.hn-card--cta .hn-card__icon { width: 80px; height: 80px; margin-bottom: 16px; }
.hn-card--cta .hn-card__icon img { width: 80px; height: 80px; object-fit: contain; }
.hn-card--cta h4 { font-size: 20px; margin-bottom: 8px; }
.hn-card--cta p { font-family: var(--font-heading); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.75em; color: #666; margin-bottom: 20px; }
.hn-card--cta .hn-btn { font-family: var(--font-heading); font-size: 16px; font-weight: 700; line-height: 1.5em; color: var(--ipp-white); background-color: var(--ipp-pink); border-color: var(--ipp-pink); border-radius: 0; }

/* ==========================================
   SEC 3 — Banner Ticker
   ========================================== */
.hn-ticker { background: var(--ipp-dark); padding: 18px 0; overflow: hidden; white-space: nowrap; }
.hn-ticker__track { display: inline-flex; align-items: center; gap: 0; animation: hn-scroll 30s linear infinite; }
.hn-ticker__track:hover { animation-play-state: paused; }
.hn-ticker__text { font-family: var(--font-heading); font-size: 18px; font-weight: 400; line-height: 1.556em; color: var(--ipp-white); flex-shrink: 0; padding-right: 48px; border-right: 2px solid rgba(255,255,255,0.3); margin-right: 48px; white-space: nowrap; }
.hn-ticker__text strong { font-weight: 700; }
.hn-ticker__text .hn-btn { font-family: var(--font-heading); font-size: 18px; font-weight: 700; line-height: 1.556em; color: var(--ipp-white); background-color: var(--ipp-pink); border-color: var(--ipp-pink); white-space: nowrap; margin-left: 16px; padding: 6px 12px; }

@keyframes hn-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ==========================================
   SEC 4 — Impacto Egresado
   ========================================== */
.hn-impacto { padding: 80px 0; background-color: var(--ipp-teal); }
.hn-impacto__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.hn-impacto h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; margin-bottom: 24px; }
.hn-tabs { display: flex; gap: 0; margin-bottom: 32px; }
.hn-tabs [data-tab] { padding: 8px 20px; border: 2px solid var(--ipp-dark); border-radius: 0; margin-left: -2px; font-family: var(--font-body); font-size: 14px; font-weight: 600; line-height: 1.428em; cursor: pointer; background: transparent; transition: background-color 0.3s, color 0.3s; }
.hn-tabs [data-tab]:first-child { margin-left: 0; }
.hn-tabs [data-tab].is-active { background: var(--ipp-dark); color: var(--ipp-white); }
.hn-tabs [data-tab]:hover:not(.is-active) { background: rgba(0,0,0,0.05); }
.hn-impacto__panel { display: none; }
.hn-impacto__panel.is-active { display: block; }
.hn-impacto__list { list-style: none; padding: 0; margin: 0; }
.hn-impacto__list li { display: flex; gap: 20px; margin-bottom: 24px; }
.hn-impacto__num { font-family: var(--font-body); font-weight: 700; font-size: 20px; line-height: 1.4em; color: var(--ipp-dark); flex-shrink: 0; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background-color: rgba(255,255,255,0.5); }
.hn-impacto__list h4 { font-family: var(--font-body); font-size: 20px; font-weight: 700; line-height: 1.4em; color: #000; margin-bottom: 4px; }
.hn-impacto__list p { font-family: var(--font-body); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.5em; color: #4B5563; margin: 0; }
.hn-impacto__img img { border-radius: 0; width: 100%; height: auto; object-fit: contain; box-shadow: 0px 25px 50px -12px rgba(0,0,0,0.25); }

/* ==========================================
   SEC 5 — Proyección Internacional
   ========================================== */
.hn-internacional { padding: 80px 0; background-color: var(--ipp-pink); }
.hn-internacional h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; color: var(--ipp-white); text-align: center; margin-bottom: 48px; }
.hn-internacional__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--gap); }
.hn-intl-card { background: var(--ipp-white); border-radius: 0; overflow: hidden; display: flex; flex-direction: column; }
.hn-intl-card__img { position: relative; height: 220px; }
.hn-intl-card__img img { width: 100%; height: 100%; object-fit: cover; }
.hn-intl-card__badge { position: absolute; top: 12px; right: 12px; background: #FFFFFF; color: #1A1A1A; padding: 4px 12px; border-radius: 0; font-family: var(--font-body); font-size: 12px; font-weight: 700; line-height: 1.333em; }
.hn-intl-card__body { padding: 24px; display: flex; flex-direction: column; flex-grow: 1; }
.hn-intl-card__body .hn-card__link { margin-top: auto; }
.hn-intl-card__body h4 { font-family: var(--font-body); font-size: 20px; font-weight: 700; line-height: 1.4em; color: #1A1A1A; margin-bottom: 4px; }
.hn-intl-card__body .hn-intl-card__location { font-family: var(--font-body); font-size: 14px; font-weight: 500; line-height: 1.428em; color: #6B7280; margin-bottom: 16px; }
.hn-intl-card__body p { font-family: var(--font-body); font-size: 14px; font-weight: 400; font-style: normal; line-height: 1.428em; color: #4B5563; margin-bottom: 50px; }
.hn-intl-card__body .hn-card__link { font-family: var(--font-body); font-size: 14px; font-weight: 700; line-height: 1.428em; color: var(--ipp-pink); display: inline-flex; }
.hn-intl-card__body .hn-card__link::after { background-image: url("data:image/svg+xml,%3Csvg width='13' height='11' viewBox='0 0 13 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.993 5.87002C12.3348 5.52822 12.3348 4.97314 11.993 4.63135L7.61797 0.256348C7.27617 -0.0854492 6.72109 -0.0854492 6.3793 0.256348C6.0375 0.598145 6.0375 1.15322 6.3793 1.49502L9.26406 4.37705H0.875C0.391016 4.37705 0 4.76807 0 5.25205C0 5.73604 0.391016 6.12705 0.875 6.12705H9.26133L6.38203 9.00908C6.04023 9.35088 6.04023 9.90596 6.38203 10.2478C6.72383 10.5896 7.27891 10.5896 7.6207 10.2478L11.9957 5.87275L11.993 5.87002Z' fill='%23CC3F5C'/%3E%3C/svg%3E"); }

/* ==========================================
   SEC 6 — Por qué estudiar
   ========================================== */
.hn-porque { padding: 80px 0; background: var(--ipp-white); }
.hn-porque__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 145px; align-items: center; }
.hn-porque h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; margin-bottom: 32px; }
.hn-porque__item { margin-bottom: 28px; }
.hn-porque__item h4 { font-family: var(--font-heading); font-size: 20px; font-weight: 700; line-height: 1.4em; color: #111827; margin-bottom: 6px; }
.hn-porque__item p { font-family: var(--font-heading); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.5em; color: #000000; margin: 0; }
.hn-porque__img img { border-radius: 0; width: 100%; height: auto; object-fit: contain; box-shadow: 0px 25px 50px -12px rgba(0,0,0,0.25); }

/* ==========================================
   SEC 7 — Modalidades
   ========================================== */
.hn-modalidades { padding: 80px 0; background: #231F20; color: var(--ipp-white); }
.hn-modalidades h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; text-align: center; margin-bottom: 48px; }
.hn-modalidades__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.hn-mod-card { background: rgba(255,255,255,0.05); border-radius: 0; padding: 32px; border: 1px solid rgba(255,255,255,0.10); }
.hn-mod-card h4 { font-family: var(--font-heading); font-size: 24px; font-weight: 700; line-height: 1.333em; margin-bottom: 16px; }
.hn-mod-card > p { font-family: var(--font-heading); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.625em; color: rgba(255,255,255,0.8); margin-bottom: 27px; }
.hn-mod-card__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
.hn-mod-card__list li { font-family: var(--font-heading); font-size: 14px; font-weight: 400; line-height: 1.428em; color: var(--ipp-white); padding: 0; padding-left: 24px; margin-bottom: 8px; position: relative; }
.hn-mod-card__list li::before { content: '✓'; position: absolute; left: 0; font-weight: 700; }
.hn-mod-card:first-child .hn-mod-card__list li::before { color: var(--ipp-pink-light); }
.hn-mod-card:last-child .hn-mod-card__list li::before { color: var(--ipp-teal); }

/* ==========================================
   SEC 8 — Open Day
   ========================================== */
.hn-openday { padding: 80px 0; background: var(--ipp-white); position: relative; }
.hn-openday__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.hn-openday__text h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; margin-bottom: 16px; }
.hn-openday__text h2 span { color: var(--ipp-pink); }
.hn-openday__text > p { font-family: var(--font-heading); font-size: 20px; font-weight: 400; font-style: normal; line-height: 1.4em; color: #111111; margin-bottom: 24px; }
.hn-openday__detail { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: 14px; }
.hn-openday__detail svg { flex-shrink: 0; width: 20px; height: 20px; }
.hn-openday__detail strong { display: block; font-family: var(--font-heading); font-size: 18px; font-weight: 700; line-height: 1.333em; }
.hn-openday__detail small { font-family: var(--font-heading); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.25em; color: #6B7280; }
.hn-openday__btn { font-family: var(--font-heading); font-size: 18px; font-weight: 700; line-height: 1.333em; letter-spacing: 1.6px; color: #ffffff; background-color: var(--ipp-pink); border-color: var(--ipp-pink); border-radius: 0; margin-top: 24px; text-transform: uppercase; }
.hn-openday__img { position: relative; }
.hn-openday__img img { border-radius: 0; width: 100%; height: auto; object-fit: contain; }
.hn-openday__badge { position: absolute; bottom: -24px; left: -24px; background: var(--ipp-yellow); padding: 24px; border-radius: 0; font-family: var(--font-heading); font-weight: 700; font-size: 14px; line-height: 1.714em; text-align: left; }
.hn-openday__badge::after { content: ''; position: absolute; bottom: -37px; left: 0; width: 0; height: 0; border-style: solid; border-width: 37px 59px 0 0; border-color: var(--ipp-yellow) transparent transparent transparent; }
.hn-openday__badge span { display: block; font-family: var(--font-heading); font-size: 24px; font-weight: 700; line-height: 1em; }

/* ==========================================
   SEC 9 — Egresados
   ========================================== */
.hn-egresados { padding: 80px 0; background: var(--ipp-gray); }
.hn-egresados h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; text-align: center; margin-bottom: 48px; }
.hn-egresados__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; }
.hn-egresado-card { border-radius: 0; overflow: visible; background: none; position: relative; min-height: 500px; }
.hn-egresado-card__top { padding: 20px 43px 20px 40px; position: absolute; top: 0; left: 0; width: 100%; z-index: 2; transition: height 0.4s ease; height: auto; }
.hn-egresado-card__top p:not(.hn-egresado-role) { max-height: 0; overflow: hidden; opacity: 0; margin: 0; transition: max-height 0.4s ease, opacity 0.3s ease, margin 0.3s ease; }
.hn-egresado-card:hover .hn-egresado-card__top { height: 100%; }
.hn-egresado-card:hover .hn-egresado-card__top p:not(.hn-egresado-role) { max-height: 300px; opacity: 1; margin-bottom: 16px; }
.hn-egresado-card__top::after { transition: opacity 0.3s ease; }
.hn-egresado-card:hover .hn-egresado-card__top::after { opacity: 0; }
.hn-egresado-card__top::after { content: ''; position: absolute; bottom: -74px; left: 0; width: 0; height: 0; border-style: solid; border-width: 74px 58px 0 0; border-color: transparent; z-index: 2; opacity: 0; transition: opacity 0.3s ease; }
.hn-egresado-card:hover .hn-egresado-card__top::after { opacity: 1; }
.hn-egresado-card__top h4 { font-family: var(--font-heading); font-size: 24px; font-weight: 700; line-height: 1.333em; margin-bottom: 4px; }
.hn-egresado-card__top .hn-egresado-role { font-family: var(--font-heading); font-size: 16px; font-weight: 600; line-height: 1.5em; color: #333; margin-bottom: 16px; }
.hn-egresado-card__top p { font-family: var(--font-heading); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.5em; }
.hn-egresado-card__img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.hn-egresado-card__img img { width: 100%; height: 100%; object-fit: cover; }
.hn-egresado-card--pink .hn-egresado-card__top { background: var(--ipp-pink-light); }
.hn-egresado-card--pink .hn-egresado-card__top::after { border-color: var(--ipp-pink-light) transparent transparent transparent; }
.hn-egresado-card--teal .hn-egresado-card__top { background: var(--ipp-teal); }
.hn-egresado-card--teal .hn-egresado-card__top::after { border-color: var(--ipp-teal) transparent transparent transparent; }
.hn-egresado-card--yellow .hn-egresado-card__top { background: var(--ipp-yellow); }
.hn-egresado-card--yellow .hn-egresado-card__top::after { border-color: var(--ipp-yellow) transparent transparent transparent; }

/* ==========================================
   SEC 10 — Orgullo IPP
   ========================================== */
.hn-orgullo { padding: 80px 0 123px 0; background: var(--ipp-white); }
.hn-orgullo__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: stretch; }
.hn-orgullo__text { position: relative; background: var(--ipp-yellow); padding: 70px 82px 70px 0; }
.hn-orgullo__text::before { content: ''; position: absolute; top: 0; bottom: 0; right: 100%; width: calc(50vw - var(--container) / 2 + 24px); background: var(--ipp-yellow); }
.hn-orgullo__text::after { content: ''; position: absolute; top: 100%; left: calc(-50vw + var(--container) / 2 - 24px); width: 0; height: 0; border-style: solid; border-width: 123px 107px 0 0; border-color: var(--ipp-yellow) transparent transparent transparent; }
.hn-orgullo h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: normal; letter-spacing: -0.02em; margin-bottom: 8px; }
.hn-orgullo h3 { font-family: var(--font-heading); font-size: 20px; font-style: normal; font-weight: 500; line-height: 1.5em; margin-bottom: 24px; }
.hn-orgullo p { font-family: var(--font-heading); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.5em; }
.hn-orgullo__img img { border-radius: 0; width: 100%; height: 100%; object-fit: cover; }

/* ==========================================
   SEC 11 — Educación Continua
   ========================================== */
.hn-educacion { padding: 0 0 120px 0; background: var(--ipp-white); }
.hn-educacion__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.hn-educacion h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; margin-bottom: 23px; }
.hn-edu-tabs { display: flex; gap: 0; flex-wrap: wrap; }
.hn-edu-btn { padding: 10px 20px; border: 2px solid var(--ipp-pink); border-radius: 0; margin-left: -2px; font-size: 14px; font-weight: 600; line-height: 1.428em; cursor: pointer; background: var(--ipp-white); color: var(--ipp-pink) !important; font-family: var(--font-body); transition: background-color 0.3s, color 0.3s; display: inline-block; text-align: center; }
.hn-edu-btn:first-child { margin-left: 0; }
.hn-edu-btn:hover { background: var(--ipp-pink); color: var(--ipp-white) !important; }
.hn-educacion__left p { font-family: var(--font-heading); font-size: 25px; font-weight: 500; line-height: 1.5em; color: #828282; margin-bottom: 24px; }
.hn-educacion__img img { border-radius: 0; width: 100%; height: auto; object-fit: contain; box-shadow: 0px 25px 50px -12px rgba(0,0,0,0.25); }

/* ==========================================
   SEC 12 — Testimonios
   ========================================== */
.hn-testimonios { padding: 80px 0; background: var(--ipp-teal); }
.hn-testimonios h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; text-align: center; margin-bottom: 48px; }
.hn-testimonios__grid { }
.hn-testimonios__grid .slick-track { display: flex !important; }
.hn-testimonios__grid .slick-slide { margin: 0 16px; }
.hn-testimonio-card { padding-bottom: 43px; position: relative; box-sizing: border-box; }
.hn-testimonio-card__inner { background: var(--ipp-white); border-radius: 0; padding: 30px 20px 40px 65px; position: relative; }
.hn-testimonio-card__inner::after { content: ''; position: absolute; top: 100%; left: 0; width: 0; height: 0; border-style: solid; border-width: 43px 58.5px 0 0; border-color: var(--ipp-white) transparent transparent transparent; }
.hn-testimonio-card__quote { width: 32px; height: 18.5px; margin-bottom: 13px; background-image: url("data:image/svg+xml,%3Csvg width='32' height='19' viewBox='0 0 32 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 18.5V0H0V13.5H11L14.5 18.5Z' fill='%23CC3F5C'/%3E%3Cpath d='M32 18.5V0H17.5V13.5H28.5L32 18.5Z' fill='%23CC3F5C'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; }
.hn-testimonio-card p { font-family: var(--font-body); font-size: 20px; font-weight: 600; font-style: normal; line-height: 1.2em; color: #374151; margin-bottom: 10px; }
.hn-testimonio-card__author { font-family: var(--font-body); font-size: 16px; font-weight: 400; line-height: 1.5em; color: #374151; }
.hn-testimonio-card__close-quote { position: absolute; bottom: 20px; right: 20px; width: 32px; height: 18.5px; background-image: url("data:image/svg+xml,%3Csvg width='32' height='19' viewBox='0 0 32 19' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 18.5V0H0V13.5H11L14.5 18.5Z' fill='%23CC3F5C'/%3E%3Cpath d='M32 18.5V0H17.5V13.5H28.5L32 18.5Z' fill='%23CC3F5C'/%3E%3C/svg%3E"); background-size: contain; background-repeat: no-repeat; transform: rotate(180deg); }
.hn-carousel-dots--dark { display: flex !important; justify-content: center; gap: 12px; margin-top: 24px; list-style: none; padding: 0; }
.hn-carousel-dots--dark li { line-height: 0; }
.hn-carousel-dots--dark li.slick-active .hn-carousel-dot--dark { background: #000; }
.hn-carousel-dots li.slick-active .hn-carousel-dot--dark { background: #000; }
.hn-carousel-dot--dark { width: 15px; height: 15px; border-radius: 50%; border: 2px solid #000; background: transparent; cursor: pointer; padding: 0; font-size: 0; }

/* ==========================================
   SEC 13 — Novedades
   ========================================== */
.hn-novedades { padding: 80px 0; background: #231F20; color: var(--ipp-white); }
.hn-novedades__header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 48px; }
.hn-novedades h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; }
.hn-novedades__header a { font-family: var(--font-heading); font-size: 16px; font-weight: 700; line-height: 1.5em; color: var(--ipp-yellow) !important; }
.hn-novedades__header a:hover { text-decoration: underline; }
.hn-novedades__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.hn-news-card { border-radius: 0; overflow: visible; border: none; }
.hn-news-card__body { background: var(--ipp-yellow); padding: 40px 35px 40px 44px; position: relative; color: var(--ipp-dark); }
.hn-news-card__body::after { content: ''; position: absolute; bottom: -74px; left: 0; width: 0; height: 0; border-style: solid; border-width: 74px 58px 0 0; border-color: var(--ipp-yellow) transparent transparent transparent; z-index: 1; }
.hn-news-card__meta { display: flex; gap: 12px; align-items: center; margin-bottom: 12px; font-size: 12px; }
.hn-news-card__tag { font-family: var(--font-body); font-size: 12px; font-weight: 700; line-height: 1.333em; color: #231F20; text-transform: uppercase; }
.hn-news-card__date { font-family: var(--font-body); font-size: 12px; font-weight: 400; line-height: 1.333em; color: #231F20; }
.hn-news-card__body h4 { font-family: var(--font-heading); font-size: 24px; font-weight: 700; line-height: 1.333em; color: #231F20; margin-bottom: 10px; }
.hn-news-card__body p { font-family: var(--font-heading); font-size: 16px; font-weight: 500; font-style: normal; line-height: 1.5em; color: #000000; }
.hn-news-card > img { width: 100%; height: auto; object-fit: contain; }

/* ==========================================
   SEC 14 — FAQ
   ========================================== */
.hn-faq { padding: 80px 0; background: #231F20; color: var(--ipp-white); }

.hn-faq h2 { font-family: var(--font-heading); font-size: 40px; font-weight: 800; font-style: normal; line-height: 1.2em; text-align: center; margin-bottom: 48px; }
.hn-faq__list { max-width: 900px; margin: 0 auto; }
.hn-faq__item { background: #ffffff; margin-bottom: 16px; }
.hn-faq__question { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; cursor: pointer; font-family: var(--font-heading); font-size: 18px; font-weight: 700; line-height: 1.556em; color: #1F2937; transition: color 0.3s; }
.hn-faq__arrow { font-size: 20px; transition: transform 0.3s; flex-shrink: 0; margin-left: 16px; color: var(--ipp-pink); }
.hn-faq__item.is-open .hn-faq__arrow { transform: rotate(180deg); }
.hn-faq__answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease, padding 0.3s; padding: 0 24px; }
.hn-faq__item.is-open .hn-faq__answer { max-height: 300px; padding: 0 24px 20px; }
.hn-faq__answer p { font-family: var(--font-heading); font-size: 16px; font-weight: 400; font-style: normal; line-height: 1.5em; color: #4B5563; }

/* ==========================================
   FOOTER
   ========================================== */
.page-inicio-2026 .hn-footer { background: #231F20; padding: 48px 0; color: var(--ipp-white); height: auto; overflow: visible; }
.hn-footer__inner { display: flex; align-items: center; justify-content: space-between; }
.hn-footer__logo a { display: flex; align-items: center; }
.hn-footer__logo svg { width: 124px; height: 57.66px; }
.hn-footer__links ul { list-style: none; padding: 0; margin: 0; display: flex; align-items: center; gap: 12px; }
.hn-footer__links a { font-family: var(--font-heading); font-size: 14px; font-weight: 400; line-height: 1.428em; color: var(--ipp-white); }
.hn-footer__links a:hover { text-decoration: underline; }
.hn-footer__separator { color: rgba(255,255,255,0.4); font-size: 14px; }
.hn-footer__social ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 16px; }
.hn-footer__social a { display: flex; align-items: center; justify-content: center; width: 28px; height: 27px; border: 1px solid rgba(255,255,255,0.5); border-radius: 50%; }
.hn-footer__social a:hover { border-color: var(--ipp-white); }
.hn-footer__social svg { width: 14px; height: 14px; fill: var(--ipp-white); }

/* ==========================================
   RESPONSIVE — Tablet (max-width: 1024px)
   ========================================== */
@media (max-width: 1024px) {
  .page-inicio-2026 { padding-top: 55px; }
  .hn-hero { min-height: calc(100vh - 55px); }
  .hn-hero__content { grid-template-columns: 1fr; gap: 89px; padding: 72px 24px 50px 24px; }
  .hn-hero__form { max-width: 420px; min-height: auto; }
  .hn-impacto__inner { grid-template-columns: 1fr; }
  .hn-porque__inner { grid-template-columns: 1fr; gap: 32px; }
  .hn-openday__inner { grid-template-columns: 1fr; }
  .hn-orgullo__inner { grid-template-columns: 1fr; }
  .hn-educacion__inner { grid-template-columns: 1fr; }
  .hn-carreras__grid { grid-template-columns: repeat(2, 1fr); }
  .hn-internacional__grid { grid-template-columns: repeat(2, 1fr); }
  .hn-egresados__grid { grid-template-columns: repeat(2, 1fr); }
}

/* ==========================================
   RESPONSIVE — Mobile (max-width: 768px)
   ========================================== */
@media (max-width: 768px) {
  .hn-hero__text h1 { font-size: 24px; line-height: 1.125em; }
  .hn-hero__text { padding: 24px; }
  .hn-hero__bg img { filter: blur(20px); }
  .hn-hero__text::after { border-width: 57px 64.5px 0 0; bottom: -57px; }
  .hn-hero__text p { font-size: 16px; line-height: 1.5em; }
  .hn-carreras__title { font-size: 30px; line-height: 1.033em; }
  .hn-impacto h2 { font-size: 30px; line-height: 1.2em; }
  .hn-internacional h2 { font-size: 30px; line-height: 1.067em; text-align: left; }
  .hn-porque h2 { font-size: 30px; line-height: 1.067em; }
  .hn-porque__item h4 { font-size: 18px; line-height: 1.111em; }
  .hn-porque__item p { font-size: 18px; line-height: 1.167em; }
  .hn-modalidades h2 { font-size: 30px; line-height: 1.067em; text-align: left; }
  .hn-openday__text h2 { text-align: left; }
  .hn-egresados h2 { text-align: left; }
  .hn-orgullo h2 { text-align: left; }
  .hn-educacion h2 { text-align: left; }
  .hn-testimonios h2 { text-align: left; }
  .hn-novedades h2 { text-align: left; }
  .hn-faq h2 { text-align: left; }
  .hn-mod-card h4 { font-size: 18px; line-height: 1.556em; }
  .hn-mod-card > p { font-size: 16px; line-height: 1.219em; }
  .hn-mod-card__list li { font-size: 16px; line-height: 1em; }
  .hn-openday__text h2 { font-size: 30px; line-height: 1.2em; }
  .hn-openday__text > p { font-size: 16px; line-height: 1.425em; }
  .hn-openday__detail strong { font-size: 16px; line-height: 1.25em; }
  .hn-openday__detail small { font-size: 16px; line-height: 1em; }
  .hn-openday__btn { font-size: 16px; line-height: 1.25em; }
  .hn-openday__badge span { font-size: 16px; line-height: 1.25em; }
  .hn-openday__badge { font-size: 16px; line-height: 1.125em; left: 0; bottom: 0; width: 41.94%; padding: 16px; }
  .hn-openday__badge::after { border-width: 0; display: none; }
  .hn-egresados h2 { font-size: 30px; line-height: 1.067em; }
  .hn-egresado-card__top h4 { font-size: 20px; line-height: 1.3em; }
  .hn-egresado-card__top .hn-egresado-role { font-size: 13.4px; line-height: 1.493em; }
  .hn-egresados h2 br { display: none; }
  .hn-egresado-card { min-height: 350px; }
  .hn-egresado-card__top { opacity: 1; overflow: visible; }
  .hn-egresado-card.is-touched .hn-egresado-card__top { height: 100%; }
  .hn-egresado-card.is-touched .hn-egresado-card__top p:not(.hn-egresado-role) { max-height: 300px; opacity: 1; margin-bottom: 16px; }
  .hn-egresado-card.is-touched .hn-egresado-card__top::after { opacity: 0; }
  .hn-egresado-card__content { max-height: none; overflow: visible; }
  .hn-egresado-card__top::after { opacity: 1; }
  .hn-orgullo h2 { font-size: 30px; line-height: 1.2em; }
  .hn-orgullo h3 { font-size: 16px; line-height: 1.5em; }
  .hn-orgullo p { font-size: 16px; line-height: 1.375em; }
  .hn-educacion__left p { font-size: 16px; line-height: 1.625em; }
  .hn-edu-tabs [data-tab] { font-size: 16px; line-height: 1.5em; }
  .hn-testimonios h2 br { display: none; }
  .hn-testimonios__grid { margin: 0 -24px; }
  .hn-testimonios__grid .slick-slide { margin: 0 12px; }
  .hn-testimonios__grid .slick-list { padding: 0 12px !important; }
  .hn-testimonio-card p { font-size: 20px; line-height: 1.2em; }
  .hn-news-card__body h4 { font-size: 18.5px; line-height: 1.027em; }
  .hn-news-card__body p { font-size: 12.33px; line-height: 1.5em; }
  .hn-faq__question { font-size: 16px; line-height: 1.5em; }
  .hn-faq__answer p { font-size: 16px; line-height: 1.25em; }
  .hn-educacion h2 { font-size: 30px; line-height: 1.033em; }
  .hn-testimonios h2 { font-size: 30px; line-height: 1.033em; }
  .hn-novedades h2 { font-size: 30px; line-height: 1.033em; }
  .hn-faq h2 { font-size: 30px; line-height: 1.033em; }
  .hn-carreras__grid { grid-template-columns: 1fr; }
  .hn-egresados__grid { grid-template-columns: 1fr; }
  .hn-modalidades__grid { grid-template-columns: 1fr; }
  .hn-novedades__grid { grid-template-columns: 1fr; }
  .hn-tabs { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; max-width: 100%; }
  .hn-tabs::-webkit-scrollbar { display: none; }
  .hn-tabs [data-tab] { white-space: nowrap; flex-shrink: 0; }
  .hn-edu-tabs { flex-direction: column; gap: 16px; }
  .hn-edu-btn { font-size: 16px; line-height: 1.5em; border-radius: 6px; margin-left: 0; width: 100%; }
  .hn-ticker__track { animation-duration: 60s; }
  .hn-carousel-dots { display: flex !important; justify-content: center; gap: 12px; margin-top: 24px; list-style: none; padding: 0; width: 100%; }
  .hn-carousel-dots li { line-height: 0; }
  .hn-carousel-dots li.slick-active .hn-carousel-dot { background: #fff; }
  .hn-carousel-dot { width: 15px; height: 15px; border-radius: 50%; border: 2px solid #fff; background: transparent; cursor: pointer; padding: 0; font-size: 0; }
  .hn-internacional__grid.slick-initialized { display: block !important; }
  .hn-internacional__grid { margin: 0 -24px; }
  .hn-internacional__grid .slick-slide { margin: 0 12px !important; }
  .hn-internacional__grid .slick-list { padding: 0 12px !important; }
  .hn-egresados__grid.slick-initialized { display: block !important; }
  .hn-egresados__grid { margin: 0 -24px; }
  .hn-egresados__grid .slick-slide { margin: 0 12px !important; }
  .hn-egresados__grid .slick-list { padding: 0 12px !important; }
  .hn-novedades__grid.slick-initialized { display: block !important; }
  .hn-novedades__grid { margin: 0 -24px; }
  .hn-novedades__grid .slick-slide { margin: 0 12px !important; }
  .hn-novedades__grid .slick-list { padding: 0 12px !important; }
  .hn-news-card__body::after { border-width: 45px 65px 0 0; bottom: -45px; }
  .hn-orgullo__text { padding: 24px 32px 22px 32px; }
  .hn-orgullo__text::before { width: 24px; }
  .hn-orgullo__text::after { left: -24px; border-width: 60px 50px 0 0; }
  .hn-orgullo { padding-bottom: 60px; }
  .hn-card__header h4 { font-size: 18px; line-height: 1.556em; }
  .hn-card__header p { font-size: 16px; line-height: 1.425em; }
  .hn-card__link { font-size: 16px; line-height: 1.3125em; }
  .hn-card__header::after { border-width: 50px 64px 0 0; bottom: -50px; }
  .hn-card--cta h4 { font-size: 21px; line-height: 1.333em; }
  .hn-card--cta p { font-size: 14px; line-height: 1.629em; }
  .hn-ticker__text .hn-btn { font-size: 18px; line-height: 1.556em; }
  .hn-tabs [data-tab] { font-size: 16px; line-height: 1.25em; }
  .hn-impacto__num { font-size: 16px; line-height: 1.5em; width: 36px; height: 36px; }
  .hn-impacto__list h4 { font-size: 18px; line-height: 1.556em; }
  .hn-impacto__list p { font-size: 16px; line-height: 1.25em; }
  .hn-impacto__inner { gap: 32px; }
  .hn-impacto__left { min-width: 0; overflow: hidden; }
  .hn-impacto__img img { height: 300px; object-fit: cover; }
  .hn-novedades__header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .hn-footer__logo svg { width: 55.45px; height: 26.99px; }
  .hn-footer__links { display: none; }
  .hn-footer__inner { justify-content: space-between; }
}
