@charset "UTF-8";

/* PPDB Home Orbit + Premium Admission Paths v11.7 */
.admission-home .home-family-stage {
    position: relative;
    isolation: isolate;
    overflow: visible;
}

.admission-home .home-family-brand,
.admission-home .home-photo-badge {
    display: none !important;
}

/* Five-value orbital system */
.admission-home .home-photo-values.home-photo-orbit-system {
    --orbit-tilt-x: 0deg;
    --orbit-tilt-y: 0deg;
    --orbit-shift-x: 0px;
    --orbit-shift-y: 0px;
    position: absolute;
    inset: -7% -11% -5%;
    z-index: 8;
    pointer-events: none;
    transform:
        translate3d(var(--orbit-shift-x), var(--orbit-shift-y), 0)
        rotateX(var(--orbit-tilt-x))
        rotateY(var(--orbit-tilt-y));
    transform-style: preserve-3d;
    transition: transform .22s ease-out;
}

.admission-home .home-orbit {
    --orbit-speed: 24s;
    --orbit-start: 0deg;
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(76, 158, 215, .22);
    border-radius: 50%;
    transform: translate(-50%, -50%) rotate(var(--orbit-start));
    box-shadow: inset 0 0 26px rgba(65, 159, 220, .035);
}

.admission-home .home-orbit::before,
.admission-home .home-orbit::after {
    content: "";
    position: absolute;
    border-radius: inherit;
    pointer-events: none;
}

.admission-home .home-orbit::before {
    inset: -1px;
    border-top: 1px dashed rgba(10, 127, 193, .38);
    border-right: 1px dashed transparent;
    border-bottom: 1px dashed rgba(245, 196, 77, .18);
}

.admission-home .home-orbit::after {
    width: 6px;
    height: 6px;
    top: 16%;
    right: 5%;
    background: #f4c84e;
    box-shadow: 0 0 0 5px rgba(244, 200, 78, .12), 0 0 16px rgba(244, 200, 78, .28);
}

.admission-home .home-orbit-one {
    width: 72%;
    height: 50%;
    --orbit-speed: 18s;
    --orbit-start: 14deg;
}

.admission-home .home-orbit-two {
    width: 90%;
    height: 69%;
    --orbit-speed: 25s;
    --orbit-start: -30deg;
}

.admission-home .home-orbit-three {
    width: 105%;
    height: 85%;
    --orbit-speed: 32s;
    --orbit-start: 66deg;
}

.admission-home .home-orbit-run {
    position: absolute;
    inset: 0;
    border-radius: inherit;
    animation: homeOrbitSpin var(--orbit-speed) linear infinite;
    will-change: transform;
}

.admission-home .home-orbit.is-reverse .home-orbit-run {
    animation-direction: reverse;
}

.admission-home .home-orbit-anchor {
    position: absolute;
    display: block;
    width: 46px;
    height: 46px;
}

.admission-home .home-orbit-anchor.is-top {
    top: -23px;
    left: calc(50% - 23px);
}

.admission-home .home-orbit-anchor.is-right {
    top: calc(50% - 23px);
    right: -23px;
}

.admission-home .home-orbit-anchor.is-bottom-left {
    bottom: -23px;
    left: 24%;
}

.admission-home .home-orbit-anchor.is-upper-right {
    top: 11%;
    right: -17px;
}

.admission-home .home-orbit-anchor.is-lower-right {
    right: -20px;
    bottom: 14%;
}

.admission-home .home-orbit-icon {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .58);
    border-radius: 15px;
    background: rgba(255, 255, 255, .20);
    box-shadow:
        0 10px 22px rgba(4, 50, 88, .13),
        inset 0 1px 0 rgba(255, 255, 255, .62);
    -webkit-backdrop-filter: blur(6px) saturate(125%);
    backdrop-filter: blur(6px) saturate(125%);
    animation: homeOrbitCounter var(--orbit-speed) linear infinite;
    backface-visibility: hidden;
}

.admission-home .home-orbit.is-reverse .home-orbit-icon {
    animation-direction: reverse;
}

/* Orbit is intentionally continuous: no user toggle, viewport pause, tab pause, or reduced-motion stop. */
.admission-home .home-photo-orbit-system .home-orbit-run,
.admission-home .home-photo-orbit-system .home-orbit-icon,
.admission-home .home-photo-orbit-system.is-paused .home-orbit-run,
.admission-home .home-photo-orbit-system.is-paused .home-orbit-icon {
    animation-play-state: running !important;
}

.admission-home .home-orbit-icon img {
    display: block;
    width: 36px !important;
    height: 36px !important;
    max-width: 36px !important;
    object-fit: contain;
    image-rendering: auto;
    filter: drop-shadow(0 3px 5px rgba(1, 43, 78, .14));
}


@keyframes homeOrbitSpin {
    to { transform: rotate(360deg); }
}

@keyframes homeOrbitCounter {
    to { transform: rotate(-360deg); }
}

/* Premium path cards: layered, textured, not flat blocks */
.admission-home .home-path-card {
    --home-card-x: 50%;
    --home-card-y: 50%;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    border-radius: 25px !important;
    border: 1px solid rgba(255, 255, 255, .56) !important;
    box-shadow:
        0 24px 54px rgba(4, 43, 78, .14),
        inset 0 1px 0 rgba(255, 255, 255, .52) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}

.admission-home .home-path-card:hover {
    transform: translateY(-6px) !important;
    box-shadow:
        0 34px 68px rgba(4, 43, 78, .20),
        inset 0 1px 0 rgba(255, 255, 255, .66) !important;
}

.admission-home .home-path-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle 250px at var(--home-card-x) var(--home-card-y), rgba(255, 255, 255, .18), transparent 72%),
        repeating-linear-gradient(126deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 20px);
}

.admission-home .home-path-card > :not(.home-path-pattern):not(.home-card-shine) {
    position: relative;
    z-index: 2;
}

.admission-home .home-card-shine {
    z-index: 1 !important;
    opacity: .42 !important;
}

.admission-home .home-path-internal {
    color: #fff !important;
    border-color: rgba(121, 197, 240, .28) !important;
    background:
        radial-gradient(circle at 88% 9%, rgba(90, 191, 238, .18), transparent 31%),
        radial-gradient(circle at 7% 105%, rgba(245, 196, 77, .12), transparent 34%),
        linear-gradient(136deg, #04172f 0%, #072b53 49%, #0a557f 100%) !important;
    box-shadow:
        0 28px 62px rgba(3, 28, 58, .22),
        inset 0 1px 0 rgba(255, 255, 255, .13),
        inset 0 -1px 0 rgba(95, 190, 238, .08) !important;
}

.admission-home .home-path-external {
    color: #0b3657 !important;
    border-color: rgba(211, 165, 49, .30) !important;
    background:
        radial-gradient(circle at 82% 14%, rgba(255, 220, 100, .39), transparent 34%),
        radial-gradient(circle at 9% 94%, rgba(11, 120, 189, .10), transparent 34%),
        linear-gradient(145deg, #fffef9 0%, #fff5d0 57%, #f5dfa0 100%) !important;
}

.admission-home .home-path-pattern {
    position: absolute;
    inset: 0;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
}

.admission-home .home-internal-geometry {
    position: absolute;
    top: 13px;
    right: 15px;
    width: 216px;
    height: 216px;
    opacity: .68;
    transform: rotate(8deg);
    transition: transform .45s ease, opacity .45s ease;
}

.admission-home .home-internal-geometry span {
    position: absolute;
    top: 50%;
    left: 50%;
    border: 1px solid rgba(178, 226, 255, .15);
    border-radius: 22px;
    transform: translate(-50%, -50%) rotate(45deg);
}

.admission-home .home-internal-geometry .g1 { width: 188px; height: 188px; }
.admission-home .home-internal-geometry .g2 { width: 136px; height: 136px; border-color: rgba(255, 255, 255, .13); }
.admission-home .home-internal-geometry .g3 { width: 84px; height: 84px; border-color: rgba(245, 196, 77, .18); }

.admission-home .home-internal-star {
    position: absolute;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #d8f1ff;
    box-shadow: 0 0 12px rgba(189, 232, 255, .68);
}

.admission-home .home-internal-star.s1 { top: 30px; right: 232px; }
.admission-home .home-internal-star.s2 { top: 112px; right: 178px; width: 3px; height: 3px; }
.admission-home .home-internal-star.s3 { top: 34px; right: 90px; background: #f5c44d; }
.admission-home .home-internal-star.s4 { top: 138px; right: 27px; width: 3px; height: 3px; }

.admission-home .home-internal-ribbon {
    position: absolute;
    right: -8%;
    bottom: 12px;
    left: -8%;
    height: 76px;
    border-top: 1px solid rgba(255, 255, 255, .14);
    border-radius: 50%;
    background: linear-gradient(90deg, transparent 2%, rgba(82, 185, 232, .07) 36%, rgba(255, 255, 255, .09) 61%, transparent 97%);
    transform: rotate(-2.5deg);
}

.admission-home .home-path-internal:hover .home-internal-geometry {
    opacity: .92;
    transform: rotate(12deg) scale(1.035);
}

.admission-home .home-path-internal:hover .home-internal-ribbon {
    animation: homeInternalRibbon 2.8s ease-in-out infinite alternate;
}

.admission-home .home-external-orb {
    position: absolute;
    border: 1px solid rgba(154, 111, 19, .14);
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
}

.admission-home .home-external-orb.o1 { width: 236px; height: 236px; top: -86px; right: -58px; }
.admission-home .home-external-orb.o2 { width: 154px; height: 154px; right: 43px; bottom: -78px; }
.admission-home .home-external-orb.o3 { width: 78px; height: 78px; top: 46%; right: 23%; border-color: rgba(8, 121, 190, .13); }

@keyframes homeInternalRibbon {
    to { transform: rotate(-1deg) translateX(14px); }
}

/* Smaller route nodes; subdued light node and calmer dark node */
.admission-home .home-route-visual {
    grid-template-columns: 104px minmax(48px, 1fr) 104px !important;
    align-items: center !important;
}

.admission-home .home-route-node {
    --route-x: 50%;
    --route-y: 50%;
    position: relative;
    isolation: isolate;
    min-height: 108px !important;
    padding: 10px 8px 8px !important;
    overflow: hidden !important;
    border: 1px solid rgba(255, 255, 255, .44) !important;
    border-radius: 16px !important;
    clip-path: none !important;
    box-shadow:
        0 13px 24px rgba(4, 36, 67, .14),
        inset 0 1px 0 rgba(255, 255, 255, .53) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease !important;
    backface-visibility: hidden;
}

.admission-home .home-route-node::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: inherit;
    background: radial-gradient(circle 100px at var(--route-x) var(--route-y), rgba(255, 255, 255, .20), transparent 72%);
    pointer-events: none;
}

.admission-home .home-path-card:hover .home-route-node {
    transform: translateY(-3px) !important;
    border-color: rgba(91, 169, 218, .46) !important;
    box-shadow:
        0 18px 30px rgba(4, 36, 67, .18),
        inset 0 1px 0 rgba(255, 255, 255, .61) !important;
}

.admission-home .home-route-node-light {
    color: #173f5f !important;
    background: linear-gradient(145deg, rgba(228, 239, 247, .94), rgba(194, 213, 228, .88)) !important;
    border-color: rgba(130, 176, 207, .45) !important;
}

.admission-home .home-route-node-dark {
    color: #fff !important;
    background: linear-gradient(145deg, #071a39, #0a315b 66%, #0b416b) !important;
    border-color: rgba(102, 166, 210, .28) !important;
}

.admission-home .home-route-node-other {
    color: #143b59 !important;
    background: linear-gradient(145deg, rgba(255, 253, 244, .94), rgba(240, 222, 163, .86)) !important;
    border-color: rgba(196, 156, 57, .34) !important;
}

.admission-home .home-route-logo {
    display: block !important;
    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    object-fit: contain !important;
    image-rendering: auto;
    filter: none !important;
    transform: translateZ(0);
}

.admission-home .home-route-external-icon {
    display: block !important;
    width: 62px !important;
    height: 62px !important;
    max-width: 62px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    image-rendering: auto;
    filter: none !important;
}

.admission-home .home-route-node small {
    margin-top: 2px !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .025em !important;
}

.admission-home .home-route-arrow strong {
    color: currentColor;
    opacity: .76;
    animation: homeRouteArrowPulse 1.9s ease-in-out infinite;
}

.admission-home .home-campus-number {
    display: none !important;
}

@keyframes homeRouteArrowPulse {
    0%, 100% { opacity: .62; transform: translateX(0); }
    50% { opacity: .94; transform: translateX(4px); }
}

@media (max-width: 980px) {
    .admission-home .home-photo-values.home-photo-orbit-system {
        inset: -4% -7% -3%;
    }

    .admission-home .home-route-visual {
        grid-template-columns: 94px minmax(42px, 1fr) 94px !important;
    }

    .admission-home .home-route-node {
        min-height: 100px !important;
        border-radius: 15px !important;
    }

    .admission-home .home-route-logo,
    .admission-home .home-route-external-icon {
        width: 58px !important;
        height: 58px !important;
        max-width: 58px !important;
    }
}

@media (max-width: 640px) {
    .admission-home .home-photo-values.home-photo-orbit-system {
        inset: -2% -3% 0;
    }

    .admission-home .home-orbit-anchor,
    .admission-home .home-orbit-icon {
        width: 40px;
        height: 40px;
    }

    .admission-home .home-orbit-anchor.is-top { top: -20px; left: calc(50% - 20px); }
    .admission-home .home-orbit-anchor.is-right { top: calc(50% - 20px); right: -20px; }
    .admission-home .home-orbit-anchor.is-bottom-left { bottom: -20px; }
    .admission-home .home-orbit-anchor.is-upper-right { right: -15px; }
    .admission-home .home-orbit-anchor.is-lower-right { right: -17px; }

    .admission-home .home-orbit-icon {
        border-radius: 13px;
    }

    .admission-home .home-orbit-icon img {
        width: 32px !important;
        height: 32px !important;
        max-width: 32px !important;
    }

    .admission-home .home-route-visual {
        grid-template-columns: 82px minmax(34px, 1fr) 82px !important;
        gap: 6px !important;
    }

    .admission-home .home-route-node {
        min-height: 90px !important;
        padding: 8px 5px 6px !important;
        border-radius: 13px !important;
    }

    .admission-home .home-route-logo,
    .admission-home .home-route-external-icon {
        width: 52px !important;
        height: 52px !important;
        max-width: 52px !important;
    }

    .admission-home .home-route-node small {
        font-size: 8px !important;
    }

    .admission-home .home-path-card {
        border-radius: 21px !important;
    }

    .admission-home .home-internal-geometry {
        right: -25px;
        width: 176px;
        height: 176px;
    }
}


/* v11.7 hero-stage alignment: visibly matches the approved orbit preview */
.admission-home .home-hero-visual {
    min-height: 520px;
    display: grid;
    place-items: center;
    perspective: 1100px;
    overflow: visible;
}

.admission-home .home-family-stage.home-family-stage-orbit {
    width: min(100%, 600px);
    min-height: 500px;
    aspect-ratio: 1.18 / 1;
    display: grid;
    place-items: center;
    transform-style: preserve-3d;
}

.admission-home .home-family-stage.home-family-stage-orbit::before {
    content: "";
    position: absolute;
    inset: 8% 7% 5%;
    z-index: 0;
    border-radius: 46% 54% 43% 57% / 56% 44% 56% 44%;
    background:
        radial-gradient(circle at 48% 44%, rgba(255,255,255,.98) 0 22%, rgba(208,232,252,.84) 52%, rgba(10,120,189,.14) 72%, transparent 73%),
        conic-gradient(from 50deg, rgba(10,120,189,.16), rgba(245,196,77,.15), rgba(10,120,189,.11), rgba(255,255,255,.38), rgba(10,120,189,.16));
    filter: drop-shadow(0 38px 48px rgba(9,58,101,.18));
    animation: homeStageBreathe 5.2s ease-in-out infinite;
    pointer-events: none;
}

.admission-home .home-family-stage.home-family-stage-orbit::after {
    content: "";
    position: absolute;
    left: 18%;
    right: 18%;
    bottom: 1%;
    height: 12%;
    z-index: 1;
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(4,50,88,.20), transparent 68%);
    filter: blur(10px);
    pointer-events: none;
}

.admission-home .home-family-stage.home-family-stage-orbit .home-family-halo {
    z-index: 1;
    opacity: .72;
}

.admission-home .home-family-stage.home-family-stage-orbit .home-family-photo {
    position: absolute;
    left: 50%;
    bottom: 4%;
    z-index: 6;
    width: 67%;
    max-width: 456px;
    max-height: 84%;
    object-fit: contain;
    transform: translateX(-50%) translateZ(36px);
    filter: drop-shadow(0 26px 30px rgba(5,42,78,.20));
    pointer-events: none;
    user-select: none;
}

.admission-home .home-photo-values.home-photo-orbit-system {
    inset: 1% -2% -2%;
    z-index: 9;
}

.admission-home .home-route-node {
    width: 84px !important;
    height: 84px !important;
    min-width: 84px !important;
    padding: 10px !important;
    border-radius: 16px !important;
}

.admission-home .home-route-node .home-route-logo {
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    filter: none !important;
}

.admission-home .home-route-node-light {
    background: linear-gradient(145deg, rgba(245,249,252,.92), rgba(205,224,239,.76)) !important;
    border-color: rgba(150,194,224,.48) !important;
    box-shadow: 0 12px 22px rgba(4,36,67,.12), inset 0 1px 0 rgba(255,255,255,.74) !important;
}

.admission-home .home-route-node-dark {
    background: linear-gradient(145deg, #071a3c, #0a2c5c 68%, #0b416d) !important;
    border-color: rgba(97,156,201,.25) !important;
    box-shadow: 0 12px 22px rgba(3,25,52,.18), inset 0 1px 0 rgba(255,255,255,.10) !important;
}

@keyframes homeStageBreathe {
    50% {
        transform: scale(1.025);
        filter: drop-shadow(0 45px 58px rgba(9,58,101,.21));
    }
}

@media (max-width: 1050px) {
    .admission-home .home-hero-visual { min-height: 490px; }
    .admission-home .home-family-stage.home-family-stage-orbit { min-height: 470px; }
}

@media (max-width: 640px) {
    .admission-home .home-hero-visual { min-height: 390px; }
    .admission-home .home-family-stage.home-family-stage-orbit { min-height: 380px; width: 100%; }
    .admission-home .home-photo-values.home-photo-orbit-system { inset: 2% 0 0; }
    .admission-home .home-route-node {
        width: 74px !important;
        height: 74px !important;
        min-width: 74px !important;
        padding: 8px !important;
        border-radius: 14px !important;
    }
    .admission-home .home-route-node .home-route-logo {
        width: 52px !important;
        height: 52px !important;
        max-width: 52px !important;
    }
}
