
        :root {
            --p: #c69a52;
            --pd: #a87e3a;
            --n: #14284b;
            --bg: #fffaf3;
            --t: #2b3446;
            --m: #6b7385;
            --card: #fff;
            --line: #eadfcf;
            color-scheme: light;
            box-sizing: border-box;
            padding-top: env(safe-area-inset-top, 0px);
            padding-bottom: env(safe-area-inset-bottom, 0px)
        }

        *,
        *:before,
        *:after {
            box-sizing: inherit
        }

        html {
            scroll-behavior: smooth;
            scroll-padding-top: 90px
        }

        body {
            margin: 0;
            font: 400 clamp(14px, .9vw + 11px, 16px)/1.6 Poppins, system-ui, sans-serif;
            color: var(--t);
            background: var(--bg)
        }

        a {
            color: inherit;
            text-decoration: none
        }

        :focus-visible {
            outline: 2px solid var(--p);
            outline-offset: 3px
        }

        .w {
            width: min(1560px, 100% - clamp(32px, 5vw, 112px));
            margin-inline: auto
        }

        .serif {
            font-family: 'Playfair Display', Georgia, serif;
            color: var(--n)
        }

        .eye {
            font-size: .7rem;
            letter-spacing: .3em;
            text-transform: uppercase;
            color: var(--p);
            font-weight: 600;
            margin: 0 0 8px
        }

        .hand {
            font-family: Caveat, cursive;
            font-size: clamp(1.2rem, 2.2vw, 1.9rem);
            line-height: 1.1
        }

        svg.i {
            width: 1.3em;
            height: 1.3em;
            fill: none;
            stroke: currentColor;
            stroke-width: 1.6;
            stroke-linecap: round;
            stroke-linejoin: round;
            flex: none
        }

        .btn {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 13px 26px;
            border-radius: 99px;
            font-weight: 600;
            font-size: .85rem;
            border: 1.5px solid transparent;
            cursor: pointer;
            transition: .2s
        }

        .b1 {
            background: var(--p);
            color: #fff
        }

        .b1:hover {
            background: var(--pd)
        }

        .b2 {
            border-color: var(--line);
            background: var(--card);
            color: var(--n)
        }

        .b3 {
            border-color: rgba(255, 255, 255, .4);
            color: #fff
        }

        /* topbar */
        .top {
            background: var(--n);
            color: #fff;
            font-size: .75rem
        }

        .top .w {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            padding: 8px 0
        }

        .top .c {
            margin-inline: auto;
            display: flex;
            gap: 14px;
            align-items: center
        }

        .top .c a {
            background: #fff;
            color: var(--n);
            padding: 3px 14px;
            border-radius: 99px;
            font-weight: 600
        }

        .top .r {
            display: flex;
            gap: 18px
        }

        @media(max-width:800px) {
            .top .r {
                display: none
            }
        }

        /* header */
        header.h {
            position: sticky;
            top: 0;
            z-index: 20;
            background: var(--bg);
            border-bottom: 1px solid var(--line)
        }

        header.h .w {
            display: flex;
            align-items: center;
            gap: 24px;
            height: 72px
        }

        .logo {
            display: flex;
            align-items: center;
            gap: 10px;
            line-height: 1.1
        }

        .logo img {
            height: auto;
            width: 56px;
            display: block
        }

        .logo b {
            font: 700 1.45rem/1 "Playfair Display", Georgia, serif;
            color: var(--n);
            display: block;
            letter-spacing: -.01em
        }

        .logo em {
            font-style: normal;
            color: #b9806a
        }

        .logo small {
            font-size: .6rem;
            color: var(--n);
            letter-spacing: .5em;
            margin-top: 4px;
            display: block
        }

        nav {
            display: flex;
            gap: clamp(14px, 2.2vw, 32px);
            margin-inline: auto;
            font-size: .82rem;
            font-weight: 500
        }

        nav a {
            padding: 6px 0;
            border-bottom: 2px solid transparent
        }

        nav a:hover,
        nav a.on {
            color: var(--p);
            border-color: var(--p)
        }

        .burger {
            display: none;
            background: none;
            border: 0;
            color: var(--t);
            margin-left: auto
        }

        @media(max-width:980px) {
            .burger {
                display: block
            }

            nav {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: var(--bg);
                flex-direction: column;
                padding: 16px 20px;
                gap: 4px;
                border-bottom: 1px solid var(--line)
            }

            nav.open {
                display: flex
            }

            header.h .btn {
                display: none
            }
        }

        /* hero */
        .hero {
            position: relative;
            overflow: hidden;
            background: var(--bg);
            display: flow-root;
            padding: 0
        }

        .hero .w {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: center;
            min-height: 0;
            padding-block: 48px
        }

        .hc {
            max-width: 600px
        }

        .hero h1 {
            font-size: clamp(2.4rem, 5.4vw, 4.1rem);
            line-height: 1.05;
            margin: 0 0 18px;
            color: var(--n);
            font-weight: 700
        }

        .hero h1 span {
            color: var(--p);
            display: block
        }

        .hero p.l {
            max-width: 440px;
            color: var(--m);
            margin: 0 0 26px
        }

        .cta {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
            margin-bottom: 34px
        }

        .play {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: var(--n);
            color: #fff;
            display: grid;
            place-items: center;
            font-size: .7rem
        }

        .feat {
            display: flex;
            flex-wrap: wrap;
            gap: clamp(14px, 3vw, 34px)
        }

        .feat div {
            text-align: center;
            font-size: .68rem;
            color: var(--m);
            line-height: 1.3;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 6px
        }

        .feat svg {
            width: 30px;
            height: 30px;
            color: var(--n)
        }

        .hv {
            --hr: max(24px, calc((100vw - 1560px)/2));
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: min(62%, 1000px);
            z-index: 1
        }

        .hv .art {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            display: block;
            -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 42%);
            mask-image: linear-gradient(90deg, transparent 0, #000 42%)
        }

        .hv .hand {
            position: absolute;
            top: 28px;
            right: var(--hr);
            transform: rotate(-7deg);
            color: var(--n);
            text-align: right;
            z-index: 2
        }

        .badge {
            position: absolute;
            right: var(--hr);
            bottom: 32px;
            background: var(--card);
            border-radius: 99px;
            padding: 10px 22px 10px 12px;
            display: flex;
            align-items: center;
            gap: 12px;
            box-shadow: 0 10px 30px rgba(20, 40, 75, .18);
            z-index: 2
        }

        .av {
            display: flex
        }

        .av i {
            width: 30px;
            height: 30px;
            border-radius: 50%;
            border: 2px solid #fff;
            margin-left: -8px;
            background: var(--p)
        }

        .av i:first-child {
            margin: 0;
            background: #8a5a3b
        }

        .av i:nth-child(2) {
            background: #d9a273
        }

        .badge b {
            font-size: 1.1rem;
            color: var(--n);
            display: block;
            line-height: 1
        }

        .badge small {
            font-size: .65rem;
            color: var(--m)
        }

        .art * {
            transform-box: fill-box
        }

        @media(min-width:1760px) {
            .hero .w {
                min-height: 0
            }
        }

        .cl {
            animation: dr 34s ease-in-out infinite alternate
        }

        .c2 {
            animation-duration: 46s;
            animation-direction: alternate-reverse
        }

        @keyframes dr {
            to {
                transform: translateX(90px)
            }
        }

        .sun {
            animation: pu 6s ease-in-out infinite alternate
        }

        @keyframes pu {
            from {
                opacity: .6
            }

            to {
                opacity: 1
            }
        }

        .sw {
            transform-origin: 50% 100%;
            animation: sy 6s ease-in-out infinite alternate
        }

        .s2 {
            animation-duration: 7.5s;
            animation-delay: -2s
        }

        @keyframes sy {
            from {
                transform: rotate(-1.8deg)
            }

            to {
                transform: rotate(1.8deg)
            }
        }

        .bb {
            animation: bo 3.4s ease-in-out infinite alternate
        }

        .b2 {
            animation-duration: 4s;
            animation-delay: -1s
        }

        .b3 {
            animation-duration: 3.8s;
            animation-delay: -2s
        }

        @keyframes bo {
            to {
                transform: translateY(-6px)
            }
        }

        .fl {
            animation: fa 16s linear infinite;
            opacity: 0
        }

        .f2 {
            animation-delay: -6s;
            animation-duration: 19s
        }

        .f3 {
            animation-delay: -11s;
            animation-duration: 22s
        }

        @keyframes fa {
            0% {
                transform: translate(0, -30px) rotate(0);
                opacity: 0
            }

            10% {
                opacity: .9
            }

            90% {
                opacity: .9
            }

            100% {
                transform: translate(-90px, 500px) rotate(300deg);
                opacity: 0
            }
        }

        .paused .art * {
            animation-play-state: paused
        }

        @media(prefers-reduced-motion:reduce) {
            .art * {
                animation: none !important
            }
        }

        @media(max-width:860px) {
            .hero .w {
                min-height: 0;
                padding-block: 36px 8px
            }

            .hv {
                position: relative;
                right: 0;
                width: 100%;
                height: 360px
            }

            .hv .art {
                -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 30%);
                mask-image: linear-gradient(180deg, transparent 0, #000 30%)
            }

            .hv .hand {
                display: none
            }

            .badge {
                right: 20px
            }
        }

        /* stats */
        .stats {
            background: var(--n);
            color: #fff
        }

        .stats .w {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 20px;
            padding: 28px 0
        }

        .stats div {
            display: flex;
            align-items: center;
            gap: 16px;
            padding-inline: 10px
        }

        .stats div+div {
            border-left: 1px dashed rgba(255, 255, 255, .2)
        }

        .stats svg {
            width: 42px;
            height: 42px;
            color: var(--p)
        }

        .stats b {
            font-size: 1.5rem;
            display: block;
            line-height: 1.1
        }

        .stats small {
            font-size: .75rem;
            color: #c9d2e4
        }

        @media(max-width:800px) {
            .stats .w {
                grid-template-columns: 1fr 1fr
            }

            .stats div:nth-child(3) {
                border-left: 0
            }
        }

        /* sections */
        section {
            padding: clamp(40px, 6vw, 70px) 0
        }

        .head {
            display: flex;
            justify-content: space-between;
            align-items: flex-end;
            gap: 24px;
            flex-wrap: wrap;
            margin-bottom: 26px
        }

        .head h2,
        .sec h2 {
            font-size: clamp(1.6rem, 3vw, 2.2rem);
            line-height: 1.15;
            margin: 0
        }

        .head p {
            max-width: 420px;
            color: var(--m);
            margin: 0;
            font-size: .88rem
        }

        .head a {
            font-weight: 600;
            font-size: .82rem;
            display: flex;
            gap: 8px;
            align-items: center
        }

        .grid4 {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 20px
        }

        .card {
            background: var(--card);
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 6px 22px rgba(20, 40, 75, .08);
            display: block
        }

        .card .ph {
            aspect-ratio: 16/10
        }

        .card .tx {
            padding: 14px 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 10px;
            font-size: .78rem;
            color: var(--m)
        }

        .card b {
            display: block;
            color: var(--n);
            font-size: .88rem
        }

        .arr {
            width: 28px;
            height: 28px;
            border: 1px solid var(--line);
            border-radius: 50%;
            display: grid;
            place-items: center;
            flex: none;
            color: var(--n)
        }

        .arr svg {
            width: 13px;
            height: 13px
        }

        .ph {
            position: relative;
            overflow: hidden;
            background: var(--g, #e8dcc6)
        }

        .ph svg.s {
            width: 100%;
            height: 100%;
            display: block
        }

        /* campus */
        .campus {
            padding: 0;
            background: linear-gradient(90deg, transparent 45%, #f6ead4);
            overflow: hidden
        }

        .campus .w {
            width: 100%;
            display: grid;
            grid-template-columns: 1.1fr 1fr;
            align-items: center
        }

        .cv {
            position: relative;
            min-height: 340px;
            height: 100%
        }

        .cv .hand {
            position: absolute;
            left: 20px;
            top: 40px;
            transform: rotate(-12deg);
            color: #fff;
            z-index: 2
        }

        .tour {
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            align-items: center;
            gap: 12px;
            background: rgba(20, 40, 75, .6);
            color: #fff;
            padding: 8px 20px 8px 8px;
            border-radius: 99px;
            font-size: .78rem;
            backdrop-filter: blur(4px);
            z-index: 2
        }

        .tour .play {
            width: 44px;
            height: 44px;
            background: #fff;
            color: var(--n)
        }

        .ct {
            padding: 50px clamp(20px, 5vw, 60px) 40px 40px;
            max-width: 640px
        }

        .ct p {
            color: var(--m);
            font-size: .9rem;
            margin: 10px 0 24px
        }

        .ic {
            display: flex;
            flex-wrap: wrap;
            gap: 22px
        }

        .ic div {
            text-align: center;
            font-size: .68rem;
            color: var(--m);
            width: 76px;
            line-height: 1.3;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 6px
        }

        .ic svg {
            width: 30px;
            height: 30px;
            color: var(--n)
        }

        @media(max-width:860px) {
            .campus .w {
                grid-template-columns: 1fr
            }

            .ct {
                padding: 30px 20px
            }
        }

        /* life */
        .life .w {
            display: grid;
            grid-template-columns: minmax(260px, .8fr) 2.2fr;
            gap: 32px;
            align-items: center
        }

        .life p {
            color: var(--m);
            font-size: .9rem;
            margin: 12px 0 24px
        }

        .life .grid4 {
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 14px
        }

        .life .card .ph {
            aspect-ratio: 4/3.4
        }

        @media(max-width:900px) {
            .life .w {
                grid-template-columns: 1fr
            }
        }

        /* testimonials */
        .test .w {
            display: grid;
            grid-template-columns: minmax(220px, .7fr) 3fr;
            gap: 30px;
            align-items: center
        }

        .tg {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 18px
        }

        .q {
            background: var(--card);
            border: 1px solid var(--line);
            border-radius: 10px;
            padding: 20px;
            font-size: .82rem;
            color: var(--m);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            gap: 16px
        }

        .q p {
            margin: 0
        }

        .who {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: .7rem;
            line-height: 1.3
        }

        .who b {
            display: block;
            color: var(--n);
            font-size: .78rem
        }

        .who i {
            width: 34px;
            height: 34px;
            border-radius: 50%;
            background: #d9a273;
            flex: none
        }

        .stars {
            margin-left: auto;
            color: var(--p);
            letter-spacing: 2px;
            font-size: .9rem
        }

        @media(max-width:900px) {
            .test .w {
                grid-template-columns: 1fr
            }
        }

        /* admissions */
        .adm {
            background: var(--n);
            color: #fff;
            padding: 36px 0
        }

        .adm .w {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 24px;
            flex-wrap: wrap
        }

        .adm h2 {
            color: #fff;
            font-size: clamp(1.5rem, 2.6vw, 2rem);
            margin: 0
        }

        .adm p {
            margin: 4px 0 0;
            color: #c9d2e4;
            font-size: .9rem
        }

        .adm .cta {
            margin: 0
        }

        /* footer */
        footer {
            background: var(--card);
            padding: 44px 0 0;
            font-size: .78rem;
            color: var(--m)
        }

        .fg {
            display: grid;
            grid-template-columns: 1.4fr repeat(3, 1fr) 1.5fr .9fr;
            gap: 28px
        }

        footer h4 {
            color: var(--n);
            margin: 0 0 12px;
            font-size: .8rem
        }

        footer ul {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            gap: 7px
        }

        footer li a:hover {
            color: var(--p)
        }

        .soc {
            display: flex;
            gap: 14px;
            margin-top: 16px;
            color: var(--n)
        }

        .ci {
            display: flex;
            gap: 10px;
            margin-bottom: 10px
        }

        .ci svg {
            color: var(--n);
            margin-top: 2px
        }

        .fb {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px;
            border-top: 1px solid var(--line);
            margin-top: 34px;
            padding: 16px 0;
            font-size: .72rem
        }

        .fb span {
            display: flex;
            gap: 20px
        }

        @media(max-width:1000px) {
            .fg {
                grid-template-columns: 1fr 1fr 1fr
            }

            .fg>:first-child {
                grid-column: 1/-1
            }

            .fg>:last-child {
                display: none
            }
        }

        @media(max-width:560px) {
            .fg {
                grid-template-columns: 1fr 1fr
            }
        }

        @media(prefers-reduced-motion:reduce) {
            * {
                transition: none !important;
                scroll-behavior: auto !important
            }
        }

        /* ===== motion + loading layer (additive) ===== */
        #pre {
            position: fixed;
            inset: 0;
            z-index: 100;
            display: grid;
            place-items: center;
            background: var(--bg);
            transition: opacity .5s ease, visibility .5s
        }

        html.loaded #pre,
        html:not(.js) #pre {
            opacity: 0;
            visibility: hidden
        }

        html:not(.js) #pre {
            display: none
        }

        html.js:not(.loaded) {
            overflow: hidden
        }

        .pl {
            text-align: center
        }

        .pl b {
            font: 700 2rem/1 'Playfair Display', Georgia, serif;
            color: var(--n)
        }

        .pl em {
            font-style: normal;
            color: #b9806a
        }

        .pb {
            display: block;
            width: 160px;
            height: 3px;
            margin: 18px auto 0;
            background: var(--line);
            border-radius: 9px;
            overflow: hidden
        }

        .pb i {
            display: block;
            height: 100%;
            width: 40%;
            background: var(--p);
            border-radius: 9px;
            animation: pbm 1.1s ease-in-out infinite
        }

        @keyframes pbm {
            from {
                transform: translateX(-100%)
            }

            to {
                transform: translateX(260%)
            }
        }

        #sp {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            z-index: 60;
            background: var(--p);
            transform: scaleX(0);
            transform-origin: 0 50%;
            pointer-events: none
        }

        #tt {
            position: fixed;
            right: 20px;
            bottom: calc(20px + env(safe-area-inset-bottom, 0px));
            z-index: 30;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            border: 0;
            background: var(--p);
            color: #fff;
            display: grid;
            place-items: center;
            cursor: pointer;
            box-shadow: 0 8px 22px rgba(20, 40, 75, .22);
            opacity: 0;
            visibility: hidden;
            transform: translateY(12px);
            transition: opacity .3s, transform .3s, visibility .3s
        }

        #tt.show {
            opacity: 1;
            visibility: visible;
            transform: none
        }

        #tt svg {
            transform: rotate(-90deg);
            width: 18px;
            height: 18px
        }

        header.h {
            transition: box-shadow .3s ease
        }

        header.h.sc {
            box-shadow: 0 6px 24px rgba(20, 40, 75, .09)
        }

        .stats b {
            font-variant-numeric: tabular-nums
        }

        @keyframes shim {
            to {
                background-position: -200% 0
            }
        }

        .sk {
            pointer-events: none
        }

        .sk .ph,
        .sk .tx span,
        .sk .tx b,
        .sk.q p,
        .sk .who span,
        .sk .who i {
            background-image: linear-gradient(100deg, #eee5d6 30%, #f8f2e8 50%, #eee5d6 70%) !important;
            background-size: 200% 100% !important;
            animation: shim 1.2s linear infinite
        }

        .sk .tx span,
        .sk .tx b,
        .sk.q p,
        .sk .who span,
        .sk .who i {
            color: transparent !important;
            border-radius: 4px
        }

        .sk .ph svg,
        .sk .arr,
        .sk .stars {
            visibility: hidden
        }

        @media(prefers-reduced-motion:no-preference) {
            .js .hc>* {
                opacity: 0;
                transform: translateY(18px)
            }

            .loaded .hc>* {
                opacity: 1;
                transform: none;
                transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1)
            }

            .loaded .hc>:nth-child(2) {
                transition-delay: .1s
            }

            .loaded .hc>:nth-child(3) {
                transition-delay: .2s
            }

            .loaded .hc>:nth-child(4) {
                transition-delay: .3s
            }

            .loaded .hc>:nth-child(5) {
                transition-delay: .4s
            }

            .js .hv {
                opacity: 0
            }

            .loaded .hv {
                opacity: 1;
                transition: opacity 1.2s ease .2s
            }

            .js .rv {
                opacity: 0;
                transform: translateY(22px)
            }

            .js .rv.in {
                opacity: 1;
                transform: none;
                transition: opacity .6s ease var(--d, 0s), transform .6s cubic-bezier(.2, .7, .2, 1) var(--d, 0s)
            }

            .tour .play {
                animation: pp 2.4s ease-out infinite
            }

            @keyframes pp {
                0% {
                    box-shadow: 0 0 0 0 rgba(255, 255, 255, .55)
                }

                70%,
                100% {
                    box-shadow: 0 0 0 14px rgba(255, 255, 255, 0)
                }
            }
        }

        @media(hover:hover) and (prefers-reduced-motion:no-preference) {
            .card {
                transition: transform .3s ease, box-shadow .3s ease
            }

            .card:hover {
                transform: translateY(-5px);
                box-shadow: 0 14px 34px rgba(20, 40, 75, .15)
            }

            .card .ph svg.s {
                transition: transform .6s ease
            }

            .card:hover .ph svg.s {
                transform: scale(1.06)
            }

            .arr {
                transition: background .25s, color .25s, border-color .25s
            }

            .card:hover .arr {
                background: var(--p);
                border-color: var(--p);
                color: #fff
            }

            .btn:hover {
                transform: translateY(-2px)
            }

            .b1:hover {
                box-shadow: 0 8px 20px rgba(198, 154, 82, .4)
            }

            .ic div svg,
            .feat div svg {
                transition: transform .3s ease
            }

            .ic div:hover svg,
            .feat div:hover svg {
                transform: translateY(-3px)
            }
        }

        .btn:active {
            transform: scale(.97)
        }

        /* ===== modal form + toasts (additive) ===== */
        .mo {
            position: fixed;
            inset: 0;
            z-index: 90;
            display: grid;
            place-items: center;
            padding: 20px;
            background: rgba(14, 26, 50, .55);
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
            opacity: 0;
            transition: opacity .25s ease;
            overflow-y: auto
        }

        .mo[hidden] {
            display: none
        }

        .mo.on {
            opacity: 1
        }

        .md {
            position: relative;
            width: min(600px, 100%);
            max-height: calc(100dvh - 40px);
            overflow-y: auto;
            background: var(--card);
            border-radius: 18px;
            padding: clamp(22px, 4vw, 36px);
            box-shadow: 0 30px 80px rgba(14, 26, 50, .35);
            transform: translateY(16px) scale(.98);
            transition: transform .3s cubic-bezier(.2, .7, .2, 1)
        }

        .mo.on .md {
            transform: none
        }

        .mx {
            position: absolute;
            top: 14px;
            right: 14px;
            width: 38px;
            height: 38px;
            border-radius: 50%;
            border: 1px solid var(--line);
            background: var(--card);
            color: var(--n);
            font-size: 1.4rem;
            line-height: 1;
            cursor: pointer
        }

        .mx:hover {
            background: var(--bg)
        }

        .md h2 {
            font-size: clamp(1.4rem, 3vw, 1.8rem);
            margin: 0 0 6px;
            padding-right: 36px
        }

        .msub {
            margin: 0 0 20px;
            color: var(--m);
            font-size: .86rem
        }

        .fg2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 14px
        }

        .fld {
            display: flex;
            flex-direction: column;
            gap: 5px;
            min-width: 0
        }

        .fld[hidden] {
            display: none
        }

        .fld.full {
            grid-column: 1/-1
        }

        .fld label {
            font-size: .76rem;
            font-weight: 600;
            color: var(--n)
        }

        .fld label i {
            color: #c0392b;
            font-style: normal
        }

        .fld input,
        .fld select,
        .fld textarea {
            font: inherit;
            font-size: .88rem;
            color: var(--t);
            background: var(--bg);
            border: 1.5px solid var(--line);
            border-radius: 10px;
            padding: 11px 13px;
            width: 100%;
            transition: border-color .2s, box-shadow .2s
        }

        .fld textarea {
            resize: vertical;
            min-height: 92px
        }

        .fld input:focus,
        .fld select:focus,
        .fld textarea:focus {
            outline: 0;
            border-color: var(--p);
            box-shadow: 0 0 0 3px rgba(198, 154, 82, .22)
        }

        .fld.bad input,
        .fld.bad select,
        .fld.bad textarea {
            border-color: #c0392b
        }

        .er {
            min-height: 0;
            font-size: .7rem;
            color: #c0392b
        }

        .chk {
            display: flex;
            gap: 10px;
            align-items: flex-start;
            font-size: .76rem;
            color: var(--m);
            margin: 16px 0 0;
            cursor: pointer
        }

        .chk input {
            margin-top: 3px;
            accent-color: var(--p);
            width: 16px;
            height: 16px;
            flex: none
        }

        .hp {
            position: absolute;
            left: -9999px;
            width: 1px;
            height: 1px;
            overflow: hidden
        }

        .sub {
            width: 100%;
            justify-content: center;
            margin-top: 18px
        }

        .sub .spn {
            display: none;
            width: 16px;
            height: 16px;
            border: 2px solid rgba(255, 255, 255, .5);
            border-top-color: #fff;
            border-radius: 50%;
            animation: rot .7s linear infinite
        }

        .sub.ld .spn {
            display: inline-block
        }

        .sub.ld {
            opacity: .85;
            pointer-events: none
        }

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

        .sec-note {
            display: flex;
            gap: 8px;
            align-items: center;
            justify-content: center;
            font-size: .68rem;
            color: var(--m);
            margin: 12px 0 0
        }

        #tw {
            position: fixed;
            top: calc(16px + env(safe-area-inset-top, 0px));
            right: 16px;
            z-index: 120;
            display: grid;
            gap: 10px;
            width: min(380px, calc(100vw - 32px));
            pointer-events: none
        }

        .ts {
            position: relative;
            overflow: hidden;
            pointer-events: auto;
            display: flex;
            gap: 12px;
            align-items: flex-start;
            background: var(--card);
            border-radius: 12px;
            border-left: 4px solid #2e7d5b;
            padding: 14px 38px 16px 14px;
            box-shadow: 0 14px 40px rgba(14, 26, 50, .22);
            animation: tin .35s cubic-bezier(.2, .7, .2, 1)
        }

        .ts.error {
            border-color: #c0392b
        }

        .ts.out {
            opacity: 0;
            transform: translateX(24px);
            transition: .3s
        }

        .ts .ti {
            flex: none;
            width: 26px;
            height: 26px;
            border-radius: 50%;
            display: grid;
            place-items: center;
            color: #fff;
            background: #2e7d5b;
            font-size: .85rem;
            font-weight: 700
        }

        .ts.error .ti {
            background: #c0392b
        }

        .ts strong {
            display: block;
            font-size: .86rem;
            color: var(--n)
        }

        .ts p {
            margin: 2px 0 0;
            font-size: .78rem;
            color: var(--m);
            line-height: 1.45
        }

        .ts .tc {
            position: absolute;
            top: 8px;
            right: 8px;
            width: 26px;
            height: 26px;
            border: 0;
            background: none;
            color: var(--m);
            font-size: 1.1rem;
            cursor: pointer;
            border-radius: 50%
        }

        .ts .tp {
            position: absolute;
            left: 0;
            bottom: 0;
            height: 3px;
            width: 100%;
            background: #2e7d5b;
            transform-origin: 0 50%;
            animation: tpg 5.5s linear forwards
        }

        .ts.error .tp {
            background: #c0392b
        }

        @keyframes tin {
            from {
                opacity: 0;
                transform: translateX(30px)
            }

            to {
                opacity: 1;
                transform: none
            }
        }

        @keyframes tpg {
            to {
                transform: scaleX(0)
            }
        }

        @media(max-width:520px) {
            .fg2 {
                grid-template-columns: 1fr
            }

            #tw {
                right: 16px;
                left: 16px;
                width: auto
            }
        }

        @media(prefers-reduced-motion:reduce) {

            .mo,
            .md,
            .ts {
                animation: none !important;
                transition: none !important
            }

            .ts .tp {
                animation: none
            }
        }

        /* ===== about section (additive) ===== */
        .about {
            background: #fff
        }

        .ab-top {
            display: grid;
            grid-template-columns: 1.05fr 1fr;
            gap: clamp(24px, 4vw, 64px);
            align-items: center
        }

        .ab-top p {
            color: var(--m);
            font-size: .92rem;
            margin: 14px 0 0;
            max-width: 560px
        }

        .facts {
            display: flex;
            flex-wrap: wrap;
            gap: clamp(20px, 4vw, 48px);
            margin-top: 28px
        }

        .facts div {
            line-height: 1.3;
            font-size: .76rem;
            color: var(--m)
        }

        .facts b {
            display: block;
            font: 700 1.9rem/1.1 'Playfair Display', Georgia, serif;
            color: var(--p)
        }

        .ab-img {
            border-radius: 16px;
            aspect-ratio: 4/3;
            box-shadow: 0 14px 40px rgba(20, 40, 75, .14)
        }

        .est {
            position: absolute;
            left: 16px;
            bottom: 16px;
            z-index: 2;
            background: #fff;
            color: var(--n);
            border-radius: 99px;
            padding: 8px 18px;
            font-size: .76rem;
            font-weight: 600;
            box-shadow: 0 8px 22px rgba(20, 40, 75, .18)
        }

        .mv {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 20px;
            margin-top: 44px
        }

        .mvc {
            background: var(--bg);
            border-radius: 14px;
            padding: clamp(22px, 3vw, 32px);
            border-top: 3px solid var(--p);
            box-shadow: 0 6px 22px rgba(20, 40, 75, .07)
        }

        .mvc .ico {
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: var(--p);
            color: #fff;
            display: grid;
            place-items: center;
            margin-bottom: 14px
        }

        .mvc .ico svg {
            width: 24px;
            height: 24px
        }

        .mvc h3 {
            margin: 0 0 8px;
            font-size: 1.3rem
        }

        .mvc p {
            margin: 0;
            color: var(--m);
            font-size: .88rem
        }

        .ab-h {
            font-size: 1.4rem;
            margin: 44px 0 0
        }

        .vals {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
            gap: 16px;
            margin-top: 18px
        }

        .val {
            display: flex;
            gap: 14px;
            align-items: flex-start;
            padding: 18px;
            border: 1px solid var(--line);
            border-radius: 12px;
            background: var(--bg);
            font-size: .78rem;
            color: var(--m);
            line-height: 1.5
        }

        .val svg {
            width: 28px;
            height: 28px;
            color: var(--p);
            margin-top: 2px
        }

        .val b {
            display: block;
            color: var(--n);
            font-size: .9rem;
            margin-bottom: 2px
        }

        .pq {
            margin-top: 36px;
            display: grid;
            gap: 14px;
            padding: clamp(22px, 3vw, 32px);
            border-radius: 14px;
            background: var(--n);
            color: #fff
        }

        .pq p {
            margin: 0;
            font: 600 clamp(1.05rem, 2vw, 1.35rem)/1.5 'Playfair Display', Georgia, serif
        }

        .pq .who {
            color: #c9d2e4
        }

        .pq .who b {
            color: #fff
        }

        @media(max-width:860px) {
            .ab-top {
                grid-template-columns: 1fr
            }
        }

        @media(hover:hover) and (prefers-reduced-motion:no-preference) {

            .mvc,
            .val {
                transition: transform .3s ease, box-shadow .3s ease
            }

            .mvc:hover,
            .val:hover {
                transform: translateY(-4px);
                box-shadow: 0 14px 34px rgba(20, 40, 75, .13)
            }
        }

        .mv {
            gap: 24px
        }

        .mv .mvc {
            position: relative;
            overflow: hidden;
            isolation: isolate;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 16px;
            border: 0;
            border-radius: 22px;
            padding: clamp(26px, 3.4vw, 42px);
            min-height: 300px
        }

        .mv .mvc::before {
            content: "";
            position: absolute;
            z-index: -1;
            width: 320px;
            height: 320px;
            right: -110px;
            top: -130px;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(198, 154, 82, .4), transparent 70%)
        }

        .mv .mis {
            background: linear-gradient(140deg, #14284b 0, #1f3d70 100%);
            color: #fff;
            box-shadow: 0 18px 44px rgba(20, 40, 75, .28)
        }

        .mv .vis {
            background: linear-gradient(140deg, #fcf6ea 0, #f0dfbb 100%);
            color: var(--n);
            box-shadow: 0 18px 44px rgba(198, 154, 82, .25)
        }

        .mv .mvc .wm {
            position: absolute;
            z-index: -1;
            right: -14px;
            bottom: -26px;
            width: 200px;
            height: 200px;
            opacity: .09;
            stroke-width: .9
        }

        .mv .tg {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            padding: 6px 16px 6px 6px;
            border-radius: 99px;
            font-size: .7rem;
            font-weight: 600;
            letter-spacing: .14em;
            text-transform: uppercase
        }

        .mv .tg svg {
            width: 30px;
            height: 30px;
            padding: 6px;
            border-radius: 50%;
            background: var(--p);
            color: #fff;
            stroke-width: 1.8
        }

        .mv .mis .tg {
            background: rgba(255, 255, 255, .1);
            color: #ecd3a1
        }

        .mv .vis .tg {
            background: rgba(20, 40, 75, .07);
            color: var(--n)
        }

        .mv .mvc h3 {
            margin: 0;
            font-size: clamp(1.4rem, 2.4vw, 1.9rem);
            line-height: 1.25;
            max-width: 20ch
        }

        .mv .mis h3 {
            color: #fff
        }

        .mv .mvc p {
            margin: 0;
            max-width: 46ch;
            font-size: .9rem
        }

        .mv .mis p {
            color: #cfd8ea
        }

        .mv .vis p {
            color: #5a4a2c
        }

        .chp {
            list-style: none;
            margin: auto 0 0;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            padding-top: 6px
        }

        .chp li {
            padding: 6px 14px;
            border-radius: 99px;
            font-size: .74rem;
            font-weight: 500;
            border: 1px solid
        }

        .mis .chp li {
            background: rgba(255, 255, 255, .08);
            border-color: rgba(255, 255, 255, .22);
            color: #fff
        }

        .vis .chp li {
            background: rgba(255, 255, 255, .7);
            border-color: rgba(198, 154, 82, .55);
            color: var(--n)
        }

        @media(hover:hover) and (prefers-reduced-motion:no-preference) {
            .mv .mvc .wm {
                transition: transform .6s ease
            }

            .mv .mvc:hover .wm {
                transform: rotate(-8deg) scale(1.06)
            }
        }

        /* ===== program detail modal (additive) ===== */
        .pmd {
            width: min(720px, 100%);
            padding: 0
        }

        .pmd .pv {
            aspect-ratio: 16/7;
            border-radius: 0;
            background: var(--g, #e8dcc6)
        }

        .pmd .pv svg {
            width: 100%;
            height: 100%;
            display: block
        }

        .pbody {
            padding: clamp(22px, 4vw, 36px);
            transition: opacity .15s ease
        }

        .pbody.sw {
            opacity: 0
        }

        .pbody h2 {
            margin: 0 0 8px;
            font-size: clamp(1.5rem, 3vw, 2rem);
            padding: 0
        }

        .pf {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 12px;
            margin: 18px 0 4px
        }

        .pf div {
            background: var(--bg);
            border: 1px solid var(--line);
            border-radius: 12px;
            padding: 12px 14px;
            font-size: .7rem;
            color: var(--m)
        }

        .pf b {
            display: block;
            color: var(--n);
            font-size: .92rem;
            margin-top: 2px
        }

        .pbody h4 {
            margin: 22px 0 12px;
            font-size: .9rem;
            color: var(--n)
        }

        .pl2 {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px 18px;
            font-size: .84rem
        }

        .pl2 li {
            display: flex;
            gap: 10px;
            align-items: center
        }

        .pl2 li::before {
            content: "\2713";
            flex: none;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: rgba(198, 154, 82, .2);
            color: var(--pd);
            display: grid;
            place-items: center;
            font-size: .7rem;
            font-weight: 700
        }

        .pa {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
            margin-top: 26px
        }

        @media(max-width:520px) {
            .pl2 {
                grid-template-columns: 1fr
            }

            .pf {
                gap: 8px
            }

            .pf div {
                padding: 10px
            }

            .pmd .pv {
                aspect-ratio: 16/9
            }
        }

        /* Replace these labeled blocks with licensed, optimized photos when ready. */
        .image-placeholder {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 10px;
            width: 100%;
            height: 100%;
            min-height: 140px;
            padding: 22px;
            text-align: center;
            overflow: hidden;
            color: var(--n);
            background: linear-gradient(135deg, #f7f0e5, #e7edf3);
            border: 1px dashed rgba(20, 40, 75, .28)
        }

        .image-placeholder:before,
        .image-placeholder:after {
            content: "";
            position: absolute;
            border-radius: 50%;
            pointer-events: none;
            background: rgba(198, 154, 82, .12)
        }

        .image-placeholder:before {
            width: 150px;
            height: 150px;
            right: -38px;
            top: -50px
        }

        .image-placeholder:after {
            width: 100px;
            height: 100px;
            left: -28px;
            bottom: -42px;
            background: rgba(20, 40, 75, .06)
        }

        .image-placeholder .placeholder-icon {
            position: relative;
            z-index: 1;
            display: grid;
            place-items: center;
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: rgba(255, 255, 255, .78);
            border: 1px solid rgba(20, 40, 75, .12);
            font-size: 22px
        }

        .image-placeholder .placeholder-title {
            position: relative;
            z-index: 1;
            font-size: .82rem;
            font-weight: 600;
            letter-spacing: .01em
        }

        .image-placeholder .placeholder-note {
            position: relative;
            z-index: 1;
            max-width: 250px;
            font-size: .68rem;
            line-height: 1.5;
            color: var(--m)
        }

        .hv .hero-image-placeholder {
            position: absolute;
            inset: 0;
            min-height: 100%;
            border: 0;
            border-radius: 0;
            background: linear-gradient(135deg, #f6ead4 0%, #e5edf4 55%, #d8e4dd 100%);
            -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 42%);
            mask-image: linear-gradient(90deg, transparent 0, #000 42%)
        }

        .card .ph .image-placeholder {
            min-height: 100%;
            aspect-ratio: 16/10
        }

        .ab-img .image-placeholder {
            min-height: 100%;
            aspect-ratio: 4/3;
            border: 0;
            border-radius: 16px
        }

        .cv .image-placeholder {
            position: absolute;
            inset: 0;
            min-height: 100%;
            border: 0;
            background: linear-gradient(135deg, #dbe7ed, #f3e5cc 58%, #d6e2d9)
        }

        @media(max-width:700px) {
            .hv .hero-image-placeholder {
                mask-image: none;
                -webkit-mask-image: none
            }

            .image-placeholder {
                padding: 16px
            }

            .image-placeholder .placeholder-note {
                font-size: .65rem
            }
        }

        .logo-mark {
            display: grid;
            place-items: center;
            flex: none;
            width: 48px;
            height: 48px;
            border-radius: 14px;
            background: var(--n);
            color: var(--p);
            font-size: 27px;
            line-height: 1
        }

        .footer-brand .logo-mark {
            width: 42px;
            height: 42px
        }

        /* Locally hosted, high-resolution AI-generated WebP photos */
        .generated-photo {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center
        }

        .hv .generated-photo {
            position: absolute;
            inset: 0;
            object-fit: cover;
            object-position: 52% center
        }

        /* The hero image already has a naturally light left side; a short fade keeps text readable without hiding the students. */
        .hv .generated-photo.hero-image-placeholder {
            -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, .16) 0%, #000 22%);
            mask-image: linear-gradient(90deg, rgba(0, 0, 0, .16) 0%, #000 22%)
        }

        .card .ph {
            overflow: hidden;
            aspect-ratio: 3/2
        }

        .card .ph>.generated-photo {
            width: 100%;
            height: 100%;
            aspect-ratio: 3/2;
            object-fit: cover;
            object-position: center;
            transition: transform .35s ease
        }

        .card:hover .ph>.generated-photo {
            transform: scale(1.025)
        }

        .cv>.campus-photo {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            min-height: 100%;
            object-fit: cover;
            object-position: center
        }

        .ab-img>.about-photo {
            width: 100%;
            height: 100%;
            min-height: 100%;
            aspect-ratio: 4/3;
            border-radius: 16px;
            object-fit: cover;
            object-position: center
        }

        @media(max-width:860px) {
            .hero {
                display: flex;
                flex-direction: column
            }

            .hero .w {
                width: 100%;
                padding-block: 34px 20px
            }

            .hc {
                max-width: 100%;
                width: 100%
            }

            .hv {
                position: relative;
                right: auto;
                top: auto;
                bottom: auto;
                width: 100%;
                height: clamp(240px, 58vw, 420px);
                flex: none;
                overflow: hidden
            }

            .hv .generated-photo.hero-image-placeholder {
                -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, .04) 0%, #000 14%);
                mask-image: linear-gradient(180deg, rgba(0, 0, 0, .04) 0%, #000 14%);
                object-position: 58% center
            }

            .hv .hand {
                display: none
            }

            .badge {
                right: 16px;
                bottom: 16px
            }
        }

        @media(max-width:560px) {
            .hero .w {
                padding-block: 28px 18px
            }

            .hero h1 {
                font-size: clamp(2.25rem, 10vw, 3.25rem)
            }

            .cta {
                gap: 10px;
                margin-bottom: 24px
            }

            .feat {
                justify-content: space-between;
                gap: 12px
            }

            .feat div {
                flex: 1;
                min-width: 64px;
                font-size: .62rem
            }

            .hv {
                height: clamp(220px, 68vw, 330px)
            }

            .hv .generated-photo.hero-image-placeholder {
                -webkit-mask-image: none;
                mask-image: none;
                object-position: 58% center
            }

            .badge {
                padding: 8px 14px 8px 10px;
                gap: 8px
            }

            .badge b {
                font-size: 1rem
            }
        }

        @media(prefers-reduced-motion:reduce) {
            .card .ph>.generated-photo {
                transition: none
            }
        }


        /* Official brand identity */
        .brand-logo {
            display: inline-flex;
            align-items: center;
            flex: none;
            min-width: 0
        }

        .brand-logo img {
            display: block;
            width: 170px;
            height: 70px;
            max-width: 100%;
            object-fit: contain;
            object-position: left center
        }

        .footer-brand .brand-logo img,
        footer .brand-logo img {
            width: 160px;
            height: 76px
        }

        @media(max-width:700px) {
            .brand-logo img {
                width: 132px;
                height: 58px
            }
        }

        @media(max-width:380px) {
            .brand-logo img {
                width: 112px;
                height: 50px
            }
        }

        /* Keep subjects visible on all screens; fade is part of source artwork. */
        .hv .generated-photo.hero-image-placeholder {
            object-position: 50% 50%;
            mask-image: none;
            -webkit-mask-image: none
        }

        @media(max-width:860px) {
            .hv .generated-photo.hero-image-placeholder {
                object-position: 65% center;
                mask-image: none;
                -webkit-mask-image: none
            }
        }

        @media(max-width:560px) {
            .hv .generated-photo.hero-image-placeholder {
                object-position: 67% center
            }
        }

        /* Final responsive hero: artwork covers the canvas, not a narrow right column. */
        @media (min-width:861px) {
            .hero {
                min-height: clamp(510px, 36vw, 670px);
                display: flex;
                align-items: center
            }

            .hero .w {
                width: min(100% - 48px, 1240px);
                min-height: inherit;
                padding-block: 55px;
                align-items: center
            }

            .hero .hc {
                width: 44%;
                max-width: 520px;
                position: relative;
                z-index: 3
            }

            .hero h1 {
                font-size: clamp(3.15rem, 4.4vw, 5.1rem)
            }

            .hero p.l {
                max-width: 490px
            }

            .hero .hv {
                width: 73%;
                max-width: none;
                right: 0;
                top: 0;
                bottom: 0
            }

            .hero .hv .generated-photo.hero-image-placeholder {
                object-position: 56% 48%;
                mask-image: none;
                -webkit-mask-image: none
            }

            .hero:after {
                content: "";
                position: absolute;
                inset: 0;
                pointer-events: none;
                z-index: 1;
                background: linear-gradient(90deg, var(--bg) 0%, var(--bg) 24%, rgba(255, 250, 243, .92) 33%, rgba(255, 250, 243, .36) 48%, transparent 65%)
            }

            .hero .hv .hand,
            .hero .hv .badge {
                z-index: 3
            }
        }

        @media(min-width:1500px) {
            .hero .w {
                width: min(100% - 80px, 1450px)
            }

            .hero .hc {
                width: 42%
            }

            .hero .hv {
                width: 71%
            }
        }

        @media(min-width:861px) and (max-width:1100px) {
            .hero .hc {
                width: 49%
            }

            .hero .hv {
                width: 70%
            }

            .hero h1 {
                font-size: clamp(2.8rem, 4.7vw, 4rem)
            }
        }

        @media(max-width:860px) {
            .hero .w {
                padding-block: 40px 16px
            }

            .hero .hv {
                height: clamp(260px, 54vw, 440px)
            }

            .hero .hv .generated-photo.hero-image-placeholder {
                object-position: 62% center
            }

            .hero .hc {
                max-width: 660px;
                margin-inline: auto
            }

            .hero .badge {
                bottom: 12px
            }
        }

        @media(max-width:560px) {
            .hero .w {
                padding-block: 28px 14px
            }

            .hero .hv {
                height: clamp(240px, 68vw, 350px)
            }

            .hero .hv .generated-photo.hero-image-placeholder {
                object-position: 63% center
            }

            .hero .hand {
                display: none
            }

            .hero .feat {
                gap: 10px
            }
        }

        .brand-logo img {
            width: 70px !important;
            height: 68px !important;
            object-fit: contain !important
        }

        @media(max-width:700px) {
            .brand-logo img {
                width: 54px !important;
                height: 54px !important
            }
        }

        .campus-disclaimer {
            position: absolute;
            bottom: 12px;
            left: 14px;
            background: rgba(10, 29, 52, .75);
            color: #fff;
            font-size: 11px;
            padding: 5px 9px;
            border-radius: 4px;
            z-index: 3
        }

        .cv {
            overflow: hidden
        }

        .cv>.campus-photo {
            object-position: 50% center
        }

        .ab-img>.about-photo {
            object-position: center 34%
        }

        @media(prefers-reduced-motion:reduce) {

            *,
            *:before,
            *:after {
                scroll-behavior: auto !important
            }
        }
    
/* Mobile photo uses a dedicated crop without the desktop's baked-in left fade. */
@media (max-width: 860px) {
  .hero .hv .generated-photo.hero-image-placeholder {
    -webkit-mask-image: none !important; mask-image: none !important;
    object-position: 50% 50% !important;
  }
  .hero .hv { background: #f8f4ed; }
}
