:root{--black:#0F0F10;--gold:#C8A97E;--warm:#F5F3EF;--graphite:#2E2E2E;--line:rgba(200,169,126,.34);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Inter',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--warm);color:var(--black);font-family:var(--sans);line-height:1.6}a{text-decoration:none;color:inherit}.header{height:92px;position:sticky;top:0;z-index:20;background:rgba(15,15,16,.97);display:flex;align-items:center;padding:8px 4.5vw;border-bottom:1px solid var(--line)}.logo-link{height:76px;width:245px;display:flex;align-items:center}.logo{width:100%;height:100%;object-fit:contain;object-position:left center}.header nav{margin-left:auto;display:flex;align-items:center;gap:27px;color:#eee;font-size:12px}.header nav a:hover{color:var(--gold)}.nav-cta{border:1px solid var(--gold);color:var(--gold)!important;padding:12px 16px;letter-spacing:.08em;text-transform:uppercase}.mobile-cta{display:none}.hero{height:690px;position:relative;background:var(--black);overflow:hidden;color:#fff}.hero-image{position:absolute;inset:0;background:url('hero-luxury-home.jpg') center right/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,9,.98) 0%,rgba(8,8,9,.85) 31%,rgba(8,8,9,.25) 62%,rgba(8,8,9,.05) 100%)}.hero-copy{position:relative;z-index:2;max-width:650px;padding:115px 0 0 10vw}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:.26em;font-weight:600;margin:0 0 17px}.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(58px,6vw,88px);line-height:.86;margin:0 0 28px}.hero h1 em{font-style:normal;color:var(--gold)}.hero-copy>p:not(.eyebrow){font-size:17px;max-width:520px;color:#ddd}.actions{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 22px;border:1px solid var(--gold);font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.btn.gold{background:var(--gold);color:var(--black)}.btn.outline{color:#fff}.service-strip{background:var(--black);color:#fff;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #282629;border-bottom:1px solid #282629}.service-strip a{padding:28px 30px;display:flex;gap:18px;align-items:center;border-right:1px solid #333}.service-strip a:last-child{border-right:0}.service-icon{font-size:31px;color:var(--gold);font-family:var(--serif)}.service-strip b{display:block;font-size:12px;letter-spacing:.12em}.service-strip small{display:block;color:#aaa;font-size:11px;margin-top:5px}.standard{display:grid;grid-template-columns:.8fr 1.2fr;min-height:550px}.standard-copy{padding:90px 6vw 80px 10vw;background:var(--warm)}.standard h2,.work h2,.about h2,.estimate h2{font-family:var(--serif);font-size:58px;line-height:.98;font-weight:600;margin:0 0 22px}.standard-copy>p:not(.eyebrow){max-width:500px;color:#555;font-size:15px}.gold-line{height:2px;width:42px;background:var(--gold);margin:25px 0}.text-link{display:inline-block;margin-top:22px;border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.photo-grid{display:grid;grid-template-columns:1.35fr .9fr .65fr}.photo-grid img{width:100%;height:100%;object-fit:cover;min-height:550px;display:block}.work{background:var(--black);color:#fff;padding:100px 7vw;text-align:center}.work h2{margin-bottom:10px}.work .sub{color:#aaa;margin:0 auto 45px;max-width:620px}.work-grid{display:grid;grid-template-columns:1.25fr .9fr .8fr;gap:12px;max-width:1250px;margin:auto}.work-grid img{width:100%;height:330px;object-fit:cover}.about{display:grid;grid-template-columns:1fr .65fr;gap:8vw;padding:100px 10vw;background:#e9e4dc}.quote{font-family:var(--serif);font-size:34px;color:var(--gold);max-width:650px;line-height:1.05}.about p:not(.eyebrow):not(.quote){max-width:650px;color:#555}.values{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#ccc}.values div{background:#e9e4dc;padding:28px}.values b{display:block;font-size:11px;letter-spacing:.18em}.values span{display:block;color:#666;font-size:13px;margin-top:6px}.estimate{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;background:var(--black);color:#fff;padding:105px 10vw}.estimate h2{color:#fff}.estimate>div>p:not(.eyebrow){color:#aaa;max-width:500px}.contact{display:flex;flex-direction:column;gap:8px;margin-top:28px}.contact a{color:var(--gold);font-size:17px}.estimate form{border:1px solid var(--line);padding:34px;display:grid;gap:16px}.estimate label{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}input,select,textarea{display:block;width:100%;margin-top:7px;padding:12px;background:#141416;border:1px solid #383638;color:#fff;font:inherit}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--gold)}.estimate form small{font-size:10px;color:#777}footer{background:#080809;color:#aaa;text-align:center;padding:55px 6vw;border-top:1px solid var(--line)}.footer-logo{width:230px;height:90px;object-fit:contain}.footer p{color:var(--gold);font-size:9px;letter-spacing:.3em}.footer div{display:flex;justify-content:center;gap:30px;margin:18px 0;color:var(--gold);font-size:13px}.footer>small{font-size:9px;color:#555}@media(max-width:950px){.header nav a:not(.nav-cta){display:none}.hero-copy{padding-left:7vw}.service-strip{grid-template-columns:1fr 1fr}.standard,.about,.estimate{grid-template-columns:1fr}.standard-copy{padding:75px 7vw}.photo-grid{height:420px}.photo-grid img{min-height:0}.work-grid{grid-template-columns:1fr 1fr}.work-grid img{height:280px}.about{padding:75px 7vw}.estimate{padding:75px 7vw}}@media(max-width:600px){.header{height:76px;padding:5px 5vw}.logo-link{width:185px;height:65px}.header nav{display:none}.mobile-cta{display:block;margin-left:auto;color:var(--gold);border:1px solid var(--gold);padding:9px 11px;font-size:10px;text-transform:uppercase}.hero{height:650px}.hero-copy{padding:90px 7vw 0}.hero h1{font-size:52px}.hero-copy>p:not(.eyebrow){font-size:15px}.service-strip{grid-template-columns:1fr}.service-strip a{border-right:0;border-bottom:1px solid #333}.standard h2,.work h2,.about h2,.estimate h2{font-size:46px}.photo-grid{grid-template-columns:1fr;height:auto}.photo-grid img{height:240px}.work-grid{grid-template-columns:1fr}.work-grid img{height:250px}.values{margin-top:35px}.estimate form{padding:22px}.footer div{flex-direction:column;gap:6px}}


/* V3 — corrected logo implementation */
.header{
  height:164px;
  padding-top:6px;
  padding-bottom:6px;
}
.logo-link{
  width:160px;
  height:152px;
  flex:0 0 160px;
  overflow:hidden;
}
.logo{
  width:160px;
  height:152px;
  object-fit:contain;
  object-position:center;
}

/* Complete footer logo, approximately 2x previous 230px width */
.footer-logo{
  width:460px;
  height:auto;
  max-width:92%;
  object-fit:contain;
  display:block;
  margin:0 auto 24px;
}

@media(max-width:950px){
  .header{height:140px}
  .logo-link{width:136px;height:128px;flex-basis:136px}
  .logo{width:136px;height:128px}
}
@media(max-width:600px){
  .header{height:116px}
  .logo-link{width:108px;height:104px;flex-basis:108px}
  .logo{width:108px;height:104px}
  .footer-logo{width:420px;max-width:94%}
}

/* V4 requested updates */
footer > div{display:flex;justify-content:center;align-items:center;gap:48px;margin:24px 0;color:var(--gold);font-size:13px;flex-wrap:wrap}
footer > div a{display:inline-block}
@media(max-width:600px){footer > div{flex-direction:column;gap:14px}}

/* V6 — high-quality transparent logo assets from original master raster */
.logo-link{
  width:150px !important;
  height:132px !important;
  flex:0 0 150px !important;
}
.logo{
  width:150px !important;
  height:132px !important;
  object-fit:contain !important;
  object-position:left center !important;
  image-rendering:auto !important;
}
.footer-logo{
  width:520px !important;
  height:auto !important;
  max-width:92% !important;
  image-rendering:auto !important;
}
footer div{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:42px !important;
}
@media(max-width:600px){
  .logo-link{width:108px !important;height:94px !important;flex-basis:108px !important}
  .logo{width:108px !important;height:94px !important}
  .footer-logo{width:390px !important;max-width:94% !important}
  footer div{flex-direction:column !important;gap:14px !important}
}

/* V7 — no top header; medium footer logo */
.header{display:none !important;}
.footer-logo{
  width:360px !important;
  height:auto !important;
  max-width:86% !important;
  margin:0 auto 24px !important;
  display:block !important;
  image-rendering:auto !important;
}
footer div{
  gap:42px !important;
}
@media(max-width:600px){
  .footer-logo{
    width:300px !important;
    max-width:88% !important;
  }
  footer div{
    gap:14px !important;
  }
}

/* V8 — solid black adaptive header */
:root{
  --logo-black:#080808;
}

.site-header{
  position:sticky;
  top:0;
  z-index:1000;
  height:150px;
  padding:12px 5vw;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  background:var(--logo-black);
  border-bottom:1px solid rgba(200,169,126,.24);
  box-shadow:none;
  transition:height .28s ease, padding .28s ease;
}

.header-logo-link{
  display:flex;
  align-items:center;
  width:330px;
  max-width:40vw;
  height:126px;
  flex:0 0 auto;
  transition:width .28s ease, height .28s ease;
}

.header-logo{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
  display:block;
}

.header-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:28px;
  color:#F5F3EF;
  font-size:12px;
  letter-spacing:.04em;
  white-space:nowrap;
}

.header-nav a{
  color:#F5F3EF;
  text-decoration:none;
  transition:color .2s ease;
}

.header-nav a:hover{
  color:#C8A97E;
}

.header-cta{
  border:1px solid #C8A97E;
  color:#C8A97E !important;
  padding:13px 18px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
}

/* Shrink smoothly after scrolling */
.site-header.is-scrolled{
  height:92px;
  padding-top:8px;
  padding-bottom:8px;
}

.site-header.is-scrolled .header-logo-link{
  width:230px;
  height:74px;
}

@media(max-width:1000px){
  .site-header{
    height:128px;
    padding-left:4vw;
    padding-right:4vw;
  }

  .header-logo-link{
    width:285px;
    height:105px;
  }

  .header-nav a:not(.header-cta){
    display:none;
  }

  .site-header.is-scrolled{
    height:84px;
  }

  .site-header.is-scrolled .header-logo-link{
    width:205px;
    height:66px;
  }
}

@media(max-width:600px){
  .site-header{
    height:104px;
    padding:8px 4vw;
    gap:14px;
  }

  .header-logo-link{
    width:205px;
    max-width:58vw;
    height:84px;
  }

  .header-cta{
    padding:10px 11px;
    font-size:8px;
    line-height:1.2;
    text-align:center;
  }

  .site-header.is-scrolled{
    height:74px;
  }

  .site-header.is-scrolled .header-logo-link{
    width:155px;
    height:56px;
  }
}

/* Production estimate form integration */
.hp-field{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.form-response-frame{
  display:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
}
.estimate-success{
  display:none;
  margin-top:18px;
  padding:16px 18px;
  border:1px solid #C8A97E;
  color:#F5F3EF;
  background:rgba(200,169,126,.08);
  font-size:14px;
  line-height:1.5;
}
.estimate-success.show{
  display:block;
}
#estimateSubmit:disabled{
  opacity:.65;
  cursor:wait;
}


/* V10 — form readability + mobile hidden field fix */
.estimate-form input,
.estimate-form select,
.estimate-form textarea,
.form input,
.form select,
.form textarea{
  font-size:17px !important;
  line-height:1.4 !important;
  padding:15px 14px !important;
}

.estimate-form label,
.form label{
  font-size:12px !important;
}

@media(max-width:600px){
  .estimate-form input,
  .estimate-form select,
  .estimate-form textarea,
  .form input,
  .form select,
  .form textarea{
    font-size:16px !important; /* avoids iPhone zoom and keeps text readable */
    padding:14px 13px !important;
  }
  .estimate-form label,
  .form label{
    font-size:11px !important;
  }
}





/* V12 — dedicated mobile hero image */
@media(max-width:600px){
  .hero-image{
    background-image:url('hero-mobile.jpg') !important;
    background-position:center center !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
  }
}


/* V13 — correct desktop form typography selectors */
.estimate form input,
.estimate form select,
.estimate form textarea{
  font-size:18px !important;
  line-height:1.45 !important;
  padding:15px 14px !important;
}

.estimate form label{
  font-size:12px !important;
  line-height:1.35 !important;
}

@media(max-width:600px){
  .estimate form input,
  .estimate form select,
  .estimate form textarea{
    font-size:16px !important;
    padding:14px 13px !important;
  }

  .estimate form label{
    font-size:11px !important;
  }
}
