/* =========================================================
   RED HOMES & CARPENTRY
   STAGE 07 — PREMIUM PUBLIC WEBSITE
   ========================================================= */

:root{
    --red:#c9272d;
    --red-dark:#9f1f24;
    --black:#080808;
    --charcoal:#111111;
    --cream:#f2efe8;
    --warm:#e8e2d8;
    --white:#ffffff;
    --grey:#77736d;
    --line:#d5cec3;
    --max:1240px;
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:var(--cream);
    color:#151515;
    font-family:Arial,Helvetica,sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
}

a{
    color:inherit;
    text-decoration:none;
}

img{
    max-width:100%;
}

/* =========================
   ACCESSIBILITY
   ========================= */

.skip-link{
    position:fixed;
    top:10px;
    left:10px;
    z-index:9999;
    padding:10px 16px;
    background:#fff;
    color:#000;
    font-weight:700;
    transform:translateY(-200%);
    transition:transform .15s ease;
}

.skip-link:focus{
    transform:translateY(0);
}

/* =========================
   HEADER
   ========================= */

header{
    min-height:88px;
    background:rgba(8,8,8,.98);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding:0 max(28px,calc((100vw - var(--max))/2));
    position:sticky;
    top:0;
    z-index:100;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.brand{
    display:inline-flex;
    flex-direction:column;
    line-height:1;
    flex-shrink:0;
}

.brand b{
    font-size:18px;
    letter-spacing:.12em;
}

.brand small{
    margin-top:7px;
    font-size:9px;
    letter-spacing:.29em;
    color:#aaa;
}

nav{
    display:flex;
    align-items:center;
    gap:30px;
}

nav a{
    position:relative;
    font-size:14px;
    font-weight:700;
    color:#ddd;
    transition:color .2s ease;
}

nav a:hover{
    color:#fff;
}

nav a::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:-9px;
    height:2px;
    background:var(--red);
    transition:right .25s ease;
}

nav a:hover::after{
    right:0;
}

/* CURRENT PAGE — ACTIVE NAVIGATION */

nav a.active{
    color:#fff;
}

nav a.active::after{
    right:0;
}

nav a.active:not(.nav-contact){
    font-weight:800;
}

nav a.nav-contact.active{
    color:#fff;
}

#menu{
    display:none;
}

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

.hero{
    min-height:calc(100vh - 88px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:110px max(28px,calc((100vw - var(--max))/2));
    background:
        radial-gradient(circle at 78% 38%,
        #68282c 0%,
        #38191b 25%,
        #17100f 53%,
        #080808 78%);
    color:#fff;
    position:relative;
    overflow:hidden;
}

.hero::after{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    right:-180px;
    bottom:-250px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
}

.eyebrow{
    margin:0 0 20px;
    font-size:11px !important;
    font-weight:800;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:#db3a40 !important;
}

.hero h1,
.page h1{
    margin:0 0 28px;
    max-width:1000px;
    font-size:clamp(54px,7vw,100px);
    line-height:.93;
    letter-spacing:-.055em;
    font-weight:800;
}

.hero h1 em{
    color:#db373d;
    font-style:normal;
}

.hero > p:not(.eyebrow){
    max-width:760px;
    margin:0 0 25px;
    font-size:19px;
    line-height:1.7;
    color:#d3d3d3;
}

/* =========================
   BUTTONS
   ========================= */

.btn,
.ghost{
    display:inline-block;
    margin:12px 8px 0 0;
    padding:15px 23px;
    font-size:14px;
    font-weight:800;
    transition:
        background .2s ease,
        border-color .2s ease,
        transform .2s ease;
}

.btn{
    border:1px solid var(--red);
    background:var(--red);
    color:#fff;
    cursor:pointer;
}

.btn:hover{
    background:var(--red-dark);
    border-color:var(--red-dark);
    transform:translateY(-1px);
}

.ghost{
    border:1px solid #8d8d8d;
}

.hero .ghost{
    color:#fff;
}

.ghost:hover{
    border-color:#111;
    background:#111;
    color:#fff;
}

/* =========================
   GENERAL SECTIONS
   ========================= */

section,
.page,
.admin{
    padding:100px max(28px,calc((100vw - var(--max))/2));
}

section h2{
    margin:0 0 25px;
    font-size:clamp(38px,5vw,64px);
    line-height:1;
    letter-spacing:-.045em;
}

.lead{
    max-width:820px;
    margin:0;
    font-size:22px;
    line-height:1.65;
    color:#55514c;
}

.dark{
    max-width:none;
    background:#101010;
    color:#fff;
}

.dark .lead{
    color:#bbb;
}

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

.grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    margin-top:50px;
    background:#2b2b2b;
}

.grid article{
    min-height:240px;
    padding:35px;
    background:#171717;
    color:#fff;
    transition:background .25s ease;
}

.grid article:hover{
    background:#202020;
}

.grid article span{
    display:block;
    margin-bottom:50px;
    color:#d23a3f;
    font-size:13px;
    font-weight:800;
}

.grid article h2,
.grid article h3{
    margin:0 0 13px;
    font-size:25px;
    line-height:1.15;
    letter-spacing:-.02em;
}

.grid article p{
    margin:0;
    color:#b7b7b7;
}

/* =========================
   PROJECTS
   ========================= */

.projects{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
    margin-top:45px;
}

.projects a{
    display:block;
}

.projects i,
.project-hero{
    display:block;
    aspect-ratio:4/3;
    overflow:hidden;
    background:
        linear-gradient(135deg,#181818,#67282b);
}

.projects i{
    transition:transform .35s ease;
}

.projects a:hover i{
    transform:translateY(-4px);
}

.projects small{
    display:block;
    margin-top:18px;
    color:#817b73;
    font-size:11px;
    font-weight:800;
    letter-spacing:.13em;
    text-transform:uppercase;
}

.projects h3{
    margin:5px 0 0;
    font-size:23px;
    line-height:1.25;
}

/* =========================
   INTERNAL PAGES
   ========================= */

.page{
    min-height:70vh;
}

.page > .eyebrow{
    margin-top:15px;
}

.narrow{
    max-width:900px;
    margin:auto;
}

/* =========================
   FORMS
   ========================= */

form{
    display:grid;
    gap:20px;
    margin-top:40px;
}

label{
    font-size:14px;
    font-weight:800;
}

input,
textarea{
    display:block;
    width:100%;
    margin-top:7px;
    padding:15px;
    border:1px solid #aaa39a;
    border-radius:0;
    background:#fff;
    color:#111;
    font:inherit;
}

input:focus,
textarea:focus{
    outline:2px solid rgba(201,39,45,.2);
    border-color:var(--red);
}

.notice{
    padding:16px 18px;
    border-left:4px solid #41824a;
    background:#e4f2e4;
}

/* =========================
   BEFORE & AFTER
   ========================= */

.rh-ba-page{
    max-width:var(--max);
    margin:0 auto;
}

.rh-ba-list{
    display:grid;
    gap:72px;
    margin-top:48px;
}

.rh-ba-project{
    border-top:1px solid #cfc8bd;
    padding-top:28px;
}

.rh-ba-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:24px;
}

.rh-ba-heading small{
    letter-spacing:.12em;
    text-transform:uppercase;
}

.rh-ba-heading h2{
    margin:.35rem 0;
}

.rh-ba-heading p{
    margin:0;
}

.rh-ba-pair{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:18px;
}

.rh-ba-pair figure{
    margin:0;
}

.rh-ba-image{
    position:relative;
    overflow:hidden;
    background:#151515;
    aspect-ratio:4/3;
}

.rh-ba-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}

.rh-ba-image span{
    position:absolute;
    left:16px;
    bottom:16px;
    padding:8px 12px;
    background:#111;
    color:#fff;
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
}

.rh-ba-pair figure:last-child .rh-ba-image span{
    background:var(--red);
}

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

footer{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:45px;
    padding:65px max(28px,calc((100vw - var(--max))/2));
    background:#080808;
    color:#aaa;
}

footer b{
    color:#fff;
    font-size:14px;
    letter-spacing:.04em;
}

footer p{
    margin:10px 0 0;
    font-size:14px;
}

footer .full{
    grid-column:1/-1;
    margin-top:20px;
    padding-top:22px;
    border-top:1px solid #292929;
    color:#777;
}

footer a:hover{
    color:#fff;
}

/* =========================
   ADMIN SAFETY
   ========================= */

.admin{
    max-width:1100px;
    margin:auto;
}

.admin h1{
    font-size:50px;
}

/* Admin Studio login — controlled desktop width */
.admin > form{
    max-width:720px;
}

.admin > form .btn{
    width:100%;
    margin-right:0;
    text-align:center;
}

@media(max-width:760px){
    .admin > form{
        max-width:none;
    }
}

/* =========================
   TABLET
   ========================= */

@media(max-width:900px){

    nav{
        gap:18px;
    }

    nav a{
        font-size:13px;
    }

    .grid{
        grid-template-columns:repeat(2,1fr);
    }

    .projects{
        grid-template-columns:repeat(2,1fr);
    }

}

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

@media(max-width:760px){

    header{
        min-height:76px;
        padding:0 20px;
    }

    #menu{
        display:block;
        padding:8px 12px;
        border:1px solid #555;
        background:none;
        color:#fff;
        font-weight:700;
        cursor:pointer;
    }

    nav{
        display:none;
        position:absolute;
        top:76px;
        left:0;
        right:0;
        padding:25px 20px 30px;
        background:#0b0b0b;
        flex-direction:column;
        align-items:flex-start;
        gap:20px;
        border-top:1px solid #292929;
    }

    nav.open{
        display:flex;
    }

    nav a{
        width:100%;
        font-size:16px;
    }

    nav a::after{
        display:none;
    }

    .hero{
        min-height:calc(100vh - 76px);
        padding:75px 20px;
    }
    .hero h1,
    .page h1{
            font-size:clamp(40px,11vw,54px);
    }

    .hero > p:not(.eyebrow){
        font-size:17px;
    }

    section,
    .page,
    .admin{
        padding:70px 20px;
    }

    section h2{
        font-size:40px;
    }

    .lead{
        font-size:19px;
    }

    .grid,
    .projects{
        grid-template-columns:1fr;
    }

    .grid article{
        min-height:auto;
    }

    .rh-ba-heading{
        display:block;
    }

    .rh-ba-heading .ghost{
        margin-top:14px;
    }

    .rh-ba-pair{
        grid-template-columns:1fr;
        gap:12px;
    }

    .rh-ba-list{
        gap:48px;
    }

    footer{
        grid-template-columns:1fr;
        padding:50px 20px;
    }

    footer .full{
        grid-column:auto;
    }
}

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

@media(max-width:420px){

    .hero h1,
    .page h1{
        font-size:46px;
    }

    .btn,
    .ghost{
        width:100%;
        margin-right:0;
        text-align:center;
    }
}

/* =========================================================
   STAGE 07C — FINAL CONSOLIDATED PREMIUM HOMEPAGE
   Replaces previous 07C + 07D homepage rules
   ========================================================= */

.home-intro,
.home-services,
.home-projects,
.home-transformation,
.home-values,
.home-area,
.home-cta{
    padding:104px max(24px,calc((100vw - 1200px)/2));
}

.section-inner{
    width:100%;
    max-width:1200px;
    margin:0 auto;
}

.home-intro h2,
.home-services h2,
.home-projects h2,
.home-transformation h2,
.home-values h2,
.home-area h2,
.home-cta h2{
    letter-spacing:-.045em;
}

/* ---------- HERO: PROTECTED ---------- */
.home-hero{
    position:relative;
    min-height:calc(100vh - 92px);
    display:flex;
    align-items:center;
    overflow:hidden;
    padding:100px max(24px,calc((100vw - 1200px)/2));
    background:radial-gradient(circle at 82% 42%,rgba(154,40,45,.48) 0,rgba(74,25,27,.46) 27%,rgba(15,13,12,.96) 63%),#090909;
    color:#fff;
}
.home-hero::before{
    content:"";
    position:absolute;
    width:560px;height:560px;
    border:1px solid rgba(255,255,255,.07);
    border-radius:50%;
    right:-180px;bottom:-260px;
    pointer-events:none;
}
.home-hero::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:0;height:1px;
    background:rgba(255,255,255,.08);
}
.hero-inner{position:relative;z-index:1;width:100%;max-width:1200px;margin:0 auto;}
.hero-copy{max-width:1060px;}
.home-hero .eyebrow{margin:0 0 24px;}
.home-hero h1{max-width:1050px;margin:0;font-size:clamp(58px,7.3vw,104px);line-height:.91;letter-spacing:-.058em;font-weight:800;}
.home-hero h1 em{color:#df343b;font-style:normal;}
.hero-intro{max-width:940px;margin:32px 0 0;color:#d5d2cf;font-size:clamp(17px,1.45vw,21px);line-height:1.65;}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:34px;}
.hero-actions .btn,.hero-actions .ghost{margin:0;min-width:168px;text-align:center;}
.hero-mark{display:none;}

/* ---------- INTRODUCTION ---------- */
.home-intro{background:#f2efe8;}
.intro-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);gap:82px;align-items:start;}
.home-intro h2{margin:10px 0 0;font-size:clamp(46px,5.4vw,72px);line-height:.98;}
.home-intro .lead{max-width:720px;color:#393633;}
.intro-copy > p:not(.lead){max-width:690px;margin:24px 0 0;color:#625d57;font-size:16px;line-height:1.75;}
.intro-copy .text-link{display:inline-block;margin-top:26px;font-weight:800;}

/* ---------- SHARED EDITORIAL HEADING ---------- */
.home-services .section-heading,
.home-transformation .section-heading{
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
    gap:70px;
    align-items:end;
    max-width:none;
    margin-bottom:58px;
}
.home-services .section-heading > p,
.home-transformation .section-heading > p{
    margin:0 0 5px;
    max-width:430px;
    font-size:17px;
    line-height:1.7;
    color:#bdb9b4;
}

/* ---------- EXPERTISE ---------- */
.home-services{background:#101010;color:#fff;}
.home-services .section-heading h2{margin:8px 0 0;font-size:clamp(44px,5vw,68px);line-height:1;}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.18);border-left:0;margin-bottom:38px;}
.home-services .service-card{position:relative;min-height:285px;padding:30px 30px 34px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;transition:none;}
.home-services .service-card + .service-card{padding-left:30px;border-left:1px solid rgba(255,255,255,.18);}
.home-services .service-card:nth-child(4){padding-left:0;border-left:0;}
.home-services .service-card:hover{background:transparent;transform:none;}
.home-services .service-card::after{content:"";position:absolute;left:0;bottom:-1px;width:42px;height:2px;background:#df343b;transform:none;transition:none;}
.home-services .service-card + .service-card::after{left:30px;}
.home-services .service-card:nth-child(4)::after{left:0;}
.service-number{display:block;margin-bottom:56px;color:#df343b;font-size:12px;font-weight:800;letter-spacing:.15em;opacity:.8;}
.home-services .service-card h3{margin:0 0 14px;font-size:25px;line-height:1.15;}
.home-services .service-card p{margin:0;color:#aaa6a1;line-height:1.65;}
.home-services .light-link{display:inline-block;margin-top:4px;color:#fff;font-weight:800;}

/* ---------- SELECTED WORK ---------- */
.home-projects{background:#f2efe8;}
.home-projects .section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;max-width:none;margin-bottom:48px;}
.home-projects .section-heading h2{margin:8px 0 0;font-size:clamp(46px,5.2vw,70px);line-height:.98;}
.home-projects .section-heading .ghost{margin:0 0 6px;flex-shrink:0;}
.featured-projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.featured-projects.count-1{grid-template-columns:minmax(0,1fr);max-width:900px;}
.featured-projects.count-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.featured-project{display:block;color:inherit;text-decoration:none;min-width:0;}
.project-image{position:relative;overflow:hidden;aspect-ratio:4/3;min-height:0;background:linear-gradient(145deg,#171717 0%,#2a2020 55%,#5a2023 100%);}
.featured-projects.count-1 .project-image{aspect-ratio:16/9;}
.project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s ease;}
.featured-project:hover .project-image img{transform:scale(1.018);}
.project-image span{position:absolute;left:20px;bottom:20px;padding:10px 14px;background:rgba(10,10,10,.92);color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.project-meta{padding-top:18px;}
.project-meta small{display:block;margin-bottom:7px;color:#8b272b;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.project-meta h3{margin:0;font-size:clamp(24px,2.2vw,32px);line-height:1.15;}

/* ---------- BEFORE & AFTER ---------- */
.home-transformation{background:#101010;color:#fff;}
.home-transformation .section-heading h2{margin:8px 0 0;font-size:clamp(44px,5vw,68px);line-height:1;}
.home-ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.home-ba-grid figure{margin:0;min-width:0;}
.home-ba-image{position:relative;overflow:hidden;aspect-ratio:4/3;background:#181818;}
.home-ba-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .5s ease;}
.home-ba-image:hover img{transform:scale(1.015);}
.home-ba-image span{position:absolute;left:18px;bottom:18px;padding:9px 12px;background:#111;color:#fff;font-size:11px;font-weight:800;letter-spacing:.14em;}
.home-ba-grid figure:last-child .home-ba-image span{background:#c91f28;}
.transformation-footer{display:flex;justify-content:space-between;align-items:end;gap:32px;padding-top:24px;}
.transformation-footer small{color:#aaa6a1;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;}
.transformation-footer h3{margin:6px 0 0;font-size:26px;}
.transformation-footer .ghost{margin:0;color:#fff;border-color:#777;}

/* ---------- WHY RED HOMES ---------- */
.home-values{background:#f2efe8;color:#151515;}
.home-values > .section-inner > .eyebrow{margin-bottom:18px;}
.values-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:70px;align-items:end;margin-bottom:54px;}
.values-heading h2{margin:0;font-size:clamp(44px,5vw,68px);line-height:1;}
.values-heading .lead{margin:0;color:#55514c;font-size:19px;line-height:1.65;}
.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;background:transparent;border:0;border-top:1px solid #cfc8bd;}
.values-grid article{min-width:0;padding:28px 26px 32px 0;border-bottom:1px solid #cfc8bd;background:transparent;}
.values-grid article + article{padding-left:26px;border-left:1px solid #cfc8bd;}
.values-grid article > span{display:block;margin-bottom:46px;color:#c9272d;font-size:12px;font-weight:800;letter-spacing:.14em;}
.values-grid h3{margin:0 0 13px;font-size:23px;}
.values-grid p{margin:0;color:#69635c;line-height:1.65;}

/* ---------- WHERE WE WORK ---------- */
.home-area{background:#e8e2d8;color:#151515;}
.area-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;align-items:end;}
.home-area h2{
    margin:8px 0 0;
    font-size:clamp(44px,4.4vw,60px);
    line-height:1.05;
    color:#151515;
}
.home-area .lead{max-width:610px;color:#4f4a45;font-size:19px;line-height:1.65;}
.area-list{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:28px;
}

.area-list > a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    min-height:42px;
    padding:0 16px;
    border:1px solid #a9a197;
    color:#292622;
    background:rgba(255,255,255,.18);
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
    text-decoration:none;
    transition:
        background-color .25s ease,
        color .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.area-list > a > span{
    display:inline-block;
    font-size:14px;
    line-height:1;
    transition:transform .25s ease;
}

.area-list > a:hover,
.area-list > a:focus-visible{
    background:#c9272d;
    border-color:#c9272d;
    color:#fff;
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(0,0,0,.10);
}

.area-list > a:hover > span,
.area-list > a:focus-visible > span{
    transform:translate(2px,-2px);
}

.area-list > .area-archive{
    border-color:#292622;
}

.area-list > .area-archive:hover > span,
.area-list > .area-archive:focus-visible > span{
    transform:translateX(4px);
}

/* ---------- FINAL CTA ---------- */
.home-cta{position:relative;overflow:hidden;background:#a91e23;color:#fff;text-align:center;}
.home-cta::after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-130px;top:-180px;}
.home-cta .section-inner{position:relative;z-index:1;max-width:900px;}
.home-cta .eyebrow{color:#fff!important;opacity:.78;}
.home-cta h2{max-width:800px;margin:8px auto 22px;font-size:clamp(46px,5.2vw,70px);line-height:.98;color:#fff;}
.home-cta .lead{max-width:650px;margin:0 auto;color:#f3dddd;}
.home-cta .btn{margin-top:24px;background:#080808;border-color:#080808;}

/* ---------- TABLET ---------- */
@media(max-width:900px){
    .home-intro,.home-services,.home-projects,.home-transformation,.home-values,.home-area,.home-cta{padding:82px 24px;}
    .home-hero{min-height:auto;padding:90px 24px;}
    .home-hero h1{font-size:clamp(55px,10vw,82px);}
    .intro-grid,.home-services .section-heading,.home-transformation .section-heading,.values-heading,.area-grid{grid-template-columns:1fr;gap:32px;}
    .service-grid,.values-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .home-services .service-card:nth-child(3),.home-services .service-card:nth-child(5){padding-left:0;border-left:0;}
    .home-services .service-card:nth-child(3)::after,.home-services .service-card:nth-child(5)::after{left:0;}
    .home-services .service-card:nth-child(4){padding-left:30px;border-left:1px solid rgba(255,255,255,.18);}
    .home-services .service-card:nth-child(4)::after{left:30px;}
    .featured-projects,.featured-projects.count-2{grid-template-columns:1fr;gap:36px;}
    .featured-projects.count-1{max-width:none;}
    .featured-projects.count-1 .project-image{aspect-ratio:4/3;}
}

/* ---------- MOBILE ---------- */
@media(max-width:620px){
    .home-hero{padding:72px 20px 80px;}
    .home-hero h1{font-size:clamp(42px,11vw,56px);line-height:.98;}
    .hero-intro{margin-top:25px;font-size:17px;}
    .hero-actions{display:grid;grid-template-columns:1fr;}
    .hero-actions .btn,.hero-actions .ghost{width:100%;margin:0;}
    .home-intro,.home-services,.home-projects,.home-transformation,.home-values,.home-area,.home-cta{padding:68px 20px;}
    .home-projects .section-heading,.transformation-footer{display:block;}
    .home-projects .section-heading .ghost,.transformation-footer .ghost{display:inline-block;margin-top:22px;}
    .service-grid,.values-grid,.home-ba-grid{grid-template-columns:1fr;}
    .home-services .service-card,.home-services .service-card + .service-card,.home-services .service-card:nth-child(3),.home-services .service-card:nth-child(4),.home-services .service-card:nth-child(5){min-height:auto;padding:26px 0;border-left:0;}
    .home-services .service-card::after,.home-services .service-card + .service-card::after,.home-services .service-card:nth-child(3)::after,.home-services .service-card:nth-child(4)::after,.home-services .service-card:nth-child(5)::after{left:0;}
    .service-number{margin-bottom:32px;}
    .values-grid article,.values-grid article + article{padding:26px 0;border-left:0;}
    .values-grid article > span{margin-bottom:28px;}
    .project-image,.featured-projects.count-1 .project-image{aspect-ratio:4/3;}
    .area-list{display:grid;grid-template-columns:1fr 1fr;}
    .area-list > a{justify-content:center;text-align:center;}
}

/* =========================================================
   STAGE 07E — PREMIUM SERVICES PAGE
   Dedicated services-page treatment
   ========================================================= */

.services-page{
    max-width:none;
    padding:0;
    background:#f2efe8;
}

/* ---------- INTRO ---------- */

.services-intro{
    max-width:1240px;
    margin:0 auto;
    padding:110px 0 72px;
}

.services-intro .eyebrow{
    margin-bottom:24px;
}

.services-intro h1{
    max-width:900px;
    margin:0 0 30px;
    font-size:clamp(58px,7vw,96px);
    line-height:.94;
    letter-spacing:-.055em;
}

.services-lead{
    max-width:980px;
    margin:0;
    font-size:18px;
    line-height:1.7;
    color:#4e4a45;
}


/* ---------- SERVICE LIST 01–06 ---------- */

.services-page .services-grid{
    max-width:1240px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid #cfc8bd;
}

.services-page .service-card{
    position:relative;
    min-height:310px;
    padding:38px 44px 42px 0;
    border-right:0;
    border-bottom:1px solid #cfc8bd;
    background:transparent;
    color:#151515;
    transition:none;
}

.services-page .service-card:nth-child(even){
    padding-left:44px;
    padding-right:0;
    border-left:1px solid #cfc8bd;
}

.services-page .service-number{
    display:block;
    margin:0 0 70px;
    color:#c9272d;
    opacity:1;
    font-size:12px;
    font-weight:800;
    letter-spacing:.16em;
}

.services-page .service-card h2{
    margin:0 0 18px;
    max-width:520px;
    font-size:clamp(34px,3.3vw,52px);
    line-height:1;
    letter-spacing:-.045em;
}

.services-page .service-card p{
    max-width:500px;
    margin:0;
    color:#69635c;
    font-size:16px;
    line-height:1.65;
}


/* ---------- SUBTLE PREMIUM DETAIL ---------- */

.services-page .service-card::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-1px;
    width:42px;
    height:2px;
    background:#c9272d;
    transform:none;
    transition:none;
}

.services-page .service-card:nth-child(even)::after{
    left:44px;
}


/* ---------- IMPORTANT: NO BLACK HOVER ---------- */

.services-page .service-card:hover{
    background:transparent;
    color:#151515;
    transform:none;
}

.services-page .service-card:hover::after{
    transform:none;
}


/* ---------- OUR FOCUS ---------- */

.services-focus{
    max-width:none;
    margin-top:0;
    padding:100px max(24px,calc((100vw - 1240px)/2));
    background:#111111;
    color:#ffffff;
}

.services-focus .eyebrow{
    margin-bottom:24px;
}

.services-focus h2{
    max-width:820px;
    margin:0 0 28px;
    font-size:clamp(48px,5.5vw,76px);
    line-height:.96;
    letter-spacing:-.05em;
    color:#fff;
}

.services-focus > p:not(.eyebrow){
    max-width:820px;
    margin:0 0 28px;
    color:#bdb8b2;
    font-size:18px;
    line-height:1.7;
}

.services-focus .btn{
    margin-top:8px;
}


/* ---------- TABLET ---------- */

@media(max-width:900px){

    .services-intro{
        padding:90px 24px 60px;
    }

    .services-page .services-grid{
        margin:0 24px;
    }

    .services-page .service-card{
        min-height:280px;
        padding-right:28px;
    }

    .services-page .service-card:nth-child(even){
        padding-left:28px;
    }

    .services-page .service-card:nth-child(even)::after{
        left:28px;
    }

    .services-page .service-number{
        margin-bottom:50px;
    }
}


/* ---------- MOBILE ---------- */

@media(max-width:620px){

    .services-intro{
        padding:72px 20px 52px;
    }

   .services-intro h1{
    font-size:clamp(40px,11vw,54px);
    line-height:1;
}
    .services-lead{
        font-size:17px;
    }

    .services-page .services-grid{
        display:block;
        margin:0 20px;
    }

    .services-page .service-card,
    .services-page .service-card:nth-child(even){
        min-height:auto;
        padding:30px 0 34px;
        border-left:0;
    }

    .services-page .service-number{
        margin-bottom:34px;
    }

    .services-page .service-card h2{
        font-size:38px;
    }

    .services-page .service-card::after,
    .services-page .service-card:nth-child(even)::after{
        left:0;
    }

    .services-focus{
        padding:72px 20px;
    }

    .services-focus h2{
        font-size:44px;
    }
}
/* ===== ACTIVE NAVIGATION — FINAL OVERRIDE ===== */

.site-nav a.active {
    color: #ef2b2d !important;
}

.site-nav a.active::after {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 3px !important;
    background: #ef2b2d !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -8px !important;
}

.site-nav a {
    position: relative;
}
/* ===== RED HOMES HEADER LOGO ===== */

.header-inner {
    display: flex;
    align-items: center;
    width: 100%;
}

.brand-logo {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.brand-logo img {
    display: block;
    width: auto;
    height: 72px;
    max-width: 260px;
    object-fit: contain;
}

.site-nav {
    margin-left: auto;
}

/* =========================================================
   RED HOMES — PREMIUM SITE FOOTER
   ========================================================= */

.site-footer{
    display:block;
    background:#080808;
    color:#9b9b9b;
    padding:68px max(28px,calc((100vw - var(--max))/2)) 28px;
}

.site-footer .footer-main{
    display:grid;
    grid-template-columns:1.6fr .85fr 1.05fr .9fr;
    gap:52px;
    align-items:start;
}

.site-footer .footer-column{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    min-width:0;
    gap:10px;
}

.site-footer .footer-column b{
    display:block;
    margin:0 0 8px;
    color:#fff;
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
}

.site-footer .footer-brand b{
    font-size:15px;
    letter-spacing:.04em;
}

.site-footer .footer-column p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}

.site-footer .footer-brand > p:first-of-type{
    max-width:360px;
}

.site-footer .footer-company{
    margin-top:8px !important;
    color:#777;
    font-size:12px !important;
    line-height:1.6 !important;
}

.site-footer .footer-column a{
    display:block;
    color:#9b9b9b;
    text-decoration:none;
    font-size:14px;
    line-height:1.55;
    transition:color .2s ease;
}

.site-footer .footer-column a:hover,
.site-footer .footer-column a:focus-visible{
    color:#fff;
}

.site-footer .footer-column a[href^="mailto:"]{
    overflow-wrap:anywhere;
}

.site-footer .footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:24px;
    margin-top:54px;
    padding-top:22px;
    border-top:1px solid #292929;
    color:#686868;
    font-size:12px;
}

.site-footer .footer-bottom span{
    font-size:12px;
}

.site-footer .studio-login{
    color:#686868;
    text-decoration:none;
    font-size:11px;
    opacity:.72;
    transition:color .2s ease, opacity .2s ease;
}

.site-footer .studio-login:hover,
.site-footer .studio-login:focus-visible{
    color:#aaa;
    opacity:1;
}


/* FOOTER — TABLET */

@media(max-width:900px){

    .site-footer{
        padding-top:56px;
    }

    .site-footer .footer-main{
        grid-template-columns:1.35fr 1fr;
        gap:44px 50px;
    }
}


/* FOOTER — MOBILE */

@media(max-width:620px){

    .site-footer{
        padding:48px 20px 24px;
    }

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

    .site-footer .footer-brand > p:first-of-type{
        max-width:none;
    }

    .site-footer .footer-bottom{
        flex-direction:column;
        align-items:flex-start;
        gap:10px;
        margin-top:42px;
    }
}
/* =========================================================
   STICKY HEADER — SAFE SECTION SCROLL OFFSET
   Prevents page sections hiding beneath fixed/sticky header
   ========================================================= */

/* RED HOMES — MOBILE VALUES HEADING FINAL FIX */
@media (max-width: 760px) {
    .home-values .values-heading h2 {
        font-size: 30px !important;
        line-height: 1.08 !important;
        letter-spacing: -0.8px !important;
        max-width: 100% !important;
    }
}
/* RED HOMES — Values heading mobile refinement */
@media (max-width: 760px) {
    .values-heading h2 {
        font-size: 30px;
    }
}
/* =========================================================
   STAGE 08 — APPROVED CINEMATIC HOMEPAGE HERO
   Locked visual direction: 25 September 2026
   ========================================================= */
.home-hero{
    min-height:calc(100vh - 92px);
    padding:76px max(24px,calc((100vw - 1240px)/2)) 48px;
    background-image:
        linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.93) 29%,rgba(5,5,5,.68) 49%,rgba(5,5,5,.18) 70%,rgba(5,5,5,.04) 100%),
        url('/assets/images/redhomes-hero-carpenters.webp');
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
}
.home-hero::before{
    width:auto;height:auto;inset:0;
    border:0;border-radius:0;
    background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.02) 58%,rgba(0,0,0,.28));
}
.home-hero .hero-inner{max-width:1240px;}
.home-hero .hero-copy{max-width:660px;}
.home-hero .eyebrow{margin-bottom:22px;color:#ef3a40!important;text-shadow:0 1px 12px rgba(0,0,0,.45);}
.home-hero h1{max-width:650px;font-size:clamp(54px,5.8vw,86px);line-height:.91;text-shadow:0 3px 24px rgba(0,0,0,.28);}
.home-hero .hero-intro{max-width:620px;margin-top:27px;font-size:18px;line-height:1.55;color:#e5e1dd;text-shadow:0 2px 14px rgba(0,0,0,.5);}
.home-hero .hero-actions{margin-top:28px;}
.home-hero .hero-actions .btn,.home-hero .hero-actions .ghost{min-width:190px;padding:16px 22px;}
.home-hero .hero-actions a span{display:inline-block;margin-left:10px;transition:transform .2s ease;}
.home-hero .hero-actions a:hover span{transform:translateX(4px);}
.hero-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:660px;margin-top:44px;border-top:1px solid rgba(255,255,255,.22);}
.hero-trust span{padding:17px 15px 0 0;color:#eee9e4;font-size:11px;font-weight:800;line-height:1.35;letter-spacing:.04em;text-transform:uppercase;}
.hero-trust span + span{padding-left:15px;border-left:1px solid rgba(255,255,255,.18);}

@media(max-width:900px){
    .home-hero{
        min-height:720px;
        padding:84px 24px 42px;
        background-image:
            linear-gradient(90deg,rgba(5,5,5,.96) 0%,rgba(5,5,5,.82) 48%,rgba(5,5,5,.30) 100%),
            url('/assets/images/redhomes-hero-carpenters.webp');
        background-position:58% center;
    }
    .home-hero .hero-copy{max-width:610px;}
    .hero-trust{grid-template-columns:repeat(2,minmax(0,1fr));max-width:560px;row-gap:18px;}
    .hero-trust span:nth-child(3){padding-left:0;border-left:0;}
}
@media(max-width:620px){
    .home-hero{
        min-height:700px;
        align-items:flex-end;
        padding:260px 20px 34px;
        background-image:
            linear-gradient(180deg,rgba(5,5,5,.10) 0%,rgba(5,5,5,.22) 27%,rgba(5,5,5,.86) 55%,rgba(5,5,5,.99) 100%),
            url('/assets/images/redhomes-hero-carpenters.webp');
        background-position:68% top;
        background-size:auto 72%,cover;
    }
    .home-hero .eyebrow{margin-bottom:16px;font-size:9px!important;}
    .home-hero h1{font-size:clamp(43px,12.5vw,58px);}
    .home-hero .hero-intro{margin-top:20px;font-size:15px;line-height:1.5;}
    .home-hero .hero-actions{margin-top:22px;grid-template-columns:1fr 1fr;gap:9px;}
    .home-hero .hero-actions .btn,.home-hero .hero-actions .ghost{min-width:0;padding:14px 10px;font-size:12px;}
    .hero-trust{margin-top:28px;grid-template-columns:1fr 1fr;row-gap:14px;}
    .hero-trust span{padding-top:13px;font-size:9px;}
}
/* =========================================================
   STAGE 09C — FINAL PREMIUM LUMINOUS / GLASS HERO
   Final visual refinement — desktop + tablet + mobile
   Structure/content remain protected
   ========================================================= */

/* ---------- DESKTOP ---------- */

.home-hero{
    background-image:
        linear-gradient(
            90deg,
            rgba(5,5,5,.72) 0%,
            rgba(5,5,5,.54) 25%,
            rgba(5,5,5,.27) 48%,
            rgba(5,5,5,.08) 72%,
            rgba(5,5,5,.02) 100%
        ),
        url('/assets/images/redhomes-hero-carpenters.webp');

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

/* Floating luminous glass surface */

.home-hero .hero-copy{
    position:relative;
    padding:32px 34px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.075) 0%,
            rgba(255,255,255,.026) 45%,
            rgba(255,255,255,.010) 75%
        );

    border:1px solid rgba(255,255,255,.09);

    -webkit-backdrop-filter:blur(5px) saturate(112%);
    backdrop-filter:blur(5px) saturate(112%);

    box-shadow:
        0 22px 65px rgba(0,0,0,.18),
        inset 0 1px 0 rgba(255,255,255,.12);
}

/* Very subtle polished-light reflection */

.home-hero .hero-copy::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
        linear-gradient(
            115deg,
            rgba(255,255,255,.075) 0%,
            rgba(255,255,255,.018) 27%,
            transparent 47%
        );
}

/* Keep actual hero content above the glass */

.home-hero .hero-copy > *{
    position:relative;
    z-index:1;
}

.home-hero h1,
.home-hero .hero-intro,
.home-hero .hero-trust{
    text-shadow:0 2px 16px rgba(0,0,0,.25);
}


/* ---------- TABLET / SMALL LAPTOP ---------- */

@media(max-width:900px){

    .home-hero{
        background-image:
            linear-gradient(
                90deg,
                rgba(5,5,5,.68) 0%,
                rgba(5,5,5,.48) 43%,
                rgba(5,5,5,.12) 100%
            ),
            url('/assets/images/redhomes-hero-carpenters.webp');

        background-position:60% center;
    }

    .home-hero .hero-copy{
        padding:28px 26px;

        -webkit-backdrop-filter:blur(5px) saturate(110%);
        backdrop-filter:blur(5px) saturate(110%);

        border-color:rgba(255,255,255,.08);
    }
}


/* ---------- MOBILE ---------- */

@media(max-width:620px){

    .home-hero{
        min-height:760px;

        /*
         * Give the photograph its own mobile composition.
         * Image remains full-bleed but the subject is pulled
         * further into the visible frame.
         */
        background-image:
            linear-gradient(
                180deg,
                rgba(5,5,5,.03) 0%,
                rgba(5,5,5,.08) 25%,
                rgba(5,5,5,.38) 52%,
                rgba(5,5,5,.72) 100%
            ),
            url('/assets/images/redhomes-hero-carpenters.webp');

        background-position:68% top;
        background-size:auto 70%, cover;

        align-items:flex-end;

        /* Less empty photograph before the message */
        padding:210px 18px 24px;
    }

    .home-hero .hero-copy{
        width:100%;
        max-width:none;

        padding:24px 18px 18px;

        background:
            linear-gradient(
                135deg,
                rgba(255,255,255,.065),
                rgba(255,255,255,.018)
            );

        border-color:rgba(255,255,255,.07);

        -webkit-backdrop-filter:blur(4px) saturate(108%);
        backdrop-filter:blur(4px) saturate(108%);

        box-shadow:
            0 18px 45px rgba(0,0,0,.15),
            inset 0 1px 0 rgba(255,255,255,.09);
    }

    .home-hero .hero-copy::before{
        background:
            linear-gradient(
                115deg,
                rgba(255,255,255,.055) 0%,
                rgba(255,255,255,.012) 30%,
                transparent 48%
            );
    }

    .home-hero .eyebrow{
        margin-bottom:13px;
        font-size:9px !important;
    }

    .home-hero h1{
        font-size:clamp(42px,12vw,56px);
        line-height:.98;
    }

    .home-hero .hero-intro{
        margin-top:17px;
        font-size:15px;
        line-height:1.48;
    }

    .home-hero .hero-actions{
        margin-top:19px;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }

    .home-hero .hero-actions .btn,
    .home-hero .hero-actions .ghost{
        min-width:0;
        padding:13px 8px;
        font-size:11px;
    }

    /*
     * Compact trust strip.
     * Keeps all four messages without allowing them
     * to dominate the mobile hero.
     */
    .home-hero .hero-trust{
        margin-top:20px;
        grid-template-columns:1fr 1fr;
        row-gap:0;
    }

    .home-hero .hero-trust span{
        padding:10px 8px;
        font-size:8px;
        line-height:1.25;
    }

    .home-hero .hero-trust span:nth-child(odd){
        padding-left:0;
    }
}


/* ---------- VERY SMALL PHONES ---------- */

@media(max-width:390px){

    .home-hero{
        min-height:735px;
        padding:190px 14px 20px;
        background-position:68% top;
    }

    .home-hero .hero-copy{
        padding:21px 15px 15px;
    }

    .home-hero h1{
        font-size:clamp(39px,12vw,50px);
    }

    .home-hero .hero-intro{
        font-size:14px;
    }

    .home-hero .hero-actions .btn,
    .home-hero .hero-actions .ghost{
        font-size:10px;
        padding:12px 6px;
    }
}
/* =========================================================
   STAGE 09D — HERO LEGACY LAYER CLEANUP ONLY
   No layout / content / Selected Work changes
   ========================================================= */

.home-hero::before,
.home-hero::after{
    content:none !important;
    display:none !important;
}
/* =========================================================
   STAGE 09D — RED HOMES SIGNATURE PREMIUM HERO
   Hero + Trust Rail
   SELECTED WORK IS PROTECTED — DO NOT MODIFY
   ========================================================= */

/* ---------- HERO MASTER ---------- */

.home-hero{
    position:relative;
    overflow:hidden;

    background-image:
        linear-gradient(
            90deg,
            rgba(5,5,5,.66) 0%,
            rgba(5,5,5,.48) 28%,
            rgba(5,5,5,.16) 52%,
            rgba(5,5,5,.03) 100%
        ),
        url('/assets/images/redhomes-hero-carpenters.webp');

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

/* Kill the old decorative / ghost wording */
.home-hero::before,
.home-hero::after{
    content:none !important;
    display:none !important;
}


/* ---------- MAIN HERO POSITIONING ---------- */

.home-hero #hero-inner,
.home-hero .hero-inner{
    position:relative;
    z-index:2;
}


/* ---------- PREMIUM GLASS PANEL ---------- */

.home-hero .hero-copy{
    position:relative;

    padding:38px 38px 34px;

    background:
        linear-gradient(
            135deg,
            rgba(24,20,18,.73) 0%,
            rgba(20,18,17,.58) 55%,
            rgba(15,15,15,.44) 100%
        );

    border:1px solid rgba(255,255,255,.24);

    -webkit-backdrop-filter:blur(9px) saturate(115%);
    backdrop-filter:blur(9px) saturate(115%);

    box-shadow:
        0 26px 70px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.10);
}

/* subtle luxury reflection */
.home-hero .hero-copy::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:
        linear-gradient(
            118deg,
            rgba(255,255,255,.08) 0%,
            rgba(255,255,255,.018) 30%,
            transparent 49%
        );
}

.home-hero .hero-copy > *{
    position:relative;
    z-index:1;
}


/* ---------- EYEBROW ---------- */

.home-hero .eyebrow{
    margin-bottom:18px;

    color:#ef3438;

    font-size:11px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:.19em;
    text-transform:uppercase;
}


/* ---------- SIGNATURE HEADLINE ---------- */

.home-hero h1{
    max-width:720px;
    margin:0;

    color:#fff;

    font-size:clamp(54px,5.5vw,82px);
    font-weight:800;
    line-height:.96;
    letter-spacing:-.055em;

    text-shadow:0 3px 20px rgba(0,0,0,.22);
}

.home-hero h1 em{
    color:#e52f35;
    font-style:normal;
}


/* ---------- INTRO COPY ---------- */

.home-hero .hero-intro{
    max-width:650px;
    margin-top:25px;

    color:rgba(255,255,255,.88);

    font-size:17px;
    line-height:1.55;

    text-shadow:0 2px 12px rgba(0,0,0,.25);
}


/* ---------- HERO ACTIONS ---------- */

.home-hero .hero-actions{
    margin-top:28px;
    gap:12px;
}

.home-hero .hero-actions .btn,
.home-hero .hero-actions .ghost{
    min-height:58px;
    padding:17px 28px;

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

    font-weight:750;
    letter-spacing:-.01em;

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

.home-hero .hero-actions .btn{
    background:#df292f;
    border-color:#df292f;
}

.home-hero .hero-actions .btn:hover{
    background:#ed3439;
    border-color:#ed3439;
    transform:translateY(-2px);
}

.home-hero .hero-actions .ghost{
    background:rgba(8,8,8,.25);
    border-color:rgba(255,255,255,.42);
}

.home-hero .hero-actions .ghost:hover{
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.72);
    transform:translateY(-2px);
}


/* =========================================================
   INTEGRATED TRUST RAIL
   These are trust indicators — intentionally NOT clickable
   ========================================================= */

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

    margin-top:34px;

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

    border-top:1px solid rgba(255,255,255,.27);
    border-bottom:1px solid rgba(255,255,255,.14);
}

.home-hero .hero-trust span{
    position:relative;

    min-height:64px;
    padding:20px 18px;

    display:flex;
    align-items:center;

    color:rgba(255,255,255,.88);

    font-size:10px;
    font-weight:800;
    line-height:1.25;
    letter-spacing:.055em;
    text-transform:uppercase;
}

.home-hero .hero-trust span + span{
    border-left:1px solid rgba(255,255,255,.22);
}

/* premium red marker */
.home-hero .hero-trust span::before{
    content:"";
    width:26px;
    height:2px;

    margin-right:12px;
    flex:0 0 auto;

    background:#e52f35;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:900px){

    .home-hero{
        background-image:
            linear-gradient(
                90deg,
                rgba(5,5,5,.56) 0%,
                rgba(5,5,5,.32) 44%,
                rgba(5,5,5,.08) 100%
            ),
            url('/assets/images/redhomes-hero-carpenters.webp');

        background-position:60% center;
    }

    .home-hero .hero-copy{
        padding:30px 28px 27px;
    }

    .home-hero h1{
        font-size:clamp(48px,8vw,68px);
    }

    .home-hero .hero-trust{
        grid-template-columns:1fr 1fr;
    }

    .home-hero .hero-trust span:nth-child(3){
        border-left:0;
        border-top:1px solid rgba(255,255,255,.18);
    }

    .home-hero .hero-trust span:nth-child(4){
        border-top:1px solid rgba(255,255,255,.18);
    }
}


/* =========================================================
   MOBILE — CINEMATIC IMAGE FIRST / MESSAGE SECOND
   ========================================================= */

@media(max-width:620px){

    .home-hero{
        min-height:760px;

        padding:
            200px
            16px
            24px;

        align-items:flex-end;

        background-image:
            linear-gradient(
                180deg,
                rgba(5,5,5,.02) 0%,
                rgba(5,5,5,.04) 27%,
                rgba(5,5,5,.32) 54%,
                rgba(5,5,5,.76) 100%
            ),
            url('/assets/images/redhomes-hero-carpenters.webp');

        background-size:cover;
        background-position:62% top;
    }

    .home-hero .hero-copy{
        width:100%;
        max-width:none;

        padding:26px 22px 22px;

        background:
            linear-gradient(
                135deg,
                rgba(26,22,20,.74),
                rgba(13,13,13,.58)
            );

        border-color:rgba(255,255,255,.20);

        -webkit-backdrop-filter:blur(7px) saturate(110%);
        backdrop-filter:blur(7px) saturate(110%);

        box-shadow:
            0 22px 50px rgba(0,0,0,.22),
            inset 0 1px 0 rgba(255,255,255,.08);
    }

    .home-hero .eyebrow{
        margin-bottom:15px;
        font-size:9px !important;
        line-height:1.4;
        letter-spacing:.17em;
    }

    .home-hero h1{
        font-size:clamp(42px,12vw,56px);
        line-height:.98;
        letter-spacing:-.05em;
    }

    .home-hero .hero-intro{
        margin-top:20px;

        font-size:15px;
        line-height:1.48;
    }

    .home-hero .hero-actions{
        margin-top:21px;

        display:grid;
        grid-template-columns:1fr 1fr;
        gap:9px;
    }

    .home-hero .hero-actions .btn,
    .home-hero .hero-actions .ghost{
        min-width:0;
        min-height:54px;

        padding:13px 8px;

        font-size:11px;
    }

    .home-hero .hero-trust{
        margin-top:27px;

        grid-template-columns:1fr 1fr;
    }

    .home-hero .hero-trust span{
        min-height:53px;
        padding:13px 8px;

        font-size:8px;
        letter-spacing:.035em;
    }

    .home-hero .hero-trust span::before{
        width:16px;
        margin-right:7px;
    }
}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media(max-width:390px){

    .home-hero{
        min-height:735px;
        padding:185px 14px 20px;
        background-position:63% top;
    }

    .home-hero .hero-copy{
        padding:22px 17px 18px;
    }

    .home-hero h1{
        font-size:clamp(39px,12vw,50px);
    }

    .home-hero .hero-intro{
        font-size:14px;
    }

    .home-hero .hero-actions .btn,
    .home-hero .hero-actions .ghost{
        padding:12px 6px;
        font-size:10px;
    }
}
/* =========================================================
   STAGE 10 — RED HOMES SIGNATURE HOMEPAGE
   HERO + TRUST RAIL + MISSION

   IMPORTANT:
   .home-projects / Selected Work is intentionally untouched.
   ========================================================= */


/* =========================================================
   01 — SIGNATURE HERO
   ========================================================= */

.signature-hero{
    position:relative;
    min-height:720px;
    overflow:hidden;

    display:flex;
    align-items:center;

    background-image:
        linear-gradient(
            90deg,
            rgba(7,7,7,.72) 0%,
            rgba(7,7,7,.54) 30%,
            rgba(7,7,7,.18) 58%,
            rgba(7,7,7,.03) 100%
        ),
        url('/assets/images/redhomes-hero-carpenters.webp');

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


/* Prevent old decorative hero layers */

.signature-hero::before,
.signature-hero::after{
    content:none !important;
    display:none !important;
}


.signature-hero .hero-inner{
    position:relative;
    z-index:2;

    width:min(1440px, calc(100% - 72px));
    margin:0 auto;
}


/* GLASS CONTENT */

.signature-hero .hero-copy{
    width:min(700px, 58vw);

    padding:42px 44px 40px;

    background:
        linear-gradient(
            135deg,
            rgba(24,22,20,.66),
            rgba(16,16,16,.43)
        );

    border:1px solid rgba(255,255,255,.20);

    -webkit-backdrop-filter:
        blur(8px)
        saturate(115%);

    backdrop-filter:
        blur(8px)
        saturate(115%);

    box-shadow:
        0 28px 80px rgba(0,0,0,.24),
        inset 0 1px 0 rgba(255,255,255,.11);
}


.signature-hero .hero-copy::before{
    content:"";

    position:absolute;
    inset:0;

    pointer-events:none;

    background:
        linear-gradient(
            120deg,
            rgba(255,255,255,.075),
            transparent 38%
        );
}


.signature-hero .hero-copy > *{
    position:relative;
    z-index:1;
}


/* HERO TYPOGRAPHY */

.signature-hero .eyebrow{
    margin-bottom:20px;

    color:#ef3438;

    font-size:10px;
    font-weight:800;

    letter-spacing:.20em;
    text-transform:uppercase;
}


.signature-hero h1{
    margin:0;

    max-width:680px;

    color:#fff;

    font-size:clamp(58px,5.6vw,86px);
    line-height:.94;

    font-weight:800;
    letter-spacing:-.055em;

    text-shadow:
        0 3px 24px rgba(0,0,0,.25);
}


.signature-hero h1 em{
    color:#e52f35;
    font-style:normal;
}


.signature-hero .hero-intro{
    max-width:620px;

    margin-top:27px;

    color:rgba(255,255,255,.84);

    font-size:16px;
    line-height:1.6;
}


/* HERO BUTTONS */

.signature-hero .hero-actions{
    margin-top:30px;

    display:flex;
    gap:12px;
}


.signature-hero .hero-actions .btn,
.signature-hero .hero-actions .ghost{
    min-height:58px;

    padding:17px 27px;

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

    font-weight:750;
}


.signature-hero .hero-actions .btn{
    background:#df292f;
    border-color:#df292f;
}


.signature-hero .hero-actions .ghost{
    background:rgba(0,0,0,.20);
    border-color:rgba(255,255,255,.45);
}


/* =========================================================
   02 — FULL-WIDTH TRUST RAIL
   ========================================================= */

.signature-trust{
    position:relative;
    z-index:5;

    background:
        linear-gradient(
            90deg,
            #151515,
            #1b1918 50%,
            #151515
        );

    border-top:1px solid rgba(255,255,255,.10);
    border-bottom:1px solid rgba(255,255,255,.08);
}


.signature-trust-inner{
    width:min(1440px, calc(100% - 72px));

    margin:0 auto;

    display:grid;
    grid-template-columns:repeat(4,1fr);
}


.trust-item{
    min-height:112px;

    padding:24px 27px;

    display:flex;
    align-items:center;
    gap:16px;
}


.trust-item + .trust-item{
    border-left:
        1px solid rgba(255,255,255,.11);
}


.trust-icon{
    width:43px;
    height:43px;

    flex:0 0 43px;

    display:grid;
    place-items:center;

    color:#ee3439;

    font-size:22px;

    border:
        1px solid rgba(238,52,57,.46);

    background:
        rgba(238,52,57,.055);
}


.trust-item strong{
    display:block;

    color:#fff;

    font-size:12px;
    line-height:1.25;

    font-weight:800;

    letter-spacing:.07em;
    text-transform:uppercase;
}


.trust-item small{
    display:block;

    margin-top:6px;

    color:rgba(255,255,255,.48);

    font-size:11px;
    line-height:1.35;
}


/* =========================================================
   03 — PREMIUM CREAM MISSION
   ========================================================= */

.signature-mission{
    position:relative;

    padding:
        clamp(90px,9vw,145px)
        0
        clamp(80px,8vw,125px);

    overflow:hidden;

    color:#171717;

    background:
        linear-gradient(
            135deg,
            #f4f0e8 0%,
            #ece5da 54%,
            #f6f2eb 100%
        );
}


/* subtle architectural light */

.signature-mission::before{
    content:"";

    position:absolute;

    width:700px;
    height:700px;

    top:-360px;
    right:-220px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(255,255,255,.74),
            rgba(255,255,255,0) 68%
        );

    pointer-events:none;
}


.signature-mission-inner{
    position:relative;
    z-index:2;

    display:grid;
    grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);

    gap:clamp(60px,9vw,150px);

    align-items:start;
}


.mission-heading .eyebrow{
    margin-bottom:23px;

    color:#df292f;

    font-size:10px;
    font-weight:800;

    letter-spacing:.22em;
    text-transform:uppercase;
}


.mission-heading h2{
    margin:0;

    max-width:760px;

    color:#181818;

    font-size:clamp(52px,5.5vw,84px);

    line-height:.97;

    font-weight:780;
    letter-spacing:-.055em;
}


.mission-heading h2 em{
    display:inline-block;

    color:#df292f;

    font-style:normal;
}


.mission-copy{
    padding-top:48px;
}


.mission-copy p{
    max-width:530px;

    margin:0;

    color:#67625d;

    font-size:15px;
    line-height:1.72;
}


.mission-copy .mission-lead{
    margin-bottom:20px;

    color:#302d2a;

    font-size:18px;
    line-height:1.6;

    font-weight:550;
}


.mission-link{
    display:inline-flex;
    align-items:center;
    gap:13px;

    margin-top:31px;

    padding-bottom:7px;

    color:#171717;

    font-size:12px;
    font-weight:800;

    letter-spacing:.08em;
    text-transform:uppercase;

    border-bottom:2px solid #df292f;
}


/* MISSION VALUES */

.mission-values{
    position:relative;
    z-index:2;

    margin-top:
        clamp(75px,8vw,125px);

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

    border-top:1px solid rgba(23,23,23,.17);
}


.mission-values article{
    position:relative;

    padding:
        34px
        clamp(24px,3vw,45px)
        0;
}


.mission-values article:first-child{
    padding-left:0;
}


.mission-values article + article{
    border-left:
        1px solid rgba(23,23,23,.13);
}


.mission-values article > span{
    display:block;

    margin-bottom:27px;

    color:#df292f;

    font-size:10px;
    font-weight:800;

    letter-spacing:.18em;
}


.mission-values h3{
    margin:0 0 13px;

    color:#171717;

    font-size:22px;
    font-weight:750;

    letter-spacing:-.025em;
}


.mission-values p{
    max-width:330px;

    margin:0;

    color:#6c6761;

    font-size:13px;
    line-height:1.65;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:900px){

    .signature-hero .hero-inner,
    .signature-trust-inner{
        width:min(100% - 40px, 1440px);
    }


    .signature-hero .hero-copy{
        width:min(680px, 75vw);
    }


    .signature-trust-inner{
        grid-template-columns:1fr 1fr;
    }


    .trust-item:nth-child(3),
    .trust-item:nth-child(4){
        border-top:
            1px solid rgba(255,255,255,.10);
    }


    .trust-item:nth-child(3){
        border-left:0;
    }


    .signature-mission-inner{
        grid-template-columns:1fr;
        gap:32px;
    }


    .mission-copy{
        padding-top:0;
    }

}


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

@media(max-width:620px){

    .signature-hero{
        min-height:760px;

        padding:
            205px
            15px
            22px;

        align-items:flex-end;

        background-image:
            linear-gradient(
                180deg,
                rgba(5,5,5,.02) 0%,
                rgba(5,5,5,.05) 27%,
                rgba(5,5,5,.36) 55%,
                rgba(5,5,5,.79) 100%
            ),
            url('/assets/images/redhomes-hero-carpenters.webp');

        background-position:68% top;
    }


    .signature-hero .hero-inner{
        width:100%;
    }


    .signature-hero .hero-copy{
        width:100%;

        padding:25px 20px 23px;

        background:
            linear-gradient(
                135deg,
                rgba(23,21,19,.72),
                rgba(12,12,12,.57)
            );
    }


    .signature-hero h1{
        font-size:clamp(42px,12vw,56px);
        line-height:.98;
    }


    .signature-hero .hero-intro{
        margin-top:19px;

        font-size:14px;
        line-height:1.52;
    }


    .signature-hero .hero-actions{
        margin-top:21px;

        display:grid;
        grid-template-columns:1fr 1fr;

        gap:8px;
    }


    .signature-hero .hero-actions .btn,
    .signature-hero .hero-actions .ghost{
        min-height:52px;

        padding:12px 7px;

        font-size:10px;
    }


    /* trust rail */

    .signature-trust-inner{
        width:100%;

        grid-template-columns:1fr 1fr;
    }


    .trust-item{
        min-height:93px;

        padding:18px 14px;

        gap:10px;
    }


    .trust-icon{
        width:34px;
        height:34px;

        flex-basis:34px;

        font-size:17px;
    }


    .trust-item strong{
        font-size:8px;
        letter-spacing:.04em;
    }


    .trust-item small{
        font-size:9px;
    }


    /* mission */

    .signature-mission{
        padding:
            74px
            0
            72px;
    }


    .signature-mission-inner{
        gap:31px;
    }


    .mission-heading h2{
        font-size:clamp(44px,12vw,60px);
    }


    .mission-copy .mission-lead{
        font-size:16px;
    }


    .mission-values{
        margin-top:60px;

        grid-template-columns:1fr;

        border-top:
            1px solid rgba(23,23,23,.17);
    }


    .mission-values article,
    .mission-values article:first-child{
        padding:
            27px
            0;
    }


    .mission-values article + article{
        border-left:0;

        border-top:
            1px solid rgba(23,23,23,.13);
    }


    .mission-values article > span{
        margin-bottom:13px;
    }

}
/* ==========================================================
   RED HOMES — HERO FINAL REFINEMENT
   Stage 09D
   Scope: HERO + TRUST RAIL ONLY
   Everything below mission remains protected.
   ========================================================== */


/* ----------------------------------------------------------
   1. REMOVE OLD / GHOST HERO DECORATION
   ---------------------------------------------------------- */

/* Kill legacy decorative hero layers only */
.home-hero::before,
.home-hero::after{
    content:none !important;
    display:none !important;
}

/* Hide any legacy decorative copy/icons sitting outside
   the real hero content and trust rail */
.home-hero > .hero-decor,
.home-hero > .hero-background-copy,
.home-hero > .hero-watermark,
.home-hero > .hero-side-copy,
.home-hero > .hero-floating-copy,
.home-hero > .hero-icons{
    display:none !important;
}


/* ----------------------------------------------------------
   2. DESKTOP HERO — CINEMATIC REFINEMENT
   ---------------------------------------------------------- */

@media (min-width:901px){

    .home-hero{
        min-height:650px !important;
        padding:68px 0 0 !important;

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

        align-items:flex-start !important;
    }

    /* Premium glass panel */
    .home-hero .hero-copy{
        width:min(650px,52vw) !important;
        max-width:650px !important;

        padding:40px 44px 34px !important;

        background:
            linear-gradient(
                135deg,
                rgba(30,22,18,.73) 0%,
                rgba(24,19,17,.65) 55%,
                rgba(16,14,13,.58) 100%
            ) !important;

        border:1px solid rgba(255,255,255,.22) !important;

        -webkit-backdrop-filter:blur(8px) saturate(112%) !important;
        backdrop-filter:blur(8px) saturate(112%) !important;

        box-shadow:
            0 22px 60px rgba(0,0,0,.22),
            inset 0 1px 0 rgba(255,255,255,.10) !important;
    }

    /* Remove old glass reflection if still being generated */
    .home-hero .hero-copy::before{
        opacity:.42 !important;
    }

    .home-hero .eyebrow{
        margin-bottom:18px !important;
    }

    .home-hero h1{
        font-size:clamp(58px,5vw,78px) !important;
        line-height:.96 !important;
        letter-spacing:-.045em !important;
    }

    .home-hero .hero-intro{
        max-width:580px !important;
        margin-top:24px !important;
        font-size:17px !important;
        line-height:1.55 !important;
    }

    .home-hero .hero-actions{
        margin-top:26px !important;
    }
}


/* ----------------------------------------------------------
   3. TRUST RAIL — REMOVE THE HUGE EMPTY DARK SECTION
   ---------------------------------------------------------- */

.home-hero .hero-trust{
    margin-top:34px !important;
}

/* In case trust rail now sits immediately after hero */
.hero-trust,
.home-trust,
.trust-strip,
.hero-trust-strip{
    min-height:0 !important;
}


/* Desktop trust items */
@media (min-width:901px){

    .home-hero .hero-trust{
        padding:0 !important;
        grid-template-columns:repeat(4,1fr) !important;
        border-top:1px solid rgba(255,255,255,.20) !important;
    }

    .home-hero .hero-trust span{
        min-height:74px !important;
        padding:18px 20px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:flex-start !important;
        gap:13px !important;

        font-size:11px !important;
        line-height:1.15 !important;
        letter-spacing:.04em !important;
    }
}


/* ----------------------------------------------------------
   4. TABLET
   ---------------------------------------------------------- */

@media (min-width:621px) and (max-width:900px){

    .home-hero{
        min-height:720px !important;
        padding-top:90px !important;
    }

    .home-hero .hero-copy{
        width:min(680px,88%) !important;
        padding:34px 34px 28px !important;
    }

    .home-hero .hero-trust{
        margin-top:26px !important;
    }
}


/* ----------------------------------------------------------
   5. MOBILE — KEEP PHOTO + GLASS PREMIUM BUT COMPACT
   ---------------------------------------------------------- */

@media (max-width:620px){

    .home-hero{
        min-height:760px !important;
        padding:205px 18px 24px !important;
        background-position:62% top !important;
        background-size:auto 70%, cover !important;
    }

    .home-hero .hero-copy{
        width:100% !important;
        max-width:none !important;
        padding:24px 18px 18px !important;

        background:
            linear-gradient(
                135deg,
                rgba(28,22,19,.76),
                rgba(16,15,14,.67)
            ) !important;

        border:1px solid rgba(255,255,255,.16) !important;

        -webkit-backdrop-filter:blur(6px) saturate(108%) !important;
        backdrop-filter:blur(6px) saturate(108%) !important;
    }

    .home-hero h1{
        font-size:clamp(39px,12vw,52px) !important;
        line-height:.98 !important;
    }

    .home-hero .hero-intro{
        margin-top:17px !important;
        font-size:14px !important;
        line-height:1.48 !important;
    }

    .home-hero .hero-actions{
        margin-top:19px !important;
    }

    .home-hero .hero-trust{
        margin-top:20px !important;
        grid-template-columns:1fr 1fr !important;
        row-gap:0 !important;
    }

    .home-hero .hero-trust span{
        min-height:50px !important;
        padding:10px 8px !important;
        font-size:8px !important;
        line-height:1.2 !important;
    }
}


/* ----------------------------------------------------------
   6. VERY SMALL PHONES
   ---------------------------------------------------------- */

@media (max-width:390px){

    .home-hero{
        min-height:735px !important;
        padding:190px 14px 20px !important;
    }

    .home-hero .hero-copy{
        padding:21px 15px 15px !important;
    }

    .home-hero h1{
        font-size:clamp(38px,12vw,49px) !important;
    }
}
/* =========================================================
   RED HOMES — MOBILE VIEWPORT SAFETY FIX
   Prevent page sections/content escaping left viewport
   ========================================================= */

@media (max-width: 620px) {

    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    #main-content {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    #main-content > section {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }

}
/* RED HOMES — MOBILE MISSION EDGE ALIGNMENT */
@media (max-width: 620px) {

    .signature-mission {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box;
    }

    .signature-mission * {
        box-sizing: border-box;
    }

}
/* =========================================================
   RED HOMES — FINAL MOBILE MISSION ALIGNMENT
   ========================================================= */

@media (max-width: 620px) {

    .signature-mission .section-inner {
        width: calc(100% - 40px) !important;
        max-width: calc(100% - 40px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

}
/* ==========================================================
   RED HOMES — CLEAN RESPONSIVE HERO
   27 SEPTEMBER 2026
   ========================================================== */

.home-hero{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    width:100% !important;
    min-height:650px !important;
    padding:55px 0 !important;
    overflow:hidden !important;
    color:#fff !important;

    background:
        linear-gradient(
            90deg,
            rgba(5,5,5,.58) 0%,
            rgba(5,5,5,.38) 30%,
            rgba(5,5,5,.10) 60%,
            rgba(5,5,5,.02) 100%
        ),
        url('/assets/images/redhomes-hero-carpenters.webp')
        58% center / cover no-repeat !important;
}

.home-hero::before,
.home-hero::after{
    content:none !important;
    display:none !important;
}

.home-hero .hero-inner{
    position:relative !important;
    z-index:2 !important;
    width:min(calc(100% - 48px),1240px) !important;
    margin:0 auto !important;
}

.home-hero .hero-copy{
    position:relative !important;
    width:min(650px,52vw) !important;
    max-width:650px !important;
    margin:0 !important;
    padding:38px 44px 34px !important;

    background:
        linear-gradient(
            135deg,
            rgba(28,21,18,.76),
            rgba(17,15,14,.66)
        ) !important;

    border:1px solid rgba(255,255,255,.18) !important;

    -webkit-backdrop-filter:blur(8px) saturate(110%) !important;
    backdrop-filter:blur(8px) saturate(110%) !important;

    box-shadow:0 20px 55px rgba(0,0,0,.22) !important;
}

.home-hero .hero-copy::before{
    content:none !important;
    display:none !important;
}

.home-hero .eyebrow{
    margin:0 0 18px !important;
    color:#ef3a40 !important;
    font-size:11px !important;
    font-weight:800 !important;
    letter-spacing:.20em !important;
    text-transform:uppercase !important;
}

.home-hero h1{
    margin:0 !important;
    max-width:620px !important;
    color:#fff !important;
    font-size:clamp(56px,5vw,76px) !important;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
    font-weight:800 !important;
}

.home-hero h1 em{
    color:#df343b !important;
    font-style:normal !important;
}

.home-hero .hero-intro{
    max-width:570px !important;
    margin:24px 0 0 !important;
    color:#e5e1dd !important;
    font-size:17px !important;
    line-height:1.55 !important;
}

.home-hero .hero-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:12px !important;
    margin-top:26px !important;
}

.home-hero .hero-actions .btn,
.home-hero .hero-actions .ghost{
    min-width:190px !important;
    margin:0 !important;
    padding:15px 20px !important;
    text-align:center !important;
}


/* =========================
   TABLET
   ========================= */

@media (min-width:621px) and (max-width:900px){

    .home-hero{
        min-height:650px !important;
        padding:55px 0 !important;

        background:
            linear-gradient(
                90deg,
                rgba(5,5,5,.60),
                rgba(5,5,5,.28) 55%,
                rgba(5,5,5,.04)
            ),
            url('/assets/images/redhomes-hero-carpenters.webp')
            62% center / cover no-repeat !important;
    }

    .home-hero .hero-copy{
        width:min(590px,78vw) !important;
        padding:32px !important;
    }

    .home-hero h1{
        font-size:clamp(50px,7vw,68px) !important;
    }
}


/* ==========================================================
   MOBILE
   Photograph FIRST.
   Card SECOND.
   No giant overlay covering the carpenters.
   ========================================================== */

@media (max-width:620px){

    html,
    body,
    #main-content{
        width:100% !important;
        max-width:100% !important;
        overflow-x:hidden !important;
    }

    .home-hero{
        display:block !important;
        min-height:0 !important;

        /*
         * 360px clear photographic area,
         * followed naturally by the copy.
         */

        padding:360px 18px 22px !important;

        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.01) 0%,
                rgba(0,0,0,.01) 65%,
                rgba(0,0,0,.18) 100%
            ),
            url('/assets/images/redhomes-hero-carpenters.webp')
            57% top / auto 360px no-repeat !important;

        background-color:#111 !important;
    }

    .home-hero .hero-inner{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;
    }

    .home-hero .hero-copy{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;

        padding:25px 22px 22px !important;

        background:
            linear-gradient(
                135deg,
                rgba(28,22,19,.94),
                rgba(14,14,14,.92)
            ) !important;

        border:1px solid rgba(255,255,255,.14) !important;

        -webkit-backdrop-filter:none !important;
        backdrop-filter:none !important;

        box-shadow:0 15px 35px rgba(0,0,0,.20) !important;
    }

    .home-hero .eyebrow{
        margin:0 0 13px !important;
        font-size:9px !important;
        line-height:1.5 !important;
        letter-spacing:.15em !important;
    }

    .home-hero h1{
        width:100% !important;
        max-width:100% !important;
        margin:0 !important;

        font-size:clamp(39px,10.8vw,48px) !important;
        line-height:.99 !important;
        letter-spacing:-.035em !important;
    }

    .home-hero .hero-intro{
        width:100% !important;
        max-width:100% !important;
        margin:17px 0 0 !important;

        font-size:14px !important;
        line-height:1.5 !important;
    }

    .home-hero .hero-actions{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:9px !important;
        width:100% !important;
        margin-top:20px !important;
    }

    .home-hero .hero-actions .btn,
    .home-hero .hero-actions .ghost{
        width:100% !important;
        min-width:0 !important;
        padding:13px 7px !important;
        font-size:11px !important;
        white-space:nowrap !important;
    }
}


/* =========================
   SMALL PHONES
   ========================= */

@media (max-width:390px){

    .home-hero{
        padding:330px 14px 18px !important;

        background:
            linear-gradient(
                180deg,
                rgba(0,0,0,.01) 0%,
                rgba(0,0,0,.01) 65%,
                rgba(0,0,0,.18) 100%
            ),
            url('/assets/images/redhomes-hero-carpenters.webp')
            57% top / auto 330px no-repeat !important;

        background-color:#111 !important;
    }

    .home-hero .hero-copy{
        padding:22px 17px 19px !important;
    }

    .home-hero h1{
        font-size:clamp(36px,10.5vw,43px) !important;
    }

    .home-hero .hero-intro{
        font-size:13px !important;
    }

    .home-hero .hero-actions .btn,
    .home-hero .hero-actions .ghost{
        font-size:10px !important;
        padding:12px 5px !important;
    }
}

/* END CLEAN RESPONSIVE HERO */
/* ==========================================================
   RED HOMES — PRODUCTION SPLIT HERO
   FINAL VISUAL ARCHITECTURE — 27 SEPTEMBER 2026

   IMPORTANT:
   KEEP THIS BLOCK AT THE VERY END OF app.css
   ========================================================== */


/* ==========================================================
   BASE / DESKTOP
   ========================================================== */

.production-hero{
    position:relative !important;
    isolation:isolate;
    overflow:hidden !important;

    display:grid !important;
    grid-template-columns:minmax(470px, 46%) minmax(0, 54%) !important;

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

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

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


/* ----------------------------------------------------------
   LEFT — RED HOMES BRAND PANEL
   ---------------------------------------------------------- */

.production-hero .production-hero__content{
    position:relative;
    z-index:3;

    display:flex;
    align-items:center;

    min-width:0;

    padding:
        clamp(54px, 6vw, 88px)
        clamp(42px, 5.5vw, 92px);

    background:
        radial-gradient(
            circle at 92% 45%,
            rgba(215,35,42,.16) 0%,
            rgba(120,12,18,.09) 28%,
            transparent 58%
        ),
        linear-gradient(
            115deg,
            #070707 0%,
            #0c0909 55%,
            #170b0d 100%
        );
}


/*
   Elegant visual bridge between black brand panel
   and clear photograph.
*/

.production-hero .production-hero__content::after{
    content:"";

    position:absolute;
    z-index:4;

    top:0;
    right:-125px;
    bottom:0;

    width:180px;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(20,8,10,.94) 0%,
            rgba(33,8,11,.73) 27%,
            rgba(90,13,18,.34) 57%,
            rgba(120,20,25,.10) 78%,
            transparent 100%
        );
}


/* ----------------------------------------------------------
   COPY
   ---------------------------------------------------------- */

.production-hero .production-hero__copy{
    position:relative;
    z-index:6;

    width:100% !important;
    max-width:650px !important;

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

    background:none !important;
    border:0 !important;

    box-shadow:none !important;

    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important;
}


/* kill old glass-panel decorative layer */

.production-hero .production-hero__copy::before,
.production-hero .production-hero__copy::after,
.production-hero::before,
.production-hero::after{
    content:none !important;
    display:none !important;
}


.production-hero .eyebrow{
    margin:
        0
        0
        22px !important;

    color:#ef3038 !important;

    font-size:11px !important;
    line-height:1.4 !important;

    font-weight:800 !important;
    letter-spacing:.19em !important;

    text-transform:uppercase;
}


.production-hero h1{
    max-width:640px !important;

    margin:0 !important;

    color:#fff !important;

    font-size:clamp(58px,5.3vw,82px) !important;
    line-height:.94 !important;

    font-weight:800 !important;
    letter-spacing:-.055em !important;

    text-shadow:
        0 4px 30px rgba(0,0,0,.25) !important;
}


.production-hero h1 em{
    color:#ed3038 !important;
    font-style:normal !important;
}


.production-hero .hero-intro{
    max-width:580px !important;

    margin:
        28px
        0
        0 !important;

    color:rgba(255,255,255,.78) !important;

    font-size:16px !important;
    line-height:1.62 !important;
}


/* ----------------------------------------------------------
   BUTTONS
   ---------------------------------------------------------- */

.production-hero .hero-actions{
    display:flex !important;
    flex-wrap:wrap !important;

    gap:12px !important;

    margin-top:31px !important;
}


.production-hero .hero-actions .btn,
.production-hero .hero-actions .ghost{
    display:inline-flex !important;

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

    min-height:58px !important;

    padding:
        16px
        28px !important;

    font-size:13px !important;
    font-weight:800 !important;

    text-decoration:none !important;

    transition:
        transform .2s ease,
        background-color .2s ease,
        border-color .2s ease !important;
}


.production-hero .hero-actions .btn{
    background:#ed2f36 !important;
    color:#fff !important;

    border:
        1px
        solid
        #ed2f36 !important;
}


.production-hero .hero-actions .ghost{
    background:rgba(255,255,255,.025) !important;
    color:#fff !important;

    border:
        1px
        solid
        rgba(255,255,255,.34) !important;
}


.production-hero .hero-actions .btn:hover,
.production-hero .hero-actions .ghost:hover{
    transform:translateY(-2px);
}


/* ==========================================================
   RIGHT — DEDICATED PHOTOGRAPHIC FRAME
   ========================================================== */

.production-hero .production-hero__media{
    position:relative;
    z-index:1;

    min-width:0;
    min-height:680px;

    overflow:hidden;

    background:#161616;
}


/*
   IMPORTANT:
   Photograph now lives INSIDE a predictable frame.
   It is NOT the hero background.
*/

.production-hero .production-hero__image{
    position:absolute;

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

    inset:0;

    display:block;

    object-fit:cover !important;

    /*
       Current carpenters image:
       slight upper bias protects heads.
       Future Admin focal controls can modify this value.
    */

    object-position:52% 35% !important;

    filter:
        brightness(1.06)
        contrast(1.025)
        saturate(1.03);

    transform:scale(1.001);

    transition:
        object-position .3s ease,
        filter .3s ease;
}


/*
   Very subtle cinematic edge —
   NOT the old dark photograph overlay.
*/

.production-hero .production-hero__media::before{
    content:"";

    position:absolute;
    z-index:2;

    inset:0;

    pointer-events:none;

    background:
        linear-gradient(
            90deg,
            rgba(15,5,7,.19) 0%,
            rgba(15,5,7,.04) 17%,
            transparent 38%
        );
}


/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width:1050px){

    .production-hero{
        grid-template-columns:45% 55% !important;
        min-height:620px !important;
    }

    .production-hero .production-hero__content{
        padding:
            52px
            34px !important;
    }

    .production-hero h1{
        font-size:
            clamp(48px,6.2vw,65px) !important;
    }

    .production-hero .production-hero__media{
        min-height:620px;
    }

    .production-hero .production-hero__image{
        object-position:53% 32% !important;
    }
}


/* ==========================================================
   MOBILE
   IMAGE FIRST — CONTENT SECOND
   ========================================================== */

@media (max-width:760px){

    .production-hero{
        display:flex !important;
        flex-direction:column !important;

        min-height:0 !important;

        background:#090909 !important;
    }


    /* photograph moves above content */

    .production-hero .production-hero__media{
        order:1;

        position:relative;

        width:100% !important;

        min-height:0 !important;
        height:auto !important;

        aspect-ratio:4 / 3;

        background:#161616;
    }


    .production-hero .production-hero__image{
        position:absolute;

        inset:0;

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

        object-fit:cover !important;

        /*
           Current image mobile crop:
           both people retained and heads protected.
        */

        object-position:50% 25% !important;

        filter:
            brightness(1.07)
            contrast(1.02)
            saturate(1.02);
    }


    .production-hero .production-hero__media::before{
        background:
            linear-gradient(
                180deg,
                transparent 55%,
                rgba(7,7,7,.10) 100%
            );
    }


    /* content becomes clean black branded block */

    .production-hero .production-hero__content{
        order:2;

        width:100% !important;

        padding:
            34px
            22px
            38px !important;

        background:
            radial-gradient(
                circle at 90% 0%,
                rgba(213,33,41,.13),
                transparent 42%
            ),
            #090909 !important;
    }


    /* desktop horizontal bridge is unnecessary */

    .production-hero .production-hero__content::after{
        display:none !important;
    }


    .production-hero .production-hero__copy{
        width:100% !important;
        max-width:none !important;
    }


    .production-hero .eyebrow{
        margin-bottom:15px !important;

        font-size:9px !important;
        letter-spacing:.15em !important;
    }


    .production-hero h1{
        max-width:100% !important;

        font-size:
            clamp(42px,12.5vw,58px) !important;

        line-height:.96 !important;

        letter-spacing:-.05em !important;
    }


    .production-hero .hero-intro{
        max-width:100% !important;

        margin-top:21px !important;

        font-size:14px !important;
        line-height:1.55 !important;
    }


    .production-hero .hero-actions{
        display:grid !important;

        grid-template-columns:
            1fr
            1fr !important;

        gap:9px !important;

        margin-top:25px !important;
    }


    .production-hero .hero-actions .btn,
    .production-hero .hero-actions .ghost{
        min-width:0 !important;
        min-height:52px !important;

        padding:
            12px
            8px !important;

        font-size:10px !important;
    }

}


/* ==========================================================
   SMALL PHONES
   ========================================================== */

@media (max-width:390px){

    .production-hero .production-hero__media{
        aspect-ratio:1 / .82;
    }

    .production-hero .production-hero__image{
        object-position:50% 22% !important;
    }

    .production-hero .production-hero__content{
        padding:
            30px
            18px
            34px !important;
    }

    .production-hero h1{
        font-size:
            clamp(39px,12vw,49px) !important;
    }

}


/* ==========================================================
   SAFETY
   Prevent hero from ever creating horizontal mobile overflow
   ========================================================== */

.production-hero,
.production-hero *,
.production-hero *::before,
.production-hero *::after{
    box-sizing:border-box;
}

.production-hero{
    max-width:100vw !important;
}

.production-hero__content,
.production-hero__media,
.production-hero__copy{
    min-width:0 !important;
}

/* ==========================================================
   RED HOMES — PRODUCTION HERO IMAGE
   FINAL RESPONSIVE CROP REFINEMENT
   ========================================================== */

/* DESKTOP */
@media (min-width:1051px){
    .production-hero .production-hero__image{
        object-position:50% 30% !important;
    }
}

/* TABLET */
@media (min-width:761px) and (max-width:1050px){
    .production-hero .production-hero__image{
        object-position:50% 27% !important;
    }
}

/* MOBILE */
@media (max-width:760px){
    .production-hero .production-hero__media{
        aspect-ratio:4 / 3 !important;
    }

    .production-hero .production-hero__image{
        object-position:50% 22% !important;
    }
}

/* SMALL PHONES */
@media (max-width:390px){
    .production-hero .production-hero__media{
        aspect-ratio:4 / 3 !important;
    }

    .production-hero .production-hero__image{
        object-position:50% 20% !important;
    }
}
/* =========================================================
   RED HOMES — FINAL MOBILE FOOTER REFINEMENT
   Mobile only — desktop/tablet untouched
   ========================================================= */

@media (max-width: 620px) {

    .site-footer {
        padding: 32px 20px 20px;
    }

    .site-footer .footer-main {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .site-footer .footer-column {
        gap: 6px;
    }

    .site-footer .footer-column b {
        margin-bottom: 4px;
    }

    .site-footer .footer-column p {
        line-height: 1.55;
    }

    .site-footer .footer-company {
        margin-top: 5px !important;
    }

    .site-footer .footer-column a {
        line-height: 1.45;
    }

    .site-footer .footer-bottom {
        margin-top: 28px;
        padding-top: 18px;
        gap: 7px;
    }

}

/* RED HOMES — MOBILE FOOTER VERTICAL LINE DIAGNOSTIC */
@media (max-width: 620px) {

    .site-footer,
    .site-footer *,
    .site-footer *::before,
    .site-footer *::after {
        border-left: 0 !important;
        border-right: 0 !important;
        box-shadow: none !important;
    }

    .site-footer::before,
    .site-footer::after,
    .site-footer .footer-main::before,
    .site-footer .footer-main::after {
        content: none !important;
        display: none !important;
    }
}

/* =========================================================
   RED HOMES — GLOBAL WHATSAPP FLOAT
   ========================================================= */

.whatsapp-float {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;

    display: flex;
    align-items: center;
    gap: 10px;

    min-height: 58px;
    padding: 0 18px 0 15px;

    background: #25D366;
    color: #fff;
    border-radius: 999px;

    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;

    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}

.whatsapp-float svg {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
}

.whatsapp-float:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.34);
    color: #fff;
}

.whatsapp-float:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

/* Mobile: clean circular WhatsApp button */
@media (max-width: 700px) {
    .whatsapp-float {
        right: 16px;
        bottom: 16px;

        width: 56px;
        height: 56px;
        min-height: 56px;
        padding: 0;

        justify-content: center;
        border-radius: 50%;
    }

    .whatsapp-float span {
        display: none;
    }

    .whatsapp-float svg {
        width: 30px;
        height: 30px;
    }
}
/* =========================================================
   RED HOMES — GLOBAL WHATSAPP FLOAT
   ========================================================= */
   .whatsapp-float {
    right: 18px;
    bottom: 18px;

    width: 50px;
    height: 50px;
    min-height: 50px;

    padding: 0;
    gap: 0;

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

    border-radius: 50%;
}

.whatsapp-float span {
    display: none;
}

.whatsapp-float svg {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
}

@media (max-width: 700px) {
    .whatsapp-float {
        right: 14px;
        bottom: 14px;

        width: 46px;
        height: 46px;
        min-height: 46px;
    }

    .whatsapp-float svg {
        width: 25px;
        height: 25px;
        flex-basis: 25px;
    }
}

/* RED HOMES — FINAL WHATSAPP COMPACT OVERRIDE */

a.whatsapp-float {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !important;

    padding: 0 !important;
    gap: 0 !important;

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

    right: 18px !important;
    bottom: 18px !important;

    border-radius: 50% !important;
}

a.whatsapp-float span {
    display: none !important;
}

a.whatsapp-float svg {
    width: 27px !important;
    height: 27px !important;
    flex: 0 0 27px !important;
}

@media (max-width: 700px) {
    a.whatsapp-float {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;

        right: 14px !important;
        bottom: 14px !important;
    }

    a.whatsapp-float svg {
        width: 25px !important;
        height: 25px !important;
        flex: 0 0 25px !important;
    }
}