:root{--g:#1B3A23;--c:#2F3A3F;--t:#C9B89B;--s:#E8E3D9;--w:#fff;--bg:#F7F5F0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--c);font-family:Arial,sans-serif}header{height:86px;padding:0 6vw;background:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--c)}.brand b{letter-spacing:1.5px}.brand i{font-style:normal;color:var(--g)}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px}.logo{width:42px;height:42px;border:3px solid var(--g);border-radius:50%;display:grid;place-items:center;color:var(--g);font-weight:bold}nav{display:flex;align-items:center;gap:26px}nav a,.link{text-decoration:none;color:var(--c);font-size:13px}.btn{display:inline-block;padding:14px 20px;background:var(--g);color:#fff!important;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:bold;letter-spacing:.7px;margin-right:18px}.hero{min-height:650px;padding:9vw 8vw;display:grid;grid-template-columns:1.4fr .7fr;gap:80px;align-items:center;background:linear-gradient(115deg,var(--bg) 0 70%,var(--s) 70%)}.eyebrow{font-size:10px;letter-spacing:3px;font-weight:bold;color:var(--g)}h1,h2,h3{font-family:Georgia,serif;font-weight:500}h1{font-size:clamp(48px,6vw,84px);line-height:.98;margin:24px 0}h1 em{font-style:normal;color:var(--g)}.lead{font-size:20px;line-height:1.6;max-width:680px;color:#687074}.hero aside{background:var(--g);color:#fff;padding:50px 40px;box-shadow:18px 18px 0 var(--t)}.hero aside h2{font-size:36px}.hero aside small{color:var(--t);letter-spacing:2px}.hero aside p{border-bottom:1px solid #ffffff22;padding:10px 0}.intro{text-align:center;background:#fff;padding:105px 8vw}.intro h2,.split h2,.area h2{font-size:46px;margin:20px 0}.intro>p:last-child{max-width:720px;margin:auto;line-height:1.8;color:#687074}.cards{background:#fff;padding:0 7vw 100px;display:grid;grid-template-columns:repeat(3,1fr);gap:2px}.cards article{background:var(--bg);padding:44px;border-top:3px solid var(--g)}.cards article>span{color:var(--t);font:20px Georgia}.cards h3{font-size:27px}.cards p,.about p{line-height:1.75;color:#687074}.cards a{color:var(--g);font-size:12px;font-weight:bold;text-decoration:none}.split{padding:105px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:85px}.dark{background:var(--g);color:#fff}.dark p{color:#d9e0db;line-height:1.8}.tan{color:var(--t)}.tanbtn{background:var(--t);color:var(--g)!important}.grid{display:grid;grid-template-columns:1fr 1fr;align-content:center}.grid span{padding:26px 10px;border-bottom:1px solid #ffffff22;font-size:11px;letter-spacing:1.5px}.process ol{list-style:none;padding:0;margin:0}.process li{display:grid;grid-template-columns:60px 1fr;padding:22px 0;border-top:1px solid #ccd0cc}.process li>b{color:var(--t);font:18px Georgia}.process strong{display:block;font:22px Georgia;margin-bottom:6px}.process span{color:#687074;line-height:1.6}.about{background:#fff;align-items:center}.badge{min-height:390px;background:var(--c);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.badge small{letter-spacing:5px}.badge b{font:90px Georgia;color:#fff;margin:18px}.badge span{color:var(--t)}.area{text-align:center;padding:85px 8vw;background:var(--s)}.contactbox{border-left:1px solid #ffffff30;padding-left:50px}.contactbox .btn{display:block;text-align:center;margin:0 0 12px}.outline{background:transparent;border:1px solid var(--t);color:var(--t)!important}.contactbox small{display:block;color:var(--t);letter-spacing:2px;margin-top:25px}.contactbox p a{color:#fff;text-decoration:none}footer{padding:38px 6vw;background:#20282b;color:#b9c0c1;display:flex;justify-content:space-between;font-size:10px}@media(max-width:850px){nav a:not(.btn){display:none}.hero,.cards,.split{grid-template-columns:1fr}.hero{padding:80px 7vw}.cards{gap:14px}.split{gap:45px}.contactbox{border-left:0;border-top:1px solid #ffffff30;padding:35px 0 0}footer{flex-direction:column;gap:12px;text-align:center}}@media(max-width:520px){header{padding:0 4vw}nav .btn{padding:11px 8px;margin:0}.brand b{font-size:13px}.brand small{letter-spacing:1px}h1{font-size:45px}.intro h2,.split h2,.area h2{font-size:35px}.grid{grid-template-columns:1fr}.cards article{padding:34px}}
.brand-logo{display:block;width:310px;max-width:38vw;height:auto}
@media(max-width:700px){.brand-logo{width:220px;max-width:52vw}}
@media(max-width:420px){.brand-logo{width:175px;max-width:48vw}}

/* v3 production-logo placement */
.brand-logo{display:block;width:315px;max-width:38vw;height:auto}
.badge{padding:45px}
.stacked-logo{display:block;width:min(360px,82%);height:auto;object-fit:contain}
@media(max-width:700px){
  .brand-logo{width:225px;max-width:52vw}
  .stacked-logo{width:min(320px,85%)}
}
@media(max-width:420px){
  .brand-logo{width:180px;max-width:48vw}
}

/* v4: larger real logo + editorial commercial-cleaning hero illustration */
header{height:100px}.brand-logo{width:390px;max-width:40vw;height:auto}.hero{grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:65px;padding:7vw 8vw;min-height:690px}.hero-visual{padding:0!important;background:transparent!important;box-shadow:16px 16px 0 var(--t)!important;position:relative;overflow:hidden;align-self:stretch;min-height:470px}.hero-visual img{display:block;width:100%;height:100%;object-fit:cover}.hero-visual .visual-caption{position:absolute;left:0;right:0;bottom:0;background:#1b3a23ed;padding:21px 26px;display:flex;flex-direction:column;gap:7px}.hero-visual .visual-caption span{font-size:10px;letter-spacing:2px;color:var(--t)}.hero-visual .visual-caption strong{font:23px Georgia,serif;color:white}.hero h1{font-size:clamp(45px,5.2vw,76px)}
@media(max-width:1000px){.brand-logo{width:305px;max-width:39vw}.hero{gap:40px}}
@media(max-width:850px){header{height:82px}.brand-logo{width:265px;max-width:50vw}.hero{grid-template-columns:1fr;padding:70px 7vw}.hero-visual{min-height:420px;max-height:550px}}
@media(max-width:520px){.brand-logo{width:210px;max-width:51vw}.hero-visual{min-height:340px}.hero-visual .visual-caption strong{font-size:19px}}

/* v5: photographic, integrated hero; all other sections preserved */
.hero{gap:clamp(36px,5vw,90px);grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);padding-top:6vw;padding-bottom:6vw}
.hero-visual{box-shadow:none!important;border-radius:2px;min-height:480px;position:relative;background:linear-gradient(135deg,#d8ded7,#aebdb3)!important}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(15,39,26,.45) 100%);pointer-events:none}
.hero-visual img{filter:saturate(.82) contrast(.96);object-position:center}
.hero-visual .visual-caption{z-index:1;background:transparent;padding:28px 30px}
.hero-visual .visual-caption strong{font-size:24px;max-width:340px}
@media(max-width:850px){.hero{grid-template-columns:1fr}.hero-visual{min-height:390px}}
@media(max-width:520px){.hero-visual{min-height:300px}.hero-visual .visual-caption{padding:20px}}

/* V6: non-overlaying header, clean logo presentation and carpet-specific hero */
header{position:relative!important;top:auto!important;z-index:10}
.badge{background:#f7f5f0!important;min-height:390px;padding:42px;border:1px solid #e8e3d9}
.stacked-logo{display:block;width:min(100%,390px);height:auto;object-fit:contain}
.hero-visual img{object-position:center 45%}
@media(max-width:850px){.badge{min-height:290px;padding:28px}}

/* V7: restore sticky navigation, offset anchor targets */
header{position:sticky!important;top:0!important;z-index:100!important;background:#fff!important}
section[id]{scroll-margin-top:115px}
.hero-visual img{object-position:center center}

/* V8: launch-ready fixed header + image-free hero */
:root{--header-h:100px}
html{scroll-padding-top:calc(var(--header-h) + 18px)}
body{padding-top:var(--header-h)}
header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;height:var(--header-h)!important;z-index:9999!important;background:#fff!important;box-shadow:0 1px 0 rgba(47,58,63,.10)}
section[id]{scroll-margin-top:calc(var(--header-h) + 18px)}
.hero{grid-template-columns:minmax(0,1.08fr) minmax(330px,.82fr)}
.hero-brand-panel{position:relative;overflow:hidden;align-self:center;min-height:440px;padding:58px 52px!important;background:var(--g)!important;color:#fff;box-shadow:16px 16px 0 var(--t)!important;display:flex;flex-direction:column;justify-content:flex-end}
.hero-brand-panel::before{content:"";position:absolute;width:310px;height:310px;border:1px solid rgba(201,184,155,.28);border-radius:50%;right:-105px;top:-95px}
.hero-brand-panel::after{content:"";position:absolute;width:185px;height:185px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-32px;top:-28px}
.hero-mark{position:absolute;right:44px;top:38px;width:118px;height:118px;border:3px solid var(--t);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;color:#fff}
.hero-ring{font-size:68px;line-height:1;color:#fff;transform:translateX(3px)}
.hero-star{position:absolute;font-size:23px;color:var(--t);left:45px;top:45px}
.panel-kicker{font-size:10px!important;letter-spacing:2.5px;color:var(--t)!important;margin:0 0 16px!important;font-weight:bold}
.hero-brand-panel h2{font-size:38px;line-height:1.08;margin:0 0 20px;max-width:420px;color:#fff}
.panel-rule{height:1px;background:rgba(201,184,155,.55);width:100%;margin:2px 0 20px}
.panel-copy{font-size:15px!important;line-height:1.65!important;color:#e4e8e5!important;max-width:420px;margin:0 0 26px!important}
.panel-tags{display:flex;flex-wrap:wrap;gap:9px}.panel-tags span{border:1px solid rgba(201,184,155,.5);padding:8px 10px;font-size:9px;letter-spacing:1.3px;color:var(--t)}
@media(max-width:850px){:root{--header-h:82px}.hero-brand-panel{min-height:350px;padding:42px 34px!important}.hero-mark{width:92px;height:92px;right:28px;top:26px}.hero-ring{font-size:53px}.hero-star{font-size:18px;left:35px;top:34px}.hero-brand-panel h2{font-size:32px;max-width:330px}}
@media(max-width:520px){.hero-brand-panel{min-height:330px;padding:34px 25px!important}.hero-mark{opacity:.72}.hero-brand-panel h2{font-size:28px;max-width:260px}.panel-copy{max-width:280px}}

/* V9: preserve V8 exactly; give the header logo breathing room so the descriptor is never clipped */
header{overflow:visible!important}
.brand{height:100%;display:flex;align-items:center;overflow:visible!important}
.brand-logo{display:block!important;width:390px!important;max-width:40vw!important;height:auto!important;max-height:78px!important;object-fit:contain!important;object-position:left center!important;margin:0!important;padding:3px 0 6px!important}
@media(max-width:1000px){.brand-logo{width:305px!important;max-width:39vw!important;max-height:72px!important}}
@media(max-width:850px){.brand-logo{width:265px!important;max-width:50vw!important;max-height:62px!important;padding:2px 0 5px!important}}
@media(max-width:520px){.brand-logo{width:210px!important;max-width:51vw!important;max-height:58px!important}}


/* V10: original Caliber Clean hero artwork + truly transparent About logo. Everything else preserves V9. */
.hero{grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr)!important;gap:clamp(36px,5vw,90px)!important}
.hero-visual{padding:0!important;background:#d8ded7!important;box-shadow:none!important;position:relative!important;overflow:hidden!important;align-self:stretch!important;min-height:480px!important;border-radius:2px}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(15,39,26,.44) 100%);pointer-events:none}
.hero-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;filter:saturate(.90) contrast(.98)}
.hero-visual .visual-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:28px 30px;color:#fff;display:flex;flex-direction:column;gap:7px}
.hero-visual .visual-caption span{font-size:10px;letter-spacing:2px;color:var(--t)}
.hero-visual .visual-caption strong{font:23px Georgia,serif;color:#fff;max-width:390px}
.badge{background:transparent!important;border:0!important;min-height:390px;padding:42px!important}
.stacked-logo{display:block;width:min(100%,390px);height:auto;object-fit:contain}
@media(max-width:850px){.hero{grid-template-columns:1fr!important}.hero-visual{min-height:390px!important}.badge{min-height:290px;padding:28px!important}}
@media(max-width:520px){.hero-visual{min-height:300px!important}.hero-visual .visual-caption{padding:20px}.hero-visual .visual-caption strong{font-size:19px}}


/* V10.2 — preserve original full-resolution hero image and mask the
   unintended lower-left wedge in layout rather than cropping the image. */
.hero-visual {
  position: relative;
  overflow: hidden;
}
.hero-visual::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 22%;
  height: 30%;
  background: var(--cream, #f4f1e8);
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  pointer-events: none;
}

/* V10.4 — targeted fixes only.
   1) Hero image remains exactly V10.2.
   2) Move the ACTUAL caption element onto the darker carpet.
   3) Use the complete horizontal logo artwork and size it without clipping. */

.hero-visual .visual-caption {
  left: 18% !important;
  right: 6% !important;
  bottom: 6% !important;
  padding: 0 !important;
  width: auto !important;
}

/* Header logo: preserve the larger V10 sizing while showing the full C. */
.brand-logo {
  width: 390px !important;
  max-width: 40vw !important;
  height: auto !important;
  max-height: 78px !important;
  object-fit: contain !important;
  object-position: left center !important;
  padding: 0 !important;
  margin: 0 !important;
}
@media(max-width:1000px){
  .brand-logo{width:305px!important;max-width:39vw!important;max-height:72px!important}
}
@media(max-width:850px){
  .brand-logo{width:265px!important;max-width:50vw!important;max-height:62px!important}
}
@media(max-width:520px){
  .brand-logo{width:210px!important;max-width:51vw!important;max-height:58px!important}
}

/* V10.6: new estimate section; existing V10.4 styles untouched */
.estimate-section{padding:90px max(6%,calc((100vw - 1400px)/2));background:#f5f3ed;color:#2f3a3f;scroll-margin-top:110px}.estimate-wrap{display:grid;grid-template-columns:1fr 1.4fr;gap:7%;align-items:start}.estimate-wrap h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(28px,3vw,44px)}.estimate-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.estimate-form label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:8px}.estimate-form input,.estimate-form select,.estimate-form textarea{box-sizing:border-box;width:100%;padding:13px;border:1px solid #c7c8c0;border-radius:2px;background:white;font:inherit;color:#26352b}.estimate-form .wide{grid-column:1/-1}.estimate-form button{cursor:pointer;border:0;justify-self:start}.estimate-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#form-status{margin:0;font-size:14px}@media(max-width:800px){.estimate-wrap{grid-template-columns:1fr}.estimate-section{padding:65px 6%}}@media(max-width:500px){.estimate-form{grid-template-columns:1fr}.estimate-form .wide{grid-column:auto}}


/* V10.7 estimate modal — scoped additions only */
.estimate-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.estimate-modal.is-open { display: flex; }

.estimate-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(25, 31, 29, 0.72);
}

.estimate-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  background: #f4f1e8;
  padding: 44px;
  box-shadow: 0 22px 70px rgba(0,0,0,.28);
}

.estimate-modal__close {
  position: absolute;
  top: 14px;
  right: 18px;
  border: 0;
  background: transparent;
  color: #1b3a23;
  font-size: 34px;
  line-height: 1;
  cursor: pointer;
}

.estimate-modal__dialog h2 {
  margin: 5px 0 10px;
}

.estimate-modal__intro {
  margin: 0 0 28px;
  max-width: 620px;
}

.estimate-form__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px 20px;
}

.estimate-form__grid label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-size: 10px;
  letter-spacing: .12em;
  font-weight: 700;
  color: #2f3a3f;
}

.estimate-form__grid input,
.estimate-form__grid select,
.estimate-form__grid textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(47,58,63,.28);
  background: #fff;
  color: #2f3a3f;
  padding: 12px 13px;
  font: inherit;
  font-size: 14px;
  letter-spacing: normal;
  font-weight: 400;
}

.estimate-form__grid textarea {
  resize: vertical;
  min-height: 110px;
}

.estimate-form__full { grid-column: 1 / -1; }

.estimate-form__submit {
  margin-top: 22px;
  cursor: pointer;
}

.estimate-form__note {
  margin: 12px 0 0;
  font-size: 11px;
  opacity: .68;
}

@media (max-width: 650px) {
  .estimate-modal { padding: 12px; }
  .estimate-modal__dialog {
    padding: 36px 22px 26px;
    max-height: calc(100vh - 24px);
  }
  .estimate-form__grid { grid-template-columns: 1fr; }
  .estimate-form__full { grid-column: auto; }
}


/* V11.2 — secondary consultation CTA in header only */
.header-consultation {
  margin-left: 10px;
  background: transparent !important;
  color: #1b3a23 !important;
  border: 1px solid #1b3a23 !important;
}
.header-consultation:hover {
  background: #1b3a23 !important;
  color: #fff !important;
}
@media (max-width: 850px) {
  .header-consultation {
    display: none;
  }
}
