*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f2ed;color:#17191b;font-family:Arial,sans-serif;line-height:1.6}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}header{position:fixed;z-index:20;top:0;width:100%;height:86px;padding:10px 6vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(#090b0ce8,transparent)}header.scrolled{background:#0b0d0e;height:72px}.brand img{height:64px;background:#fff;padding:3px}.brand+button{display:none}nav{display:flex;gap:25px;align-items:center;color:white;font-weight:700;font-size:14px}.call{border:1px solid #ffffff88;padding:10px 16px}.hero{height:100vh;min-height:700px;position:relative;background:url('assets/project-07.jpg') center/cover;display:flex;align-items:center;color:white}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#050607f2 0,#050607b8 43%,#05060722 78%)}.hero-copy{position:relative;width:min(720px,88%);margin-left:7vw}.eyebrow{color:#bd7a16;text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800}.hero h1,.heading h2,.feature h2,.about h2,.contact h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;line-height:.95}.hero h1{font-size:clamp(58px,9vw,132px);margin:10px 0 24px}.hero h1 span{color:#197fa9}.hero-copy>p:not(.eyebrow){font-size:clamp(16px,2vw,21px);color:#e6e6e6}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;text-transform:uppercase;font-weight:800;font-size:13px;letter-spacing:.05em;border:0;cursor:pointer}.gold{background:#bd7a16;color:white}.outline{border:1px solid #ffffff88;color:white}.trust{display:grid;grid-template-columns:repeat(4,1fr);background:#0b0d0e;color:white;padding:24px 7vw}.trust div{display:flex;flex-direction:column;border-right:1px solid #333;padding:4px 26px}.trust div:last-child{border:0}.trust b{font-size:24px;text-transform:uppercase}.trust span{font-size:11px;text-transform:uppercase;color:#aab0b3;letter-spacing:.08em}.section{padding:105px 7vw}.heading{max-width:760px;margin-bottom:46px}.heading h2,.feature h2,.about h2,.contact h2{font-size:clamp(44px,6vw,82px);margin:8px 0 18px}.heading>p:last-child{color:#5c6265}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c9c6bf}.services article{background:#f4f2ed;padding:40px;min-height:260px}.services article:hover{background:white}.services small{color:#197fa9;font-weight:800}.services h3{font-size:28px;text-transform:uppercase;margin:45px 0 8px}.services p{color:#5d6366;font-size:15px}.feature{display:grid;grid-template-columns:1.2fr .8fr;min-height:680px;background:#101214;color:white}.feature-img{background:url('assets/project-02.jpg') center/cover}.feature-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.feature-copy p:not(.eyebrow){color:#b5babd}.feature-copy a{margin-top:22px;font-weight:800;text-transform:uppercase}.projects{background:white}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:290px;gap:14px}.gallery button{position:relative;border:0;padding:0;overflow:hidden;cursor:pointer;background:#ddd}.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery button:hover img{transform:scale(1.04)}.gallery button:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#000b)}.gallery span{position:absolute;z-index:2;bottom:14px;left:18px;color:white;font-size:20px;font-weight:800;text-transform:uppercase}.wide{grid-column:span 2}.tall{grid-row:span 2}.process{padding:105px 7vw;background:#e9e6df}.process ol{list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.process li{border-top:3px solid;padding-top:22px}.process li b{color:#197fa9}.process h3{text-transform:uppercase;margin:25px 0 7px}.process p{color:#62676a}.about{display:grid;grid-template-columns:1fr 1fr;min-height:720px;background:white}.about-img{background:url('assets/project-14.jpg') center/cover}.about-copy{padding:8vw 7vw;display:flex;flex-direction:column;justify-content:center}.about-copy p:not(.eyebrow){color:#5b6164}.about-copy .btn{align-self:flex-start;margin-top:15px}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;padding:105px 7vw;background:#101214;color:white}.contact>div>p:not(.eyebrow){color:#b4b9bc}.details{display:grid;gap:16px;margin-top:35px}.details a,.details p{display:flex;flex-direction:column;margin:0}.details small{color:#bd7a16;text-transform:uppercase;letter-spacing:.12em;font-weight:800}form{background:white;color:#17191b;padding:36px}label{display:grid;gap:7px;margin-bottom:16px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}input,select,textarea{width:100%;padding:13px;border:1px solid #d2d2d2;background:#f8f8f7;font:inherit}.note{font-size:11px;color:#666;text-align:center}footer{background:#080a0b;color:#d9dcde;padding:55px 7vw 90px;display:grid;grid-template-columns:1fr 1fr;gap:30px;position:relative}footer img{width:180px;background:white;padding:3px}footer div{display:flex;flex-direction:column}footer div b{color:#bd7a16}footer>p{position:absolute;bottom:20px;left:7vw;font-size:13px;color:#999}.mobile{display:none}dialog{border:0;background:transparent;max-width:94vw;max-height:90vh;padding:0}dialog::backdrop{background:#000e}dialog img{max-height:88vh}dialog button{position:fixed;right:20px;top:20px;width:44px;height:44px;border:0;font-size:30px}
@media(max-width:850px){header{height:72px;background:#0b0d0e}.brand img{height:54px}.brand+button{display:block;background:none;border:1px solid #fff;color:#fff;padding:9px 12px}nav{display:none;position:absolute;top:72px;left:0;right:0;background:#0b0d0e;padding:22px 7vw;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{min-height:650px}.hero-copy{margin:40px 6vw 0}.trust{grid-template-columns:1fr 1fr;padding:18px 5vw}.trust div{border-bottom:1px solid #333}.services{grid-template-columns:1fr}.feature,.about,.contact{grid-template-columns:1fr}.feature-img,.about-img{min-height:440px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:240px}.process ol{grid-template-columns:1fr 1fr}.contact{gap:35px}.mobile{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:30}.mobile a{text-align:center;padding:15px;background:#197fa9;color:white;font-weight:800;text-transform:uppercase}.mobile a:last-child{background:#bd7a16}footer{padding-bottom:130px}}@media(max-width:560px){.section,.process,.contact{padding:80px 6vw}.gallery{grid-template-columns:1fr;grid-auto-rows:260px}.wide,.tall{grid-column:auto;grid-row:auto}.process ol{grid-template-columns:1fr}.row{grid-template-columns:1fr}.feature-img,.about-img{min-height:350px}.trust b{font-size:18px}.trust div{padding:8px 14px}.hero h1{font-size:58px}}

.reviews-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;padding:105px 7vw;background:#e9e6df}
.reviews-intro h2{font-family:Impact,'Arial Narrow',sans-serif;text-transform:uppercase;line-height:.95;font-size:clamp(44px,6vw,82px);margin:8px 0 18px}
.reviews-intro>p:not(.eyebrow){color:#5d6366}
.review-points{margin-top:34px;border-top:3px solid #17191b;padding-top:20px}
.review-points span{display:block;color:#bd7a16;font-size:30px;letter-spacing:.08em}
.review-points p{margin:6px 0 0;font-weight:700}
.review-form{background:white;color:#17191b;padding:36px}
@media(max-width:850px){.reviews-section{grid-template-columns:1fr;gap:35px}}
@media(max-width:560px){.reviews-section{padding:80px 6vw}}


/* Upgraded photo-based services section */
.services-photo{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  background:transparent;
}
.services-photo article{
  position:relative;
  min-height:390px;
  overflow:hidden;
  padding:0;
  background-image:var(--bg);
  background-size:cover;
  background-position:center;
  isolation:isolate;
  border-radius:2px;
  box-shadow:0 18px 45px rgba(0,0,0,.10);
  transition:transform .35s ease, box-shadow .35s ease;
}
.services-photo article:hover{
  transform:translateY(-7px);
  box-shadow:0 26px 60px rgba(0,0,0,.18);
}
.services-photo article::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 20%,rgba(5,8,10,.88) 100%);
  z-index:-1;
}
.services-photo .service-overlay{
  position:absolute;
  inset:0;
  border:1px solid rgba(255,255,255,.16);
  margin:12px;
  pointer-events:none;
}
.services-photo .service-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:34px;
  color:white;
}
.services-photo small{
  display:inline-block;
  color:#e7a63a;
  font-weight:900;
  letter-spacing:.16em;
  margin-bottom:10px;
}
.services-photo h3{
  margin:0 0 10px;
  font-size:34px;
  line-height:1;
  text-transform:uppercase;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.services-photo p{
  margin:0;
  max-width:34ch;
  color:#eceff1;
  font-size:15px;
}
@media(max-width:900px){
  .services-photo{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .services-photo{grid-template-columns:1fr;gap:14px}
  .services-photo article{min-height:330px}
  .services-photo .service-content{padding:26px}
  .services-photo h3{font-size:30px}
}
#reviews-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 32px 0 38px;
  align-items: flex-start;
}

.customer-review {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-top: 4px solid #b9782d;
  padding: 22px 24px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
  min-height: 0;
  height: fit-content;
}

.review-stars {
  font-size: 20px;
  letter-spacing: 3px;
  color: #b9782d;
  margin-bottom: 12px;
}

.review-text {
  font-size: 17px;
  line-height: 1.55;
  margin: 0 0 14px;
  font-style: italic;
}

.review-name {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin: 0;
}