/*

==========================================================

    PRR LAW COLLEGE WEBSITE

    Developed by
    Nagesh Ravuri

    Sprint 2
    Version 2.0

==========================================================

*/
/* ==========================================================
   PRR LAW COLLEGE WEBSITE
   STYLE VERSION 2
   Sprint 2 - Professional UI
   Part 1
========================================================== */


/* ==========================================================
   01. RESET
========================================================== */

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;
}

img{

    max-width:100%;
    display:block;
}


/* ==========================================================
   02. DESIGN VARIABLES
========================================================== */

:root{

    --primary:#6b1322;
    --primary-dark:#4b0d17;

    --secondary:#b68b2d;

    --background:#f7f8fa;

    --surface:#ffffff;

    --text:#2d2d2d;

    --muted:#666666;

    --border:#e4e4e4;

    --shadow:
        0 8px 25px rgba(0,0,0,.08);

    --radius:12px;

    --transition:.30s ease;

    --container:1400px;

    --space-section:64px;
    --space-section-lg:88px;
}


/* ==========================================================
   03. TYPOGRAPHY
========================================================== */

body{

    font-family:'Poppins',sans-serif;

    background:var(--background);

    color:var(--text);

    line-height:1.7;
}


h1,
h2,
h3,
h4,
h5{

    font-family:'Playfair Display',serif;
    /*font-family:'Poppins',sans-serif;*/
    
    color:var(--primary-dark);

    font-weight:700;

    letter-spacing:.4px;
}

h1{

    font-size:4rem;
}

h2{

    font-size:2.2rem;

    margin-bottom:20px;
}

h3{

    font-size:1.4rem;

    margin-bottom:12px;
}

p{

    color:var(--muted);

    margin-bottom:15px;
}


a{

    text-decoration:none;

    color:inherit;

    transition:var(--transition);
}


/* ==========================================================
   04. GLOBAL LAYOUT
========================================================== */

body{

    display:flex;

    flex-direction:column;

    min-height:100vh;
}

main{

    flex:1;
}

.container{

    width:92%;

    max-width:var(--container);

    margin:auto;
}

section{

    padding:var(--space-section) 0;
}


/* ==========================================================
   05. HEADER
========================================================== */

.college-header{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px 20px;

    background:white;

    box-shadow:0 2px 8px rgba(0,0,0,.05);
}


.college-logo{

    position:absolute;

    left:25px;

    top:50%;

    transform:translateY(-50%);

    width:140px;

    flex-shrink:0;

    transition:transform var(--transition), scale var(--transition);
}

.college-logo:hover{

    transform:translateY(-50%) scale(1.05);
}

.college-title{

    text-align:center;
}

.college-title h1{

    color:var(--primary);

    margin-bottom:2px;
}

.college-title p{

    color:#777;

    font-size:1rem;

    margin:0;

    white-space:pre-line;
}


/* ==========================================================
   06. NAVIGATION
========================================================== */

nav{

    background:var(--primary);

    position:sticky;

    top:0;

    z-index:1000;

    box-shadow:0 2px 12px rgba(0,0,0,.10);
}


nav ul{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:35px;

    list-style:none;

    padding:12px 20px;
}

nav li{

    display:inline-block;
}

nav a{

    color:white;

    font-weight:600;

    letter-spacing:.4px;

    position:relative;
}


nav a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-6px;

    width:0;

    height:2px;

    background:var(--secondary);

    transition:var(--transition);
}

nav a:hover{

    color:#f7e4a2;
}

nav a:hover::after{

    width:100%;
}

/* ==========================================================
   07. HERO SECTION
========================================================== */

.hero{

    position:relative;

    min-height:70vh;

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    padding:var(--space-section-lg) 20px;

    color:white;

    background:
        linear-gradient(
            rgba(45,10,18,.72),
            rgba(45,10,18,.72)
        ),
        url("/assets/images/college-banner.jpg");

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;
}

.hero-content{

    max-width:850px;

    margin:auto;
}

.hero h2{

    color:white;

    font-size:3.4rem;

    margin-bottom:20px;

    text-shadow:0 3px 10px rgba(0,0,0,.30);
}

.hero p{

    color:#f2f2f2;

    font-size:1.2rem;

    margin-bottom:40px;
}


/* ==========================================================
   08. BUTTONS
========================================================== */

.hero-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;
}

.btn{

    display:inline-block;

    padding:14px 32px;

    border-radius:50px;

    font-weight:600;

    transition:var(--transition);

    box-shadow:var(--shadow);
}

.btn-primary{

    background:var(--secondary);

    color:white;
}

.btn-primary:hover{

    transform:translateY(-3px);

    background:#c79b38;
}

.btn-secondary{

    background:white;

    color:var(--primary);
}

.btn-secondary:hover{

    transform:translateY(-3px);

    background:#f4f4f4;
}


/* ==========================================================
   09. PAGE HEADER
========================================================== */

.page-header{

    text-align:center;

    padding:60px 20px 40px;
}

.page-header h2{

    margin-bottom:12px;
}

.page-header p{

    max-width:700px;

    margin:auto;
}


/* ==========================================================
   10. CONTENT WRAPPER
========================================================== */

.page-content{

    width:92%;

    max-width:1400px;

    margin:auto;
}


/* ==========================================================
   11. CARD COMPONENTS
========================================================== */

.card-grid{

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(280px,1fr));

    gap:30px;
}

.card{

    background:white;

    border-radius:16px;

    padding:30px;

    box-shadow:var(--shadow);

    transition:var(--transition);

    border:1px solid transparent;
}

.card:hover{

    transform:translateY(-8px);

    border-color:#ececec;

    box-shadow:
        0 20px 40px rgba(0,0,0,.10);
}

.card h3{

    margin-bottom:15px;

    color:var(--primary);
}

.card p{

    margin-bottom:0;
}


/* ==========================================================
   12. HOMEPAGE HIGHLIGHTS
========================================================== */

.highlights{

    background:white;
}

.highlights .card{

    text-align:center;
}

.highlights i{

    font-size:2.5rem;

    color:var(--secondary);

    margin-bottom:18px;
}


/* ==========================================================
   13. STATISTICS
========================================================== */

.statistics{

    background:var(--primary);

    color:white;

    padding:var(--space-section) 20px;
}

.statistics-grid{

    display:grid;

    grid-template-columns:
        repeat(auto-fit,minmax(220px,1fr));

    gap:30px;

    max-width:1200px;

    margin:auto;
}

.stat-card{

    text-align:center;

    background:
        rgba(255,255,255,.08);

    border-radius:15px;

    padding:40px 20px;

    transition:var(--transition);
}

.stat-card:hover{

    transform:translateY(-6px);

    background:
        rgba(255,255,255,.15);
}

.stat-card h3{

    color:white;

    font-size:3rem;

    margin-bottom:10px;
}

.stat-card p{

    color:#f1f1f1;

    margin:0;
}


/* ==========================================================
   14. IMAGE EFFECTS
========================================================== */

img{

    transition:var(--transition);
}

.card img:hover{

    transform:scale(1.03);
}

/* =========================================
   15. HERO V2
========================================= */

.hero{

    position:relative;

    min-height:80vh;

    display:flex;

    align-items:center;

    background:

        linear-gradient(
            rgba(80,0,0,.70),
            rgba(40,0,0,.80)
        ),

        url("/assets/images/hero-placeholder.jpg");

    background-size:cover;

    background-position:center;

    overflow:hidden;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:
    radial-gradient(circle at top right,
    rgba(255,255,255,.08),
    transparent 40%);

}

.hero-wrapper{

    position:relative;

    z-index:2;

}

.hero-content{

    max-width:720px;

    color:#fff;

}

.hero-badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:50px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(6px);

    font-size:.9rem;

    letter-spacing:.5px;

    margin-bottom:30px;

}

.hero h1{

    font-size:3.8rem;

    line-height:1.1;

    margin-bottom:25px;

    color:#fff;

}

.hero p{

    font-size:1.2rem;

    line-height:1.8;

    margin-bottom:40px;

    max-width:650px;

    opacity:.95;

}

.hero-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;

}

.scroll-indicator{

    position:absolute;

    bottom:30px;

    left:50%;

    transform:translateX(-50%);

    color:#fff;

    font-size:2rem;

    opacity:.8;

    animation:bounce 2s infinite;

}

@keyframes bounce{

    0%,20%,50%,80%,100%{

        transform:
        translateX(-50%)
        translateY(0);

    }

    40%{

        transform:
        translateX(-50%)
        translateY(-10px);

    }

    60%{

        transform:
        translateX(-50%)
        translateY(-5px);

    }

}

/* ==========================================
   16. HOMEPAGE CTA
========================================== */

.home-cta{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

.cta-box{

    background:linear-gradient(135deg,#6d0f17,#4c0a10);

    color:#fff;

    border-radius:20px;

    padding:70px 50px;

    text-align:center;

    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.cta-tag{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:rgba(255,255,255,.15);

    margin-bottom:25px;

    font-size:.9rem;

    letter-spacing:.5px;

}

.cta-box h2{

    color:#fff;

    font-size:2.5rem;

    margin-bottom:20px;

}

.cta-box p{

    max-width:760px;

    margin:0 auto 40px;

    line-height:1.8;

    opacity:.95;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

    margin-bottom:45px;

}

.cta-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

    max-width:700px;

    margin:0 auto;

    text-align:left;

}

.cta-features div{

    display:flex;

    align-items:center;

    gap:12px;

}

.cta-features i{

    color:#ffd54f;

}

@media(max-width:768px){

.cta-box{

    padding:50px 30px;

}

.cta-box h2{

    font-size:2rem;

}

.cta-features{

    grid-template-columns:1fr;

}

}

/*==========================================
17.  WHY PRR
==========================================*/

.why-prr{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.section-header{

    max-width:760px;

    margin:auto;

    text-align:center;

    margin-bottom:60px;

}

.section-tag{

    display:inline-block;

    

    font-weight:700;

    letter-spacing:2px;

    font-size:.85rem;

    margin-bottom:15px;

}

.section-header h2{

    font-size:2.6rem;

    margin-bottom:20px;

}

.section-header p{

    color:#666;

    line-height:1.8;

}

.why-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:30px;

}

.why-card{

    background:#fff;

    border-radius:18px;

    padding:40px 30px;

    text-align:center;

    transition:.35s;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    border-top:4px solid #7a0f18;

}

.why-card:hover{

    transform:translateY(-8px);

}

.why-card i{

    font-size:2.5rem;

    color:#7a0f18;

    margin-bottom:25px;

}

.why-card h3{

    margin-bottom:18px;

}

.why-card p{

    color:#666;

    line-height:1.7;

}

/*==========================================
17.1 CHAIRMAN MESSAGE
==========================================*/

.chairman-message{

    padding:var(--space-section) 0;

    background:#fff;

}

.chairman-content{

    display:grid;

    grid-template-columns:380px 1fr;

    gap:70px;

    align-items:center;

}

.chairman-image{

    text-align:center;

}

.chairman-image img{

    width:100%;

    max-width:360px;

    border-radius:20px;

    box-shadow:0 20px 45px rgba(0,0,0,.18);

}

.chairman-info h2{

    margin:20px 0;

    font-size:2.5rem;

}

.chairman-text{

    line-height:1.9;

    color:#555;

    white-space:pre-line;

}

@media(max-width:900px){

.chairman-content{

    grid-template-columns:1fr;

    text-align:center;

}

.chairman-image{

    margin-bottom:20px;

}

}

/*==========================================
18. PRINCIPAL
==========================================*/

.principal-section{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

.principal-wrapper{

    display:grid;

    grid-template-columns:380px 1fr;

    gap:70px;

    align-items:center;

}

.principal-photo{

    text-align:center;

}

.principal-photo img{

    width:100%;

    max-width:360px;

    border-radius:20px;

    box-shadow:0 20px 45px rgba(0,0,0,.18);

}

/* Shared no-photo placeholder for single-portrait sections (principal,
   chairman) — these aren't in a repeating grid, so there's no strict
   height to match; an aspect-ratio box in the same footprint as the
   photo it replaces is enough to keep the layout from collapsing. */
.wp-image-placeholder{

    width:100%;

    max-width:360px;

    aspect-ratio:3/4;

    border-radius:20px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#f2e7e8;

    color:#7a0f18;

    font-size:64px;

    margin:0 auto;

}

.principal-content h2{

    margin:20px 0;

    font-size:2.5rem;

}

.principal-content p{

    line-height:1.9;

    color:#555;

    margin-bottom:25px;

}

.principal-signature{

    margin-top:35px;

    padding-top:25px;

    border-top:2px solid #ddd;

}

.principal-signature strong{

    display:block;

    color:#7a0f18;

    font-size:1.2rem;

}

.principal-signature span{

    color:#777;

}

@media(max-width:900px){

.principal-wrapper{

    grid-template-columns:1fr;

    text-align:center;

}

.principal-photo{

    margin-bottom:20px;

}

}

/*==========================================
19. COURSES PREVIEW
==========================================*/

.courses-preview{

    padding:var(--space-section) 0;

    background:#fff;

}

.courses-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:30px;

    margin-top:60px;

}

.course-card{

    background:#fff;

    border-radius:18px;

    padding:40px 30px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

    border-bottom:5px solid #7a0f18;

}

.course-card:hover{

    transform:translateY(-8px);

}

.course-card i{

    font-size:2.7rem;

    color:#7a0f18;

    margin-bottom:20px;

}

.course-card h3{

    margin-bottom:12px;

}

.course-card span{

    display:inline-block;

    margin-bottom:18px;

    color:#7a0f18;

    font-weight:600;

}

.course-card p{

    color:#666;

    line-height:1.8;

}

.courses-action{

    text-align:center;

    margin-top:60px;

}

/*==========================================
20. CAMPUS LIFE
==========================================*/

.campus-life{

    padding:var(--space-section) 0;

    background:#f7f7f7;

}

.campus-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:60px;

}

.campus-card{

    position:relative;

    overflow:hidden;

    border-radius:20px;

    box-shadow:0 15px 35px rgba(0,0,0,.15);

}

.campus-card img{

    width:100%;

    height:320px;

    object-fit:cover;

    transition:.4s;

}

.campus-card-photo-placeholder{

    width:100%;

    height:320px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#f2e7e8;

    color:#7a0f18;

    font-size:64px;

}

.campus-card:hover img{

    transform:scale(1.08);

}

.campus-overlay{

    position:absolute;

    inset:0;

    display:flex;

    align-items:flex-end;

    padding:30px;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.75)
    );

}

.campus-overlay h3{

    color:#fff;

    margin:0;

}

.campus-action{

    margin-top:50px;

    text-align:center;

}

@media(max-width:900px){

.campus-grid{

    grid-template-columns:1fr;

}

}

/*=========================================================
  21. FOOTER
=========================================================*/

.site-footer{

    background:#1f1f1f;

    color:#d9d9d9;

    margin-top:0;

}

.footer-container{

    max-width:1200px;

    margin:0 auto;

    padding:70px 25px 45px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:50px;

}

.footer-column h3{

    color:#ffffff;

    margin-bottom:22px;

    font-size:1.4rem;

    position:relative;

}

.footer-column h3::after{

    content:"";

    display:block;

    width:55px;

    height:3px;

    margin-top:10px;

    background:#7a0f18;

    border-radius:20px;

}

.footer-column p{

    color:#c7c7c7;

    line-height:1.9;

    margin-bottom:16px;

}

.footer-column ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-column ul li{

    margin-bottom:12px;

}

.footer-column ul li a{

    color:#c7c7c7;

    text-decoration:none;

    transition:.30s;

}

.footer-column ul li a:hover{

    color:#ffffff;

    padding-left:8px;

}

.footer-column i{

    color:#c79b3b;

    width:22px;

    margin-right:8px;

}

.footer-social{

    display:flex;

    gap:12px;

    margin-top:25px;

}

.footer-social a{

    width:42px;

    height:42px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#2f2f2f;

    color:#ffffff;

    text-decoration:none;

    transition:.30s;

}

.footer-social a:hover{

    background:#7a0f18;

    transform:translateY(-4px);

}

.footer-social i{

    color:#ffffff;

    margin:0;

    width:auto;

}

.footer-bottom{

    border-top:1px solid rgba(255,255,255,.10);

    text-align:center;

    padding:16px 20px 14px;

    background:#181818;

}

.footer-divider{

    width:140px;

    height:1px;

    margin:12px auto;

    background:rgba(212,175,55,.45);

    border-radius:20px;

}

.footer-bottom p{

    margin:1px 0;

    color:#bdbdbd;

    line-height:1.15;
    

    font-size:.8rem;

}



.footer-version{

    margin:0 0 12px;

    font-size:.88rem;

    font-weight:600;

    color:#d4af37;

    letter-spacing:.4px;

}

.footer-developer{

    margin:0;

    font-size:.6rem;

    font-weight:500;

    color:#b8b8b8;

    line-height:1.4;

}

.footer-developer .developer-name{

    display:block;

    margin-top:4px;

    font-size:.6rem;

    font-weight:400;

    color:#ffffff;

    letter-spacing:.3px;

}

.footer-product{

    font-size:0.6rem;

    font-weight:700;

    color:#ffffff;

    letter-spacing:.6px;

    margin:0;

    

}

.footer-product-subtitle{

    font-size:.90rem;

    color:#cfcfcf;

    margin:2px 0 8px;

}



/*=========================================================
  22. RESPONSIVE FOOTER
=========================================================*/

@media (max-width:900px){

    .footer-container{

        grid-template-columns:1fr 1fr;

        gap:40px;

    }

}

@media (max-width:650px){

    .footer-container{

        grid-template-columns:1fr;

        text-align:center;

    }

    .footer-column h3::after{

        margin-left:auto;
        margin-right:auto;

    }

    .footer-social{

        justify-content:center;

    }

}



/*=========================================================
  ABOUT PAGE
=========================================================*/

/*==========================================
PAGE HERO
==========================================*/

.page-hero{

    background:linear-gradient(135deg,#6d0f17,#4d0b11);

    color:#ffffff;

    text-align:center;

    padding:56px 20px;

}

.page-tag{

    display:inline-block;

    background:rgba(255,255,255,.15);

    color:#ffffff;

    padding:8px 18px;

    border-radius:50px;

    letter-spacing:2px;

    font-size:.85rem;

    margin-bottom:20px;

}

.page-hero h1{

    font-size:3.2rem;

    margin-bottom:25px;

    color:#ffffff;

}

.page-hero p{

    max-width:800px;

    margin:auto;

    line-height:1.9;

    font-size:1.1rem;

    color:#ffffff;

    opacity:.95;

}


/*==========================================
OUR STORY
==========================================*/

.about-story{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.story-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:50px;

    margin-top:60px;

}

.story-grid div{

    background:#fafafa;

    padding:40px;

    border-radius:18px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.story-grid h3{

    color:#7a0f18;

    margin-bottom:20px;

}

.story-grid p{

    line-height:1.9;

    color:#555;

}


/*==========================================
VISION MISSION VALUES
==========================================*/

.vmv-section{

    background:#f8f8f8;

    padding:var(--space-section) 0;

}

.vmv-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.vmv-card{

    background:#ffffff;

    border-radius:20px;

    padding:45px 35px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.vmv-card:hover{

    transform:translateY(-8px);

}

.vmv-card i{

    font-size:2.7rem;

    color:#7a0f18;

    margin-bottom:25px;

}

.vmv-card h3{

    margin-bottom:20px;

}

.vmv-card p{

    line-height:1.8;

    color:#555;

}

.vmv-card ul{

    list-style:none;

    padding:0;

    margin:0;

}

.vmv-card li{

    margin-bottom:12px;

    color:#555;

}


/*==========================================
RECOGNITION
==========================================*/

.recognition{

    padding:var(--space-section) 0;

    background:#6d0f17;

    color:#ffffff;

}

.recognition .section-header h2{

    color:#ffffff;

}

.recognition .section-header p{

    color:#f2f2f2;

}

.recognition-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

    margin-top:60px;

}

.recognition-grid div{

    background:rgba(255,255,255,.10);

    padding:25px;

    border-radius:15px;

    font-size:1.05rem;

}

.recognition-grid i{

    color:#ffd54f;

    margin-right:12px;

}


/*==========================================
WHY PRR
==========================================*/

.why-about{

    padding:var(--space-section) 0;

    background:#ffffff;

}


/* Reuse homepage why-card */

.why-about .why-grid{

    margin-top:60px;

}


/*==========================================
TIMELINE
==========================================*/

.timeline{

    background:#f8f8f8;

    padding:var(--space-section) 0;

}

.timeline-wrapper{

    margin-top:60px;

    position:relative;

}

.timeline-wrapper::before{

    content:"";

    position:absolute;

    left:50%;

    top:0;

    bottom:0;

    width:4px;

    background:#7a0f18;

    transform:translateX(-50%);

}

.timeline-item{

    position:relative;

    width:45%;

    background:#ffffff;

    padding:30px;

    border-radius:18px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    margin-bottom:45px;

    display:flex;

    align-items:center;

    gap:20px;

}

.timeline-item-photo{

    width:70px;

    height:70px;

    border-radius:12px;

    object-fit:cover;

    flex-shrink:0;

}

.timeline-item-photo-slot{

    display:none;

}

.timeline-item-text{

    flex:1;

    min-width:0;

}

.timeline-item:nth-child(odd){

    margin-right:auto;

}

.timeline-item:nth-child(even){

    margin-left:auto;

}

.timeline-item span{

    display:inline-block;

    color:#7a0f18;

    font-weight:700;

    margin-bottom:12px;

}

.timeline-item h3{

    margin:0;

}


/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:992px){

.story-grid{

    grid-template-columns:1fr;

}

.vmv-grid{

    grid-template-columns:1fr;

}

.recognition-grid{

    grid-template-columns:1fr;

}

.timeline-wrapper::before{

    display:none;

}

.timeline-item{

    width:100%;

    margin-left:0;

    margin-right:0;

}

}

@media(max-width:768px){

.page-hero{

    padding:40px 20px;

}

.page-hero h1{

    font-size:2.4rem;

}

.story-grid div{

    padding:30px;

}

}

/*=========================================================
COURSES PAGE
=========================================================*/

.courses-intro{

    padding:var(--space-section) 0;

    background:#fff;

}

.intro-text{

    max-width:850px;

    margin:40px auto 0;

    text-align:center;

    line-height:1.9;

    color:#555;

}

.courses-section{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

.pg-section{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.course-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

    margin-top:60px;

}

.course-card{

    background:#ffffff;

    padding:40px 30px;

    border-radius:18px;

    text-align:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

    border-bottom:4px solid #7a0f18;

}

.course-card:hover{

    transform:translateY(-8px);

}

.course-card i{

    font-size:2.7rem;

    color:#7a0f18;

    margin-bottom:20px;

}

.course-card h3{

    margin-bottom:10px;

}

.course-card span{

    display:block;

    color:#7a0f18;

    font-weight:600;

    margin-bottom:20px;

}

.course-card p{

    color:#555;

    line-height:1.8;

}

.methodology{

    padding:var(--space-section) 0;

    background:#6d0f17;

    color:#ffffff;

}

.methodology h2{

    color:#ffffff;

}

.method-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:20px;

    margin-top:60px;

}

.method-grid div{

    background:rgba(255,255,255,.12);

    padding:24px;

    border-radius:12px;

    font-weight:600;

}

.course-highlights{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

.highlight-card{

    max-width:900px;

    margin:auto;

    background:#ffffff;

    border-radius:20px;

    padding:60px;

    text-align:center;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.highlight-card h2{

    margin-bottom:25px;

}

.highlight-card p{

    color:#555;

    line-height:1.9;

}

.coordinator-list{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:14px;

    margin-top:30px;

}

.coordinator-badge{

    position:relative;

    display:inline-flex;

    align-items:baseline;

    gap:6px;

    padding:10px 22px;

    border-radius:50px;

    background:var(--background);

    border:1px solid var(--border);

    font-size:0.92rem;

}

.coordinator-role{

    font-weight:600;

    color:var(--primary-dark);

}

.coordinator-year{

    font-size:0.78rem;

    color:var(--muted);

}

.coordinator-year::before{
    content:"(";
}

.coordinator-year::after{
    content:")";
}

.coordinator-name{

    font-weight:700;

    color:var(--secondary);

}

.coordinator-name::before{

    content:"\2014";

    margin-right:6px;

    color:var(--muted);

    font-weight:400;

}

/*=========================================================
FACULTY PAGE
=========================================================*/

.faculty-intro{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.principal-section{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

.principal-card{

    display:grid;

    grid-template-columns:320px 1fr;

    gap:50px;

    align-items:center;

    background:#ffffff;

    padding:40px;

    border-radius:20px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.principal-photo img{

    width:100%;

    border-radius:18px;

}

.principal-content p{

    margin-top:25px;

    line-height:1.9;

    color:#555;

}

.faculty-members{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.faculty-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));

    gap:35px;

    margin-top:60px;

}

.faculty-card{

    background:#ffffff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

    text-align:center;

}

.faculty-card:hover{

    transform:translateY(-8px);

}

.faculty-card img{

    width:100%;

    height:320px;

    object-fit:cover;

}

.faculty-card-photo-placeholder{

    width:100%;

    height:320px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#f2e7e8;

    color:#7a0f18;

    font-size:64px;

}

.faculty-card h3{

    margin-top:25px;

}

.faculty-card span{

    display:block;

    color:#7a0f18;

    font-weight:600;

    margin:10px 0 18px;

}

.faculty-card p{

    padding:0 25px 30px;

    color:#555;

    line-height:1.8;

}

.faculty-philosophy{

    padding:var(--space-section) 0;

    background:#6d0f17;

    color:#ffffff;

}

.faculty-philosophy h2{

    color:#ffffff;

}

.faculty-development{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

@media(max-width:992px){

.principal-card{

    grid-template-columns:1fr;

    text-align:center;

}

}

/*=========================================================
CONTACT PAGE
=========================================================*/

.contact-section{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.contact-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

    margin-top:60px;

}

.contact-card{

    background:#ffffff;

    text-align:center;

    padding:40px 30px;

    border-radius:20px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.contact-card:hover{

    transform:translateY(-8px);

}

.contact-card i{

    font-size:2.7rem;

    color:#7a0f18;

    margin-bottom:25px;

}

.contact-card h3{

    margin-bottom:18px;

}

.contact-card p{

    color:#555;

    line-height:1.9;

}

.contact-form{

    max-width:820px;

    margin:60px auto 0;

    background:var(--surface);

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    padding:50px;

}

.contact-form form{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px 24px;

}

.contact-form .form-group{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.contact-form .form-group:first-child,
.contact-form .form-group:has(input[type="file"]),
.contact-form .form-group:has(textarea),
.contact-form .form-group:has(input[type="checkbox"]){

    grid-column:1 / -1;

}

.contact-form label{

    font-weight:600;

    font-size:0.92rem;

    color:var(--text);
}

.contact-form input,
.contact-form textarea{

    padding:12px 14px;

    border:1px solid var(--border);

    border-radius:8px;

    font-size:0.95rem;

    font-family:inherit;

    color:var(--text);

    transition:border-color .20s ease, box-shadow .20s ease;
}

.contact-form input:focus,
.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 3px rgba(107,19,34,.12);
}

.contact-form textarea{

    resize:vertical;
}

.contact-form input[type="file"]{

    padding:10px 0;

    border:none;
}

.contact-form label:has(input[type="checkbox"]){

    display:flex;

    align-items:flex-start;

    gap:10px;

    font-weight:500;

    cursor:pointer;
}

.contact-form input[type="checkbox"]{

    width:18px;

    height:18px;

    margin-top:3px;

    accent-color:var(--primary);

    flex-shrink:0;
}

.contact-form button[type="submit"]{

    grid-column:1 / -1;

    justify-self:center;

    min-width:240px;
}

.map-section{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

.map-placeholder{

    height:420px;

    border-radius:20px;

    background:#ffffff;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.map-placeholder i{

    font-size:4rem;

    color:#7a0f18;

    margin-bottom:25px;

}

.map-placeholder h3{

    margin-bottom:15px;

}

.map-placeholder p{

    color:#666;

}

.office-hours{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.office-hours .highlight-card{

    max-width:700px;

}

.office-hours p{

    font-size:1.05rem;

    margin:12px 0;

}

@media(max-width:768px){

.contact-grid{

    grid-template-columns:1fr;

}

.map-placeholder{

    height:300px;

}

}

.campus-map{

    width:100%;

    height:450px;

    border:none;

    border-radius:20px;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

}

.how-to-reach{

    padding:var(--space-section) 0;

    background:#ffffff;
}

.commute-list{

    max-width:900px;

    margin:50px auto 0;

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;
}

.commute-item{

    display:flex;

    align-items:flex-start;

    gap:20px;

    padding:28px;

    border:1px solid var(--border);

    border-radius:var(--radius);

    background:var(--background);
}

.commute-icon{

    font-size:1.7rem;

    line-height:1;

    flex-shrink:0;

    width:56px;

    height:56px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--background);
}

.commute-text h3{

    margin-bottom:6px;

    font-size:1.15rem;
}

.commute-text p{

    color:#555;

    line-height:1.8;

    margin:0;
}

/*=========================================================
GALLERY PAGE
=========================================================*/

.gallery-section{

    padding:var(--space-section) 0;

    background:#ffffff;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

    margin-top:60px;

}

.gallery-card{

    position:relative;

    overflow:hidden;

    border-radius:20px;

    box-shadow:0 12px 30px rgba(0,0,0,.10);

}

.gallery-card img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.45s;

}

.gallery-card-photo-placeholder{

    width:100%;

    height:260px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#f2e7e8;

    color:#7a0f18;

    font-size:56px;

}

.gallery-overlay{

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    padding:20px;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.75)
    );

}

.gallery-overlay h3{

    color:#ffffff;

    margin:0;

}

.gallery-card:hover img{

    transform:scale(1.08);

}

.gallery-highlight{

    padding:var(--space-section) 0;

    background:#f8f8f8;

}

.gallery-card {
    display: block;
    text-decoration: none;
    color: inherit;
}

@media(max-width:768px){

.gallery-grid{

    grid-template-columns:1fr;

}

.gallery-card img{

    height:220px;

}

.gallery-card-photo-placeholder{

    height:220px;

}

}

/* ==========================================================
   PRR Connect Login
   ========================================================== */

.login-button {

    display: inline-flex;
    align-items: center;
    gap: 0.60rem;

    padding: 0.75rem 1.50rem;

    border: none;
    border-radius: 8px;

    background: #8B0000;
    color: #ffffff;

    font-family: "Poppins", sans-serif;
    font-size: 0.95rem;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.login-button:hover {

    background: #6f0000;

    transform: translateY(-2px);

    box-shadow: 0 8px 20px rgba(0,0,0,0.18);
}

.login-modal {

    position: fixed;

    inset: 0;

    display: none;

    justify-content: center;
    align-items: center;

    z-index: 9999;
}

.login-modal-overlay {

    position: absolute;

    inset: 0;

    background: rgba(0,0,0,0.45);

    backdrop-filter: blur(4px);
}

.login-modal-container {

    position: relative;

    width: 420px;
    max-width: 92%;

    background: #ffffff;

    border-radius: 16px;

    padding: 2.25rem;

    box-shadow:
        0 15px 50px rgba(0,0,0,0.22);

    animation: loginModalAnimation 0.25s ease;

    z-index: 2;
}

@keyframes loginModalAnimation {

    from {

        opacity: 0;

        transform:
            translateY(-18px)
            scale(0.98);
    }

    to {

        opacity: 1;

        transform:
            translateY(0)
            scale(1);
    }
}

.login-modal-close {

    position: absolute;

    top: 16px;
    right: 18px;

    border: none;
    background: transparent;

    color: #777;

    font-size: 1.30rem;

    cursor: pointer;

    transition: color 0.20s ease;
}

.login-modal-close:hover {

    color: #8B0000;
}

.login-modal-header {

    text-align: center;

    margin-bottom: 2rem;
}

.login-modal-logo {

    width: 72px;

    margin-bottom: 1rem;
}

.login-modal-header h2 {

    margin: 0;

    color: #8B0000;

    font-family: "Playfair Display", serif;

    font-size: 1.80rem;
}

.login-modal-header p {

    margin-top: 0.40rem;

    color: #666;

    font-size: 0.95rem;
}

.login-form {

    display: flex;

    flex-direction: column;

    gap: 1.35rem;
}

.login-form .form-group {

    display: flex;

    flex-direction: column;

    gap: 0.45rem;
}

.login-form label {

    color: #333;

    font-weight: 600;

    font-size: 0.92rem;
}

.login-form input {

    padding: 0.85rem 1rem;

    border: 1px solid #d7d7d7;

    border-radius: 8px;

    font-size: 0.95rem;

    font-family: "Poppins", sans-serif;

    transition:
        border-color 0.20s ease,
        box-shadow 0.20s ease;
}

.login-form input:focus {

    outline: none;

    border-color: #8B0000;

    box-shadow:
        0 0 0 3px rgba(139,0,0,0.12);
}

.form-actions {

    margin-top: 0.50rem;
}

.btn-primary {

    width: 100%;

    padding: 0.95rem;

    border: none;

    border-radius: 8px;

    background: #8B0000;

    color: #ffffff;

    font-family: "Poppins", sans-serif;

    font-size: 1rem;

    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.btn-primary:hover {

    background: #6f0000;

    transform: translateY(-2px);
}

@media (max-width: 768px) {

    .login-modal-container {

        padding: 1.75rem;
    }

    .login-modal-header h2 {

        font-size: 1.55rem;
    }

    .login-button {

        padding: 0.65rem 1.20rem;

        font-size: 0.90rem;
    }
}


/* ----------------------------------------------------
   Header Layout
---------------------------------------------------- */

.college-header{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

    padding:20px 25px;

    background:white;

    box-shadow:0 2px 8px rgba(0,0,0,.05);

    min-height:140px;
}

.college-header-left{

    width:100%;

    display:flex;

    justify-content:center;

    align-items:center;
}

.college-header-right{

    position:absolute;

    top:50%;

    right:25px;

    transform:translateY(-50%);
}

.connect-button{

    display:flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    background:var(--primary);

    color:#fff;

    border:none;

    border-radius:8px;

    font-weight:600;

    cursor:pointer;

    transition:var(--transition);
}

.connect-button:hover{

    opacity:.9;
}
