/* Background proposal: atmosphere, hierarchy and guaranteed contrast */
.premium-inner{--bg-warm:#f4f0e6;--bg-blue:#e7ebf5;--bg-night:#0b1234}
.premium-inner section:not(.page-hero):not(.has-life-bg){position:relative;isolation:isolate;overflow:hidden}
.premium-inner section:not(.page-hero):not(.has-life-bg)::after{content:"";position:absolute;z-index:-1;width:520px;height:520px;border-radius:50%;right:-260px;top:-260px;background:radial-gradient(circle,rgba(214,188,106,.18),transparent 68%);pointer-events:none}
.premium-inner .tone-navy-tint{background:linear-gradient(135deg,#f7f4ec 0%,#e9edf6 55%,#f3eee0 100%)!important}
.premium-inner .tone-steel{background:linear-gradient(145deg,#e8edf7 0%,#f7f4ec 52%,#e5eaf4 100%)!important}
.premium-inner .tone-cool:not(.has-life-bg){background:linear-gradient(145deg,#111b48 0%,#24346f 55%,#0b1234 100%)!important;color:#fff}
.premium-inner .tone-cool:not(.has-life-bg) :is(h1,h2,h3,h4){color:#fff!important}.premium-inner .tone-cool:not(.has-life-bg) :is(p,.lead){color:rgba(255,255,255,.76)!important}
.premium-inner .tone-warm:not(.has-life-bg),.premium-inner .tone-gold:not(.has-life-bg){background:linear-gradient(135deg,#eee7d4,#f8f5ed 46%,#e6ebf4)!important}

/* Global readability and rhythm guardrails.
   Light components keep dark copy even when nested in photographic sections. */
.premium-inner section+section::before,.premium-inner section+section::after{display:none!important}
.premium-inner :is(.card,.form-card,.contact-card,.program-card,.news-card,.search-panel){border-width:1px!important;border-style:solid!important;border-color:rgba(17,27,72,.12)!important}
.premium-inner .has-life-bg :is(.form-card,.contact-card,.program-card,.news-card,.search-panel) :is(h1,h2,h3,h4,label,strong,li,dt,dd){color:#11172f!important}
.premium-inner .has-life-bg :is(.form-card,.contact-card,.program-card,.news-card,.search-panel) :is(p,.lead,span:not(.kicker):not(.badge):not(.sla)){color:#343a50!important}
.premium-inner .pending,.premium-inner .has-life-bg .pending,.premium-inner :is(.tone-warm,.tone-gold,.tone-cool) .pending{display:block!important;max-width:100%;margin:22px 0!important;padding:15px 17px!important;border:1px dashed rgba(17,27,72,.35)!important;border-radius:12px!important;background:#fffdf7!important;color:#27304f!important;font-size:.92rem!important;line-height:1.55!important;font-weight:650!important;box-shadow:none!important}
.premium-inner :is(.tone-warm,.tone-gold,.tone-cool,.has-life-bg) .pending *{color:#27304f!important}
.premium-inner section>.container{position:relative;z-index:3}
@media(max-width:700px){.premium-inner .pending{padding:13px 14px!important}.premium-inner :is(.card,.form-card,.contact-card,.program-card,.news-card,.search-panel){border-radius:20px!important}}

/* Hard contrast correction for every dark surface */
.premium-inner :is(.step,.ec-summary,.cta-band,.hero-panel,.dark-card){color:#fff!important}
.premium-inner :is(.step,.ec-summary,.cta-band,.hero-panel,.dark-card) :is(h1,h2,h3,h4,strong,label){color:#fff!important}
.premium-inner :is(.step,.ec-summary,.cta-band,.hero-panel,.dark-card) :is(p,span,li){color:rgba(255,255,255,.76)!important}
.premium-inner .step-num{color:#f0d575!important;text-shadow:0 0 24px rgba(214,188,106,.28)}

/* Blue banners become living surfaces */
.premium-inner :is(.cta-band,.steps,.ec-summary){position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(125deg,#0b1234 0%,#1d2a68 55%,#33478e 100%)!important}
.premium-inner :is(.cta-band,.steps,.ec-summary)::before{content:"";position:absolute;z-index:-1;inset:-80%;background:conic-gradient(from 40deg,transparent 0 30%,rgba(214,188,106,.18) 38%,transparent 48% 72%,rgba(71,101,184,.25) 82%,transparent 92%);animation:bg-orbit 18s linear infinite;pointer-events:none}
.premium-inner :is(.cta-band,.steps,.ec-summary)::after{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(circle at var(--bg-x,75%) var(--bg-y,20%),rgba(255,255,255,.16),transparent 24%);transition:background-position .3s;pointer-events:none}
.premium-inner .cta-band:hover{transform:translateY(-4px);box-shadow:0 30px 80px rgba(11,18,52,.3)!important}.premium-inner .cta-band{transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1)}
@keyframes bg-orbit{to{transform:rotate(360deg)}}

/* Cards sit on backgrounds with stronger material definition */
.premium-inner :is(.card,.program-card,.form-card,.contact-card,.sede-card){box-shadow:0 22px 60px rgba(17,27,72,.13)!important;border-color:rgba(17,27,72,.14)!important}
.premium-inner .program-card .pc-top :is(span,strong){color:#fff!important}.premium-inner .program-card .pc-top .badge{color:#111b48!important;background:#f3f0e8!important}

/* Dynamic directions experience */
.premium-inner #como-llegar{background:linear-gradient(145deg,#0b1234,#1f3070)!important;color:#fff}
.premium-inner #como-llegar h2,.premium-inner #como-llegar .kicker{color:#fff!important}.premium-inner #como-llegar .sede-card{padding:0!important;overflow:hidden;background:#fff!important;color:#151a2d!important}
.premium-inner #como-llegar .sede-photo{height:290px!important;transition:height .55s cubic-bezier(.16,1,.3,1),filter .5s ease;background-size:cover;background-position:center}
.premium-inner #como-llegar .sede-card:hover .sede-photo{height:330px;filter:saturate(1.12) contrast(1.04)}
.premium-inner #como-llegar .sede-photo-label{background:#d6bc6a!important;color:#111b48!important;border-radius:999px;padding:9px 14px}
.premium-inner #como-llegar .sede-card>div:not(.sede-photo){padding:0 26px}.premium-inner #como-llegar iframe{filter:grayscale(.7) contrast(1.05);transition:filter .5s ease,transform .5s cubic-bezier(.16,1,.3,1)}.premium-inner #como-llegar .sede-card:hover iframe{filter:none;transform:scale(1.01)}

@media(prefers-reduced-motion:reduce){.premium-inner :is(.cta-band,.steps,.ec-summary)::before{animation:none}}
