/* =========================================================
   TRIMWORKS — COMMERCIAL MAINTENANCE
   Page: /commercial-maintenance/
   ========================================================= */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* SCOPE */
.tw-maint-scope {
  padding:clamp(80px,8vw,115px) 0;
  background:var(--mnt-off);
}

.tw-maint-scope__head {
  max-width:780px;
  margin-bottom:42px;
}

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

.tw-maint-scope article {
  min-height:245px;
  display:flex;
  flex-direction:column;
  padding:26px;
  background:#fff;
  border-top:4px solid var(--mnt-navy);
}

.tw-maint-scope span {
  color:var(--mnt-navy);
  font:600 1.02rem/1.2 var(--mnt-head);
  text-transform:uppercase;
}

.tw-maint-scope p {
  color:var(--mnt-g600);
  font-size:.91rem;
}

.tw-maint-scope a {
  margin-top:auto;
  padding-top:18px;
  color:var(--mnt-navy);
}

/* MANAGER */
.tw-maint-manager {
  padding:clamp(80px,8vw,120px) 0;
  background:var(--mnt-navy);
  color:#fff;
}

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

.tw-maint-manager__image {
  min-height:500px;
  background:#596875 center/cover no-repeat;
}

.tw-maint-manager h2 { color:#fff; }

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

.tw-maint-manager__points {
  margin:28px 0 24px;
  border-top:1px solid rgba(255,255,255,.17);
}

.tw-maint-manager__points > div {
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:20px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.17);
}

.tw-maint-manager__points strong {
  color:#fff;
  font-size:.9rem;
  text-transform:uppercase;
}

.tw-maint-manager__points span {
  color:rgba(255,255,255,.62);
  font-size:.9rem;
}

.tw-maint-source { color:#fff; }

/* PROJECT */
.tw-maint-project {
  padding:clamp(75px,8vw,105px) 0;
  background:#e9edf0;
}

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

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

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

.tw-maint-project__links a { color:var(--mnt-navy); }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .tw-maint-intro__grid,
  .tw-maint-manager__grid,
  .tw-maint-project__grid,
  .tw-maint-service-area__grid {
    grid-template-columns:1fr;
    gap:36px;
  }

  .tw-maint-scope__grid { grid-template-columns:1fr 1fr; }
  .tw-maint-manager__image { min-height:420px; }
}

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

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

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

  .tw-maint-intro,
  .tw-maint-scope,
  .tw-maint-manager,
  .tw-maint-project,
  .tw-maint-service-area,
  .tw-maint-faq { padding:65px 0; }

  .tw-maint-scope__grid,
  .tw-maint-faq__grid { grid-template-columns:1fr; }

  .tw-maint-scope article { min-height:auto; }
  .tw-maint-manager__image { min-height:320px; }

  .tw-maint-manager__points > div {
    grid-template-columns:1fr;
    gap:5px;
  }

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

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