/* =========================================================
   CETISOLD · PROGRAMAS
   Estilos exclusivos de programas.html
========================================================= */
.programas-page { background:#06131f; }

/* Compensación para la cabecera fija global: evita que el hero quede oculto. */
.programas-page main { padding-top:88px; }

.programas-page .links a.active { color:#eeb22b; }
.programas-hero { position:relative; overflow:hidden; background:#061522; border-bottom:1px solid rgba(226,165,29,.38); }
.programas-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 42%,rgba(25,83,119,.26),transparent 34%),linear-gradient(90deg,rgba(2,10,17,.96) 0%,rgba(4,17,28,.92) 46%,rgba(4,17,28,.28) 74%,rgba(4,17,28,.12) 100%); z-index:1; pointer-events:none; }
.programas-hero-bg { position:absolute; inset:0; background:linear-gradient(135deg,transparent 64%,rgba(220,159,25,.12) 64.1%,transparent 64.3%); }
.programas-hero-grid { position:relative; z-index:2; min-height:390px; display:grid; grid-template-columns:1fr 1.08fr; align-items:center; gap:50px; }
.programas-hero-copy { padding:60px 0; max-width:580px; }
.programas-kicker { display:block; color:#e5aa25; font-size:24px; font-weight:500; letter-spacing:.07em; margin-bottom:3px; }
.programas-hero h1 { margin:0; color:#fff; font-size:clamp(52px,6vw,82px); line-height:.96; letter-spacing:-.035em; font-weight:900; }
.gold-line,.card-line { display:block; width:62px; height:3px; background:#e2a51d; margin:20px 0; }
.programas-hero-copy p { color:#d8e0e6; font-size:18px; line-height:1.75; max-width:560px; margin:0; }
.programas-hero-photo { position:absolute; right:0; top:0; bottom:0; width:52%; overflow:hidden; }
.programas-hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 54%; filter:saturate(.82) contrast(1.08) brightness(.72); }

.programas-showcase { padding:82px 0 76px; background:linear-gradient(180deg,#071522 0%,#06121d 100%); }
.section-intro { text-align:center; max-width:780px; margin:0 auto 42px; }
.mini-title { color:#dca01d; font-size:12px; font-weight:800; letter-spacing:.18em; }
.section-intro h2 { color:#fff; font-size:clamp(30px,4vw,46px); margin:9px 0 12px; letter-spacing:-.02em; }
.section-intro p { color:#aebbc5; font-size:16px; line-height:1.7; margin:0; }
.programas-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; max-width:1120px; margin:0 auto; }
.programa-card { min-width:0; background:linear-gradient(180deg,#0b2031 0%,#081724 100%); border:1px solid rgba(220,160,29,.6); border-radius:8px; overflow:hidden; box-shadow:0 20px 55px rgba(0,0,0,.18); transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease; }
.programa-card:hover { transform:translateY(-5px); border-color:#e5aa25; box-shadow:0 26px 70px rgba(0,0,0,.28); }
.programa-image { display:block; position:relative; height:285px; overflow:hidden; }
.programa-image img { width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.programa-card:hover .programa-image img { transform:scale(1.035); }
.image-shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(5,17,27,.96) 100%); }
.programa-body { position:relative; padding:30px 34px 34px; }
.programa-number { position:absolute; right:26px; top:24px; color:rgba(224,163,29,.17); font-size:64px; font-weight:900; line-height:1; }
.programa-type { position:relative; color:#e2a51d; font-size:11px; font-weight:800; letter-spacing:.15em; }
.programa-body h2 { position:relative; color:#fff; font-size:29px; line-height:1.08; margin:10px 0 0; max-width:82%; }
.programa-body p { color:#c2cdd5; font-size:15px; line-height:1.68; margin:0 0 20px; }
.programa-body ul { list-style:none; margin:0 0 28px; padding:0; display:grid; gap:10px; }
.programa-body li { color:#e3e9ed; font-size:14px; line-height:1.4; padding-left:24px; position:relative; }
.programa-body li::before { content:"✓"; position:absolute; left:0; color:#e1a31c; font-weight:900; }
.programa-cta { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:0 22px; color:#07131d; background:linear-gradient(135deg,#efb52d,#d99413); border:1px solid #f2bf43; border-radius:4px; font-size:12px; font-weight:900; letter-spacing:.06em; text-decoration:none; transition:transform .2s ease,filter .2s ease; }
.programa-cta:hover { transform:translateY(-2px); filter:brightness(1.06); }
.programa-cta span { font-size:18px; }

.programas-pillars { background:#04101a; border-top:1px solid rgba(218,157,26,.38); border-bottom:1px solid rgba(218,157,26,.2); }
.pillars-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:32px 0; }
.pillar { min-width:0; display:flex; gap:15px; padding:5px 25px; border-right:1px solid rgba(255,255,255,.12); }
.pillar:last-child { border-right:0; }
.pillar-icon { flex:0 0 36px; color:#e2a51d; font-size:31px; line-height:1; }
.pillar h3 { color:#e2a51d; font-size:12px; letter-spacing:.05em; margin:0 0 7px; }
.pillar p { color:#aebbc4; font-size:12px; line-height:1.55; margin:0; }

.programas-footer { padding-bottom:0; }
.copyright-row { border-top:1px solid rgba(255,255,255,.12); margin-top:32px; padding:18px 0 22px; display:flex; justify-content:space-between; gap:20px; color:#8797a3; font-size:11px; }
.programas-footer a { color:inherit; }

@media (max-width:980px) {
  .programas-hero-grid { min-height:360px; grid-template-columns:1fr; }
  .programas-hero-photo { width:54%; opacity:.58; }
  .programas-hero::before { background:linear-gradient(90deg,rgba(2,10,17,.98) 0%,rgba(4,17,28,.93) 54%,rgba(4,17,28,.52) 100%); }
  .programas-hero-copy { position:relative; z-index:2; max-width:560px; }
  .pillars-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
  .pillar { padding:20px 24px; border-bottom:1px solid rgba(255,255,255,.1); }
  .pillar:nth-child(2) { border-right:0; }
}
@media (max-width:720px) {

  .programas-page main { padding-top:74px; }
  .programas-hero-grid { min-height:420px; }
  .programas-hero-photo { width:100%; opacity:.38; }
  .programas-hero::before { background:linear-gradient(90deg,rgba(2,10,17,.96),rgba(4,17,28,.72)); }
  .programas-kicker { font-size:18px; }
  .programas-hero h1 { font-size:52px; }
  .programas-hero-copy p { font-size:16px; }
  .programas-showcase { padding:58px 0; }
  .programas-grid { grid-template-columns:1fr; }
  .programa-image { height:235px; }
  .programa-body { padding:27px 24px 30px; }
  .programa-body h2 { font-size:25px; }
  .pillars-grid { grid-template-columns:1fr; }
  .pillar { border-right:0; }
  .copyright-row { flex-direction:column; text-align:center; align-items:center; }
}
