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

html{
    scroll-behavior:smooth;
}

body{
    width:100%;
    overflow-x:hidden;
    font-family:Arial, Helvetica, sans-serif;
    line-height:1.6;
    color:#222;
    background:#fff;
}

img{
    max-width:100%;
}

/* ==============================
   TRANSPARENT HERO HEADER
============================== */

.header{
    position:absolute;
    top:0;
    width:100%;
    z-index:1000;

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

    padding:20px 48px;
    background:transparent;
    background-image:none;
    border:0;
    box-shadow:none;

    animation:mdgHeaderReveal .85s ease both;
}

.header::before{
    content:none;
    display:none;
}

.header *{
    position:relative;
    z-index:1;
}

.logo-container{
    flex:0 0 auto;
    display:flex;
    align-items:center;
}

.logo-container a{
    display:block;
    line-height:0;
}

.logo-container img{
    width:300px;
    max-width:100%;
    height:auto;
    display:block;
    filter:
        drop-shadow(0 6px 12px rgba(0,0,0,.48))
        drop-shadow(0 0 16px rgba(52,170,255,.25));
    transition:transform .35s ease, filter .35s ease;
}

.logo-container img:hover{
    transform:translateY(-2px) scale(1.02);
    filter:
        drop-shadow(0 9px 18px rgba(0,0,0,.55))
        drop-shadow(0 0 22px rgba(52,170,255,.38));
}

.navigation{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:38px;
}

.navigation a{
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    font-size:15px;
    font-weight:800;
    letter-spacing:2.4px;
    line-height:1;
    padding:8px 0;
    text-shadow:0 2px 10px rgba(0,0,0,.75);
    transition:color .3s ease, transform .3s ease, opacity .3s ease;
    animation:mdgNavReveal .65s ease both;
}

.navigation a:nth-child(1){animation-delay:.12s;}
.navigation a:nth-child(2){animation-delay:.18s;}
.navigation a:nth-child(3){animation-delay:.24s;}
.navigation a:nth-child(4){animation-delay:.30s;}
.navigation a:nth-child(5){animation-delay:.36s;}

.navigation a::before,
.navigation a::after{
    content:none;
    display:none;
}

.navigation a:hover{

    color:#C79A45;

    text-shadow:
        0 0 8px rgba(199,154,69,.35),
        0 0 18px rgba(255,235,180,.25);

    transform:translateY(-2px);

}

.header-contact{
    display:none;
}

@keyframes mdgHeaderReveal{
    from{
        opacity:0;
        transform:translateY(-22px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes mdgNavReveal{
    from{
        opacity:0;
        transform:translateY(-10px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ==========================================
   LUXURY HERO BUTTONS
========================================== */

.primary-btn,
.secondary-btn{

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

    min-width:230px;
    height:60px;

    padding:0 34px;

    border-radius:6px;

    border:1px solid rgba(214,176,111,.75);

    background:rgba(0,0,0,.18);

    backdrop-filter:blur(4px);

    color:#ffffff;

    font-size:16px;
    font-weight:700;
    letter-spacing:1.6px;
    text-transform:uppercase;

    text-decoration:none;

    transition:all .35s ease;
}

.primary-btn:hover,
.secondary-btn:hover{

    background:linear-gradient(
        135deg,
        #A8782B 0%,
        #C79A45 45%,
        #E6C88B 100%
    ) !important;

    border-color:#E6C88B;

    color:#ffffff !important;

    transform:translateY(-3px);

    box-shadow:
        0 10px 28px rgba(0,0,0,.28),
        0 0 18px rgba(214,176,111,.28);

}

.primary-btn{

    transition:
        background .35s ease,
        color .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}


.hero-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
    margin-top:30px;
}

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

.hero{
    position:relative;
    min-height:90vh;
    display:flex;
    align-items:center;

    background-image:
        linear-gradient(
            90deg,
            rgba(0,0,0,.58) 0%,
            rgba(0,0,0,.32) 42%,
            rgba(0,0,0,.04) 100%
        ),
        url('../images/new-hero-luxury-home-html.jpg');

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

.hero-content{
    position:relative;
    z-index:2;
    max-width:820px;
    width:100%;
    padding-left:80px;
    padding-right:30px;
    color:#fff;
}

.hero-tagline{
    display:block;
    color:#D9DDE3;
    font-size:17px;
    font-weight:800;
    letter-spacing:4px;
    margin-bottom:25px;
    text-transform:uppercase;
}

.hero-content h1{
    font-size:78px;
    line-height:.95;
    color:#fff;
    margin-bottom:25px;
    font-weight:800;
}

.silver-text{
    color:#D9DDE3;
}

.hero-subtext{
    color:#fff;
    font-size:23px;
    line-height:1.6;
    max-width:650px;
    margin-bottom:5px;
}

/* ==============================
   SECTIONS / HEADINGS
============================== */

.section-heading{
    text-align:center;
}

.section-heading span{
    display:block;
    font-size:21px;
    font-weight:800;
    letter-spacing:4px;
    text-transform:uppercase;
    background:linear-gradient(90deg,#1673D1,#42B6FF,#7EDCFF,#42B6FF,#1673D1);
    background-size:300% auto;
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    margin-bottom:18px;
}

.section-heading h2{
    font-size:40px;
    margin-bottom:15px;
}

.section-heading p{
    max-width:900px;
    margin:0 auto;
    font-size:21px;
    line-height:1.8;
    color:#555;
}

/* ==============================
   TRUST BAR
============================== */

.trust-bar{
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.96),
            rgba(229,216,198,.96) 42%,
            rgba(248,244,236,.98) 70%,
            rgba(211,193,169,.96)
        );
    color:#17202b;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    padding:40px 25px;
    text-align:center;
    gap:12px;
    border-top:1px solid rgba(95,75,52,.18);
    border-bottom:1px solid rgba(95,75,52,.18);
}

.trust-item h3{
    font-size:38px;
    color:#17202b;
    margin-bottom:8px;
    font-weight:800;
}

.trust-item p{
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:2px;
    color:#1673D1;
    font-weight:700;
}

/* ==============================
   SERVICES
============================== */

.services-section{
    padding:90px 50px;
    background:#fff;
}

.services-heading{
    max-width:1200px;
    margin:0 auto 45px;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.service-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 5px 20px rgba(0,0,0,.12);
    transition:.3s ease;
    display:flex;
    flex-direction:column;
}

.service-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.15),0 0 20px rgba(77,163,255,.25);
}

.service-card img{
    width:100%;
    height:260px;
    object-fit:cover;
    display:block;
}

.service-content{
    padding:22px;
    display:flex;
    flex-direction:column;
    flex-grow:1;
}

.service-tag{
    display:inline-block;
    background:#fff;
    color:#1E5CC8;
    border:2px solid #1E5CC8;
    padding:8px 18px;
    border-radius:30px;
    font-size:12px;
    font-weight:800;
    letter-spacing:1px;
    margin-bottom:15px;
    text-align:center;
    align-self:flex-start;
}

.service-content h3{
    font-size:27px;
    margin-bottom:14px;
}

.service-content p{
    color:#666;
    line-height:1.8;
    margin-bottom:20px;
    flex-grow:1;
}

.service-link{
    display:block;
    text-align:center;
    background:linear-gradient(90deg,#0B4DA2 0%,#1673D1 35%,#1E90FF 70%,#42B6FF 100%);
    color:#fff;
    border-radius:10px;
    box-shadow:0 4px 15px rgba(22,115,209,.25);
}

/* ==============================
   HOMEPAGE FEATURED PROJECTS
============================== */

.featured-projects{

    position:relative;
    overflow:hidden;

    padding:100px 50px;

    background-image:
        linear-gradient(
            180deg,
            rgba(5,10,16,.72) 0%,
            rgba(8,15,22,.55) 35%,
            rgba(6,12,18,.72) 100%
        ),
        url('../images/elegant-modern-mansion-at-dusk.png');

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

    color:#fff;
}

.projects-heading h2{
    font-size:50px;
    margin-bottom:15px;
    color:#fff;
}

.projects-heading p{
    max-width:1000px;
    width:100%;
    font-size:22px;
    line-height:1.8;
    color:#D9DDE3;
    margin:0 auto 12px;
}

.project-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
    margin-top:60px;
}

.project-card{
    position:relative;
    overflow:hidden;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.25);
    background:#fff;
    display:flex;
    flex-direction:column;
    transition:.35s ease;
}

.project-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 50px rgba(0,0,0,.25);
}

.project-card img{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    transition:.45s ease;
}

.project-card:hover img{
    transform:scale(1.04);
}

.project-overlay{
    background:#fff;
    color:#222;
    padding:22px;
    display:flex;
    flex-direction:column;
    flex-grow:1;
}

.project-tag{
    display:block;
    margin-bottom:16px;

    color:#A8782B;

    font-size:14px;
    font-weight:800;
    letter-spacing:4px;
    text-transform:uppercase;
    text-align:center;

    text-shadow:
        0 0 8px rgba(168,120,43,.28);
}

.project-overlay h3{
    font-size:24px;
    margin-bottom:12px;
    color:#081423;
}

.project-overlay p{
    color:#666;
    line-height:1.7;
    margin-bottom:18px;
    flex-grow:1;
}

.project-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:14px 20px;
    border:2px solid #111;
    color:#111;
    text-decoration:none;
    font-weight:800;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:.35s ease;
}

.project-link:hover{
    background:#111;
    color:#fff;
    transform:translateY(-2px);
}

/* ==============================
   SHOWCASE / TESTIMONIALS / CTA / FOOTER
============================== */

.video-showcase{
    position:relative;
    width:100%;
    height:400px;
    overflow:hidden;
}

.video-showcase video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.video-overlay{
    position:absolute;
    inset:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    z-index:2;
    background:rgba(0,0,0,.35);
    color:#fff;
    padding:20px;
}

.video-overlay h2{
    font-size:42px;
    margin-bottom:20px;
}

.video-overlay p{
    font-size:20px;
    margin-bottom:30px;
}

.showcase-strip img{
    width:100%;
    display:block;
}


.cta-section{
    padding:90px 50px;
    text-align:center;
    background:linear-gradient(rgba(8,20,35,.92),rgba(8,20,35,.92)),url('../images/black-brick.jpg');
    background-size:cover;
    background-position:center;
    color:#fff;
}

.cta-content h2{
    font-size:50px;
    line-height:1.2;
    max-width:760px;
    margin:0 auto 20px;
    color:#fff;
}

.cta-content p{
    font-size:22px;
    margin-bottom:32px;
    color:#D9DDE3;
}

.footer{
    background-image:url('../images/black-brick.jpg');
    background-size:cover;
    background-position:center;
    padding:60px 50px;
    color:#fff;
}

.footer-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:40px;
    margin-bottom:40px;
}

.footer-logo{
    height:70px;
    margin-bottom:15px;
}

.footer-column h4{
    font-size:24px;
    margin-bottom:20px;
}

.footer ul{
    list-style:none;
}

.footer li{
    margin-bottom:10px;
}

.footer-bottom{
    text-align:center;
    border-top:1px solid rgba(255,255,255,.15);
    padding-top:20px;
}

/* ==============================
   INNER PAGE HELPERS
============================== */

.hero.portfolio-hero{
    height:420px;
    min-height:420px;
}

.hero.portfolio-hero .hero-content{
    padding-top:0;
    padding-left:60px;
}

.hero.portfolio-hero .hero-content h1{
    font-size:50px;
    line-height:1;
}

.custom-home-hero{
    background-image:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.15)),url('../images/luxury-custom-home-hero.jpg');
}

.roofing-hero{
    background-image:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.20)),url('../images/roofing-hero.jpg');
}

.gallery-section,
.project-details{
    padding:80px 50px;
    background:#fff;
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    margin-top:40px;
    align-items:center;
}

.gallery-grid img,
.project-details img{
    width:100%;
    height:350px;
    object-fit:cover;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.project-details ul{
    padding-left:25px;
    line-height:2;
}

.process-section{
    padding:50px 50px 70px;
}

.page-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    margin-top:40px;
    flex-wrap:wrap;
}

/* ==============================
   LUXURY PORTFOLIO PAGE
   Clean version - no old portfolio-card conflicts
============================== */

body.luxury-page{
    background:#050b12;
}

.luxury-hero{
    position:relative;
    overflow:hidden;
    background:#050b12;
}

.luxury-hero .hero-image{
    display:block;
    width:100%;
    min-height:620px;
    object-fit:cover;
    object-position:center top;
}

.hero-overlay{
    position:absolute;
    top:50%;
    left:60px;
    transform:translateY(-50%);
    max-width:650px;
    color:#fff;
    z-index:5;
}

.hero-overlay .hero-tagline{
    font-size:14px;
    letter-spacing:5px;
    margin-bottom:18px;
}

.hero-overlay h1{
    font-family:Georgia,'Times New Roman',serif;
    font-size:70px;
    line-height:.98;
    font-weight:400;
    margin-bottom:22px;
    letter-spacing:0;
    background:none;
    -webkit-background-clip:initial;
    -webkit-text-fill-color:initial;
    color:#fff;
    filter:none;
}

.hero-overlay p{
    font-size:21px;
    line-height:1.7;
    max-width:600px;
    margin-bottom:30px;
}

.luxury-page .portfolio-intro{
    background:#050b12;
    color:#fff;
    padding:70px 40px 24px;
}

.luxury-page .portfolio-intro .section-heading h2{
    font-family:Georgia,'Times New Roman',serif;
    color:#fff;
    font-size:48px;
    font-weight:400;
}

.luxury-page .portfolio-intro .section-heading p{
    color:#d9dde3;
}

.luxury-page .cta-section{
    position:relative;

    background:
        linear-gradient(
            rgba(255, 250, 240, .30),
            rgba(255, 250, 240, .30)
        ),
        url('../images/luxury-home.jpg');

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

.luxury-page .cta-section::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;

    background:linear-gradient(
        90deg,
        transparent,
        #d4b276,
        #a8782b,
        #d4b276,
        transparent
    );
}

.luxury-page .cta-content h2{
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    font-weight:400;
}

/*==================================
SECTION DIVIDER
==================================*/

.section-divider{

    height:3px;

    background:linear-gradient(
        to right,
        transparent,
        #ffffff,
        #3EA7FF,
        #ffffff,
        transparent
    );

    box-shadow:0 0 20px rgba(62,167,255,.5);

}

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


/* ==============================
   LUXURY FOOTER
============================== */

.luxury-footer{
    position:relative;
    background:
        linear-gradient(rgba(2,7,12,.88), rgba(2,7,12,.94)),
        url('../images/black-brick.jpg');
    background-size:cover;
    background-position:center;
    color:#fff;
    padding-top:0;
}

.footer-topline{
    height:2px;
    width:100%;
    background:linear-gradient(
        to right,
        transparent,
        #6f7882,
        #ffffff,
        #6f7882,
        transparent
    );
    box-shadow:0 0 18px rgba(255,255,255,.35);
}

.luxury-footer .footer-grid{
    max-width:1350px;
    margin:0 auto;
    padding:42px 50px 24px;

    display:grid;

    grid-template-columns:
        minmax(320px,1.4fr)
        minmax(240px,1fr)
        minmax(320px,1fr);

    justify-content:space-between;
    align-items:start;

    column-gap:110px;
}

.luxury-footer .footer-logo{
    width:150px;
    height:auto;
    display:block;
    margin-bottom:18px;
    filter:
        drop-shadow(0 0 8px rgba(255,255,255,.30))
        drop-shadow(0 0 18px rgba(62,167,255,.25));
}

.luxury-footer p{
    color:#e2e8f0;
    font-size:17px;
    line-height:1.8;
    max-width:430px;
}

.footer-badge{
    margin-top:10px;
    display:inline-block;
    padding:12px 18px;
    border:1px solid rgba(255,255,255,.25);
    color:#d9dde3;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
    background:rgba(255,255,255,.05);
}

.luxury-footer h4{
    color:#fff;
    font-size:22px;
    margin-bottom:22px;
    letter-spacing:1px;
}

.luxury-footer ul{
    list-style:none;
    padding:0;
    margin:0;
}

.luxury-footer li{
    margin-bottom:14px;
    color:#d9dde3;
    font-size:16px;
}

.luxury-footer a{
    color:#d9dde3;
    text-decoration:none;
    transition:.3s;
}

.luxury-footer a:hover{
    color:#42b6ff;
}

.footer-cta{
    display:inline-block;
    margin-top:24px;
    padding:14px 22px;
    border-radius:6px;
    background:linear-gradient(90deg,#B8C2CC,#ffffff,#B8C2CC);
    color:#081423 !important;
    font-weight:900;
    text-decoration:none;
    box-shadow:
        0 0 18px rgba(255,255,255,.18);
    transition:all .35s ease;
}

.footer-cta:hover{
    transform:translateY(-3px);
    background:linear-gradient(90deg,#42B6FF,#ffffff,#42B6FF);
    color:#081423 !important;
    box-shadow:
        0 0 18px rgba(66,182,255,.55),
        0 0 40px rgba(66,182,255,.35),
        0 10px 30px rgba(0,0,0,.35);
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    padding:12px 22px;
    text-align:center;
    color:#d9dde3;
    font-size:14px;
}

/* ==============================
   CLEAN SERVICES PAGE
============================== */

.services-page{
    background:#fff;
}

.services-page-hero{
    min-height:68vh;
    display:flex;
    align-items:center;
    padding:90px 70px;
    color:#fff;
    background:
        linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.42)),
        url('../images/old-hero.jpg');
    background-size:cover;
    background-position:center;
}

.services-page-hero-content{
    max-width:850px;
}

.services-page-hero-content span,
.services-page-intro span,
.service-feature span{
    display:block;
    color:#42b6ff;
    font-weight:900;
    letter-spacing:4px;
    text-transform:uppercase;
    margin-bottom:14px;
}

.services-page-hero-content h1{
    font-size:68px;
    line-height:1;
    margin-bottom:24px;
}

.services-page-hero-content p{
    font-size:22px;
    line-height:1.6;
    max-width:720px;
    margin-bottom:32px;
}

.service-jump-nav{
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:18px;
    padding:18px 24px;
    background:#07111c;
    border-top:1px solid rgba(255,255,255,.12);
    border-bottom:1px solid rgba(255,255,255,.12);
    margin-bottom:0;
}

.service-jump-nav a{
    color:#d9dde3;
    text-decoration:none;
    font-size:13px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;
    transition:.3s ease;
}

.service-jump-nav a:hover{
    color:#42B6FF;
    text-shadow:0 0 12px rgba(66,182,255,.55);
}

.services-page-intro{
    text-align:center;
    padding:60px 30px 50px;
    max-width:950px;
    margin:auto;
}

.services-page-intro h2{
    font-size:48px;
    color:#081423;
    margin-bottom:18px;
}

.services-page-intro p{
    color:#555;
    font-size:20px;
    line-height:1.8;
}

.service-feature{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
    max-width:1350px;
    margin:0 auto;
    padding:75px 50px;
}

.service-feature.reverse img{
    order:2;
}

.service-feature a{
    display:block;
    overflow:hidden;
    border-radius:16px;
}

.service-feature a img{
    display:block;
    width:100%;
    transition:all .45s ease;
    cursor:zoom-in;
}

.service-feature a:hover img{
    transform:scale(1.03);
    filter:brightness(1.05);
}

.service-feature h2{
    font-size:46px;
    color:#081423;
    margin-bottom:18px;
}

.service-feature p{
    font-size:20px;
    line-height:1.75;
    color:#555;
    margin-bottom:24px;
}

.service-feature ul{
    margin:0 0 30px 22px;
    padding:0;
}

.service-feature li{
    font-size:17px;
    line-height:1.9;
    color:#222;
    font-weight:700;
}

.service-detail-btn{
    display:inline-block;
    width:auto;
    min-width:200px;
    max-width:280px;
    padding:11px 20px;
    border-radius:8px;
    background:linear-gradient(90deg,#0B4DA2,#1673D1,#42B6FF);
    color:#fff;
    text-decoration:none;
    font-weight:800;
    font-size:14px;
    letter-spacing:.3px;
    box-shadow:0 10px 24px rgba(22,115,209,.22);
    transition:all .35s ease;
}

.service-detail-btn:hover{
    transform:translateY(-3px) scale(1.02);
    background:linear-gradient(90deg,#d8e0e8,#ffffff,#d8e0e8);
    color:#081423;
    box-shadow:
        0 0 18px rgba(66,182,255,.45),
        0 0 38px rgba(66,182,255,.28),
        0 12px 30px rgba(0,0,0,.30);
}

.services-cta-panel{
    margin-top:50px;
    padding:80px 60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    background:#07111c;
    color:#fff;
}

.services-cta-panel span{
    color:#42b6ff;
    font-weight:900;
    letter-spacing:4px;
}

.services-cta-panel h2{
    font-size:46px;
    margin:12px 0;
}

.services-cta-panel p{
    font-size:20px;
    color:#d9dde3;
}

/* ===== SERVICES CTA BUTTON ===== */

.services-cta-panel .primary-btn{
    transition:all .35s ease;
}

.services-cta-panel .primary-btn:hover{
    transform:translateY(-3px);
    background:linear-gradient(90deg,#42B6FF,#ffffff,#42B6FF) !important;
    color:#081423 !important;

    box-shadow:
        0 0 18px rgba(66,182,255,.55),
        0 0 40px rgba(66,182,255,.35),
        0 12px 30px rgba(0,0,0,.35);
}

/* ==========================================
   SERVICES PAGE COLLAGE HERO
========================================== */

.services-collage-hero{
    background-image:
        linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.48),rgba(0,0,0,.18)),
        url('../images/services-hero-collage.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
}

#lightbox{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:99999;
}

#lightbox.active{
    display:flex;
}

#lightbox img{
    width:auto;
    max-width:92vw;
    max-height:88vh;
    object-fit:contain;
    border-radius:12px;
    box-shadow:0 0 60px rgba(0,0,0,.7);
}

#lightbox.active img{
    transform:scale(1.08);
}

#lightbox-close{
    position:absolute;
    top:25px;
    right:40px;
    color:white;
    font-size:48px;
    cursor:pointer;
}

/* ======================================
   HOME SERVICES INTRO
====================================== */

.home-services-heading{
    max-width:1100px;
    margin:0 auto 70px;
    text-align:center;
}

.home-services-heading h2{
    max-width:920px;
    margin:18px auto 30px;
}

.home-services-heading p{
    max-width:940px;
    margin:0 auto;
    font-size:22px;
    line-height:1.9;
    color:#555;
}

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

@media(max-width:1000px){
    .project-grid,
    .services-grid,
    .testimonial-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .hero-content h1{
        font-size:58px;
    }

    .hero-overlay h1{
        font-size:52px;
    }
}

@media(max-width:768px){
    .hero{
        min-height:68vh;
    }

    .hero-content{
        padding:45px 24px;
    }

    .hero-content h1{
        font-size:42px;
        line-height:1.08;
    }

    .hero-tagline{
        font-size:11px;
        letter-spacing:2px;
    }

    .hero-subtext{
        font-size:16px;
        line-height:1.5;
    }

    .hero-buttons{
        flex-direction:column;
        gap:12px;
    }

    .primary-btn,
    .secondary-btn{
        width:100%;
        text-align:center;
    }

    .trust-bar,
    .services-grid,
    .project-grid,
    .testimonial-grid,
    .footer-grid,
    .gallery-grid,
    .luxury-page .portfolio-grid{
        grid-template-columns:1fr;
    }

    .services-section,
    .featured-projects,
    .testimonials-section,
    .cta-section,
    .gallery-section,
    .project-details,
    .luxury-page .portfolio-section{
        padding-left:22px;
        padding-right:22px;
    }

    .section-heading h2,
    .projects-heading h2{
        font-size:34px;
    }

    .hero-image{
        min-height:520px;
        object-fit:cover;
        object-position:center top;
    }

    .hero-overlay{
        left:24px;
        right:24px;
        max-width:none;
    }

    .hero-overlay h1{
        font-size:42px;
    }

    .hero-overlay p{
        font-size:16px;
    }

    .luxury-page .portfolio-intro{
        padding:45px 22px 14px;
    }

    .luxury-page .portfolio-btn{
        padding:11px 24px;
        font-size:12px;
    }
}

/* =========================================================
   MDG FINAL GO-LIVE POLISH OVERRIDES
   Homepage, Luxury Portfolio, Contact, Footer, Mobile
========================================================= */

:root{
    --mdg-navy:#071522;
    --mdg-ink:#02070c;
    --mdg-blue:#3EA7FF;
    --mdg-silver:#d9dde3;
    --mdg-white:#ffffff;
}

body{background:#fff;color:#17202b;}

.hero{min-height:82vh;background-position:center center;}
.hero-content h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:74px;letter-spacing:.3px;}
.hero-tagline{font-size:14px;letter-spacing:5px;}
.primary-btn,.service-link{border-radius:8px;text-transform:uppercase;letter-spacing:.8px;}
.secondary-btn{border-radius:8px;text-transform:uppercase;letter-spacing:.8px;background:rgba(0,0,0,.16);}

.site-divider,
.section-divider{height:2px;width:88%;margin:0 auto;background:linear-gradient(to right,transparent,#6e7680,#fff,#9fa9b4,transparent);box-shadow:0 0 18px rgba(255,255,255,.25);}

.premium-services{
    position:relative;
    background:linear-gradient(180deg,#fff 0%,#f6f8fa 100%);
    padding-top:110px;
    padding-bottom:110px;
    border-top:1px solid rgba(8,20,35,.10);
    border-bottom:1px solid rgba(8,20,35,.10);
}

.premium-services::before{
    content:"";
    position:absolute;
    top:0;
    left:6%;
    width:88%;
    height:2px;
    background:linear-gradient(to right,transparent,#7b8490,#ffffff,#9fa9b4,transparent);
    box-shadow:
        0 0 18px rgba(66,182,255,.28),
        0 0 28px rgba(255,255,255,.25);
}

.premium-services::after{
    content:"";
    position:absolute;
    bottom:0;
    left:6%;
    width:88%;
    height:2px;
    background:linear-gradient(to right,transparent,#7b8490,#ffffff,#9fa9b4,transparent);
    box-shadow:
        0 0 18px rgba(66,182,255,.20),
        0 0 28px rgba(255,255,255,.18);
}

.premium-services .services-grid{
    max-width:1450px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:36px;
}
.premium-services .service-card{border:1px solid rgba(8,20,35,.12);border-radius:16px;box-shadow:0 18px 40px rgba(8,20,35,.12);overflow:hidden;}
.premium-services .service-card img{height:275px;}
.premium-services .service-content{padding:26px;}
.premium-services .service-content h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;color:#081423;}
.premium-services .service-tag{border-color:#1673D1;color:#1673D1;background:#fff;font-size:11px;letter-spacing:1.5px;}
.premium-services .service-link{
    margin-top:auto;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    line-height:1.2;
    padding:14px 18px;
    background:linear-gradient(90deg,#0B4DA2,#1673D1,#42B6FF);
    color:#fff;
    border:0;
}

.featured-projects{padding:95px 50px 105px;}
.project-card{border-radius:16px;border:1px solid rgba(255,255,255,.18);}
.project-link{border-radius:6px;}
.showcase-strip{background:#07111c;padding:0;}
.showcase-strip img{width:100%;display:block;border-top:2px solid rgba(255,255,255,.75);border-bottom:2px solid rgba(255,255,255,.75);}


.contact-section{padding:95px 50px;background:linear-gradient(rgba(4,10,18,.86),rgba(4,10,18,.90)),url('../images/black-brick.jpg');background-size:cover;background-position:center;color:#fff;}
.contact-wrap{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr 1.05fr;gap:50px;align-items:center;}
.contact-copy span{display:block;color:#42b6ff;font-weight:800;letter-spacing:4px;text-transform:uppercase;margin-bottom:16px;}
.contact-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:52px;font-weight:400;line-height:1.12;margin-bottom:20px;}
.contact-copy p{font-size:21px;line-height:1.8;color:#d9dde3;margin-bottom:28px;}
.contact-info-list{display:flex;flex-direction:column;gap:14px;}
.contact-info-list a,.contact-info-list span{color:#fff;text-decoration:none;font-weight:700;}
.contact-info-list i{color:#42b6ff;margin-right:10px;}
.contact-form{background:rgba(7,21,34,.78);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:34px;box-shadow:0 24px 60px rgba(0,0,0,.45);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-bottom:16px;padding:16px 18px;border:1px solid rgba(255,255,255,.20);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:16px;outline:none;}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.72);}
.contact-form select{color:#d9dde3;}
.contact-form textarea{min-height:130px;resize:vertical;}
.contact-form button{width:100%;cursor:pointer;}

.luxury-footer{background:linear-gradient(rgba(0,8,16,.86),rgba(0,8,16,.92)),url('../images/black-brick.jpg');background-size:cover;background-position:center;padding:70px 50px 30px;}
.luxury-footer .footer-grid{max-width:1320px;margin:0 auto 42px;}
.footer-brand p{max-width:340px;color:#d9dde3;}
.footer a{color:#fff;text-decoration:none;transition:.25s ease;}
.footer a:hover{color:#42b6ff;}
.footer-column h4{color:#fff;position:relative;padding-bottom:12px;}
.footer-column h4::after{content:'';position:absolute;left:0;bottom:0;width:52px;height:2px;background:linear-gradient(to right,#42b6ff,#d9dde3);}
.footer-bottom{max-width:1320px;margin:0 auto;color:#d9dde3;}

.compact-contact{padding:85px 50px;}


@media(max-width:1000px){

    .premium-services .services-grid,
    .project-grid,
    .testimonial-grid,
    .footer-grid{
        grid-template-columns:1fr;
    }

    .services-section,
    .featured-projects,
    .testimonials-section,
    .contact-section,
    .luxury-footer{
        padding-left:20px !important;
        padding-right:20px !important;
    }

} /* THIS CLOSING BRACKET WAS MISSING */


@media(max-width:768px){

    .hero{
        min-height:74vh;
        background-position:center center;
    }

    .hero-content{
        padding:35px 18px;
    }

    .hero-content h1{
        font-size:40px;
    }

    .hero-subtext{
        font-size:15px;
    }

    .trust-bar{
        grid-template-columns:1fr;
        padding:38px 22px;
    }

    .premium-services .services-grid,
    .project-grid,
    .testimonial-grid,
    .footer-grid{
        grid-template-columns:1fr;
    }

    .services-section,
    .featured-projects,
    .testimonials-section,
    .contact-section,
    .luxury-footer{
        padding-left:20px !important;
        padding-right:20px !important;
    }

    .showcase-strip img{
        min-height:230px;
        object-fit:cover;
        object-position:center;
    }

    .contact-copy h2{
        font-size:38px;
    }

    .form-row{
        grid-template-columns:1fr;
        gap:0;
    }

    .luxury-hero .hero-image{
        min-height:590px;
        object-position:center top;
    }

    .hero-overlay{
        left:20px;
        right:20px;
        max-width:none;
    }

    .hero-overlay h1{
        font-size:42px;
    }

    .hero-overlay p{
        font-size:15px;
    }

    .luxury-page .portfolio-section{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .luxury-page .portfolio-overlay{
        bottom:16px;
    }

    .luxury-page .portfolio-btn{
        font-size:11px;
        padding:10px 22px;
    }
}
/* ==============================
   HOMEPAGE SIMPLE SECTION BORDERS
============================== */

.home-page .premium-services{
    border-top:4px solid #d9dde3 !important;
    border-bottom:4px solid #d9dde3 !important;
    box-shadow:
        inset 0 16px 30px rgba(8,20,35,.04),
        inset 0 -16px 30px rgba(8,20,35,.04) !important;
}

.home-page .site-divider{
    height:4px !important;
    width:100% !important;
    margin:0 !important;
    background:linear-gradient(
        to right,
        #071522,
        #d9dde3,
        #42B6FF,
        #d9dde3,
        #071522
    ) !important;
    box-shadow:0 0 22px rgba(66,182,255,.35) !important;
}

/* ==============================
   COMPLETED LUXURY HOMES PAGE
============================== */

.completed-homes-section{
    background:#111;
    padding:40px 50px 100px;
}

.completed-home-project{
    max-width:1450px;
    margin:0 auto 80px;
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:44px;
    align-items:center;
}

.completed-home-project.reverse{
    grid-template-columns:.75fr 1.25fr;
}

.completed-home-project.reverse .completed-home-gallery{
    order:2;
}

.completed-home-gallery{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.completed-home-gallery img{
    width:100%;
    height:190px;
    object-fit:cover;
    border-radius:10px;
    box-shadow:0 18px 45px rgba(0,0,0,.35);
}

.completed-home-gallery .featured-home-img{
    grid-column:span 3;
    height:360px;
}

.completed-home-copy{
    color:#fff;
}

.completed-home-copy span{
    color:#42B6FF;
    font-size:13px;
    font-weight:900;
    letter-spacing:4px;
    text-transform:uppercase;
}

.completed-home-copy h3{
    font-family:Georgia,'Times New Roman',serif;
    font-size:42px;
    font-weight:400;
    margin:14px 0 18px;
}

.completed-home-copy p{
    color:#d9dde3;
    font-size:18px;
    line-height:1.8;
    margin-bottom:26px;
}

@media(max-width:900px){
    .completed-home-project,
    .completed-home-project.reverse{
        grid-template-columns:1fr;
    }

    .completed-home-project.reverse .completed-home-gallery{
        order:initial;
    }

    .completed-home-gallery .featured-home-img{
        height:260px;
    }

    .completed-home-gallery img{
        height:130px;
    }
}

/* ==============================
   CUSTOM HOMES PORTFOLIO PAGE
============================== */

.custom-homes-portfolio{
    background:#0d0f10;
    color:#fff;
    padding:80px 40px 40px;
}

.custom-homes-heading{
    text-align:center;
    max-width:950px;
    margin:0 auto 60px;
}

.custom-homes-heading h1,
.custom-home-cta h2{
    font-family:Georgia,'Times New Roman',serif;
    font-size:56px;
    font-weight:400;
    line-height:1.1;
}

.gold-line{
    width:90px;
    height:2px;
    background:#b58b45;
    margin:18px auto 24px;
}

.custom-homes-heading p,
.custom-home-cta p{
    color:#d9dde3;
    font-size:20px;
    line-height:1.7;
}

.portfolio-points{
    margin-top:42px;
    display:flex;
    justify-content:center;
    gap:26px;
    flex-wrap:wrap;
    color:#b8c2cc;
    font-size:12px;
    letter-spacing:2px;
    text-transform:uppercase;
}

.portfolio-points span:not(:last-child)::after{
    content:"•";
    color:#b58b45;
    margin-left:24px;
}

.luxury-home-row{
    max-width:1500px;
    margin:0 auto;
    padding:38px 0;
    display:grid;
    grid-template-columns:minmax(0, 1.55fr) minmax(320px, .75fr);
    gap:55px;
    border-top:1px solid rgba(255,255,255,.12);
    align-items:center;
}

.home-main-img img,
.home-mini-gallery img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.home-main-img{
    width:100%;
    height:430px;
    min-height:0;
    overflow:hidden;
}

.home-mini-gallery{
    display:grid;
    grid-template-rows:repeat(3,1fr);
    gap:10px;
}

.home-project-copy{
    padding:24px 24px 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.home-project-copy span{
    color:#b58b45;
    font-size:18px;
    letter-spacing:2px;
}

.home-project-copy h2{
    font-family:Georgia,'Times New Roman',serif;
    font-size:36px;
    font-weight:400;
    line-height:1.15;
    margin:12px 0 18px;
}

.home-project-copy p{
    color:#d9dde3;
    font-size:16px;
    line-height:1.7;
    margin-bottom:24px;
}

.home-project-copy a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:max-content;
    padding:12px 20px;
    border:1px solid #b58b45;
    color:#d9dde3;
    text-decoration:none;
    font-size:12px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:.35s ease;
}

.home-project-copy a:hover{
    background:#b58b45;
    color:#081423;
    transform:translateY(-3px);
}

.custom-home-cta{
    text-align:center;
    padding:80px 30px;
    color:#fff;
    background:
        linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.72)),
        url('../images/kitchen.jpg');
    background-size:cover;
    background-position:center;
}

.custom-home-cta .primary-btn{
    margin-top:28px;
}

@media(max-width:900px){

    .custom-homes-portfolio{
        padding:55px 18px 30px;
    }

    .custom-homes-heading{
        margin-bottom:42px;
    }

    .custom-homes-heading h1,
    .custom-home-cta h2{
        font-size:34px;
    }

    .custom-homes-heading p{
        font-size:17px;
        line-height:1.65;
    }

    .portfolio-points{
        display:none;
    }

    .luxury-home-row,
    .luxury-home-row.simple{
        display:grid;
        grid-template-columns:1fr !important;
        gap:0 !important;
        width:100%;
        padding:24px 0;
    }

    .home-main-img,
    .luxury-home-row.simple .home-main-img{
        width:100%;
        height:300px;
        min-height:300px;
        overflow:hidden;
    }

    .home-main-img img,
    .luxury-home-row.simple .home-main-img img{
        display:block;
        width:100%;
        height:100%;
        object-fit:cover;
        object-position:center;
    }

    .home-mini-gallery{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        grid-template-rows:none;
        gap:8px;
        margin-top:8px;
    }

    .home-mini-gallery img{
        width:100%;
        height:110px;
        object-fit:cover;
    }

    .home-project-copy{
        display:flex;
        flex-direction:column;
        padding:22px 4px 12px;
    }

    .home-project-copy h2{
        font-size:30px;
        margin:10px 0 14px;
    }

    .home-project-copy p{
        font-size:16px;
        line-height:1.65;
        margin-bottom:20px;
    }

    .home-project-copy a{
        width:100%;
        justify-content:center;
        text-align:center;
    }
}

.portfolio-points{
    display:flex;
    justify-content:center;
    gap:18px;
    margin-top:32px;
    color:#d6b06b;
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    white-space:nowrap;
}

.portfolio-points span::after{
    content:"•";
    margin-left:18px;
    color:#9c7a3c;
}

.portfolio-points span:last-child::after{
    content:"";
    margin:0;
}

@media(max-width:900px){
    .luxury-home-row.simple{
        grid-template-columns:1fr !important;
    }

    .luxury-home-row.simple .home-main-img{
        height:260px;
    }
}

/* ================================
   Estate Residence Lightbox
================================ */

.project-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.92);
    padding: 35px 20px;
    overflow-y: auto;
}

.project-lightbox:target {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.lightbox-content {
    max-width: 1500px;
    width: 100%;
    margin: 40px auto;
}

.lightbox-content > img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    box-shadow: 0 30px 80px rgba(0,0,0,.65);
}

.lightbox-close {
    position: fixed;
    top: 18px;
    right: 32px;
    z-index: 100000;
    color: #ffffff;
    font-size: 46px;
    line-height: 1;
    text-decoration: none;
    font-weight: 300;
}

.lightbox-close:hover {
    color: #caa24a;
}

@media (max-width: 768px) {
    .project-lightbox {
        padding: 70px 12px 30px;
        align-items: flex-start;
    }

    .lightbox-close {
        top: 14px;
        right: 22px;
        font-size: 40px;
    }
}


/* ==============================
   MDG FINAL LUXURY 6-CARD PORTFOLIO
   Use with:
   <section id="completed-projects" class="mdg-project-types">
   <div class="mdg-card-grid">
   <a class="mdg-project-card"><img ...></a>
============================== */

.mdg-project-types{
    background:
        radial-gradient(circle at top center, rgba(62,167,255,.16), transparent 34%),
        linear-gradient(180deg,#071522 0%,#02070c 100%);
    padding:70px 30px 95px;
    color:#fff;
}

.mdg-project-types .section-heading{
    margin-bottom:42px;
}

.mdg-project-types .section-heading h2{
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-weight:400;
    font-size:46px;
}

.mdg-card-grid{
    width:min(1720px, 96vw);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:10px;
}

.mdg-project-card{
    display:block;
    overflow:hidden;
    background:#000;
    border:1px solid rgba(255,255,255,.10);
    border-radius:0;
    box-shadow:none;
    transition:all .35s ease;
}

.mdg-project-card img{
    width:100%;
    height:310px;
    display:block;
    object-fit:cover;
    object-position:center;
    transition:transform .45s ease, filter .45s ease;
}

.mdg-project-card:hover{
    transform:translateY(-4px);
    border-color:rgba(66,182,255,.45);
    box-shadow:0 0 28px rgba(66,182,255,.20), 0 22px 50px rgba(0,0,0,.45);
    z-index:2;
}

.mdg-project-card:hover img{
    transform:scale(1.03);
    filter:brightness(1.08);
}

@media(max-width:1000px){
    .mdg-card-grid{
        grid-template-columns:repeat(2, 1fr);
    }

    .mdg-project-card img{
        height:280px;
    }
}

@media(max-width:700px){
    .mdg-project-types{
        padding:48px 14px 70px;
    }

    .mdg-card-grid{
        width:100%;
        grid-template-columns:1fr;
        gap:12px;
    }

    .mdg-project-card img{
        height:auto;
    }
}

/* PROJECT LIGHTBOX HIGHLIGHTS */
.project-highlights {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border: 1px solid rgba(202,162,74,.35);
    background: rgba(4,10,18,.96);
    margin-top: 18px;
}

.highlight-card {
    padding: 24px 22px;
    border-right: 1px solid rgba(255,255,255,.16);
    color: #fff;
}

.highlight-card:last-child {
    border-right: none;
}

.highlight-card i {
    color: #caa24a;
    font-size: 32px;
    margin-bottom: 14px;
}

.highlight-card h4 {
    color: #caa24a;
    font-size: 14px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.highlight-card p {
    color: #d9dde3;
    font-size: 14px;
    line-height: 1.6;
}

@media(max-width: 900px) {
    .project-highlights {
        grid-template-columns: 1fr;
    }

    .highlight-card {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,.16);
    }
}


/* ==============================
   TRANSPARENT HEADER RESPONSIVE
============================== */

@media(max-width:1000px){
    .header{
        padding:18px 28px;
        gap:24px;
    }

    .logo-container img{
        width:245px;
    }

    .navigation{
        gap:22px;
    }

    .navigation a{
        font-size:13px;
        letter-spacing:1.8px;
    }
}

@media(max-width:768px){
    .header{
        padding:8px 14px 12px;
        flex-direction:column;
        justify-content:center;
        gap:0;
    }

    .logo-container img{
        width:215px;
        margin-top:-4px;
        margin-bottom:-8px;
    }

    .navigation{
        width:100%;
        justify-content:center;
        flex-wrap:wrap;
        gap:7px 15px;
    }

    .navigation a{
        font-size:11px;
        letter-spacing:1.25px;
        padding:7px 0;
    }

    .hero{
        min-height:78vh;
        padding-top:118px;
    }

    .hero-content{
        padding-top:28px;
    }
}

@media(max-width:420px){
    .logo-container img{
        width:190px;
    }

    .navigation{
        gap:6px 11px;
    }

    .navigation a{
        font-size:10px;
        letter-spacing:.9px;
    }
}

/* =========================================================
   HOMEPAGE HERO FINAL POSITIONING
========================================================= */

/* Make hero fill the full screen */
.home-page .hero{
    min-height:100vh;
    height:100vh;
    background-position:center center;
}

/* Slightly smaller logo and reposition into open fireplace area */
.home-page .header .logo-container img{
    width:235px !important;
    max-width:235px !important;
}

.home-page .header{
    padding:20px 42px !important;
}

/* Move hero text lower so it clears the logo */
.home-page .hero-content{
    padding-left:60px;
    padding-right:30px;
    padding-top:190px;
    padding-bottom:55px;

    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

/* Keep headline from becoming too wide */
.home-page .hero-content h1{
    max-width:620px;
}

/* Mobile */
@media(max-width:768px){

    .home-page .hero{
        min-height:100svh;
        height:auto;
        background-position:center top;
    }

    .home-page .header{
        padding:8px 14px !important;
    }

    .home-page .header .logo-container img{
        width:180px !important;
        max-width:180px !important;
    }

    .home-page .hero-content{
        padding:190px 20px 45px;
        justify-content:flex-end;
    }
}

/* =========================================================
   MDG HOMEPAGE HERO — FINAL LUXURY POSITIONING
========================================================= */

/* True full-screen first view */
.home-page .hero{
    min-height:100vh !important;
    min-height:100svh !important;
    height:100vh !important;
    height:100svh !important;

    background-position:center center !important;
    background-size:cover !important;
}

/* Transparent floating header */
.home-page .header{
    position:absolute !important;
    top:0;
    left:0;
    width:100%;

    padding:22px 50px !important;

    background:transparent !important;
    background-image:none !important;
    box-shadow:none !important;
    border:0 !important;

    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;

    z-index:1000;
}

/* Slightly smaller logo */
.home-page .header .logo-container img{
    width:220px !important;
    max-width:220px !important;
    height:auto !important;

    filter:
        drop-shadow(0 7px 14px rgba(0,0,0,.48))
        drop-shadow(0 0 12px rgba(46,163,255,.20));

    animation:mdgLogoReveal .9s ease both;
}

/* Wider, cleaner navigation spacing */
.home-page .header .navigation{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    gap:52px !important;
    padding-top:36px;
}

/* Navigation styling */
.home-page .header .navigation a{
    color:#fff !important;
    font-size:15px !important;
    font-weight:800 !important;
    letter-spacing:2.8px !important;
    text-transform:uppercase !important;
    text-decoration:none !important;

    padding:8px 0 !important;

    text-shadow:
        0 2px 8px rgba(0,0,0,.70),
        0 0 16px rgba(0,0,0,.35);

    transition:
        color .3s ease,
        transform .3s ease;

    animation:mdgNavReveal .8s ease both;
}

/* Stagger the navigation entrance */
.home-page .header .navigation a:nth-child(1){
    animation-delay:.15s;
}

.home-page .header .navigation a:nth-child(2){
    animation-delay:.25s;
}

.home-page .header .navigation a:nth-child(3){
    animation-delay:.35s;
}

.home-page .header .navigation a:nth-child(4){
    animation-delay:.45s;
}

/* Remove every underline effect */
.home-page .header .navigation a::before,
.home-page .header .navigation a::after{
    display:none !important;
    content:none !important;
}

/* Navigation hover */
.home-page .header .navigation a:hover{
    color:#1673D1 !important;
    transform:translateY(-2px);
}

/* Move all hero copy farther down */
.home-page .hero-content{
    max-width:720px;
    padding:
        clamp(250px, 31vh, 340px)
        30px
        55px
        52px !important;

    align-self:stretch;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;

    animation:mdgHeroCopyReveal 1s ease .25s both;
}

/* Refine text width */
.home-page .hero-content h1{
    max-width:620px;
}

.home-page .hero-subtext{
    max-width:650px;
}

/* Smooth reveal animations */
@keyframes mdgLogoReveal{
    from{
        opacity:0;
        transform:translateY(-22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes mdgNavReveal{
    from{
        opacity:0;
        transform:translateY(-15px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes mdgHeroCopyReveal{
    from{
        opacity:0;
        transform:translateX(-28px);
    }

    to{
        opacity:1;
        transform:translateX(0);
    }
}

/* Tablet */
@media(max-width:1100px){

    .home-page .header{
        padding:18px 28px !important;
    }

    .home-page .header .logo-container img{
        width:195px !important;
        max-width:195px !important;
    }

    .home-page .header .navigation{
        gap:26px !important;
        padding-top:30px;
    }

    .home-page .header .navigation a{
        font-size:13px !important;
        letter-spacing:2px !important;
    }

    .home-page .hero-content{
        padding-left:38px !important;
    }
}

/* Mobile */
@media(max-width:768px){

    .home-page .hero{
        height:auto !important;
        min-height:100svh !important;
        background-position:center top !important;
    }

    .home-page .header{
        padding:4px 14px 12px !important;

        flex-direction:column !important;
        align-items:center !important;
        justify-content:flex-start !important;
    }

    .home-page .header .logo-container img{
        width:175px !important;
        max-width:175px !important;
    }

    .home-page .header .navigation{
        width:100%;
        justify-content:center !important;
        flex-wrap:wrap !important;

        gap:7px 19px !important;
        padding-top:0;
    }

    .home-page .header .navigation a{
        font-size:10px !important;
        letter-spacing:1.5px !important;
        padding:5px 0 !important;
    }

    .home-page .hero-content{
        min-height:100svh;

        padding:
            245px
            20px
            42px !important;

        justify-content:flex-end;
    }
}

/* Respect reduced-motion preferences */
@media(prefers-reduced-motion:reduce){

    .home-page .header .logo-container img,
    .home-page .header .navigation a,
    .home-page .hero-content{
        animation:none !important;
    }
}

/* =========================================================
   MDG FINAL TRUST BAR + SILVER LOGO DIVIDER
========================================================= */

/* Restore the luxury image trust bar */
.home-page .trust-bar{
    position:relative !important;
    z-index:2 !important;

    display:grid !important;
    grid-template-columns:repeat(5,1fr) !important;
    align-items:center !important;

    width:100% !important;
    min-height:235px !important;

    margin:0 !important;
    padding:42px 30px !important;
    gap:18px !important;

    text-align:center !important;

    background-image:
    linear-gradient(
        180deg,
        rgba(3,6,8,.40) 0%,
        rgba(3,6,8,.62) 45%,
        rgba(2,5,8,.88) 100%
    ),
    url("../images/new-hero-luxury-home-html.jpg") !important;

    background-size:cover !important;
    background-position:center bottom !important;
    background-repeat:no-repeat !important;

    border:0 !important;

    box-shadow:
        inset 0 22px 38px rgba(0,0,0,.18),
        inset 0 -28px 45px rgba(0,0,0,.42) !important;
}

/* Individual trust items */
.home-page .trust-item{
    position:relative !important;
    z-index:2 !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;

    min-width:0 !important;
}

/* Main trust headings */
.home-page .trust-item h3{
    margin:0 0 8px !important;

    color:#ffffff !important;

    font-size:38px !important;
    line-height:1.1 !important;
    font-weight:800 !important;

    text-shadow:
        0 3px 9px rgba(0,0,0,.95),
        0 0 16px rgba(255,255,255,.12) !important;
}

/* Champagne labels */
.home-page .trust-item p{
    margin:0 !important;

    color:#e2c17c !important;

    font-size:14px !important;
    line-height:1.4 !important;
    font-weight:800 !important;

    letter-spacing:2.2px !important;
    text-transform:uppercase !important;

    text-shadow:
        0 3px 8px rgba(0,0,0,.95) !important;
}

/* Champagne icons */
.home-page .trust-icon{
    margin:0 0 16px !important;

    color:#dcb76c !important;

    font-size:42px !important;
    line-height:1 !important;

    text-shadow:
        0 0 10px rgba(255,210,125,.44),
        0 3px 8px rgba(0,0,0,.90) !important;
}

/* Champagne stars */
.home-page .stars{
    margin:10px 0 12px !important;

    color:#efc366 !important;

    font-size:27px !important;
    line-height:1 !important;
    letter-spacing:1px !important;

    text-shadow:
        0 0 10px rgba(255,198,88,.44),
        0 3px 7px rgba(0,0,0,.82) !important;
}


/* =========================================================
   SINGLE SILVER MDG DIVIDER
========================================================= */

.home-page .trust-logo-divider{
    position:relative !important;
    z-index:3 !important;

    width:100% !important;
    height:78px !important;

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

    gap:24px !important;

    margin:0 !important;
    padding:0 6% !important;

    background:
        radial-gradient(
            circle at center,
            rgba(72,104,134,.28) 0%,
            rgba(7,23,38,0) 27%
        ),
        linear-gradient(
            180deg,
            #081b2d 0%,
            #041321 100%
        ) !important;

    border-top:1px solid rgba(255,255,255,.10) !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;

    overflow:hidden !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 7px 22px rgba(5,18,30,.18) !important;
}

/* Silver divider lines */
.home-page .trust-logo-divider .divider-line{
    display:block !important;

    flex:1 1 auto !important;

    width:auto !important;
    max-width:590px !important;
    height:1px !important;

    margin:0 !important;
    padding:0 !important;

    background:linear-gradient(
        to right,
        transparent 0%,
        rgba(184,194,204,.18) 20%,
        rgba(255,255,255,.82) 52%,
        rgba(184,194,204,.18) 82%,
        transparent 100%
    ) !important;

    box-shadow:
        0 0 7px rgba(255,255,255,.40),
        0 0 18px rgba(155,190,220,.18) !important;
}

/* Small centered logo */
.home-page .trust-logo-divider .trust-divider-logo{
    position:static !important;

    display:block !important;
    flex:0 0 76px !important;

    width:76px !important;
    min-width:76px !important;
    max-width:76px !important;

    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;

    margin:0 !important;
    padding:0 !important;

    object-fit:contain !important;

    background:transparent !important;

    filter:
        grayscale(1)
        brightness(1.55)
        contrast(1.10)
        drop-shadow(0 0 7px rgba(255,255,255,.68))
        drop-shadow(0 0 18px rgba(130,180,225,.36)) !important;
}


/* =========================================================
   REMOVE OLD DUPLICATE SERVICES SEPARATORS
========================================================= */

.home-page .premium-services::before{
    content:none !important;
    display:none !important;
}

.home-page .premium-services{
    margin:0 !important;

    padding-top:85px !important;

    border-top:0 !important;

    box-shadow:
        inset 0 -16px 30px rgba(8,20,35,.04) !important;
}


/* Hide any old divider accidentally left behind */
.home-page .mdg-silver-separator,
.home-page .site-divider{
    display:none !important;
}


/* =========================================================
   MOBILE TRUST BAR + DIVIDER
========================================================= */

@media(max-width:768px){

    .home-page .trust-bar{
        grid-template-columns:1fr !important;

        min-height:auto !important;

        padding:42px 22px !important;
        gap:30px !important;

        background-position:center bottom !important;
    }

    .home-page .trust-item h3{
        font-size:34px !important;
    }

    .home-page .trust-logo-divider{
        height:64px !important;
        gap:12px !important;
        padding:0 18px !important;
    }

    .home-page .trust-logo-divider .trust-divider-logo{
        flex-basis:62px !important;

        width:62px !important;
        min-width:62px !important;
        max-width:62px !important;

        height:38px !important;
        min-height:38px !important;
        max-height:38px !important;
    }

    .home-page .premium-services{
        padding-top:65px !important;
    }
}

/* =========================================================
   MDG HERO + TRUST — TRUE CONTINUOUS COLLAGE
========================================================= */

.home-page .hero-trust-wrap{
    position:relative;

    background-image:
        linear-gradient(
            90deg,
            rgba(0,0,0,.58) 0%,
            rgba(0,0,0,.30) 44%,
            rgba(0,0,0,.08) 100%
        ),
        url("../new-hero-luxury-home-html.jpg") !important;

    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
}

.home-page .hero-trust-wrap .hero{
    min-height:100vh !important;
    height:100vh !important;

    background:none !important;
}

.home-page .hero-trust-wrap .trust-bar{
    display:grid !important;
    grid-template-columns:repeat(5,1fr) !important;
    align-items:center !important;

    min-height:230px !important;

    padding:42px 28px !important;
    gap:18px !important;

    background-image:
    linear-gradient(
        180deg,
        rgba(3,6,8,.40) 0%,
        rgba(3,6,8,.62) 45%,
        rgba(2,5,8,.88) 100%
    ),
    url("../images/new-hero-luxury-home-html.jpg") !important;

    border:0 !important;
}

.home-page .trust-item h3{
    color:#fff !important;
}

.home-page .trust-item p{
    color:#e3c17a !important;
}

.home-page .trust-icon{
    color:#dcb66a !important;
}

.home-page .stars{
    color:#efc368 !important;
}

.home-page .trust-silver-divider{
    width:100%;
    height:4px;

    background:linear-gradient(
        to right,
        transparent,
        #7d8791,
        #ffffff,
        #aeb7c0,
        transparent
    );

    box-shadow:
        0 0 10px rgba(255,255,255,.48),
        0 0 22px rgba(166,188,208,.20);
}

/* Kill every old divider */
.home-page .trust-logo-divider,
.home-page .mdg-silver-separator{
    display:none !important;
}

.home-page .premium-services::before{
    content:none !important;
    display:none !important;
}

.home-page .premium-services{
    margin:0 !important;
    padding-top:85px !important;
    border-top:0 !important;
}

@media(max-width:768px){

    .home-page .hero-trust-wrap .hero{
        min-height:100svh !important;
        height:auto !important;
    }

    .home-page .hero-trust-wrap .trust-bar{
        grid-template-columns:1fr !important;
        min-height:auto !important;
        padding:42px 22px !important;
        gap:30px !important;
    }
}

/* =========================================================
   HOMEPAGE HERO — USE LUXURY CUSTOM HOME IMAGE
========================================================= */

.home-page .hero{
    position:relative !important;

    min-height:100vh !important;
    height:100vh !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(0,0,0,.62) 0%,
            rgba(0,0,0,.34) 43%,
            rgba(0,0,0,.08) 100%
        ),
        url("../images/new-hero-luxury-home-html.jpg") !important;

    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
}

/* =========================================================
   MDG FINAL TRUST BAR POLISH
========================================================= */

.home-page .hero-trust-wrap .trust-bar{
    min-height:205px !important;
    padding:30px 26px !important;
    gap:16px !important;

    background-image:
        linear-gradient(
            180deg,
            rgba(3,6,8,.40) 0%,
            rgba(3,6,8,.62) 45%,
            rgba(2,5,8,.88) 100%
        ),
        url("../images/new-hero-luxury-home-html.jpg") !important;

    border-top:1px solid rgba(255,255,255,.10) !important;
    border-bottom:1px solid rgba(255,255,255,.18) !important;

    box-shadow:
        inset 0 12px 28px rgba(0,0,0,.10),
        inset 0 -20px 34px rgba(0,0,0,.22) !important;

    transition:
        background-image .45s ease,
        box-shadow .45s ease,
        filter .45s ease;
}

.home-page .hero-trust-wrap .trust-bar:hover{
    background-image:
        linear-gradient(
            90deg,
            rgba(22,115,209,.15),
            rgba(255,255,255,.08),
            rgba(22,115,209,.15)
        ),
        linear-gradient(
            180deg,
            rgba(3,6,8,.34),
            rgba(3,6,8,.56),
            rgba(2,5,8,.80)
        ),
        url("../images/new-hero-luxury-home-html.jpg") !important;

    box-shadow:
        inset 0 0 40px rgba(210,230,248,.12),
        inset 0 -24px 42px rgba(0,0,0,.30),
        0 0 28px rgba(66,182,255,.16) !important;
}

.home-page .hero-trust-wrap .trust-item h3{
    color:#f2f4f6 !important;
    font-size:28px !important;
    line-height:1.05 !important;
    margin-bottom:7px !important;

    text-shadow:
        0 2px 7px rgba(0,0,0,.90),
        0 0 8px rgba(255,255,255,.14) !important;
}

.home-page .hero-trust-wrap .trust-item p{
    color:#bfc8d2 !important;
    font-size:12px !important;
    line-height:1.35 !important;
    letter-spacing:1.6px !important;

    text-shadow:0 2px 6px rgba(0,0,0,.90) !important;
}

.home-page .hero-trust-wrap .trust-icon{
    color:#d9e1ea !important;
    font-size:32px !important;
    margin-bottom:12px !important;

    text-shadow:
        0 0 5px rgba(255,255,255,.55),
        0 0 12px rgba(110,170,255,.26),
        0 2px 6px rgba(0,0,0,.90) !important;

    transition:transform .35s ease, text-shadow .35s ease;
}

.home-page .hero-trust-wrap .stars{
    color:#dfe7ef !important;
    font-size:20px !important;
    margin:8px 0 10px !important;
    letter-spacing:2px !important;

    text-shadow:
        0 0 5px rgba(255,255,255,.55),
        0 0 12px rgba(110,170,255,.26),
        0 2px 6px rgba(0,0,0,.85) !important;

    transition:letter-spacing .35s ease, text-shadow .35s ease;
}

@media(max-width:768px){
    .home-page .hero-trust-wrap .trust-item h3{
        font-size:27px !important;
    }
}

    .home-page .hero-trust-wrap .trust-item h3{
        font-size:31px !important;
    }

/* =========================================================
   HOMEPAGE SERVICES HEADING FIX
========================================================= */

.home-page .premium-services{
    padding-top:70px !important;
}

.home-page .premium-services .services-heading{
    max-width:1000px !important;
    margin:0 auto 42px !important;
    padding:0 20px !important;
    text-align:center !important;
}

.home-page .premium-services .services-heading span{
    color:#B98A2C !important;
-webkit-text-fill-color:#B98A2C !important;

font-size:19px !important;
letter-spacing:5px !important;

text-shadow:
    0 1px 1px rgba(255,255,255,.4),
    0 1px 6px rgba(185,138,44,.25);
}

.home-page .premium-services .services-heading h2{
    margin:0 0 12px !important;

    color:#17202b !important;
    font-family:Georgia, "Times New Roman", serif !important;
    font-size:42px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
}

.home-page .premium-services .services-heading p{
    max-width:760px !important;
    margin:0 auto !important;

    color:#5b6168 !important;
    font-size:18px !important;
    line-height:1.7 !important;
}

@media(max-width:768px){

    .home-page .premium-services{
        padding-top:55px !important;
    }

    .home-page .premium-services .services-heading{
        margin-bottom:32px !important;
    }

    .home-page .premium-services .services-heading h2{
        font-size:32px !important;
    }

    .home-page .premium-services .services-heading p{
        font-size:16px !important;
    }
}

/* =========================================================
   MDG HOMEPAGE — BRIGHT LUXURY HERO + WARM TRUST BAR
   FINAL OVERRIDE
========================================================= */

/* Main hero and stats background wrapper */
.home-page .hero-trust-wrap{
    position:relative !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(28,18,10,.20) 0%,
            rgba(28,18,10,.08) 38%,
            rgba(255,255,255,.02) 72%,
            rgba(255,255,255,0) 100%
        ),
        url("../images/new-hero-luxury-home-html.jpg") !important;

    background-size:cover !important;
    background-position:center top !important;
    background-repeat:no-repeat !important;
}

/* Prevent older hero backgrounds and overlays from stacking */
.home-page .hero-trust-wrap .hero,
.home-page .hero{
    position:relative !important;

    min-height:100vh !important;
    height:100vh !important;

    background:none !important;
    background-image:none !important;
}

/* Very light readability shading only behind the text side */
.home-page .hero::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;

    background:linear-gradient(
        90deg,
        rgba(20,13,7,.24) 0%,
        rgba(20,13,7,.12) 30%,
        rgba(20,13,7,.025) 58%,
        transparent 78%
    ) !important;
}

/* Keep hero content above the light overlay */
.home-page .hero-content{
    position:relative !important;
    z-index:2 !important;
}

/* Refined text shadows instead of a dark screen over the photo */
.home-page .hero-content h1{
    color:#ffffff !important;

    text-shadow:
        0 3px 10px rgba(0,0,0,.58),
        0 1px 2px rgba(0,0,0,.70) !important;
}

.home-page .hero-tagline,
.home-page .hero-subtext,
.home-page .silver-text{
    color:#ffffff !important;

    text-shadow:
        0 2px 7px rgba(0,0,0,.72),
        0 1px 2px rgba(0,0,0,.78) !important;
}


/* =========================================================
   WARM CHAMPAGNE / IVORY TRUST BAR
========================================================= */

.home-page .hero-trust-wrap .trust-bar,
.home-page .trust-bar{
    position:relative !important;
    z-index:5 !important;

    display:grid !important;
    grid-template-columns:repeat(5,1fr) !important;
    align-items:center !important;

    min-height:185px !important;
    padding:30px 28px !important;
    gap:18px !important;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.97) 0%,
            rgba(248,242,233,.97) 32%,
            rgba(231,215,194,.96) 67%,
            rgba(250,246,239,.98) 100%
        ) !important;

    background-image:
        linear-gradient(
            135deg,
            rgba(255,255,255,.97) 0%,
            rgba(248,242,233,.97) 32%,
            rgba(231,215,194,.96) 67%,
            rgba(250,246,239,.98) 100%
        ) !important;

    border-top:1px solid rgba(111,82,49,.22) !important;
    border-bottom:1px solid rgba(111,82,49,.25) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.95),
        inset 0 -12px 28px rgba(132,98,61,.07),
        0 12px 28px rgba(32,23,15,.10) !important;

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        background .4s ease !important;
}

/* Keep hover light — remove the former dark/blue overlay */
.home-page .hero-trust-wrap .trust-bar:hover{
    background:
        linear-gradient(
            110deg,
            rgba(255,255,255,.99) 0%,
            rgba(239,226,207,.98) 45%,
            rgba(255,252,247,.99) 100%
        ) !important;

    background-image:
        linear-gradient(
            110deg,
            rgba(255,255,255,.99) 0%,
            rgba(239,226,207,.98) 45%,
            rgba(255,252,247,.99) 100%
        ) !important;

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,1),
        inset 0 -14px 30px rgba(132,98,61,.08),
        0 14px 34px rgba(32,23,15,.14) !important;
}

/* Subtle separators between statistics */
.home-page .hero-trust-wrap .trust-item{
    position:relative !important;
    min-height:112px !important;
    padding:8px 18px !important;
}

.home-page .hero-trust-wrap .trust-item:not(:last-child)::after{
    content:"" !important;
    position:absolute !important;
    top:12% !important;
    right:-9px !important;
    width:1px !important;
    height:76% !important;

    background:linear-gradient(
        to bottom,
        transparent,
        rgba(105,77,45,.27),
        transparent
    ) !important;
}

/* Navy statistics headings */
.home-page .hero-trust-wrap .trust-item h3{
    color:#172231 !important;
    font-size:31px !important;
    line-height:1.05 !important;
    font-weight:800 !important;
    margin:0 0 7px !important;

    text-shadow:
        0 1px 0 rgba(255,255,255,.95) !important;
}

/* Warm bronze labels */
.home-page .hero-trust-wrap .trust-item p{
    color:#8b6329 !important;
    font-size:12px !important;
    line-height:1.4 !important;
    font-weight:800 !important;
    letter-spacing:1.7px !important;

    text-shadow:none !important;
}

/* Warm bronze icons */
.home-page .hero-trust-wrap .trust-icon{
    color:#b48238 !important;
    font-size:32px !important;
    margin-bottom:12px !important;

    text-shadow:
        0 2px 2px rgba(255,255,255,.90),
        0 3px 10px rgba(115,77,28,.16) !important;
}

/* Warm champagne stars */
.home-page .hero-trust-wrap .stars{
    color:#b48238 !important;
    font-size:20px !important;
    margin:8px 0 10px !important;
    letter-spacing:2px !important;

    text-shadow:
        0 2px 2px rgba(255,255,255,.85),
        0 3px 9px rgba(115,77,28,.15) !important;
}


/* =========================================================
   CLEAN TRANSITION INTO SERVICES
========================================================= */

.home-page .trust-silver-divider{
    height:2px !important;

    background:linear-gradient(
        to right,
        transparent,
        rgba(142,109,68,.28),
        rgba(255,255,255,.95),
        rgba(142,109,68,.28),
        transparent
    ) !important;

    box-shadow:
        0 1px 8px rgba(120,88,50,.14) !important;
}

.home-page .premium-services{
    padding-top:72px !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fdfbf8 100%
        ) !important;
}


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

@media(max-width:768px){

    .home-page .hero-trust-wrap{
        background-position:58% top !important;
    }

    .home-page .hero-trust-wrap .hero,
    .home-page .hero{
        min-height:100svh !important;
        height:auto !important;
    }

    .home-page .hero::before{
        background:linear-gradient(
            180deg,
            rgba(15,10,6,.12) 0%,
            rgba(15,10,6,.10) 42%,
            rgba(15,10,6,.38) 100%
        ) !important;
    }

    .home-page .hero-trust-wrap .trust-bar,
    .home-page .trust-bar{
        grid-template-columns:1fr !important;
        min-height:auto !important;
        padding:38px 22px !important;
        gap:24px !important;
    }

    .home-page .hero-trust-wrap .trust-item{
        min-height:auto !important;
        padding:12px 10px 25px !important;
    }

    .home-page .hero-trust-wrap .trust-item:not(:last-child)::after{
        top:auto !important;
        right:15% !important;
        bottom:0 !important;
        width:70% !important;
        height:1px !important;

        background:linear-gradient(
            to right,
            transparent,
            rgba(105,77,45,.27),
            transparent
        ) !important;
    }
}

/* =========================================================
   HOMEPAGE SERVICES — EDITORIAL GOLD / TAN DESIGN
========================================================= */

.home-services-intro{
    position:relative;
    padding:105px 7%;
    overflow:hidden;

    background:
        radial-gradient(
            circle at 88% 12%,
            rgba(190,153,92,.14),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #fffdfa 0%,
            #f7f0e6 48%,
            #ede0cc 100%
        );

    color:#17202b;
}

.home-services-intro::before{
    content:"";
    position:absolute;
    top:0;
    right:7%;
    width:1px;
    height:100%;

    background:linear-gradient(
        to bottom,
        transparent,
        rgba(145,103,45,.25),
        transparent
    );
}

.home-services-heading{
    max-width:980px;
    margin:0 auto 65px;
    text-align:center;
}

.home-services-heading .gold-eyebrow{
    display:block;
    margin-bottom:18px;

    color:#a8782b;
    font-size:15px;
    font-weight:900;
    letter-spacing:6px;
    text-transform:uppercase;
}

.home-services-heading h2{
    margin-bottom:24px;

    color:#17202b;
    font-family:Georgia, "Times New Roman", serif;
    font-size:58px;
    line-height:1.08;
    font-weight:400;
}

.home-services-heading p{
    max-width:850px;
    margin:0 auto;

    color:#625b52;
    font-size:19px;
    line-height:1.85;
}

.home-service-list{
    max-width:1220px;
    margin:0 auto;

    border-top:1px solid rgba(99,76,46,.25);
}

.home-service-row{
    position:relative;

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

    min-height:128px;
    padding:20px 30px;

    border-bottom:1px solid rgba(99,76,46,.25);

    color:#17202b;
    text-decoration:none;

    transition:
        background .35s ease,
        padding .35s ease,
        box-shadow .35s ease,
        transform .35s ease;
}

.home-service-row::before{
    content:"";
    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(255,255,255,.86),
        rgba(226,204,169,.48)
    );

    opacity:0;
    transition:opacity .35s ease;
}

.home-service-row > *{
    position:relative;
    z-index:2;
}

.home-service-row:hover{
    padding-left:45px;

    box-shadow:
        0 18px 45px rgba(76,55,30,.10);

    transform:translateY(-2px);
}

.home-service-row:hover::before{
    opacity:1;
}

.service-number{
    color:#a8782b;
    font-family:Georgia, "Times New Roman", serif;
    font-size:20px;
    font-style:italic;
}

.service-row-copy > span{
    display:block;
    margin-bottom:5px;

    color:#9a7134;
    font-size:11px;
    font-weight:900;
    letter-spacing:3px;
    text-transform:uppercase;
}

.service-row-copy h3{
    margin:0;

    color:#17202b;
    font-family:Georgia, "Times New Roman", serif;
    font-size:34px;
    line-height:1.2;
    font-weight:400;
}

.service-arrow{
    display:flex;
    justify-content:center;
    align-items:center;

    width:54px;
    height:54px;

    border:1px solid rgba(145,103,45,.50);
    border-radius:50%;

    color:#9a7134;
    font-size:24px;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease,
        border-color .35s ease;
}

.home-service-row:hover .service-arrow{
    background:#a8782b;
    border-color:#a8782b;
    color:#fff;
    transform:translateX(5px);
}

.home-services-footer{
    max-width:1220px;
    margin:45px auto 0;

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:35px;
}

.home-services-footer p{
    max-width:660px;
    margin:0;

    color:#625b52;
    font-size:17px;
    line-height:1.75;
}

.gold-outline-btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:18px;

    min-width:245px;
    padding:16px 25px;

    border:1px solid #a8782b;

    color:#7c571e;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.5px;
    text-decoration:none;
    text-transform:uppercase;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
}

.gold-outline-btn:hover{
    background:linear-gradient(
        110deg,
        #8d6426,
        #bd9352,
        #8d6426
    );

    color:#fff;
    transform:translateY(-3px);

    box-shadow:
        0 15px 32px rgba(112,78,31,.22);
}


/* =========================================================
   MOBILE HOMEPAGE SERVICES
========================================================= */

@media(max-width:768px){

    .home-services-intro{
        padding:75px 24px;
    }

    .home-services-heading{
        margin-bottom:45px;
    }

    .home-services-heading h2{
        font-size:40px;
    }

    .home-services-heading p{
        font-size:16px;
    }

    .home-service-row{
        grid-template-columns:45px 1fr 42px;
        gap:12px;

        min-height:105px;
        padding:18px 8px;
    }

    .home-service-row:hover{
        padding-left:12px;
    }

    .service-row-copy > span{
        font-size:9px;
        letter-spacing:1.7px;
    }

    .service-row-copy h3{
        font-size:23px;
    }

    .service-arrow{
        width:38px;
        height:38px;
        font-size:18px;
    }

    .home-services-footer{
        flex-direction:column;
        align-items:flex-start;
    }

    .gold-outline-btn{
        width:100%;
    }
}
/* =========================================================
   MDG 2026 — FINAL WARM LUXURY DESIGN SYSTEM
   Homepage + Services Page
   ========================================================= */

:root{
    --mdg-ink:#17202b;
    --mdg-charcoal:#22252a;
    --mdg-ivory:#fbf8f2;
    --mdg-cream:#f3eadc;
    --mdg-champagne:#dec8a7;
    --mdg-bronze:#a8782b;
    --mdg-bronze-dark:#76531f;
    --mdg-bronze-deep:#68471a;
    --mdg-white:#ffffff;
    --mdg-muted:#665f56;
    --mdg-line:rgba(125,88,35,.24);
    --mdg-shadow:0 20px 55px rgba(56,43,25,.14);
}

body{
    color:var(--mdg-ink);
    background:var(--mdg-white);
}

h1,
h2,
h3,
h4{
    text-wrap:balance;
}

.navigation a:hover,
.navigation a[aria-current="page"]{
    color:#e8d2ad;
    text-shadow:0 2px 10px rgba(0,0,0,.65);
}

.gold-eyebrow,
.home-service-row .service-row-copy > span,
.project-tag{
    color:var(--mdg-bronze) !important;
}

.gold-outline-btn,
.services-page .service-detail-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    width:auto;
    min-height:50px;
    padding:14px 25px;
    border:1px solid var(--mdg-bronze);
    border-radius:0;
    background:transparent;
    color:var(--mdg-bronze-dark);
    font-size:12px;
    font-weight:900;
    letter-spacing:1.35px;
    line-height:1.2;
    text-align:center;
    text-decoration:none;
    text-transform:uppercase;
    box-shadow:none;
    transition:
        background .35s ease,
        border-color .35s ease,
        color .35s ease,
        transform .35s ease,
        box-shadow .35s ease;
}

.gold-outline-btn:hover,
.services-page .service-detail-btn:hover{
    background:linear-gradient(
        110deg,
        #8d6426 0%,
        #bd9352 50%,
        #8d6426 100%
    );
    border-color:#8d6426;
    color:#fff;
    transform:translateY(-3px);
    box-shadow:0 15px 32px rgba(112,78,31,.25);
}

/* ---------------- HOME PAGE ---------------- */

.home-page .trust-bar{
    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.98),
            rgba(235,222,202,.98) 45%,
            rgba(250,247,241,.99) 72%,
            rgba(222,205,180,.98)
        );
    border-top:1px solid rgba(95,75,52,.18);
    border-bottom:1px solid rgba(95,75,52,.18);
}

.home-page .trust-item p,
.home-page .trust-icon,
.home-page .stars{
    color:var(--mdg-bronze) !important;
}

.home-page .trust-icon i{
    color:inherit;
}

.home-page .home-services-intro{
    background:var(--mdg-ivory);
}

.home-page .home-service-row{
    border-color:var(--mdg-line);
}

.home-page .home-service-row:hover{
    background:rgba(222,200,167,.18);
}

.home-page .home-service-row:hover .service-number,
.home-page .home-service-row:hover .service-arrow{
    color:var(--mdg-bronze);
}

.home-page .project-link{
    border-color:var(--mdg-bronze);
    color:var(--mdg-bronze-dark);
}

.home-page .project-link:hover{
    background:linear-gradient(110deg,#8d6426,#bd9352,#8d6426);
    border-color:#8d6426;
    color:#fff;
}

.home-page .contact-copy > span{
    color:var(--mdg-bronze);
}

.home-page .contact-form button.primary-btn{
    border-radius:0;
    background:linear-gradient(110deg,#8d6426,#bd9352,#8d6426);
    color:#fff;
    box-shadow:0 14px 30px rgba(112,78,31,.22);
}

.home-page .contact-form button.primary-btn:hover{
    background:linear-gradient(110deg,#76531f,#c69a56,#76531f);
    box-shadow:0 17px 36px rgba(112,78,31,.30);
}

/* ---------------- SERVICES PAGE ---------------- */

.services-page{
    background:var(--mdg-white);
}

.services-page .header{
    position:relative;
    min-height:145px;
    padding:22px 60px;
}
.services-page-hero{
    position:relative;
    min-height:72vh;
    display:flex;
    align-items:center;
    padding:150px 7vw 90px;
    color:#fff;
}

.services-collage-hero{
    background-image:
        linear-gradient(
            90deg,
            rgba(20,17,13,.72) 0%,
            rgba(20,17,13,.42) 48%,
            rgba(20,17,13,.10) 100%
        ),
        url('../images/services-hero-collage.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
}

.services-page-hero-content{
    position:relative;
    z-index:2;
    max-width:880px;
}

.services-page-hero-content > span{
    display:block;
    margin-bottom:18px;
    color:#ead7b7;
    font-size:14px;
    font-weight:900;
    letter-spacing:4.5px;
    text-transform:uppercase;
}

.services-page-hero-content h1{
    max-width:850px;
    margin-bottom:24px;
    color:#fff;
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(48px,6vw,78px);
    font-weight:400;
    line-height:1.02;
}

.services-page-hero-content p{
    max-width:720px;
    margin-bottom:34px;
    color:#fff;
    font-size:21px;
    line-height:1.7;
    text-shadow:0 2px 14px rgba(0,0,0,.35);
}

.services-page .services-hero-btn{
    border-color:#e1c89f;
    color:#fff;
    background:rgba(20,17,13,.12);
    backdrop-filter:blur(4px);
}

.services-page .services-hero-btn:hover{
    border-color:#a8782b;
}

.services-page .service-jump-nav{
    position:sticky;
    top:0;
    z-index:900;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px 34px;
    padding:18px 24px;
    margin:0;
    background:linear-gradient(90deg,#f9f4ec 0%,#e9d9c1 50%,#f9f4ec 100%);
    border-top:1px solid var(--mdg-line);
    border-bottom:1px solid var(--mdg-line);
    box-shadow:0 7px 24px rgba(76,55,30,.10);
}

.services-page .service-jump-nav a{
    color:var(--mdg-bronze-deep);
    font-size:12px;
    font-weight:900;
    letter-spacing:1.45px;
    text-decoration:none;
    text-transform:uppercase;
    transition:color .3s ease, transform .3s ease;
}

.services-page .service-jump-nav a:hover{
    color:var(--mdg-bronze);
    transform:translateY(-1px);
    text-shadow:none;
}

.services-page-intro{
    max-width:980px;
    margin:0 auto;
    padding:85px 30px 62px;
    text-align:center;
}

.services-page-intro > span,
.services-page .service-feature-copy > span,
.services-page .services-cta-panel > div > span{
    display:block;
    margin-bottom:14px;
    color:var(--mdg-bronze);
    font-size:13px;
    font-weight:900;
    letter-spacing:4px;
    text-transform:uppercase;
}

.services-page-intro h2{
    margin-bottom:18px;
    color:var(--mdg-ink);
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(40px,5vw,58px);
    font-weight:400;
    line-height:1.08;
}

.services-page-intro p{
    color:var(--mdg-muted);
    font-size:20px;
    line-height:1.85;
}

.services-page .service-feature{
    display:grid;
    grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
    gap:clamp(42px,6vw,88px);
    align-items:center;
    max-width:1380px;
    margin:0 auto;
    padding:80px 55px;
    scroll-margin-top:90px;
}

.services-page .service-feature:nth-of-type(even){
    background:linear-gradient(90deg,transparent,var(--mdg-ivory),transparent);
}

.services-page .service-feature.reverse .service-image-link{
    order:2;
}

.services-page .service-feature.reverse .service-feature-copy{
    order:1;
}

.services-page .service-image-link{
    display:block;
    overflow:hidden;
    border-radius:2px;
    background:#eee5d8;
    box-shadow:var(--mdg-shadow);
}

.services-page .service-image-link img{
    display:block;
    width:100%;
    aspect-ratio:4 / 3;
    object-fit:cover;
    transition:transform .65s ease, filter .65s ease;
    cursor:zoom-in;
}

.services-page .service-image-link:hover img{
    transform:scale(1.035);
    filter:brightness(1.04) saturate(.96) sepia(.035);
}

.services-page .service-feature h2{
    margin-bottom:18px;
    color:var(--mdg-ink);
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(38px,4.5vw,54px);
    font-weight:400;
    line-height:1.08;
}

.services-page .service-feature p{
    margin-bottom:23px;
    color:var(--mdg-muted);
    font-size:19px;
    line-height:1.8;
}

.services-page .service-feature ul{
    margin:0 0 31px;
    padding:0;
    list-style:none;
}

.services-page .service-feature li{
    position:relative;
    padding:9px 0 9px 27px;
    border-bottom:1px solid rgba(125,88,35,.12);
    color:#39352f;
    font-size:16px;
    font-weight:600;
    line-height:1.55;
}

.services-page .service-feature li::before{
    content:"";
    position:absolute;
    top:19px;
    left:0;
    width:12px;
    height:1px;
    background:var(--mdg-bronze);
}

.services-page .service-detail-btn{
    min-width:210px;
    max-width:none;
    border-radius:0;
    overflow:visible;
}

.services-page .service-detail-btn span{
    color:inherit;
    margin:0;
    letter-spacing:0;
}

.services-page .services-cta-panel{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
    margin-top:55px;
    padding:82px 7vw;
    background:linear-gradient(135deg,#fbf7f0 0%,#eadbc5 100%);
    color:var(--mdg-ink);
    border-top:1px solid var(--mdg-line);
    border-bottom:1px solid var(--mdg-line);
}

.services-page .services-cta-panel > div{
    max-width:880px;
}

.services-page .services-cta-panel h2{
    margin:10px 0 15px;
    color:var(--mdg-ink);
    font-family:Georgia, "Times New Roman", serif;
    font-size:clamp(38px,4.5vw,56px);
    font-weight:400;
    line-height:1.08;
}

.services-page .services-cta-panel p{
    max-width:820px;
    color:var(--mdg-muted);
    font-size:19px;
    line-height:1.8;
}

body.lightbox-open{
    overflow:hidden;
}

#lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:70px 30px 30px;
    background:rgba(8,8,8,.94);
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility .3s ease;
}

#lightbox.active{
    opacity:1;
    visibility:visible;
}

#lightbox-img{
    display:block;
    width:auto;
    max-width:94vw;
    max-height:86vh;
    object-fit:contain;
    border-radius:2px;
    box-shadow:0 24px 80px rgba(0,0,0,.65);
    transform:scale(.98);
    transition:transform .35s ease;
}

#lightbox.active #lightbox-img{
    transform:scale(1);
}

#lightbox-close{
    position:absolute;
    top:18px;
    right:30px;
    width:48px;
    height:48px;
    padding:0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:46px;
    line-height:1;
    cursor:pointer;
}

/* ---------------- RESPONSIVE ---------------- */

@media(max-width:900px){
    .services-page .service-feature{
        grid-template-columns:1fr;
        gap:36px;
        padding:62px 28px;
    }

    .services-page .service-feature.reverse .service-image-link,
    .services-page .service-feature.reverse .service-feature-copy{
        order:initial;
    }

    .services-page .services-cta-panel{
        flex-direction:column;
        align-items:flex-start;
    }
}

@media(max-width:768px){
    .services-page-hero{
        min-height:68vh;
        padding:135px 24px 70px;
    }

    .services-page-hero-content p{
        font-size:18px;
    }

    .services-page .service-jump-nav{
        position:relative;
        gap:12px 20px;
        padding:17px 16px;
    }

    .services-page-intro{
        padding:62px 24px 42px;
    }

    .services-page .service-feature{
        padding:52px 22px;
    }

    .services-page .services-cta-panel{
        padding:62px 24px;
    }

    .services-page .service-detail-btn,
    .services-page .services-cta-panel .gold-outline-btn,
    .services-page .services-hero-btn{
        width:100%;
        min-width:0;
    }
}

/* =========================================================
   MDG SHARED LUXURY FOOTER
   ========================================================= */

.services-footer{
    position:relative;
    overflow:hidden;
    padding:52px 5vw 22px;
    background:
        radial-gradient(circle at 16% 0%,rgba(199,155,84,.16),transparent 35%),
        linear-gradient(145deg,#2b241b 0%,#17130f 58%,#0f0d0a 100%);
    color:#f8f2e9;
}

.services-footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(
        90deg,
        transparent,
        #d4b276,
        #a8782b,
        #d4b276,
        transparent
    );
}

.services-footer-grid{
    position:relative;
    z-index:1;
    display:grid;

    grid-template-columns:
        minmax(390px,1.35fr)
        minmax(190px,.75fr)
        minmax(265px,.95fr)
        minmax(285px,1fr);

    column-gap:72px;
    align-items:start;

    max-width:1450px;
    margin:0 auto 48px;
}

.services-footer-logo{
    display:block;
    width:190px;
    max-width:100%;
    height:auto;

    position:relative;
    top:-8px;
    margin:0 0 2px 0;
}

.services-footer-brand p{
    display:block;

    max-width:365px;

    margin:0;
    padding:0;

    position:relative;
    top:-13px;

    color:#f5f1eb;
    font-size:-15px;
    line-height:1.6;
}

.footer-badge{
    display:inline-block;
    min-width:212px;
    padding:10px 16px;

    border:1px solid rgba(212,178,118,.55);
    background:rgba(255,255,255,.015);

    color:#efc47a;
    font-size:10px;
    font-weight:900;
    line-height:1.5;
    letter-spacing:1.8px;
    text-transform:uppercase;

    box-sizing:border-box;
}

/* Move brand column slightly left */
.services-footer-brand{
    position:relative;
    left:-18px;
}

/* Align Contact with right end of divider */
.services-footer-grid > div:last-child{
    justify-self:end;
    min-width:285px;
}

.services-footer h4{
    margin:4px 0 21px;
    color:#e4c58f;
    font-size:15px;
    font-weight:900;
    letter-spacing:2.5px;
    text-transform:uppercase;
}

.services-footer ul{
    margin:0;
    padding:0;
    list-style:none;
}

.services-footer li{
    margin-bottom:10px;
    color:#d6ccbd;
    line-height:1.55;
}

.services-footer a{
    color:#d6ccbd;
    text-decoration:none;
    transition:color .3s ease;
}

.services-footer a:hover{
    color:#e4c58f;
}

.footer-contact-list i{
    width:21px;
    color:#c99e58;
}

.footer-estimate-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:18px;
    padding:14px 19px;
    background:linear-gradient(110deg,#8d6426,#bd9352,#8d6426);
    color:#fff !important;
    font-size:11px;
    font-weight:900;
    letter-spacing:1.2px;
    text-transform:uppercase;
    box-shadow:0 12px 28px rgba(0,0,0,.28);
    transition:.3s ease;
}

.footer-estimate-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 15px 34px rgba(0,0,0,.38);
}

.services-footer-bottom{
    position:relative;
    z-index:1;
    max-width:1450px;
    margin:0 auto;
    padding-top:23px;
    border-top:1px solid rgba(229,205,165,.18);
    color:#aaa094;
    font-size:12px;
    line-height:1.6;
    text-align:center;
}

@media(max-width:1100px){

    .services-footer-grid{
        grid-template-columns:repeat(2,1fr);
        gap:42px 55px;
    }

    .services-footer-brand{
        left:0;
    }

    .services-footer-grid > div:last-child{
        justify-self:start;
        min-width:0;
    }
}

@media(max-width:820px){
    .services-footer{
        padding:55px 24px 24px;
    }

    .services-footer-grid{
        grid-template-columns:1fr;
        gap:34px;
    }

    .services-footer-logo{
        width:220px;
    }
}

/* =========================================================
   MDG HOMEPAGE FINAL LUXURY GOLD POLISH
   Single authoritative homepage testimonial/button palette
   ========================================================= */

.home-page{
    --home-gold-dark:#8d6426;
    --home-gold:#b78942;
    --home-gold-light:#d9bb83;
    --home-champagne:#ead7b4;
    --home-ivory:#fbf8f2;
    --home-ink:#28231d;
    --home-muted:#665e54;
    --home-espresso:#241d17;
    --home-line:rgba(141,100,38,.24);
    --home-shadow:0 20px 55px rgba(72,50,22,.13);
}

/* ---------- Homepage gold text accents ---------- */

.home-page .section-heading span,
.home-page .services-heading span,
.home-page .contact-copy > span,
.home-page .service-tag,
.home-page .trust-item p{
    background:none;
    -webkit-background-clip:initial;
    -webkit-text-fill-color:var(--home-gold-dark);
    color:var(--home-gold-dark);
    border-color:var(--home-gold);
    text-shadow:none;
}

.home-page .navigation a:hover,
.home-page .footer a:hover,
.home-page .luxury-footer a:hover,
.home-page .services-footer a:hover{
    color:var(--home-gold-light);
    text-shadow:0 0 14px rgba(217,187,131,.28);
}

/* ---------- Homepage buttons: one gold system ---------- */

.home-page .primary-btn,
.home-page .service-link,
.home-page .project-link,
.home-page .footer-cta,
.home-page .contact-form button,
.home-page button.primary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:4px;
    background:linear-gradient(110deg,var(--home-gold-dark),var(--home-gold-light),var(--home-gold-dark));
    color:#fff;
    font-weight:900;
    letter-spacing:1px;
    text-decoration:none;
    text-transform:uppercase;
    box-shadow:0 12px 28px rgba(92,62,22,.24);
    transition:transform .3s ease, box-shadow .3s ease, filter .3s ease;
}

.home-page .secondary-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--home-gold-light);
    border-radius:4px;
    background:rgba(24,18,13,.32);
    color:#fff;
    font-weight:900;
    letter-spacing:1px;
    text-decoration:none;
    text-transform:uppercase;
    box-shadow:0 10px 26px rgba(0,0,0,.20);
    transition:transform .3s ease, background .3s ease, box-shadow .3s ease;
}

.home-page .primary-btn:hover,
.home-page .service-link:hover,
.home-page .project-link:hover,
.home-page .footer-cta:hover,
.home-page .contact-form button:hover,
.home-page button.primary-btn:hover{
    transform:translateY(-3px);
    background:linear-gradient(110deg,#76501d,#cda966,#76501d);
    color:#fff;
    border-color:rgba(255,255,255,.28);
    box-shadow:
        0 0 18px rgba(205,169,102,.30),
        0 16px 34px rgba(74,48,18,.30);
    filter:brightness(1.04);
}

.home-page .secondary-btn:hover{
    transform:translateY(-3px);
    background:linear-gradient(110deg,var(--home-gold-dark),var(--home-gold-light),var(--home-gold-dark));
    color:#fff;
    border-color:transparent;
    box-shadow:0 15px 34px rgba(74,48,18,.30);
}

/* ---------- Homepage section lines ---------- */

.home-page .site-divider,
.home-page .section-divider{
    width:100%;
    height:3px;
    margin:0;
    background:linear-gradient(
        90deg,
        transparent,
        var(--home-gold-light),
        #fff8e8,
        var(--home-gold),
        transparent
    );
    box-shadow:0 0 18px rgba(183,137,66,.28);
}

.home-page .premium-services{
    border-top:1px solid var(--home-line);
    border-bottom:1px solid var(--home-line);
}

/* =========================================================
   HOMEPAGE TESTIMONIALS — ONLY AUTHORITATIVE RULE SET
   ========================================================= */

.home-page .testimonials-section{
    position:relative;
    overflow:hidden;
    padding:72px 60px 112px;
    background:linear-gradient(
        180deg,
        #a97934 0%,
        #cda864 8%,
        #e7cf9f 18%,
        #f6eddd 32%,
        #fffdf9 50%,
        #ffffff 100%
    );
    color:var(--home-ink);
}

.home-page .mdg-divider{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    width:min(1500px,92%);
    margin:0 auto 38px;
}

.home-page .mdg-divider span{
    flex:1;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.55),
        #fffdf7,
        rgba(216,181,116,.72),
        transparent
    );
    box-shadow:
        0 0 10px rgba(255,255,255,.52),
        0 0 24px rgba(190,145,70,.24);
}

.home-page .mdg-divider-img{
    display:block;
    width:175px;
    height:74px;
    object-fit:contain;
    object-position:center;
    filter:
        drop-shadow(0 0 10px rgba(255,255,255,.68))
        drop-shadow(0 0 22px rgba(184,137,66,.30));
    transform:translateY(-4px);
}

.home-page .testimonials-heading{
    position:relative;
    z-index:2;
    margin-bottom:46px;
    text-align:center;
}

.home-page .testimonials-heading span{
    display:block;
    margin-bottom:9px;
    color:#6f4b1d;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(24px,2.4vw,34px);
    font-weight:400;
    letter-spacing:10px;
    line-height:1.25;
    text-transform:uppercase;
    -webkit-text-fill-color:#6f4b1d;
}

.home-page .testimonial-stars,
.home-page .card-stars{
    color:#b47f2f;
    letter-spacing:6px;
    text-shadow:0 0 11px rgba(180,127,47,.22);
}

.home-page .testimonial-stars{
    margin-bottom:8px;
    font-size:27px;
}

.home-page .testimonials-heading p{
    color:#54483a;
    font-size:13px;
    font-weight:800;
    letter-spacing:4px;
    text-transform:uppercase;
}

.home-page .testimonial-grid{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:34px;
    max-width:1380px;
    margin:0 auto;
}

.home-page .testimonial-card{
    position:relative;
    min-height:255px;
    padding:45px 42px 36px;
    border:1px solid rgba(154,109,41,.20);
    border-radius:3px;
    background:rgba(255,255,255,.94);
    color:var(--home-ink);
    box-shadow:var(--home-shadow);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.home-page .testimonial-card::before{
    content:"“";
    position:absolute;
    top:20px;
    left:27px;
    color:rgba(154,109,41,.56);
    font-family:Georgia,serif;
    font-size:76px;
    line-height:1;
}

.home-page .testimonial-card p{
    margin:20px 0 28px 37px;
    color:#453e36;
    font-size:17px;
    line-height:1.8;
}

.home-page .testimonial-card h4{
    margin:0 0 10px 37px;
    color:#8d6426;
    font-size:14px;
    font-weight:900;
    letter-spacing:1px;
    line-height:1.65;
    text-transform:uppercase;
}

.home-page .card-stars{
    margin-left:37px;
    font-size:17px;
}

.home-page .testimonial-card:hover{
    transform:translateY(-7px);
    border-color:rgba(154,109,41,.38);
    box-shadow:
        0 30px 70px rgba(72,50,22,.18),
        0 0 24px rgba(205,169,102,.14);
}

/* ---------- Homepage contact: warm, no blue ---------- */

.home-page .contact-section{
    padding:95px 50px;
    background:
        linear-gradient(rgba(36,29,23,.90),rgba(22,18,14,.94)),
        url('../images/black-brick.jpg');
    background-size:cover;
    background-position:center;
    color:#fff;
}

.home-page .contact-copy > span,
.home-page .contact-info-list i{
    color:var(--home-gold-light);
}

.home-page .contact-copy p{
    color:#e2d7c8;
}

.home-page .contact-form{
    background:rgba(31,24,18,.82);
    border:1px solid rgba(217,187,131,.28);
    box-shadow:0 24px 60px rgba(0,0,0,.42);
}

.home-page .contact-form input,
.home-page .contact-form select,
.home-page .contact-form textarea{
    border-color:rgba(217,187,131,.24);
    background:rgba(255,255,255,.07);
    color:#fff;
}

.home-page .contact-form input:focus,
.home-page .contact-form select:focus,
.home-page .contact-form textarea:focus{
    border-color:var(--home-gold-light);
    box-shadow:0 0 0 3px rgba(217,187,131,.12);
}

/* ---------- Homepage footer accents ---------- */

.home-page .footer-column h4::after{
    background:linear-gradient(90deg,var(--home-gold),var(--home-gold-light));
}

.home-page .footer-contact-list i{
    color:var(--home-gold-light);
}

/* ---------- Responsive homepage testimonials ---------- */

@media(max-width:1000px){
    .home-page .testimonial-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:768px){
    .home-page .testimonials-section{
        padding:58px 20px 82px;
    }

    .home-page .mdg-divider{
        gap:12px;
        width:100%;
        margin-bottom:30px;
    }

    .home-page .mdg-divider-img{
        width:130px;
        height:56px;
    }

    .home-page .testimonials-heading span{
        font-size:20px;
        letter-spacing:5px;
    }

    .home-page .testimonials-heading p{
        font-size:11px;
        letter-spacing:2.5px;
    }

    .home-page .testimonial-grid{
        grid-template-columns:1fr;
    }

    .home-page .testimonial-card{
        min-height:0;
        padding:38px 28px 31px;
    }

    .home-page .testimonial-card p,
    .home-page .testimonial-card h4,
    .home-page .card-stars{
        margin-left:28px;
    }
}

/* ===== ABSOLUTE FINAL GOLD NAVIGATION ===== */

body.home-page .header .navigation a:hover,
body.home-page .header .navigation a:focus,
body.home-page .header .navigation a:active,
body.home-page .header .navigation a[aria-current="page"]{
    color:#C79A45 !important;

    text-shadow:
        0 0 8px rgba(199,154,69,.50),
        0 0 18px rgba(229,200,139,.35) !important;

    filter:none !important;
    transform:translateY(-2px);
}

/* =========================================================
   MDG FINAL HERO BUTTON SYSTEM — GOLD / CHAMPAGNE ONLY
   This is the single authoritative homepage hero button rule.
========================================================= */

body.home-page .hero .hero-buttons .primary-btn,
body.home-page .hero .hero-buttons .secondary-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:230px !important;
    height:60px !important;
    padding:0 34px !important;
    border:1px solid rgba(214,176,111,.82) !important;
    border-radius:6px !important;
    background:rgba(0,0,0,.18) !important;
    background-image:none !important;
    color:#ffffff !important;
    font-size:16px !important;
    font-weight:800 !important;
    letter-spacing:1.6px !important;
    line-height:1 !important;
    text-transform:uppercase !important;
    text-decoration:none !important;
    text-align:center !important;
    box-shadow:none !important;
    filter:none !important;
    -webkit-text-fill-color:#ffffff !important;
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    transition:
        background .35s ease,
        border-color .35s ease,
        box-shadow .35s ease,
        transform .35s ease !important;
}

body.home-page .hero .hero-buttons .primary-btn:hover,
body.home-page .hero .hero-buttons .primary-btn:focus,
body.home-page .hero .hero-buttons .secondary-btn:hover,
body.home-page .hero .hero-buttons .secondary-btn:focus{
    background:linear-gradient(
        135deg,
        #9f702c 0%,
        #c79a45 48%,
        #e6c88b 100%
    ) !important;
    background-image:linear-gradient(
        135deg,
        #9f702c 0%,
        #c79a45 48%,
        #e6c88b 100%
    ) !important;
    border-color:#e6c88b !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    transform:translateY(-3px) !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.28),
        0 0 18px rgba(214,176,111,.30) !important;
    filter:none !important;
    outline:none !important;
}

/* Gold hover for the remaining shared site buttons — no legacy blue gradient. */
.primary-btn:hover,
.secondary-btn:hover,
.service-link:hover,
.footer-cta:hover,
.service-detail-btn:hover{
    background:linear-gradient(135deg,#9f702c 0%,#c79a45 48%,#e6c88b 100%) !important;
    border-color:#e6c88b !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    box-shadow:
        0 12px 30px rgba(0,0,0,.26),
        0 0 18px rgba(214,176,111,.26) !important;
    filter:none !important;
}

/* ==================================================
   MDG CINEMATIC HERO TITLE
================================================== */

.home-page .hero .mdg-cinematic-title{
    position:absolute;
    z-index:5;

    top:150px;
    left:42px;
    right:42px;

    height:104px;

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

    overflow:hidden;
    pointer-events:none;
}

.home-page .hero .mdg-cinematic-title span{
    position:relative;
    display:inline-block;

    font-family:'Marcellus SC', serif;
font-size:clamp(32px, 3.3vw, 60px);
line-height:1;
font-weight:500;

letter-spacing:6px;
text-transform:uppercase;
white-space:nowrap;

color:#F8F4EC;

    text-shadow:
        0 2px 8px rgba(0,0,0,.65),
        0 0 14px rgba(213,174,100,.42),
        0 0 34px rgba(213,174,100,.24);

    opacity:0;

    clip-path:inset(0 50% 0 50%);

    animation:
        mdgTitleUnfold 1.8s cubic-bezier(.22,.8,.22,1) .35s forwards,
        mdgTitleBreathe 4.5s ease-in-out 2.3s infinite;
}

.home-page .hero .mdg-cinematic-title span::before{
    content:"";
    position:absolute;
    inset:-12px -45px;

    background:linear-gradient(
        105deg,
        transparent 35%,
        rgba(255,255,255,0) 42%,
        rgba(255,245,215,.85) 50%,
        rgba(213,174,100,.45) 54%,
        transparent 64%
    );

    transform:translateX(-135%) skewX(-18deg);

    mix-blend-mode:screen;
    pointer-events:none;

    animation:mdgTitleShimmer 5.5s ease-in-out 2.6s infinite;
}

.home-page .hero .mdg-cinematic-title::before,
.home-page .hero .mdg-cinematic-title::after{
    content:"";
    width:0;
    height:1px;

    position:absolute;
    top:50%;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(222,188,122,.25),
        rgba(255,241,203,.95)
    );

    box-shadow:
        0 0 10px rgba(222,188,122,.45),
        0 0 22px rgba(222,188,122,.20);

    animation:mdgTitleLine 1.4s ease 1.15s forwards;
}

.home-page .hero .mdg-cinematic-title::before{
    right:calc(50% + min(440px, 34vw));
}

.home-page .hero .mdg-cinematic-title::after{
    left:calc(50% + min(440px, 34vw));
    transform:scaleX(-1);
}

@keyframes mdgTitleUnfold{
    0%{
        opacity:0;
        clip-path:inset(0 50% 0 50%);
        transform:scaleX(.72);
        letter-spacing:2px;
        filter:blur(10px);
    }

    60%{
        opacity:1;
        filter:blur(0);
    }

    100%{
        opacity:1;
        clip-path:inset(0 0 0 0);
        transform:scaleX(1);
        filter:blur(0);
    }
}

@keyframes mdgTitleShimmer{
    0%,
    62%{
        transform:translateX(-135%) skewX(-18deg);
    }

    82%,
    100%{
        transform:translateX(135%) skewX(-18deg);
    }
}

@keyframes mdgTitleBreathe{
    0%,
    100%{
        text-shadow:
            0 2px 8px rgba(0,0,0,.65),
            0 0 14px rgba(213,174,100,.38),
            0 0 30px rgba(213,174,100,.18);
    }

    50%{
        text-shadow:
            0 2px 8px rgba(0,0,0,.65),
            0 0 20px rgba(235,201,135,.60),
            0 0 45px rgba(213,174,100,.30);
    }
}

@keyframes mdgTitleLine{
    to{
        width:min(180px, 11vw);
    }
}

@media(max-width:900px){

    @media (max-width:768px){

    .home-page .hero .mdg-cinematic-title{
        padding:0 20px !important;
        height:auto !important;
    }

    .home-page .hero .mdg-cinematic-title span{

        display:block !important;

        white-space:normal !important;

        text-align:center !important;

        font-size:22px !important;

        line-height:1.15 !important;

        letter-spacing:4px !important;

        max-width:100% !important;
    }

}

    .home-page .hero .mdg-cinematic-title span{
        font-size:clamp(18px, 5vw, 30px);
        letter-spacing:clamp(2px, 1vw, 6px);
    }

    .home-page .hero .mdg-cinematic-title::before,
    .home-page .hero .mdg-cinematic-title::after{
        display:none;
    }
}

/* MDG FOOTER LOGO */
.footer-logo {
    display: block;
    width: 210px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

@media (max-width: 768px) {
    .footer-logo {
        width: 170px;
        margin: 0 auto;
    }
}

/* =========================================
   FOOTER FINAL DESKTOP ALIGNMENT
========================================= */

.footer-grid {
    display: grid;
    grid-template-columns: 1.55fr .9fr 1.05fr 1fr;
    column-gap: 72px;
    align-items: start;
    max-width: 1450px;
    margin: 0 auto;
}

/* Move logo/brand group slightly left */
.footer-brand {
    position: relative;
    left: -28px;
}

/* Logo and badge beside each other */
.footer-brand-top {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 18px;
}

.footer-logo {
    display: block;
    width: 190px;
    height: auto;
    object-fit: contain;
    margin: 0;
}

/* Restore the boxed badge */
.footer-license{
    display:inline-flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    min-width:215px;
    min-height:54px;

    padding:10px 22px;

    border:1px solid rgba(206,168,86,.55);
    background:transparent;

    color:#e4be77;

    font-size:11px;
    font-weight:700;
    line-height:1.45;
    letter-spacing:2px;
    text-transform:uppercase;

    box-sizing:border-box;
}

.footer-description{
    margin-bottom:14px;
}

.footer-license{
    margin-top:4px;
}

/* Spread the middle columns */
.footer-grid > div:nth-child(2) {
    margin-left: 10px;
}

.footer-grid > div:nth-child(3) {
    margin-left: 12px;
}

/* Push Contact toward the divider's right edge */
.footer-grid > div:nth-child(4) {
    justify-self: end;
    width: max-content;
    min-width: 285px;
}

.footer-bottom,
.footer-divider {
    max-width: 1450px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 900px) {

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 45px 35px;
    }

    .footer-brand {
        left: 0;
    }

    .footer-grid > div:nth-child(2),
    .footer-grid > div:nth-child(3) {
        margin-left: 0;
    }

    .footer-grid > div:nth-child(4) {
        justify-self: start;
        width: auto;
        min-width: 0;
    }
}

@media (max-width: 600px) {

    .footer-grid {
        grid-template-columns: 1fr;
    }

    .footer-brand-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
}

/* FINAL FOOTER SPACING FIX */

.services-footer-logo{
    margin-bottom:4px;
}

.services-footer-brand p{
    margin-top:-4px;
    margin-bottom:10px;
}

.footer-badge{
    margin-top:0;
}

.services-footer-grid{
    margin-bottom:28px;
}

/* =========================================================
   MDG ABOUT PAGE
   ========================================================= */

.about-page{
    background:#fff;
    color:#17202b;
}

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

.about-hero{
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:16 / 9;
    overflow:hidden;
    padding:0;

    background-image:url("../images/MDG-about-hero-new.png");
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center top;
    background-color:#ffffff;
}

/* Remove any overlay that may be coming from older CSS */
.about-hero::before,
.about-hero::after{
    display:none !important;
    content:none !important;
}

.about-hero-content{
    position:absolute;

    left:50%;
    bottom:55px;
    transform:translateX(-50%);

    width:92%;
    max-width:1500px;

    text-align:center;
}

.about-hero-content h1{
    margin:0;

    color:#1b2430;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,5vw,82px);
    font-weight:400;
    line-height:.95;
    letter-spacing:-2px;

    text-align:center;
    text-shadow:0 2px 8px rgba(255,255,255,.60);
}

.about-hero-content h1 span{
    display:block;

    margin-top:14px;

    font-size:.58em;
    font-weight:400;
    letter-spacing:2px;
    text-transform:uppercase;
}

.about-hero-content p{
    max-width:650px;
    margin:0 0 42px;
    color:#2f3945;
    font-size:21px;
    line-height:1.75;
    text-shadow:0 1px 6px rgba(255,255,255,.35);
}

.about-hero-buttons{
    display:flex;
    gap:20px;
    flex-wrap:wrap;
}

.about-hero .primary-btn{
    display:inline-flex;
    align-items:center;
    gap:14px;
    padding:18px 34px;
    border-radius:8px;
    text-decoration:none;
    font-size:15px;
    font-weight:700;
    letter-spacing:.8px;
    text-transform:uppercase;
}

@media(max-width:768px){

         .about-hero{
        width:100%;
        height:auto;
        aspect-ratio:16 / 9;
        min-height:0;
        padding:0;
        background-size:contain;
        background-position:center top;
}

.about-hero-content h1{
        font-size:46px;
        line-height:1.12;
    }

    .about-hero-content p{
        font-size:18px;
    }
}

/* ==========================================
   ABOUT BRAND INTRO
========================================== */

.about-brand-intro{
    position:relative;
    overflow:hidden;
    padding:95px 5vw 105px;
    background:#ffffff;
    text-align:center;
}

.about-brand-intro-inner{
    width:94%;
    max-width:1550px;
    margin:0 auto;
}

.about-brand-eyebrow{
    display:block;
    width:100%;
    margin:0 auto 22px;

    color:#b4863e;
    font-size:20px;
    font-weight:800;
    line-height:1.4;
    letter-spacing:6px;
    text-transform:uppercase;
    text-align:center !important;

    opacity:0;
    transform:translateY(22px);
    animation:aboutFadeUp .8s ease .15s forwards;
}

.about-brand-title{
    position:relative;
    width:100%;
    margin:0 auto;

    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,4.2vw,72px);
    font-weight:400;
    line-height:1;
    letter-spacing:-2px;
    white-space:nowrap;
    text-align:center;

    background:linear-gradient(
        110deg,
        #10213a 0%,
        #10213a 38%,
        #657891 48%,
        #ffffff 52%,
        #657891 56%,
        #10213a 66%,
        #10213a 100%
    );
    background-size:250% 100%;
    background-position:100% center;

    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;

    opacity:0;
    transform:translateY(48px) scale(.97);
    filter:blur(7px);

    animation:
        aboutLuxuryReveal 1.35s cubic-bezier(.16,1,.3,1) .25s forwards,
        aboutSilverSweep 1.8s ease 1.35s forwards;
}

.about-brand-line{
    width:0;
    height:2px;
    margin:28px auto 22px;

    background:linear-gradient(
        90deg,
        transparent,
        #b4863e,
        transparent
    );

    animation:aboutLineReveal 1.15s cubic-bezier(.16,1,.3,1) 1.25s forwards;
}

.about-brand-tagline{
    max-width:900px;
    margin:0 auto 28px;
    text-align:center;

    color:#25354a;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(28px,3vw,44px);
    font-weight:400;
    line-height:1.2;
    letter-spacing:.5px;

    opacity:0;
    animation:aboutFadeUp .9s ease 1.55s forwards;
}

.about-brand-description{
    max-width:900px;
    margin:0 auto 12px;

    color:#526071;
    font-size:20px;
    line-height:1.85;

    opacity:0;
    animation:aboutFadeUp .9s ease 1.8s forwards;
}

.about-section-divider{
    width:260px;
    height:2px;
    margin:0 auto 34px;

    background:linear-gradient(
        90deg,
        transparent,
        rgba(16,33,58,.20),
        rgba(16,33,58,.95),
        rgba(16,33,58,.20),
        transparent
    );

    opacity:1;
}

/* ABOUT INTRO ANIMATIONS */

@keyframes aboutTitleReveal{

    0%{
        opacity:0;
        transform:translateY(35px);
        letter-spacing:5px;
        filter:blur(4px);
    }

    100%{
        opacity:1;
        transform:translateY(0);
        letter-spacing:-2px;
        filter:blur(0);
    }
}

@keyframes aboutLineReveal{

    from{
        width:0;
        opacity:0;
    }

    to{
        width:260px;
        opacity:1;
    }
}

@keyframes aboutFadeUp{

    from{
        opacity:0;
        transform:translateY(22px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes aboutLuxuryReveal{

    0%{
        opacity:0;
        transform:translateY(48px) scale(.97);
        filter:blur(7px);
        letter-spacing:7px;
    }

    60%{
        opacity:1;
        filter:blur(0);
    }

    100%{
        opacity:1;
        transform:translateY(0) scale(1);
        filter:blur(0);
        letter-spacing:-2px;
    }
}

@keyframes aboutSilverSweep{

    0%{
        background-position:100% center;
    }

    85%{
        background-position:-100% center;
    }

    100%{
        background-position:-100% center;
        background-image:linear-gradient(
            110deg,
            #10213a 0%,
            #657891 48%,
            #10213a 100%
        );
    }
}

@media(max-width:768px){

    .about-brand-intro{
        padding:65px 24px 75px;
    }

    .about-brand-eyebrow{
        font-size:12px;
        line-height:1.6;
        letter-spacing:3px;
    }

    .about-brand-title{
        font-size:42px;
        line-height:1.05;
        letter-spacing:-1px;
        white-space:normal;
    }

    .about-brand-line{
        margin-top:24px;
    }

    .about-brand-tagline{
        font-size:30px;
    }

    .about-brand-description{
    max-width:900px;
    margin:0 auto;
    text-align:center;

    color:#526071;
    font-size:17px;
    line-height:1.75;

    opacity:0;
    animation:aboutFadeUp .9s ease 1.8s forwards;
}

} 

/* INTRODUCTION */

.about-intro{
    max-width:1450px;
    margin:0 auto;
    padding:45px 5vw 55px;
}

.about-intro-header{
    text-align:center;
    max-width:900px;
    margin:0 auto 70px;
}

.about-intro-header .about-eyebrow{
    display:block;
    margin-bottom:22px;
}

.about-intro-header h2{
    margin:0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(42px,4vw,58px);
    line-height:1.15;
    font-weight:400;
    color:#111b28;
}

.about-intro-copy-image{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
    align-items:center;
}

/* SHARED HEADINGS */

.about-section-heading{
    max-width:900px;
    margin:0 auto 55px;
    text-align:center;
}

.about-section-heading h2{
    margin-bottom:18px;
    color:#17130f;
    font-family:Georgia,'Times New Roman',serif;
    font-size:50px;
    font-weight:400;
    line-height:1.15;
}

.about-section-heading p{
    color:#666;
    font-size:18px;
    line-height:1.75;
}

.about-section-heading.light h2{
    color:#fff;
}

.about-section-heading.light p{
    color:#d8d0c4;
}


/* VALUES */

.about-values{
    padding:95px 5vw 110px;
    background:#f4f0e9;
}

/* ABOUT VALUES HEADING */

.about-values-heading span{
    display:block;
    margin-bottom:12px;
    color:#b4863e;
    font-size:20px;
    font-weight:900;
    letter-spacing:3.5px;
    text-transform:uppercase;
}

.about-values-heading h2{
    margin:0 0 18px;
    color:#111b28;
    font-family:Georgia,"Times New Roman",serif;
    font-size:50px;
    font-weight:400;
    line-height:1.15;
}

.about-values-heading p{
    max-width:850px;
    margin:0 auto;
    color:#59616b;
    font-size:18px;
    line-height:1.75;
}

.about-values-grid{
    max-width:1450px;
    margin:42px auto 0;

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

.about-value-card{
    padding:38px 30px;
    background:#fff;
    border:1px solid rgba(112,86,46,.16);
    box-shadow:0 16px 35px rgba(37,27,16,.08);
}

.about-value-card i{
    margin-bottom:22px;
    color:#b4863e;
    font-size:32px;
}

.about-value-card h3{
    margin-bottom:14px;
    color:#17130f;
    font-family:Georgia,'Times New Roman',serif;
    font-size:25px;
    font-weight:400;
}

.about-value-card p{
    color:#666;
    font-size:16px;
    line-height:1.75;
}

/* PROCESS */

.about-process{
    padding:100px 5vw 110px;
    background:
        linear-gradient(rgba(18,14,10,.93),rgba(18,14,10,.95)),
        url('../images/black-brick.jpg');

    background-size:cover;
    background-position:center;
    color:#fff;
}

.about-process-grid{
    max-width:1450px;
    margin:0 auto;

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

.about-process-step{
    padding:30px 28px;
    border-top:1px solid rgba(220,185,124,.55);
}

.about-process-step > span{
    display:block;
    margin-bottom:18px;
    color:#d8b570;
    font-family:Georgia,'Times New Roman',serif;
    font-size:34px;
}

.about-process-step h3{
    margin-bottom:14px;
    color:#fff;
    font-size:22px;
}

.about-process-step p{
    color:#d8d0c4;
    font-size:16px;
    line-height:1.75;
}


/* CAPABILITIES */

.about-capabilities{
    padding:100px 5vw;
    background:#fff;
}

.about-capabilities-copy{
    max-width:1100px;
    margin:0 auto;
    text-align:center;
}

.about-capabilities-list{
    margin-top:45px;

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

.about-capabilities-list a{
    display:flex;
    align-items:center;
    gap:14px;

    padding:22px 24px;

    border:1px solid rgba(112,86,46,.20);
    background:#f8f6f2;

    color:#241d15;
    font-size:15px;
    font-weight:800;
    text-align:left;
    text-decoration:none;

    transition:.3s ease;
}

.about-capabilities-list i{
    width:28px;
    color:#b4863e;
    font-size:20px;
}

.about-capabilities-list a:hover{
    transform:translateY(-3px);
    border-color:#b4863e;
    background:#fff;
    box-shadow:0 14px 30px rgba(37,27,16,.10);
}


/* TRUST STRIP */

.about-trust-strip{
    padding:45px 5vw;
    background:#e9e1d5;

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

.about-trust-strip > div{
    display:grid;
    grid-template-columns:auto 1fr;
    column-gap:15px;
    align-items:center;
}

.about-trust-strip i{
    grid-row:1 / 3;
    color:#a87932;
    font-size:30px;
}

.about-trust-strip strong{
    color:#241d15;
    font-size:17px;
}

.about-trust-strip span{
    color:#665c50;
    font-size:14px;
}


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

.about-cta{
    position:relative;
    overflow:hidden;

    min-height:520px;

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

    padding:110px 40px;

    text-align:center;

    background:
        linear-gradient(rgba(8,10,14,.72),rgba(8,10,14,.72)),
        url("images/cta-home.jpg") center center/cover no-repeat;
}

.about-cta-content{
    position:relative;
    z-index:2;
    max-width:900px;
}

.about-cta-eyebrow{
    display:block;
    margin-bottom:20px;

    color:#d4ae69;

    font-size:28px;
    font-weight:800;
    letter-spacing:4px;
    text-transform:uppercase;
}

.about-cta h2{
    margin:0 0 24px;

    color:#fff;

    font-family:Georgia,"Times New Roman",serif;
    font-size:64px;
    font-weight:400;
    line-height:1.1;
}

.about-cta p{
    max-width:760px;
    margin:0 auto 42px;

    color:#f1f1f1;

    font-size:22px;
    line-height:1.8;
}

.about-cta-button{
    display:inline-flex;
    align-items:center;
    gap:14px;

    padding:18px 42px;

    background:linear-gradient(135deg,#d7b26a,#b88639);
    color:#111;

    font-size:18px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:1px;

    text-decoration:none;

    border-radius:4px;

    transition:.3s ease;
}

.about-cta-button:hover{
    transform:translateY(-3px);

    background:linear-gradient(135deg,#e5c37d,#c99646);

    box-shadow:0 18px 40px rgba(0,0,0,.35);
}

.about-cta-button i{
    transition:.3s ease;
}

.about-cta-button:hover i{
    transform:translateX(5px);
}


/* RESPONSIVE */

@media(max-width:1050px){

    .about-intro{
        grid-template-columns:1fr;
        gap:45px;
    }

    .about-values-grid,
    .about-process-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .about-capabilities-list{
        grid-template-columns:repeat(2,1fr);
    }
}

 @media(max-width:768px){
    .about-hero{
        width:100%;
        height:auto;
        aspect-ratio:16 / 9;
        min-height:0;
        padding:0;
        background-size:contain;
        background-position:center top;
    }
}
.about-hero-content h1{
        font-size:42px;
    }

    .about-hero-content p{
        font-size:17px;
    }

    .about-intro,
    .about-values,
    .about-process,
    .about-capabilities,
    .about-cta{
        padding-left:24px;
        padding-right:24px;
    }

    .about-intro-copy h2,
    .about-capabilities-copy h2,
    .about-section-heading h2,
    .about-cta h2{
        font-size:36px;
    }

    .about-intro-image img{
        min-height:330px;
    }

    .about-values-grid,
    .about-process-grid,
    .about-capabilities-list,
    .about-trust-strip{
        grid-template-columns:1fr;
    }

    .about-trust-strip{
        padding:40px 24px;
    }
}

/* ABOUT PAGE ONLY — MOVE LOGO INTO SKY */

.about-page .logo-container img{
    width:240px;
}

/* ABOUT TITLE — FINAL DESKTOP FIT */
.about-page .about-brand-intro{
    overflow:visible;
}

.about-page .about-brand-intro-inner{
    width:96%;
    max-width:1450px;
    margin:0 auto;
}

.about-page .about-brand-title{
    width:100%;
    max-width:100%;
    font-size:clamp(40px,3.75vw,66px);
    line-height:1;
    letter-spacing:-2.5px;
    white-space:nowrap;
    text-align:center;
}

/* About page only */
.about-page .header{
    transform: translateY(-25px);
}

/* Luxury Custom Home hero correction */
.luxury-page .luxury-hero{
    position:relative;
    width:100%;
    min-height:660px;
    overflow:hidden;
    background:#050b12;
}

.luxury-page .luxury-hero > img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center;
    display:block;
}

.luxury-page .luxury-hero::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(2,7,12,.68) 0%,
        rgba(2,7,12,.36) 48%,
        rgba(2,7,12,.08) 100%
    );
    z-index:1;
}

.luxury-page .hero-overlay{
    position:absolute;
    top:50%;
    left:60px;
    transform:translateY(-42%);
    z-index:2;
    width:min(650px, calc(100% - 120px));
    max-width:650px;
    padding:0;
    color:#fff;
}

.luxury-page .header{
    top:0;
    padding:18px 48px;
}

.luxury-page .logo-container img{
    width:260px;
    height:auto;
}

/* =========================================================
   KITCHEN REMODELING PAGE — FINAL GOLD / BRONZE REDESIGN
   Added for kitchen-remodeling.html
========================================================= */

body.kitchen-page{
    margin:0;
    background:#050b10;
    color:#fff;
}

/* HERO — uses an existing kitchen image already in /images */
.kitchen-page-hero{
    position:relative;
    min-height:78vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    color:#fff;

    background-image:
        linear-gradient(
            90deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.42) 44%,
            rgba(0,0,0,.10) 100%
        ),
        url('../images/kitchen.jpg');

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

.kitchen-page-hero::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:4px;
    background:linear-gradient(
        90deg,
        transparent,
        #d4b276,
        #a8782b,
        #d4b276,
        transparent
    );
}

.kitchen-page-hero-content{
    position:relative;
    z-index:2;
    width:min(820px,calc(100% - 80px));
    margin-left:80px;
    padding-top:80px;
}

.kitchen-page-hero-content .hero-tagline{
    color:#d4b276;
    font-size:14px;
    font-weight:800;
    letter-spacing:5px;
    text-transform:uppercase;
    margin-bottom:18px;
}

.kitchen-page-hero-content h1{
    max-width:800px;
    margin:0 0 24px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:72px;
    font-weight:400;
    line-height:1;
    text-shadow:0 4px 20px rgba(0,0,0,.55);
}

.kitchen-page-hero-content p{
    max-width:680px;
    margin:0 0 30px;
    color:#f2eee7;
    font-size:21px;
    line-height:1.7;
    text-shadow:0 2px 12px rgba(0,0,0,.60);
}

/* SHOWCASE */
.kitchen-page .kitchen-showcase{
    padding:90px 24px 110px;
    background:
        radial-gradient(circle at 50% 0%,rgba(212,178,118,.10),transparent 28%),
        linear-gradient(180deg,#fff 0%,#f7f3ed 100%);
    color:#07121d;
}

.kitchen-page .kitchen-heading{
    max-width:980px;
    margin:0 auto 58px;
    text-align:center;
}

.kitchen-page .kitchen-heading span{
    display:block;
    color:#D4B276;
    font-size:20px;
    font-weight:800;
    letter-spacing:6px;
    text-transform:uppercase;
    margin-bottom:20px;
}

.kitchen-page .kitchen-heading h2{
    margin:18px 0;
    color:#7a5124;
    font-family:Georgia,'Times New Roman',serif;
    font-size:54px;
    font-weight:400;
    line-height:1.15;
}

.kitchen-page .kitchen-heading p{
    max-width:900px;
    margin:0 auto;
    color:#4d463f;
    font-size:18px;
    line-height:1.8;
}

.kitchen-page .kitchen-grid{
    width:min(1450px,96%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:36px;
}

.kitchen-page .kitchen-card{
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#08121d;
    border:1px solid rgba(168,120,43,.34);
    border-radius:14px;
    box-shadow:0 24px 60px rgba(0,0,0,.20);
    transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}

.kitchen-page .kitchen-card:hover{
    transform:translateY(-7px);
    border-color:rgba(212,178,118,.72);
    box-shadow:
        0 30px 70px rgba(0,0,0,.24),
        0 0 24px rgba(168,120,43,.18);
}

.kitchen-page .kitchen-card img{
    width:100%;
    height:auto;
    display:block;
    transition:transform .5s ease,filter .5s ease;
}

.kitchen-page .kitchen-card:hover img{
    transform:scale(1.025);
    filter:brightness(1.04);
}

.kitchen-page .kitchen-card-content{
    flex:1;
    padding:27px 29px 31px;
}

.kitchen-page .kitchen-card-content h3{
    margin:0 0 12px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:27px;
    font-weight:400;
}

.kitchen-page .kitchen-card-content p{
    margin:0 0 18px;
    color:#d9dde3;
    line-height:1.7;
}

.kitchen-page .kitchen-card-content a{
    color:#d4b276;
    text-decoration:none;
    font-size:13px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    transition:color .3s ease;
}

.kitchen-page .kitchen-card-content a:hover{
    color:#fff0cc;
}

/* CTA — same construction-page treatment */
.kitchen-page .cta-section{
    position:relative;
    padding:90px 50px;
    text-align:center;
    color:#fff;

    background:
        linear-gradient(rgba(0,0,0,.20),rgba(0,0,0,.20)),
        url('../images/new-hero-luxury-home-html.jpg');

    background-size:cover;
    background-position:center;
}

.kitchen-page .cta-section::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:4px;
    background:linear-gradient(
        90deg,
        transparent,
        #d4b276,
        #a8782b,
        #d4b276,
        transparent
    );
}

.kitchen-page .cta-content{
    position:relative;
    z-index:2;
}

.kitchen-page .cta-content h2{
    max-width:900px;
    margin:0 auto 18px;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:44px;
    font-weight:400;
    line-height:1.15;
    text-shadow:0 2px 12px rgba(0,0,0,.45);
}

.kitchen-page .cta-content p{
    margin-bottom:30px;
    color:#fff;
    font-size:19px;
    text-shadow:0 2px 10px rgba(0,0,0,.55);
}

/* Kitchen header logo tuning */
.kitchen-page .header .logo-container img{
    width:270px;
}

/* RESPONSIVE */
@media(max-width:1000px){
    .kitchen-page-hero-content h1{
        font-size:58px;
    }

    .kitchen-page .kitchen-grid{
        gap:26px;
    }
}

@media(max-width:800px){
    .kitchen-page-hero{
        min-height:72vh;
        background-position:center;
    }

    .kitchen-page-hero-content{
        width:auto;
        margin:0;
        padding:135px 22px 70px;
    }

    .kitchen-page-hero-content h1{
        font-size:43px;
    }

    .kitchen-page-hero-content p{
        font-size:17px;
    }

    .kitchen-page .kitchen-showcase{
        padding:65px 20px 75px;
    }

    .kitchen-page .kitchen-heading h2{
        font-size:34px;
    }

    .kitchen-page .kitchen-grid{
        width:100%;
        grid-template-columns:1fr;
    }

    .kitchen-page .cta-section{
        padding:70px 22px;
    }

    .kitchen-page .cta-content h2{
        font-size:35px;
    }

    .kitchen-page .header .logo-container img{
        width:190px;
    }
}

/* ==========================================================
   PREMIUM ROOFING SYSTEMS
   COMING SOON PAGE
========================================================== */

.roofing-coming-soon-page{
    background:#05090d;
    color:#fff;
}

.roofing-coming-soon-hero{
    position:relative;

    min-height:88vh;

    display:flex;
    align-items:center;

    padding:150px 70px 100px;

    overflow:hidden;

    background:
linear-gradient(
90deg,
rgba(3,8,13,.58) 0%,
rgba(3,8,13,.30) 45%,
rgba(3,8,13,.05) 100%
),
url("../images/premium-roofing-hero.jpg");
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.roofing-coming-soon-overlay{
    position:absolute;
    inset:0;

    background:
    linear-gradient(
        to bottom,
        rgba(0,0,0,.02),
        rgba(0,0,0,.10)
    );
}

.roofing-coming-soon-content{
    position:relative;
    z-index:2;

    max-width:820px;

    padding-top:55px;
}

.roofing-coming-soon-status{

    margin-top:28px;

    display:inline-block;

    padding:10px 22px;

    border:1px solid rgba(199,154,69,.45);

    border-radius:40px;

    background:rgba(255,255,255,.06);

    color:#d4ad67;

    font-size:13px;
    font-weight:700;

    letter-spacing:2px;
    text-transform:uppercase;
}

.roofing-coming-soon-content h1{
    max-width:760px;

    margin-bottom:24px;

    color:#fff;

    font-family:Georgia,"Times New Roman",serif;
    font-size:76px;
    font-weight:400;
    line-height:.98;
}

.roofing-gold-line{
    width:90px;
    height:2px;

    margin:0 0 28px;

    background:linear-gradient(
        to right,
        #a8782b,
        #e2c17e,
        transparent
    );
}

.roofing-coming-soon-intro{
    max-width:760px;

    margin-bottom:18px;

    color:#fff;

    font-size:22px;
    line-height:1.7;
}

.roofing-coming-soon-copy{
    max-width:720px;

    margin-bottom:36px;

    color:#d9dde3;

    font-size:18px;
    line-height:1.85;
}

.roofing-coming-soon-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:18px;

    margin-bottom:42px;
}

.roofing-coming-soon-features{
    display:flex;
    flex-wrap:wrap;
    gap:28px;

    padding-top:28px;

    border-top:1px solid rgba(255,255,255,.18);
}

.roofing-coming-soon-features span{
    display:flex;
    align-items:center;
    gap:10px;

    color:#fff;

    font-size:13px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
}

.roofing-coming-soon-features i{
    color:#d4ad67;
    font-size:18px;
}

@media(max-width:900px){

    .roofing-coming-soon-hero{
        min-height:auto;
        padding:145px 30px 90px;

        background-position:center;
    }

    .roofing-coming-soon-content h1{
        font-size:58px;
    }

}

@media(max-width:768px){

    .roofing-coming-soon-hero{
        padding:130px 22px 75px;

        background:
            linear-gradient(
                rgba(3,8,13,.78),
                rgba(3,8,13,.88)
            ),
            url("../images/premium-roofing-hero.jpg");

        background-size:cover;
        background-position:center;
    }

    .roofing-coming-soon-content h1{
        font-size:44px;
        line-height:1.05;
    }

    .roofing-coming-soon-intro{
        font-size:18px;
    }

    .roofing-coming-soon-copy{
        font-size:16px;
        line-height:1.7;
    }

    .roofing-coming-soon-buttons{
        flex-direction:column;
    }

    .roofing-coming-soon-buttons .primary-btn,
    .roofing-coming-soon-buttons .secondary-btn{
        width:100%;
    }

    .roofing-coming-soon-features{
        flex-direction:column;
        gap:16px;
    }

}

/* ==========================================================
   PREMIUM ROOFING PAGE — MOBILE FIX
========================================================== */

@media(max-width:768px){

    .roofing-coming-soon-hero{
        min-height:auto !important;
        padding:120px 20px 55px !important;
        align-items:flex-start !important;

        background-position:center top !important;
    }

    .roofing-coming-soon-content{
        max-width:100% !important;
        width:100% !important;
        padding-top:70px !important;
    }

    .roofing-coming-soon-content h1{
        max-width:100% !important;
        margin:0 0 24px !important;

        font-size:46px !important;
        line-height:1.02 !important;
    }

    .roofing-gold-line{
        margin-bottom:24px !important;
    }

    .roofing-coming-soon-intro{
        max-width:100% !important;
        margin-bottom:16px !important;

        font-size:18px !important;
        line-height:1.55 !important;
    }

    .roofing-coming-soon-copy{
        max-width:100% !important;
        margin-bottom:28px !important;

        font-size:16px !important;
        line-height:1.65 !important;
    }

    .roofing-coming-soon-buttons{
        display:flex !important;
        flex-direction:column !important;
        gap:12px !important;

        width:100% !important;
        margin-bottom:30px !important;
    }

    .roofing-coming-soon-buttons .primary-btn,
    .roofing-coming-soon-buttons .secondary-btn{
        width:100% !important;
        min-width:0 !important;
        height:auto !important;

        padding:16px 18px !important;

        font-size:13px !important;
        line-height:1.3 !important;
        text-align:center !important;
    }

    .roofing-coming-soon-features{
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:14px !important;

        padding-top:24px !important;
    }

    .roofing-coming-soon-features span{
        font-size:12px !important;
        letter-spacing:1px !important;
    }

    .roofing-coming-soon-status{
        display:block !important;

        width:100% !important;
        margin-top:24px !important;
        padding:12px 16px !important;

        font-size:11px !important;
        line-height:1.5 !important;
        letter-spacing:1.3px !important;
        text-align:center !important;
    }

    .roofing-coming-soon-page .header{
        padding:16px 18px !important;
        gap:15px !important;
    }

    .roofing-coming-soon-page .logo-container img{
        width:185px !important;
    }

    .roofing-coming-soon-page .navigation{
        gap:14px !important;
        justify-content:center !important;
    }

    .roofing-coming-soon-page .navigation a{
        font-size:11px !important;
        letter-spacing:1.2px !important;
    }
}

/* =========================================================
   FEATURED PROJECTS HERO — LOGO / TAGLINE SPACING
========================================================= */

@media(max-width:768px){

   }
   
   /* =========================================================
   NEW CONSTRUCTION PAGE — LIGHTBOX FIX
========================================================= */

.new-construction-page .project-lightbox{
    display:none !important;
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    padding:35px 20px !important;
    overflow-y:auto !important;
    background:rgba(0,0,0,.96) !important;
    z-index:999999 !important;
}

.new-construction-page .project-lightbox:target{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
}

.new-construction-page .project-lightbox .lightbox-content{
    position:relative !important;
    width:100% !important;
    max-width:1500px !important;
    margin:40px auto !important;
}

.new-construction-page .project-lightbox .lightbox-content > img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:100% !important;
}

.new-construction-page .project-lightbox .lightbox-close{
    position:fixed !important;
    top:18px !important;
    right:30px !important;
    z-index:1000000 !important;
    color:#fff !important;
    font-size:48px !important;
    line-height:1 !important;
    text-decoration:none !important;
}

@media(max-width:768px){

    .new-construction-page .project-lightbox{
        padding:65px 10px 25px !important;
    }

    .new-construction-page .project-lightbox .lightbox-content{
        margin:0 auto !important;
    }

    .new-construction-page .project-lightbox .lightbox-close{
        top:12px !important;
        right:18px !important;
        font-size:42px !important;
    }
}

/* =========================================================
   FINAL MOBILE CONTACT + OVERLAP FIX
========================================================= */

@media(max-width:768px){

    html,
    body{
        width:100%;
        max-width:100%;
        overflow-x:hidden;
    }

    .contact-section{
        padding:65px 18px !important;
        overflow:hidden;
    }

    .contact-wrap{
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) !important;
        gap:38px !important;
        width:100% !important;
        max-width:100% !important;
        align-items:stretch !important;
    }

    .contact-copy,
    .contact-form{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
    }

    .contact-copy h2{
        font-size:38px !important;
        line-height:1.12 !important;
        overflow-wrap:anywhere;
    }

    .contact-copy p{
        font-size:17px !important;
        line-height:1.7 !important;
    }

    .contact-info-list,
    .contact-info-list a,
    .contact-info-list span{
        min-width:0;
        max-width:100%;
        overflow-wrap:anywhere;
        word-break:break-word;
    }

    .contact-form{
        padding:24px 18px !important;
        border-radius:12px !important;
        box-sizing:border-box !important;
    }

    .form-row{
        display:grid !important;
        grid-template-columns:minmax(0, 1fr) !important;
        gap:0 !important;
        width:100% !important;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea,
    .contact-form button{
        display:block;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box !important;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea{
        font-size:16px !important;
        padding:15px 14px !important;
    }

    .contact-form textarea{
        min-height:135px !important;
    }

    .contact-form button{
        min-width:0 !important;
        white-space:normal !important;
        padding:15px 12px !important;
    }

    img,
    video,
    iframe{
        max-width:100%;
    }

    .services-footer-grid,
    .footer-grid{
        grid-template-columns:minmax(0, 1fr) !important;
        width:100% !important;
    }

    .services-footer-grid > *,
    .footer-grid > *{
        min-width:0 !important;
        max-width:100% !important;
    }

    .footer-contact-list a{
        overflow-wrap:anywhere;
        word-break:break-word;
    }
}

/* =========================================================
   LUXURY CUSTOM HOME — MOBILE HEADER OVERLAP FIX
========================================================= */

@media(max-width:768px){

    .luxury-page .header{
        position:absolute !important;
        top:0 !important;
        left:0 !important;
        right:0 !important;
        height:auto !important;
        min-height:0 !important;
        padding:14px 16px 12px !important;
        display:flex !important;
        flex-direction:column !important;
        justify-content:center !important;
        align-items:center !important;
        gap:8px !important;
        background:linear-gradient(
            to bottom,
            rgba(3,8,14,.92),
            rgba(3,8,14,.35),
            transparent
        ) !important;
        z-index:20 !important;
    }

    .luxury-page .logo-container img{
        width:210px !important;
        max-width:70vw !important;
        height:auto !important;
    }

    .luxury-page .navigation{
        display:flex !important;
        justify-content:center !important;
        align-items:center !important;
        flex-wrap:wrap !important;
        gap:5px 12px !important;
        width:100% !important;
    }

    .luxury-page .navigation a{
        font-size:11px !important;
        letter-spacing:.7px !important;
        line-height:1.2 !important;
        white-space:nowrap !important;
    }

    .luxury-page .header-contact{
        display:none !important;
    }

    .luxury-page .hero-overlay{
        top:52% !important;
        transform:translateY(-34%) !important;
        left:28px !important;
        right:28px !important;
        width:auto !important;
        max-width:none !important;
    }

    .luxury-page .hero-tagline{
        margin-bottom:14px !important;
        font-size:10px !important;
        letter-spacing:2.5px !important;
    }
}

/* =========================================================
   MDG MOBILE HAMBURGER NAVIGATION
========================================================= */

.mobile-menu-toggle {
    display: none;
}

@media (max-width: 768px) {

    .site-header {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 18px 22px;
        z-index: 1000;
    }

    .site-header .logo-container {
        position: relative;
        z-index: 1002;
    }

    .site-header .logo-container img {
        display: block;
        width: 170px;
        max-width: 100%;
        height: auto;
    }

    .mobile-menu-toggle {
        position: relative;
        z-index: 1002;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 44px;
        height: 44px;
        padding: 9px;
        border: 1px solid rgba(255, 255, 255, 0.5);
        border-radius: 6px;
        background: rgba(4, 20, 38, 0.8);
        cursor: pointer;
    }

    .mobile-menu-toggle span {
        display: block;
        width: 100%;
        height: 2px;
        background: #fff;
        transition:
            transform 0.3s ease,
            opacity 0.3s ease;
    }

    .main-nav {
        position: absolute;
        top: 100%;
        left: 18px;
        right: 18px;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 12px;
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 8px;
        background: rgba(4, 20, 38, 0.97);
        box-shadow: 0 18px 45px rgba(0, 0, 0, 0.4);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-10px);
        transition:
            opacity 0.25s ease,
            visibility 0.25s ease,
            transform 0.25s ease;
    }

    .main-nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .main-nav a {
        display: block;
        width: 100%;
        padding: 14px 16px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        color: #fff;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 1.5px;
        line-height: 1.2;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
    }

    .main-nav a:last-child {
        border-bottom: 0;
    }

    .mobile-menu-toggle.is-active span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .mobile-menu-toggle.is-active span:nth-child(2) {
        opacity: 0;
    }

    .mobile-menu-toggle.is-active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
}

/* =========================================================
   ABOUT PAGE MOBILE SPACING
========================================================= */

@media (max-width: 768px) {

    .about-page section {
        height: auto !important;
        min-height: 0 !important;
    }

    .about-page .about-hero {
        min-height: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .about-page .about-hero img,
    .about-page .about-hero-image img {
        display: block;
        width: 100%;
        height: auto;
    }

    .about-page .about-intro,
    .about-page .about-story,
    .about-page .who-we-are {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding: 55px 24px !important;
    }

    .about-page h1,
    .about-page h2,
    .about-page h3 {
        width: 100%;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        overflow-wrap: anywhere;
    }

    .about-page h1 {
        font-size: clamp(34px, 10vw, 44px) !important;
        line-height: 1.05 !important;
    }

    .about-page h2 {
        font-size: clamp(32px, 9vw, 42px) !important;
        line-height: 1.08 !important;
    }

    .about-page p {
        max-width: 100%;
        font-size: 17px;
        line-height: 1.7;
    }

    .about-page .section-divider {
        margin-top: 35px !important;
        margin-bottom: 35px !important;
    }

    .about-page .mdg-difference {
        padding: 65px 24px !important;
    }
}

/* =========================================================
   EMERGENCY MDG HEADER RESTORE
   Matches the new site-header HTML
========================================================= */

.site-header {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;

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

    width: 100% !important;
    min-height: 120px !important;
    padding: 18px 48px !important;

    background: linear-gradient(
        to bottom,
        rgba(4, 20, 38, 0.82),
        rgba(4, 20, 38, 0.25),
        transparent
    ) !important;
}

.site-header .logo-container {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.site-header .logo-container img {
    display: block !important;
    width: 220px !important;
    max-width: 220px !important;
    height: auto !important;
    margin: 0 !important;
}

.site-header .main-nav {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 30px !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.site-header .main-nav a {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 8px 0 !important;

    border: 0 !important;
    background: transparent !important;

    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 1.5px !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8) !important;
}

.site-header .main-nav a:hover,
.site-header .main-nav a:focus {
    color: #d7b15d !important;
}

.mobile-menu-toggle {
    display: none !important;
}


/* =========================================================
   TEMPORARY MOBILE HEADER
   Keeps the current text navigation usable until hamburger
========================================================= */

@media (max-width: 768px) {

    .site-header {
        position: absolute !important;
        min-height: 0 !important;
        padding: 14px 16px !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    .site-header .logo-container img {
        width: 155px !important;
        max-width: 155px !important;
    }

    .site-header .main-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 5px 12px !important;
        width: 100% !important;
    }

    .site-header .main-nav a {
        font-size: 10px !important;
        letter-spacing: 0.7px !important;
        padding: 4px 0 !important;
    }
}

/* =========================================================
   SERVICES PAGE HEADER / HERO COLLISION FIX
========================================================= */

.services-page .site-header {
    background: linear-gradient(
        to bottom,
        rgba(4, 20, 38, 0.82),
        rgba(4, 20, 38, 0.35),
        transparent
    ) !important;
}

.services-page .site-header .logo-container img {
    width: 185px !important;
    max-width: 185px !important;
}

.services-page .services-hero-copy,
.services-page .services-hero-content,
.services-page .hero-copy {
    padding-top: 155px !important;
}

@media (max-width: 768px) {

    .services-page .site-header .logo-container img {
        width: 145px !important;
        max-width: 145px !important;
    }

    .services-page .services-hero-copy,
    .services-page .services-hero-content,
    .services-page .hero-copy {
        padding-top: 125px !important;
    }
}

/* =========================================================
   FINAL MOBILE HAMBURGER
========================================================= */

@media (max-width: 768px) {

    .site-header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;

        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        padding: 14px 18px !important;
        background: linear-gradient(
            to bottom,
            rgba(4, 20, 38, 0.88),
            rgba(4, 20, 38, 0.35),
            transparent
        ) !important;
    }

    .site-header .logo-container img {
        width: 145px !important;
        max-width: 145px !important;
    }

    .mobile-menu-toggle {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 5px !important;

        width: 44px !important;
        height: 44px !important;
        padding: 10px !important;

        border: 1px solid rgba(255,255,255,0.55) !important;
        border-radius: 6px !important;
        background: rgba(4,20,38,0.82) !important;
        cursor: pointer !important;
        z-index: 10002 !important;
    }

    .mobile-menu-toggle span {
        display: block !important;
        width: 100% !important;
        height: 2px !important;
        background: #ffffff !important;
        transition: 0.25s ease !important;
    }

    .site-header .main-nav {
        position: absolute !important;
        top: calc(100% + 4px) !important;
        left: 18px !important;
        right: 18px !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;

        width: auto !important;
        padding: 10px !important;

        background: rgba(4,20,38,0.98) !important;
        border: 1px solid rgba(255,255,255,0.16) !important;
        border-radius: 8px !important;
        box-shadow: 0 18px 40px rgba(0,0,0,0.38) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        transform: translateY(-8px) !important;
        transition: 0.25s ease !important;
    }

    .site-header .main-nav.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) !important;
    }

    .site-header .main-nav a {
        display: block !important;
        width: 100% !important;
        padding: 14px 12px !important;

        color: #ffffff !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        letter-spacing: 1.4px !important;
        text-align: center !important;
        text-decoration: none !important;
        text-transform: uppercase !important;

        border-bottom: 1px solid rgba(255,255,255,0.10) !important;
    }

    .site-header .main-nav a:last-child {
        border-bottom: 0 !important;
    }

    .mobile-menu-toggle.is-active span:nth-child(1) {
        transform: translateY(7px) rotate(45deg) !important;
    }

    .mobile-menu-toggle.is-active span:nth-child(2) {
        opacity: 0 !important;
    }

    .mobile-menu-toggle.is-active span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    .services-page .services-hero-copy,
    .services-page .services-hero-content,
    .services-page .hero-copy {
        padding-top: 140px !important;
    }
}

/* =========================================================
   MDG MOBILE-ONLY LUXURY HEADER — LIGHT VERSION
   Desktop remains unchanged
========================================================= */

@media (max-width: 768px) {

    .site-header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 9999 !important;

        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        min-height: 92px !important;
        padding: 14px 18px !important;

        background:
            linear-gradient(
                to bottom,
                rgba(255, 255, 255, 0.98),
                rgba(255, 255, 255, 0.90),
                rgba(255, 255, 255, 0.42),
                transparent
            ) !important;

        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }

    .site-header .logo-container {
        position: relative !important;
        z-index: 10003 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
    }

    .site-header .logo-container img,
    .services-page .site-header .logo-container img {
        display: block !important;
        width: 145px !important;
        max-width: 145px !important;
        height: auto !important;
        margin: 0 !important;
    }

    /* Luxury architectural hamburger */

    .mobile-menu-toggle {
        position: relative !important;
        z-index: 10004 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        gap: 5px !important;

        width: 48px !important;
        height: 48px !important;
        padding: 10px !important;

        border: 1px solid rgba(190, 138, 49, 0.72) !important;
        border-radius: 9px !important;

        background:
            linear-gradient(
                145deg,
                rgba(255, 255, 255, 0.98),
                rgba(244, 241, 235, 0.92)
            ) !important;

        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.95),
            0 8px 24px rgba(40, 35, 29, 0.16),
            0 0 18px rgba(190, 138, 49, 0.12) !important;

        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;

        cursor: pointer !important;
    }

    .mobile-menu-toggle span {
        display: block !important;
        height: 2px !important;
        border-radius: 999px !important;

        background:
            linear-gradient(
                90deg,
                #9c6e28,
                #e3bf75,
                #9c6e28
            ) !important;

        box-shadow:
            0 0 6px rgba(190, 138, 49, 0.28) !important;

        transition:
            width 0.3s ease,
            transform 0.3s ease,
            opacity 0.25s ease !important;
    }

    .mobile-menu-toggle span:nth-child(1) {
        width: 18px !important;
    }

    .mobile-menu-toggle span:nth-child(2) {
        width: 28px !important;
    }

    .mobile-menu-toggle span:nth-child(3) {
        width: 22px !important;
    }

    /* Light luxury dropdown */

    .site-header .main-nav {
        position: absolute !important;
        top: calc(100% + 8px) !important;
        left: 16px !important;
        right: 16px !important;
        z-index: 10002 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;

        gap: 0 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 10px 14px !important;

        border: 1px solid rgba(190, 138, 49, 0.42) !important;
        border-radius: 12px !important;

        background:
            linear-gradient(
                145deg,
                rgba(255, 255, 255, 0.985),
                rgba(245, 242, 236, 0.97)
            ) !important;

        box-shadow:
            inset 0 1px 0 rgba(255, 255, 255, 0.95),
            0 22px 52px rgba(36, 31, 25, 0.20),
            0 0 28px rgba(190, 138, 49, 0.08) !important;

        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        transform: translateY(-10px) scale(0.985) !important;
        transform-origin: top right !important;

        transition:
            opacity 0.28s ease,
            visibility 0.28s ease,
            transform 0.28s ease !important;
    }

    .site-header .main-nav.is-open {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
        transform: translateY(0) scale(1) !important;
    }

    .site-header .main-nav a {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 15px 16px !important;

        border: 0 !important;
        border-bottom:
            1px solid rgba(190, 138, 49, 0.20) !important;

        background: transparent !important;

        color: #3f3932 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        letter-spacing: 2px !important;

        text-align: center !important;
        text-decoration: none !important;
        text-transform: uppercase !important;

        text-shadow: none !important;
    }

    .site-header .main-nav a:last-child {
        border-bottom: 0 !important;
    }

    .site-header .main-nav a:hover,
    .site-header .main-nav a:focus {
        color: #9b6b22 !important;

        background:
            linear-gradient(
                90deg,
                transparent,
                rgba(190, 138, 49, 0.10),
                transparent
            ) !important;
    }

    /* Hamburger becomes X */

    .mobile-menu-toggle.is-active span:nth-child(1) {
        width: 25px !important;
        transform: translateY(7px) rotate(45deg) !important;
    }

    .mobile-menu-toggle.is-active span:nth-child(2) {
        opacity: 0 !important;
        transform: scaleX(0) !important;
    }

    .mobile-menu-toggle.is-active span:nth-child(3) {
        width: 25px !important;
        transform: translateY(-7px) rotate(-45deg) !important;
    }

    /* Mobile hero clearance only */

    .services-page .services-hero-copy,
    .services-page .services-hero-content,
    .services-page .hero-copy {
        padding-top: 125px !important;
    }
}

/* =========================================================
   MDG MOBILE HEADER REFINEMENT
   Less frost • smoother fade • shorter header
========================================================= */

@media (max-width: 768px) {

    .site-header {
        min-height: 78px !important;
        padding: 8px 16px !important;

        background: linear-gradient(
            to bottom,
            rgba(255, 255, 255, 0.94) 0%,
            rgba(255, 255, 255, 0.82) 38%,
            rgba(255, 255, 255, 0.46) 68%,
            rgba(255, 255, 255, 0.14) 88%,
            transparent 100%
        ) !important;

        backdrop-filter: blur(3px) !important;
        -webkit-backdrop-filter: blur(3px) !important;
    }

    .site-header .logo-container img,
    .services-page .site-header .logo-container img {
        width: 132px !important;
        max-width: 132px !important;
    }

    .mobile-menu-toggle {
        width: 44px !important;
        height: 44px !important;
        padding: 9px !important;
    }

    .site-header .main-nav {
        top: calc(100% + 3px) !important;
    }
}

/* =========================================================
   ABOUT PAGE MOBILE TYPOGRAPHY FIX
========================================================= */

@media (max-width: 768px) {

    .about-page h1,
    .about-page .about-title,
    .about-page .about-intro h2 {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        font-size: clamp(34px, 9vw, 44px) !important;
        line-height: 1.08 !important;

        white-space: normal !important;
        overflow: visible !important;
        overflow-wrap: normal !important;
        word-break: normal !important;

        text-align: center !important;
    }

    .about-page .about-intro,
    .about-page .about-content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        overflow: hidden !important;
    }

    .about-page p {
        font-size: 17px !important;
        line-height: 1.65 !important;
    }
}

/* =========================================================
   ABOUT PAGE MOBILE FINAL POSITIONING
========================================================= */

@media (max-width: 768px) {

    /* Fix clipped MODERN DEVELOPMENT GROUP heading */
    .about-page .about-title,
    .about-page .about-intro h1,
    .about-page .about-intro h2 {
        max-width: 100% !important;
        width: 100% !important;

        font-size: clamp(30px, 8vw, 38px) !important;
        line-height: 1.05 !important;

        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-break: normal !important;

        padding-left: 18px !important;
        padding-right: 18px !important;
        box-sizing: border-box !important;
    }

    /* Move Chicagoland Luxury Construction upward slightly */
    .about-page .about-intro,
    .about-page .about-hero-copy,
    .about-page .about-opening {
        padding-top: 42px !important;
    }

    .about-page .gold-eyebrow,
    .about-page .section-eyebrow,
    .about-page .about-eyebrow {
        margin-top: 0 !important;
        margin-bottom: 24px !important;
    }
}

/* =========================================================
   MDG FINAL MOBILE CLEANUP
   About title + Services page spacing
   Desktop remains unchanged
========================================================= */

@media (max-width: 768px) {

    /* =====================================================
       GLOBAL MOBILE SAFETY
    ===================================================== */

    .about-page *,
    .services-page * {
        box-sizing: border-box;
    }

    .about-page img,
    .services-page img {
        display: block;
        max-width: 100%;
    }

    .about-page section,
    .services-page section {
        height: auto !important;
        min-height: 0 !important;
    }


    /* =====================================================
       ABOUT PAGE — STACK MODERN DEVELOPMENT GROUP
    ===================================================== */

    .about-page .about-title,
    .about-page .about-intro h1,
    .about-page .about-intro h2 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 auto 28px !important;
        padding: 0 18px !important;

        font-size: 0 !important;
        line-height: 1 !important;

        white-space: normal !important;
        overflow: visible !important;

        text-align: center !important;
    }

    .about-page .about-title::before,
    .about-page .about-intro h1::before,
    .about-page .about-intro h2::before {
        content: "MODERN\A DEVELOPMENT\A GROUP" !important;
        display: block !important;

        color: #586c84 !important;
        font-family: Georgia, "Times New Roman", serif !important;
        font-size: clamp(37px, 10vw, 48px) !important;
        font-weight: 400 !important;
        line-height: 1.03 !important;
        letter-spacing: 1px !important;

        text-align: center !important;
        white-space: pre-line !important;
    }

    .about-page .about-intro,
    .about-page .about-opening {
        padding-top: 28px !important;
        padding-bottom: 48px !important;
    }

    .about-page .gold-eyebrow,
    .about-page .section-eyebrow,
    .about-page .about-eyebrow {
        margin-top: 0 !important;
        margin-bottom: 22px !important;
    }


    /* =====================================================
       SERVICES PAGE — HERO
    ===================================================== */

    .services-page .services-hero,
    .services-page .service-hero,
    .services-page .services-hero-wrapper {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding-bottom: 0 !important;
        overflow: visible !important;
    }

    .services-page .services-hero-copy,
    .services-page .services-hero-content,
    .services-page .hero-copy {
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 115px 24px 42px !important;

        overflow: visible !important;
    }

    .services-page .services-hero-copy p,
    .services-page .services-hero-content p,
    .services-page .hero-copy p {
        margin-bottom: 0 !important;
    }


    /* =====================================================
       SERVICES HERO IMAGE COLLAGE
       Removes large blank area below images
    ===================================================== */

    .services-page .services-hero-images,
    .services-page .services-image-grid,
    .services-page .hero-image-grid,
    .services-page .services-collage {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3px !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .services-page .services-hero-images img,
    .services-page .services-image-grid img,
    .services-page .hero-image-grid img,
    .services-page .services-collage img {
        width: 100% !important;
        height: 200px !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: cover !important;
    }


    /* =====================================================
       SERVICE ICON NAVIGATION GRID
    ===================================================== */

    .services-page .service-nav,
    .services-page .services-nav,
    .services-page .service-category-grid,
    .services-page .service-icon-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0 !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .services-page .service-nav a,
    .services-page .services-nav a,
    .services-page .service-category-grid a,
    .services-page .service-icon-grid a,
    .services-page .service-category,
    .services-page .service-icon-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        min-height: 122px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 20px 12px !important;
    }


    /* =====================================================
       OUR SERVICES INTRO
    ===================================================== */

    .services-page .services-intro,
    .services-page .services-heading,
    .services-page .our-services-intro {
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 42px 22px 45px !important;
    }

    .services-page .services-intro h2,
    .services-page .services-heading h2,
    .services-page .our-services-intro h2 {
        margin: 12px auto 22px !important;
        font-size: clamp(36px, 10vw, 46px) !important;
        line-height: 1.05 !important;
    }

    .services-page .services-intro p,
    .services-page .services-heading p,
    .services-page .our-services-intro p {
        margin: 0 auto !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       INDIVIDUAL SERVICE SECTIONS
       Removes giant spaces around images and text
    ===================================================== */

    .services-page .service-section,
    .services-page .service-detail,
    .services-page .service-row,
    .services-page .service-feature {
        display: flex !important;
        flex-direction: column !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 48px 22px !important;
        gap: 28px !important;
    }

    .services-page .service-image,
    .services-page .service-gallery,
    .services-page .service-collage,
    .services-page .service-photo {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .services-page .service-image img,
    .services-page .service-gallery img,
    .services-page .service-collage img,
    .services-page .service-photo img {
        width: 100% !important;
        height: auto !important;
        max-height: 310px !important;

        margin: 0 !important;

        object-fit: cover !important;
    }

    .services-page .service-content,
    .services-page .service-copy,
    .services-page .service-text {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    .services-page .service-content h2,
    .services-page .service-copy h2,
    .services-page .service-text h2 {
        margin: 10px 0 18px !important;
        line-height: 1.08 !important;
    }

    .services-page .service-content p,
    .services-page .service-copy p,
    .services-page .service-text p {
        margin: 0 0 20px !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       SERVICE FEATURE LISTS
    ===================================================== */

    .services-page .service-features,
    .services-page .service-list,
    .services-page .feature-list {
        margin: 22px 0 28px !important;
        padding: 0 !important;
    }

    .services-page .service-features li,
    .services-page .service-list li,
    .services-page .feature-list li {
        margin: 0 !important;
        padding-top: 12px !important;
        padding-bottom: 12px !important;
    }


    /* =====================================================
       SERVICE BUTTONS
    ===================================================== */

    .services-page .service-content .btn,
    .services-page .service-copy .btn,
    .services-page .service-text .btn,
    .services-page .service-cta {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-height: 50px !important;

        margin: 28px 0 0 !important;
        padding: 14px 16px !important;
    }


    /* =====================================================
       ADDITIONAL CAPABILITIES
    ===================================================== */

    .services-page .additional-capabilities,
    .services-page .capabilities-section,
    .services-page .other-services {
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 55px 22px !important;
    }

    .services-page .capabilities-grid,
    .services-page .additional-services-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;

        margin-top: 32px !important;
    }

    .services-page .capability-card,
    .services-page .additional-service-card {
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 28px 22px !important;
    }


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

    .services-page .services-cta,
    .services-page .final-cta,
    .services-page .project-cta {
        height: auto !important;
        min-height: 0 !important;

        margin: 0 !important;
        padding: 55px 24px !important;
    }

    .services-page .services-cta h2,
    .services-page .final-cta h2,
    .services-page .project-cta h2 {
        margin: 12px 0 20px !important;
        line-height: 1.08 !important;
    }

    .services-page .services-cta p,
    .services-page .final-cta p,
    .services-page .project-cta p {
        margin: 0 0 25px !important;
        line-height: 1.65 !important;
    }


    /* =====================================================
       REMOVE EMPTY MOBILE SPACERS
    ===================================================== */

    .services-page .spacer,
    .services-page .section-spacer,
    .services-page .mobile-spacer,
    .services-page .empty-space {
        display: none !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}