@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Montserrat:wght@400;500;600;700&display=swap');
:root{
  --black:#070707;
  --charcoal:#141414;
  --red:#d51d22;
  --gold:#d8b26a;
  --white:#ffffff;
  --cream:#f4efe7;
  --muted:#bdbdbd;
  --line:#2b2b2b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:#171717;font-family:Montserrat,Arial,sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1200px,92vw);margin:auto}
.center{text-align:center}

.site-header{
  height:88px;display:flex;align-items:center;gap:26px;padding:0 3%;
  position:fixed;inset:0 0 auto;z-index:50;background:rgba(5,5,5,.92);
  border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)
}
.brand img{width:220px;height:58px;object-fit:contain;object-position:left center}
.nav{display:flex;gap:24px;margin-left:auto}
.nav a{color:#fff;text-transform:uppercase;font-size:.7rem;font-weight:600;letter-spacing:.05em}
.header-quote{color:#fff;border:1px solid var(--red);padding:13px 18px;text-transform:uppercase;font-size:.72rem;font-weight:700}
.menu-toggle{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.7rem}

.hero{min-height:780px;position:relative;display:flex;align-items:center;overflow:hidden;padding-top:88px;color:#fff}
.hero-image{position:absolute;inset:0;background:url('assets/hero.jpg') center/cover no-repeat;filter:brightness(.82) saturate(.9)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97) 0%,rgba(0,0,0,.79) 41%,rgba(0,0,0,.22) 70%,rgba(0,0,0,.45) 100%)}
.hero-content{position:relative;z-index:3;padding:82px 0 95px}
.eyebrow,.section-label{text-transform:uppercase;color:var(--red);font-size:.73rem;font-weight:700;letter-spacing:.16em}
.hero h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(5rem,10vw,8rem);line-height:.72;letter-spacing:.11em;margin:18px 0 24px}
.hero h1 span{color:var(--red)}
.company-name{text-transform:uppercase;font-size:1.55rem;letter-spacing:.08em;font-weight:600;margin:0 0 14px}
.hero h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--gold);font-size:clamp(2rem,4vw,3rem);margin:0 0 18px}
.hero-location{max-width:680px;font-weight:600;line-height:1.55}
.hero-services{max-width:760px;text-transform:uppercase;font-size:.9rem;line-height:1.8}
.hero-services b{color:var(--red);padding:0 5px}
.hero-copy{max-width:630px;color:#d8d8d8;line-height:1.72}
.hero-actions{display:flex;gap:13px;margin-top:28px}
.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;text-transform:uppercase;font-size:.74rem;font-weight:700;border:1px solid transparent;color:#fff}
.red{background:var(--red);border-color:var(--red)}
.outline{border-color:rgba(216,178,106,.75)}
.quick-actions{position:absolute;right:18px;top:50%;z-index:4;transform:translateY(-50%);display:grid;gap:8px}
.quick-actions a{width:76px;height:72px;background:#080808;border:1px solid #2a2a2a;color:var(--red);display:grid;place-items:center}
.quick-actions strong{font-size:1.2rem}
.quick-actions span{color:#fff;font-size:.62rem;margin-top:-7px}

.trust-strip{background:#fff;border-bottom:1px solid #ddd7ce}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid article{display:flex;gap:14px;padding:24px;border-right:1px solid #ddd7ce}
.trust-grid article:last-child{border-right:0}
.trust-grid span{color:var(--red);font-size:1.8rem}
.trust-grid h3{margin:0 0 7px;font-size:.78rem;text-transform:uppercase}
.trust-grid p{margin:0;color:#666;font-size:.78rem;line-height:1.45}

.section{padding:92px 0}
.light{background:var(--cream)}
.dark{background:linear-gradient(140deg,#070707,#161616);color:#fff}
.section h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.7rem,5vw,4.3rem);line-height:.96;margin:11px 0 24px}
.section-title{max-width:850px;margin-left:auto!important;margin-right:auto!important}

.about-grid{display:grid;grid-template-columns:1.05fr .9fr .72fr;gap:48px;align-items:center}
.about-image{position:relative}
.about-image img{height:470px;width:100%;object-fit:cover;box-shadow:0 22px 55px rgba(0,0,0,.22)}
.image-label{position:absolute;left:22px;bottom:20px;color:#fff;text-transform:uppercase;font-size:.68rem;letter-spacing:.1em;background:rgba(5,5,5,.82);padding:12px 14px}
.about-copy p{color:#4e4e4e;line-height:1.75}
.text-link{display:inline-block;text-transform:uppercase;font-size:.75rem;font-weight:700;border-bottom:1px solid var(--red);padding-bottom:6px}
.about-points{border-left:1px solid #d7d0c6;padding-left:26px}
.about-points article{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid #d7d0c6}
.about-points article:last-child{border-bottom:0}
.about-points i{font-style:normal;color:var(--red);font-family:'Cormorant Garamond',serif;font-size:1.5rem}
.about-points h3{margin:0 0 7px;font-size:.95rem}
.about-points p{margin:0;color:#686868;font-size:.82rem;line-height:1.55}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:42px}
.service-card{background:#0d0d0d;border:1px solid rgba(255,255,255,.13);overflow:hidden}
.service-card img{width:100%;height:190px;object-fit:cover}
.service-card>div{padding:22px}
.service-card span{color:var(--red);font-size:.72rem;letter-spacing:.12em}
.service-card h3{text-transform:uppercase;font-size:.98rem;margin:8px 0 10px}
.service-card p{color:#bdbdbd;font-size:.84rem;line-height:1.65;margin:0}
.text-card{min-height:300px;display:flex;align-items:flex-end;background:linear-gradient(145deg,#111,#1e1e1e)}

.split-heading{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end}
.split-heading>p{color:#666;line-height:1.7;margin-bottom:24px}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}
.project-grid div{height:210px;border:1px solid #d5cec4;background:#ece5db;display:grid;place-items:center;color:#766f66;text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}

.areas{background:#fff}
.areas-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:center}
.areas-grid>div:first-child p:last-child{color:#666;line-height:1.7}
.area-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #ddd}
.area-list span{padding:21px 17px;border-bottom:1px solid #ddd;font-weight:600}
.area-list span:nth-child(odd){border-right:1px solid #ddd}
.area-list span:before{content:'•';color:var(--red);margin-right:10px}

.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:68px}
.muted{color:#bbb;line-height:1.7}
.contact-list{display:flex;flex-direction:column;margin-top:28px}
.contact-list a{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.contact-list small{display:block;color:var(--red);text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.quote-form{display:flex;flex-direction:column;gap:16px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.quote-form input,.quote-form select,.quote-form textarea{width:100%;background:#171717;color:#fff;border:1px solid #3e3e3e;padding:14px}
.quote-form button{align-self:flex-start}

footer{background:#050505;color:#999;padding:34px 0;border-top:1px solid #222}
.footer-grid{display:grid;grid-template-columns:250px 1fr 1fr;gap:34px;align-items:center}
.footer-grid img{width:220px;height:70px;object-fit:contain;object-position:left}
.footer-grid p{font-size:.75rem;line-height:1.6}
.footer-grid p:last-child{text-align:right}

@media(max-width:1000px){
  .nav,.header-quote{display:none}
  .menu-toggle{display:block}
  .nav.open{display:flex;position:fixed;inset:88px 0 0;background:#070707;flex-direction:column;align-items:center;justify-content:center;gap:28px}
  .about-grid{grid-template-columns:1fr 1fr}
  .about-points{grid-column:1/-1;border-left:0;border-top:1px solid #d7d0c6;padding:18px 0 0;display:grid;grid-template-columns:repeat(3,1fr)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .project-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .site-header{height:76px}
  .brand img{width:175px;height:50px}
  .hero{min-height:790px;padding-top:76px}
  .hero-content{padding:70px 0 90px}
  .hero h1{font-size:4.6rem}
  .company-name{font-size:1.08rem}
  .hero-image{background-position:61% center}
  .quick-actions{display:none}
  .hero-actions{flex-direction:column;align-items:flex-start}
  .trust-grid,.about-grid,.about-points,.service-grid,.split-heading,.project-grid,.areas-grid,.contact-grid,.field-grid,.footer-grid{grid-template-columns:1fr}
  .trust-grid article{border-right:0;border-bottom:1px solid #ddd7ce}
  .about-image img{height:380px}
  .area-list{grid-template-columns:1fr}
  .area-list span{border-right:0!important}
  .footer-grid p:last-child{text-align:left}
}


/* Polished service and location presentation */
.service-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
}
.service-card{
  border-radius:2px;
  box-shadow:0 16px 38px rgba(0,0,0,.24);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}
.service-card:hover{
  transform:translateY(-5px);
  border-color:rgba(213,29,34,.62);
  box-shadow:0 22px 50px rgba(0,0,0,.34);
}
.service-card img{
  height:148px;
  object-fit:cover;
  object-position:center;
  filter:contrast(1.04) saturate(.88);
}
.service-card>div{
  padding:20px 22px 23px;
}
.text-card{min-height:unset}

.about-image img{
  height:440px;
  object-position:center;
}
.image-label{display:none}

.areas-grid{
  grid-template-columns:.72fr 1.28fr;
  gap:64px;
  align-items:start;
}
.city-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.city-grid article{
  background:#0d0d0d;
  color:#fff;
  border:1px solid #272727;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.city-grid img{
  width:100%;
  height:165px;
  object-fit:cover;
  filter:brightness(.82) contrast(1.08) saturate(.9);
}
.city-grid div{padding:17px}
.city-grid h3{
  margin:0 0 7px;
  text-transform:uppercase;
  font-size:.9rem;
}
.city-grid p{
  margin:0;
  color:#bdbdbd;
  font-size:.76rem;
  line-height:1.5;
}

@media(max-width:1000px){
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .areas-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .service-grid,.city-grid{grid-template-columns:1fr}
  .service-card img{height:180px}
  .city-grid img{height:190px}
}


/* Clean professional image treatment */
.service-card img{
  height:136px;
  object-fit:cover;
  background:#0d0d0d;
  filter:none;
}
.about-image img{
  height:410px;
  object-fit:cover;
  background:#111;
  filter:none;
}
.city-grid{display:none}

.coverage-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #d8d8d8;
  border-left:1px solid #d8d8d8;
}
.coverage-grid article{
  padding:26px 24px;
  border-right:1px solid #d8d8d8;
  border-bottom:1px solid #d8d8d8;
  background:#fff;
}
.coverage-grid span{
  color:var(--red);
  font-family:'Cormorant Garamond',serif;
  font-size:1.7rem;
}
.coverage-grid h3{
  margin:8px 0 9px;
  text-transform:uppercase;
  font-size:.9rem;
}
.coverage-grid p{
  margin:0;
  color:#666;
  line-height:1.55;
  font-size:.8rem;
}
@media(max-width:680px){
  .coverage-grid{grid-template-columns:1fr}
  .service-card img{height:150px}
  .about-image img{height:330px}
}


/* Fixed hero: clean house-and-van background without baked-in UI boxes */
.hero-image{
  background-position:center center;
  background-size:cover;
}


/* Final hero fix: no blur, no seam, no duplicated boxes */
.hero {
  background:#050505;
}
.hero-image {
  background-image:url('assets/hero-clean-right.jpg') !important;
  background-repeat:no-repeat !important;
  background-position:right center !important;
  background-size:auto 100% !important;
  filter:none !important;
}
.hero-overlay {
  background:
    linear-gradient(90deg,
      rgba(0,0,0,1) 0%,
      rgba(0,0,0,.98) 34%,
      rgba(0,0,0,.82) 49%,
      rgba(0,0,0,.36) 66%,
      rgba(0,0,0,.10) 100%) !important;
}
@media(max-width:680px){
  .hero-image{
    background-size:auto 100% !important;
    background-position:68% center !important;
    opacity:.56;
  }
}

.project-photo{position:relative;overflow:hidden;background:#111!important}
.project-photo img{width:100%;height:100%;object-fit:cover}
.project-photo span{position:absolute;left:14px;bottom:12px;color:#fff;background:rgba(0,0,0,.72);padding:8px 10px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}


/* Premium Services redesign */
.services-luxury{padding-top:108px;padding-bottom:108px}
.services-intro{
  display:grid;
  grid-template-columns:1.05fr .75fr;
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.services-intro h2{margin-bottom:0}
.services-intro>p{
  color:#bdbdbd;
  line-height:1.75;
  margin:0 0 8px;
}
.services-showcase{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:330px;
  gap:18px;
}
.service-feature{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:#0d0d0d;
  box-shadow:0 20px 46px rgba(0,0,0,.28);
}
.service-wide{grid-column:span 2}
.service-feature img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease, filter .4s ease;
}
.service-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 15%,rgba(0,0,0,.86) 100%);
}
.service-copy{
  position:absolute;
  left:0;right:0;bottom:0;
  padding:28px;
}
.service-copy span{
  color:var(--red);
  font-size:.72rem;
  letter-spacing:.14em;
  font-weight:700;
}
.service-copy h3{
  margin:8px 0 10px;
  text-transform:uppercase;
  font-size:1.12rem;
  letter-spacing:.03em;
}
.service-copy p{
  margin:0;
  max-width:520px;
  color:#d3d3d3;
  font-size:.84rem;
  line-height:1.65;
}
.service-feature:hover img{
  transform:scale(1.035);
  filter:brightness(.92);
}

@media(max-width:1000px){
  .services-intro{grid-template-columns:1fr;gap:18px}
  .services-showcase{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:310px}
  .service-wide{grid-column:span 1}
}
@media(max-width:680px){
  .services-luxury{padding-top:76px;padding-bottom:76px}
  .services-showcase{grid-template-columns:1fr;grid-auto-rows:300px}
  .service-copy{padding:22px}
}


/* ===== Version 7 premium polish ===== */
:root{
  --red-soft:#ef3138;
  --gold-soft:#d9b36d;
  --radius:4px;
}
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.header{
  transition:background .3s ease, box-shadow .3s ease, height .3s ease;
}
.header.scrolled{
  background:rgba(5,5,5,.985);
  box-shadow:0 12px 34px rgba(0,0,0,.28);
}
.header nav a{
  position:relative;
  transition:color .22s ease;
}
.header nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-9px;
  height:2px;
  background:var(--red);
  transition:right .22s ease;
}
.header nav a:hover{color:#fff}
.header nav a:hover::after{right:0}
.top-quote,.btn{
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.top-quote:hover,.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(216,31,37,.22);
}
.hero-copy{
  animation:heroReveal .9s ease both;
}
@keyframes heroReveal{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
.hero h1{
  text-shadow:0 10px 35px rgba(0,0,0,.38);
}
.quick a{
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.quick a:hover{
  transform:translateX(-4px);
  border-color:var(--red);
  background:#101010;
}
.trust article{
  transition:background .2s ease;
}
.trust article:hover{
  background:#faf7f2;
}
.about-art{
  border-radius:var(--radius);
  box-shadow:0 28px 60px rgba(0,0,0,.24);
}
.about-points article{
  transition:transform .2s ease;
}
.about-points article:hover{
  transform:translateX(5px);
}
.service-feature{
  border-radius:var(--radius);
}
.service-copy{
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.16));
}
.projects div{
  border-radius:var(--radius);
  transition:transform .2s ease, box-shadow .2s ease;
}
.projects div:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(0,0,0,.12);
}
.coverage article{
  transition:background .2s ease, transform .2s ease;
}
.coverage article:hover{
  background:#fbf7f1;
  transform:translateY(-2px);
}
.process-section{
  background:#111;
  color:#fff;
}
.process-intro{
  display:grid;
  grid-template-columns:1fr .8fr;
  gap:70px;
  align-items:end;
  margin-bottom:42px;
}
.process-intro>p{
  color:#bdbdbd;
  line-height:1.75;
  margin:0 0 8px;
}
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid #313131;
  border-left:1px solid #313131;
}
.process-grid article{
  padding:30px 24px;
  border-right:1px solid #313131;
  border-bottom:1px solid #313131;
  background:#0b0b0b;
  min-height:220px;
  transition:background .22s ease, transform .22s ease;
}
.process-grid article:hover{
  background:#141414;
  transform:translateY(-3px);
}
.process-grid span{
  color:var(--red);
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
}
.process-grid h3{
  margin:14px 0 10px;
  text-transform:uppercase;
  font-size:.9rem;
  line-height:1.4;
}
.process-grid p{
  margin:0;
  color:#b8b8b8;
  font-size:.8rem;
  line-height:1.65;
}
.contact-grid form{
  background:#0f0f0f;
  border:1px solid #2f2f2f;
  padding:28px;
  border-radius:var(--radius);
  box-shadow:0 22px 50px rgba(0,0,0,.24);
}
input,select,textarea{
  border-radius:2px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--red);
  box-shadow:0 0 0 3px rgba(216,31,37,.12);
}
footer{
  background:linear-gradient(180deg,#050505,#020202);
}
.reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.visible{
  opacity:1;
  transform:translateY(0);
}
@media(max-width:1000px){
  .process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .process-intro,.process-grid{grid-template-columns:1fr}
  .process-intro{gap:16px}
  .contact-grid form{padding:20px}
}


/* Real project gallery */
.project-showcase { overflow: hidden; }
.featured-project {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  background: #0d0d0d;
  color: #fff;
  margin: 38px 0 34px;
  min-height: 430px;
  border-radius: 4px;
  overflow: hidden;
}
.featured-project-image img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  display: block;
}
.featured-project-copy {
  padding: clamp(32px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.featured-project-copy h3 {
  margin: 8px 0 18px;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.08;
}
.featured-project-copy p { color: #c7c7c7; }
.project-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0;
}
.project-tags span {
  border: 1px solid #333;
  padding: 8px 12px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.real-project-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.project-card {
  position: relative;
  min-height: 290px;
  overflow: hidden;
  background: #111;
  text-decoration: none;
}
.project-card img {
  width: 100%;
  height: 100%;
  min-height: 290px;
  object-fit: cover;
  display: block;
  transition: transform .45s ease, filter .45s ease;
}
.project-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 48%, rgba(0,0,0,.78));
}
.project-card span {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 16px;
  z-index: 2;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.project-card:hover img {
  transform: scale(1.045);
  filter: brightness(.9);
}
@media (max-width: 900px) {
  .featured-project { grid-template-columns: 1fr; }
  .featured-project-image img { min-height: 330px; }
  .real-project-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .real-project-grid { grid-template-columns: 1fr; }
  .project-card, .project-card img { min-height: 250px; }
}
