/* =========================================================
   TRIMWORKS — FIRE-RATED DRYWALL & FIRESTOPPING
   Page: /fire-rated-drywall-firestopping/
   ========================================================= */

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

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

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

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

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

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

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

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

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

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

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

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

.tw-fire-hero__copy { padding:170px 0 90px; }

.tw-fire-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-fire-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-fire-hero__actions {
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}

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

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

/* DIFFERENCE */
.tw-fire-difference {
  padding:clamp(80px,8vw,120px) 0;
  background:#fff;
}

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

.tw-fire-difference__copy p {
  margin-top:0;
  color:var(--fire-g600);
}

.tw-fire-difference__copy p:first-child {
  color:var(--fire-text);
  font-size:1.1rem;
}

/* CAPABILITIES */
.tw-fire-capabilities {
  padding:clamp(80px,8vw,115px) 0;
  background:var(--fire-off);
  scroll-margin-top:130px;
}

.tw-fire-capabilities__head {
  max-width:820px;
  margin-bottom:42px;
}

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

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

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

.tw-fire-capabilities h3 {
  margin:44px 0 12px;
  color:var(--fire-navy);
  font-size:1.35rem;
  line-height:1.05;
}

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

/* TESTED SYSTEM */
.tw-fire-system {
  padding:clamp(80px,8vw,120px) 0;
  background:var(--fire-navy);
  color:#fff;
}

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

.tw-fire-system__image {
  min-height:490px;
  background:#596875 center/cover no-repeat;
}

.tw-fire-system h2 { color:#fff; }

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

.tw-fire-system__links {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:24px;
}

.tw-fire-system__links a { color:#fff; }

/* COORDINATION */
.tw-fire-coordinate {
  padding:clamp(75px,8vw,105px) 0;
  background:#e9edf0;
}

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

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

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

.tw-fire-coordinate__links a { color:var(--fire-navy); }

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

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

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

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

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

.tw-fire-inline-link { color:var(--fire-navy); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .tw-fire-difference__grid,
  .tw-fire-system__grid,
  .tw-fire-coordinate__grid,
  .tw-fire-service-area__grid {
    grid-template-columns:1fr;
    gap:36px;
  }

  .tw-fire-capabilities__grid { grid-template-columns:1fr 1fr; }
  .tw-fire-system__image { min-height:420px; }
}

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

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

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

  .tw-fire-difference,
  .tw-fire-capabilities,
  .tw-fire-system,
  .tw-fire-coordinate,
  .tw-fire-service-area,
  .tw-fire-faq { padding:65px 0; }

  .tw-fire-capabilities__grid,
  .tw-fire-faq__grid { grid-template-columns:1fr; }

  .tw-fire-capabilities article { min-height:auto; }
  .tw-fire-capabilities h3 { margin-top:34px; }
  .tw-fire-system__image { min-height:320px; }

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

  .tw-fire-cta__inner {
    flex-direction:column;
    align-items:flex-start;
  }
}
