/* UPID Premium Experience Layer
   Interaction is used as feedback, orientation and progressive disclosure. */
:root{
  --px-ease:cubic-bezier(.16,1,.3,1);
  --px-gold:#d6bc6a;
  --px-navy:#111b48;
  --px-ring:0 0 0 4px rgba(214,188,106,.28);
}

html{scroll-padding-top:104px}
body{overflow-x:hidden}

/* Consistent keyboard UX */
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--px-gold)!important;
  outline-offset:4px!important;
  box-shadow:var(--px-ring);
}

/* Buttons: light follows intent, surface follows pointer, arrow confirms direction */
.btn,.text-link,.program-card a,.quick-view,.chip,.filter-dd-btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  transition:transform .42s var(--px-ease),box-shadow .42s var(--px-ease),
    color .3s ease,border-color .3s ease,background-color .3s ease!important;
}
.btn::before,.chip::before,.filter-dd-btn::before{
  content:"";position:absolute;z-index:-1;width:130px;height:130px;border-radius:50%;
  left:var(--px-x,50%);top:var(--px-y,50%);transform:translate(-50%,-50%) scale(0);
  background:rgba(255,255,255,.22);transition:transform .55s var(--px-ease);pointer-events:none;
}
.btn:hover::before,.chip:hover::before,.filter-dd-btn:hover::before{transform:translate(-50%,-50%) scale(1)}
.btn:hover{transform:translateY(-3px)!important;box-shadow:0 14px 34px rgba(17,27,72,.18)!important}
.btn:active{transform:translateY(0) scale(.97)!important;transition-duration:.12s!important}
.btn-gold:hover{box-shadow:0 15px 38px rgba(214,188,106,.4)!important}
.text-link{display:inline-flex;align-items:center;gap:8px}
.text-link::after{content:"→";transition:transform .35s var(--px-ease)}
.text-link:hover::after{transform:translateX(6px)}

/* Navigation: calm at rest, precise feedback on intent */
.site-header,.header{transition:background .35s ease,box-shadow .35s ease,transform .35s var(--px-ease)}
.site-header.is-scrolled,.header.is-scrolled{box-shadow:0 12px 34px rgba(17,27,72,.11)!important}
.main-nav a,.menu a{transition:color .25s ease,opacity .25s ease}
.main-nav:has(a:hover) a:not(:hover),.menu:has(a:hover) a:not(:hover){opacity:.56}
.dropdown{transform-origin:50% 0;transition:opacity .25s ease,transform .32s var(--px-ease)!important}
.nav-item:hover .dropdown{transform:translateY(0) scale(1)!important}

/* Images: cinematic depth without layout shift */
:where(.portrait,.story-img,.thumb,.sede-photo,.image-card,.photo-panel,.career-image,.media-frame){
  position:relative;overflow:hidden;isolation:isolate;
}
:where(.portrait,.sede-photo,.image-card,.photo-panel,.career-image,.media-frame) img{
  transition:transform 1s var(--px-ease),filter .7s ease!important;will-change:transform;
}
:where(.portrait,.sede-photo,.image-card,.photo-panel,.career-image,.media-frame):hover img{
  transform:scale(1.055);filter:saturate(1.06) contrast(1.03);
}
:where(.portrait,.story-img,.thumb,.sede-photo,.image-card,.photo-panel,.career-image,.media-frame)::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.16) 48%,transparent 68%);
  transform:translateX(-120%);transition:transform .9s var(--px-ease);
}
:where(.portrait,.story-img,.thumb,.sede-photo,.image-card,.photo-panel,.career-image,.media-frame):hover::after{transform:translateX(120%)}

/* Cards: pointer-aware depth; content remains stable and readable */
:where(.card,.program-card,.level-card,.news-card,.story,.sede-card,.contact-card,.form-card,.feature,.step)[data-premium-card]{
  --rx:0deg;--ry:0deg;--lift:0px;
  transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(var(--lift));
  transform-style:preserve-3d;will-change:transform;
  transition:transform .5s var(--px-ease),box-shadow .5s var(--px-ease),border-color .3s ease!important;
}
:where(.card,.program-card,.level-card,.news-card,.story,.sede-card,.contact-card,.form-card,.feature,.step)[data-premium-card]:hover{
  --lift:-7px;border-color:rgba(214,188,106,.58)!important;
  box-shadow:0 25px 65px rgba(17,27,72,.16)!important;
}
:where(.card,.program-card,.level-card,.news-card,.story,.sede-card,.contact-card,.form-card,.feature,.step)[data-premium-card] > *{
  transform:translateZ(14px);
}

/* Scroll reveal with stagger controlled by JS */
.px-reveal{opacity:0;transform:translateY(30px);filter:blur(4px);transition:
  opacity .75s var(--px-ease) var(--px-delay,0ms),
  transform .75s var(--px-ease) var(--px-delay,0ms),
  filter .75s ease var(--px-delay,0ms)}
.px-reveal.px-visible{opacity:1;transform:none;filter:none}

/* Forms communicate completion and errors without jumping */
:where(input,select,textarea){transition:border-color .25s ease,box-shadow .25s ease,background .25s ease!important}
:where(input,select,textarea):hover{border-color:rgba(17,27,72,.35)!important}
:where(input,select,textarea):focus{border-color:var(--px-gold)!important;box-shadow:0 0 0 4px rgba(214,188,106,.2)!important}
:where(input,textarea):not(:placeholder-shown):valid{border-color:#2f7d57!important;background-image:linear-gradient(90deg,rgba(47,125,87,.06),transparent)}

/* Reading progress */
.px-progress{position:fixed;z-index:1000;left:0;top:0;width:100%;height:3px;pointer-events:none}
.px-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--px-gold),#f3e3aa);transform:scaleX(0);transform-origin:0 50%;will-change:transform}

/* Mobile: touch replaces hover; horizontal areas visibly invite swiping */
@media(max-width:780px){
  .btn{min-height:48px}
  :where(.card,.program-card,.level-card,.news-card,.story,.sede-card,.contact-card,.form-card,.feature,.step)[data-premium-card]{transform:none!important}
  .program-list{scrollbar-width:none}.program-list::-webkit-scrollbar{display:none}
  .program-list::after{content:"Desliza para explorar →";align-self:center;min-width:170px;padding:20px;color:#62687a;font:700 12px "Manrope",sans-serif}
}

@media(hover:none){
  .btn:hover{transform:none!important}
  :where(.portrait,.sede-photo,.image-card,.photo-panel,.career-image,.media-frame):hover img{transform:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
  .px-reveal{opacity:1;transform:none;filter:none}
}

/* ==========================================================
   COMPLETE INNER-PAGE ART DIRECTION
   Keeps the approved information architecture while making
   every route part of the same editorial-academic system.
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

.premium-inner{
  --navy:#111b48;--navy-dark:#0b1234;--gold:#d6bc6a;--gold-dark:#b89c47;
  --paper:#f7f5ef;--surface:#fff;--surface-alt:#f1efe8;--ink:#151a2d;
  --ink-soft:#62687a;--line:rgba(17,27,72,.12);--radius:18px;--radius-lg:28px;
  --shadow-md:0 18px 48px rgba(17,27,72,.1);--shadow-lg:0 28px 80px rgba(17,27,72,.17);
  background:var(--paper)!important;color:var(--ink);font-family:"DM Sans",sans-serif;
}
.premium-inner .aurora-bg{display:none!important}
.premium-inner h1,.premium-inner h2,.premium-inner h3,.premium-inner h4{
  font-family:"Manrope",sans-serif;letter-spacing:-.04em;line-height:1.08;
}
.premium-inner h1{font-size:clamp(3.2rem,6vw,5.7rem);font-weight:750}
.premium-inner h2{font-size:clamp(2.3rem,4vw,4.1rem);font-weight:750}
.premium-inner h3{font-weight:700}.premium-inner .lead{font-family:"DM Sans",sans-serif;line-height:1.6}
.premium-inner .container{max-width:1240px;padding-left:32px;padding-right:32px}
.premium-inner section{padding:118px 0}

/* Header matches the new home */
.premium-inner .utility-bar{height:34px;background:var(--navy-dark);font-size:12px}
.premium-inner .utility-bar .container{height:100%;padding-top:0;padding-bottom:0;justify-content:flex-end}
.premium-inner .utility-social{margin-right:auto}.premium-inner .utility-links{gap:24px}
.premium-inner .site-header{position:sticky;top:0;z-index:100;background:rgba(247,245,239,.94)!important;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.premium-inner .nav-row{height:94px;max-width:1384px;margin:auto;padding:0 28px;gap:28px}
.premium-inner .brand img{width:94px;max-height:62px;object-fit:contain}
.premium-inner .main-nav{gap:26px}
.premium-inner .main-nav>.nav-item>a{font:650 13px "Manrope",sans-serif;color:var(--ink);padding:38px 0}
.premium-inner .main-nav>.nav-item>a::before{content:"";position:absolute;left:0;right:100%;bottom:26px;height:2px;background:var(--gold);transition:right .3s var(--px-ease)}
.premium-inner .main-nav>.nav-item:hover>a::before,.premium-inner .main-nav>.nav-item>a.active::before{right:0}
.premium-inner .main-nav>.nav-item>a.active{background:transparent!important;color:var(--navy)!important}
.premium-inner .dropdown{top:78px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(17,27,72,.18);padding:12px;min-width:310px}
.premium-inner .dropdown a{border-radius:11px;padding:11px 12px}.premium-inner .dropdown a:hover{background:#f4f1e8}
.premium-inner .nav-actions .btn{min-height:44px;border-radius:999px;padding:0 18px;font-size:13px}

/* Editorial internal hero */
.premium-inner .page-hero{min-height:610px;padding:0;display:flex;align-items:center;isolation:isolate;background:var(--navy)!important;border:0!important}
.premium-inner .page-hero>.life-bg{inset:0 0 0 43%!important;filter:none!important;opacity:1!important;background-position:center!important;transition:transform 1.1s var(--px-ease)}
.premium-inner .page-hero:hover>.life-bg{transform:scale(1.025)}
.premium-inner .page-hero::after{z-index:0!important;background:linear-gradient(90deg,var(--navy) 0%,var(--navy) 35%,rgba(17,27,72,.78) 55%,rgba(17,27,72,.2) 100%),linear-gradient(0deg,rgba(17,27,72,.32),transparent 55%)!important}
.premium-inner .page-hero::before{content:""!important;display:block!important;position:absolute;z-index:1;left:-180px;top:90px;width:430px;height:430px;border:1px solid rgba(214,188,106,.24)!important;border-radius:50%;background:none!important;box-shadow:none!important}
.premium-inner .page-hero .container{width:100%;padding-top:88px;padding-bottom:88px}
.premium-inner .page-hero .breadcrumb{display:inline-flex;gap:7px;align-items:center;margin-bottom:26px;color:var(--gold)!important;font:700 11px "Manrope",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.premium-inner .page-hero h1{max-width:760px;color:#fff;margin-bottom:23px}
.premium-inner .page-hero .lead{max-width:680px;color:rgba(255,255,255,.76);font-size:clamp(18px,1.7vw,22px)}
.premium-inner .page-hero-cta{margin-top:34px;gap:12px}
.premium-inner .page-hero-cta .btn{border-radius:999px;min-height:52px}

/* Section rhythm: more light, fewer effects, stronger editorial contrast */
.premium-inner section+section::after{display:none!important}
.premium-inner section+section::before{height:1px!important;box-shadow:none!important;background:linear-gradient(90deg,transparent,var(--line),transparent)!important}
.premium-inner :is(.tone-steel,.tone-navy-tint){background:linear-gradient(145deg,#fff 0%,#f1f3f7 100%)!important}
.premium-inner :is(.tone-warm,.tone-gold){background:linear-gradient(145deg,#f7f5ef 0%,#ede9dc 100%)!important}
.premium-inner .tone-cool:not(.has-life-bg){background:#fff!important}
.premium-inner :is(.tone-warm,.tone-gold,.tone-cool):not(.has-life-bg) :is(h1,h2,h3,h4){color:var(--ink)!important}
.premium-inner :is(.tone-warm,.tone-gold,.tone-cool):not(.has-life-bg) :is(p,.lead){color:var(--ink-soft)!important}
.premium-inner .has-life-bg{background:var(--navy)!important}
.premium-inner .has-life-bg>.life-bg{filter:brightness(.48) saturate(.9)!important}
.premium-inner .has-life-bg::after{background:linear-gradient(90deg,rgba(11,18,52,.96),rgba(17,27,72,.74),rgba(17,27,72,.42))!important}
.premium-inner .kicker{font:750 11px "Manrope",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)!important}

/* Cards and program catalog */
.premium-inner :is(.card,.program-card,.sede-card,.contact-card,.form-card,.news-card,.search-panel){
  border:1px solid var(--line)!important;border-radius:24px!important;background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(12px);box-shadow:0 12px 34px rgba(17,27,72,.08)!important;
}
.premium-inner :is(.card,.program-card,.sede-card,.contact-card,.form-card,.news-card)::after{opacity:.16!important;animation:none!important}
.premium-inner .program-card{overflow:hidden;padding:0!important;display:flex;flex-direction:column}
.premium-inner .program-card .pc-top{min-height:94px;padding:26px 28px;background:linear-gradient(135deg,var(--navy),#263774)}
.premium-inner .program-card .pc-body{padding:28px;flex:1;display:flex;flex-direction:column}
.premium-inner .program-card h3{font-size:1.35rem;line-height:1.2;margin-bottom:14px}
.premium-inner .program-card .pc-actions{margin-top:auto;padding-top:22px}
.premium-inner .badge{border-radius:999px!important;font:700 10px "Manrope",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.premium-inner .chip,.premium-inner .filter-dd-btn{border-radius:999px!important;background:#fff!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.premium-inner .chip.active{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.premium-inner .steps{gap:0;border:1px solid rgba(255,255,255,.15);border-radius:24px;overflow:hidden}
.premium-inner .step{border-radius:0!important;border:0!important;border-right:1px solid rgba(255,255,255,.15)!important;background:rgba(17,27,72,.86)!important}
.premium-inner .step-num{color:var(--gold)!important;font:800 38px "Manrope",sans-serif}

/* Premium forms */
.premium-inner :is(input,select,textarea){border-radius:12px!important;min-height:52px;background:#fbfaf6!important;border:1px solid var(--line)!important;font-family:"DM Sans",sans-serif}
.premium-inner textarea{min-height:140px}.premium-inner label{font:650 13px "Manrope",sans-serif;color:var(--ink)}
.premium-inner .info-banner,.premium-inner .sla-box{border-radius:16px!important;border:1px solid rgba(214,188,106,.5)!important;background:#fbf5e2!important}

/* Footer matches home */
.premium-inner .site-footer{background:var(--navy-dark)!important;padding-top:78px}
.premium-inner .footer-grid{gap:64px}.premium-inner .fbrand img{width:130px}
.premium-inner .site-footer h4{font:700 14px "Manrope",sans-serif;color:#fff;letter-spacing:0}
.premium-inner .site-footer :is(p,a,li){font-family:"DM Sans",sans-serif;color:rgba(255,255,255,.62)}
.premium-inner .site-footer a:hover{color:var(--gold)!important;transform:translateX(3px)}

@media(max-width:1050px){
  .premium-inner .nav-row{height:78px}.premium-inner .main-nav{display:none}.premium-inner .burger{display:flex!important;margin-left:8px}
  .premium-inner .page-hero{min-height:570px}.premium-inner .page-hero>.life-bg{inset:0!important}.premium-inner .page-hero::after{background:linear-gradient(90deg,rgba(17,27,72,.96),rgba(17,27,72,.78),rgba(17,27,72,.52))!important}
}
@media(max-width:700px){
  .premium-inner .utility-bar{display:none}.premium-inner .container{padding-left:18px;padding-right:18px}.premium-inner section{padding:84px 0}
  .premium-inner .nav-row{padding:0 16px}.premium-inner .brand img{width:84px}.premium-inner .nav-actions>.btn-outline{display:none}
  .premium-inner .nav-actions>.btn{min-height:42px;padding:0 14px;font-size:12px}.premium-inner .page-hero{min-height:620px}
  .premium-inner .page-hero .container{padding-top:70px;padding-bottom:80px}.premium-inner .page-hero h1{font-size:clamp(2.8rem,13vw,4rem)}
  .premium-inner .page-hero .lead{font-size:17px}.premium-inner .page-hero-cta{align-items:stretch;flex-direction:column;max-width:310px}.premium-inner .page-hero-cta .btn{width:100%}
  .premium-inner .footer-grid{grid-template-columns:1fr 1fr!important;gap:38px}.premium-inner .footer-grid>div:first-child{grid-column:span 2}
}
