.pi-page{
    --pi-navy:var(--navy-dark,#111a3d);
    --pi-purple:var(--navy,#28246b);
    --pi-red:var(--red,#c91f35);
    --pi-lime:var(--yellow,#d6df27);
    --pi-paper:var(--paper,#f5f4ef);
    --pi-emerald:#126b5b;
    --pi-mint:#dcece5;
    --pi-line:rgba(17,26,61,.13);
    background:var(--pi-paper);
    color:var(--pi-navy);
    overflow:hidden;
}

.pi-page *,
.pi-page *::before,
.pi-page *::after{box-sizing:border-box}

.pi-kicker{
    margin:0 0 .85rem;
    color:var(--pi-red);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.pi-hero{
    position:relative;
    min-height:min(860px,calc(100svh - 82px));
    display:flex;
    align-items:flex-end;
    isolation:isolate;
    overflow:hidden;
    background:var(--pi-navy);
    color:#fff;
}

.pi-hero__media,
.pi-hero__shade{position:absolute;inset:0}
.pi-hero__media{z-index:-2;display:block}
.pi-hero__media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.pi-hero__shade{
    z-index:-1;
    background:
        linear-gradient(90deg,rgba(8,20,32,.97) 0%,rgba(8,20,32,.86) 38%,rgba(8,20,32,.12) 68%),
        linear-gradient(0deg,rgba(8,20,32,.9) 0%,transparent 48%);
}

.pi-hero__content{
    width:min(1320px,calc(100% - 2.4rem));
    margin:0 auto;
    padding:clamp(7rem,12vw,11rem) 0 clamp(9.5rem,13vw,11rem);
}

.pi-status{
    width:max-content;
    display:flex;
    align-items:center;
    gap:.55rem;
    margin-bottom:1.1rem;
    padding:.55rem .75rem;
    border:1px solid rgba(255,255,255,.25);
    border-radius:999px;
    background:rgba(255,255,255,.1);
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
    -webkit-backdrop-filter:blur(12px);
    backdrop-filter:blur(12px);
}

.pi-back{width:max-content;display:inline-flex;align-items:center;gap:.45rem;margin-bottom:1rem;color:rgba(255,255,255,.68);font-size:.74rem;font-weight:800;text-decoration:none}

.pi-status span{width:8px;height:8px;border-radius:50%;background:var(--pi-lime);box-shadow:0 0 0 5px rgba(214,223,39,.16)}
.pi-hero .pi-kicker{color:var(--pi-lime)}
.pi-hero h1{max-width:880px;margin:0;font-size:clamp(3.8rem,7.3vw,7.5rem);line-height:.87;letter-spacing:-.072em}
.pi-hero h1 em{color:var(--pi-lime);font-style:normal}
.pi-official{margin:1.35rem 0 .25rem;color:#fff;font-size:clamp(.86rem,1.15vw,1.02rem);font-weight:900;letter-spacing:.13em}
.pi-code{margin:0;color:rgba(255,255,255,.68);font-size:.74rem;font-weight:800;letter-spacing:.1em}.pi-code span{padding:0 .35rem;color:var(--pi-lime)}
.pi-hero__lead{max-width:650px;margin:1rem 0 1.6rem;color:rgba(255,255,255,.76);font-size:clamp(.98rem,1.45vw,1.16rem);line-height:1.65}

.pi-actions{display:flex;flex-wrap:wrap;gap:.7rem}
.pi-button{
    min-height:50px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.75rem;
    padding:.84rem 1.14rem;
    border:1px solid transparent;
    border-radius:999px;
    font-weight:850;
    text-decoration:none;
    transition:transform .2s ease,background-color .2s ease;
}
.pi-button:hover{transform:translateY(-2px)}
.pi-button--lime{background:var(--pi-lime);color:var(--pi-navy)}
.pi-button--glass{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pi-button--dark{background:var(--pi-navy);color:#fff}

.pi-hero__facts{
    position:absolute;
    right:max(1.2rem,calc((100% - 1320px)/2));
    bottom:2rem;
    display:grid;
    grid-template-columns:repeat(4,auto);
    gap:clamp(1rem,3vw,2.8rem);
    margin:0;
}
.pi-hero__facts div{min-width:90px}
.pi-hero__facts dt{font-size:clamp(1rem,1.8vw,1.5rem);font-weight:900}
.pi-hero__facts dd{margin:.25rem 0 0;color:rgba(255,255,255,.58);font-size:.65rem}

.pi-notice,
.pi-intro,
.pi-outcomes,
.pi-units,
.pi-electives,
.pi-entry,
.pi-pathway,
.pi-faq,
.pi-cta{
    width:min(1320px,calc(100% - 2.4rem));
    margin-left:auto;
    margin-right:auto;
}

.pi-notice{display:flex;align-items:flex-start;gap:.9rem;margin-top:1rem;padding:1.1rem 1.2rem;border:1px solid rgba(18,107,91,.22);border-radius:1rem;background:#fff}
.pi-notice>span{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;border-radius:50%;background:var(--pi-emerald);color:#fff;font-weight:900}
.pi-notice p{margin:0;color:rgba(17,26,61,.65);font-size:.84rem;line-height:1.55}.pi-notice strong{color:var(--pi-navy)}

.pi-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) 0}
.pi-intro h2,.pi-heading h2,.pi-entry h2,.pi-pathway h2,.pi-cta h2{margin:0;font-size:clamp(2.7rem,5.1vw,5.2rem);line-height:.94;letter-spacing:-.063em}
.pi-intro h2 em{color:var(--pi-emerald);font-style:normal}
.pi-intro__copy p{margin:0;color:rgba(17,26,61,.62);font-size:clamp(1rem,1.45vw,1.16rem);line-height:1.75}.pi-intro__copy p+p{margin-top:1.1rem}

.pi-outcomes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--pi-line)}
.pi-outcomes article{min-height:230px;display:flex;flex-direction:column;padding:1.3rem;background:#fff}
.pi-outcomes span{color:var(--pi-emerald);font-size:.68rem;font-weight:900;letter-spacing:.12em}
.pi-outcomes h3{margin:auto 0 .55rem;font-size:1.3rem}.pi-outcomes p{margin:0;color:rgba(17,26,61,.56);font-size:.84rem;line-height:1.5}

.pi-units{padding:clamp(6rem,10vw,10rem) 0;scroll-margin-top:100px}
.pi-heading{max-width:900px;margin-bottom:2.2rem}.pi-heading>p:last-child{max-width:690px;color:rgba(17,26,61,.58);line-height:1.65}

.pi-unit-list{border-top:1px solid var(--pi-line)}
.pi-unit-list details{border-bottom:1px solid var(--pi-line)}
.pi-unit-list summary{min-height:92px;display:grid;grid-template-columns:64px minmax(0,1fr) 42px;align-items:center;gap:1rem;cursor:pointer;list-style:none}
.pi-unit-list summary::-webkit-details-marker{display:none}
.pi-unit-code{width:54px;height:54px;display:grid;place-items:center;border-radius:1rem;background:var(--pi-mint);color:var(--pi-emerald);font-size:.72rem;font-weight:900;letter-spacing:.08em}
.pi-unit-name{font-size:clamp(1rem,1.65vw,1.28rem);font-weight:850;line-height:1.3}
.pi-unit-open{font-size:1.45rem;color:var(--pi-red);text-align:center}.pi-unit-list details[open] .pi-unit-open{transform:rotate(45deg)}
.pi-unit-body{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem);padding:0 0 1.7rem 80px}
.pi-unit-body p{margin:0 0 .7rem;color:rgba(17,26,61,.62);line-height:1.65}.pi-unit-body small{color:var(--pi-emerald);font-weight:850;letter-spacing:.06em}
.pi-unit-body ul{margin:0;padding:0;list-style:none}.pi-unit-body li{position:relative;padding:.45rem 0 .45rem 1.2rem;border-bottom:1px solid var(--pi-line);color:rgba(17,26,61,.68);font-size:.9rem}.pi-unit-body li::before{content:"";position:absolute;left:0;top:1rem;width:6px;height:6px;border-radius:50%;background:var(--pi-lime)}

.pi-electives{padding:clamp(2rem,5vw,5rem) 0 clamp(6rem,10vw,10rem)}
.pi-elective-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.pi-elective-grid article{min-height:330px;display:flex;flex-direction:column;padding:clamp(1.4rem,3vw,2.4rem);border-radius:1.6rem;background:var(--pi-emerald);color:#fff}
.pi-elective-grid article:nth-child(2){background:var(--pi-navy)}
.pi-elective-grid article>span{width:max-content;padding:.48rem .65rem;border-radius:999px;background:var(--pi-lime);color:var(--pi-navy);font-size:.68rem;font-weight:900;letter-spacing:.1em}
.pi-elective-grid h3{max-width:650px;margin:auto 0 .75rem;font-size:clamp(1.55rem,2.8vw,2.6rem);line-height:1.04;letter-spacing:-.04em}
.pi-elective-grid p{margin:0 0 1rem;color:rgba(255,255,255,.72);line-height:1.6}.pi-elective-grid small{color:var(--pi-lime);font-weight:800;letter-spacing:.05em}
.pi-small-note{margin:1rem 0 0;color:rgba(17,26,61,.55);font-size:.78rem;line-height:1.55}

.pi-entry{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,8vw,8rem);padding:clamp(5rem,9vw,9rem) 0;border-top:1px solid var(--pi-line)}
.pi-entry__intro>p:last-child{max-width:500px;color:rgba(17,26,61,.58);line-height:1.65}
.pi-entry__list{margin:0;padding:0;list-style:none;border-top:1px solid var(--pi-line)}
.pi-entry__list li{min-height:72px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:.8rem;border-bottom:1px solid var(--pi-line)}
.pi-entry__list span{color:var(--pi-emerald);font-size:.67rem;font-weight:900;letter-spacing:.1em}.pi-entry__list strong{font-size:clamp(.95rem,1.4vw,1.12rem);line-height:1.4}

.pi-careers{padding:clamp(5rem,9vw,9rem) max(1.2rem,calc((100% - 1320px)/2));background:var(--pi-navy);color:#fff}
.pi-careers .pi-kicker{color:var(--pi-lime)}.pi-heading--light>p:last-child{color:rgba(255,255,255,.6)}
.pi-career-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.15)}
.pi-career-grid article{min-height:240px;display:flex;flex-direction:column;padding:1.3rem;background:var(--pi-navy)}
.pi-career-grid span{color:var(--pi-lime);font-size:.67rem;font-weight:900;letter-spacing:.1em}.pi-career-grid h3{margin:auto 0 .55rem;font-size:1.2rem}.pi-career-grid p{margin:0;color:rgba(255,255,255,.57);font-size:.84rem;line-height:1.5}
.pi-career-note{margin-top:1.5rem;border:1px solid rgba(255,255,255,.18);border-radius:1rem;background:rgba(255,255,255,.05)}
.pi-career-note summary{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 1.1rem;cursor:pointer;list-style:none;font-weight:850}.pi-career-note summary::-webkit-details-marker{display:none}.pi-career-note summary::after{content:"+";color:var(--pi-lime);font-size:1.35rem}.pi-career-note[open] summary::after{content:"−"}
.pi-career-note>div{padding:0 1.1rem 1.2rem}.pi-career-note p{margin:0;color:rgba(255,255,255,.66);font-size:.88rem;line-height:1.65}.pi-career-note p+p{margin-top:.7rem}.pi-career-note strong{color:#fff}

.pi-pathway{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(2rem,7vw,7rem);padding:clamp(6rem,10vw,10rem) 0}
.pi-pathway__steps{border-top:1px solid var(--pi-line)}
.pi-pathway__steps article{min-height:98px;display:grid;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:1rem;border-bottom:1px solid var(--pi-line)}
.pi-pathway__steps span{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--pi-line);font-weight:900}.pi-pathway__steps .active span{border-color:var(--pi-lime);background:var(--pi-lime)}
.pi-pathway__steps strong,.pi-pathway__steps small{display:block}.pi-pathway__steps small{margin-top:.25rem;color:rgba(17,26,61,.5)}
.pi-pathway>.pi-small-note{grid-column:2;margin-top:-1rem}

.pi-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,8vw,8rem);padding:0 0 clamp(6rem,10vw,10rem)}
.pi-faq__list{border-top:1px solid var(--pi-line)}
.pi-faq__list details{border-bottom:1px solid var(--pi-line)}
.pi-faq__list summary{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;font-weight:850;line-height:1.4}.pi-faq__list summary::-webkit-details-marker{display:none}.pi-faq__list summary::after{content:"+";color:var(--pi-red);font-size:1.35rem}.pi-faq__list details[open] summary::after{content:"−"}.pi-faq__list p{margin:0;padding:0 2.4rem 1.4rem 0;color:rgba(17,26,61,.62);line-height:1.65}

.pi-cta{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,6rem);margin-bottom:clamp(5rem,9vw,8rem);padding:clamp(2rem,5vw,5rem);border-radius:1.8rem;background:var(--pi-lime)}
.pi-cta>div:last-child>p{margin:0 0 1.4rem;color:rgba(17,26,61,.68);line-height:1.65}

@media (prefers-reduced-motion:reduce){.pi-button{transition:none}}

@media (max-width:980px){
    .pi-intro,.pi-entry,.pi-pathway,.pi-faq,.pi-cta{grid-template-columns:1fr}
    .pi-outcomes{grid-template-columns:repeat(2,1fr)}
    .pi-career-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .pi-pathway>.pi-small-note{grid-column:auto;margin-top:-1rem}
}

@media (max-width:700px){
    .pi-page{padding-bottom:5rem}
    .pi-hero{min-height:calc(100svh - 1rem);margin:.5rem;border-radius:1.6rem;align-items:flex-end}
    .pi-hero__media img{object-position:63% center}
    .pi-hero__shade{background:linear-gradient(0deg,rgba(8,20,32,.99) 0%,rgba(8,20,32,.9) 54%,rgba(8,20,32,.12) 100%)}
    .pi-hero__content{width:calc(100% - 2rem);padding:8.5rem 0 11.5rem}
    .pi-hero h1{max-width:100%;font-size:clamp(3rem,14.2vw,4.55rem);line-height:.9}
    .pi-official{font-size:.75rem}.pi-code{font-size:.64rem}
    .pi-hero__lead{font-size:.92rem;line-height:1.52}
    .pi-actions{flex-direction:column}.pi-actions .pi-button{width:100%}
    .pi-hero__facts{right:1rem;left:1rem;bottom:1.2rem;grid-template-columns:repeat(2,1fr);gap:.75rem}.pi-hero__facts div{min-width:0}.pi-hero__facts dt{font-size:.95rem}.pi-hero__facts dd{font-size:.58rem}
    .pi-notice,.pi-intro,.pi-outcomes,.pi-units,.pi-electives,.pi-entry,.pi-pathway,.pi-faq,.pi-cta{width:min(100% - 2rem,1320px)}
    .pi-outcomes{grid-template-columns:1fr 1fr}.pi-outcomes article{min-height:185px;padding:1rem}
    .pi-unit-list summary{grid-template-columns:50px minmax(0,1fr) 24px;gap:.65rem;min-height:90px}.pi-unit-code{width:46px;height:46px;border-radius:.8rem}.pi-unit-name{font-size:.93rem}.pi-unit-open{font-size:1.2rem}
    .pi-unit-body{grid-template-columns:1fr;padding:0 0 1.45rem;gap:1rem}.pi-unit-body p,.pi-unit-body li{font-size:.86rem}
    .pi-elective-grid{grid-template-columns:1fr}.pi-elective-grid article{min-height:300px;border-radius:1.35rem}
    .pi-entry__list li{min-height:68px}
    .pi-careers{padding-left:1rem;padding-right:1rem}.pi-career-grid{grid-template-columns:1fr 1fr}.pi-career-grid article{min-height:220px;padding:1rem}.pi-career-grid h3{font-size:1.02rem}.pi-career-grid p{font-size:.78rem}
    .pi-faq__list summary{font-size:.92rem}.pi-faq__list p{padding-right:0;font-size:.88rem}
    .pi-cta{padding:2rem 1.2rem;border-radius:1.35rem}.pi-cta .pi-button{width:100%}
}

@media (max-width:390px){
    .pi-hero h1{font-size:2.9rem}
    .pi-career-grid{grid-template-columns:1fr}.pi-career-grid article{min-height:190px}
}
