
/*
Theme Name: Blueprint & Beam
Theme URI: https://blueprintand-beam.com/
Author: Blueprint & Beam
Description: Custom responsive WordPress theme for Blueprint & Beam General Contractor.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: blueprint-beam
*/
:root{--charcoal:#292b2d;--deep:#3a3d3f;--lime:#b7d900;--white:#fff;--light:#f4f5f5;--mid:#777b7d;--shadow:0 18px 50px rgba(20,22,23,.12);--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--charcoal);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;line-height:1.65}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:min(1160px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:999;background:rgba(41,43,45,.98);box-shadow:0 5px 25px rgba(0,0,0,.16)}.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}.brand img{display:block;width:210px;height:auto;max-height:62px;object-fit:contain}.main-nav{margin-left:auto}.main-nav ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.main-nav a{color:#fff;padding:12px 14px;font-weight:700;font-size:14px;letter-spacing:.02em}.main-nav a:hover,.main-nav .current-menu-item>a{color:var(--lime)}.menu-item-has-children{position:relative}.menu-item-has-children>a:after{content:"▾";margin-left:6px;color:var(--lime)}.sub-menu{position:absolute!important;top:100%;left:0;display:none!important;min-width:245px;background:var(--charcoal);padding:10px!important;border-top:3px solid var(--lime);box-shadow:var(--shadow)}.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{display:block!important}.sub-menu li{display:block}.sub-menu a{display:block;padding:10px 12px}.header-call{background:var(--lime);color:var(--charcoal)!important;border-radius:999px;padding:12px 18px!important;margin-left:8px}.header-call:hover{background:#d0ee16;color:var(--charcoal)!important}.mobile-toggle{display:none;margin-left:auto;border:0;background:none;color:#fff;font-size:28px}.hero{min-height:680px;display:grid;align-items:center;background-image:linear-gradient(90deg,rgba(20,22,23,.97) 0%,rgba(20,22,23,.88) 48%,rgba(20,22,23,.58) 78%,rgba(20,22,23,.34) 100%),url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=2000&q=85");background-size:cover;background-position:center}.hero-content{max-width:720px;color:#fff;padding:90px 0;text-shadow:0 2px 5px rgba(0,0,0,.45)}.eyebrow{display:inline-flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;color:var(--lime);margin-bottom:16px}.eyebrow:before{content:"";width:34px;height:3px;background:var(--lime)}h1,h2,h3{line-height:1.12;margin:0 0 18px;font-weight:900;letter-spacing:-.025em}h1{font-size:clamp(42px,6vw,76px)}h2{font-size:clamp(32px,4vw,52px)}h3{font-size:24px}.hero p{font-size:19px;max-width:670px;color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.75)}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 22px;border-radius:999px;font-weight:900;border:2px solid var(--lime);transition:.2s}.btn-primary{background:var(--lime);color:var(--charcoal)}.btn-primary:hover{background:#d0ee16;transform:translateY(-2px)}.btn-outline{color:#fff;background:transparent}.btn-outline:hover{background:#fff;color:var(--charcoal);border-color:#fff}.section{padding:90px 0}.section.alt{background:var(--light)}.section.dark{background:var(--charcoal);color:#fff}.section-heading{max-width:760px;margin-bottom:44px}.section-heading p{color:var(--mid);font-size:17px}.dark .section-heading p{color:#f0f2f2}.dark .section-heading h2{color:#fff}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:45px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card,.feature,.contact-card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.service-card img{width:100%;height:235px;object-fit:cover}.service-body{padding:25px}.service-body p{color:var(--mid);margin:0 0 18px}.learn{color:var(--charcoal);font-weight:900}.learn span{color:var(--lime);margin-left:6px}.feature{padding:30px;border-top:4px solid var(--lime);color:var(--charcoal)}.feature h3{color:var(--charcoal)}.feature p{color:#4f5558;margin:0}.blueprint-panel{position:relative;min-height:420px;border-radius:var(--radius);overflow:hidden;background:var(--deep);background-image:linear-gradient(rgba(58,61,63,.38),rgba(58,61,63,.65)),url("https://images.unsplash.com/photo-1541888946425-d81bb19240f5?auto=format&fit=crop&w=1400&q=85");background-size:cover;background-position:center}.blueprint-panel:after{content:"";position:absolute;inset:20px;border:1px solid rgba(183,217,0,.45);pointer-events:none}.checklist{display:grid;gap:12px;margin:0;padding:0;list-style:none}.checklist li{display:flex;gap:12px;align-items:flex-start}.checklist li:before{content:"✓";flex:none;background:var(--lime);color:var(--charcoal);font-weight:900;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;margin-top:2px}.work-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}.work-grid img{width:100%;height:230px;object-fit:cover;border-radius:12px}.work-grid img:first-child{height:476px;grid-row:span 2}.service-hero{padding:120px 0;background:var(--charcoal);color:#fff;position:relative;overflow:hidden}.service-hero:before{content:"";position:absolute;right:-120px;top:-160px;width:520px;height:520px;border:1px solid rgba(183,217,0,.25);transform:rotate(18deg);box-shadow:0 0 0 60px rgba(183,217,0,.04),0 0 0 120px rgba(183,217,0,.025)}.service-hero .container{position:relative;z-index:1}.breadcrumb{font-size:13px;color:#cfd2d3;margin-bottom:18px}.breadcrumb a{color:var(--lime)}.service-feature-img{width:100%;height:480px;object-fit:cover;object-position:center;border-radius:var(--radius);box-shadow:var(--shadow);display:block}.content p{font-size:17px}.content ul{padding-left:22px}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:25px}.contact-card{padding:34px}.contact-item{padding:18px 0;border-bottom:1px solid #e5e7e8}.contact-item:last-child{border-bottom:0}.contact-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--mid)}.contact-value{font-size:18px;font-weight:800}.contact-value a:hover{color:var(--lime)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-field{display:grid;gap:7px}.form-field.full{grid-column:1/-1}.form-field label{font-weight:800;font-size:14px}.form-field input,.form-field select,.form-field textarea{width:100%;padding:13px 14px;border:1px solid #d8dbdc;border-radius:10px;font:inherit;background:#fff}.form-field textarea{min-height:145px;resize:vertical}.site-footer h3{font-size:15px;color:var(--lime);text-transform:uppercase;letter-spacing:.12em;margin:0 0 16px;line-height:1.3}.site-footer p,.site-footer li{color:#d7dadb}.footer-links a:hover{color:var(--lime)}.site-footer .footer-grid>div{min-width:0}.site-footer p{margin:0 0 12px}.site-footer p:last-child{margin-bottom:0}.site-footer a{overflow-wrap:anywhere}.site-footer .site-footer .hours{font-weight:900;color:#fff!important}.cta-strip{padding:70px 0;background:var(--lime);color:var(--charcoal)}.cta-strip .buttons{margin-top:18px}.cta-strip .btn-outline{color:var(--charcoal);border-color:var(--charcoal)}.cta-strip .btn-outline:hover{background:var(--charcoal);color:#fff}.page-title{padding:90px 0;background:var(--charcoal);color:#fff}.page-title h1{font-size:clamp(40px,5vw,64px)}.notice{padding:18px;background:#f9fbdc;border-left:4px solid var(--lime);border-radius:8px}@media(max-width:900px){.site-footer .footer-grid>div:first-child{grid-column:1/-1}..mobile-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--charcoal);padding:12px 4%;box-shadow:0 20px 35px rgba(0,0,0,.2)}.main-nav.open{display:block}.main-nav ul{display:block}.main-nav li{border-bottom:1px solid rgba(255,255,255,.08)}.main-nav a{display:block}.sub-menu{position:static!important;box-shadow:none;border-top:0;padding:0 0 8px 15px!important}.menu-item-has-children:hover>.sub-menu{display:none!important}.menu-item-has-children.open>.sub-menu{display:block!important}.header-call{margin:8px 0}.grid-2,.contact-grid{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}.work-grid{grid-template-columns:1fr 1fr}.work-grid img:first-child{grid-column:1/-1;grid-row:auto;height:300px}}@media(max-width:600px){.site-footer .footer-grid>div:first-child{grid-column:auto}..brand img{width:175px}.hero{min-height:620px}.hero-content{padding:70px 0}.grid-3,.footer-grid,.form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}.section{padding:70px 0}.service-feature-img{height:330px}.work-grid{grid-template-columns:1fr}.work-grid img,.work-grid img:first-child{height:240px}.cta-strip{text-align:center}.cta-strip .buttons{justify-content:center}}


/* Blueprint & Beam footer final alignment */

.site-footer 
.site-footer .footer-grid>div{margin:0;padding:0;}
.site-footer 
.site-footer .footer-grid p{margin:0 0 12px;line-height:1.5;}
.site-footer .footer-grid h3{margin:0 0 18px;line-height:1.2;}
.site-footer 
.site-footer 
.site-footer 
@media(max-width:900px){.site-footer }
@media(max-width:600px){.site-footer .site-footer .site-footer }


/* FINAL BLUEPRINT & BEAM FOOTER LAYOUT */

.site-footer 
.site-footer .footer-grid>div{margin:0!important;padding:0!important;min-width:0}
.site-footer 
.site-footer 
.site-footer 
.site-footer 
.site-footer .footer-brand p:last-child{margin-bottom:0!important}
.site-footer 
.site-footer 
.site-footer 
.site-footer 
.site-footer 
.site-footer .footer-links a:hover{color:var(--lime)}
.site-footer .hours{font-weight:800;color:#fff!important}
.site-footer 

@media(max-width:900px){
 .site-footer 
 .site-footer .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:600px){
 
 .site-footer 
 .site-footer .footer-grid>div:first-child{grid-column:auto}
 .site-footer 
 .site-footer 
}

/* FINAL BLUEPRINT & BEAM FOOTER */
.site-footer{
    background:#292b2d;
    color:#fff;
    padding:56px 0 20px;
    width:100%;
}
.footer-inner{
    width:min(1100px,92%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:38px;
    align-items:start;
}
.footer-col{
    min-width:0;
    margin:0;
    padding:0;
}
.footer-company{
    padding-right:10px;
}
.footer-logo{
    display:block;
    width:230px;
    max-width:100%;
    height:auto;
    margin:0 0 18px;
}
.footer-col p{
    margin:0 0 13px;
    padding:0;
    color:#e0e2e3;
    font-size:15px;
    line-height:1.55;
}
.footer-col .footer-role{
    margin:0 0 18px;
    color:#fff;
    font-weight:700;
}
.footer-col strong{
    color:#fff;
    font-weight:700;
}
.footer-col a{
    color:#e0e2e3;
    text-decoration:none;
}
.footer-col a:hover{
    color:#b7d900;
}
.footer-col .footer-hours{
    margin-top:2px;
    margin-bottom:0;
    color:#fff;
    font-weight:600;
}
.footer-col h3{
    margin:0 0 22px;
    padding:0;
    color:#b7d900;
    font-size:15px;
    line-height:1.2;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.footer-col ul{
    list-style:none;
    margin:0;
    padding:0;
}
.footer-col li{
    list-style:none;
    margin:0 0 12px;
    padding:0;
    line-height:1.35;
    font-size:15px;
}
.footer-col li:last-child{
    margin-bottom:0;
}
.footer-col li a{
    display:inline-block;
}
.footer-bottom{
    width:min(1100px,92%);
    margin:42px auto 0;
    padding:18px 0 0;
    border-top:1px solid rgba(255,255,255,.14);
    color:#bfc3c4;
    font-size:13px;
    line-height:1.4;
    text-align:center;
}
@media(max-width:900px){
    .footer-inner{
        grid-template-columns:1.2fr 1fr;
        gap:38px 30px;
    }
    .footer-services{
        grid-column:2;
    }
}
@media(max-width:600px){
    .site-footer{
        padding:44px 0 18px;
    }
    .footer-inner{
        grid-template-columns:1fr;
        gap:30px;
    }
    .footer-services{
        grid-column:auto;
    }
    .footer-logo{
        width:215px;
    }
    .footer-bottom{
        margin-top:30px;
    }
}

/* BUSINESS DETAILS FOOTER - FINAL */
.site-footer{
    background:#292b2d;
    color:#fff;
    padding:56px 0 20px;
    width:100%;
}
.footer-inner{
    width:min(1100px,92%);
    margin:0 auto;
    display:grid;
    grid-template-columns:1.25fr .7fr 1.15fr;
    column-gap:55px;
    align-items:start;
}
.footer-col{
    min-width:0;
    margin:0;
    padding:0;
}
.footer-logo{
    display:block;
    width:230px;
    max-width:100%;
    height:auto;
    margin:0 0 18px;
}
.footer-brand-col p{
    margin:0 0 13px;
    color:#e0e2e3;
    font-size:15px;
    line-height:1.55;
}
.footer-brand-col .footer-role{
    color:#fff;
    font-weight:700;
    margin-bottom:14px;
}
.footer-col h3{
    margin:0 0 22px;
    padding:0;
    color:#b7d900;
    font-size:15px;
    line-height:1.2;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.12em;
}
.footer-nav ul{
    list-style:none;
    margin:0;
    padding:0;
}
.footer-nav li{
    list-style:none;
    margin:0 0 12px;
    padding:0;
    line-height:1.35;
    font-size:15px;
}
.footer-nav li:last-child{margin-bottom:0}
.footer-col a{
    color:#e0e2e3;
    text-decoration:none;
}
.footer-col a:hover{color:#b7d900}
.footer-details{
    padding-left:0;
}
.footer-detail-item{
    margin:0 0 13px;
    padding:0;
}
.footer-detail-item:last-child{margin-bottom:0}
.footer-detail-item strong{
    display:block;
    color:#fff;
    font-size:15px;
    line-height:1.3;
    margin:0 0 3px;
}
.footer-detail-item p{
    margin:0;
    color:#e0e2e3;
    font-size:15px;
    line-height:1.5;
}
.footer-bottom{
    width:min(1100px,92%);
    margin:42px auto 0;
    padding:18px 0 0;
    border-top:1px solid rgba(255,255,255,.14);
    color:#bfc3c4;
    font-size:13px;
    line-height:1.4;
    text-align:center;
}
@media(max-width:900px){
    .footer-inner{
        grid-template-columns:1fr 1fr;
        gap:38px 40px;
    }
    .footer-details{
        grid-column:2;
    }
}
@media(max-width:600px){
    .site-footer{padding:44px 0 18px}
    .footer-inner{
        grid-template-columns:1fr;
        gap:30px;
    }
    .footer-details{grid-column:auto}
    .footer-logo{width:215px}
    .footer-bottom{margin-top:30px}
}
