/* =========================================================
   TRIMWORKS — WATER DAMAGE RESTORATION
   Page: /restoration-services/water-damage-restoration/
   ========================================================= */

.tw-water-page {
  --water-navy:var(--trim-navy,#061728);
  --water-red:var(--trim-red,#e30620);
  --water-off:var(--trim-off-white,#f2f5f7);
  --water-g100:var(--trim-gray-100,#e8edf1);
  --water-g300:var(--trim-gray-300,#c9cfd4);
  --water-g600:var(--trim-gray-600,#69737c);
  --water-text:var(--trim-charcoal,#20262b);
  --water-head:var(--trim-heading,"Oswald",Arial,sans-serif);
  --water-body:var(--trim-body,"Helvetica Neue",Helvetica,Arial,sans-serif);
  color:var(--water-text);
  font-family:var(--water-body);
  overflow:hidden;
}

.tw-water-page *,
.tw-water-page *::before,
.tw-water-page *::after { box-sizing:border-box; }

.tw-water-container {
  width:min(calc(100% - 96px),1240px);
  margin-inline:auto;
}

.tw-water-kicker {
  margin:0 0 16px;
  color:var(--water-red);
  font:600 .8rem/1 var(--water-head);
  letter-spacing:.14em;
  text-transform:uppercase;
}

.tw-water-page h1,
.tw-water-page h2,
.tw-water-page h3,
.tw-water-page strong { font-family:var(--water-head); }

.tw-water-page h1,
.tw-water-page h2,
.tw-water-page h3 { text-transform:uppercase; }

.tw-water-page p { line-height:1.67; }

.tw-water-page h2 {
  margin:0;
  color:var(--water-navy);
  font-size:clamp(2.55rem,4.5vw,4.6rem);
  font-weight:600;
  line-height:.98;
  letter-spacing:-.025em;
}

.tw-water-inline-link,
.tw-water-text-link,
.tw-water-source,
.tw-water-rebuild__links a {
  font:600 .8rem/1.2 var(--water-head);
  text-decoration:none;
  text-transform:uppercase;
}

/* HERO */
.tw-water-hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:650px;
  background:var(--water-navy);
  color:#fff;
}

.tw-water-hero__content { display:flex; align-items:center; }

.tw-water-hero__content .tw-water-container {
  width:min(calc(100% - 96px),620px);
  margin-left:max(48px,calc((100vw - 1240px)/2));
  margin-right:48px;
}

.tw-water-hero__copy { padding:50px 0 90px; }

.tw-water-hero h1 {
  margin:0;
  color:#fff;
  font-size:clamp(3.5rem,5.6vw,6.3rem);
  font-weight:600;
  line-height:.92;
  letter-spacing:-.04em;
}

.tw-water-hero__lead {
  max-width:650px;
  margin:26px 0 30px;
  color:rgba(255,255,255,.76);
  font-size:clamp(1.03rem,1.3vw,1.16rem);
}

.tw-water-hero__actions {
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}

.tw-water-text-link { color:#fff; }

.tw-water-hero__image {
  min-height:650px;
  background:#53616e center/cover no-repeat;
}

/* INTRO */
.tw-water-intro {
  padding:clamp(80px,8vw,120px) 0;
  background:#fff;
}

.tw-water-intro__grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(55px,8vw,120px);
}

.tw-water-intro__grid > div:last-child p { color:var(--water-g600); }

.tw-water-lead {
  margin-top:0;
  color:var(--water-text) !important;
  font-size:clamp(1.12rem,1.45vw,1.3rem);
}

.tw-water-source {
  display:inline-block;
  margin-top:8px;
  color:var(--water-navy);
  border-bottom:2px solid var(--water-red);
  padding-bottom:4px;
}

/* PROCESS */
.tw-water-process {
  padding:clamp(80px,8vw,115px) 0;
  background:var(--water-off);
}

.tw-water-process__head {
  max-width:860px;
  margin-bottom:42px;
}

.tw-water-process__grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.tw-water-process article {
  min-height:230px;
  padding:26px;
  background:#fff;
  border-top:4px solid var(--water-navy);
}

.tw-water-process span {
  color:var(--water-red);
  font:600 .76rem/1 var(--water-head);
}

.tw-water-process h3 {
  margin:42px 0 10px;
  color:var(--water-navy);
  font-size:1.38rem;
}

.tw-water-process p {
  margin:0;
  color:var(--water-g600);
  font-size:.91rem;
}

/* MATERIALS */
.tw-water-materials {
  padding:clamp(80px,8vw,120px) 0;
  background:var(--water-navy);
  color:#fff;
}

.tw-water-materials__grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(55px,8vw,105px);
  align-items:center;
}

.tw-water-materials__image {
  min-height:480px;
  background:#596875 center/cover no-repeat;
}

.tw-water-materials h2 { color:#fff; }

.tw-water-materials__copy > p:not(.tw-water-kicker) {
  color:rgba(255,255,255,.7);
}

/* COMMERCIAL */
.tw-water-commercial {
  padding:clamp(75px,8vw,105px) 0;
  background:#e9edf0;
  scroll-margin-top:130px;
}

.tw-water-commercial__grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:75px;
}

.tw-water-commercial__grid > div:last-child p {
  margin-top:0;
  color:var(--water-g600);
}

.tw-water-inline-link {
  display:inline-block;
  margin-top:8px;
  color:var(--water-navy);
}

/* REBUILD */
.tw-water-rebuild {
  padding:clamp(75px,8vw,105px) 0;
  background:#fff;
}

.tw-water-rebuild__grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:75px;
}

.tw-water-rebuild__grid > div:last-child p {
  margin-top:0;
  color:var(--water-g600);
}

.tw-water-rebuild__links {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:22px;
}

.tw-water-rebuild__links a { color:var(--water-navy); }

/* SERVICE AREA */
.tw-water-service-area {
  padding:clamp(75px,8vw,105px) 0;
  background:#e9edf0;
}

.tw-water-service-area__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
}

.tw-water-service-area__grid > div:last-child > p {
  margin-top:0;
  color:var(--water-g600);
}

.tw-water-city-links {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:22px 0 18px;
}

.tw-water-city-links a {
  padding:10px 13px;
  color:var(--water-navy);
  background:#fff;
  border:1px solid var(--water-g100);
  font:600 .75rem/1 var(--water-head);
  text-decoration:none;
  text-transform:uppercase;
}

/* FAQ */
.tw-water-faq {
  padding:clamp(75px,8vw,110px) 0;
  background:var(--water-off);
}

.tw-water-faq__head { margin-bottom:35px; }

.tw-water-faq__grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

.tw-water-faq details {
  background:#fff;
  border-left:4px solid var(--water-red);
}

.tw-water-faq summary {
  position:relative;
  padding:20px 42px 20px 20px;
  color:var(--water-navy);
  font:600 1rem/1.25 var(--water-head);
  text-transform:uppercase;
  list-style:none;
  cursor:pointer;
}

.tw-water-faq summary::-webkit-details-marker { display:none; }

.tw-water-faq summary::after {
  content:"+";
  position:absolute;
  right:17px;
  top:17px;
  color:var(--water-red);
  font:400 1.5rem/1 var(--water-head);
}

.tw-water-faq details[open] summary::after { content:"–"; }

.tw-water-faq details > div { padding:0 20px 20px; }

.tw-water-faq details p {
  margin:0;
  color:var(--water-g600);
}

/* CTA */
.tw-water-cta {
  padding:82px 0;
  background:#e9edf0;
}

.tw-water-cta__inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:50px;
}

.tw-water-cta p:not(.tw-water-kicker) {
  margin:15px 0 0;
  color:var(--water-g600);
}

/* RESPONSIVE */
@media (max-width:1050px) {
  .tw-water-container { width:min(calc(100% - 64px),1240px); }

  .tw-water-hero { grid-template-columns:1fr; }

  .tw-water-hero__content .tw-water-container {
    width:min(calc(100% - 64px),1240px);
    margin-inline:auto;
  }

  .tw-water-hero__image { min-height:420px; }

  .tw-water-intro__grid,
  .tw-water-materials__grid,
  .tw-water-commercial__grid,
  .tw-water-rebuild__grid,
  .tw-water-service-area__grid {
    grid-template-columns:1fr;
    gap:36px;
  }

  .tw-water-process__grid { grid-template-columns:1fr 1fr; }
  .tw-water-materials__image { min-height:420px; }
}

@media (max-width:700px) {
  .tw-water-container { width:min(calc(100% - 36px),1240px); }

  .tw-water-hero__content .tw-water-container {
    width:min(calc(100% - 36px),1240px);
  }

  .tw-water-hero__copy { padding:150px 0 66px; }
  .tw-water-hero h1 { font-size:clamp(3.1rem,14vw,4.7rem); }
  .tw-water-hero__image { min-height:320px; }

  .tw-water-intro,
  .tw-water-process,
  .tw-water-materials,
  .tw-water-commercial,
  .tw-water-rebuild,
  .tw-water-service-area,
  .tw-water-faq { padding:65px 0; }

  .tw-water-process__grid,
  .tw-water-faq__grid { grid-template-columns:1fr; }

  .tw-water-process article { min-height:auto; }
  .tw-water-materials__image { min-height:320px; }

  .tw-water-cta { padding:68px 0; }

  .tw-water-cta__inner {
    flex-direction:column;
    align-items:flex-start;
  }
}
.tw-emergency-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-height: 38px;
  padding: 8px 18px;

  background: #e30620;
  color: #ffffff;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.tw-emergency-banner {
  position: relative;
  z-index: 20;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  min-height: 38px;
  padding: 8px 18px;

  /* clears fixed desktop header */
  margin-top: 85px;

  background: #e30620;
  color: #ffffff;

  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
}

.tw-emergency-banner a {
  color: #ffffff;
  font-weight: 800;
  text-decoration: none;
}

.tw-emergency-banner a:hover {
  text-decoration: underline;
}

@media (max-width: 1100px) {
  .tw-emergency-banner {
    margin-top: 62px;
  }
}

@media (max-width: 600px) {
  .tw-emergency-banner {
    margin-top: 62px;
    flex-wrap: wrap;
    gap: 4px 7px;
    min-height: 36px;
    padding: 7px 14px;
    font-size: 13px;
  }
}