/* Non-local pages only. Loaded last; local page assets remain unchanged. */
.esc-reviewed {font-family:Arial,Helvetica,sans-serif;line-height:1.7;color:#263747;overflow-wrap:break-word;}
.esc-reviewed *, .esc-reviewed *::before, .esc-reviewed *::after {box-sizing:border-box;}
.esc-reviewed :where(p,a,li,span,label,button,input,select,textarea,td,th,dt,dd,figcaption) {font-family:inherit;}
.esc-reviewed :where(h1,h2,h3,h4,h5,h6) {font-family:Arial,Helvetica,sans-serif;line-height:1.25;font-weight:700;overflow-wrap:break-word;}
.esc-reviewed :where(b,strong) {font-family:inherit;font-weight:700;}
.esc-reviewed img,.esc-reviewed video {max-width:100%;}
.esc-reviewed :where(input,select,textarea) {max-width:100%;min-width:0;font-size:1rem;}
.esc-reviewed :where(button,.cta-button,.button-primary,.btn) {min-height:44px;white-space:normal;}
.esc-reviewed :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline:3px solid #db9715;outline-offset:3px;}
.esc-reviewed :where(.hero-layout,.two-col,.content-flex,.info-grid,.equipment-grid,.photo-grid,.comparison-cards,.esc-project-grid)>* {min-width:0;}
.esc-reviewed .main-nav {background:#263747;}
.esc-reviewed .main-nav a {min-height:44px;}
.esc-reviewed .table-scroll {max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.esc-reviewed .bottom-cta .cta-button {white-space:normal;}
.esc-reviewed .layer {flex-wrap:wrap;}
.esc-reviewed .layer em {white-space:normal;}
.esc-reviewed .fade-in {opacity:1;transform:none;}
/* Fixed legacy navigation covered page headings; keep it in the document flow. */
.esc-legacy .navbar {position:relative;top:auto;background:#263747;backdrop-filter:none;z-index:1030;padding:10px 0;}
.esc-legacy .navbar>.container-fluid {max-width:1280px;margin-inline:auto;padding-inline:20px;gap:10px;}
.esc-legacy .navbar .navbar-brand {flex-shrink:0;margin-right:10px;}
.esc-legacy .navbar .navbar-nav .nav-link {color:#fff;padding:10px 12px;font-size:.9rem;line-height:1.5;min-height:44px;}
.esc-legacy .navbar .nav-link:hover,.esc-legacy .navbar .nav-link:focus-visible {background:#1b2c3a;color:#fff;}
.esc-legacy .navbar .dropdown-menu {background:#fff;border:1px solid #dbe1e5;box-shadow:0 8px 25px #142a3d25;max-height:min(70vh,560px);overflow-y:auto;scrollbar-width:thin;}
.esc-legacy .navbar .dropdown-item {color:#263747;padding:10px 16px;min-height:44px;white-space:normal;}
.esc-legacy .navbar .dropdown-item:hover,.esc-legacy .navbar .dropdown-item:focus,.esc-legacy .navbar .dropdown-item.active {background:#f7e8e9;color:#8f1c24;}
.esc-legacy .navbar .nav-link[aria-current=page] {text-decoration:underline;text-underline-offset:6px;}
.esc-legacy .navbar-toggler {border:1px solid #aebcc5;min-width:44px;}
.esc-legacy .navbar-light .navbar-toggler-icon {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%23ffffff' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");}
.esc-legacy .container {padding-inline:20px;font-size:1rem;}
.esc-legacy .about-us {padding:clamp(32px,5vw,64px) 20px;}
.esc-legacy .about-us-container {max-width:1160px;margin:auto;}
.esc-legacy .about-us2 .container {display:flow-root;}
.esc-legacy .about-us-image {width:min(44%,500px);height:auto;}
.esc-legacy .about-us2 img.about-us-image {margin-left:24px;}
.esc-legacy .about-us2-text {padding-inline:0;}
.esc-legacy .about-us h2,.esc-legacy .about-us2 h2 {font-size:clamp(1.6rem,3vw,2.4rem);}
.esc-legacy .about-us p,.esc-legacy .about-us2 p {font-size:1.05rem;line-height:1.8;}
.esc-legacy .about-us2 {background:#263747;}
.esc-legacy .about-us2 a {color:#ffd2d4;text-decoration:underline;}
/* Allow hero text to determine height, including landscape phones and text zoom. */
.esc-legacy .zoom-container {height:auto;min-height:clamp(360px,65vh,720px);padding:72px 20px;display:flex;align-items:center;justify-content:center;}
.esc-legacy .zoom-container .text-overlay {position:relative;top:auto;left:auto;transform:none;width:min(100%,900px);padding:24px;background:#132535b8;border-radius:8px;}
.esc-legacy .text-overlay h1 {font-size:clamp(1.9rem,4vw,3.3rem);color:#fff;}
.esc-legacy .text-overlay h2,.esc-legacy .text-overlay h3 {font-size:clamp(1.25rem,2.5vw,2.15rem);color:#fff;}
.esc-legacy .text-overlay p {font-size:clamp(1rem,1.8vw,1.25rem);}
.esc-legacy .video-overlay-container {height:auto;min-height:70vh;padding:60px 20px;display:grid;place-items:center;}
.esc-legacy .video-overlay {position:relative;top:auto;left:auto;transform:none;width:min(100%,900px);padding:24px;}
.esc-legacy .text-box {margin-top:32px;padding:clamp(18px,4vw,30px);text-align:left;}
.esc-legacy .gallery-section {background:#f4f6f7;}
.esc-legacy .gallery-section :where(h1,h2,h3,h4,p) {color:#263747;}
.esc-legacy .gallery-item {background:#fff;border:1px solid #dbe1e5;height:calc(100% - 24px);margin-bottom:24px;}
.esc-legacy .gallery-item:hover {transform:none;}
.esc-legacy .gallery-item img {width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;}
.esc-legacy .gallery-item img:hover {transform:none;}
.esc-legacy .modal-dialog {width:calc(100% - 24px);max-width:1100px;margin:12px auto;}
.esc-legacy .modal-body img {display:block;margin:auto;width:auto;max-height:75vh;max-height:75dvh;object-fit:contain;}
.esc-legacy .modal-title {font-size:clamp(1rem,2vw,1.35rem);text-align:left;}
.esc-legacy .footer {background:#1f2c36;color:#dce4ea;}
.esc-legacy .footer h5 {color:#fff;font-size:1.1rem;}
.esc-legacy .footer p,.esc-legacy .footer-bottom p {color:#dce4ea;font-size:.95rem;}
/* Shared gallery cards and image viewer. */
.esc-reviewed .esc-projects {max-width:1200px;padding:40px 20px 64px;}
.esc-reviewed .esc-projects h1 {font-size:clamp(1.9rem,4vw,3rem);color:#142a3d;margin-bottom:20px;}
.esc-reviewed .esc-projects h2 {font-size:clamp(1.45rem,3vw,2rem);color:#142a3d;}
.esc-reviewed .esc-projects a {color:#a51d23;}
.esc-reviewed .esc-project-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;}
.esc-reviewed .esc-project-card {display:flex;flex-direction:column;}
.esc-reviewed .esc-project-card .esc-photo-trigger {height:100%;display:flex;flex-direction:column;border-radius:7px;font:inherit;}
.esc-reviewed .esc-project-card img {height:auto;aspect-ratio:4/3;object-fit:cover;}
.esc-reviewed .esc-project-card .esc-caption {padding:16px;font-size:1rem;color:#263747;font-weight:600;text-align:left;}
.esc-reviewed .esc-project-card .esc-photo-trigger:hover .esc-caption {color:#a51d23;}
.esc-reviewed .esc-project-card .esc-photo-trigger:focus-visible {outline-offset:-4px;}
.esc-reviewed .esc-project-card a {padding:12px 16px;line-height:1.6;min-height:44px;}
.esc-reviewed .esc-modal {position:fixed;inset:0;margin:auto;width:fit-content;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow:auto;background:#fff;color:#263747;}
.esc-reviewed .esc-modal img {max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);max-width:100%;}
.esc-reviewed .esc-modal p {clear:both;font-size:1rem;}
.esc-reviewed .esc-close {min-width:88px;min-height:44px;float:none;display:block;margin-left:auto;}
.esc-reviewed .esc-cta {border-color:#c92e32;}
.esc-reviewed.esc-review-page .container {box-sizing:border-box;}
.esc-reviewed.esc-review-page .btn {background:#a51d23;}
/* Slider itself, rather than the whole page, contains its off-canvas images. */
.esc-legacy .slider {width:100%;overflow:hidden;position:relative;}
.esc-legacy .slider__text-item-info {min-width:0;}
@media(min-width:992px) and (max-width:1199px) {
 .esc-legacy .navbar-brand[href^="tel:"] {display:none!important;}
 .esc-legacy .navbar .navbar-nav .nav-link {padding-inline:8px;font-size:.85rem;}
}
@media(max-width:991px) {
 .esc-legacy .navbar-collapse {max-height:75vh;max-height:75dvh;overflow-y:auto;}
 .esc-legacy .navbar .dropdown-menu {max-height:none;overflow:visible;}
 .esc-legacy .navbar .navbar-nav {padding-block:10px;}
}
@media(max-width:900px) {.esc-reviewed .esc-project-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:760px) {
 .esc-legacy .about-us-image,.esc-legacy .about-us2 img.about-us-image {float:none;width:100%;max-width:600px;display:block;margin:0 auto 24px;}
 .esc-reviewed .main-header .container {flex-wrap:wrap;justify-content:center;}
 .esc-reviewed .main-footer>.container {grid-template-columns:1fr;}
 .esc-reviewed .main-header .header-contact {white-space:normal;}
 .esc-reviewed .main-nav .mobile-menu-button {min-width:80px;}
 .esc-legacy .video-overlay h1 {font-size:clamp(1.65rem,5vw,2.5rem);}
 .esc-legacy .video-overlay h2 {font-size:clamp(1.25rem,4vw,2rem);}
}
@media(max-width:580px) {
 .esc-reviewed .esc-project-grid {grid-template-columns:minmax(0,1fr);gap:20px;}
 .esc-reviewed .esc-projects {padding:28px 16px 44px;}
 .esc-reviewed .hero-form,.esc-reviewed .contact-form-wrapper {padding:20px;}
 .esc-reviewed .captcha-group {flex-wrap:wrap;}
 .esc-reviewed .sample-quote .quote-top {flex-wrap:wrap;}
 .esc-reviewed .cross-layer {flex-wrap:wrap;}
 .esc-reviewed .cross-layer small {max-width:100%;text-align:left;}
 .esc-reviewed.esc-review-page {padding:24px 12px;}
 .esc-reviewed.esc-review-page .container {padding:24px 18px;}
 .esc-legacy .slider__text-item-head {left:5%;max-width:90%;}
 .esc-legacy .slider__text-item-head h3 {font-size:1.6rem;}
 .esc-legacy .slider__text-item-info {max-width:90%;width:90%;}
}
@media(prefers-reduced-motion:reduce) {
 .esc-reviewed *, .esc-reviewed *::before,.esc-reviewed *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}
@media print {
 .esc-reviewed .navbar,.esc-reviewed .main-nav,.esc-reviewed dialog,.esc-reviewed .slider {display:none!important;}
 .esc-reviewed .esc-project-card {break-inside:avoid;}
}
.esc-reviewed .esc-project-card a.esc-photo-trigger {padding:0;text-decoration:none;color:inherit;}

/* Visual refinements, 21 October 2026. Applies only to reviewed non-local pages. */
.esc-reviewed.esc-legacy .navbar.navbar-light .navbar-nav .nav-link:hover,
.esc-reviewed.esc-legacy .navbar.navbar-light .navbar-nav .nav-link:focus-visible,
.esc-reviewed.esc-legacy .navbar .dropdown-menu .dropdown-item:hover,
.esc-reviewed.esc-legacy .navbar .dropdown-menu .dropdown-item:focus-visible {
  background-color:#c92e32;
  color:#ffffff;
}
/* The construction guide is a normal menu item, not a highlighted promotion. */
.esc-reviewed.esc-legacy .navbar .dropdown-item.esc-guide-menu-link {
  color:#263747!important;
  font-weight:400!important;
}
.esc-reviewed.esc-legacy .navbar .dropdown-item.esc-guide-menu-link:hover,
.esc-reviewed.esc-legacy .navbar .dropdown-item.esc-guide-menu-link:focus-visible {
  color:#ffffff!important;
}
.esc-reviewed .main-nav a:hover,
.esc-reviewed .main-nav a:focus-visible {
  background-color:#c92e32;
  color:#ffffff;
}
/* Homepage service photographs: dark surround, grey heading and subtle zoom. */
.esc-reviewed #services > .gallery-section {background-color:#333333;}
.esc-reviewed #services > .gallery-section > .container > h2 {color:#cccccc;}
.esc-reviewed #services > .gallery-section .gallery-item img {
  transition:transform .25s ease;
  transform-origin:center;
}
@media (hover:hover) {
  .esc-reviewed #services > .gallery-section .gallery-item a:hover img {transform:scale(1.04);}
}
.esc-reviewed #services > .gallery-section .gallery-item a:focus-visible img {transform:scale(1.04);}
/* Undo the general 44px button minimum for the carousel's small dot controls. */
.esc-reviewed .carousel-indicators [data-bs-target] {
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  min-height:12px!important;
  max-width:12px;
  max-height:12px;
  padding:0;
  border:0;
  border-radius:50%;
  flex:0 0 12px;
  margin:0 8px;
  position:relative;
}
/* Keep a forgiving vertical touch area without stretching the visible dot. */
.esc-reviewed .carousel-indicators [data-bs-target]::after {
  content:"";
  position:absolute;
  inset:-16px -6px;
}
/* Body text links: red on both states, with a light grey hover highlight.
   Navigation, branded buttons, image controls and footer links keep their styles. */
.esc-reviewed a[href]:not(:where(
  header *, footer *, .navbar *, .main-nav *, .slider *,
  .cta-button, .button-primary, .button-outline, .btn, .esc-guide-main-link,
  .esc-photo-trigger, .gallery-item a, [role="button"], .skip-link
)) {
  color:#c92e32;
  text-decoration:underline;
  text-underline-offset:3px;
  transition:color .15s ease,background-color .15s ease;
}
.esc-reviewed a[href]:not(:where(
  header *, footer *, .navbar *, .main-nav *, .slider *,
  .cta-button, .button-primary, .button-outline, .btn, .esc-guide-main-link,
  .esc-photo-trigger, .gallery-item a, [role="button"], .skip-link
)):is(:hover,:focus-visible) {
  color:#c92e32;
  background-color:#eeeeee;
}
@media (prefers-reduced-motion:reduce) {
  .esc-reviewed #services > .gallery-section .gallery-item a:is(:hover,:focus-visible) img {transform:none;}
}
