
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#0b0c0f; --ink-2:#111318; --panel:#171a20; --panel-2:#20242b;
  --paper:#f5f3ed; --muted:#aeb4bd; --line:rgba(255,255,255,.12);
  --orange:#f05a32; --orange-2:#ff744d; --sand:#cbbf9f;
  --max:1240px; --radius:22px; --shadow:0 24px 70px rgba(0,0,0,.32);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,Arial,sans-serif;line-height:1.6;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--orange-2);font-size:.79rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.eyebrow:before{content:"";width:34px;height:2px;background:currentColor}.display{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:-.035em;line-height:.92;margin:0}.section{padding:110px 0}.section-sm{padding:72px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:48px}.section-head h2{font-size:clamp(3.2rem,7vw,6.4rem);max-width:820px}.section-head p{max-width:520px;color:var(--muted);margin:0}.muted{color:var(--muted)}.accent{color:var(--orange)}

.topbar{background:#050608;border-bottom:1px solid rgba(255,255,255,.07);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.topbar .container{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar a{font-weight:800;color:var(--orange-2)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,12,15,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav{height:110px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:164px;height:auto}.nav-links{display:flex;align-items:center;gap:30px;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nav-links a{position:relative;color:#dfe2e7}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:2px;background:var(--orange);transition:.25s}.nav-links a:hover:after,.nav-links a.active:after{right:0}.nav-cta{display:flex;align-items:center;gap:12px}.menu-toggle{display:none;background:none;border:0;color:white;padding:10px}.menu-toggle span{display:block;width:26px;height:2px;background:currentColor;margin:5px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border:1px solid transparent;border-radius:999px;font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.24s}.btn-primary{background:var(--orange);color:white;box-shadow:0 12px 32px rgba(240,90,50,.22)}.btn-primary:hover{transform:translateY(-2px);background:var(--orange-2)}.btn-ghost{border-color:rgba(255,255,255,.25);color:white;background:rgba(255,255,255,.03)}.btn-ghost:hover{border-color:white;background:white;color:var(--ink)}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:#23272e}

.hero{position:relative;min-height:780px;display:grid;align-items:center;overflow:hidden;background:radial-gradient(circle at 82% 20%,rgba(240,90,50,.18),transparent 30%),linear-gradient(120deg,#0c0e12 0%,#13171d 58%,#0a0b0e 100%)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0 56%,rgba(255,255,255,.035) 56% 58%,transparent 58% 62%,rgba(255,255,255,.025) 62% 64%,transparent 64%);pointer-events:none}.hero:after{content:"";position:absolute;width:900px;height:900px;border:1px solid rgba(255,255,255,.06);border-radius:50%;right:-310px;top:-390px;box-shadow:0 0 0 110px rgba(255,255,255,.018),0 0 0 250px rgba(255,255,255,.012)}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;padding:100px 0}.hero h1{font-size:clamp(4.8rem,10vw,9rem);max-width:820px}.hero .lead{font-size:1.08rem;color:#c7ccd3;max-width:620px;margin:28px 0 34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-note{display:flex;align-items:center;gap:12px;margin-top:28px;color:#aeb4bd;font-size:.88rem}.hero-note b{color:white}.dot{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 7px rgba(240,90,50,.13)}.hero-mark{position:relative;padding:48px 34px 34px;border:1px solid rgba(255,255,255,.14);border-radius:32px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.018));box-shadow:var(--shadow);transform:rotate(1.5deg)}.hero-mark:before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.07);border-radius:24px}.hero-mark img{position:relative;filter:drop-shadow(0 18px 35px rgba(0,0,0,.42))}.hero-badge{position:absolute;right:-18px;bottom:-18px;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--orange);color:white;font-family:'Barlow Condensed';font-weight:800;font-size:1.1rem;line-height:1;text-transform:uppercase;letter-spacing:.04em;transform:rotate(-8deg);box-shadow:0 20px 40px rgba(0,0,0,.34)}
.trustbar{position:relative;z-index:3;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0c0e12}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-item{padding:27px 28px;border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{display:block;font-family:'Barlow Condensed';font-size:1.55rem;text-transform:uppercase}.trust-item span{font-size:.79rem;color:var(--muted)}

.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;min-height:360px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,#171a20,#101216);overflow:hidden;transition:.28s}.service-card:hover{transform:translateY(-8px);border-color:rgba(240,90,50,.55);box-shadow:var(--shadow)}.service-card .number{font-family:'Barlow Condensed';font-size:5rem;font-weight:800;color:rgba(255,255,255,.045);line-height:1}.service-card svg{width:48px;height:48px;color:var(--orange);margin:25px 0}.service-card h3{font-family:'Barlow Condensed';font-size:2rem;text-transform:uppercase;line-height:1;margin:0 0 14px}.service-card p{color:var(--muted);font-size:.92rem;margin:0}.service-card .arrow{position:absolute;right:24px;bottom:20px;font-size:1.7rem;color:var(--orange)}

.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.visual-panel{position:relative;min-height:620px;border-radius:28px;overflow:hidden;background:#171a20 url('../images/projects/new-construction-exterior.jpg') center/cover}.visual-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,8,10,.65),transparent 55%)}.visual-label{position:absolute;z-index:2;left:28px;bottom:28px;right:28px;display:flex;justify-content:space-between;align-items:end;gap:20px}.visual-label strong{font-family:'Barlow Condensed';text-transform:uppercase;font-size:2.3rem;line-height:1}.visual-label span{font-size:.8rem;color:#d4d8de}.feature-list{display:grid;gap:18px;margin:34px 0}.feature{display:grid;grid-template-columns:50px 1fr;gap:16px;align-items:start;padding-bottom:18px;border-bottom:1px solid var(--line)}.feature i{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(240,90,50,.12);color:var(--orange);font-style:normal;font-weight:900}.feature h3{margin:0 0 4px;font-size:1rem}.feature p{margin:0;color:var(--muted);font-size:.9rem}

.process{background:var(--paper);color:var(--ink)}.process .muted,.process .section-head p{color:#616872}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #d5d1c7}.step{position:relative;padding:36px 30px;border-right:1px solid #d5d1c7}.step:last-child{border-right:0}.step .step-no{font-family:'Barlow Condensed';font-size:4.4rem;font-weight:800;color:var(--orange);line-height:1}.step h3{font-family:'Barlow Condensed';text-transform:uppercase;font-size:1.6rem;margin:18px 0 8px}.step p{color:#646b74;font-size:.9rem}

.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{position:relative;min-height:420px;border-radius:22px;overflow:hidden;background:#171a20}.project-card img{width:100%;height:100%;object-fit:cover;transition:.45s}.project-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,4,6,.92),rgba(3,4,6,.05) 70%)}.project-card:hover img{transform:scale(1.045)}.project-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:22px}.project-copy small{color:var(--orange-2);font-weight:800;letter-spacing:.13em;text-transform:uppercase}.project-copy h3{font-family:'Barlow Condensed';font-size:2rem;text-transform:uppercase;line-height:1;margin:7px 0 0}.project-card.large{grid-column:span 2}.project-card.tall{min-height:520px}

.callout{position:relative;border-radius:30px;overflow:hidden;background:linear-gradient(115deg,var(--orange),#e84820);padding:64px}.callout:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.2);border-radius:50%;right:-140px;top:-230px;box-shadow:0 0 0 70px rgba(255,255,255,.06),0 0 0 140px rgba(255,255,255,.04)}.callout-grid{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:40px}.callout h2{font-size:clamp(3.4rem,7vw,6rem);max-width:800px}.callout p{max-width:580px;margin:18px 0 0;color:#fff4ef}

.page-hero{padding:105px 0 80px;position:relative;overflow:hidden;background:radial-gradient(circle at 90% 10%,rgba(240,90,50,.17),transparent 32%),linear-gradient(120deg,#0d0f13,#181c22)}.page-hero:after{content:"";position:absolute;width:720px;height:720px;border:1px solid rgba(255,255,255,.055);border-radius:50%;right:-270px;top:-370px;box-shadow:0 0 0 95px rgba(255,255,255,.018)}.page-hero .container{position:relative;z-index:2}.page-hero h1{font-size:clamp(4.6rem,10vw,8.4rem);max-width:950px}.page-hero p{font-size:1.05rem;color:#c3c8d0;max-width:680px;margin-top:28px}.crumbs{margin-top:28px;color:#8f969f;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.crumbs b{color:var(--orange)}

.service-detail{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;padding:54px 0;border-top:1px solid var(--line)}.service-detail:first-child{border-top:0}.service-detail h2{font-size:clamp(3rem,6vw,5.5rem)}.service-detail h3{font-size:1rem;margin:0 0 8px}.service-detail p{color:var(--muted)}.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.check{display:flex;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#13161b;font-size:.9rem}.check:before{content:"✓";color:var(--orange);font-weight:900}

.filters{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:34px}.filter-btn{border:1px solid var(--line);background:#14171c;color:white;border-radius:999px;padding:10px 17px;font-weight:800;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--orange);border-color:var(--orange)}.project-card[hidden]{display:none}

.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:start}.about-copy h2{font-size:clamp(3.6rem,7vw,6.4rem)}.quote-block{border-left:5px solid var(--orange);padding:6px 0 6px 28px;margin:36px 0;font-family:'Barlow Condensed';font-size:2rem;text-transform:uppercase;line-height:1.1}.values{display:grid;grid-template-columns:1fr 1fr;gap:16px}.value{padding:25px;border:1px solid var(--line);border-radius:18px;background:#14171c}.value b{display:block;color:var(--orange);font-family:'Barlow Condensed';font-size:1.45rem;text-transform:uppercase}.value span{color:var(--muted);font-size:.88rem}.about-art{position:sticky;top:130px;min-height:650px;border-radius:28px;background:linear-gradient(0deg,rgba(4,5,7,.55),transparent),url('../images/projects/front-elevation-siding.jpg') center/cover;overflow:hidden}.about-art .stamp{position:absolute;right:25px;bottom:25px;width:150px;height:150px;border-radius:50%;display:grid;place-items:center;text-align:center;border:2px solid rgba(255,255,255,.6);font-family:'Barlow Condensed';font-weight:800;text-transform:uppercase;transform:rotate(-9deg)}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:42px}.contact-panel,.form-panel{border:1px solid var(--line);border-radius:24px;background:#13161b;padding:35px}.contact-panel h2,.form-panel h2{font-family:'Barlow Condensed';font-size:2.7rem;text-transform:uppercase;line-height:1;margin:0 0 20px}.contact-method{padding:22px 0;border-top:1px solid var(--line)}.contact-method:first-of-type{border-top:0}.contact-method small{display:block;color:var(--orange);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.contact-method a,.contact-method strong{display:block;font-family:'Barlow Condensed';font-size:1.8rem;text-transform:uppercase;margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:.77rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;border:1px solid #343942;background:#0e1014;color:white;border-radius:13px;padding:15px 16px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--orange);box-shadow:0 0 0 3px rgba(240,90,50,.12)}.field textarea{min-height:145px;resize:vertical}.form-note{font-size:.78rem;color:var(--muted);margin:16px 0 0}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}.status{font-size:.84rem;color:#c9ced5}.status.success{color:#8be0a5}.status.error{color:#ff9b9b}.form-actions .btn:disabled{cursor:not-allowed;opacity:.65}

.footer{padding:70px 0 28px;border-top:1px solid var(--line);background:#07080a}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:45px}.footer-logo{width:230px}.footer p{color:#9198a2;max-width:420px;font-size:.9rem}.footer h3{font-family:'Barlow Condensed';text-transform:uppercase;font-size:1.25rem}.footer-links{display:grid;gap:9px;color:#b6bbc2;font-size:.88rem}.footer-links a:hover{color:var(--orange)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:50px;color:#747b84;font-size:.76rem}.floating-call{position:fixed;right:22px;bottom:22px;z-index:40;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:white;box-shadow:0 15px 35px rgba(0,0,0,.4);font-size:1.35rem}

.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){.hero-grid,.split,.about-grid,.contact-grid{grid-template-columns:1fr}.hero-mark{max-width:660px}.card-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.about-art{position:relative;top:auto}.service-detail{grid-template-columns:1fr;gap:20px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:820px){.nav-links,.nav-cta .btn{display:none}.menu-toggle{display:block}.nav-links.open{position:absolute;display:grid;left:0;right:0;top:121px;padding:25px 20px 30px;background:#0b0c0f;border-bottom:1px solid var(--line);gap:19px}.hero{min-height:auto}.hero-grid{padding:76px 0}.hero h1{font-size:clamp(4rem,18vw,6.8rem)}.hero-mark{margin:15px 12px 20px}.section{padding:82px 0}.section-head{display:block}.section-head p{margin-top:18px}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2){border-right:0}.step:nth-child(-n+2){border-bottom:1px solid #d5d1c7}.project-card.large{grid-column:auto}.callout{padding:42px 28px}.callout-grid{display:block}.callout .btn{margin-top:28px}.page-hero{padding:75px 0 60px}}
@media(max-width:620px){.container{width:min(calc(100% - 28px),var(--max))}.topbar .container{justify-content:center}.topbar span{display:none}.brand img{width:145px}.nav{height:72px}.nav-links.open{top:111px}.card-grid,.project-grid,.values,.form-grid,.check-grid,.footer-grid,.steps{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.trust-item{border-right:0!important;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}.service-card{min-height:310px}.visual-panel{min-height:460px}.step{border-right:0}.step:nth-child(3){border-bottom:1px solid #d5d1c7}.callout h2{font-size:3.5rem}.page-hero h1{font-size:4.6rem}.footer-bottom{display:block}.hero-badge{width:95px;height:95px;font-size:.9rem}.floating-call{width:52px;height:52px}.hero-actions .btn{width:100%}}


/* Real project photography */
.hero-mark.photo-card{padding:0;min-height:610px;overflow:visible;background:#111318;transform:rotate(1.25deg)}
.hero-mark.photo-card:before{z-index:3;pointer-events:none}
.hero-mark .hero-photo{width:100%;height:610px;object-fit:cover;border-radius:31px;filter:none}
.hero-photo-shade{position:absolute;inset:0;border-radius:31px;background:linear-gradient(0deg,rgba(5,6,8,.84),rgba(5,6,8,.05) 62%)}
.hero-logo-chip{position:absolute;z-index:4;left:26px;right:26px;bottom:25px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(8,9,12,.78);backdrop-filter:blur(12px)}
.hero-logo-chip img{width:210px;filter:none}
.hero-logo-chip span{max-width:180px;color:#d5d9df;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-align:right;text-transform:uppercase}
.service-photo{position:relative;margin:28px 0 0;border-radius:18px;overflow:hidden;background:#171a20;box-shadow:var(--shadow)}
.service-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
.service-photo figcaption{position:absolute;left:14px;bottom:14px;padding:7px 10px;border-radius:999px;background:rgba(7,8,10,.76);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-grid .project-card{min-height:360px;cursor:zoom-in;outline:none}
.gallery-grid .project-card:focus-visible{box-shadow:0 0 0 3px var(--orange)}
.gallery-grid .project-copy h3{font-size:1.55rem}
.lightbox{position:fixed;z-index:100;inset:0;display:none;place-items:center;padding:28px;background:rgba(3,4,6,.92);backdrop-filter:blur(12px)}
.lightbox.open{display:grid}
.lightbox-inner{position:relative;width:min(1120px,100%);max-height:92vh;display:grid;gap:12px}
.lightbox img{width:100%;max-height:82vh;object-fit:contain;border-radius:18px;background:#0b0c0f;box-shadow:0 30px 100px rgba(0,0,0,.7)}
.lightbox-close{position:absolute;z-index:2;right:12px;top:12px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(7,8,10,.78);color:#fff;font-size:2rem;line-height:1;cursor:pointer}
.lightbox-caption{color:#e7eaee;font-family:'Barlow Condensed';font-size:1.35rem;font-weight:700;letter-spacing:.03em;text-align:center;text-transform:uppercase}
body.lightbox-open{overflow:hidden}

@media(max-width:1050px){.hero-mark.photo-card{max-width:760px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.hero-mark.photo-card,.hero-mark .hero-photo{min-height:460px;height:460px}.hero-logo-chip{left:16px;right:16px;bottom:16px;display:block}.hero-logo-chip img{width:170px}.hero-logo-chip span{display:block;max-width:none;margin-top:8px;text-align:left}.gallery-grid{grid-template-columns:1fr}.gallery-grid .project-card{min-height:390px}.lightbox{padding:14px}.lightbox-caption{font-size:1.05rem}}


/* Hero photo card alignment fix */
.hero-mark.photo-card{
  width:100%;
  max-width:660px;
  margin-left:auto;
  margin-right:auto;
  overflow:hidden;
  transform:none;
}
.hero-logo-chip{
  left:24px;
  right:24px;
  bottom:24px;
  min-width:0;
  overflow:hidden;
}
.hero-logo-chip img{
  width:min(210px,44%);
  max-width:44%;
  height:auto;
  flex:0 1 210px;
  object-fit:contain;
}
.hero-logo-chip span{
  min-width:0;
  flex:1 1 auto;
}
.hero-badge{
  z-index:6;
  top:22px;
  right:22px;
  bottom:auto;
  width:108px;
  height:108px;
}

@media(max-width:1050px){
  .hero-mark.photo-card{margin-left:auto;margin-right:auto}
}

@media(max-width:620px){
  .hero-mark{margin-left:0;margin-right:0}
  .hero-mark.photo-card{width:100%;max-width:none;margin:12px 0 20px}
  .hero-logo-chip{left:14px;right:14px;bottom:14px;padding:14px 15px}
  .hero-logo-chip img{width:155px;max-width:100%}
  .hero-badge{top:14px;right:14px;width:86px;height:86px;font-size:.82rem}
}
