:root{--ink:#151719;--paper:#f4f1eb;--white:#fff;--muted:#73746f;--line:#ded9cf;--accent:#d58a36;--accent2:#b96c20;--shadow:0 22px 65px #10131520;--r:20px;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'DM Sans',Arial,sans-serif}a{text-decoration:none;color:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.header{position:fixed;top:0;left:0;right:0;z-index:20;background:#f4f1ebeb;backdrop-filter:blur(15px);border-bottom:1px solid #15171912}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px}.brand>b{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--ink);color:var(--accent);font:800 16px Manrope;letter-spacing:-2px}.brand span{display:flex;flex-direction:column;line-height:1}.brand strong{font:800 17px Manrope;letter-spacing:.04em}.brand small{margin-top:4px;color:var(--muted);font-size:9px;letter-spacing:.25em;text-transform:uppercase}.nav nav{display:flex;gap:32px;font-size:13px;font-weight:700}.nav nav a:hover{color:var(--accent2)}.nav-right{display:flex;align-items:center;gap:12px}.lang{font-size:11px;font-weight:800;letter-spacing:.15em;padding:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:999px;padding:13px 22px;font-weight:800;font-size:12px;transition:.2s}.btn:hover{transform:translateY(-2px)}.dark{background:var(--ink);color:#fff}.accent{background:var(--accent)}.outline{border-color:#ffffff45;color:#fff}.light{background:#fff}.outline-light{border-color:#ffffff55;color:#fff}.hamb{display:none;border:0;background:none;font-size:24px}.mobile-nav{display:none}.hero{background:radial-gradient(circle at 82% 18%,#d58a3638,transparent 30%),linear-gradient(120deg,#111415 0%,#222728 100%);color:#fff;min-height:790px;padding-top:82px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;opacity:.12;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.hero-grid{position:relative;z-index:1;min-height:708px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.18em;color:var(--accent);margin:0 0 15px}.hero h1,.section h2,.cta h2{font:800 clamp(48px,7vw,90px)/.97 Manrope;letter-spacing:-.055em;margin:0}.hero h1 i,.section h2 i,.cta h2 i{font-style:normal;color:var(--accent)}.lead{max-width:580px;color:#ffffffad;font-size:17px;margin:28px 0 32px}.actions{display:flex;gap:12px;flex-wrap:wrap}.meta{display:flex;gap:25px;flex-wrap:wrap;color:#ffffff73;font-size:11px;margin-top:40px}.meta b{color:var(--accent);margin-right:5px}.hero-shot{aspect-ratio:4/5;max-width:500px;justify-self:end;width:100%;transform:rotate(1.2deg);box-shadow:var(--shadow)}.placeholder{position:relative;overflow:hidden;background:linear-gradient(135deg,#3b4142,#25292a 48%,#151719)}.placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,#000b 100%)}.placeholder>div{position:absolute;z-index:1;left:27px;right:27px;bottom:27px}.placeholder span{color:var(--accent);font:800 11px Manrope;letter-spacing:.15em}.hero-shot strong{display:block;font:800 30px/1.04 Manrope;margin-top:8px}.placeholder small{display:block;color:#ffffff80;font-size:10px;margin-top:9px}.scroll{position:absolute;bottom:25px;left:50%;z-index:2;color:#ffffff55;font-size:9px;letter-spacing:.2em}.stats{background:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:27px 0}.stats-grid div{padding:0 25px;border-left:1px solid #17191926;display:flex;gap:9px;align-items:baseline}.stats-grid div:first-child{border-left:0}.stats b{font:800 20px Manrope}.stats span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;opacity:.68}.section{padding:115px 0}.section-head{display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end;margin-bottom:55px}.section-head h2{font-size:clamp(42px,5vw,68px)}.section-head>p{color:var(--muted);font-size:14px;margin:0 0 4px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.services article{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s}.services article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.service-img{height:185px}.service-img>span{position:absolute;z-index:1;top:17px;left:19px;color:var(--accent);padding:4px 7px;border:1px solid #d58a3688;background-color:black;font:800 11px Manrope}.service-body{padding:24px}.service-body em{font:800 10px Manrope;color:var(--accent);font-style:normal}.service-body h3{font:800 21px/1.1 Manrope;margin:7px 0}.service-body p{font-size:12px;color:var(--muted);margin:0 0 16px}.service-body ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.service-body li{padding:7px 0;border-bottom:1px solid var(--line);font-size:11px;color:#4f524f}.service-body li:before{content:'—';color:var(--accent);margin-right:7px}.dark-section{background:var(--ink);color:#fff}.dark-head>p{color:#ffffff70}.projects{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:245px;gap:14px}.project.big{grid-row:span 2}.project-img{height:100%}.project-img>span{position:absolute;z-index:1;top:17px;left:20px}.project-img>strong{position:absolute;z-index:1;left:24px;bottom:24px;font:800 23px/1.05 Manrope}.project label{display:block;padding:1px 1px;color:#ffffff61;font-size:9px;letter-spacing:.13em}.about{background:#fff}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.about-photo{aspect-ratio:1/1.05}.about-photo>strong{position:absolute;z-index:1;left:28px;bottom:35px;color:#fff;font:800 27px Manrope}.about-photo>small{position:absolute;z-index:1;left:28px;bottom:19px;color:#ffffff70;font-size:9px}.about-photo>b{position:absolute;z-index:2;right:-30px;bottom:30px;width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:var(--accent);font:800 55px Manrope;transform:rotate(-8deg)}.about-copy{max-width:650px;color:var(--muted);margin:25px 0}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.values div{border-top:1px solid var(--line);padding-top:13px}.values b{color:var(--accent);font:800 10px Manrope}.values strong{display:block;font:700 14px Manrope;margin:6px 0}.values span{font-size:11px;color:var(--muted)}.note{background:var(--paper);padding:14px 17px;font-size:11px;font-weight:700}.note:first-letter{color:var(--accent)}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.steps>div{padding:24px 27px;border-right:1px solid var(--line)}.steps>div:last-child{border:0}.steps b{color:var(--accent);font:800 11px Manrope}.steps h3{font:800 21px Manrope;margin:18px 0 5px}.steps p{color:var(--muted);font-size:12px;margin:0}.cta{background:radial-gradient(circle at 80% 45%,#d58a3640,transparent 32%),#111415;color:#fff;padding:110px 0}.cta h2{font-size:clamp(50px,7vw,90px)}.cta>div>p:not(.eyebrow){color:#ffffff7a;max-width:520px}.email{margin-top:30px;color:#ffffff66;font-size:11px}.email a{color:#fff}.email a:hover{color:var(--accent)}footer{background:#0e1011;color:#fff;padding:55px 0 20px}.foot{display:grid;grid-template-columns:1.2fr 1fr .6fr;gap:60px;padding-bottom:45px}.foot p,.foot div>span,.foot div>a{display:block;color:#ffffff61;font-size:11px;margin-top:7px}.foot strong{font-size:12px}.foot div>a:hover{color:var(--accent)}.copyright{border-top:1px solid #ffffff10;padding-top:16px;color:#ffffff36;font-size:9px}.has-img{background-size:cover;background-position:center}.has-img:after{background:linear-gradient(180deg,transparent 35%,#0009)}
@media(max-width:950px){.nav nav{display:none}.hamb{display:block}.mobile-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#f4f1eb;padding:8px 20px 18px;border-bottom:1px solid var(--line)}.mobile-nav.open{display:block}.mobile-nav a{display:block;padding:10px;border-bottom:1px solid var(--line);font-weight:700}.hero-grid{grid-template-columns:1fr;gap:35px;padding:70px 0}.hero-shot{justify-self:stretch;max-width:620px;aspect-ratio:10/11}.services{grid-template-columns:repeat(2,1fr)}.about-grid{gap:60px}.projects{grid-template-columns:1fr 1fr}.project.big{grid-column:span 2;grid-row:span 1}.steps{grid-template-columns:1fr 1fr}.foot{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{width:min(calc(100% - 30px),var(--max))}.nav{height:72px}.mobile-nav{top:72px}.nav-right .btn{display:none}.hero{padding-top:72px}.hero h1{font-size:50px}.lead{font-size:14px}.actions .btn{width:100%}.stats-grid{grid-template-columns:1fr 1fr;gap:15px}.stats-grid div{border:0;padding:0}.section{padding:80px 0}.section-head{grid-template-columns:1fr;gap:20px;margin-bottom:35px}.services{grid-template-columns:1fr}.projects{grid-template-columns:1fr;grid-auto-rows:250px}.project.big{grid-column:auto}.about-grid{grid-template-columns:1fr}.about-photo>b{right:10px}.values{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps>div{border-right:0;border-bottom:1px solid var(--line)}.foot{grid-template-columns:1fr;gap:30px}.copyright{line-height:1.7}}

img{display:block;max-width:100%;height:auto}
.hero-media img,.hero img{aspect-ratio:16/10;object-fit:cover}
.service-card img,.project-card img{aspect-ratio:4/3;object-fit:cover}
.site-header{min-height:72px}
.logo img{width:auto;height:40px}
.muted,.eyebrow,.service-card p,.about-copy p,.process-step p{color:#4b5563}
.local-area{background:#f4f5f6}
.area-tags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.25rem}
.area-tags span{padding:.55rem .8rem;border:1px solid #d7dbe0;background:#fff;border-radius:999px;font-size:.9rem;color:#303640}
@media(max-width:700px){.site-header{min-height:64px}.logo img{height:34px}    .brand img {width: 125px;}}

body.no-scroll{overflow:hidden}
.project{position:relative}
.project label{position:relative;z-index:3;margin-top:0}
.project-img{z-index:1}
.project-img>strong{font-size:clamp(18px,2.1vw,23px);max-width:80%}
.project-img>span{font-size:12px;min-width:32px;height:26px;padding:4px 7px;border:1px solid #d58a3688;background-color:black;border-radius:3px;display:inline-flex;align-items:center;justify-content:center}

.lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:100;
  background:#070909f2;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.lightbox.open{display:flex}

.lightbox-inner{
  width:min(1180px,96vw);
  max-height:94vh;
  display:grid;
  grid-template-columns:1fr;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:12px;
  position:relative;
  padding-top:42px;
}

.lightbox-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#fff;
  min-height:32px;
}
.lightbox-title{
  font-size:11px;
  letter-spacing:.12em;
  color:#ffffffaa;
  text-transform:uppercase;
}
.lightbox-counter{font-size:11px;color:#ffffff66}

.lightbox-main-wrap{
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#111;
  padding:10px;
  border:1px solid #ffffff12;
  overflow:hidden;
}
.lightbox-main{
  max-width:100%;
  max-height:70vh;
  width:auto;
  height:auto;
  object-fit:contain;
}

.lightbox-thumbs{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  width:100%;
  max-height:88px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:2px 2px 4px;
  scrollbar-width:thin;
}
.lightbox-thumbs button{
  flex:0 0 82px;
  width:82px;
  height:82px;
  border:1px solid #ffffff22;
  background:#111;
  padding:0;
  cursor:pointer;
  overflow:hidden;
  opacity:.65;
}
.lightbox-thumbs button.active{
  opacity:1;
  border-color:var(--accent);
  box-shadow:0 0 0 1px var(--accent);
}
.lightbox-thumbs img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Controls */
.lightbox-close,.lightbox-prev,.lightbox-next{
  position:absolute;
  border:1px solid #ffffff20;
  background:#111c;
  color:#fff;
  width:42px;
  height:42px;
  border-radius:50%;
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:22px;
  z-index:10;
}
.lightbox-close{
  right:0;
  top:0;
  transform:none;
}
.lightbox-prev{
  left:18px;
  top:50%;
  transform:translateY(-50%);
}
.lightbox-next{
  right:18px;
  top:50%;
  transform:translateY(-50%);
}
.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{
  background:#d58a36;
  color:#111;
}

.reviews{background:#fff}
.reviews-grid{display:grid;grid-template-columns:1fr 300px;gap:70px;align-items:center}
.review-copy{max-width:650px;color:var(--muted);margin:22px 0 28px}
.review-badge{border:1px solid var(--line);border-radius:22px;padding:35px;text-align:center;background:var(--paper)}
.review-badge b{display:block;font:800 60px/.9 Manrope;color:var(--ink)}
.review-badge span{display:block;color:var(--accent);letter-spacing:.14em;font-size:18px;margin:12px 0}
.review-badge small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.local-intro{max-width:820px;color:var(--muted);margin:0 0 12px}
.brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    line-height: 0;
}

.brand img {
    display: block;
    width: 150px;
    height: auto;
    max-width: 100%;
}
@media(max-width:800px){
 .reviews-grid{grid-template-columns:1fr;gap:35px}
}
@media(max-width:600px){
 .lightbox{padding:12px}

 .lightbox-inner{
   width:100%;
   max-height:96vh;
   padding-top:42px;
   gap:10px;
 }

 .lightbox-top{min-height:28px}

 .lightbox-title{
   font-size:9px;
   max-width:70%;
   white-space:nowrap;
   overflow:hidden;
   text-overflow:ellipsis;
 }

 .lightbox-counter{font-size:10px}

 .lightbox-main-wrap{padding:6px}

 .lightbox-main{
   max-width:100%;
   max-height:67vh;
 }

 .lightbox-prev,.lightbox-next{
   width:36px;
   height:36px;
   font-size:18px;
 }

 .lightbox-prev{left:8px}
 .lightbox-next{right:8px}

 .lightbox-close{
   width:38px;
   height:38px;
   right:0;
   top:0;
   font-size:20px;
 }

 .lightbox-thumbs{
   display:flex;
   flex-wrap:nowrap;
   gap:7px;
   max-height:72px;
   overflow-x:auto;
   overflow-y:hidden;
   padding:2px 2px 4px;
   -webkit-overflow-scrolling:touch;
   scrollbar-width:none;
 }

 .lightbox-thumbs::-webkit-scrollbar{display:none}

 .lightbox-thumbs button{
   flex:0 0 68px;
   width:68px;
   height:68px;
 }
}
