:root{--p:#195c74;--a:#c0ede6;--bg:#f7fafb;--s:#ffffff;--t:#1b3037;--m:#6d7f84;--r:18px;--hf:Segoe UI, Helvetica Neue, Arial, sans-serif;--bf:Segoe UI, Arial, sans-serif;--hero-hf:Segoe UI, Helvetica Neue, Arial, sans-serif;--hero-if:Segoe UI, Helvetica Neue, Arial, sans-serif;--hero-h1:72px;--hero-kicker:11px;--hero-lead:18px;--hero-copy-width:850px;--hero-name:21px;--hero-address:11px;--hero-phone:22px;--hero-card-width:790px;--hero-card-pad:20px;--hero-card-radius:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--bf);background:var(--bg);color:var(--t);line-height:1.65}h1,h2,h3{font-family:var(--hf);line-height:1.06;letter-spacing:-.03em}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 5vw;background:rgba(255,255,255,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(120,130,145,.18);box-shadow:0 8px 30px rgba(15,23,42,.04)}.wordmark{min-width:230px}.wordmark strong,.wordmark span{display:block}.wordmark strong{font-size:21px;font-weight:950;letter-spacing:-.025em}.wordmark span{font-size:11px;font-weight:750;color:var(--m);margin-top:4px;line-height:1.35}.logo-wrap{display:grid;gap:6px}.logo-wrap img{max-height:45px;max-width:190px}.logo-wrap span{font-size:11px;color:var(--m);font-weight:750}nav{display:flex;align-items:center}nav a{margin:0 10px;text-decoration:none;font-weight:800;font-size:13px}.cta,button{display:inline-block;background:var(--a);color:#111;padding:13px 18px;border-radius:calc(var(--r)*.8);border:0;text-decoration:none;font-weight:900}.hero{min-height:720px;background-size:cover;background-position:center;color:white;padding:64px 7vw;display:flex;align-items:center}.hero>div{max-width:var(--hero-copy-width)}.hero-kicker{font-family:var(--hero-hf);font-size:var(--hero-kicker);font-weight:950;letter-spacing:.18em;color:var(--a)}.hero h1{font-family:var(--hero-hf);font-size:var(--hero-h1);line-height:.98;letter-spacing:-.045em;margin:14px 0 18px;max-width:900px;text-wrap:balance}.hero-lead{font-size:var(--hero-lead);max-width:690px;line-height:1.65;margin:0 0 22px;text-wrap:pretty}.hero-content-center{text-align:center;margin-left:auto;margin-right:auto}.hero-content-center>.hero-lead,.hero-content-center>.hero-identity,.hero-content-center>.estimate-card{margin-left:auto;margin-right:auto}.hero-content-right{text-align:right;margin-left:auto}.hero-content-right>.hero-lead,.hero-content-right>.hero-identity,.hero-content-right>.estimate-card{margin-left:auto}.hero-identity{font-family:var(--hero-if);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(165px,.65fr);align-items:center;gap:clamp(18px,3vw,38px);width:min(100%,var(--hero-card-width));max-width:var(--hero-card-width);margin:22px 0 0;padding:var(--hero-card-pad);background:rgba(11,18,32,.78);border:1px solid rgba(255,255,255,.16);border-radius:var(--hero-card-radius);backdrop-filter:blur(10px);box-shadow:0 16px 40px rgba(0,0,0,.16)}.identity-brand strong,.identity-brand span,.identity-contact a,.identity-contact small{display:block}.identity-label{font-size:9px!important;font-weight:950!important;letter-spacing:.16em!important;color:rgba(255,255,255,.58)!important;margin:0 0 7px!important}.identity-brand strong{font-family:var(--hero-if);font-size:var(--hero-name);font-weight:950;line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.identity-brand span:not(.identity-label){font-size:var(--hero-address);font-weight:750;color:rgba(255,255,255,.78);margin-top:6px;line-height:1.4}.identity-contact{text-align:right;min-width:0;padding-left:28px;border-left:1px solid rgba(255,255,255,.16)}.identity-phone{font-family:var(--hero-if);font-size:var(--hero-phone)!important;font-weight:1000;color:var(--a);text-decoration:none;line-height:1;letter-spacing:-.015em;white-space:nowrap}.identity-contact small{font-size:9px;margin-top:7px;color:rgba(255,255,255,.64);font-weight:650;max-width:220px;margin-left:auto}.estimate-card{margin-top:22px;background:rgba(255,255,255,.98);color:#122033;padding:20px;border-radius:14px;max-width:760px;box-shadow:0 18px 48px rgba(0,0,0,.24)}.estimate-title span,.estimate-title b{display:block}.estimate-title span{font-size:10px;font-weight:950;letter-spacing:.14em;color:var(--p)}.estimate-title b{font-size:22px;margin:2px 0 12px}.estimate-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.estimate-card input,.estimate-card select{width:100%;padding:12px;border:1px solid #d8dee6;border-radius:8px;background:#fff;color:#122033;font:inherit}.estimate-card button{width:100%;margin-top:9px}.estimate-card small{display:block;margin-top:7px;color:#697386;font-size:10px}.trust{max-width:1180px;margin:-34px auto 0;position:relative;z-index:5;display:grid;grid-template-columns:repeat(5,1fr);background:var(--s);border-radius:var(--r);box-shadow:0 16px 46px rgba(0,0,0,.12)}.trust div{padding:22px;border-right:1px solid rgba(120,130,145,.15)}.trust b,.trust span{display:block}.trust b{font-size:22px}.trust span{font-size:12px;color:var(--m)}main,section.content{max-width:1180px;margin:auto;padding:84px 5vw}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,details,.location{background:var(--s);padding:24px;border:1px solid rgba(120,130,145,.16);border-radius:var(--r)}details{margin:12px 0}summary{cursor:pointer;font-weight:800}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:18px 0}.service-detail-grid h3{margin-bottom:8px}.service-detail-grid ul{margin:0;padding-left:19px}.service-detail-grid li{margin:5px 0}.locations .location{margin:14px 0}.about-home-export{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center;margin-top:90px}.about-home-export img{width:100%;height:460px;object-fit:cover;border-radius:var(--r)}.about-home-export p,.about-page-export p{color:var(--m);line-height:1.8}.about-highlights-export{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.about-highlights-export div{background:var(--s);padding:14px;border:1px solid rgba(120,130,145,.15);border-radius:10px}.about-highlights-export b,.about-highlights-export span{display:block}.about-highlights-export span{font-size:10px;color:var(--m);margin-top:4px}.about-page-export section{margin:45px 0}.contact-page-export{max-width:1180px;margin:auto;padding:84px 5vw}.contact-intro-export{max-width:760px;margin-bottom:38px}.contact-intro-export small,.contact-form-export>small,.contact-info-export>small{font-size:10px;font-weight:950;letter-spacing:.16em;color:var(--p)}.contact-intro-export h1{font-size:clamp(42px,5vw,68px);margin:10px 0 15px}.contact-intro-export p{color:var(--m);max-width:680px}.contact-layout-export{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);gap:24px;align-items:start}.contact-form-export,.contact-info-export{background:var(--s);border:1px solid rgba(120,130,145,.16);border-radius:var(--r);padding:30px}.contact-form-export>h2,.contact-info-export>h2{font-size:30px;margin:8px 0 10px}.contact-form-export>p{color:var(--m);margin-bottom:20px}.contact-form-export .estimate-card{box-shadow:none;margin:0;padding:0;background:transparent;max-width:none}.contact-form-export .estimate-title{display:none}.contact-info-export{background:linear-gradient(145deg,var(--p),color-mix(in srgb,var(--p) 82%,#000));color:#fff}.contact-info-export>small{color:var(--a)}.contact-row-export{display:grid;grid-template-columns:78px 1fr;gap:15px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}.contact-row-export>span{font-size:9px;font-weight:950;letter-spacing:.13em;color:rgba(255,255,255,.58)}.contact-row-export b,.contact-row-export a,.contact-row-export em{display:block}.contact-row-export b,.contact-row-export a{font-size:14px;font-weight:850;line-height:1.45;text-decoration:none;color:#fff;overflow-wrap:anywhere}.contact-phone-export{font-size:24px!important;color:var(--a)!important;font-weight:1000!important}.contact-email-export{font-size:13px!important}.contact-row-export em{font-style:normal;font-size:9px;color:rgba(255,255,255,.56);margin-top:4px}.home-faq{margin-top:70px}footer{padding:38px 5vw;background:var(--p);color:#fff;display:flex;justify-content:space-between;gap:20px;align-items:flex-start}footer a{font-weight:900;text-decoration:none}.footer-contact{display:grid;gap:6px;text-align:center}.footer-email{font-size:11px;font-weight:650!important;opacity:.72;overflow-wrap:anywhere}.family-industrial .grid .card{background:var(--p);color:#fff;border-color:rgba(255,255,255,.13)}.family-industrial .grid .card p{color:#b8c2d0}.family-heritage .card{border-radius:0}.family-editorial .card{border-width:0 0 1px;border-radius:0;background:transparent}.family-blueprint .card{border-left:4px solid var(--a)}.family-residential .about-home-export{background:color-mix(in srgb,var(--s) 88%,var(--a) 12%);padding:34px;border-radius:calc(var(--r)*1.2)}.hero-identity.identity-stacked{grid-template-columns:1fr;gap:14px;align-items:start}.hero-identity.identity-stacked .identity-contact{width:100%;text-align:left;padding:14px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.16)}.hero-identity.identity-stacked .identity-contact small{margin-left:0}.hero-identity.identity-horizontal{grid-template-columns:minmax(0,1.35fr) minmax(165px,.65fr)}@media(max-width:900px){header nav{display:none}.hero{min-height:auto;padding:48px 5vw 62px}.hero h1{font-size:min(var(--hero-h1),44px)}.hero-lead{font-size:min(var(--hero-lead),16px)}.hero-identity{grid-template-columns:1fr;gap:16px;width:100%;max-width:100%;padding:min(var(--hero-card-pad),18px)}.identity-contact{text-align:left;min-width:0;padding-left:0;padding-top:15px;border-left:0;border-top:1px solid rgba(255,255,255,.16)}.identity-contact small{margin-left:0}.contact-layout-export{grid-template-columns:1fr}.contact-page-export{padding:55px 5vw}.estimate-fields{grid-template-columns:1fr}.trust{grid-template-columns:1fr 1fr;margin:0}.grid,.service-detail-grid,.about-home-export{grid-template-columns:1fr}.about-home-export img{height:330px}.about-highlights-export{grid-template-columns:1fr}.wordmark{min-width:0}.wordmark strong{font-size:16px}.wordmark span{font-size:9px}header .cta{font-size:11px;padding:10px 12px}main,section.content{padding:55px 5vw}footer{display:grid}.footer-contact{text-align:left}}
/* v10 responsive safety */
header{position:sticky!important;top:0!important;z-index:1000!important;width:100%;max-width:100%;min-width:0;flex-wrap:nowrap;isolation:isolate;box-shadow:0 8px 28px rgba(15,23,42,.10)}
.wordmark,.logo-wrap{min-width:0;flex:1 1 240px;max-width:430px}.wordmark strong,.wordmark span,.logo-wrap span{max-width:100%;overflow-wrap:anywhere}.wordmark strong{line-height:1.12}.cta{flex:0 0 auto;max-width:min(230px,34vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nav{flex:0 1 auto;min-width:0}
.hero-identity{min-width:0!important;width:min(100%,var(--hero-card-width))!important;max-width:min(100%,var(--hero-card-width))!important;overflow:hidden!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))!important;align-items:center!important;gap:clamp(14px,2.5vw,30px)!important;container-type:inline-size}.hero-identity.identity-stacked{grid-template-columns:1fr!important}.hero-identity>*{min-width:0;max-width:100%}.identity-brand{min-width:0;max-width:100%}.identity-brand strong{max-width:100%;font-size:min(var(--hero-name),34px)!important;font-size:min(var(--hero-name),clamp(18px,5.25cqw,34px))!important;line-height:1.08!important;overflow-wrap:anywhere;word-break:normal;text-wrap:balance}.identity-brand span:not(.identity-label){max-width:100%;font-size:min(var(--hero-address),17px)!important;font-size:min(var(--hero-address),clamp(10px,3.2cqw,17px))!important;overflow-wrap:anywhere;line-height:1.42!important}.hero-identity .identity-contact{min-width:0!important;max-width:100%!important;width:100%;padding-left:0!important;border-left:0!important;text-align:left!important;overflow:hidden}.hero-identity .identity-phone{display:block;width:fit-content!important;max-width:100%!important;font-size:min(var(--hero-phone),34px)!important;font-size:min(var(--hero-phone),clamp(18px,5.4cqw,34px))!important;line-height:1.08!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}.hero-identity .identity-contact small{max-width:100%!important;margin-left:0!important;line-height:1.35}
@media(max-width:1100px){header{gap:12px;padding-left:3vw;padding-right:3vw}header nav{display:none}.cta{max-width:42vw}}
@media(max-width:900px){header{min-height:64px;padding:10px 12px!important;gap:9px}.wordmark,.logo-wrap{flex:1 1 auto;max-width:none}.wordmark strong{font-size:clamp(13px,3.8vw,17px)!important;line-height:1.12}.wordmark span,.logo-wrap span{font-size:clamp(8px,2.2vw,10px)!important;line-height:1.3}.cta{display:inline-block!important;max-width:40vw;font-size:clamp(9px,2.6vw,12px)!important;padding:9px 10px!important}.hero-identity{grid-template-columns:1fr!important;padding:min(var(--hero-card-pad),20px)!important}}
@media(max-width:430px){.cta{max-width:38vw;font-size:9px!important}.hero-identity{border-radius:min(var(--hero-card-radius),22px)!important}}
/* v11 safe typography + locked identity layout */
.family-industrial h1,.family-industrial h2,.family-industrial h3,.family-bold h1,.family-bold h2,.family-bold h3{font-family:Arial,"Helvetica Neue","Segoe UI",sans-serif!important;letter-spacing:-.035em!important;font-stretch:normal!important}
.call-cta{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;align-items:center!important;text-align:center!important;line-height:1.05!important;min-width:132px}.call-cta span{display:block;width:100%;font-size:9px;letter-spacing:.14em;opacity:.68;text-align:center;line-height:1;margin-bottom:5px}.call-cta strong{display:block;width:100%;font-size:14px;text-align:center;line-height:1.05}
.hero-identity,.hero-identity.identity-auto,.hero-identity.identity-stacked,.hero-identity.identity-horizontal{display:grid!important;grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr)!important;align-items:center!important;gap:clamp(14px,2.4vw,30px)!important;overflow:hidden!important}.hero-identity .identity-brand{grid-column:1!important;min-width:0!important;max-width:100%!important;text-align:left!important}.hero-identity .identity-contact,.hero-identity.identity-auto .identity-contact,.hero-identity.identity-stacked .identity-contact{grid-column:2!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:0 0 0 clamp(12px,2vw,28px)!important;border-top:0!important;border-left:1px solid rgba(255,255,255,.16)!important;text-align:right!important;overflow:hidden!important}.hero-identity .identity-contact .identity-label,.hero-identity .identity-contact small{margin-left:auto!important;text-align:right!important}.hero-identity .identity-phone{width:auto!important;max-width:100%!important;margin-left:auto!important;white-space:nowrap!important;overflow:hidden!important;font-size:min(var(--hero-phone),clamp(16px,3.3vw,34px))!important}.hero-identity .identity-brand strong{max-width:100%!important;font-size:min(var(--hero-name),clamp(17px,3.6vw,34px))!important;line-height:1.08!important;overflow-wrap:anywhere!important;word-break:normal!important}.hero-identity .identity-brand span:not(.identity-label){max-width:100%!important;font-size:min(var(--hero-address),clamp(9px,1.6vw,16px))!important;overflow-wrap:anywhere!important}
@media(max-width:900px){.hero-identity,.hero-identity.identity-auto,.hero-identity.identity-stacked,.hero-identity.identity-horizontal{grid-template-columns:minmax(0,1.25fr) minmax(120px,.75fr)!important;gap:10px!important;padding:min(var(--hero-card-pad),14px)!important}.hero-identity .identity-contact{padding:0 0 0 10px!important;border-top:0!important;border-left:1px solid rgba(255,255,255,.16)!important;text-align:right!important}.hero-identity .identity-phone{font-size:min(var(--hero-phone),clamp(14px,3.8vw,22px))!important}.hero-identity .identity-brand strong{font-size:min(var(--hero-name),clamp(14px,4vw,20px))!important}.hero-identity .identity-brand span:not(.identity-label){font-size:min(var(--hero-address),clamp(8px,2.2vw,11px))!important}.identity-label{font-size:clamp(6px,1.7vw,8px)!important;letter-spacing:.1em!important}.hero-identity .identity-contact small{font-size:clamp(6px,1.7vw,8px)!important;line-height:1.3!important}}
@media(max-width:430px){.hero-identity,.hero-identity.identity-auto,.hero-identity.identity-stacked,.hero-identity.identity-horizontal{grid-template-columns:minmax(0,1.18fr) minmax(105px,.82fr)!important;gap:8px!important;padding:11px!important}.hero-identity .identity-contact{padding-left:8px!important}.hero-identity .identity-phone{font-size:min(var(--hero-phone),15px)!important}.hero-identity .identity-brand strong{font-size:min(var(--hero-name),15px)!important}.hero-identity .identity-brand span:not(.identity-label){font-size:min(var(--hero-address),8px)!important}.hero-identity .identity-contact small{display:none!important}.call-cta{min-width:110px!important;padding:8px 9px!important}.call-cta span{font-size:7px!important;margin-bottom:3px!important}.call-cta strong{font-size:10px!important}}


/* v12 universal identity-card fit system
   Name always left, phone always right; all typography scales from the CARD width, not viewport width. */
.hero-identity,
.hero-identity.identity-auto,
.hero-identity.identity-stacked,
.hero-identity.identity-horizontal,
.hero-split .hero-identity.identity-auto,
.hero-boxed .hero-identity.identity-auto,
.hero-editorial .hero-identity.identity-auto{
  container-type:inline-size!important;
  display:grid!important;
  grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important;
  align-items:center!important;
  gap:clamp(8px,2.2cqw,22px)!important;
  padding:clamp(10px,2.6cqw,var(--hero-card-pad))!important;
  overflow:hidden!important;
}
.hero-identity .identity-brand{
  grid-column:1!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-align:left!important;
}
.hero-identity .identity-brand strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  font-size:min(var(--hero-name),clamp(13px,4.1cqw,30px))!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
  text-wrap:balance!important;
}
.hero-identity .identity-address,
.hero-identity .identity-brand span:not(.identity-label){
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  font-size:min(var(--hero-address),clamp(8px,1.9cqw,14px))!important;
  line-height:1.38!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.hero-identity .identity-contact,
.hero-identity.identity-auto .identity-contact,
.hero-identity.identity-stacked .identity-contact,
.hero-split .hero-identity.identity-auto .identity-contact,
.hero-boxed .hero-identity.identity-auto .identity-contact,
.hero-editorial .hero-identity.identity-auto .identity-contact{
  grid-column:2!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  overflow:hidden!important;
  padding:0 0 0 clamp(9px,2.1cqw,20px)!important;
  border-top:0!important;
  border-left:1px solid rgba(255,255,255,.16)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  text-align:left!important;
}
.hero-editorial .hero-identity .identity-contact{
  border-left-color:color-mix(in srgb,var(--t) 14%,transparent)!important;
}
.hero-identity .identity-contact .identity-label,
.hero-identity .identity-phone,
.hero-identity .identity-contact small{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
}
.hero-identity .identity-contact .identity-label{
  font-size:clamp(6px,1.45cqw,9px)!important;
  letter-spacing:.12em!important;
  margin-bottom:clamp(4px,.8cqw,7px)!important;
}
.hero-identity .identity-phone{
  font-family:var(--hero-if)!important;
  font-size:min(var(--hero-phone),clamp(11px,3.4cqw,28px))!important;
  line-height:1.04!important;
  letter-spacing:-.02em!important;
  white-space:nowrap!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.hero-identity .identity-contact small{
  font-size:clamp(6px,1.35cqw,9px)!important;
  line-height:1.35!important;
  margin-top:clamp(4px,.8cqw,7px)!important;
}
@container (max-width:500px){
  .identity-contact small{display:none!important}
  .identity-label{letter-spacing:.08em!important}
}
@media(max-width:430px){
  .hero-identity,
  .hero-identity.identity-auto,
  .hero-identity.identity-stacked,
  .hero-identity.identity-horizontal{
    grid-template-columns:minmax(0,58fr) minmax(0,42fr)!important;
    gap:7px!important;
    padding:9px!important;
  }
}
