/* =========================================================
   DEHRADUN PUBLIC SCHOOL
   CAMPUS & LIFE
========================================================= */

.dps-campus-page {

    --campus-navy: #062a3d;
    --campus-navy-dark: #041f2f;
    --campus-gold: #d7a84f;
    --campus-gold-light: #ebcb80;

    --campus-text: #203a4a;
    --campus-muted: #697c85;
    --campus-border: #e7e5dc;
    --campus-cream: #faf9f4;

    background: #fff;

    color: var(--campus-text);

    overflow: hidden;
}

.dps-campus-page *,
.dps-campus-page *::before,
.dps-campus-page *::after {
    box-sizing: border-box;
}

.dps-campus-page img {
    display: block;
}

.dps-campus-page .dps-container {

    width:
        min(
            calc(100% - 90px),
            1440px
        );

    margin: 0 auto;
}

.dps-campus-section {
    padding: 55px 0;
}


/* =========================================================
   HERO
========================================================= */

.dps-campus-hero {

    min-height: 360px;

    position: relative;

    display: flex;

    align-items: center;

    overflow: hidden;

    perspective: 1200px;

    background: var(--campus-navy);
}

.dps-campus-hero-image {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transform:
        scale(1.05)
        translateZ(0);

    animation:
        campusHeroZoom
        14s
        ease-in-out
        infinite alternate;

    will-change: transform;
}

.dps-campus-hero-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(2,25,37,.90) 0%,
            rgba(2,25,37,.65) 43%,
            rgba(2,25,37,.10) 100%
        );

    z-index: 1;
}

.dps-campus-hero-inner {

    min-height: 360px;

    position: relative;

    z-index: 3;

    display: flex;

    align-items: flex-start;

    justify-content: center;

    flex-direction: column;
}

.dps-campus-breadcrumb {

    position: absolute;

    top: 29px;
    left: 0;

    display: flex;

    gap: 8px;

    align-items: center;

    color: rgba(255,255,255,.7);

    font-size: 8px;
}

.dps-campus-breadcrumb a {

    color: #fff;

    text-decoration: none;
}

.dps-campus-hero-content {

    max-width: 680px;

    padding-top: 18px;
}

.dps-campus-hero h1 {

    margin: 0;

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(
        45px,
        6vw,
        68px
    );

    font-weight: 400;

    line-height: .98;

    text-shadow:
        0 5px 25px rgba(0,0,0,.25);
}

.dps-campus-hero h2 {

    margin: 14px 0 0;

    max-width: 570px;

    color: #fff;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: 20px;

    font-weight: 400;

    line-height: 1.3;
}

.dps-campus-hero p {

    max-width: 560px;

    margin: 11px 0 0;

    color: rgba(255,255,255,.9);

    font-size: 10px;

    line-height: 1.65;
}

.dps-campus-hero-buttons {

    display: flex;

    flex-wrap: wrap;

    gap: 11px;
}

.dps-campus-gold-btn,
.dps-campus-outline-btn {

    min-height: 40px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    margin-top: 17px;

    padding: 10px 18px;

    font-size: 8px;

    font-weight: 700;

    text-decoration: none;

    transition:
        transform .35s cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease,
        background .35s ease;
}

.dps-campus-gold-btn {

    background: var(--campus-gold);

    color: #102b3b;
}

.dps-campus-gold-btn:hover {

    transform:
        translateY(-5px)
        translateZ(12px);

    background: var(--campus-gold-light);

    box-shadow:
        0 15px 30px rgba(0,0,0,.20);
}

.dps-campus-outline-btn {

    border: 1px solid rgba(255,255,255,.65);

    color: #fff;

    background: rgba(0,0,0,.08);
}

.dps-campus-outline-btn:hover {

    transform:
        translateY(-5px)
        translateZ(10px);

    background: rgba(255,255,255,.12);

    box-shadow:
        0 12px 25px rgba(0,0,0,.15);
}

.dps-campus-hero-script {

    position: absolute;

    right: 2%;

    bottom: 39px;

    display: flex;

    flex-direction: column;

    color: rgba(255,255,255,.9);

    font-family: Georgia, serif;

    font-size: 17px;

    font-style: italic;

    line-height: 1.05;

    transform:
        rotate(-7deg)
        translateZ(50px);

    text-shadow:
        0 5px 20px rgba(0,0,0,.25);
}

.dps-campus-hero-script span:nth-child(2) {

    margin-left: 10px;
}

.dps-campus-hero-script span:nth-child(3) {

    margin-left: 18px;
}

@keyframes campusHeroZoom {

    0% {
        transform:
            scale(1.05)
            translate3d(0,0,0);
    }

    100% {
        transform:
            scale(1.13)
            translate3d(-8px,-5px,0);
    }

}


/* =========================================================
   FLOATING HERO PARTICLES
========================================================= */

.dps-campus-hero-particles {

    position: absolute;

    inset: 0;

    z-index: 2;

    pointer-events: none;
}

.dps-campus-hero-particles span {

    position: absolute;

    width: 4px;
    height: 4px;

    border-radius: 50%;

    background: rgba(255,255,255,.35);

    animation:
        campusParticle
        6s
        ease-in-out
        infinite;
}

.dps-campus-hero-particles span:nth-child(1) {

    left: 52%;
    top: 32%;
}

.dps-campus-hero-particles span:nth-child(2) {

    left: 73%;
    top: 60%;

    animation-delay: 1.4s;
}

.dps-campus-hero-particles span:nth-child(3) {

    left: 85%;
    top: 28%;

    animation-delay: 2.4s;
}

@keyframes campusParticle {

    0%,
    100% {
        transform:
            translate3d(0,0,0)
            scale(1);

        opacity: .25;
    }

    50% {
        transform:
            translate3d(0,-20px,25px)
            scale(1.8);

        opacity: .8;
    }

}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.dps-campus-highlights {

    background: #fff;

    border-bottom:
        1px solid var(--campus-border);

    box-shadow:
        0 5px 20px rgba(0,0,0,.025);
}

.dps-campus-highlight-grid {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);
}

.dps-campus-highlight {

    min-height: 70px;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    padding: 10px;

    border-right:
        1px solid var(--campus-border);

    transition:
        transform .3s ease,
        background .3s ease;
}

.dps-campus-highlight:last-child {
    border-right: 0;
}

.dps-campus-highlight:hover {

    background: #fcfaf3;

    transform:
        translateY(-4px)
        translateZ(10px);
}

.dps-campus-highlight-icon {

    color: var(--campus-gold);

    font-size: 23px;

    line-height: 1;
}

.dps-campus-highlight strong {

    display: block;

    color: var(--campus-navy);

    font-family: Georgia, serif;

    font-size: 9px;

    font-weight: 600;
}

.dps-campus-highlight span {

    display: block;

    margin-top: 3px;

    color: var(--campus-muted);

    font-size: 6px;
}


/* =========================================================
   SECTION LABELS
========================================================= */

.dps-campus-label {

    display: block;

    margin-bottom: 7px;

    color: #a77c30;

    font-size: 8px;

    font-weight: 700;

    letter-spacing: 2px;
}

.dps-campus-section-heading {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    gap: 25px;

    margin-bottom: 22px;
}

.dps-campus-section-heading h2 {

    margin: 0;

    color: var(--campus-navy);

    font-family: Georgia, serif;

    font-size: 28px;

    font-weight: 500;
}

.dps-campus-text-link {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    color: #927036;

    text-decoration: none;

    font-size: 8px;

    white-space: nowrap;

    transition:
        gap .3s ease;
}

.dps-campus-text-link:hover {
    gap: 12px;
}


/* =========================================================
   EXPLORE CAMPUS
========================================================= */

.dps-campus-explore {

    background: #fff;
}

.dps-campus-explore-grid {

    display: grid;

    grid-template-columns:
        .78fr
        1.35fr;

    gap: 55px;

    align-items: center;
}

.dps-campus-explore-content h2 {

    margin: 0;

    color: var(--campus-navy);

    font-family: Georgia, serif;

    font-size: clamp(
        30px,
        3.5vw,
        42px
    );

    font-weight: 500;

    line-height: 1.02;
}

.dps-campus-explore-content p {

    max-width: 430px;

    margin: 14px 0 0;

    color: var(--campus-muted);

    font-size: 9px;

    line-height: 1.7;
}


/* =========================================================
   3D TOUR CARD
========================================================= */

.dps-campus-tour-card {

    min-height: 270px;

    position: relative;

    overflow: hidden;

    border-radius: 3px;

    background: #052b3e;

    transform-style: preserve-3d;

    perspective: 1200px;

    box-shadow:
        0 15px 35px rgba(3,34,49,.12);

    will-change: transform;
}

.dps-campus-tour-card img {

    width: 100%;
    height: 100%;

    min-height: 270px;

    object-fit: cover;

    transition:
        transform .7s ease;
}

.dps-campus-tour-card:hover img {

    transform:
        scale(1.08)
        translateZ(15px);
}

.dps-campus-tour-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgba(0,0,0,.7)
        );
}

.dps-campus-play {

    position: absolute;

    left: 50%;
    top: 50%;

    width: 55px;
    height: 55px;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 0;

    border-radius: 50%;

    background: #fff;

    color: var(--campus-navy);

    cursor: pointer;

    transform:
        translate(-50%,-50%)
        translateZ(45px);

    box-shadow:
        0 12px 35px rgba(0,0,0,.25);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.dps-campus-play span {

    margin-left: 3px;

    font-size: 14px;
}

.dps-campus-tour-card:hover
.dps-campus-play {

    transform:
        translate(-50%,-50%)
        translateZ(70px)
        scale(1.12);

    box-shadow:
        0 20px 45px rgba(0,0,0,.3);
}

.dps-campus-tour-title {

    position: absolute;

    left: 50%;
    bottom: 24px;

    color: #fff;

    font-family: Georgia, serif;

    font-size: 13px;

    transform:
        translateX(-50%)
        translateZ(40px);
}


/* =========================================================
   FACILITIES
========================================================= */

.dps-campus-facilities {

    background: #faf9f5;
}

.dps-facility-grid {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;

    perspective: 1200px;
}

.dps-facility-card {

    overflow: hidden;

    background: #fff;

    border:
        1px solid #e7e5de;

    transform-style: preserve-3d;

    transition:
        box-shadow .35s ease;

    will-change: transform;
}

.dps-facility-card:hover {

    box-shadow:
        0 22px 45px rgba(4,35,50,.14);
}

.dps-facility-image {

    height: 128px;

    overflow: hidden;

    transform: translateZ(8px);
}

.dps-facility-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease;
}

.dps-facility-card:hover
.dps-facility-image img {

    transform: scale(1.1);
}

.dps-facility-body {

    padding: 10px 11px 13px;

    transform: translateZ(15px);
}

.dps-facility-body h3 {

    margin: 0;

    color: var(--campus-navy);

    font-family: Georgia, serif;

    font-size: 10px;
}

.dps-facility-body p {

    min-height: 34px;

    margin: 5px 0 0;

    color: var(--campus-muted);

    font-size: 7px;

    line-height: 1.45;
}


/* =========================================================
   STUDENT LIFE
========================================================= */

.dps-student-life {

    padding: 28px 0;

    background:
        linear-gradient(
            135deg,
            #062b3e,
            #041f30
        );

    color: #fff;
}

.dps-student-life-grid {

    display: grid;

    grid-template-columns:
        .78fr
        1.55fr;

    gap: 30px;

    align-items: center;
}

.dps-student-life-content h2 {

    margin: 0;

    color: #fff;

    font-family: Georgia, serif;

    font-size: 32px;

    font-weight: 400;
}

.dps-student-life-content h3 {

    margin: 5px 0 0;

    color: var(--campus-gold-light);

    font-family: Georgia, serif;

    font-size: 13px;

    font-weight: 400;
}

.dps-student-life-content p {

    max-width: 330px;

    margin: 10px 0 0;

    color: #bdcbd1;

    font-size: 8px;

    line-height: 1.65;
}

.dps-student-cards {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 10px;

    perspective: 1400px;
}

.dps-student-card {

    height: 145px;

    position: relative;

    overflow: hidden;

    border:
        1px solid rgba(255,255,255,.16);

    transform-style: preserve-3d;

    transition:
        box-shadow .35s ease;
}

.dps-student-card:hover {

    box-shadow:
        0 25px 45px rgba(0,0,0,.25);
}

.dps-student-card > img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease;
}

.dps-student-card:hover > img {

    transform:
        scale(1.1)
        translateZ(15px);
}

.dps-student-card-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            transparent 30%,
            rgba(2,20,31,.9)
        );
}

.dps-student-card-content {

    position: absolute;

    left: 11px;
    right: 11px;
    bottom: 11px;

    transform:
        translateZ(35px);
}

.dps-student-card-content h3 {

    margin: 0;

    color: #fff;

    font-family: Georgia, serif;

    font-size: 9px;

    font-weight: 400;
}

.dps-student-card-content span {

    display: block;

    margin-top: 3px;

    color: #c9d4d8;

    font-size: 6px;
}


/* =========================================================
   LIFE BEYOND
========================================================= */

.dps-life-beyond {

    background: #fff;
}

.dps-beyond-grid {

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;
}

.dps-beyond-card {

    overflow: hidden;

    transition:
        transform .35s ease;
}

.dps-beyond-card:hover {

    transform:
        translateY(-6px);
}

.dps-beyond-image {

    height: 105px;

    overflow: hidden;

    border-radius: 2px;
}

.dps-beyond-image img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease;
}

.dps-beyond-card:hover
.dps-beyond-image img {

    transform: scale(1.09);
}

.dps-beyond-card h3 {

    margin: 8px 0 0;

    color: var(--campus-navy);

    font-family: Georgia, serif;

    font-size: 9px;
}

.dps-beyond-card p {

    margin: 3px 0 0;

    color: var(--campus-muted);

    font-size: 7px;

    line-height: 1.4;
}


/* =========================================================
   SERVICES
========================================================= */

.dps-campus-services {

    padding: 0 0 45px;

    background: #fff;
}

.dps-services-grid {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 13px;
}

.dps-service-card {

    min-height: 130px;

    display: grid;

    grid-template-columns:
        1fr
        45%;

    overflow: hidden;

    background: #f8f7f2;

    border:
        1px solid #e7e5dd;

    transform-style: preserve-3d;
}

.dps-service-content {

    padding: 15px;

    transform: translateZ(15px);
}

.dps-service-content .dps-campus-label {

    margin-bottom: 3px;

    font-size: 6px;
}

.dps-service-content h3 {

    margin: 0;

    color: var(--campus-navy);

    font-family: Georgia, serif;

    font-size: 14px;

    font-weight: 500;
}

.dps-service-content p {

    margin: 5px 0;

    color: var(--campus-muted);

    font-size: 7px;

    line-height: 1.5;
}

.dps-service-content a {

    color: #977032;

    text-decoration: none;

    font-size: 7px;
}

.dps-service-card > img {

    width: 100%;
    height: 100%;

    min-height: 130px;

    object-fit: cover;

    transition:
        transform .7s ease;
}

.dps-service-card:hover > img {

    transform:
        scale(1.09)
        translateZ(10px);
}


/* =========================================================
   TESTIMONIALS
========================================================= */

.dps-campus-testimonials {

    padding: 30px 0;

    background: #faf9f4;
}

.dps-testimonial-grid {

    display: grid;

    grid-template-columns:
        1fr
        1fr;

    gap: 35px;
}

.dps-testimonial-column {

    min-width: 0;
}

.dps-testimonial-column h2 {

    margin: 0 0 12px;

    color: var(--campus-navy);

    font-family: Georgia, serif;

    font-size: 18px;

    font-weight: 500;
}

.dps-testimonial-card {

    min-height: 125px;

    display: flex;

    align-items: center;

    gap: 15px;

    padding: 12px;

    background: #fff;

    border:
        1px solid var(--campus-border);

    box-shadow:
        0 8px 25px rgba(0,0,0,.035);

    transition:
        transform .35s ease,
        box-shadow .35s ease;
}

.dps-testimonial-card:hover {

    transform:
        translateY(-5px)
        translateZ(15px);

    box-shadow:
        0 18px 35px rgba(0,0,0,.09);
}

.dps-testimonial-person {

    flex-shrink: 0;

    width: 72px;
    height: 72px;

    overflow: hidden;

    border-radius: 50%;

    border:
        2px solid #ead5a5;

    transform:
        translateZ(20px);
}

.dps-testimonial-person img {

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.dps-testimonial-content {

    position: relative;

    padding-left: 4px;
}

.dps-testimonial-quote {

    position: absolute;

    top: -8px;
    left: -2px;

    color: var(--campus-gold);

    font-family: Georgia, serif;

    font-size: 30px;
}

.dps-testimonial-content p {

    margin: 10px 0 7px;

    color: #60737d;

    font-family: Georgia, serif;

    font-size: 9px;

    font-style: italic;

    line-height: 1.5;
}

.dps-testimonial-content strong {

    display: block;

    color: var(--campus-navy);

    font-size: 8px;
}

.dps-testimonial-content > span:last-child {

    display: block;

    margin-top: 2px;

    color: var(--campus-muted);

    font-size: 6px;
}


/* =========================================================
   GALLERY
========================================================= */

.dps-campus-moments {

    padding: 35px 0 45px;

    background: #fff;
}

.dps-campus-gallery {

    display: grid;

    grid-template-columns:
        repeat(6, 1fr);

    gap: 8px;

    perspective: 1200px;
}

.dps-gallery-item {

    height: 95px;

    overflow: hidden;

    border-radius: 3px;

    transform-style: preserve-3d;

    transition:
        box-shadow .35s ease;
}

.dps-gallery-item:hover {

    box-shadow:
        0 20px 35px rgba(0,0,0,.18);
}

.dps-gallery-item img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .7s ease,
        filter .5s ease;
}

.dps-gallery-item:hover img {

    transform:
        scale(1.12)
        translateZ(20px);

    filter:
        saturate(1.12)
        contrast(1.03);
}


/* =========================================================
   CTA
========================================================= */

.dps-campus-cta {

    min-height: 190px;

    position: relative;

    display: flex;

    align-items: center;

    overflow: hidden;
}

.dps-campus-cta-image {

    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 1.2s ease;
}

.dps-campus-cta:hover
.dps-campus-cta-image {

    transform: scale(1.08);
}

.dps-campus-cta-overlay {

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(3,30,45,.88),
            rgba(3,30,45,.58),
            rgba(3,30,45,.38)
        );
}

.dps-campus-cta .dps-container {

    position: relative;

    z-index: 2;
}

.dps-campus-cta-content {

    text-align: center;

    max-width: 700px;

    margin: auto;
}

.dps-campus-cta-content .dps-campus-label {

    color: var(--campus-gold-light);
}

.dps-campus-cta-content h2 {

    margin: 0;

    color: #fff;

    font-family: Georgia, serif;

    font-size: 32px;

    font-weight: 400;
}

.dps-campus-cta-content p {

    margin: 6px 0 0;

    color: #d5e0e4;

    font-size: 8px;
}

.dps-campus-cta-buttons {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 10px;
}


/* =========================================================
   SCROLL REVEAL
========================================================= */

.campus-reveal {

    opacity: 0;

    transform:
        translateY(35px)
        scale(.985);

    transition:
        opacity .8s ease,
        transform .8s cubic-bezier(.16,.72,.25,1);
}

.campus-reveal.campus-visible {

    opacity: 1;

    transform:
        translateY(0)
        scale(1);
}


/* =========================================================
   STAGGER
========================================================= */

.dps-campus-highlight:nth-child(2),
.dps-facility-card:nth-child(2),
.dps-student-card:nth-child(2),
.dps-beyond-card:nth-child(2),
.dps-gallery-item:nth-child(2) {
    transition-delay: .08s;
}

.dps-campus-highlight:nth-child(3),
.dps-facility-card:nth-child(3),
.dps-student-card:nth-child(3),
.dps-beyond-card:nth-child(3),
.dps-gallery-item:nth-child(3) {
    transition-delay: .16s;
}

.dps-campus-highlight:nth-child(4),
.dps-facility-card:nth-child(4),
.dps-student-card:nth-child(4),
.dps-beyond-card:nth-child(4),
.dps-gallery-item:nth-child(4) {
    transition-delay: .24s;
}

.dps-campus-highlight:nth-child(5),
.dps-facility-card:nth-child(5),
.dps-beyond-card:nth-child(5),
.dps-gallery-item:nth-child(5) {
    transition-delay: .32s;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    .dps-campus-page .dps-container {

        width:
            min(
                calc(100% - 50px),
                1440px
            );
    }

    .dps-campus-highlight-grid {

        grid-template-columns:
            repeat(3, 1fr);
    }

    .dps-campus-highlight {

        border-bottom:
            1px solid var(--campus-border);
    }

    .dps-facility-grid {

        grid-template-columns:
            repeat(3, 1fr);
    }

    .dps-beyond-grid {

        grid-template-columns:
            repeat(3, 1fr);
    }

    .dps-student-life-grid {

        grid-template-columns: 1fr;
    }

    .dps-student-life-content p {

        max-width: 600px;
    }

}


/* =========================================================
   TABLET SMALL
========================================================= */

@media (max-width: 850px) {

    .dps-campus-section {

        padding: 45px 0;
    }

    .dps-campus-explore-grid {

        grid-template-columns: 1fr;

        gap: 30px;
    }

    .dps-campus-explore-content p {

        max-width: 700px;
    }

    .dps-facility-grid {

        grid-template-columns:
            repeat(2, 1fr);
    }

    .dps-student-cards {

        grid-template-columns:
            repeat(2, 1fr);
    }

    .dps-beyond-grid {

        grid-template-columns:
            repeat(2, 1fr);
    }

    .dps-services-grid {

        grid-template-columns: 1fr;
    }

    .dps-campus-gallery {

        grid-template-columns:
            repeat(3, 1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .dps-campus-page .dps-container {

        width:
            calc(100% - 28px);
    }

    .dps-campus-section {

        padding: 40px 0;
    }


    /* HERO */

    .dps-campus-hero,
    .dps-campus-hero-inner {

        min-height: 430px;
    }

    .dps-campus-hero-overlay {

        background:
            linear-gradient(
                90deg,
                rgba(2,25,37,.92),
                rgba(2,25,37,.56)
            );
    }

    .dps-campus-breadcrumb {

        top: 21px;

        font-size: 7px;
    }

    .dps-campus-hero-content {

        max-width: 320px;

        padding-top: 38px;
    }

    .dps-campus-hero h1 {

        font-size: 45px;
    }

    .dps-campus-hero h2 {

        font-size: 16px;
    }

    .dps-campus-hero p {

        font-size: 9px;
    }

    .dps-campus-hero-script {

        right: 13px;

        bottom: 25px;

        font-size: 12px;
    }


    /* HIGHLIGHTS */

    .dps-campus-highlight-grid {

        grid-template-columns:
            repeat(2, 1fr);
    }

    .dps-campus-highlight {

        min-height: 70px;

        justify-content: flex-start;

        padding-left: 15px;

        border-right:
            1px solid var(--campus-border);
    }

    .dps-campus-highlight:nth-child(even) {

        border-right: 0;
    }

    .dps-campus-highlight:last-child {

        grid-column: span 2;

        justify-content: center;

        border-right: 0;
    }


    /* SECTION */

    .dps-campus-section-heading {

        align-items: flex-start;

        flex-direction: column;

        gap: 8px;
    }

    .dps-campus-section-heading h2 {

        font-size: 25px;
    }


    /* EXPLORE */

    .dps-campus-explore-content h2 {

        font-size: 32px;
    }

    .dps-campus-tour-card {

        min-height: 225px;
    }

    .dps-campus-tour-card img {

        min-height: 225px;
    }


    /* FACILITIES */

    .dps-facility-grid {

        grid-template-columns: 1fr;

        gap: 12px;
    }

    .dps-facility-image {

        height: 190px;
    }


    /* STUDENT LIFE */

    .dps-student-life-content h2 {

        font-size: 30px;
    }

    .dps-student-cards {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 8px;
    }

    .dps-student-card {

        height: 145px;
    }


    /* BEYOND */

    .dps-beyond-grid {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 12px;
    }

    .dps-beyond-image {

        height: 110px;
    }


    /* SERVICES */

    .dps-service-card {

        grid-template-columns:
            1fr
            42%;
    }


    /* TESTIMONIAL */

    .dps-testimonial-grid {

        grid-template-columns: 1fr;

        gap: 25px;
    }

    .dps-testimonial-card {

        min-height: 120px;
    }


    /* GALLERY */

    .dps-campus-gallery {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 7px;
    }

    .dps-gallery-item {

        height: 105px;
    }


    /* CTA */

    .dps-campus-cta {

        min-height: 260px;

        padding: 45px 0;
    }

    .dps-campus-cta-content h2 {

        font-size: 28px;
    }

    .dps-campus-cta-buttons {

        flex-wrap: wrap;
    }

}


/* =========================================================
   VERY SMALL
========================================================= */

@media (max-width: 380px) {

    .dps-campus-hero h1 {

        font-size: 40px;
    }

    .dps-student-cards {

        grid-template-columns: 1fr;
    }

    .dps-beyond-grid {

        grid-template-columns: 1fr;
    }

    .dps-service-card {

        grid-template-columns: 1fr;
    }

    .dps-service-card > img {

        min-height: 160px;
    }

}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .dps-campus-page *,
    .dps-campus-page *::before,
    .dps-campus-page *::after {

        animation-duration:
            .01ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .01ms !important;
    }

    .campus-reveal {

        opacity: 1;

        transform: none;
    }

}