
:root{--bg:#0f1110;--panel:#171a18;--cream:#f3efe6;--muted:#b9b6ad;--gold:#c9973b;--line:#2a2f2c;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--cream);line-height:1.6}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),92%);margin:auto}
header{position:sticky;top:0;z-index:20;background:rgba(15,17,16,.97);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand{font-weight:800;letter-spacing:.08em}.brand small{display:block;color:var(--gold);font-size:.65rem;letter-spacing:.14em}
nav ul{display:flex;list-style:none;gap:24px;margin:0;padding:0}.btn{display:inline-block;background:var(--gold);color:#111;padding:13px 20px;border:1px solid var(--gold);border-radius:3px;font-weight:800}.btn-outline{background:transparent;color:var(--cream)}
.hero{min-height:72vh;display:grid;align-items:center;background:linear-gradient(90deg,rgba(10,12,11,.92),rgba(10,12,11,.58)),url('assets/images/fireplace-stonework.jpg') center/cover no-repeat}
.hero-content{max-width:720px;padding:90px 0}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:.82rem}
h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1.02;margin:.3em 0 .25em}h2{font-size:clamp(2rem,4vw,3rem);line-height:1.1}h3{margin:.2em 0 .5em}.lead{font-size:1.18rem;color:#d3cfc5}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.section{padding:78px 0}.section-alt{background:#141715}.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--panel);border:1px solid var(--line);overflow:hidden}.card-body,.service-card{padding:24px}.card p,.info-panel p,.note{color:var(--muted)}
.project-card img{width:100%;height:300px;object-fit:cover}.tag{color:var(--gold);font-size:.76rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800}
.page-hero{padding:90px 0 55px;background:#141715;border-bottom:1px solid var(--line)}.page-hero p{max-width:720px;color:var(--muted)}
.form-wrap{display:grid;grid-template-columns:.75fr 1.25fr;gap:34px}.info-panel,form{background:var(--panel);border:1px solid var(--line);padding:28px}.info-panel{align-self:start}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}label{display:block;font-weight:700;margin-bottom:7px}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid #3a403d;background:#0f1110;color:var(--cream);border-radius:3px;font:inherit}textarea{min-height:150px;resize:vertical}
.gallery-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery-pair img{height:330px;width:100%;object-fit:cover}.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.quote-strip{background:var(--gold);color:#111;padding:32px 0}.quote-strip .container{display:flex;justify-content:space-between;align-items:center;gap:20px}footer{padding:40px 0;border-top:1px solid var(--line);color:#aaa69d}.footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
@media(max-width:850px){nav ul{display:none}.grid-3,.form-wrap,.form-grid,.gallery-pair,.split{grid-template-columns:1fr}.project-card img,.gallery-pair img{height:auto}.quote-strip .container{display:block}.quote-strip .btn{margin-top:14px}}

/* Expanded service lists */
.service-card{height:100%}.service-card h3{margin-bottom:14px}.service-list,.work-list{margin:0;padding-left:20px;line-height:1.85;color:#d7d7d2}.service-list li::marker,.work-list li::marker{color:#d99b2b}
.cta-strip{margin-top:46px;padding:30px 34px;border:1px solid #2b2e2c;background:#151817;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-strip h2{margin:5px 0 0}.cta-strip p{max-width:720px;color:#c9cbc7}
/* Our Work editorial rows */
.work-section{padding:72px 0;background:#101312}.work-section.section-alt{background:#151817}.work-row{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:54px;align-items:center}.work-row.reverse .work-image{order:2}.work-row.reverse .work-copy{order:1}.work-image img{width:100%;height:440px;object-fit:cover;display:block}.work-copy h2{font-size:clamp(34px,4vw,58px);margin:12px 0 20px}.work-copy p{font-size:19px;line-height:1.7;color:#d7d7d2;max-width:620px}.work-list{margin-top:20px;columns:2;column-gap:30px}
@media(max-width:800px){.work-row{grid-template-columns:1fr;gap:28px}.work-row.reverse .work-image,.work-row.reverse .work-copy{order:initial}.work-image img{height:auto}.work-list{columns:1}.cta-strip{align-items:flex-start;flex-direction:column}}

.fireplace-project{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);gap:54px;align-items:center}
.fireplace-gallery{display:grid;gap:12px}
.fireplace-main{width:100%;height:350px;object-fit:cover;display:block}
.fireplace-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fireplace-thumbs img{width:100%;height:190px;object-fit:cover;display:block}
@media(max-width:800px){.fireplace-project{grid-template-columns:1fr;gap:28px}.fireplace-main,.fireplace-thumbs img{height:auto}}

.hero-logo{
  display:block;
  width:min(390px,72vw);
  height:auto;
  margin:0 0 22px;
  background:#fff;
  border-radius:4px;
}
.hero-slogan{
  margin:0 0 18px;
  font-size:clamp(2rem,4.2vw,4rem);
  line-height:1.02;
  letter-spacing:-.03em;
}
.hero-slogan span{color:#d79b2e}
@media(max-width:700px){
  .hero-logo{width:min(320px,88vw)}
}


/* =========================================================
   REBUILT HOME PAGE
   ========================================================= */
.home-page{background:#0d100f}
.home-header{
  position:sticky;
  top:0;
  z-index:50;
  background:linear-gradient(180deg,#080a0b 0%,#0b0d0e 100%);
  border-bottom:1px solid #252925;
}
.home-nav-wrap{
  width:min(1500px,96%);
  margin:auto;
  min-height:98px;
  display:grid;
  grid-template-columns:minmax(310px,1fr) auto auto;
  align-items:center;
  gap:30px;
}
.home-brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.home-brand img{
  width:82px;
  height:68px;
  object-fit:contain;
  flex:0 0 auto;
}
.home-brand-copy{
  display:grid;
  line-height:1.1;
}
.home-brand-copy strong{
  font-size:20px;
  letter-spacing:.14em;
  white-space:nowrap;
}
.home-brand-copy small{
  margin-top:7px;
  color:#d5a13c;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  white-space:nowrap;
}
.home-nav{
  display:flex;
  gap:31px;
  align-items:center;
}
.home-nav a{
  position:relative;
  padding:36px 0 31px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  color:#ecebe6;
}
.home-nav a:hover,.home-nav a.active{color:#d6a13a}
.home-nav a.active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:22px;
  height:2px;
  background:#d6a13a;
}
.home-quote-btn{
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.04em;
  padding:14px 22px;
  white-space:nowrap;
}

.home-hero{
  position:relative;
  min-height:600px;
  background:
    linear-gradient(90deg,rgba(6,8,8,.94) 0%,rgba(8,10,10,.78) 26%,rgba(8,10,10,.28) 52%,rgba(8,10,10,.04) 100%),
    url('assets/images/home-hero-fireplace.png') center 54%/cover no-repeat;
  overflow:hidden;
}
.home-hero-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.10));
  pointer-events:none;
}
.home-hero-inner{
  position:relative;
  width:min(1500px,92%);
  min-height:600px;
  margin:auto;
  display:flex;
  align-items:center;
}
.home-hero-copy{
  width:min(650px,48vw);
  padding:55px 0 50px;
}
.home-logo-mini{
  margin-bottom:22px;
}
.home-logo-mini img{
  width:145px;
  height:105px;
  object-fit:contain;
  object-position:left center;
}
.home-hero h1{
  margin:0;
  font-size:clamp(46px,5.25vw,78px);
  line-height:.98;
  letter-spacing:-.035em;
  font-weight:900;
}
.home-hero h1 span{color:#d6a13a}
.home-service-line{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:13px;
  margin-top:17px;
  font-size:19px;
  color:#f2f0e9;
}
.home-service-line b{color:#d6a13a}
.gold-rule{
  width:88px;
  height:2px;
  background:#d6a13a;
  margin:24px 0 20px;
}
.home-hero-copy>p{
  margin:0;
  font-size:17px;
  line-height:1.55;
  color:#e2e0da;
}
.home-hero-copy>p strong{color:#d6a13a}
.home-hero .hero-actions{margin-top:28px}
.home-hero .btn{
  text-transform:uppercase;
  letter-spacing:.025em;
  padding:15px 23px;
}
.home-hero .btn-outline{
  border-color:#d6a13a;
  background:rgba(10,12,11,.5);
}

.home-service-band{
  background:linear-gradient(180deg,#101312,#0d100f);
  border-top:1px solid #292e2b;
  border-bottom:1px solid #292e2b;
}
.home-service-band-inner{
  width:min(1500px,96%);
  margin:auto;
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.home-service-item{
  min-height:180px;
  padding:30px 30px;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:18px;
  align-content:center;
  border-right:1px solid #323633;
  transition:background .2s ease;
}
.home-service-item:last-child{border-right:0}
.home-service-item:hover{background:#151917}
.service-icon{
  color:#d6a13a;
  font-size:38px;
  line-height:1;
  font-family:Georgia,serif;
}
.home-service-item h3{
  margin:0 0 10px;
  text-transform:uppercase;
  font-size:14px;
  line-height:1.45;
  letter-spacing:.055em;
}
.home-service-item p{
  margin:0;
  color:#bbbdb8;
  font-size:13px;
  line-height:1.55;
}
.home-bottom-cta{
  padding:60px 0;
  background:#131614;
}
.home-bottom-cta .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.home-bottom-cta h2{
  margin:8px 0 0;
  font-size:clamp(30px,4vw,48px);
}

@media(max-width:1100px){
  .home-nav-wrap{
    grid-template-columns:1fr auto;
  }
  .home-nav{display:none}
  .home-service-band-inner{
    grid-template-columns:repeat(2,1fr);
  }
  .home-service-item{
    border-bottom:1px solid #323633;
  }
  .home-service-item:nth-child(2n){border-right:0}
  .home-service-item:last-child{
    grid-column:1/-1;
  }
  .home-hero-copy{
    width:min(650px,66vw);
  }
}
@media(max-width:720px){
  .home-nav-wrap{
    min-height:78px;
    gap:12px;
  }
  .home-brand img{width:58px;height:50px}
  .home-brand-copy strong{font-size:14px}
  .home-brand-copy small{font-size:8px;letter-spacing:.10em}
  .home-quote-btn{font-size:10px;padding:11px 12px}
  .home-hero{
    min-height:650px;
    background:
      linear-gradient(90deg,rgba(6,8,8,.95) 0%,rgba(8,10,10,.82) 58%,rgba(8,10,10,.34) 100%),
      url('assets/images/home-hero-fireplace.png') 63% center/cover no-repeat;
  }
  .home-hero-inner{min-height:650px}
  .home-hero-copy{width:100%;max-width:520px;padding:44px 0}
  .home-logo-mini img{width:110px;height:82px}
  .home-service-line{font-size:15px;gap:9px}
  .home-service-band-inner{grid-template-columns:1fr}
  .home-service-item,.home-service-item:nth-child(2n){
    border-right:0;
    border-bottom:1px solid #323633;
  }
  .home-service-item:last-child{grid-column:auto}
  .home-bottom-cta .container{align-items:flex-start;flex-direction:column}
}

.contact-direct{
  margin-top:26px;
  padding:22px;
  border:1px solid #3a403d;
  background:#0f1110;
  border-left:4px solid #c9973b;
}
.contact-direct-label{
  color:#c9973b;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:800;
  margin-bottom:8px;
}
.contact-phone{
  display:block;
  font-size:2rem;
  line-height:1.1;
  font-weight:900;
  color:#f3efe6;
  margin:4px 0 4px;
}
.contact-phone:hover,.contact-email:hover{color:#c9973b}
.contact-email{
  display:block;
  color:#f3efe6;
  font-weight:700;
  margin-top:16px;
  word-break:break-word;
}
.contact-small{
  color:#b9b6ad;
  font-size:.9rem;
  margin-top:4px;
}

/* Bathroom featured-work photo gallery */
.bathroom-real-gallery{display:grid;gap:8px}
.bathroom-main-photo{width:100%;height:430px;object-fit:cover;display:block}
.bathroom-photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bathroom-photo-grid img{width:100%;height:120px;object-fit:cover;display:block}
@media(max-width:760px){
  .bathroom-main-photo{height:auto}
  .bathroom-photo-grid{grid-template-columns:repeat(2,1fr)}
  .bathroom-photo-grid img{height:150px}
}

/* Bathroom section image override: single approved collage, no layout changes elsewhere */
.bathroom-real-gallery{display:block}
.bathroom-real-gallery .bathroom-main-photo{width:100%;height:auto;object-fit:contain;display:block}
.bathroom-real-gallery .bathroom-photo-grid{display:none}

.footer-business-info a{color:inherit;text-decoration:none}

/* Mobile navigation only */
.mobile-menu-toggle,.mobile-nav{display:none}
@media (max-width:900px){
  .mobile-menu-toggle{
    display:inline-flex;
    width:44px;height:44px;padding:10px;
    border:1px solid rgba(214,160,54,.75);
    background:transparent;
    align-items:center;justify-content:center;
    flex-direction:column;gap:5px;
    cursor:pointer;margin-left:10px;flex:0 0 auto
  }
  .mobile-menu-toggle span{
    display:block;width:22px;height:2px;background:#d6a036
  }
  .mobile-nav{
    position:absolute;top:100%;left:0;right:0;z-index:9999;
    background:#0b0d0d;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(214,160,54,.35);
    padding:12px 18px 18px;
    box-shadow:0 10px 24px rgba(0,0,0,.4)
  }
  .mobile-nav.is-open{display:flex;flex-direction:column}
  .mobile-nav a{
    display:block;padding:14px 6px;color:#f5f5f5;text-decoration:none;
    font-weight:700;letter-spacing:.03em;
    border-bottom:1px solid rgba(255,255,255,.08)
  }
  .mobile-nav a:last-child{border-bottom:0}
  .mobile-nav .mobile-quote-link{
    margin-top:10px;padding:14px 16px;text-align:center;
    background:#d6a036;color:#111;border-bottom:0
  }
  header,.site-header,.topbar,.navbar{position:relative}
}


/* Mobile menu right-side positioning only */
@media (max-width:900px){
  .mobile-menu-toggle{
    margin-left:auto !important;
    margin-right:12px !important;
  }
  .mobile-nav{
    left:auto !important;
    right:12px !important;
    width:min(290px, calc(100vw - 24px)) !important;
  }
}
