/* ======================================================
   MEDIA HERO
====================================================== */

.media-hero{
    position:relative;
    min-height:100vh;

    display:flex;
    align-items:flex-end;

    overflow:hidden;

    background:var(--charcoal);
}

/* ==========================================
   Background Media
========================================== */

.media-hero-media{
    position:absolute;
    inset:0;
    overflow:hidden;
}

.media-hero-image{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;

    /* Shift image slightly right like Project page */
    object-position:65% center;

    transform:scale(1.02);

    z-index:0;
}

/* ==========================================
   Overlay
========================================== */

.media-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;

    background:
        linear-gradient(
            90deg,
            rgba(10,15,20,.88) 0%,
            rgba(10,15,20,.72) 35%,
            rgba(10,15,20,.45) 65%,
            rgba(10,15,20,.22) 100%
        ),

        linear-gradient(
            180deg,
            rgba(0,0,0,.10) 0%,
            rgba(0,0,0,.78) 100%
        );
}

/* ==========================================
   Topographic Overlay
========================================== */

.media-hero::before{
    content:"";

    position:absolute;
    inset:0;

    z-index:2;

    pointer-events:none;

    background:
        radial-gradient(
            ellipse at 30% 20%,
            rgba(198,165,90,.08),
            transparent 55%
        ),

        repeating-linear-gradient(
            115deg,
            rgba(255,255,255,.03) 0px,
            rgba(255,255,255,.03) 2px,
            transparent 2px,
            transparent 90px
        );

    opacity:.35;
}

/* ==========================================
   Cinematic Vignette
========================================== */

.media-hero::after{
    content:"";

    position:absolute;
    inset:0;

    z-index:3;

    pointer-events:none;

    background:
        radial-gradient(
            ellipse at center,
            transparent 35%,
            rgba(0,0,0,.18) 100%
        );
}

/* ==========================================
   Hero Content
========================================== */

.media-hero-content{
    position:relative;

    z-index:5;

    width:100%;

    padding:80px 0 80px;
}

.media-hero .eyebrow{
    margin-bottom:26px;
}

.media-hero h1{
    max-width:780px;

    color:var(--white);

    font-size:clamp(2.4rem,4.8vw,4.3rem);

    line-height:1.12;

    margin-bottom:28px;
}

.media-hero p{
    max-width:640px;

    color:rgba(255,255,255,.78);

    font-size:1.03rem;

    line-height:1.75;

    font-weight:300;

    margin-bottom:18px;
}

.media-hero-buttons{
    display:flex;
    flex-wrap:wrap;

    gap:18px;

    margin-top:40px;
}

/* ==========================================
   Hero Tag
========================================== */

.media-hero-tag{
    position:absolute;

    top:120px;
    right:48px;

    z-index:6;

    padding:6px 12px;

    font-size:.62rem;

    letter-spacing:.14em;

    text-transform:uppercase;

    color:rgba(255,255,255,.50);

    border:1px solid rgba(255,255,255,.18);

    background:rgba(10,15,20,.25);

    backdrop-filter:blur(8px);
}

/* ==========================================
   Responsive
========================================== */

@media(max-width:992px){

    .media-hero-content{
        padding:80px 0 80px;
    }

    .media-hero h1{
        max-width:680px;
    }

}

@media(max-width:768px){

    .media-hero{
        min-height:85vh;
    }

    .media-hero-content{
        padding:80px 0 70px;
    }

    .media-hero-tag{
        top:90px;
        right:24px;
    }

    .media-hero-image{
        object-position:72% center;
    }

}

@media(max-width:576px){

    .media-hero-content{
        padding:80px 0 0px;
    }

    .media-hero h1{
        font-size:clamp(2rem,9vw,3rem);
    }

    .media-hero p{
        font-size:.96rem;
    }

    .media-hero-tag{
        display:none;
    }

    .media-hero-buttons{
        flex-direction:column;
        align-items:flex-start;
    }

}

  /* ---------- Feature Update ---------- */
.overview-layout{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
@media(max-width:960px){ .overview-layout{ grid-template-columns:1fr; gap:20px; } }
.overview-copy p{ color:rgba(255,255,255,0.72); font-weight:300; margin-top:18px; max-width:520px; }
.overview-copy h2{ margin-top:20px; font-size:clamp(1.7rem,2.8vw,2.4rem); line-height:1.22; color:var(--white); }
.overview-link{ margin-top:30px; }
.overview-media .image-frame--compact{ aspect-ratio:4/3.4; margin-top:0; overflow:hidden; border-radius:4px; }
.overview-media .image-frame--compact{
    width:420px;
    aspect-ratio:1;
    margin:auto;
    border-radius:50%;
    overflow:hidden;
    border:4px solid rgba(198,165,90,.35);
    box-shadow:0 30px 60px rgba(0,0,0,.35);
}

.overview-media .image-frame--compact img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .6s ease;
}

.overview-media .image-frame--compact:hover img{
    transform:scale(1.06);
}
.overview-media .image-frame--compact:hover img{ transform:scale(1.05); }

/* =====================================================
   ARTICLE LINK
===================================================== */

.article-link{

    display:inline-flex;
    align-items:center;
    gap:12px;

    position:relative;

    margin-top:18px;

    font-family:var(--sans);
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    color:var(--gold);

    transition:color .35s ease;

}

.article-link::after{

    content:"";

    position:absolute;
    left:0;
    bottom:-10px;

    width:110px;
    height:2px;

    background:var(--gold);

    transition:width .35s ease;

}

.article-link svg{

    width:16px;
    height:16px;

    transition:transform .35s ease;

}

.article-link:hover{

    color:var(--gold);

}

.article-link:hover::after{

    width:135px;

}

.article-link:hover svg{

    transform:translateX(7px);

}

/* ===================================================
   LATEST NEWS
=================================================== */

.latest-news{
    background:var(--off-white);
}

.news-header{

    display:flex;
    justify-content:space-between;
    align-items:flex-end;

    margin-bottom:60px;

}

.news-header .section-head{

    margin-bottom:0;

}

.btn-link{

    display:inline-flex;
    align-items:center;
    gap:12px;

    font-family:var(--sans);
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    color:var(--gold);

    transition:all .35s ease;

}

.btn-link svg{

    width:15px;
    height:15px;

    transition:transform .35s ease;

}

.btn-link:hover{

    color:var(--navy);

}

.btn-link:hover svg{

    transform:translateX(5px);

}

/* ===================================================
   NEWS GRID
=================================================== */

.news-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;

}

.news-card{

    display:flex;
    flex-direction:column;

    background:#fff;

    border:1px solid var(--line-dark);

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

}

.news-card:hover{

    transform:translateY(-8px);

    border-color:rgba(198,165,90,.25);

    box-shadow:0 18px 45px rgba(15,17,19,.08);

}

/* ===================================================
   IMAGE
=================================================== */

.news-image{

    display:block;

    overflow:hidden;

    aspect-ratio:16/10;

}

.news-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:transform .55s ease;

}

.news-card:hover .news-image img{

    transform:scale(1.05);

}

/* ===================================================
   CONTENT
=================================================== */

.news-content{

    display:flex;
    flex-direction:column;
    flex:1;

    padding:30px;

}

.news-category{

    display:inline-flex;
    align-items:center;

    margin-bottom:16px;

    font-size:.72rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;

    color:var(--gold);

}

.news-content h3{

    margin:0 0 18px;

    font-size:1.55rem;
    line-height:1.25;

}

.news-content h3 a{

    transition:color .3s ease;

}

.news-card:hover h3 a{

    color:var(--navy);

}

.news-content p{

    flex:1;

    margin:0 0 32px;

    color:#666F75;

    font-size:.97rem;

    line-height:1.8;

}

/* ===================================================
   ARTICLE LINK
=================================================== */

.news-content .article-link{

    display:inline-flex;
    align-items:center;
    gap:10px;

    position:relative;

    width:max-content;

    font-size:.78rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;

    color:var(--gold);

    transition:all .35s ease;

}

.news-content .article-link::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-8px;

    width:95px;
    height:2px;

    background:var(--gold);

    transition:width .35s ease;

}

.news-content .article-link svg{

    width:15px;
    height:15px;

    transition:transform .35s ease;

}

.news-content .article-link:hover{

    color:var(--navy);

}

.news-content .article-link:hover svg{

    transform:translateX(5px);

}

.news-content .article-link:hover::after{

    width:118px;

}

/* ===================================================
   RESPONSIVE
=================================================== */

@media (max-width:1024px){

    .news-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:768px){

    .news-header{

        flex-direction:column;
        align-items:flex-start;
        gap:24px;

    }

    .news-grid{

        grid-template-columns:1fr;

    }

    .news-content{

        padding:26px;

    }

}

/* ===================================================
MEDIA RESOURCES
=================================================== */

.media-resources{

    background:var(--charcoal);

}

.media-resources .section-head{

    max-width:620px;
    margin-bottom:60px;

}

.media-resources .section-head h2{

    color:var(--white);
    margin-top:18px;

}

.media-resources .section-head p{

    color:rgba(255,255,255,.68);
    margin-top:18px;
    max-width:560px;

}

/* ===========================
GRID
=========================== */

.resource-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;

}

/* ===========================
CARD
=========================== */

.resource-card{

    background:var(--charcoal-light);

    border:1px solid rgba(255,255,255,.05);

    padding:48px 34px;

    text-align:center;

    transition:
        transform .35s ease,
        border-color .35s ease,
        background .35s ease;

}

.resource-card:hover{

    transform:translateY(-6px);

    border-color:rgba(198,165,90,.45);

    background:#2d3035;

}

/* ===========================
ICON
=========================== */

.resource-icon{

    width:72px;
    height:72px;

    margin:0 auto 28px;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:2.2rem;

    color:var(--gold);

}

/* If using SVG instead of emoji */

.resource-icon svg{

    width:42px;
    height:42px;

    stroke:var(--gold);

}

/* ===========================
TITLE
=========================== */

.resource-card h3{

    color:var(--white);

    font-size:1.35rem;

    line-height:1.35;

    margin-bottom:16px;

}

/* ===========================
DESCRIPTION
=========================== */

.resource-card p{

    color:rgba(255,255,255,.66);

    font-size:.96rem;

    line-height:1.75;

    max-width:240px;

    margin:0 auto 30px;

}

/* ===========================
LINK
=========================== */

.resource-card .article-link{

    justify-content:center;

}

/* ===========================
RESPONSIVE
=========================== */

@media(max-width:1100px){

    .resource-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:700px){

    .resource-grid{

        grid-template-columns:1fr;

    }

    .resource-card{

        padding:38px 28px;

    }

}

=============================================

/* ==========================================
   PROJECT GALLERY
========================================== */

.project-gallery {
    padding: 100px 0;
    background: #f8f8f6;
}

.project-gallery .wrap {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
    padding: 0 40px;
}

/* ==========================================
   SECTION HEADER
========================================== */

.section-head {
    margin-bottom: 40px;
}

.section-kicker {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #C6A55A;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.section-kicker .line {
    width: 60px;
    height: 1px;
    background: #C6A55A;
}

/* ==========================================
   GALLERY GRID
========================================== */

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
}

.gallery-item {
    display: block;
    position: relative;
    width: 100%;
    height: 170px;
    overflow: hidden;
    background: #ddd;
}

.gallery-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
}

.gallery-item:hover img {
    transform: scale(1.08);
}

.gallery-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.15);
    opacity: 0;
    transition: opacity .3s ease;
    z-index: 1;
}

.gallery-item:hover::before {
    opacity: 1;
}

/* ==========================================
   BUTTON
========================================== */

.gallery-footer {
    margin-top: 40px;
    text-align: center;
}

.gallery-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #C6A55A;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 13px;
    font-weight: 700;
    transition: color .3s ease;
}

.gallery-btn span {
    transition: transform .3s ease;
}

.gallery-btn:hover span {
    transform: translateX(5px);
}

/* ==========================================
   RESPONSIVE
========================================== */

@media (max-width: 1200px) {

    .gallery-grid {
        grid-template-columns: repeat(4, 1fr);
    }

}

@media (max-width: 992px) {

    .gallery-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

@media (max-width: 768px) {

    .project-gallery {
        padding: 80px 0;
    }

    .project-gallery .wrap {
        padding: 0 20px;
    }

    .gallery-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .gallery-item {
        height: 180px;
    }

    .section-kicker {
        justify-content: center;
    }

}

@media (max-width: 480px) {

    .gallery-grid {
        grid-template-columns: 1fr;
    }

    .gallery-item {
        height: 220px;
    }

}
/* ===================================================
INVESTOR DOWNLOADS
=================================================== */

.investor-downloads{

    background:var(--white);

}

.downloads-header{

    display:flex;
    justify-content:space-between;
    align-items:flex-end;

    margin-bottom:50px;

}

.downloads-header .section-head{

    margin:0;

}

.downloads-grid{

    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;

}

/* ===========================
CARD
=========================== */

.download-card{

    display:flex;
    align-items:center;

    gap:18px;

    padding:24px;

    background:#fff;

    border:1px solid rgba(13,41,67,.08);

    transition:
        border-color .35s ease,
        transform .35s ease,
        box-shadow .35s ease;

}

.download-card:hover{

    transform:translateY(-4px);

    border-color:rgba(198,165,90,.45);

    box-shadow:0 12px 28px rgba(0,0,0,.06);

}

/* ===========================
ICON
=========================== */

.download-icon{

    width:52px;
    height:52px;

    display:flex;
    justify-content:center;
    align-items:center;

    flex-shrink:0;

    color:var(--gold);

}

.download-icon svg{

    width:42px;
    height:42px;

    stroke:currentColor;

}

/* ===========================
INFO
=========================== */

.download-info{

    flex:1;

}

.download-info h3{

    margin:0 0 6px;

    color:var(--charcoal);

    font-size:1rem;

    line-height:1.35;

}

.download-info span{

    display:block;

    font-size:.88rem;

    color:#70767d;

    margin-bottom:4px;

}

.download-info small{

    display:block;

    font-size:.82rem;

    color:#9aa1a8;

}

/* ===========================
BUTTON
=========================== */

.download-btn{

    display:flex;
    align-items:center;
    justify-content:center;

    width:38px;
    height:38px;

    color:var(--charcoal);

    transition:
        color .3s ease,
        transform .3s ease;

}

.download-btn svg{

    width:22px;
    height:22px;

}

.download-card:hover .download-btn{

    color:var(--gold);

    transform:translateY(2px);

}

/* ===========================
VIEW ALL LINK
=========================== */

.downloads-header .btn-link{

    flex-shrink:0;

}

/* ===========================
RESPONSIVE
=========================== */

@media(max-width:1100px){

    .downloads-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .downloads-header{

        flex-direction:column;
        align-items:flex-start;

        gap:26px;

    }

    .downloads-grid{

        grid-template-columns:1fr;

    }

}