/* ESPITA V18.3 — unified inner-page hero + modern motion */
:root{
    --espita-hero-h:520px;
    --espita-hero-overlay:linear-gradient(90deg,rgba(4,20,45,.93) 0%,rgba(15,43,76,.80) 48%,rgba(88,105,126,.48) 100%);
    --espita-hero-grid:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
}

/* Standard public-page headers */
.page-hero,
.espita-inner-hero{
    position:relative!important;
    min-height:var(--espita-hero-h)!important;
    height:auto!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    isolation:isolate;
    background-color:#061831!important;
    background-image:var(--espita-hero-bg,url('../img/hero-students.jpg'))!important;
    background-size:cover!important;
    background-position:center!important;
    color:#fff!important;
}
.page-hero::before,
.espita-inner-hero::before{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    background:var(--espita-hero-overlay)!important;
    pointer-events:none!important;
}
.page-hero::after,
.espita-inner-hero::after{
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:0!important;
    background-image:var(--espita-hero-grid)!important;
    background-size:52px 52px!important;
    opacity:.35!important;
    mask-image:linear-gradient(to right,#000 0%,#000 54%,transparent 92%)!important;
    pointer-events:none!important;
}
.page-hero-content,
.espita-inner-hero-content{
    position:relative!important;
    z-index:2!important;
    width:min(var(--container),calc(100% - 40px))!important;
    max-width:var(--container)!important;
    padding:86px 0 78px!important;
    margin-inline:auto!important;
}
.page-hero h1,
.espita-inner-hero h1{
    max-width:900px!important;
    margin:12px 0 18px!important;
    color:#fff!important;
    font-size:clamp(2.75rem,4.6vw,4.65rem)!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
}
.page-hero p,
.espita-inner-hero p{
    max-width:760px!important;
    margin:0!important;
    color:rgba(255,255,255,.88)!important;
    font-size:1.04rem!important;
    line-height:1.82!important;
}
.page-hero .eyebrow,
.espita-inner-hero .eyebrow,
.espita-inner-hero .cx-eyebrow,
.espita-inner-hero .pp17-kicker{
    color:#f2c55e!important;
}
.page-hero .eyebrow:before,
.espita-inner-hero .eyebrow:before,
.espita-inner-hero .cx-eyebrow:before{background:#f2c55e!important}

/* Page-specific background images, same treatment/size */
.contact-hero{--espita-hero-bg:url('../img/campus.jpg')}
.news-hero{--espita-hero-bg:url('../img/hero-students.jpg')}
.apply-hero{--espita-hero-bg:url('../img/hero-students.jpg')}
.testimonials-hero{--espita-hero-bg:url('../img/campus-premium/amphi-students.jpg')}
.compact-hero{--espita-hero-bg:url('../img/students-lab.jpg');min-height:var(--espita-hero-h)!important}

/* Optional image child for custom heroes */
.espita-inner-hero>img,
.espita-inner-hero>.espita-inner-hero-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    z-index:-2!important;
    animation:espitaHeroDrift 14s ease-out both;
}
.espita-inner-hero>.espita-inner-hero-image img{
    width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;
}

/* Gentle entrance for hero content */
.page-hero-content>* ,
.espita-inner-hero-content>*{
    animation:espitaHeroRise .7s cubic-bezier(.2,.7,.2,1) both;
}
.page-hero-content>*:nth-child(2),.espita-inner-hero-content>*:nth-child(2){animation-delay:.05s}
.page-hero-content>*:nth-child(3),.espita-inner-hero-content>*:nth-child(3){animation-delay:.1s}
.page-hero-content>*:nth-child(4),.espita-inner-hero-content>*:nth-child(4){animation-delay:.15s}

/* Universal modern motion for interior-page cards */
.program-card,.info-card,.news-card,.cx-card,.cx-gallery-item,.pp17-outcome,.pp17-career,.student-panel{
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.program-card:hover,.info-card:hover,.news-card:hover,.cx-card:hover,.cx-gallery-item:hover,.pp17-outcome:hover,.pp17-career:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 48px rgba(6,24,49,.10);
}

/* Programme page hero becomes the same institutional header */
.pp17-hero.espita-inner-hero{background-image:var(--espita-hero-bg)!important}
.pp17-hero.espita-inner-hero .pp17-hero-grid{
    display:block!important;
    position:relative!important;
    z-index:2!important;
    max-width:var(--container)!important;
    margin-inline:auto!important;
    padding:86px 0 78px!important;
}
.pp17-hero.espita-inner-hero .pp17-hero-copy{max-width:820px!important}
.pp17-hero.espita-inner-hero .pp17-hero-photo{display:none!important}
.pp17-hero.espita-inner-hero .pp17-back{margin-bottom:22px!important;color:rgba(255,255,255,.76)!important}
.pp17-hero.espita-inner-hero .pp17-kicker-row{margin-bottom:12px!important}
.pp17-hero.espita-inner-hero .pp17-kicker{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.22)!important}
.pp17-hero.espita-inner-hero .pp17-badge{background:#f0c55a!important;color:#061831!important}
.pp17-hero.espita-inner-hero .pp17-intro{max-width:760px!important;color:rgba(255,255,255,.88)!important;font-size:1.04rem!important}
.pp17-hero.espita-inner-hero .pp17-hero-actions{margin-top:28px!important}

/* Campus / admission / international custom hero normalization */
.cx-hero.espita-inner-hero,
.admission-clean .ac-hero.espita-inner-hero,
.intl-hero.espita-inner-hero,
.ve18 .hero.espita-inner-hero,
.ua24 .hero.espita-inner-hero{
    min-height:var(--espita-hero-h)!important;
    background-image:var(--espita-hero-bg,url('../img/hero-students.jpg'))!important;
    background-size:cover!important;
    background-position:center!important;
}
.cx-hero.espita-inner-hero .cx-hero-inner,
.admission-clean .ac-hero.espita-inner-hero .ac-hero-inner,
.intl-hero.espita-inner-hero .intl-hero__content,
.ve18 .hero.espita-inner-hero .hero-copy,
.ua24 .hero.espita-inner-hero .hero-copy{
    position:relative!important;
    z-index:2!important;
    max-width:var(--container)!important;
    margin-inline:auto!important;
    padding:86px 0 78px!important;
}
.cx-hero.espita-inner-hero h1,
.admission-clean .ac-hero.espita-inner-hero h1,
.intl-hero.espita-inner-hero h1,
.ve18 .hero.espita-inner-hero h1,
.ua24 .hero.espita-inner-hero h1{
    max-width:900px!important;
    margin:12px 0 18px!important;
    font-size:clamp(2.75rem,4.6vw,4.65rem)!important;
    line-height:1.02!important;
    letter-spacing:-.05em!important;
    color:#fff!important;
}
.cx-hero.espita-inner-hero p,
.admission-clean .ac-hero.espita-inner-hero p,
.intl-hero.espita-inner-hero p,
.ve18 .hero.espita-inner-hero p,
.ua24 .hero.espita-inner-hero p{
    max-width:760px!important;
    color:rgba(255,255,255,.88)!important;
    font-size:1.04rem!important;
    line-height:1.82!important;
}

@keyframes espitaHeroRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes espitaHeroDrift{from{transform:scale(1.03)}to{transform:scale(1.08)}}
@media(max-width:760px){
    :root{--espita-hero-h:470px}
    .page-hero-content,.espita-inner-hero-content,
    .cx-hero.espita-inner-hero .cx-hero-inner,
    .admission-clean .ac-hero.espita-inner-hero .ac-hero-inner,
    .intl-hero.espita-inner-hero .intl-hero__content,
    .ve18 .hero.espita-inner-hero .hero-copy,
    .ua24 .hero.espita-inner-hero .hero-copy,
    .pp17-hero.espita-inner-hero .pp17-hero-grid{padding:72px 0 60px!important}
    .page-hero h1,.espita-inner-hero h1,
    .cx-hero.espita-inner-hero h1,.admission-clean .ac-hero.espita-inner-hero h1,
    .intl-hero.espita-inner-hero h1,.ve18 .hero.espita-inner-hero h1,.ua24 .hero.espita-inner-hero h1{
        font-size:clamp(2.25rem,10vw,3.25rem)!important;
    }
}
@media(prefers-reduced-motion:reduce){
    .page-hero-content>*,.espita-inner-hero-content>*,.espita-inner-hero>img{animation:none!important}
    .program-card,.info-card,.news-card,.cx-card,.cx-gallery-item,.pp17-outcome,.pp17-career{transition:none!important}
}

/* V18.4 — keep every internal hero aligned to the same site container */
.page-hero-content>*,
.espita-inner-hero-content>*{max-width:900px}
.page-hero-content>p,
.espita-inner-hero-content>p{max-width:760px}
@media(max-width:760px){
    .page-hero-content,.espita-inner-hero-content{width:calc(100% - 36px)!important}
}
