
:root{--ink:#171717;--muted:#5f5b55;--paper:#f5f2ec;--white:#fff;--accent:#c77729;--accent2:#efa14f;--line:#ded6ca;--focus:#ffd166;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper)}img,video{max-width:100%;display:block}a{color:inherit}.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#111;padding:10px 14px;z-index:1000}.skip:focus{left:8px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.site-header{background:#111;color:#fff;position:sticky;top:0;z-index:50;border-bottom:3px solid var(--accent)}.nav-wrap{max-width:var(--max);margin:auto;padding:12px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:900;letter-spacing:.07em;font-size:19px;white-space:nowrap}.brand span{color:var(--accent2)}.main-nav{display:flex;align-items:center;gap:5px}.main-nav>a,.dropbtn{color:#fff;text-decoration:none;background:none;border:0;padding:11px 12px;font:700 14px Arial;cursor:pointer}.main-nav a:hover,.dropbtn:hover,.main-nav a[aria-current=page]{color:var(--accent2)}.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:265px;background:#fff;color:#171717;padding:8px;box-shadow:0 16px 35px #0004;border-top:3px solid var(--accent)}.dropdown.open .dropdown-menu{display:block}.dropdown-menu a{display:block;padding:10px 12px;text-decoration:none;font-weight:700}.dropdown-menu a:hover{background:#f3eadf}.nav-call{background:var(--accent)!important;border-radius:4px}.menu-toggle{display:none;background:none;border:2px solid #fff;color:#fff;padding:8px 10px;font-weight:800}
.hero,.page-hero{background:linear-gradient(110deg,#111,#2a231d 70%,#111);color:#fff}.hero{padding:68px 22px}.page-hero{padding:58px 22px}.hero-grid,.split{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.page-hero .wrap{max-width:var(--max);margin:auto}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:900;font-size:.78rem}.hero h1,.page-hero h1{font-size:clamp(2.7rem,7vw,5rem);line-height:1;margin:12px 0 18px}.page-hero h1{font-size:clamp(2.5rem,5vw,4rem)}.hero p,.page-hero p{font-size:1.14rem;color:#ddd;max-width:760px}.hero-photos{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:215px 175px;gap:10px}.hero-photos img{width:100%;height:100%;object-fit:cover}.hero-photos img:first-child{grid-row:1/3}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.btn{display:inline-block;padding:12px 20px;border-radius:4px;text-decoration:none;font-weight:900;border:2px solid var(--accent)}.primary{background:var(--accent);color:#fff}.secondary{color:#fff;border-color:#fff}
main section{padding:66px 22px}.wrap{max-width:var(--max);margin:auto}h2{font-size:clamp(2rem,4vw,2.8rem);line-height:1.12;margin:8px 0 15px}h3{line-height:1.25}.lead{font-size:1.08rem;color:var(--muted);max-width:820px}.grid-3,.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.card,.service-card{background:#fff;border:1px solid var(--line);padding:25px;box-shadow:0 5px 20px #0000000d}.service-card{text-decoration:none;border-top:4px solid var(--accent)}.service-card:hover{transform:translateY(-3px);box-shadow:0 13px 30px #0002}.service-card p,.card p{color:var(--muted)}.service-card .arrow{color:var(--accent);font-weight:900}.band{background:#fff}.dark{background:#191919;color:#fff}.dark .lead{color:#ccc}.checklist{list-style:none;padding:0}.checklist li{padding:9px 0 9px 31px;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:900}.feature-image{width:100%;height:430px;object-fit:cover;border:1px solid #555;box-shadow:0 18px 45px #0003}.crumbs{font-size:.9rem;margin-bottom:15px;color:#ddd}.crumbs a{color:var(--accent2)}
.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-top:28px}.project-card{background:#fff;border:1px solid var(--line);text-decoration:none;overflow:hidden}.project-card img{width:100%;height:220px;object-fit:cover}.project-card div{padding:17px}.gallery-section{border-top:1px solid var(--line)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.gallery button{padding:0;border:0;background:#ddd;cursor:zoom-in}.gallery img{width:100%;height:215px;object-fit:cover}.gallery button:hover img{filter:brightness(.85)}.lightbox{position:fixed;inset:0;background:#000e;z-index:100;display:none;align-items:center;justify-content:center;padding:25px}.lightbox.open{display:flex}.lightbox img{max-height:88vh;max-width:94vw;object-fit:contain}.lightbox button{position:absolute;background:#111b;color:#fff;border:1px solid #777;font-size:2rem;padding:10px 15px}.lb-close{right:18px;top:14px}.lb-prev{left:12px}.lb-next{right:12px}
.faq details{background:#fff;border:1px solid var(--line);margin:11px 0;padding:0 20px}.faq summary{font-weight:900;cursor:pointer;padding:18px 30px 18px 0}.faq details p{color:var(--muted);padding-bottom:15px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-panel{background:#fff;border:1px solid var(--line);padding:28px}.contact-panel a{color:#9b4f0c;font-weight:800}.notice{border-left:4px solid var(--accent);background:#fff;padding:18px 22px}.site-footer{background:#111;color:#bbb;padding:36px 22px}.footer-grid{max-width:var(--max);margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:25px}.site-footer a{color:#eee}.site-footer strong{color:#fff}.copyright{max-width:var(--max);margin:25px auto 0;padding-top:20px;border-top:1px solid #444;font-size:.88rem}
@media(max-width:900px){.hero-grid,.split{grid-template-columns:1fr}.hero-photos{order:-1}.grid-3,.service-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.feature-image{height:340px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#111;padding:12px 20px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.dropdown-menu{position:static;box-shadow:none;margin:0 12px}.main-nav>a,.dropbtn{text-align:left;width:100%}}
@media(max-width:620px){.hero,.page-hero{padding:42px 18px}.hero-photos{grid-template-rows:145px 120px}.hero h1{font-size:3rem}main section{padding:50px 18px}.grid-3,.service-grid,.contact-grid,.footer-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr);gap:7px}.gallery img{height:160px}.feature-image{height:280px}.nav-wrap{padding:11px 15px}.brand{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.service-photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.service-photo-grid img{width:100%;height:210px;object-fit:cover}.service-photo-grid img:first-child:nth-last-child(3){grid-row:span 2;height:430px}.media-note{font-size:.86rem;color:var(--muted);margin-top:9px}.support-list li{padding-bottom:16px}.support-list strong{display:block;color:var(--ink);font-size:1.04rem}.estimate-form{background:#fff;border:1px solid var(--line);padding:28px;box-shadow:0 8px 24px #0001}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:800;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #8a857d;border-radius:3px;padding:12px;font:inherit;background:#fff;color:#171717}.field textarea{min-height:140px;resize:vertical}.form-help{font-size:.88rem;color:var(--muted)}.social-box{margin-top:20px;padding:18px;background:#f0e8dd;border-left:4px solid var(--accent)}.illustrative{position:relative}.illustrative:after{content:'Illustrative commercial-services image';position:absolute;bottom:8px;right:8px;background:#111d;color:#fff;padding:5px 8px;font-size:.72rem}.gallery-intro{display:flex;justify-content:space-between;gap:20px;align-items:end}.tag{display:inline-block;background:#eee4d7;color:#6f3506;padding:4px 8px;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}.success{min-height:55vh;display:grid;place-items:center;text-align:center}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.service-photo-grid img,.service-photo-grid img:first-child:nth-last-child(3){height:210px}.service-photo-grid{grid-template-columns:1fr 1fr}.gallery-intro{display:block}}

.hero-mark{width:min(310px,72vw);height:auto;margin:0 0 18px;border:1px solid #ffffff24;box-shadow:0 14px 35px #0008;border-radius:3px}.hero h1.hero-title{font-weight:950;letter-spacing:-.035em;color:#fff;text-shadow:0 3px 0 #713805,0 8px 24px #000,0 0 22px #efa14f3d}.hero h1.hero-title span{display:inline-block;background:linear-gradient(180deg,#fff 5%,#ffe1a0 56%,#efa14f 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.service-layout{display:block;max-width:var(--max);margin:auto}.service-layout>div:first-child{max-width:880px}.service-layout .service-photo-grid{margin-top:30px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:900px}.service-layout .service-photo-grid img,.service-layout .service-photo-grid img:first-child:nth-last-child(3){height:150px;grid-row:auto;object-fit:cover;border:1px solid var(--line)}.service-layout .media-note{max-width:900px}.church-showcase{background:linear-gradient(120deg,#151515,#2b241d);color:#fff;border-top:4px solid var(--accent);border-bottom:4px solid var(--accent)}.church-showcase-grid{display:grid;grid-template-columns:minmax(270px,410px) 1fr;gap:52px;align-items:center}.church-video-frame{position:relative;padding:13px;background:#0b0b0b;border:1px solid #69594a;box-shadow:0 22px 48px #0009}.church-video-frame:before{content:'FINISHED PROJECT';position:absolute;z-index:2;top:25px;left:25px;background:var(--accent);color:#fff;padding:6px 10px;font-size:.72rem;font-weight:900;letter-spacing:.12em}.church-video-frame video{width:100%;max-height:610px;aspect-ratio:9/16;object-fit:cover;background:#000}.church-showcase .lead{color:#ddd}.church-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}.church-points div{padding:12px 14px;border-left:3px solid var(--accent);background:#ffffff0a}.church-points strong{display:block;color:var(--accent2)}
@media(max-width:900px){.church-showcase-grid{grid-template-columns:1fr}.church-video-frame{width:min(100%,410px);margin:auto}.service-layout .service-photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.service-layout .service-photo-grid img,.service-layout .service-photo-grid img:first-child:nth-last-child(3){height:120px}.church-points{grid-template-columns:1fr}.hero-mark{width:245px}}

/* Compact, expandable service galleries */
.hero-grid{align-items:start}
.service-layout .service-photo-grid{margin-top:26px;display:grid;grid-template-columns:repeat(auto-fill,112px);gap:9px;max-width:760px;justify-content:start}
.service-layout .service-photo-grid button{width:112px;height:84px;padding:0;border:1px solid #b9afa2;background:#ddd;cursor:zoom-in;overflow:hidden}
.service-layout .service-photo-grid img,.service-layout .service-photo-grid img:first-child:nth-last-child(3){width:112px!important;height:84px!important;grid-row:auto!important;object-fit:cover;border:0}
.service-layout .service-photo-grid button:hover img{filter:brightness(.82)}

/* Church story first, compact video second */
.church-showcase-grid{display:block}
.church-showcase-copy{max-width:900px}
.church-video-frame{width:220px;margin:30px 0 0}
.church-video-frame video{width:100%;max-height:340px;aspect-ratio:9/16;object-fit:cover;background:#000}

/* Subtle owner portrait beneath the homepage project photos */
.owner-watermark{grid-column:2;position:relative;height:115px;margin-top:14px;overflow:hidden;border-top:1px solid #ffffff26;background:linear-gradient(90deg,#000b,#271a10cc);display:flex;align-items:center}
.owner-watermark img{width:145px;height:210px;object-fit:cover;object-position:88% 42%;opacity:.28;filter:grayscale(.3);mix-blend-mode:luminosity}
.owner-watermark div{position:relative;margin-left:-15px;text-shadow:0 2px 8px #000}
.owner-watermark span,.owner-watermark small{display:block;color:#ddd;font-size:.7rem;letter-spacing:.12em;font-weight:800}
.owner-watermark strong{display:block;color:#fff;font-size:1.35rem;line-height:1.1}
.owner-watermark small{letter-spacing:.04em;color:var(--accent2)}
@media(max-width:900px){.church-video-frame{width:200px;margin:26px 0 0}.service-layout .service-photo-grid{grid-template-columns:repeat(auto-fill,96px)}.owner-watermark{grid-column:1;order:3;max-width:540px}.hero-photos{order:0}}
@media(max-width:520px){.service-layout .service-photo-grid button,.service-layout .service-photo-grid img,.service-layout .service-photo-grid img:first-child:nth-last-child(3){width:96px!important;height:72px!important}}

/* Final hard limits requested for service previews and the church video. */
.service-layout .service-photo-grid button{width:90px!important;height:68px!important;flex:0 0 90px!important}
.service-layout .service-photo-grid img,.service-layout .service-photo-grid img:first-child:nth-last-child(3){width:90px!important;height:68px!important;max-width:90px!important;max-height:68px!important}
.church-video-frame{width:160px!important;max-width:44vw!important}
.church-video-frame video{width:100%!important;height:auto!important;max-height:260px!important}
.estimate-success{display:none;max-width:var(--max);margin:18px auto 0;padding:16px 20px;background:#e9f6e8;border:2px solid #367a32;color:#173b15;box-shadow:0 8px 22px #0002}
.estimate-success:target{display:block}
.estimate-success strong{display:block;font-size:1.1rem}
.jobforge-promo{background:#fff;border-top:1px solid var(--line);border-bottom:4px solid var(--accent);padding:38px 22px!important}.jobforge-promo-grid{display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px}.jobforge-promo h2{margin-top:4px}.jobforge-promo .lead{margin-bottom:0}.jobforge-promo small{display:block;color:var(--muted);margin-top:8px;text-align:center}.jobforge-promo .btn{white-space:nowrap}
@media(max-width:760px){.jobforge-promo-grid{grid-template-columns:1fr}.jobforge-promo .btn{white-space:normal}.jobforge-promo small{text-align:left}}

/* 2026-09-27 JobForge return-flow + home quick-access readability */
.home-quick-access .btn.secondary{color:#171717;border-color:#8b4a12;background:#fff}.home-quick-access .btn.secondary:hover{background:#f3eadf}.jf-signed-in .save-upgrade{display:none!important}
