.navbar{
    position:fixed;
    top:0;
    left:0;

    width:100%;
    box-sizing:border-box;

    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:12px 40px;

    background:#205F30;
    box-shadow:0 4px 18px rgba(0,0,0,.15);

    z-index:1000;
}
/* ---------- Left Side ---------- */

.nav-brand{
    display: flex;
    align-items: center;
    gap: 16px;
}

.nav-logo{
    width:85px;
    height:85px;
    object-fit:contain;
    flex-shrink:0;
}

.brand-text{
    display:flex;
    flex-direction:column;
}

.brand-text h2{
    margin:0;
    color:white;
    font-size:1.8rem;
    font-weight:700;
    line-height:1.1;
}

.brand-text p{
    margin-top:4px;
    color:rgba(255,255,255,.8);
    font-size:.8rem;
    letter-spacing:.4px;
}

/* ---------- Right Side ---------- */

.nav-links{
    display:flex;
    align-items:center;

    list-style:none;

    gap:40px;

    margin:0;
    padding:0;
}

.nav-links a{
    color:white;
    text-decoration:none;
    font-weight:600;
    font-size:1rem;

    transition:.25s;
}

.nav-links a:hover{
    opacity:.75;
}

.nav-links a.active{
    border-bottom:2px solid white;
    padding-bottom:4px;
}
/* ===========================
   GENERAL
=========================== */

body{
    --pathway-stats:#2A7048;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{

    margin:0;
    padding-top:110px;
    font-family:Arial, Helvetica, sans-serif;
    color:#333;
    line-height:1.7;
    background:#fff;

}

section{

    padding:90px 8%;

}

img{

    width:100%;
    display:block;

}

h1,h2,h3{

    color:#184F2D;

}

p{

    color:#555;

}

.section-label{

    color:#D49B00;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:15px;

}

/* ================= HERO ================= */

.page-hero {
    position: relative;
    min-height: 680px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 120px 20px;

    background-image:
        linear-gradient(
            rgba(24, 79, 45, 0.65),
            rgba(24, 79, 45, 0.65)
        ),
        url("../images/otl-hero-web.jpg");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    color: #fff;
    text-align: center;
}

.page-hero-content {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
    z-index: 2;
}

.eyebrow {
    display: inline-block;

    margin-bottom: 20px;
    padding: 8px 18px;

    background: rgba(255,255,255,.15);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 30px;

    color: #fff;

    font-size: .9rem;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
}

.page-hero h1 {
    margin-bottom: 25px;

    color: #fff;
    font-size: clamp(2.7rem, 6vw, 4.5rem);
    line-height: 1.1;
    font-weight: 700;
}

.page-hero .description {
    max-width: 700px;
    margin: 0 auto;

    font-size: 1.2rem;
    line-height: 1.8;
    color: rgba(255,255,255,.95);
}

.hero-btn {
    display: inline-block;

    margin-top: 40px;
    padding: 16px 36px;

    background: #F6B40E;
    color: #184F2D;

    border-radius: 999px;

    text-decoration: none;
    font-weight: 700;

    transition: all .3s ease;
}

.hero-btn:hover {
    background: #ffd34d;
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(0,0,0,.25);
}

/* ================= MOBILE ================= */

@media (max-width: 768px) {

    .page-hero {
        min-height: 540px;
        padding: 90px 25px;
    }

    .page-hero h1 {
        font-size: 2.5rem;
    }

    .page-hero .description {
        font-size: 1.05rem;
    }

}

/* ===========================
   STATS
=========================== */

.stats{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;

    text-align:center;

    background:#2A7048;
    color:white;

}

.stat h2{

    color:white;
    font-size:3rem;

}

.stat p{

    margin-top:10px;
    font-weight:600;
    color:rgba(255,255,255,.92);

}

/* ===========================
   ABOUT
=========================== */

.about{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

    background:#fff;

}

.about .intro-program-logo{
    display:block;
    width:150px;
    max-width:100%;
    height:auto;
    margin:0 0 24px;
    border-radius:0;
    box-shadow:none;
}

.about .playground-photo{
    width:100%;
    height:auto;
    aspect-ratio:4 / 5;
    object-fit:cover;
    object-position:45% 65%;
}

.cta .apply-logo-panel{
    width:180px;
    max-width:100%;
    margin:0 auto 28px;
    padding:12px;
    background:white;
    border-radius:16px;
}

.apply-logo-panel img{
    display:block;
    width:100%;
    height:auto;
}

.about-image img{

    border-radius:18px;
    box-shadow:0 20px 45px rgba(0,0,0,.15);

}

.about h2{

    font-size:2.5rem;
    margin-bottom:25px;

}

.about p{

    margin-bottom:20px;

}

/* ===========================
   FEATURES
=========================== */

.feature{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;

    margin-bottom:120px;

}

.feature.reverse .feature-image{

    order:2;

}

.feature.reverse .feature-text{

    order:1;

}

.feature-image img{

    border-radius:18px;
    box-shadow:0 18px 40px rgba(0,0,0,.15);

}

.feature-text h2{

    font-size:2.2rem;
    margin-bottom:20px;

}

.feature ul{

    margin-top:25px;

}

.feature li{

    margin-bottom:14px;
    list-style:none;

}

/* ===========================
   BENEFITS
=========================== */

.benefits{

    background:#F7FAF8;
    text-align:center;

}

.benefits h2{

    font-size:2.5rem;
    margin-bottom:50px;

}

.benefit-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;

}

.benefit-card{

    background:white;
    padding:35px;
    border-radius:18px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.benefit-card:hover{

    transform:translateY(-8px);

}

.benefit-card h3{

    margin-bottom:18px;

}

/* ===========================
   INFO CARDS
=========================== */

.info-section{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;

}

.info-card{

    background:white;
    border-left:6px solid #1D6B3A;
    border-radius:18px;
    padding:35px;

    box-shadow:0 12px 28px rgba(0,0,0,.08);

}

.info-card h3{

    margin-bottom:20px;

}

.info-card ul{

    padding-left:20px;

}

.info-card li{

    margin-bottom:12px;

}

/* ===========================
   GALLERY
=========================== */

.section-heading{

    text-align:center;
    margin-bottom:55px;

}

.section-heading h2{

    font-size:2.5rem;
    margin-bottom:15px;

}

.gallery-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;

}

.gallery-grid figure{

    overflow:hidden;
    border-radius:18px;

    box-shadow:0 10px 25px rgba(0,0,0,.1);

}

.gallery-grid img{

    height:280px;
    object-fit:cover;

    transition:.4s;

}

.gallery-grid img:hover{

    transform:scale(1.05);

}

.gallery-grid figcaption{

    background:white;
    padding:18px;

    text-align:center;

    font-weight:600;
    color:#184F2D;

}

.otl-experience-gallery .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:1200px;
    margin:auto;
}

.otl-experience-gallery .gallery-grid img{
    height:auto;
    aspect-ratio:3 / 2;
    object-fit:cover;
    filter:brightness(1.04) contrast(1.03) saturate(1.04);
}

.otl-experience-gallery img[src$="otl-mentorship-web.jpg"]{
    filter:brightness(1.16) contrast(.96) saturate(1.05);
}

.feature-image .internship-photo{
    width:100%;
    height:auto;
    display:block;
}

.feature-image .coursework-photo{
    width:100%;
    height:auto;
    aspect-ratio:3 / 2;
    object-fit:cover;
    object-position:50% 70%;
    filter:brightness(1.04) saturate(.94);
}

.otl-experience-gallery .gallery-grid figcaption{
    padding:22px 24px;
    text-align:left;
}

.otl-experience-gallery figcaption strong{
    display:block;
    font-size:1.15rem;
    line-height:1.35;
}

.otl-experience-gallery figcaption span{
    display:block;
    margin-top:8px;
    color:#536057;
    font-size:1rem;
    font-weight:400;
    line-height:1.6;
}

@media(max-width:600px){
    .otl-experience-gallery .gallery-grid{
        grid-template-columns:1fr;
    }
}

/* ===========================
   CTA
=========================== */

.cta{

    background:#184F2D;
    color:white;
    text-align:center;

}

.cta h2{

    color:white;
    font-size:2.8rem;

    margin-bottom:20px;

}

.cta p{

    color:white;
    max-width:700px;

    margin:auto auto 35px;

}

.cta a{

    display:inline-block;

    background:#F4C542;
    color:#184F2D;

    text-decoration:none;

    padding:16px 40px;

    border-radius:40px;

    font-weight:bold;

}

/* ===========================
   RESPONSIVE
=========================== */

@media(max-width:1000px){

.stats,
.about,
.feature,
.info-section,
.gallery-grid,
.benefit-grid{

grid-template-columns:1fr;

}

.feature.reverse .feature-image,
.feature.reverse .feature-text{

order:initial;

}

.page-hero h1{

font-size:2.8rem;

}

.about,
.feature{

gap:45px;

}

}
