:root {
    --umwow-blue: #1c317b;
    --umwow-blue-deep: #0e1e56;
    --umwow-ease: cubic-bezier(.2, .8, .2, 1);
    --umwow-font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Arial, sans-serif;
}

/* Keep every style scoped to this landing block so UMCMS navigation is untouched. */
.umwow-page,
.umwow-page * {
    box-sizing: border-box;
}

.umwow-page {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    background: #050711;
    font-family: var(--umwow-font);
}

.umwow-audio-holder,
#umwowBgMusic {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    left: -9999px !important;
    border: 0 !important;
}

/* =========================
   HERO
   ========================= */
#umwowHero.hero.hero-welcome {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: clamp(680px, 92svh, 1040px) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: grid !important;
    place-items: center !important;
    isolation: isolate;
    background: #050711 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    outline: none;
}

#umwowHero.hero.hero-welcome::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    display: block !important;
    pointer-events: none !important;
    background:
        radial-gradient(circle at 50% 47%, rgba(2, 4, 12, 0.01) 0%, rgba(2, 4, 12, 0.10) 34%, rgba(2, 4, 12, 0.36) 66%, rgba(2, 4, 12, 0.70) 100%),
        linear-gradient(180deg, rgba(2, 4, 12, 0.42) 0%, rgba(2, 4, 12, 0.08) 28%, rgba(2, 4, 12, 0.10) 70%, rgba(2, 4, 12, 0.56) 100%) !important;
}

#umwowHero.hero.hero-welcome::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    display: block !important;
    pointer-events: none !important;
    background: radial-gradient(ellipse at center, transparent 34%, rgba(0, 0, 0, 0.16) 72%, rgba(0, 0, 0, 0.48) 100%) !important;
}

#umwowHero .hero-visual {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100vw !important;
    height: 100% !important;
    min-height: 100% !important;
    display: grid !important;
    grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(10px, 1.3vw, 20px) !important;
    padding: clamp(12px, 1.8vw, 26px) 0 !important;
    overflow: hidden !important;
    background: #050711 !important;
    filter: blur(0) brightness(1);
    transform: scale(1);
    transition: filter .34s var(--umwow-ease), transform .34s var(--umwow-ease) !important;
}

#umwowHero.entry-open .hero-visual {
    filter: blur(4px) brightness(.70) !important;
    transform: scale(1.012) !important;
}

#umwowHero.entry-open .hero-photo-track {
    animation-play-state: paused !important;
}

#umwowHero .hero-photo-row {
    position: relative;
    width: 100vw;
    overflow: hidden;
    display: flex;
    align-items: center;
}

#umwowHero .hero-photo-track {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.7vw, 24px);
    width: max-content;
    min-width: max-content;
    will-change: transform;
    transform: translate3d(-50%, 0, 0);
    animation: umwowPhotosMoveRight 72s linear infinite;
}

#umwowHero .row-1 .hero-photo-track {
    animation-duration: 76s;
    animation-delay: -22s;
}

#umwowHero .row-2 .hero-photo-track {
    animation-duration: 92s;
    animation-delay: -40s;
}

#umwowHero .row-3 .hero-photo-track {
    animation-duration: 84s;
    animation-delay: -12s;
}

#umwowHero .hero-photo-card {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    border-radius: clamp(18px, 2.2vw, 34px) !important;
    background: rgba(255, 255, 255, 0.07) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 22px 68px rgba(0, 0, 0, 0.46) !important;
    opacity: 0.98;
}

#umwowHero .hero-photo-card.size-s {
    width: clamp(170px, 16vw, 240px);
    height: clamp(165px, 15vw, 235px);
}

#umwowHero .hero-photo-card.size-m {
    width: clamp(230px, 21vw, 320px);
    height: clamp(190px, 17vw, 260px);
}

#umwowHero .hero-photo-card.size-l {
    width: clamp(285px, 26vw, 400px);
    height: clamp(215px, 20vw, 310px);
}

#umwowHero .hero-photo-card.size-wide {
    width: clamp(330px, 32vw, 500px);
    height: clamp(210px, 19vw, 320px);
}

#umwowHero .hero-photo-card.size-tall {
    width: clamp(190px, 19vw, 285px);
    height: clamp(260px, 26vw, 430px);
}

#umwowHero .hero-photo-card img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    object-fit: cover !important;
    object-position: center !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#umwowHero .hero-content {
    position: relative !important;
    z-index: 4 !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    text-align: center !important;
    pointer-events: none !important;
}

#umwowHero .hero-brand {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#umwowHero .hero-logo-image,
#umwowHero .hero-brand img.hero-logo-image {
    display: block !important;
    width: min(72vw, 760px) !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    position: static !important;
    border: 0 !important;
    box-shadow: 0 22px 64px rgba(0, 0, 0, 0.28) !important;
    opacity: 0;
    transform: translateY(14px);
    animation: umwowLogoEntrance .82s var(--umwow-ease) .10s forwards;
}

@keyframes umwowLogoEntrance {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

#umwowHero .hero-start-text,
#umwowHero .hero-content p.hero-start-text {
    display: block !important;
    margin: 19px 0 0 !important;
    padding: 0 !important;
    color: rgba(255, 255, 255, 0.94) !important;
    font-family: var(--umwow-font) !important;
    font-size: clamp(13px, 1.05vw, 16px) !important;
    line-height: 1.4 !important;
    font-weight: 600 !important;
    letter-spacing: 0.055em !important;
    text-align: center !important;
    text-shadow: 0 4px 22px rgba(0, 0, 0, 0.78) !important;
    opacity: 0;
    animation: umwowPromptEntrance .62s var(--umwow-ease) .58s forwards, umwowPromptPulse 2.8s ease-in-out 1.2s infinite;
}

@keyframes umwowPromptEntrance {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: .92; transform: translateY(0); }
}

@keyframes umwowPromptPulse {
    0%, 100% { opacity: .58; }
    50% { opacity: 1; }
}

#umwowHero.hero-paused .hero-photo-track {
    animation-play-state: paused;
}

@keyframes umwowPhotosMoveRight {
    from { transform: translate3d(-50%, 0, 0); }
    to { transform: translate3d(0, 0, 0); }
}

/* =========================
   STUDENT TYPE GLASS POPUP
   ========================= */
#studentTypeOverlay[hidden] {
    display: none !important;
}

#studentTypeOverlay.student-type-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483000 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: clamp(18px, 4vw, 38px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(3, 5, 12, 0.58) !important;
    backdrop-filter: blur(16px) saturate(130%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(130%) !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .30s var(--umwow-ease), visibility .30s var(--umwow-ease) !important;
}

#studentTypeOverlay.student-type-overlay.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#studentTypeOverlay .student-type-modal {
    position: relative !important;
    width: min(92vw, 560px) !important;
    max-width: 560px !important;
    margin: 0 !important;
    padding: clamp(30px, 4vw, 44px) !important;
    overflow: hidden !important;
    border-radius: 32px !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.20), rgba(255, 255, 255, 0.08)) !important;
    box-shadow: 0 32px 100px rgba(0, 0, 0, 0.50), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
    backdrop-filter: blur(34px) saturate(170%) !important;
    -webkit-backdrop-filter: blur(34px) saturate(170%) !important;
    text-align: center !important;
    transform: translateY(12px) scale(.96);
    transition: transform .34s var(--umwow-ease), opacity .34s var(--umwow-ease) !important;
    opacity: 0;
}

#studentTypeOverlay.student-type-overlay.is-open .student-type-modal {
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
}

#studentTypeOverlay .student-type-modal::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 240px;
    right: -105px;
    top: -130px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.25), transparent 68%);
    pointer-events: none;
}

#studentTypeOverlay .student-type-modal::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(120deg, rgba(255,255,255,.12), transparent 38%, transparent 72%, rgba(255,255,255,.05));
}

#studentTypeOverlay .student-type-modal > * {
    position: relative;
    z-index: 1;
}

#studentTypeOverlay .student-type-kicker {
    margin: 0 0 10px !important;
    color: rgba(255, 255, 255, 0.70) !important;
    font-family: var(--umwow-font) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}

#studentTypeOverlay .student-type-modal h2 {
    margin: 0 !important;
    color: #ffffff !important;
    font-family: var(--umwow-font) !important;
    font-size: clamp(28px, 4vw, 42px) !important;
    line-height: 1.06 !important;
    font-weight: 760 !important;
    letter-spacing: -0.045em !important;
    text-shadow: 0 8px 30px rgba(0, 0, 0, 0.28) !important;
}

#studentTypeOverlay .student-type-desc {
    max-width: 390px !important;
    margin: 13px auto 0 !important;
    color: rgba(255, 255, 255, 0.72) !important;
    font-family: var(--umwow-font) !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
}

#studentTypeOverlay .student-type-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 28px 0 0 !important;
}

#studentTypeOverlay button.student-type-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 13px 18px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(255, 255, 255, 0.26) !important;
    background: rgba(255, 255, 255, 0.13) !important;
    color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 12px 30px rgba(0, 0, 0, 0.16) !important;
    backdrop-filter: blur(18px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(18px) saturate(150%) !important;
    font-family: var(--umwow-font) !important;
    font-size: 14px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-align: center !important;
    cursor: pointer !important;
    transition: transform .2s var(--umwow-ease), background .2s var(--umwow-ease), border-color .2s var(--umwow-ease) !important;
}

#studentTypeOverlay button.student-type-btn:hover,
#studentTypeOverlay button.student-type-btn:focus-visible {
    transform: translateY(-2px) !important;
    background: rgba(255, 255, 255, 0.24) !important;
    border-color: rgba(255, 255, 255, 0.46) !important;
    outline: none !important;
}

#studentTypeOverlay button.student-type-btn:first-child {
    background: rgba(255, 255, 255, 0.92) !important;
    color: #10172d !important;
    border-color: rgba(255, 255, 255, 0.94) !important;
}

#studentTypeOverlay button.student-type-btn:first-child:hover,
#studentTypeOverlay button.student-type-btn:first-child:focus-visible {
    background: #ffffff !important;
}

@media (max-width: 720px) {
    #umwowHero.hero.hero-welcome {
        min-height: 100svh !important;
    }

    #umwowHero .hero-visual {
        gap: 12px !important;
        padding: 14px 0 !important;
    }

    #umwowHero .hero-logo-image,
    #umwowHero .hero-brand img.hero-logo-image {
        width: min(88vw, 620px) !important;
    }

    #umwowHero .hero-start-text,
    #umwowHero .hero-content p.hero-start-text {
        margin-top: 14px !important;
        font-size: 13px !important;
    }

    #studentTypeOverlay.student-type-overlay {
        padding: 18px !important;
    }

    #studentTypeOverlay .student-type-modal {
        width: min(94vw, 440px) !important;
        padding: 30px 20px !important;
        border-radius: 28px !important;
    }

    #studentTypeOverlay .student-type-actions {
        grid-template-columns: 1fr !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    #umwowHero .hero-logo-image,
    #umwowHero .hero-brand img.hero-logo-image,
    #umwowHero .hero-start-text,
    #umwowHero .hero-content p.hero-start-text {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    #umwowHero .hero-visual {
        transition: none !important;
    }

    #umwowHero .hero-photo-track {
        animation: none !important;
        transform: translate3d(-20%, 0, 0) !important;
    }

    #studentTypeOverlay.student-type-overlay,
    #studentTypeOverlay .student-type-modal,
    #studentTypeOverlay button.student-type-btn {
        transition: none !important;
    }
}


/* =========================
   UM-WOW PORTAL AFTER CATEGORY SELECTION
   ========================= */
.umwow-page[hidden],
#umwowPortal[hidden] {
    display: none !important;
}

#umwowPortal.umwow-portal,
#umwowPortal.umwow-portal * {
    box-sizing: border-box;
}

#umwowPortal.umwow-portal {
    position: relative;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    background: #ffffff;
    color: #111318;
    font-family: var(--umwow-font);
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .45s var(--umwow-ease), transform .45s var(--umwow-ease);
}

#umwowPortal.umwow-portal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Welcome */
#umwowPortal .umwow-welcome {
    position: relative;
    min-height: 92svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #ffffff;
    padding: clamp(54px, 7vw, 110px) clamp(26px, 6.5vw, 110px) 74px;
}

#umwowPortal .umwow-welcome-inner {
    width: min(100%, 1320px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(340px, .78fr);
    gap: clamp(48px, 7vw, 112px);
    align-items: center;
}

#umwowPortal .umwow-portal-kicker {
    margin: 0 0 16px;
    color: var(--umwow-blue);
    font-size: 12px;
    line-height: 1.2;
    font-weight: 760;
    letter-spacing: .09em;
    text-transform: uppercase;
}

#umwowPortal .umwow-welcome-copy h1 {
    margin: 0;
    color: #101216;
    font-size: clamp(58px, 7vw, 112px);
    line-height: .92;
    letter-spacing: -.072em;
    font-weight: 780;
}

#umwowPortal .umwow-welcome-message {
    max-width: 720px;
    margin-top: 34px;
}

#umwowPortal .umwow-welcome-message p {
    margin: 0 0 15px;
    color: rgba(17, 19, 24, .68);
    font-size: clamp(15px, 1.18vw, 18px);
    line-height: 1.74;
    letter-spacing: -.012em;
}

#umwowPortal .umwow-welcome-signature {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-top: 26px;
    color: rgba(17, 19, 24, .62);
    font-size: 13px;
    line-height: 1.45;
}

#umwowPortal .umwow-welcome-signature strong {
    color: var(--umwow-blue);
    font-size: 14px;
    font-weight: 760;
}

#umwowPortal .umwow-dvc-photo {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

#umwowPortal .umwow-dvc-photo-placeholder {
    width: min(100%, 440px);
    aspect-ratio: 4 / 5;
    border-radius: 36px 36px 18px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 22%, rgba(255,255,255,.72), transparent 34%),
        linear-gradient(145deg, #eef2fb, #dce4f5 52%, #cbd5ec);
    border: 1px solid rgba(28, 49, 123, .10);
    color: var(--umwow-blue);
}

#umwowPortal .umwow-dvc-photo-placeholder span {
    font-size: clamp(62px, 7vw, 102px);
    line-height: 1;
    font-weight: 820;
    letter-spacing: -.07em;
    opacity: .20;
}

#umwowPortal .umwow-dvc-photo-placeholder small {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    opacity: .58;
}

#umwowPortal .umwow-scroll-hint {
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(17,19,24,.46);
    font-size: 12px;
    font-weight: 650;
    letter-spacing: .02em;
}

#umwowPortal .umwow-scroll-arrow {
    font-size: 18px;
    animation: umwowScrollArrow 1.9s ease-in-out infinite;
}

@keyframes umwowScrollArrow {
    0%, 100% { transform: translateY(0); opacity: .48; }
    50% { transform: translateY(5px); opacity: 1; }
}

/* Residential College carousel — wide accommodation selector */
#umwowPortal .umwow-colleges {
    min-height: 100svh;
    padding: clamp(68px, 7vw, 108px) 0 clamp(84px, 9vw, 140px);
    background: #eaf6ff;
    border-top: 0;
}

#umwowPortal .umwow-colleges-head {
    width: min(calc(100% - 48px), 1370px);
    margin: 0 auto 34px;
    text-align: left;
}

#umwowPortal .umwow-colleges-head .umwow-portal-kicker {
    margin-bottom: 8px;
    color: #1167d8;
    font-size: 12px;
    font-weight: 820;
    letter-spacing: .10em;
    text-transform: uppercase;
}

#umwowPortal .umwow-colleges-head h2 {
    margin: 0;
    max-width: 860px;
    color: #0f2d6b;
    font-size: clamp(30px, 3.1vw, 50px);
    line-height: 1.05;
    letter-spacing: -.045em;
    font-weight: 780;
}

#umwowPortal .umwow-colleges-head > p:last-child {
    max-width: 680px;
    margin: 13px 0 0;
    color: rgba(15,45,107,.72);
    font-size: 15px;
    line-height: 1.6;
}

#umwowPortal .umwow-college-carousel-panel {
    position: relative;
    width: min(calc(100% - 48px), 1370px);
    min-height: 340px;
    margin: 0 auto;
    padding: 44px 58px 30px;
    border-radius: 30px;
    background: #ffffff;
    border: 1px solid rgba(15,45,107,.10);
    box-shadow: 0 8px 28px rgba(28,49,123,.035);
}

#umwowPortal .umwow-college-carousel-shell {
    position: relative;
    width: 100%;
    min-height: 218px;
    display: flex;
    align-items: center;
}

#umwowPortal .umwow-college-carousel {
    display: flex;
    align-items: stretch;
    gap: clamp(12px, 1.5vw, 28px);
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 8px 4px 18px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

#umwowPortal .umwow-college-carousel.is-short {
    justify-content: center;
}

#umwowPortal .umwow-college-carousel::-webkit-scrollbar {
    display: none;
}

#umwowPortal .umwow-college-card {
    appearance: none;
    -webkit-appearance: none;
    flex: 0 0 clamp(145px, 14vw, 190px);
    min-height: 190px;
    padding: 8px 8px 10px;
    border: 0;
    border-radius: 20px;
    background: transparent;
    color: #0f2d6b;
    box-shadow: none;
    scroll-snap-align: center;
    cursor: pointer;
    text-align: center;
    transition: transform .24s var(--umwow-ease), background .24s var(--umwow-ease);
}

#umwowPortal .umwow-college-card:hover,
#umwowPortal .umwow-college-card:focus-visible,
#umwowPortal .umwow-college-card.is-selected {
    transform: translateY(-4px);
    background: rgba(234,246,255,.72);
    outline: none;
}

#umwowPortal .umwow-college-card.is-selected {
    box-shadow: inset 0 0 0 1px rgba(28,49,123,.12);
}

#umwowPortal .umwow-college-logo-wrap {
    height: 116px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    background: transparent;
    overflow: visible;
}

#umwowPortal img.umwow-college-logo {
    display: block;
    width: auto;
    max-width: 112px;
    height: auto;
    max-height: 92px;
    object-fit: contain;
    margin: 0 !important;
    float: none !important;
    filter: none;
}

#umwowPortal .umwow-college-monogram {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    border-radius: 50%;
    background: #0f2d6b;
    color: #fff;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: -.03em;
}

#umwowPortal .umwow-college-card-copy {
    min-height: 52px;
}

#umwowPortal .umwow-college-code {
    display: block;
    margin-bottom: 4px;
    color: #1167d8;
    font-size: 10.5px;
    font-weight: 820;
    letter-spacing: .07em;
    text-transform: uppercase;
}

#umwowPortal .umwow-college-card strong {
    display: block;
    max-width: 170px;
    margin: 0 auto;
    color: #0f2d6b;
    font-size: 13.5px;
    line-height: 1.32;
    font-weight: 760;
    letter-spacing: -.015em;
}

#umwowPortal .umwow-college-nav {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 46px;
    height: 46px;
    border: 1px solid rgba(15,45,107,.12);
    border-radius: 50%;
    background: #ffffff;
    color: #0f2d6b;
    box-shadow: 0 8px 24px rgba(15,45,107,.10);
    display: grid;
    place-items: center;
    font-size: 30px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform .20s var(--umwow-ease), box-shadow .20s var(--umwow-ease);
}

#umwowPortal .umwow-college-nav:hover {
    transform: translateY(-50%) scale(1.06);
    box-shadow: 0 10px 28px rgba(15,45,107,.14);
}

#umwowPortal .umwow-college-nav.prev { left: -42px; }
#umwowPortal .umwow-college-nav.next { right: -42px; }
#umwowPortal .umwow-college-carousel-shell.is-short .umwow-college-nav { display: none; }

#umwowPortal .umwow-college-carousel-hint {
    margin: 16px 0 0;
    text-align: center;
    color: rgba(17,19,24,.52);
    font-size: 12.8px;
    line-height: 1.5;
}

/* Dynamic college details */
#umwowPortal .umwow-college-detail {
    width: min(calc(100% - 48px), 1120px);
    margin: 32px auto 0;
    padding: clamp(24px, 3.2vw, 42px);
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: clamp(26px, 4vw, 52px);
    align-items: center;
    border-radius: 36px;
    background: rgba(255,255,255,.88);
    border: 1px solid rgba(17,19,24,.07);
    box-shadow: 0 22px 64px rgba(0,0,0,.07);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .30s var(--umwow-ease), transform .30s var(--umwow-ease);
}

#umwowPortal .umwow-college-detail.is-visible {
    opacity: 1;
    transform: translateY(0);
}

#umwowPortal .umwow-detail-logo {
    min-height: 190px;
    border-radius: 28px;
    background: #f8f8fa;
    display: grid;
    place-items: center;
    overflow: hidden;
}

#umwowPortal .umwow-detail-logo img.umwow-detail-logo-image {
    display: block;
    width: auto;
    max-width: 80%;
    height: auto;
    max-height: 150px;
    object-fit: contain;
    margin: 0 !important;
    float: none !important;
}

#umwowPortal .umwow-detail-logo .umwow-college-monogram {
    width: 112px;
    height: 112px;
    font-size: 32px;
}

#umwowPortal .umwow-detail-code {
    margin: 0 0 6px;
    color: var(--umwow-blue);
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

#umwowPortal .umwow-detail-main h3 {
    margin: 0;
    color: #111318;
    font-size: clamp(30px, 3.5vw, 52px);
    line-height: 1.02;
    letter-spacing: -.05em;
    font-weight: 760;
}

#umwowPortal .umwow-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
    margin-top: 26px;
}

#umwowPortal .umwow-detail-item {
    padding: 16px;
    border-radius: 19px;
    background: #f7f7f9;
}

#umwowPortal .umwow-detail-item span {
    display: block;
    margin-bottom: 7px;
    color: rgba(17,19,24,.48);
    font-size: 11px;
    line-height: 1.35;
    font-weight: 700;
}

#umwowPortal .umwow-detail-item strong {
    display: block;
    color: rgba(17,19,24,.82);
    font-size: 13px;
    line-height: 1.45;
    font-weight: 700;
}

#umwowPortal .umwow-college-links {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

#umwowPortal .umwow-college-link {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 13px;
    border-radius: 999px;
    background: var(--umwow-blue);
    color: #fff;
    font-size: 12px;
    line-height: 1;
    font-weight: 720;
    text-decoration: none;
}

#umwowPortal .umwow-college-link.is-disabled {
    background: rgba(17,19,24,.075);
    color: rgba(17,19,24,.42);
    cursor: default;
}

@media (max-width: 900px) {
    #umwowPortal .umwow-welcome {
        min-height: auto;
        padding-top: 70px;
        padding-bottom: 82px;
    }

    #umwowPortal .umwow-welcome-inner {
        grid-template-columns: 1fr;
        gap: 44px;
    }

    #umwowPortal .umwow-dvc-photo {
        justify-content: flex-start;
    }

    #umwowPortal .umwow-dvc-photo-placeholder {
        width: min(100%, 390px);
    }

    #umwowPortal .umwow-scroll-hint {
        display: none;
    }

    #umwowPortal .umwow-college-detail {
        grid-template-columns: 1fr;
    }

    #umwowPortal .umwow-detail-logo {
        width: 190px;
    }

    #umwowPortal .umwow-detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    #umwowPortal .umwow-services-grid { width: min(calc(100% - 20px), 520px); }
    #umwowPortal .umwow-welcome {
        padding: 58px 22px 68px;
    }

    #umwowPortal .umwow-welcome-copy h1 {
        font-size: clamp(52px, 17vw, 78px);
    }

    #umwowPortal .umwow-welcome-message {
        margin-top: 25px;
    }

    #umwowPortal .umwow-dvc-photo-placeholder {
        border-radius: 28px 28px 16px 16px;
    }

    #umwowPortal .umwow-colleges-head {
        width: min(calc(100% - 36px), 960px);
    }

    #umwowPortal .umwow-college-carousel {
        padding-left: 28px;
        padding-right: 28px;
    }

    #umwowPortal .umwow-college-card {
        flex-basis: 78vw;
        min-height: 320px;
    }

    #umwowPortal .umwow-college-nav {
        display: none;
    }

    #umwowPortal .umwow-college-detail {
        width: min(calc(100% - 36px), 1120px);
        border-radius: 28px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #umwowPortal.umwow-portal,
    #umwowPortal .umwow-college-card,
    #umwowPortal .umwow-college-detail,
    #umwowPortal .umwow-college-nav,
    #umwowPortal .umwow-scroll-arrow {
        animation: none !important;
        transition: none !important;
    }
}


/* Accommodation carousel responsive overrides */
@media (max-width: 760px) {
    #umwowPortal .umwow-colleges { padding-top: 60px; }
    #umwowPortal .umwow-colleges-head { width: min(calc(100% - 36px), 1370px); margin-bottom: 26px; }
    #umwowPortal .umwow-college-carousel-panel { width: min(calc(100% - 28px), 1370px); min-height: 310px; padding: 30px 36px 24px; border-radius: 25px; }
    #umwowPortal .umwow-college-carousel-shell { min-height: 210px; }
    #umwowPortal .umwow-college-carousel { gap: 10px; }
    #umwowPortal .umwow-college-carousel.is-short { justify-content: flex-start; }
    #umwowPortal .umwow-college-card { flex-basis: 138px; min-height: 184px; }
    #umwowPortal .umwow-college-logo-wrap { height: 108px; }
    #umwowPortal img.umwow-college-logo { max-width: 100px; max-height: 84px; }
    #umwowPortal .umwow-college-nav { width: 42px; height: 42px; font-size: 27px; }
    #umwowPortal .umwow-college-nav.prev { left: -29px; }
    #umwowPortal .umwow-college-nav.next { right: -29px; }
    #umwowPortal .umwow-college-carousel-hint { margin-top: 10px; }
}

/* =========================
   TYPOGRAPHY SCALE UPDATE
   Headings reduced by 30%; supporting writing reduced by 10%.
   ========================= */
#studentTypeOverlay .student-type-kicker { font-size: 9.9px !important; }
#studentTypeOverlay .student-type-modal h2 { font-size: clamp(19.6px, 2.8vw, 29.4px) !important; }
#studentTypeOverlay .student-type-desc { font-size: 12.6px !important; }
#studentTypeOverlay button.student-type-btn { font-size: 12.6px !important; }
#umwowHero .hero-start-text,
#umwowHero .hero-content p.hero-start-text { font-size: clamp(11.7px, .95vw, 14.4px) !important; }

#umwowPortal .umwow-portal-kicker { font-size: 10.8px; }
#umwowPortal .umwow-welcome-copy h1 { font-size: clamp(40.6px, 4.9vw, 78.4px); }
#umwowPortal .umwow-welcome-message p { font-size: clamp(13.5px, 1.06vw, 16.2px); }
#umwowPortal .umwow-welcome-signature { font-size: 11.7px; }
#umwowPortal .umwow-welcome-signature strong { font-size: 12.6px; }
#umwowPortal .umwow-scroll-hint { font-size: 10.8px; }
#umwowPortal .umwow-colleges-head .umwow-portal-kicker { font-size: 10.8px; }
#umwowPortal .umwow-colleges-head h2 { font-size: clamp(21px, 2.17vw, 35px); }
#umwowPortal .umwow-colleges-head > p:last-child { font-size: 13.5px; }
#umwowPortal .umwow-college-code { font-size: 9.45px; }
#umwowPortal .umwow-college-card strong { font-size: 12.15px; }
#umwowPortal .umwow-college-carousel-hint { font-size: 11.52px; }
#umwowPortal .umwow-detail-code { font-size: 9.9px; }
#umwowPortal .umwow-detail-main h3 { font-size: clamp(21px, 2.45vw, 36.4px); }
#umwowPortal .umwow-detail-item span { font-size: 9.9px; }
#umwowPortal .umwow-detail-item strong { font-size: 11.7px; }
#umwowPortal .umwow-college-link { font-size: 10.8px; }

/* =========================
   APPLE-STYLE SERVICE TILES
   ========================= */
#umwowPortal .umwow-services {
    padding: clamp(68px, 7vw, 108px) clamp(12px, 1.2vw, 20px) clamp(86px, 9vw, 140px);
    background: #ffffff;
}

#umwowPortal .umwow-services-head {
    width: min(calc(100% - 48px), 1370px);
    margin: 0 auto 34px;
    text-align: center;
}

#umwowPortal .umwow-services-head .umwow-portal-kicker {
    margin-bottom: 9px;
    color: #1167d8;
}

#umwowPortal .umwow-services-head h2 {
    margin: 0;
    color: #15171a;
    font-size: clamp(16.8px, 1.715vw, 26.6px);
    line-height: 1.06;
    letter-spacing: -.045em;
    font-weight: 760;
}

#umwowPortal .umwow-services-head > p:last-child {
    max-width: 670px;
    margin: 12px auto 0;
    color: rgba(17,19,24,.60);
    font-size: 13.5px;
    line-height: 1.58;
}

#umwowPortal .umwow-services-grid {
    width: min(70%, 1050px);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

#umwowPortal .umwow-service-tile {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    min-height: clamp(308px, 28.7vw, 420px);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: #f5f5f7;
    color: #15171a;
    font-family: var(--umwow-font);
    cursor: pointer;
    text-align: center;
    isolation: isolate;
    transition: transform .26s var(--umwow-ease), filter .26s var(--umwow-ease);
}

#umwowPortal .umwow-service-tile:hover,
#umwowPortal .umwow-service-tile:focus-visible {
    transform: translateY(-2px);
    filter: brightness(.985);
    outline: none;
}

#umwowPortal .umwow-services-grid.has-odd-count .umwow-service-tile:last-child {
    grid-column: 1 / -1;
}

#umwowPortal .umwow-service-copy {
    position: relative;
    z-index: 2;
    width: min(88%, 427px);
    margin: 0 auto;
    padding: clamp(27px, 2.95vw, 43px) 14px 0;
}

#umwowPortal .umwow-service-copy h3 {
    margin: 0;
    color: inherit;
    font-size: clamp(18.2px, 1.82vw, 26.6px);
    line-height: 1.02;
    letter-spacing: -.045em;
    font-weight: 760;
}

#umwowPortal .umwow-service-copy p {
    max-width: 470px;
    margin: 9px auto 0;
    color: rgba(17,19,24,.68);
    font-size: 13.5px;
    line-height: 1.48;
}

#umwowPortal .umwow-service-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    margin-top: 15px;
    padding: 8px 15px;
    border-radius: 999px;
    background: #0071e3;
    color: #ffffff;
    font-size: 11.7px;
    line-height: 1;
    font-weight: 650;
}


#umwowPortal .service-orientation,
#umwowPortal .service-airport { background: #eaf6ff; }
#umwowPortal .service-prearrival { background: #f1f5fb; }
#umwowPortal .service-explore { background: #f4f6f8; }
#umwowPortal .service-resources {
    background: #050505;
    color: #ffffff;
}
#umwowPortal .service-resources .umwow-service-copy p { color: rgba(255,255,255,.76); }
#umwowPortal .service-resources .umwow-service-pill {
    background: #0071e3;
    color: #ffffff;
}

@media (max-width: 900px) {
    #umwowPortal .umwow-services-grid { grid-template-columns: 1fr; }
    #umwowPortal .umwow-services-grid.has-odd-count .umwow-service-tile:last-child { grid-column: auto; }
    #umwowPortal .umwow-service-tile { min-height: 364px; }
    #umwowPortal .umwow-services-grid { width: min(86%, 760px); }
}

@media (max-width: 620px) {
    #umwowPortal .umwow-welcome-copy h1 { font-size: clamp(36.4px, 11.9vw, 54.6px); }
    #umwowPortal .umwow-services { padding: 58px 10px 74px; }
    #umwowPortal .umwow-services-head { width: min(calc(100% - 28px), 900px); margin-bottom: 24px; }
    #umwowPortal .umwow-services-head h2 { font-size: clamp(15.4px, 4.9vw, 21.7px); }
    #umwowPortal .umwow-service-tile { min-height: 322px; }
    #umwowPortal .umwow-service-copy { padding-top: 24px; }
    #umwowPortal .umwow-service-copy h3 { font-size: clamp(16.1px, 5.6vw, 21.7px); }
}

@media (prefers-reduced-motion: reduce) {
    #umwowPortal .umwow-service-tile { transition: none !important; }
}


/* Residential college magazine */
#umwowPortal .umwow-magazine {
    margin-top: 18px;
    max-width: 680px;
}

#umwowPortal .umwow-magazine[hidden] {
    display: none !important;
}

#umwowPortal .umwow-magazine-link {
    display: flex;
    align-items: center;
    gap: 22px;
    padding: 16px;
    border-radius: 22px;
    background: #f7f7f9;
    border: 1px solid rgba(17,19,24,.07);
    color: #111318;
    text-decoration: none;
    transition: transform .22s var(--umwow-ease), background .22s var(--umwow-ease), border-color .22s var(--umwow-ease);
}

#umwowPortal .umwow-magazine-link:hover {
    transform: translateY(-2px);
    background: #fff;
    border-color: rgba(28,49,123,.15);
    text-decoration: none;
}

#umwowPortal .umwow-magazine-cover {
    flex: 0 0 160px;
    width: 160px;
    height: 210px;
    overflow: hidden;
    border-radius: 14px;
    background: #eceef3;
}

#umwowPortal .umwow-magazine-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: 0 !important;
    float: none !important;
}

#umwowPortal .umwow-magazine-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#umwowPortal .umwow-magazine-label {
    margin-bottom: 5px;
    color: var(--umwow-blue);
    font-size: 9.9px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

#umwowPortal .umwow-magazine-copy strong {
    color: rgba(17,19,24,.86);
    font-size: 12.6px;
    line-height: 1.35;
    font-weight: 750;
}

#umwowPortal .umwow-magazine-action {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    margin-top: 9px;
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--umwow-blue);
    color: #fff;
    font-size: 10.8px;
    line-height: 1;
    font-weight: 720;
}

@media (max-width: 620px) {
    #umwowPortal .umwow-magazine { max-width: none; }
    #umwowPortal .umwow-magazine-cover { flex-basis: 118px; width: 118px; height: 155px; }
}


/* ==========================================================
   PORTAL RETURN CONTROL
   ========================================================== */
#umwowPortal .umwow-welcome-side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
}

#umwowPortal .umwow-back-menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid rgba(28,49,123,.13);
    border-radius: 999px;
    background: rgba(255,255,255,.88);
    color: var(--umwow-blue);
    box-shadow: 0 10px 28px rgba(0,0,0,.08);
    backdrop-filter: blur(18px) saturate(145%);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    font: 700 10.5px/1 var(--umwow-font);
    letter-spacing: -.01em;
    cursor: pointer;
    transition: transform .22s var(--umwow-ease), background .22s var(--umwow-ease), box-shadow .22s var(--umwow-ease);
}

#umwowPortal .umwow-back-menu:hover {
    transform: translateY(-1px);
    background: rgba(255,255,255,.98);
    box-shadow: 0 14px 34px rgba(0,0,0,.12);
}

/* ==========================================================
   SERVICE SELECTION → DETAIL TRANSITION
   ========================================================== */
#umwowPortal .umwow-services-grid .umwow-service-tile {
    transition:
        opacity .30s var(--umwow-ease),
        transform .30s var(--umwow-ease),
        min-height .34s var(--umwow-ease),
        box-shadow .24s var(--umwow-ease);
}

#umwowPortal .umwow-services-grid.is-selecting .umwow-service-tile:not(.is-selected) {
    opacity: 0;
    transform: translateY(14px) scale(.975);
    pointer-events: none;
}

#umwowPortal .umwow-services-grid.is-detail-mode .umwow-service-tile:not(.is-selected) {
    display: none;
}

#umwowPortal .umwow-services-grid.is-detail-mode {
    grid-template-columns: 1fr;
    width: min(calc(100% - 40px), 620px);
}

#umwowPortal .umwow-services-grid.is-detail-mode .umwow-service-tile.is-selected {
    grid-column: 1 / -1 !important;
    min-height: 160px;
    width: 100%;
    opacity: 1;
    transform: none;
    cursor: default;
}

#umwowPortal .umwow-services-grid.is-detail-mode .umwow-service-tile.is-selected:hover {
    transform: none;
}

#umwowPortal .umwow-service-detail[hidden],
#umwowPortal .umwow-service-panel[hidden] {
    display: none !important;
}

#umwowPortal .umwow-service-detail {
    width: min(calc(100% - 36px), 1180px);
    margin: 26px auto 0;
    scroll-margin-top: 22px;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .38s var(--umwow-ease), transform .38s var(--umwow-ease);
}

#umwowPortal .umwow-service-detail.is-visible {
    opacity: 1;
    transform: translateY(0);
}

#umwowPortal .umwow-service-detail-toolbar {
    display: flex;
    justify-content: flex-start;
    margin-bottom: 14px;
}

#umwowPortal .umwow-service-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 9px 14px;
    border-radius: 999px;
    border: 1px solid rgba(28,49,123,.14);
    background: rgba(255,255,255,.94);
    color: var(--umwow-blue);
    font: 750 11px/1 var(--umwow-font);
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(28,49,123,.08);
    transition: transform .2s var(--umwow-ease), box-shadow .2s var(--umwow-ease);
}

#umwowPortal .umwow-service-back:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(28,49,123,.12);
}

/* ==========================================================
   RESTORED ORIGINAL UM-WOW INFORMATION
   ========================================================== */
#umwowPortal .umwow-service-detail {
    --um-blue: var(--umwow-blue);
    --um-blue-deep: var(--umwow-blue-deep);
    --um-gold: #d6a84f;
    --um-gold-soft: rgba(214,168,79,.16);
    --line: rgba(17,19,24,.10);
    --line-soft: rgba(17,19,24,.06);
    --muted: rgba(17,19,24,.64);
    --radius-xl: 30px;
    --radius-lg: 24px;
    --ease: var(--umwow-ease);
}

#umwowPortal .umwow-service-detail .section {
    padding: 0;
    background: transparent;
}

#umwowPortal .umwow-service-detail .container {
    width: 100%;
    max-width: none;
    margin: 0;
}

#umwowPortal .umwow-service-detail .section-head {
    display: block;
    text-align: center;
    margin-bottom: 20px;
    padding: 0 18px;
}

#umwowPortal .umwow-service-detail .section-head > div {
    max-width: 820px;
    margin: 0 auto;
}

#umwowPortal .umwow-service-detail .section-kicker {
    margin-bottom: 7px;
    color: var(--um-blue);
    font: 800 10px/1.2 var(--umwow-font);
    letter-spacing: .06em;
    text-transform: uppercase;
}

#umwowPortal .umwow-service-detail .section-title {
    margin: 0;
    color: rgba(17,19,24,.94);
    font: 760 clamp(20px, 2.2vw, 32px)/1.08 var(--umwow-font);
    letter-spacing: -.04em;
}

#umwowPortal .umwow-service-detail .section-desc {
    max-width: 760px;
    margin: 9px auto 0;
    color: rgba(17,19,24,.62);
    font: 500 12.6px/1.66 var(--umwow-font);
}

#umwowPortal .umwow-service-detail .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 9px 14px;
    border-radius: 999px;
    border: 1px solid transparent;
    text-decoration: none;
    font: 730 11px/1 var(--umwow-font);
}

#umwowPortal .umwow-service-detail .btn-primary,
#umwowPortal .umwow-service-detail .prearrival-zoom,
#umwowPortal .umwow-service-detail .pickup-form-btn {
    background: linear-gradient(180deg, var(--um-blue), var(--um-blue-deep));
    color: #fff;
    box-shadow: 0 12px 28px rgba(28,49,123,.16);
}

/* Not-yet-updated service */
#umwowPortal .umwow-update-panel {
    padding: 34px 22px;
    border-radius: 28px;
    background: #f7f8fb;
    border: 1px solid rgba(17,19,24,.06);
}

/* Pre-arrival */
#umwowPortal #prearrival .section-head {
    padding-left: 18px;
    padding-right: 18px;
}

#umwowPortal .prearrival-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 14px;
    width: min(100%, 1120px);
    margin: 0 auto;
}

#umwowPortal .prearrival-card {
    position: relative;
    min-height: 360px;
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(17,19,24,.07);
    box-shadow: 0 18px 46px rgba(28,49,123,.09);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
    isolation: isolate;
}

#umwowPortal .prearrival-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.96) 44%,rgba(255,255,255,.68) 58%,rgba(255,255,255,.04) 78%);
}

#umwowPortal .prearrival-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: var(--prearrival-image);
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}

#umwowPortal .prearrival-card.foundation {
    --prearrival-image: url("https://umcms.um.edu.my/sites/hep-um-edu-my/ChatGPT%20Image%20Jun%2011%2C%202026%20at%2002_28_42%20PM.png");
}

#umwowPortal .prearrival-card.diploma {
    --prearrival-image: url("https://umcms.um.edu.my/sites/hep-um-edu-my/ChatGPT%20Image%20Jun%2011%2C%202026%20at%2002_15_37%20PM.png");
}

#umwowPortal .prearrival-card-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 280px;
    padding: 22px 15px 0;
}

#umwowPortal .prearrival-date {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    padding: 6px 9px;
    margin-bottom: 9px;
    border-radius: 999px;
    background: rgba(17,19,24,.045);
    border: 1px solid rgba(17,19,24,.07);
    color: rgba(17,19,24,.66);
    font: 760 10px/1 var(--umwow-font);
}

#umwowPortal .prearrival-card h3 {
    margin: 0;
    color: rgba(17,19,24,.95);
    font: 760 16px/1.10 var(--umwow-font);
    letter-spacing: -.03em;
}

#umwowPortal .prearrival-card p {
    margin: 8px auto 0;
    color: rgba(17,19,24,.66);
    font: 500 11.5px/1.4 var(--umwow-font);
}

#umwowPortal .prearrival-zoom {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin-top: 12px;
    padding: 8px 14px;
    border-radius: 999px;
    text-decoration: none;
    font: 720 11px/1 var(--umwow-font);
}

/* Orientation schedule */
#umwowPortal .schedule-shell,
#umwowPortal .pickup-shell,
#umwowPortal #resources .carousel-shell {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-xl);
    background: linear-gradient(135deg,rgba(255,255,255,.72),rgba(245,247,252,.92));
    border: 1px solid rgba(28,49,123,.08);
    box-shadow: 0 24px 68px rgba(28,49,123,.10);
}

#umwowPortal .schedule-download-btn {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 9px 13px;
    border-radius: 999px;
    background: linear-gradient(180deg,var(--um-blue),var(--um-blue-deep));
    color: #fff;
    text-decoration: none;
    font: 750 10.8px/1 var(--umwow-font);
}

#umwowPortal .schedule-top,
#umwowPortal .pickup-top {
    padding: 64px 14px 14px;
    border-bottom: 1px solid rgba(28,49,123,.07);
}

#umwowPortal .date-tabs,
#umwowPortal .pickup-date-tabs {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 8px;
}

#umwowPortal .date-tab,
#umwowPortal .pickup-date-tab {
    position: relative;
    min-height: 78px;
    padding: 13px 14px;
    border: 1px solid rgba(28,49,123,.10);
    border-radius: 20px;
    background: rgba(255,255,255,.72);
    color: rgba(17,19,24,.76);
    text-align: left;
    cursor: pointer;
    box-shadow: 0 10px 26px rgba(28,49,123,.06);
}

#umwowPortal .date-tab.active,
#umwowPortal .pickup-date-tab.active {
    background: linear-gradient(135deg,var(--um-blue),var(--um-blue-deep));
    color: #fff;
}

#umwowPortal .date-tab span,
#umwowPortal .pickup-date-tab span {
    display: block;
    margin-bottom: 5px;
    font: 780 10px/1.2 var(--umwow-font);
    text-transform: uppercase;
    letter-spacing: .02em;
    opacity: .85;
}

#umwowPortal .date-tab strong,
#umwowPortal .pickup-date-tab strong {
    display: block;
    font: 780 15px/1.15 var(--umwow-font);
    letter-spacing: -.02em;
}

#umwowPortal .schedule-panels,
#umwowPortal .pickup-panels {
    padding: 18px;
}

#umwowPortal .schedule-panel,
#umwowPortal .pickup-panel {
    display: none;
}

#umwowPortal .schedule-panel.active,
#umwowPortal .pickup-panel.active {
    display: block;
    animation: umwowRestoredIn .28s var(--umwow-ease) both;
}

@keyframes umwowRestoredIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

#umwowPortal #orientation .day-summary {
    display: block;
}

#umwowPortal #orientation .day-image {
    display: none;
}

#umwowPortal .day-focus {
    padding: 20px;
    margin-bottom: 14px;
    border-radius: 22px;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(28,49,123,.07);
}

#umwowPortal .day-focus h3 {
    margin: 0 0 8px;
    color: rgba(17,19,24,.92);
    font: 760 18px/1.16 var(--umwow-font);
    letter-spacing: -.03em;
}

#umwowPortal .day-focus p {
    color: rgba(17,19,24,.64);
    font: 500 12px/1.62 var(--umwow-font);
}

#umwowPortal .slot-grid,
#umwowPortal .track-grid {
    display: flex;
    gap: 12px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 2px 2px 12px;
    scrollbar-width: none;
}

#umwowPortal .slot-grid::-webkit-scrollbar,
#umwowPortal .track-grid::-webkit-scrollbar {
    display: none;
}

#umwowPortal .slot-card {
    position: relative;
    flex: 0 0 clamp(250px,28vw,350px);
    min-height: 155px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(28,49,123,.07);
    box-shadow: 0 12px 30px rgba(28,49,123,.07);
    scroll-snap-align: start;
}

#umwowPortal .slot-card.break {
    background: linear-gradient(135deg,rgba(214,168,79,.18),rgba(255,255,255,.84));
}

#umwowPortal .slot-label,
#umwowPortal .pickup-slot-label {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: 5px 8px;
    margin-bottom: 9px;
    border-radius: 999px;
    background: rgba(28,49,123,.09);
    color: var(--um-blue);
    font: 790 9.8px/1 var(--umwow-font);
}

#umwowPortal .slot-time {
    margin-bottom: 7px;
    color: var(--um-blue);
    font: 800 11px/1.2 var(--umwow-font);
}

#umwowPortal .slot-title {
    margin-bottom: 7px;
    color: rgba(17,19,24,.91);
    font: 750 12.5px/1.38 var(--umwow-font);
}

#umwowPortal .slot-location {
    color: rgba(17,19,24,.62);
    font: 500 11px/1.5 var(--umwow-font);
}

#umwowPortal .track-box {
    flex: 0 0 clamp(300px,43vw,520px);
    padding: 16px;
    border-radius: 22px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(28,49,123,.07);
    scroll-snap-align: start;
}

#umwowPortal .track-box h4 {
    margin: 0 0 10px;
    font: 760 13px/1.3 var(--umwow-font);
}

#umwowPortal .track-box .slot-card {
    width: 100%;
    min-height: 0;
    box-shadow: none;
    margin-top: 8px;
}

#umwowPortal .schedule-carousel-controls {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: -2px 0 13px;
}

#umwowPortal .schedule-carousel-control,
#umwowPortal .building-carousel-btn {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(28,49,123,.10);
    border-radius: 50%;
    background: rgba(255,255,255,.88);
    color: var(--um-blue);
    cursor: pointer;
    display: grid;
    place-items: center;
    font-size: 20px;
}

/* Airport pickup */
#umwowPortal .pickup-top {
    padding-top: 14px;
}

#umwowPortal .pickup-slot-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px;
}

#umwowPortal .pickup-slot-card {
    min-height: 190px;
    padding: 16px;
    border-radius: 20px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(28,49,123,.07);
    box-shadow: 0 12px 30px rgba(28,49,123,.07);
}

#umwowPortal .pickup-slot-time {
    margin-bottom: 7px;
    color: var(--um-blue);
    font: 820 16px/1.15 var(--umwow-font);
}

#umwowPortal .pickup-slot-title {
    margin-bottom: 7px;
    color: rgba(17,19,24,.91);
    font: 760 12.5px/1.4 var(--umwow-font);
}

#umwowPortal .pickup-slot-location {
    margin-bottom: 13px;
    color: rgba(17,19,24,.62);
    font: 500 11px/1.52 var(--umwow-font);
}

#umwowPortal .pickup-form-btn {
    display: inline-flex;
    min-height: 33px;
    align-items: center;
    justify-content: center;
    padding: 8px 13px;
    border-radius: 999px;
    text-decoration: none;
    font: 730 10.8px/1 var(--umwow-font);
}

/* Student resource hub */
#umwowPortal #resources .carousel-shell {
    padding: 18px;
}

#umwowPortal #resources .carousel-top {
    display: none;
}

#umwowPortal #resources .resource-carousel {
    display: grid;
    grid-template-columns: repeat(4,minmax(0,1fr));
    gap: 12px;
}

#umwowPortal #resources .resource-card {
    position: relative;
    min-height: 250px;
    padding: 18px;
    border-radius: 22px;
    background: rgba(255,255,255,.82);
    border: 1px solid rgba(28,49,123,.07);
    box-shadow: 0 12px 30px rgba(28,49,123,.07);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#umwowPortal #resources .resource-card h3 {
    margin: 0 0 8px;
    color: rgba(17,19,24,.92);
    font: 760 15px/1.2 var(--umwow-font);
}

#umwowPortal #resources .resource-card p {
    color: rgba(17,19,24,.63);
    font: 500 11.5px/1.6 var(--umwow-font);
}

#umwowPortal #resources .card-actions {
    margin-top: 14px;
}

/* Explore UM */
#umwowPortal .explore-video-shell {
    padding: 0 18px;
}

#umwowPortal .explore-video-box {
    overflow: hidden;
    border-radius: 28px;
    background: #fff;
    border: 1px solid rgba(28,49,123,.07);
    box-shadow: 0 20px 54px rgba(28,49,123,.09);
}

#umwowPortal .youtube-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: rgba(0,0,0,.08);
}

#umwowPortal .youtube-embed iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

#umwowPortal .campus-icons-shell {
    padding: 34px 18px 0;
}

#umwowPortal .campus-icons-head {
    max-width: 800px;
    margin: 0 auto 20px;
    text-align: center;
}

#umwowPortal .campus-icons-head h3 {
    margin: 0;
    color: rgba(17,19,24,.93);
    font: 770 clamp(19px,2vw,28px)/1.08 var(--umwow-font);
    letter-spacing: -.035em;
}

#umwowPortal .campus-icons-head p {
    max-width: 620px;
    margin: 8px auto 0;
    color: rgba(17,19,24,.62);
    font: 500 12px/1.6 var(--umwow-font);
}

#umwowPortal .campus-building-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

#umwowPortal .campus-building-card {
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(28,49,123,.07);
    box-shadow: 0 16px 42px rgba(28,49,123,.08);
}

#umwowPortal .building-carousel {
    position: relative;
    width: 100%;
    min-height: 260px;
    overflow: hidden;
    background: #eef0f5;
}

#umwowPortal .building-carousel-track {
    display: flex;
    width: 100%;
    height: 260px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

#umwowPortal .building-carousel-track::-webkit-scrollbar {
    display: none;
}

#umwowPortal .building-carousel-track img {
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    height: 260px;
    object-fit: cover;
    object-position: center;
    scroll-snap-align: start;
    margin: 0 !important;
    float: none !important;
}

#umwowPortal .building-carousel-controls {
    position: absolute;
    right: 12px;
    bottom: 12px;
    display: flex;
    gap: 7px;
}

#umwowPortal .campus-building-copy {
    padding: 20px 22px 23px;
}

#umwowPortal .building-number {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: 5px 8px;
    margin-bottom: 9px;
    border-radius: 999px;
    background: rgba(28,49,123,.09);
    color: var(--um-blue);
    font: 800 9.8px/1 var(--umwow-font);
}

#umwowPortal .campus-building-copy h3 {
    margin: 0 0 9px;
    color: rgba(17,19,24,.93);
    font: 760 17px/1.13 var(--umwow-font);
    letter-spacing: -.025em;
}

#umwowPortal .campus-building-copy ul {
    margin: 0;
    padding-left: 17px;
    color: rgba(17,19,24,.64);
    font: 500 11.5px/1.58 var(--umwow-font);
}

#umwowPortal .campus-building-copy li + li {
    margin-top: 5px;
}

@media (max-width: 980px) {
    #umwowPortal .prearrival-grid,
    #umwowPortal #resources .resource-carousel {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }

    #umwowPortal .pickup-slot-grid,
    #umwowPortal .campus-building-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    #umwowPortal .umwow-welcome-side {
        align-items: center;
    }

    #umwowPortal .umwow-back-menu {
        align-self: flex-start;
    }

    #umwowPortal .umwow-service-detail {
        width: min(calc(100% - 20px), 1180px);
    }

    #umwowPortal .date-tabs,
    #umwowPortal .pickup-date-tabs,
    #umwowPortal .prearrival-grid,
    #umwowPortal #resources .resource-carousel {
        grid-template-columns: 1fr;
    }

    #umwowPortal .schedule-top {
        padding-top: 58px;
    }

    #umwowPortal .schedule-download-btn {
        top: 14px;
        right: 14px;
    }

    #umwowPortal .prearrival-card {
        min-height: 390px;
    }

    #umwowPortal .building-carousel,
    #umwowPortal .building-carousel-track,
    #umwowPortal .building-carousel-track img {
        min-height: 220px;
        height: 220px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #umwowPortal .umwow-services-grid .umwow-service-tile,
    #umwowPortal .umwow-service-detail {
        transition: none !important;
    }
}


/* ==========================================================
   UM-WOW POLISH PASS — APPROVED SITE-WIDE EFFECT SYSTEM
   ========================================================== */
:root {
    --umwow-fast: 220ms;
    --umwow-normal: 400ms;
    --umwow-reveal-speed: 720ms;
}

/* Category selection transition: darken the moving hero before portal entry */
.umwow-page.is-leaving #umwowHero .hero-visual {
    filter: blur(3px) brightness(.52) saturate(.82);
    transform: scale(1.012);
    transition: filter 360ms var(--umwow-ease), transform 360ms var(--umwow-ease);
}

.umwow-page.is-leaving #umwowHero::after {
    background: rgba(2,3,8,.52) !important;
    transition: background 360ms var(--umwow-ease);
}

.umwow-page.is-leaving #umwowHero .hero-brand {
    opacity: 0;
    transform: translateY(-7px) scale(.985);
    transition: opacity 260ms var(--umwow-ease), transform 260ms var(--umwow-ease);
}

/* Portal progress — intentionally absent from the opening hero */
#umwowPortal .umwow-portal-progress {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2147482000;
    height: 2px;
    pointer-events: none;
    background: transparent;
}

#umwowPortal .umwow-portal-progress span {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: var(--umwow-blue);
    transition: transform 90ms linear;
}

/* Portal entrance: text first, DVC visual follows */
#umwowPortal .umwow-welcome-copy,
#umwowPortal .umwow-welcome-side {
    opacity: 0;
    transform: translateY(16px);
    transition:
        opacity var(--umwow-reveal-speed) var(--umwow-ease),
        transform var(--umwow-reveal-speed) var(--umwow-ease);
}

#umwowPortal.is-visible .umwow-welcome-copy {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 90ms;
}

#umwowPortal.is-visible .umwow-welcome-side {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 210ms;
}

/* Smaller typography remains intentional — no oversized headings */
#umwowPortal .umwow-welcome-copy h1 {
    font-size: clamp(34px, 4.3vw, 62px) !important;
    line-height: .98;
    letter-spacing: -.055em;
}

#umwowPortal .umwow-colleges-head h2 {
    font-size: clamp(19px, 2vw, 30px) !important;
    letter-spacing: -.035em;
}

#umwowPortal .umwow-services-head h2 {
    font-size: clamp(15px, 1.55vw, 23px) !important;
    letter-spacing: -.03em;
}

#umwowPortal .umwow-service-detail .section-title {
    font-size: clamp(18px, 1.9vw, 28px) !important;
    letter-spacing: -.03em;
}

/* Consistent eyebrow treatment */
#umwowPortal .umwow-portal-kicker,
#umwowPortal .umwow-service-detail .section-kicker,
#umwowPortal .umwow-magazine-label {
    font-size: 10px !important;
    line-height: 1.2;
    font-weight: 790;
    letter-spacing: .075em;
    text-transform: uppercase;
    color: var(--umwow-blue);
}

/* Welcome speech — editorial quotation treatment */
#umwowPortal .umwow-welcome-message {
    position: relative;
    max-width: 610px;
    margin-top: 30px;
    padding-left: 25px;
}

#umwowPortal .umwow-welcome-message::before {
    content: "“";
    position: absolute;
    left: -4px;
    top: -19px;
    color: rgba(28,49,123,.16);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 64px;
    line-height: 1;
    font-weight: 700;
    pointer-events: none;
}

#umwowPortal .umwow-welcome-message p {
    font-size: clamp(13px, 1vw, 15px) !important;
    line-height: 1.72;
}

#umwowPortal .umwow-welcome-signature {
    position: relative;
    margin-top: 24px;
    margin-left: 25px;
    padding-left: 14px;
    gap: 4px;
}

#umwowPortal .umwow-welcome-signature::before {
    content: "";
    position: absolute;
    left: 0;
    top: 1px;
    bottom: 1px;
    width: 2px;
    border-radius: 999px;
    background: var(--umwow-blue);
}

#umwowPortal .umwow-welcome-signature strong {
    order: 0;
    color: #15171a;
    font-size: 12.5px !important;
    font-weight: 760;
}

#umwowPortal .umwow-welcome-signature span {
    order: 1;
    color: var(--umwow-blue);
    font-size: 11.5px;
    font-weight: 690;
}

/* DVC photo stays a large, formal portrait surface */
#umwowPortal .umwow-dvc-photo-placeholder {
    border-radius: 32px;
    box-shadow: 0 28px 70px rgba(28,49,123,.10);
}

/* Alternating quiet surfaces */
#umwowPortal .umwow-welcome { background: #ffffff; }
#umwowPortal .umwow-colleges { background: #eaf6ff; }
#umwowPortal .umwow-services { background: #f7f8fa !important; }

/* Generic scroll reveals — class is added only by JS, so content is safe if JS fails */
#umwowPortal .umwow-reveal {
    opacity: 0;
    transform: translateY(18px);
    transition:
        opacity var(--umwow-reveal-speed) var(--umwow-ease),
        transform var(--umwow-reveal-speed) var(--umwow-ease);
    transition-delay: calc(var(--reveal-index, 0) * 80ms);
}

#umwowPortal .umwow-reveal.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

/* Residential college carousel — selective hover focus */
#umwowPortal .umwow-college-carousel:hover .umwow-college-card {
    opacity: .62;
}

#umwowPortal .umwow-college-carousel:hover .umwow-college-card:hover,
#umwowPortal .umwow-college-carousel:hover .umwow-college-card:focus-visible,
#umwowPortal .umwow-college-carousel .umwow-college-card.is-selected {
    opacity: 1;
}

#umwowPortal .umwow-college-card {
    transition:
        opacity var(--umwow-fast) var(--umwow-ease),
        transform var(--umwow-fast) var(--umwow-ease),
        background var(--umwow-fast) var(--umwow-ease),
        box-shadow var(--umwow-fast) var(--umwow-ease);
}

#umwowPortal .umwow-college-card:hover,
#umwowPortal .umwow-college-card:focus-visible {
    transform: translateY(-2px);
}

#umwowPortal .umwow-college-card:hover img.umwow-college-logo,
#umwowPortal .umwow-college-card:focus-visible img.umwow-college-logo,
#umwowPortal .umwow-college-card.is-selected img.umwow-college-logo {
    transform: scale(1.06);
}

#umwowPortal img.umwow-college-logo {
    transition: transform var(--umwow-fast) var(--umwow-ease), opacity var(--umwow-normal) var(--umwow-ease);
}

#umwowPortal .umwow-college-card:hover .umwow-college-card-copy,
#umwowPortal .umwow-college-card:focus-visible .umwow-college-card-copy {
    transform: translateY(-2px);
}

#umwowPortal .umwow-college-card-copy {
    transition: transform var(--umwow-fast) var(--umwow-ease);
}

#umwowPortal .umwow-college-card.is-selected {
    box-shadow:
        inset 0 0 0 1.5px rgba(28,49,123,.28),
        0 12px 30px rgba(28,49,123,.07);
}

/* Editorial college information: college overview + magazine feature */
#umwowPortal .umwow-college-detail {
    width: min(calc(100% - 48px), 1180px);
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px) !important;
    gap: clamp(24px, 3.5vw, 46px);
    align-items: stretch;
    clip-path: inset(0 0 12px 0 round 34px);
    transition:
        opacity var(--umwow-normal) var(--umwow-ease),
        transform var(--umwow-normal) var(--umwow-ease),
        clip-path var(--umwow-normal) var(--umwow-ease);
}

#umwowPortal .umwow-college-detail.is-visible {
    clip-path: inset(0 0 0 0 round 34px);
}

#umwowPortal .umwow-college-detail:not(.has-magazine) {
    grid-template-columns: 1fr !important;
}

#umwowPortal .umwow-detail-overview {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: clamp(20px, 2.6vw, 34px);
    align-items: start;
    min-width: 0;
}

#umwowPortal .umwow-detail-logo {
    min-height: 172px;
}

#umwowPortal .umwow-detail-main h3 {
    font-size: clamp(20px, 2.2vw, 32px) !important;
    letter-spacing: -.035em;
}

#umwowPortal .umwow-detail-grid {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 20px;
}

#umwowPortal .umwow-detail-item {
    padding: 12px 14px;
    border-radius: 15px;
    background: #f7f8fa;
}

/* Magazine becomes a featured editorial panel */
#umwowPortal .umwow-magazine {
    display: flex;
    margin: 0 !important;
    max-width: none !important;
    height: 100%;
}

#umwowPortal .umwow-magazine[hidden] {
    display: none !important;
}

#umwowPortal .umwow-magazine-link {
    width: 100%;
    min-height: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
    padding: 14px;
    border-radius: 24px;
    background: linear-gradient(180deg, #f8f9fb, #f2f4f8);
}

#umwowPortal .umwow-magazine-cover {
    flex: 1 1 auto;
    width: 100% !important;
    height: auto !important;
    min-height: 330px;
    border-radius: 18px;
    background: #eceef3;
    box-shadow: 0 14px 34px rgba(17,19,24,.08);
    transition: transform var(--umwow-fast) var(--umwow-ease), box-shadow var(--umwow-fast) var(--umwow-ease);
}

#umwowPortal .umwow-magazine-link:hover .umwow-magazine-cover {
    transform: translateY(-4px) scale(1.015);
    box-shadow: 0 20px 42px rgba(17,19,24,.12);
}

#umwowPortal .umwow-magazine-copy {
    padding: 0 3px 3px;
}

/* Two-button visual language */
#umwowPortal .umwow-service-pill,
#umwowPortal .umwow-college-link:not(.is-disabled),
#umwowPortal .umwow-service-detail .btn-primary,
#umwowPortal .umwow-service-detail .prearrival-zoom,
#umwowPortal .umwow-service-detail .pickup-form-btn {
    border-radius: 999px;
    background: var(--umwow-blue);
    color: #fff;
    border: 1px solid transparent;
}

#umwowPortal .umwow-back-menu,
#umwowPortal .umwow-service-back,
#umwowPortal .umwow-magazine-action {
    border-radius: 999px;
    background: rgba(255,255,255,.92);
    color: var(--umwow-blue);
    border: 1px solid rgba(28,49,123,.15);
    box-shadow: 0 8px 22px rgba(28,49,123,.06);
}

/* Service cards — text moves higher, lower region reserved for future transparent PNG artwork */
#umwowPortal .umwow-service-tile {
    min-height: clamp(290px, 25vw, 370px);
    box-shadow: 0 0 0 rgba(0,0,0,0);
    transition:
        opacity var(--umwow-normal) var(--umwow-ease),
        transform var(--umwow-fast) var(--umwow-ease),
        box-shadow var(--umwow-fast) var(--umwow-ease),
        filter var(--umwow-fast) var(--umwow-ease);
}

#umwowPortal .umwow-service-tile:hover,
#umwowPortal .umwow-service-tile:focus-visible {
    transform: translateY(-4px);
    box-shadow: 0 18px 44px rgba(28,49,123,.10);
}

#umwowPortal .umwow-service-copy {
    position: relative;
    z-index: 3;
    padding: clamp(18px, 2vw, 28px) 14px 0 !important;
}

#umwowPortal .umwow-service-copy h3 {
    font-size: clamp(16px, 1.55vw, 22px) !important;
    letter-spacing: -.035em;
}

#umwowPortal .umwow-service-copy p {
    margin-top: 7px;
    font-size: 12.7px;
    line-height: 1.48;
}

#umwowPortal .umwow-service-pill {
    margin-top: 12px;
    transition: transform var(--umwow-fast) var(--umwow-ease), box-shadow var(--umwow-fast) var(--umwow-ease);
}

#umwowPortal .umwow-service-tile:hover .umwow-service-pill,
#umwowPortal .umwow-service-tile:focus-visible .umwow-service-pill {
    transform: translateX(2px);
    box-shadow: 0 8px 18px rgba(0,113,227,.18);
}

#umwowPortal .umwow-service-media-slot {
    position: absolute;
    z-index: 1;
    left: 8%;
    right: 8%;
    bottom: 0;
    height: 48%;
    pointer-events: none;
    overflow: hidden;
}

/* When artwork is supplied later, this is the ready-made placement class */
#umwowPortal .umwow-service-media-slot img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    margin: 0 !important;
    float: none !important;
}

/* Selected service keeps a compact breadcrumb-like category card */
#umwowPortal .umwow-services-grid.is-detail-mode .umwow-service-tile.is-selected {
    min-height: 132px !important;
    max-width: 560px;
    margin: 0 auto;
    border-radius: 20px;
}

#umwowPortal .umwow-services-grid.is-detail-mode .umwow-service-tile.is-selected .umwow-service-media-slot {
    display: none;
}

/* Image loading — neutral placeholder, no spinner */
#umwowPortal img.umwow-image-pending,
#umwowPortal img.umwow-load-image.umwow-image-pending {
    opacity: 0;
}

#umwowPortal img.umwow-image-loaded,
#umwowPortal img.umwow-load-image.umwow-image-loaded {
    opacity: 1;
    transition: opacity var(--umwow-normal) var(--umwow-ease);
}

#umwowPortal .umwow-detail-logo,
#umwowPortal .umwow-magazine-cover,
#umwowPortal .building-carousel,
#umwowPortal .prearrival-card {
    background-color: #eef0f4;
}

/* Service-information entry/exit */
#umwowPortal .umwow-service-detail {
    transition:
        opacity var(--umwow-normal) var(--umwow-ease),
        transform var(--umwow-normal) var(--umwow-ease);
}

#umwowPortal .umwow-services-grid .umwow-service-tile {
    transition-delay: calc(var(--tile-index, 0) * 70ms);
}

@media (max-width: 900px) {
    #umwowPortal .umwow-college-detail {
        grid-template-columns: 1fr !important;
    }

    #umwowPortal .umwow-detail-overview {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    #umwowPortal .umwow-magazine {
        max-width: 520px !important;
    }
}

@media (max-width: 620px) {
    #umwowPortal .umwow-welcome-copy h1 {
        font-size: clamp(32px, 10.5vw, 48px) !important;
    }

    #umwowPortal .umwow-welcome-message,
    #umwowPortal .umwow-welcome-signature {
        margin-left: 0;
    }

    #umwowPortal .umwow-detail-overview {
        grid-template-columns: 1fr;
    }

    #umwowPortal .umwow-detail-logo {
        width: 150px;
        min-height: 150px;
    }

    #umwowPortal .umwow-magazine-cover {
        min-height: 300px;
    }

    #umwowPortal .umwow-service-tile {
        min-height: 285px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .umwow-page.is-leaving #umwowHero .hero-visual,
    .umwow-page.is-leaving #umwowHero .hero-brand,
    #umwowPortal .umwow-welcome-copy,
    #umwowPortal .umwow-welcome-side,
    #umwowPortal .umwow-reveal,
    #umwowPortal .umwow-college-card,
    #umwowPortal img.umwow-college-logo,
    #umwowPortal .umwow-magazine-cover,
    #umwowPortal .umwow-service-tile,
    #umwowPortal .umwow-service-pill,
    #umwowPortal img.umwow-image-loaded {
        transition: none !important;
        animation: none !important;
    }
}


/* ==========================================================
   RESIDENTIAL COLLEGE PREVIEW — RESTORED TEMPLATE
   ========================================================== */
#umwowPortal .umwow-college-detail {
    width: min(calc(100% - 48px), 1120px) !important;
    margin: 32px auto 0 !important;
    padding: clamp(24px, 3.2vw, 42px) !important;
    display: grid !important;
    grid-template-columns: 210px minmax(0, 1fr) !important;
    gap: clamp(26px, 4vw, 52px) !important;
    align-items: center !important;
    border-radius: 36px !important;
    background: rgba(255,255,255,.88) !important;
    border: 1px solid rgba(17,19,24,.07) !important;
    box-shadow: 0 22px 64px rgba(0,0,0,.07) !important;
    opacity: 0;
    transform: translateY(12px);
    clip-path: none !important;
    transition: opacity .30s var(--umwow-ease), transform .30s var(--umwow-ease) !important;
}

#umwowPortal .umwow-college-detail.is-visible {
    opacity: 1;
    transform: translateY(0);
    clip-path: none !important;
}

#umwowPortal .umwow-college-detail.has-magazine,
#umwowPortal .umwow-college-detail:not(.has-magazine) {
    grid-template-columns: 210px minmax(0, 1fr) !important;
}

#umwowPortal .umwow-detail-logo {
    min-height: 190px !important;
    border-radius: 28px;
    background: #f8f8fa;
}

#umwowPortal .umwow-detail-main h3 {
    font-size: clamp(20px, 2.2vw, 32px) !important;
    letter-spacing: -.035em;
}

#umwowPortal .umwow-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 20px;
}

#umwowPortal .umwow-magazine {
    display: block !important;
    margin-top: 18px !important;
    max-width: 680px !important;
    height: auto !important;
}

#umwowPortal .umwow-magazine[hidden] {
    display: none !important;
}

#umwowPortal .umwow-magazine-link {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 22px !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 22px !important;
    background: #f7f7f9 !important;
    border: 1px solid rgba(17,19,24,.07) !important;
    color: #111318;
    text-decoration: none;
}

#umwowPortal .umwow-magazine-link:hover {
    transform: translateY(-2px);
    background: #fff !important;
    border-color: rgba(28,49,123,.15) !important;
}

#umwowPortal .umwow-magazine-cover {
    flex: 0 0 160px !important;
    width: 160px !important;
    height: 210px !important;
    min-height: 0 !important;
    overflow: hidden;
    border-radius: 14px !important;
    background: #eceef3;
    box-shadow: none !important;
    transform: none !important;
}

#umwowPortal .umwow-magazine-link:hover .umwow-magazine-cover {
    transform: none !important;
    box-shadow: none !important;
}

#umwowPortal .umwow-magazine-cover img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    margin: 0 !important;
    float: none !important;
}

#umwowPortal .umwow-magazine-copy {
    min-width: 0;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#umwowPortal .umwow-magazine-copy strong {
    color: rgba(17,19,24,.86);
    font-size: 12.6px;
    line-height: 1.35;
    font-weight: 750;
}

#umwowPortal .umwow-magazine-action {
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    margin-top: 9px;
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--umwow-blue);
    color: #fff;
    border: 0;
    font-size: 10.8px;
    line-height: 1;
    font-weight: 720;
}

@media (max-width: 900px) {
    #umwowPortal .umwow-college-detail,
    #umwowPortal .umwow-college-detail.has-magazine,
    #umwowPortal .umwow-college-detail:not(.has-magazine) {
        grid-template-columns: 160px minmax(0, 1fr) !important;
    }
}

@media (max-width: 720px) {
    #umwowPortal .umwow-college-detail,
    #umwowPortal .umwow-college-detail.has-magazine,
    #umwowPortal .umwow-college-detail:not(.has-magazine) {
        grid-template-columns: 1fr !important;
    }

    #umwowPortal .umwow-detail-logo {
        width: 160px;
        min-height: 160px !important;
    }

    #umwowPortal .umwow-detail-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 620px) {
    #umwowPortal .umwow-magazine {
        max-width: none !important;
    }

    #umwowPortal .umwow-magazine-cover {
        flex-basis: 118px !important;
        width: 118px !important;
        height: 155px !important;
    }
}

/* ==========================================================
   DVC IMAGE / SIDE PROGRESS / COLLEGE DETAIL TUNING
   ========================================================== */

#umwowPortal .umwow-portal-progress {
    position: fixed;
    right: 10px;
    top: 110px;
    bottom: 18px;
    left: auto;
    width: 2px;
    height: auto;
    z-index: 2147482000;
    pointer-events: none;
    background: rgba(28,49,123,.12);
    border-radius: 999px;
}

#umwowPortal .umwow-portal-progress span {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    transform: scaleY(0);
    transform-origin: bottom center;
    background: var(--umwow-blue);
    border-radius: 999px;
    transition: transform 90ms linear;
}

#umwowPortal .umwow-welcome-side {
    align-items: flex-end;
    overflow: visible;
}

#umwowPortal .umwow-back-menu {
    align-self: flex-end;
}

#umwowPortal .umwow-dvc-photo {
    width: min(100%, 430px);
    margin-top: -6px;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
}

#umwowPortal .umwow-dvc-image {
    display: block;
    width: 100%;
    max-width: 430px;
    height: auto;
    object-fit: contain;
    object-position: center bottom;
    margin: 0;
    float: none !important;
    filter: drop-shadow(0 18px 36px rgba(0,0,0,.10));
}

#umwowPortal .umwow-dvc-photo-placeholder {
    display: none !important;
}

#umwowPortal .umwow-college-card-copy {
    line-height: 1.18 !important;
}

#umwowPortal .umwow-college-card-copy strong,
#umwowPortal .umwow-college-card-copy .umwow-college-name,
#umwowPortal .umwow-college-card h3 {
    line-height: 1.14 !important;
    letter-spacing: -.02em;
    margin-top: 8px;
}

#umwowPortal .umwow-college-detail,
#umwowPortal .umwow-college-detail.has-magazine,
#umwowPortal .umwow-college-detail:not(.has-magazine) {
    grid-template-columns: 210px minmax(0, 1fr) !important;
    align-items: start !important;
}

#umwowPortal .umwow-detail-side {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

#umwowPortal .umwow-detail-logo {
    min-height: 0 !important;
    width: 100%;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

#umwowPortal .umwow-detail-logo img {
    display: block;
    width: 100%;
    max-width: 170px;
    height: auto;
    object-fit: contain;
    margin: 0 !important;
    float: none !important;
}

#umwowPortal .umwow-detail-side .umwow-detail-code {
    margin: 2px 0 0 !important;
}

#umwowPortal .umwow-detail-side h3 {
    margin: 0 !important;
    font-size: clamp(18px, 1.9vw, 28px) !important;
    line-height: 1.14 !important;
    letter-spacing: -.03em;
}

#umwowPortal .umwow-detail-main {
    padding-top: 6px;
}

@media (max-width: 900px) {
    #umwowPortal .umwow-portal-progress {
        right: 8px;
        top: 96px;
        bottom: 14px;
    }

    #umwowPortal .umwow-dvc-photo {
        width: min(100%, 360px);
    }

    #umwowPortal .umwow-college-detail,
    #umwowPortal .umwow-college-detail.has-magazine,
    #umwowPortal .umwow-college-detail:not(.has-magazine) {
        grid-template-columns: 180px minmax(0, 1fr) !important;
    }

    #umwowPortal .umwow-detail-logo img {
        max-width: 150px;
    }
}

@media (max-width: 720px) {
    #umwowPortal .umwow-welcome-side {
        align-items: center;
        width: 100%;
    }

    #umwowPortal .umwow-back-menu {
        align-self: flex-start;
    }

    #umwowPortal .umwow-dvc-photo {
        justify-content: center;
        width: min(100%, 320px);
    }

    #umwowPortal .umwow-college-detail,
    #umwowPortal .umwow-college-detail.has-magazine,
    #umwowPortal .umwow-college-detail:not(.has-magazine) {
        grid-template-columns: 1fr !important;
    }

    #umwowPortal .umwow-detail-side {
        align-items: flex-start;
    }

    #umwowPortal .umwow-detail-logo img {
        max-width: 140px;
    }
}


/* ==========================================================
   INTERNATIONAL STUDENT AIRPORT PICKUP
   ========================================================== */
#umwowPortal[data-student-category="international"] .airport-local-only {
    display: none !important;
}

#umwowPortal:not([data-student-category="international"]) .airport-international-only {
    display: none !important;
}

#umwowPortal .international-pickup-shell {
    width: min(100%, 900px);
    margin: 0 auto;
    padding: clamp(22px, 3vw, 34px);
    border-radius: 28px;
    background: rgba(255,255,255,.86);
    border: 1px solid rgba(28,49,123,.08);
    box-shadow: 0 20px 54px rgba(28,49,123,.08);
}

#umwowPortal .international-pickup-main {
    max-width: 760px;
    margin: 0 auto;
}

#umwowPortal .international-pickup-date {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin: 0 0 12px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(28,49,123,.08);
    color: var(--umwow-blue);
    font: 780 11px/1 var(--umwow-font);
}

#umwowPortal .international-pickup-main h3 {
    margin: 0 0 10px;
    color: rgba(17,19,24,.93);
    font: 760 clamp(16px, 1.65vw, 22px)/1.22 var(--umwow-font);
    letter-spacing: -.025em;
}

#umwowPortal .international-pickup-main p {
    color: rgba(17,19,24,.66);
    font: 500 12.6px/1.65 var(--umwow-font);
}

#umwowPortal .international-pickup-info {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(17,19,24,.08);
}

#umwowPortal .international-pickup-info p + p {
    margin-top: 10px;
}

#umwowPortal .international-pickup-info a {
    color: var(--umwow-blue);
    font-weight: 700;
    text-decoration: none;
}

#umwowPortal .international-pickup-info a:hover {
    text-decoration: underline;
}

#umwowPortal .international-pickup-form-btn {
    margin-top: 20px;
}
