@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{--ink:#111010;--concrete:#1e1e1e;--steel:#2a2a2a;--smoke:#3d3d3d;--ash:#6b6b6b;--bone:#f5f2ee;--white:#ffffff;--accent:#c8a96e;--accent-d:#a8863d;--accent-l:#e8c98e;--font-d:'Bebas Neue',sans-serif;--font-b:'Plus Jakarta Sans',sans-serif;--border:1px solid rgba(255,255,255,0.07);--border-l:1px solid #e0dbd4;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-b);background:var(--bone);color:var(--ink);line-height:1.6;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button,input,textarea,select{font-family:var(--font-b);}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--ink);}
::-webkit-scrollbar-thumb{background:var(--accent);}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 3rem;height:68px;background:var(--ink);border-bottom:1px solid rgba(200,169,110,0.25);}
.nav-wordmark{font-family:var(--font-d);font-size:1.65rem;letter-spacing:0.12em;color:var(--white);line-height:1;display:flex;align-items:center;gap:0.6rem;}
.nav-wordmark::after{content:'BUILDING CONTRACTORS';font-family:var(--font-b);font-size:0.52rem;font-weight:500;letter-spacing:0.28em;color:var(--accent);text-transform:uppercase;border-left:1px solid rgba(200,169,110,0.3);padding-left:0.6rem;line-height:1.3;}
.nav-links{display:flex;align-items:center;gap:2.5rem;}
.nav-links a{font-size:0.72rem;font-weight:600;letter-spacing:0.12em;color:rgba(255,255,255,0.55);text-transform:uppercase;transition:color 0.2s;}
.nav-links a:hover{color:var(--white);}
.nav-tel{color:var(--accent)!important;font-weight:700!important;}
.nav-btn{background:var(--accent);color:var(--ink)!important;padding:0.52rem 1.4rem;font-weight:700!important;font-size:0.7rem!important;letter-spacing:0.14em!important;transition:background 0.2s;}
.nav-btn:hover{background:var(--accent-l);}
.hero{position:relative;height:100vh;min-height:700px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.hero-left{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:0 4rem 5rem;background:var(--ink);}
.hero-left::after{content:'';position:absolute;top:0;right:-40px;bottom:0;width:80px;background:var(--ink);transform:skewX(-3deg);z-index:3;}
.hero-right{position:relative;overflow:hidden;}
.hero-right img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(0.6) contrast(1.1);}
.hero-right::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(17,16,16,0.6) 0%,transparent 40%);}
.hero-num{font-family:var(--font-d);font-size:10rem;line-height:0.85;color:rgba(255,255,255,0.04);position:absolute;top:5rem;left:2rem;pointer-events:none;user-select:none;}
.hero-kicker{font-size:0.65rem;font-weight:600;letter-spacing:0.35em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:0.8rem;margin-bottom:1.5rem;}
.hero-kicker::before{content:'';width:36px;height:1px;background:var(--accent);}
.hero h1{font-family:var(--font-d);font-size:clamp(3.8rem,6vw,6.5rem);color:var(--white);line-height:0.92;letter-spacing:0.04em;text-transform:uppercase;margin-bottom:2rem;}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero-desc{font-size:0.9rem;color:rgba(255,255,255,0.55);max-width:420px;line-height:1.8;margin-bottom:2.5rem;font-weight:300;}
.hero-trust{display:flex;gap:0;margin-bottom:2.5rem;border:1px solid rgba(255,255,255,0.08);}
.trust-pill{padding:0.6rem 1rem;font-size:0.62rem;font-weight:600;letter-spacing:0.12em;color:rgba(255,255,255,0.6);text-transform:uppercase;border-right:1px solid rgba(255,255,255,0.08);}
.trust-pill:last-child{border-right:none;}
.trust-pill strong{color:var(--accent);display:block;font-size:0.75rem;}
.hero-btns{display:flex;gap:1px;}
.btn{display:inline-flex;align-items:center;gap:0.6rem;padding:1rem 2rem;font-size:0.72rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:all 0.25s;border:none;}
.btn-accent{background:var(--accent);color:var(--ink);}
.btn-accent:hover{background:var(--accent-l);}
.btn-ghost{background:rgba(255,255,255,0.06);color:var(--white);border:1px solid rgba(255,255,255,0.15);}
.btn-ghost:hover{background:rgba(255,255,255,0.12);}
.btn-ink{background:var(--ink);color:var(--white);}
.btn-ink:hover{background:var(--concrete);}
.ticker{background:var(--accent);overflow:hidden;padding:0.65rem 0;white-space:nowrap;}
.ticker-inner{display:inline-flex;gap:3rem;animation:ticker 30s linear infinite;}
.ticker-inner span{font-size:0.65rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--ink);}
.ticker-inner span::before{content:'◆  ';font-size:0.5rem;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.stats-row{background:var(--ink);display:grid;grid-template-columns:repeat(4,1fr);}
.stat-cell{padding:2.5rem;border-right:var(--border);position:relative;overflow:hidden;}
.stat-cell::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.stat-cell:hover::before{transform:scaleX(1);}
.stat-val{font-family:var(--font-d);font-size:3.2rem;color:var(--white);line-height:1;}
.stat-val span{color:var(--accent);}
.stat-label{font-size:0.65rem;font-weight:500;letter-spacing:0.22em;color:rgba(255,255,255,0.35);text-transform:uppercase;margin-top:0.5rem;}
section{padding:7rem 3rem;}
.container{max-width:1240px;margin:0 auto;}
.section-tag{display:inline-flex;align-items:center;gap:0.7rem;font-size:0.62rem;font-weight:700;letter-spacing:0.32em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem;}
.section-tag::before{content:'';width:24px;height:1px;background:var(--accent);}
h2{font-family:var(--font-d);font-size:clamp(2.4rem,4.5vw,4rem);line-height:0.95;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:1.2rem;}
.lead{font-size:0.95rem;color:var(--ash);max-width:580px;line-height:1.85;font-weight:300;margin-bottom:3rem;}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--ink);}
.svc-card{background:var(--concrete);overflow:hidden;display:flex;flex-direction:column;}
.svc-card-img{width:100%;height:220px;object-fit:cover;transition:transform 0.6s,filter 0.4s;filter:grayscale(0.4) saturate(0.85);}
.svc-card:hover .svc-card-img{transform:scale(1.05);filter:grayscale(0) saturate(1);}
.svc-card-body{padding:1.6rem 1.8rem 2rem;flex:1;border-top:2px solid transparent;transition:border-color 0.3s;background:var(--white);}
.svc-card:hover .svc-card-body{border-top-color:var(--accent);}
.svc-num{font-family:var(--font-d);font-size:0.7rem;letter-spacing:0.3em;color:var(--accent);margin-bottom:0.4rem;}
.svc-card-body h3{font-family:var(--font-d);font-size:1.4rem;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.4rem;}
.svc-price{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;color:var(--accent);text-transform:uppercase;margin-bottom:0.7rem;}
.svc-card-body p{font-size:0.86rem;color:var(--ash);line-height:1.7;margin-bottom:1rem;}
.svc-link{font-size:0.67rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink);display:inline-flex;align-items:center;gap:0.5rem;}
.svc-link::after{content:'→';transition:transform 0.2s;}
.svc-card:hover .svc-link::after{transform:translateX(4px);}
.split{display:grid;grid-template-columns:1fr 1fr;}
.split-img{position:relative;overflow:hidden;min-height:600px;}
.split-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.split-content{background:var(--ink);padding:6rem 5rem;display:flex;flex-direction:column;justify-content:center;}
.split-content h2{color:var(--white);}
.split-content .lead{color:rgba(255,255,255,0.45);margin-bottom:2rem;}
.credential-list{list-style:none;margin-top:1.5rem;}
.credential-item{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 0;border-bottom:var(--border);}
.cred-mark{width:32px;height:32px;background:rgba(200,169,110,0.12);border:1px solid rgba(200,169,110,0.3);display:flex;align-items:center;justify-content:center;font-size:0.7rem;color:var(--accent);flex-shrink:0;margin-top:2px;}
.cred-text h4{font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);margin-bottom:0.2rem;}
.cred-text p{font-size:0.8rem;color:rgba(255,255,255,0.4);line-height:1.5;}
.process-band{background:var(--bone);}
.process-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:var(--border-l);margin-top:3rem;}
.process-step{padding:2.5rem 2rem;border-right:var(--border-l);position:relative;}
.process-step:last-child{border-right:none;}
.step-n{font-family:var(--font-d);font-size:5rem;color:rgba(17,16,16,0.06);line-height:1;margin-bottom:1rem;}
.process-step h3{font-family:var(--font-d);font-size:1.05rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink);margin-bottom:0.5rem;}
.process-step p{font-size:0.82rem;color:var(--ash);line-height:1.65;}
.step-line{position:absolute;top:4.5rem;right:0;width:1px;height:36px;background:var(--accent);opacity:0.35;}
.projects-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,280px);gap:3px;margin-top:2.5rem;}
.mosaic-card{position:relative;overflow:hidden;background:var(--steel);}
.mosaic-card:first-child{grid-column:span 2;grid-row:span 2;}
.mosaic-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.6s,filter 0.4s;filter:grayscale(0.2);}
.mosaic-card:hover img{transform:scale(1.06);filter:grayscale(0);}
.mosaic-label{position:absolute;bottom:0;left:0;right:0;padding:2rem 1.2rem 0.9rem;background:linear-gradient(transparent,rgba(17,16,16,0.88));transform:translateY(100%);transition:transform 0.3s;}
.mosaic-card:hover .mosaic-label{transform:translateY(0);}
.mosaic-label h4{font-family:var(--font-d);font-size:1.1rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--white);}
.mosaic-label p{font-size:0.72rem;color:var(--accent-l);}
.testi-band{background:var(--ink);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,0.06);margin-top:3rem;}
.testi{background:var(--concrete);padding:2.5rem;border-top:2px solid transparent;transition:border-color 0.3s;}
.testi:hover{border-top-color:var(--accent);}
.testi-stars{color:var(--accent);font-size:0.8rem;letter-spacing:3px;margin-bottom:1.2rem;}
.testi p{font-size:0.88rem;color:rgba(255,255,255,0.6);line-height:1.8;font-style:italic;margin-bottom:1.5rem;font-weight:300;}
.testi-name{font-size:0.7rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--white);}
.testi-role{font-size:0.68rem;color:var(--accent);margin-top:0.2rem;}
.loc-band{background:var(--concrete);padding:2rem 3rem;}
.loc-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap;}
.loc-label{font-size:0.62rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);white-space:nowrap;}
.loc-tags{display:flex;flex-wrap:wrap;gap:0.4rem;}
.loc-tag{font-size:0.72rem;color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.1);padding:0.28rem 0.75rem;transition:all 0.2s;cursor:default;}
.loc-tag:hover{border-color:var(--accent);color:var(--accent-l);}
.contact-band{background:var(--bone);}
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:6rem;align-items:start;}
.contact-left h2{color:var(--ink);}
.contact-lines{margin-top:2rem;}
.contact-line{display:grid;grid-template-columns:80px 1fr;padding:0.9rem 0;border-bottom:var(--border-l);font-size:0.88rem;color:var(--ink);}
.contact-line span{font-size:0.6rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent);padding-top:0.15rem;}
.contact-form{display:flex;flex-direction:column;gap:2px;background:var(--ink);}
.contact-form input,.contact-form textarea,.contact-form select{background:rgba(255,255,255,0.04);border:none;border-left:2px solid transparent;color:var(--white);padding:1.1rem 1.3rem;font-size:0.88rem;width:100%;outline:none;transition:border-color 0.2s,background 0.2s;font-family:var(--font-b);}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-left-color:var(--accent);background:rgba(255,255,255,0.07);}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,0.28);}
.contact-form select{appearance:none;cursor:pointer;}
.contact-form select option{background:var(--ink);}
.contact-form textarea{height:130px;resize:vertical;}
.contact-form button{background:var(--accent);color:var(--ink);border:none;padding:1.2rem;font-size:0.72rem;font-weight:800;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;font-family:var(--font-b);}
.contact-form button:hover{background:var(--accent-l);}
.page-hero{position:relative;min-height:55vh;display:flex;align-items:flex-end;overflow:hidden;padding:0 3rem 4.5rem;}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(0.3) contrast(1.05);}
.page-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(17,16,16,0.92) 0%,rgba(17,16,16,0.4) 55%);}
.page-hero-content{position:relative;z-index:2;max-width:1240px;width:100%;margin:0 auto;padding-top:8rem;}
.breadcrumb{font-size:0.62rem;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:1.2rem;}
.breadcrumb a{color:var(--accent-l);}
.page-hero-content h1{font-family:var(--font-d);font-size:clamp(2.8rem,5.5vw,5.5rem);line-height:0.95;text-transform:uppercase;color:var(--white);letter-spacing:0.04em;}
.page-hero-content p{font-size:1rem;color:rgba(255,255,255,0.55);max-width:560px;margin-top:1rem;font-weight:300;line-height:1.75;}
.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--ink);margin-top:2.5rem;}
.type-card{background:var(--bone);padding:2rem;border-bottom:3px solid transparent;transition:border-color 0.3s;}
.type-card:hover{border-bottom-color:var(--accent);}
.type-card h3{font-family:var(--font-d);font-size:1.15rem;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.5rem;}
.type-card p{font-size:0.84rem;color:var(--ash);line-height:1.65;}
.type-card .from{font-size:0.68rem;font-weight:700;letter-spacing:0.1em;color:var(--accent);margin-top:0.7rem;text-transform:uppercase;}
.inc-list{list-style:none;padding:0;max-width:740px;}
.inc-list li{display:grid;grid-template-columns:26px 1fr;gap:0.8rem;align-items:start;padding:0.9rem 0;border-bottom:var(--border-l);font-size:0.92rem;color:#333;}
.inc-list li::before{content:'✓';color:var(--accent);font-weight:700;padding-top:0.05rem;}
.faq-block{max-width:800px;}
.faq-item{border-bottom:var(--border-l);}
.faq-q{font-family:var(--font-d);font-size:1.05rem;letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;padding:1.2rem 0;display:flex;justify-content:space-between;align-items:center;color:var(--ink);}
.faq-ico{color:var(--accent);font-size:1.2rem;transition:transform 0.2s;}
.faq-item.open .faq-ico{transform:rotate(45deg);}
.faq-a{font-size:0.88rem;color:var(--ash);line-height:1.8;padding-bottom:1.2rem;display:none;max-width:680px;}
.faq-item.open .faq-a{display:block;}
footer{background:var(--ink);border-top:1px solid rgba(200,169,110,0.15);padding:5rem 3rem 2rem;}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;max-width:1240px;margin:0 auto 3.5rem;}
.footer-brand-mark{font-family:var(--font-d);font-size:1.8rem;letter-spacing:0.1em;color:var(--white);margin-bottom:0.8rem;}
.footer-brand-mark span{color:var(--accent-l);}
.footer-brand p{font-size:0.8rem;color:rgba(255,255,255,0.3);line-height:1.75;max-width:280px;}
.footer-col h4{font-size:0.6rem;font-weight:700;letter-spacing:0.3em;text-transform:uppercase;color:var(--accent);margin-bottom:1.3rem;}
.footer-col a{display:block;font-size:0.8rem;color:rgba(255,255,255,0.38);margin-bottom:0.55rem;transition:color 0.2s;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{border-top:var(--border);padding-top:1.5rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;max-width:1240px;margin:0 auto;font-size:0.72rem;color:rgba(255,255,255,0.22);}
.footer-bottom a{color:rgba(255,255,255,0.28);}
.footer-bottom a:hover{color:var(--white);}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
.hero-kicker{animation:fadeUp 0.6s ease both 0.1s;}
.hero h1{animation:fadeUp 0.7s ease both 0.3s;}
.hero-desc{animation:fadeUp 0.6s ease both 0.5s;}
.hero-trust{animation:fadeUp 0.6s ease both 0.6s;}
.hero-btns{animation:fadeUp 0.6s ease both 0.7s;}
@media(max-width:1100px){.hero{grid-template-columns:1fr;}.hero-right{display:none;}.hero-left{min-height:100vh;}.svc-grid{grid-template-columns:repeat(2,1fr);}.split{grid-template-columns:1fr;}.split-img{min-height:400px;}.footer-inner{grid-template-columns:1fr 1fr;}.footer-inner>.footer-brand{grid-column:1/-1;}}
@media(max-width:768px){.nav-links{display:none;}nav{padding:0 1.5rem;}.hero-left{padding:0 1.5rem 4rem;}.hero-btns{flex-direction:column;}.stats-row{grid-template-columns:repeat(2,1fr);}.svc-grid{grid-template-columns:1fr;}.process-steps{grid-template-columns:1fr 1fr;}.projects-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto;}.projects-mosaic .mosaic-card:first-child{grid-column:span 2;grid-row:span 1;}.testi-grid{grid-template-columns:1fr;}.contact-grid{grid-template-columns:1fr;gap:3rem;}.type-grid{grid-template-columns:1fr;}section{padding:4.5rem 1.5rem;}.page-hero{padding:0 1.5rem 3rem;}footer{padding:3.5rem 1.5rem 2rem;}.footer-inner{grid-column:1fr;}.loc-band{padding:1.5rem;}}
@media(max-width:480px){.stats-row{grid-template-columns:1fr 1fr;}.projects-mosaic{grid-template-columns:1fr;}.projects-mosaic .mosaic-card:first-child{grid-column:span 1;}}
