/** Site Theme Tokens **/

:root {
    --core-site-font-body: 'Barlow', system-ui, sans-serif;
    --core-site-text-base: 16px;
    --core-site-heading-font: 'Bebas Neue', 'Barlow Condensed', 'Barlow', sans-serif;
    --core-site-heading-line-height: 1.08;
    --core-site-heading-weight: 700;
    --core-site-color-text: #1a1916;
    --core-site-color-link: #1a1916;
    --core-accent: var(--color-amber);
    --base-content-section-max-width: 78rem;
    --core-radius: 2px;
}
body { font-family: var(--core-site-font-body); }
html { font-size: var(--core-site-text-base); }
h1, h2, h3, h4, h5, h6 { font-family: var(--core-site-heading-font); }
h1, h2, h3, h4, h5, h6 { line-height: var(--core-site-heading-line-height); }
h1, h2, h3, h4, h5, h6 { font-weight: var(--core-site-heading-weight); }
body { color: var(--core-site-color-text); }
a { color: var(--core-site-color-link); }


/** Site Custom Stylesheet (From File) **/ 



 /** Site Custom Styles (From DB) **/ 

/* ============================================================
   TREE EATERS — site-wide styles
   ============================================================ */ :root  {
  /* --- Charcoal: primary dark --- */ --color-charcoal: #1a1916;
  --color-charcoal-deep: #231f20;
  --color-charcoal-dark: #111009;
  --color-charcoal-light: #2c2a25;
  --color-charcoal-lighter:#3d3a33;
  /* --- Amber: brand / safety accent --- */ --color-amber: #e08a1e;
  --color-amber-light: #f0a93f;
  --color-amber-dark: #b96d10;
  /* --- Bush: eucalypt green, secondary --- */ --color-bush: #46583a;
  --color-bush-dark: #313f28;
  --color-bush-light: #6a7d57;
  /* --- Sand / bone: warm light neutrals --- */ --color-bone: #f7f3ec;
  --color-sand: #ece4d6;
  --color-sand-warm: #e2d6c1;
  /* --- Semantic anchors --- */ --color-brand: var(--color-amber);
  --color-text: var(--color-charcoal);
  --color-bg: #ffffff;
  /* Brand shared core components */ --core-accent: var(--color-amber);
  --core-accent-contrast: #ffffff;
  --core-radius: 2px;
}
/* ---- Background utility classes ---- */ .bg-charcoal  {
  background-color: var(--color-charcoal);
}
.bg-charcoal-deep  {
  background-color: var(--color-charcoal-deep);
}
.bg-charcoal-dark  {
  background-color: var(--color-charcoal-dark);
}
.bg-charcoal-light  {
  background-color: var(--color-charcoal-light);
}
.bg-amber  {
  background-color: var(--color-amber);
}
.bg-amber-light  {
  background-color: var(--color-amber-light);
}
.bg-amber-dark  {
  background-color: var(--color-amber-dark);
}
.bg-bush  {
  background-color: var(--color-bush);
}
.bg-bush-dark  {
  background-color: var(--color-bush-dark);
}
.bg-bone  {
  background-color: var(--color-bone);
}
.bg-sand  {
  background-color: var(--color-sand);
}
.bg-sand-warm  {
  background-color: var(--color-sand-warm);
}
/* ============================================================
   BASE TYPOGRAPHY
   ============================================================ */ html  {
  scroll-padding-top: 110px;
  scroll-behavior: smooth;
}
body  {
  font-family: "Barlow", system-ui, sans-serif;
  color: var(--color-text);
  background: var(--color-bg);
  font-size: var(--text-size-lg);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4  {
  font-family: "Bebas Neue", "Barlow Condensed", "Barlow", sans-serif;
  line-height: 1.08;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: var(--font-weight-bold);
}
h2  {
  font-size: var(--text-size-12xl);
  font-weight: var(--font-weight-xbold);
}
h3  {
  font-size: var(--text-size-4xl);
}
p  {
  margin: 0;
}
a  {
  color: inherit;
}
/* Shared eyebrow / kicker label */ .kicker  {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: "Barlow", sans-serif;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-size: var(--text-size-xs);
  color: var(--color-amber-dark);
}
/* Section intro block */ .section-head  {
  max-width: 56ch;
}
.section-head .kicker  {
  margin-bottom: 1rem;
}
.section-head p  {
  margin-top: 1rem;
  color: var(--color-charcoal-light);
}
/* ============================================================
   BUTTONS
   ============================================================ */ .btn  {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: "Barlow", sans-serif;
  font-weight: var(--font-weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: var(--text-size-sm);
  text-decoration: none;
  padding: 1rem 1.6rem;
  border: 2px solid transparent;
  border-radius: 2px;
  transition: transform 0.12s ease, background-color 0.15s ease, color 0.15s ease;
  line-height: 1;
}
.btn:hover  {
  transform: translateY(-2px);
}
.btn svg  {
  width: 1.05em;
  height: 1.05em;
  flex: none;
}
.btn-primary  {
  background: var(--color-amber);
  color: #1a1916;
}
.btn-primary:hover  {
  background: var(--color-amber-light);
}
.btn-ghost  {
  background: transparent;
  color: #fff;
  border-color: rgba(255,255,255,0.45);
}
.btn-ghost:hover  {
  background: rgba(255,255,255,0.1);
  border-color: #fff;
}
.btn-dark  {
  background: var(--color-charcoal);
  color: #fff;
}
.btn-dark:hover  {
  background: var(--color-charcoal-light);
}
/* ============================================================
   SHARED SERVICE-PAGE PATTERNS
   (check-list, feature-grid, service-card — used across many
   service detail pages; kept site-wide to avoid duplication)
   ============================================================ */ .check-list  {
  list-style: none;
  margin: 2.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}
.check-list.cols-2  {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem 3rem;
}
.check-list li  {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: var(--text-size-lg);
  color: var(--color-charcoal-light);
  padding: 1.1rem 0;
  border-top: 1px solid var(--color-sand-warm);
}
.check-list .tick  {
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--color-amber);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2px;
}
.check-list .tick svg  {
  width: 15px;
  height: 15px;
  color: #1a1916;
}
.feature-grid  {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin-top: 3rem;
}
.feature-grid.cols-2  {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.service-card  {
  background: #fff;
  border: 1px solid var(--color-sand-warm);
  border-top: 4px solid var(--color-amber);
  padding: 2rem 1.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.service-card h3  {
  color: var(--color-charcoal);
  letter-spacing: 0.06em;
}
.service-card p  {
  color: var(--color-charcoal-light);
  font-size: var(--text-size-reg);
}
@media (max-width: 1023px)  {
  .feature-grid  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px)  {
  .check-list.cols-2, .feature-grid, .feature-grid.cols-2  {
    grid-template-columns: 1fr;
  }
}
/* ============================================================
   IMAGE PLACEHOLDER BOXES (shared)
   ============================================================ */ .img-box  {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  aspect-ratio: 4 / 3;
  border: 2px dashed var(--color-sand-warm);
  background: rgba(0,0,0,0.02);
  color: var(--color-charcoal-lighter);
  border-radius: 2px;
  text-align: center;
  padding: 1rem;
}
.img-box svg  {
  width: 40px;
  height: 40px;
  opacity: 0.5;
}
.img-box.is-dark  {
  border-color: rgba(255,255,255,0.2);
  background: rgba(255,255,255,0.03);
  color: rgba(255,255,255,0.55);
}
@media (max-width: 767px)  {
  h2  {
    font-size: var(--text-size-8xl);
  }
}
/* The mobile header is now compact — the full-width "Call" bar that used to sit
   above the logo/hamburger row has been removed (its CTAs moved to a fixed
   bottom bar). So the inner page-title heroes no longer need the large top
   padding that cleared the old tall header; a smaller offset is enough to sit
   clear of the slimmer fixed header. */ @media (max-width: 639px)  {
  .page-hero  {
    align-items: flex-start;
    min-height: 0;
  }
  .page-hero .content-section-inner  {
    padding-top: 9rem;
  }
  .hero .content-section-inner  {
    padding-top: 9rem;
  }
}
/* ============================================================
   MOBILE BOTTOM CTA BAR — spacing
   The fixed bottom CTA bar (global footer section) appears on tablet and below.
   Reserve space at the foot of the page so it never covers the real footer or
   the last of the page content. Matches the breakpoint the bar appears at. */ @media (max-width: 1023px)  {
  body  {
    padding-bottom: 4rem;
  }
}
/* ============================================================
   ENQUIRY FORM — success / fail message states
   (shared Enquiry Form snippet is placed on the Contact and
   Get a Quote pages; styles live here once so they aren't
   duplicated across those sections)
   ============================================================ */ /* Success: a centred, branded panel that stands in for the form once
   Basin hides it on submit (the messages are siblings of <form>). */ .enquiry-done  {
  text-align: center;
  padding: 1.5rem 1rem 0.5rem;
  color: var(--color-charcoal);
  animation: enquiry-pop 0.3s ease;
}
.enquiry-done-icon  {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: var(--color-amber);
  color: #1a1916;
  margin-bottom: 1.2rem;
}
.enquiry-done-icon svg  {
  width: 38px;
  height: 38px;
}
.enquiry-done-title  {
  color: var(--color-charcoal);
  font-size: var(--text-size-6xl);
  margin-bottom: 0.6rem;
}
.enquiry-done-text  {
  color: var(--color-charcoal-light);
  font-size: var(--text-size-lg);
  max-width: 42ch;
  margin: 0 auto;
}
.enquiry-done-text a  {
  color: var(--color-amber-dark);
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}
.enquiry-done-text a:hover  {
  text-decoration: underline;
}
/* Fail: an obvious red alert bar above the form */ .enquiry-fail  {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  background: #fdecec;
  border: 1px solid #e2b4b4;
  border-left: 4px solid #c0392b;
  border-radius: 3px;
  padding: 1rem 1.1rem;
  margin-bottom: 1.4rem;
  color: #7a2018;
  font-size: var(--text-size-reg);
}
.enquiry-fail-icon  {
  flex: none;
  color: #c0392b;
  display: inline-flex;
  margin-top: 1px;
}
.enquiry-fail-icon svg  {
  width: 22px;
  height: 22px;
}
.enquiry-fail-body  {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  line-height: 1.4;
}
.enquiry-fail-body strong  {
  color: #c0392b;
}
.enquiry-fail-body a  {
  color: #c0392b;
  font-weight: var(--font-weight-bold);
  text-decoration: underline;
}
@keyframes enquiry-pop  {
  from  {
    opacity: 0;
    transform: translateY(6px);
  }
  to  {
    opacity: 1;
    transform: translateY(0);
  }
}


 /** Content Section Styles **/ 

.content-section-2679  {
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  &.content-section  {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 2000;
    background: var(--color-charcoal-deep);
    box-shadow: 0 2px 14px rgba(0,0,0,0.28);
    transition: padding 0.22s ease, box-shadow 0.22s ease;
  }
  .content-section-inner  {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
  }
  .logo  {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
  }
  .logo img  {
    display: block;
    height: 72px;
    width: auto;
    transition: height 0.22s ease;
  }
  /* Shrunk state — applied once the page is scrolled a little. Reduce the
   section's own vertical padding and the logo height for a compact bar. */ &.content-section.is-shrunk  {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
  &.content-section.is-shrunk .logo img  {
    height: 52px;
  }
  /* Push the main menu to the right of the logo */ cms-menu, .core-menu  {
    margin-left: auto;
  }
  /* Nav link treatment (from the imported design) */ .core-menu-link  {
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  /* Desktop dropdown: amber top border + more room between submenu items */ .core-menu:not(.is-collapsed) .core-menu-panel  {
    border-top: 3px solid var(--color-amber);
  }
  .core-menu:not(.is-collapsed) .core-menu-sublist .core-menu-item  {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
  /* The "Services" overview link is added to the submenu so it can be reached
   inside the collapsed burger menu (where tapping the parent expands rather
   than navigates). On desktop the parent label already links to the Services
   page, so the duplicate sub-item is redundant there — hide it whenever the
   menu is NOT collapsed. */ .core-menu:not(.is-collapsed) .burger-only-subitem  {
    display: none;
  }
  /* Offset the desktop dropdown down a little from the parent item so the amber
   top border isn't hard up against it. The gap is created with margin-top on the
   PANEL only (the panel is absolutely positioned, so this shifts nothing in the
   header's own layout).

   To stop the dropdown vanishing when the mouse travels SLOWLY from the parent
   down across that gap, the gap must be part of the item's hover area at all
   times — not only once the panel has already appeared. So the invisible hover
   "bridge" is a pseudo-element on the PARENT ITEM (which is always present),
   sitting directly below the parent link and spanning the full gap. While the
   cursor is over the bridge it's still hovering the item, so the panel stays
   open and the cursor can continue down into it uninterrupted. (The bridge sits
   BELOW the fixed header row via a small negative bottom, so it can't intercept
   clicks elsewhere in the bar.) */ .core-menu:not(.is-collapsed) .core-menu-item[data-depth="1"] > .core-menu-panel  {
    margin-top: 12px;
  }
  .core-menu:not(.is-collapsed) .core-menu-item[data-depth="1"].has-submenu::after  {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 14px;
  }
  .header-actions  {
    display: flex;
    align-items: center;
    gap: 0.9rem;
  }
  .header-phone  {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: #fff;
    font-weight: var(--font-weight-bold);
    font-size: var(--text-size-reg);
    white-space: nowrap;
  }
  .header-phone svg  {
    width: 1.1em;
    height: 1.1em;
    color: var(--color-amber);
  }
  /* ---- Mobile menu overlay slot content ---- */ /* Logo at the top of the open mobile menu — centred */ .core-menu .core-menu-extras-top  {
    text-align: center;
  }
  .core-menu .menu-mobile-logo  {
    display: inline-flex;
  }
  .core-menu .menu-mobile-logo img  {
    height: 64px;
    width: auto;
    display: block;
  }
  /* Phone + CTA at the bottom of the open mobile menu — centred */ .core-menu .menu-mobile-actions  {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.1rem;
  }
  .core-menu .menu-mobile-phone  {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: #fff;
    font-weight: var(--font-weight-bold);
    font-size: var(--text-size-lg);
  }
  .core-menu .menu-mobile-phone svg  {
    width: 1.1em;
    height: 1.1em;
    color: var(--color-amber);
  }
  .core-menu .menu-mobile-cta  {
    align-self: stretch;
    justify-content: center;
  }
  @media (max-width: 1279px)  {
    /* Tighten the header in the awkward band between the desktop layout and the
   1024px mobile-menu breakpoint (~1024–1279px) so nav links and the CTA stop
   wrapping. Shrink the inter-item gap, nav font size, logo, phone link and the
   CTA button padding just enough to keep everything on one line. */ /* The --core-menu-* tokens are set as INLINE style on the .core-menu element
   (via the menu's menu_settings tokens), so inline custom-property values win
   over a stylesheet rule targeting the element. Use !important here so these
   breakpoint overrides actually take effect. */ &.content-section .core-menu  {
      --core-menu-gap: 1.2rem !important;
    }
    .logo img  {
      height: 56px;
    }
    &.content-section.is-shrunk .logo img  {
      height: 46px;
    }
    .header-actions  {
      gap: 0.6rem;
    }
    .header-phone  {
      font-size: var(--text-size-sm);
      gap: 0.35rem;
    }
    .header-actions .btn  {
      padding: 0.75rem 1rem;
      font-size: var(--text-size-xs);
      white-space: nowrap;
    }
    /* Keep the whole row from getting cramped: allow a slightly tighter gap between
   the three header blocks (logo / menu / actions). */ .content-section-inner  {
      gap: 1rem;
    }
  }
  @media (max-width: 1023px)  {
    /* When the menu collapses to a hamburger, reorder the header so the
   logo sits left and the "Get a Quote" CTA + hamburger sit hard against
   the right edge. The phone link is already hidden at this width. */ .header-phone  {
      display: none;
    }
    .content-section-inner  {
      display: flex;
      align-items: center;
      gap: 1rem;
      justify-content: flex-start;
    }
    /* ROOT CAUSE of the earlier misalignment: the logo <a> is wrapped in a <p> in
   the section HTML, so the direct flex item in this row is that <p>, NOT .logo.
   The previous `.logo { order: 1; margin-right: auto; }` therefore had no
   effect on the flex layout at all — .logo isn't a flex child, so its auto
   margin and order were ignored and everything sat together on the left.
   Fix: push the right-hand group over with margin-left:auto on .header-actions
   (the first element of the CTA + hamburger group). DOM/order then reads:
   <p>logo (default order 0) | .header-actions (order 2) | cms-menu (order 3). */ .header-actions  {
      order: 2;
      margin-left: auto;
    }
    /* The "Get a Quote" CTA now lives in the fixed bottom CTA bar on tablet/mobile,
   so hide the header-row CTA here too (it was already hidden at the xs
   breakpoint; this extends that up through the tablet collapsed range). */ .header-actions .btn  {
      display: none;
    }
    /* Keep the base `margin-left: auto` on the menu zeroed here so it doesn't
   compete with .header-actions' auto margin and split the free space. */ cms-menu, .core-menu  {
      order: 3;
      margin-left: 0;
    }
  }
  @media (max-width: 639px)  {
    /* Mobile portrait: the full-width call bar that used to sit above the header row
   has been removed (its CTAs now live in a fixed bottom bar — see the Mobile
   Bottom CTA Bar footer section). This keeps the top header compact so it no
   longer overlaps the inner page-title heroes as much.

   Scale the logo up a touch so it still fills the header row nicely. */ .logo  {
      min-width: 0;
      flex: 1 1 auto;
    }
    .logo img  {
      height: auto;
      max-height: 56px;
      max-width: 100%;
      width: auto;
    }
    &.content-section.is-shrunk .logo img  {
      max-height: 48px;
    }
    /* Hide the "Get a Quote" CTA in the header row — the quote + call CTAs now sit
   in the fixed bottom bar, and the phone + CTA also live inside the open mobile
   menu. */ .header-actions .btn  {
      display: none;
    }
  }
}
.content-section-2680  {
  &.content-section  {
    color: rgba(255,255,255,0.7);
  }
  .footer-grid  {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 2.5rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.12);
  }
  .footer-logo img  {
    height: 104px;
    display: block;
    width: auto;
  }
  .footer-logo  {
    display: inline-flex;
    text-decoration: none;
  }
  .footer-blurb  {
    margin-top: 1rem;
    max-width: 38ch;
    font-size: var(--text-size-reg);
  }
  .footer-col h4  {
    color: #fff;
    font-size: var(--text-size-reg);
    letter-spacing: 0.16em;
    margin-bottom: 1rem;
  }
  .footer-col ul  {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .footer-col li  {
    margin-bottom: 0.6rem;
  }
  .footer-col a  {
    text-decoration: none;
    color: rgba(255,255,255,0.7);
    transition: color 0.15s ease;
    font-size: var(--text-size-reg);
  }
  .footer-col a:hover  {
    color: var(--color-amber);
  }
  .footer-col .core-menu-item  {
    margin-bottom: 0.6rem;
  }
  /* Click-to-reveal email styled to match the plain footer links */ .footer-eml  {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    color: rgba(255,255,255,0.7);
    transition: color 0.15s ease;
  }
  .footer-eml:hover  {
    color: var(--color-amber);
  }
  .footer-social  {
    display: flex;
    gap: 1.1rem;
    list-style: none;
    margin: 1.2rem 0 0;
    padding: 0;
  }
  .footer-social li  {
    margin: 0;
  }
  .footer-social a  {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    color: rgba(255,255,255,0.8);
    transition: color 0.15s ease, transform 0.15s ease;
  }
  .footer-social a svg  {
    width: 24px;
    height: 24px;
  }
  .footer-social a:hover  {
    color: var(--color-amber);
    transform: translateY(-2px);
  }
  .footer-bottom  {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.6rem;
    padding-top: 1.6rem;
    font-size: var(--text-size-xs);
  }
  /* Excite Media credit link — amber to match the logo */ .footer-credit  {
    color: var(--color-amber);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .footer-credit:hover  {
    color: var(--color-amber-light);
    text-decoration: underline;
  }
  @media (max-width: 767px)  {
    .footer-grid  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 639px)  {
    /* Let the footer logo scale down proportionally on the smallest phones so it
   can't hold the footer row wider than the viewport and force horizontal
   scroll. min-width:0 lets the logo link flex-shrink; the image keeps its
   aspect ratio (height auto) and never exceeds its container width. */ .footer-logo  {
      min-width: 0;
      max-width: 100%;
    }
    .footer-logo img  {
      height: auto;
      max-height: 104px;
      max-width: 100%;
      width: auto;
    }
  }
}
.content-section-2681  {
  &.content-section  {
    position: relative;
    background: linear-gradient(180deg, rgba(17,16,9,0.55) 0%, rgba(17,16,9,0.30) 40%, rgba(17,16,9,0.82) 100%), url('/site-assets/images/hero-burn.jpg') center / cover no-repeat;
    color: #fff;
    min-height: 90vh;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5.5rem;
  }
  /* ---- Background video layer ----
   The iframe is injected by this section's JS AFTER the page has fully loaded,
   so it never competes with first paint — until then (and on phones /
   reduced-motion / data-saver, where it's skipped entirely) the existing
   image background above acts as the poster. The layer is absolutely
   positioned against the section wrapper (the inner div isn't positioned),
   so it spans the full-bleed hero. */ .hero-video  {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
  }
  /* Cover-sizing for a 16:9 Vimeo background embed */ .hero-video iframe  {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 0;
    width: 100vw;
    height: 56.25vw;
    /* 16:9 when width-driven */ min-height: 100%;
    /* never shorter than the hero */ min-width: 177.78vh;
    /* keep ~16:9 cover when height-driven */ opacity: 0;
    transition: opacity 0.8s ease;
  }
  .hero-video.is-playing iframe  {
    opacity: 1;
  }
  /* Re-apply the darkening gradient ABOVE the video so text contrast holds */ .hero-video::after  {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(17,16,9,0.55) 0%, rgba(17,16,9,0.30) 40%, rgba(17,16,9,0.82) 100%);
  }
  /* Keep the hero content painting above the video layer */ .hero-grid  {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    align-items: end;
    gap: 2.5rem;
  }
  .hero-title  {
    font-size: clamp(3rem, 8vw, 6.4rem);
    max-width: 16ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-title em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 48ch;
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
  }
  @media (max-width: 639px)  {
    .hero-title  {
      font-size: 2.3rem;
    }
  }
}
.content-section-2682  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .about-copy .lead  {
    font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
    font-size: 54px;
    line-height: 1.08;
    text-transform: uppercase;
    letter-spacing: 0.005em;
    font-weight: var(--font-weight-bold);
    margin-bottom: 1.6rem;
    color: var(--color-charcoal);
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 5;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
  @media (max-width: 767px)  {
    .about-copy .lead  {
      font-size: 38px;
    }
  }
  @media (max-width: 639px)  {
    .about-copy .lead  {
      font-size: 32px;
    }
  }
}
.content-section-2683  {
  .cred-grid  {
    gap: 0;
  }
  .cred-trust  {
    text-align: center;
    color: var(--color-amber);
    font-family: "Barlow", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-size: var(--text-size-sm);
    margin-bottom: 2.4rem;
  }
  .cred-tile  {
    text-align: center;
    padding: 0.5rem 1.5rem;
    border-left: 1px solid rgba(255,255,255,0.14);
  }
  .cred-tile:first-child  {
    border-left: 0;
  }
  .cred-num  {
    font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    font-size: var(--text-size-12xl);
    line-height: 0.9;
    color: var(--color-amber);
  }
  .cred-label  {
    color: rgba(255,255,255,0.9);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-size-xs);
    margin-top: 0.6rem;
  }
  @media (max-width: 767px)  {
    .cred-grid  {
      grid-template-columns: 1fr;
    }
    .cred-tile  {
      border-left: 0;
      border-top: 1px solid rgba(255,255,255,0.14);
      padding: 1.5rem;
    }
    .cred-tile:first-child  {
      border-top: 0;
    }
  }
}
.content-section-2684  {
  .services .section-head, .section-head  {
    margin-bottom: 3rem;
  }
  .services-grid  {
    gap: 1.5rem;
  }
  .service-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 4px solid var(--color-amber);
    padding: 2rem 1.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
  }
  .service-num  {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    font-size: var(--text-size-2xl);
    color: var(--color-sand-warm);
  }
  .service-card h3  {
    color: var(--color-charcoal);
    letter-spacing: 0.06em;
  }
  .service-card p  {
    color: var(--color-charcoal-light);
    font-size: var(--text-size-reg);
  }
  .service-card.is-wide  {
    grid-column: span 2;
    background: var(--color-charcoal);
    border-color: var(--color-charcoal);
  }
  .service-card.is-wide .service-num  {
    color: var(--color-amber);
  }
  .service-card.is-wide h3  {
    color: #fff;
    letter-spacing: 0.06em;
  }
  .service-card.is-wide p  {
    color: rgba(255,255,255,0.8);
    font-size: var(--text-size-lg);
    max-width: 60ch;
  }
  .services-cta  {
    margin-top: 2.5rem;
  }
  /* The 01 card is now a link — keep it visually identical to a card and add a
   subtle lift + amber border on hover to signal it's clickable. */ a.service-card  {
    text-decoration: none;
    transition: transform 0.15s ease, border-top-color 0.15s ease, box-shadow 0.15s ease;
  }
  a.service-card:hover  {
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(0,0,0,0.28);
  }
  a.service-card.is-wide:hover  {
    border-top-color: var(--color-amber-light);
  }
  @media (max-width: 1023px)  {
    .services-grid  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .services-grid  {
      grid-template-columns: 1fr;
    }
    .service-card.is-wide  {
      grid-column: auto;
    }
  }
}
.content-section-2685  {
  &.content-section  {
    color: #fff;
  }
  .section-head .kicker  {
    color: var(--color-amber-light);
  }
  .section-head p  {
    color: rgba(255,255,255,0.75);
  }
  .section-head  {
    margin-bottom: 0;
  }
  .why-grid  {
    gap: 0 3rem;
    margin-top: 2.5rem;
  }
  .why-item  {
    padding: 1.6rem 0;
    border-top: 1px solid rgba(255,255,255,0.16);
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
  }
  .why-item .tick  {
    flex: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-amber);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
  }
  .why-item .tick svg  {
    width: 16px;
    height: 16px;
    color: #1a1916;
  }
  .why-item h3  {
    font-size: var(--text-size-2xl);
    color: #fff;
    margin-bottom: 0.3rem;
    letter-spacing: 0.06em;
  }
  .why-item p  {
    color: rgba(255,255,255,0.78);
    font-size: var(--text-size-reg);
  }
  .why-item p strong  {
    color: #fff;
    font-weight: var(--font-weight-bold);
  }
  @media (max-width: 1023px)  {
    .why-grid  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-2686  {
  .section-head  {
    margin-bottom: 3rem;
  }
  .reviews-grid  {
    gap: 1.5rem;
  }
  .review-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    padding: 2rem 1.8rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .stars  {
    color: var(--color-amber);
    letter-spacing: 0.15em;
    font-size: var(--text-size-xl);
  }
  .review-card blockquote  {
    margin: 0;
    font-size: var(--text-size-lg);
    line-height: 1.5;
    color: var(--color-charcoal);
  }
  .review-author  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-light);
    margin-top: auto;
  }
  @media (max-width: 1023px)  {
    .reviews-grid  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .reviews-grid  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-2687  {
  &.content-section  {
    overflow: hidden;
  }
  .marquee  {
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 6%, #000 94%, transparent 100%);
  }
  .marquee-track  {
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
    width: max-content;
  }
  .marquee-item  {
    margin: 0;
    flex: 0 0 auto;
    width: 380px;
    height: 260px;
    border-radius: 2px;
    overflow: hidden;
  }
  .marquee-item img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  @media (max-width: 767px)  {
    .marquee-item  {
      width: 260px;
      height: 180px;
    }
  }
}
.content-section-2688  {
  .regions-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3.5rem;
    align-items: start;
  }
  .kicker  {
    font-size: 14px;
  }
  .regions h2  {
    font-size: 54px;
  }
  .region-lede  {
    margin: 1.8rem 0 0;
    font-size: var(--text-size-lg);
    line-height: 1.6;
    color: var(--color-charcoal-light);
  }
  .region-lede strong  {
    color: var(--color-amber-dark);
    font-weight: var(--font-weight-bold);
  }
  .region-note  {
    margin-top: 1.6rem;
    color: var(--color-charcoal-light);
    font-size: var(--text-size-lg);
  }
  .region-note strong  {
    color: var(--color-amber-dark);
    font-weight: var(--font-weight-bold);
  }
  .region-map  {
    position: relative;
    border-radius: 3px;
    overflow: hidden;
  }
  .region-map--live  {
    border: 1px solid var(--color-sand-warm);
    background: var(--color-sand);
    min-height: 380px;
  }
  .service-map  {
    width: 100%;
    height: 100%;
    min-height: 380px;
    object-fit: cover;
    display: block;
    background: var(--color-sand);
  }
  .region-map .map-badge  {
    position: absolute;
    inset: auto 0.5rem 0.5rem auto;
    background: var(--color-charcoal);
    color: #fff;
    padding: 0.5rem 0.8rem;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-sm);
    z-index: 1000;
    pointer-events: none;
  }
  .region-map .map-badge b  {
    color: var(--color-amber);
  }
  @media (max-width: 1023px)  {
    .regions-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
  @media (max-width: 767px)  {
    .regions h2  {
      font-size: 40px;
    }
  }
  @media (max-width: 639px)  {
    .regions h2  {
      font-size: 34px;
    }
  }
}
.content-section-2689  {
  .section-head  {
    margin-bottom: 2.5rem;
  }
  .core-accordion-01 details  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
  }
  .core-accordion-01 summary  {
    color: var(--color-charcoal);
  }
  .core-accordion-01 details p  {
    color: var(--color-charcoal-light);
    font-size: var(--text-size-reg);
  }
}
.content-section-2690  {
  &.content-section  {
    color: #fff;
    position: relative;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
    background-attachment: scroll;
  }
  .closing-grid  {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: start;
  }
  h2  {
    font-size: var(--text-size-12xl);
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 44ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
  }
  .closing-meta  {
    margin-top: 2.4rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(255,255,255,0.18);
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 2rem;
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-size-sm);
    color: rgba(255,255,255,0.78);
  }
  .closing-meta b  {
    color: var(--color-amber);
    font-weight: var(--font-weight-bold);
  }
  /* Click-to-reveal email — sits inline in the meta line like the surrounding text */ .eml-inline  {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    font: inherit;
    color: inherit;
    transition: color 0.15s ease;
  }
  .eml-inline:hover  {
    color: var(--color-amber);
  }
  @media (max-width: 767px)  {
    h2  {
      font-size: var(--text-size-9xl);
    }
  }
}
.content-section-2691  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/aerial-earthworks.jpg');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2692  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-2693  {
  .section-head  {
    margin-bottom: 3rem;
  }
  .feature-grid  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 3rem;
  }
  .service-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 4px solid var(--color-amber);
    padding: 2rem 1.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
  }
  a.service-card  {
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
  }
  a.service-card:hover  {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(26,25,22,0.14);
  }
  .service-num  {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    font-size: var(--text-size-2xl);
    color: var(--color-sand-warm);
  }
  .service-card h3  {
    color: var(--color-charcoal);
    letter-spacing: 0.06em;
  }
  .service-card p  {
    color: var(--color-charcoal-light);
    font-size: var(--text-size-reg);
  }
  .service-more  {
    margin-top: auto;
    padding-top: 1rem;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-amber-dark);
  }
  .service-card.is-dark-callout  {
    background: var(--color-charcoal);
    border-color: var(--color-charcoal);
  }
  .service-card.is-dark-callout h3  {
    color: #fff;
  }
  .service-card.is-dark-callout p  {
    color: rgba(255,255,255,0.8);
  }
  .service-card.is-dark-callout .service-more  {
    color: var(--color-amber);
  }
  @media (max-width: 1023px)  {
    .feature-grid  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .feature-grid  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 639px)  {
    /* On the smallest phones a long unbreakable word in a heading (e.g.
   "Underscrubbing") can push a card — and therefore the whole grid — wider than
   the viewport, causing horizontal scroll. Allow long words to break so the
   cards can shrink to fit. */ .service-card h3, .service-card p  {
      overflow-wrap: break-word;
      word-break: break-word;
    }
    .service-card  {
      min-width: 0;
    }
  }
}
.content-section-2694  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2695  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/land-clearing-2.webp');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2696  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-2697  {
}
.content-section-2698  {
}
.content-section-2699  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2700  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/new-home-1.webp');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2701  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-2702  {
}
.content-section-2703  {
}
.content-section-2704  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2705  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/fencelines-1.webp');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2706  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-2707  {
}
.content-section-2708  {
}
.content-section-2709  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2710  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/DSC06829.webp');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2711  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-2712  {
}
.content-section-2713  {
}
.content-section-2714  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2715  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/underscrubbing.webp');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2716  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-2717  {
}
.content-section-2718  {
}
.content-section-2719  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2720  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/excavator-cab-grapple.jpg');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2721  {
  .section-head  {
    margin-bottom: 3rem;
  }
  .step-list  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
    margin-top: 3rem;
  }
  .step  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 4px solid var(--color-amber);
    padding: 2rem 1.8rem;
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
  }
  .step-num  {
    font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    font-size: var(--text-size-8xl);
    line-height: 0.9;
    color: var(--color-amber);
  }
  .step h3  {
    font-size: var(--text-size-2xl);
    letter-spacing: 0.06em;
  }
  .step p  {
    color: var(--color-charcoal-light);
    font-size: var(--text-size-reg);
  }
  .callout  {
    background: var(--color-charcoal);
    color: #fff;
    border-left: 4px solid var(--color-amber);
    padding: 2.4rem;
    margin-top: 3rem;
    display: grid;
    gap: 0.9rem;
  }
  .callout h3  {
    color: #fff;
    font-size: var(--text-size-2xl);
    letter-spacing: 0.06em;
  }
  .callout p  {
    color: rgba(255,255,255,0.8);
    max-width: 75ch;
  }
  @media (max-width: 1023px)  {
    .step-list  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .step-list  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-2722  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2723  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/why-excavator.jpg');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2724  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-2725  {
  .cred-grid  {
    gap: 0;
  }
  .cred-trust  {
    text-align: center;
    color: var(--color-amber);
    font-family: "Barlow", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.22em;
    font-size: var(--text-size-sm);
    margin-bottom: 2.4rem;
  }
  .cred-tile  {
    text-align: center;
    padding: 0.5rem 1.5rem;
    border-left: 1px solid rgba(255,255,255,0.14);
  }
  .cred-tile:first-child  {
    border-left: 0;
  }
  .cred-num  {
    font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    font-size: var(--text-size-12xl);
    line-height: 0.9;
    color: var(--color-amber);
  }
  .cred-label  {
    color: rgba(255,255,255,0.9);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-size-xs);
    margin-top: 0.6rem;
  }
  @media (max-width: 767px)  {
    .cred-grid  {
      grid-template-columns: 1fr;
    }
    .cred-tile  {
      border-left: 0;
      border-top: 1px solid rgba(255,255,255,0.14);
      padding: 1.5rem;
    }
    .cred-tile:first-child  {
      border-top: 0;
    }
  }
}
.content-section-2726  {
  &.content-section  {
    color: #fff;
  }
  .section-head .kicker  {
    color: var(--color-amber-light);
  }
  .why-grid  {
    gap: 0 3rem;
    margin-top: 2.5rem;
  }
  .why-item  {
    padding: 1.6rem 0;
    border-top: 1px solid rgba(255,255,255,0.16);
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
  }
  .why-item .tick  {
    flex: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-amber);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
  }
  .why-item .tick svg  {
    width: 16px;
    height: 16px;
    color: #1a1916;
  }
  .why-item h3  {
    font-size: var(--text-size-2xl);
    color: #fff;
    margin-bottom: 0.3rem;
    letter-spacing: 0.06em;
  }
  .why-item p  {
    color: rgba(255,255,255,0.78);
    font-size: var(--text-size-reg);
  }
  .why-item p strong  {
    color: #fff;
    font-weight: var(--font-weight-bold);
  }
  @media (max-width: 1023px)  {
    .why-grid  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-2727  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2728  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/log-carry-wide.jpg');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2729  {
  .section-head  {
    margin-bottom: 2.5rem;
  }
  .core-accordion-01 details  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
  }
  .core-accordion-01 summary  {
    color: var(--color-charcoal);
  }
  .core-accordion-01 details p  {
    color: var(--color-charcoal-light);
    font-size: var(--text-size-reg);
  }
}
.content-section-2730  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/closing-grapple.jpg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
}
.content-section-2731  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/operator-machine.jpg');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
}
.content-section-2732  {
  &.content-section  {
    color: #fff;
  }
  .closing-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .closing-intro, .closing-intro h2  {
    text-align: left;
  }
  h2  {
    font-size: var(--text-size-12xl);
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 44ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
  }
  .closing-meta  {
    margin-top: 2.4rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(255,255,255,0.18);
    display: grid;
    gap: 0.8rem;
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-size-sm);
    color: rgba(255,255,255,0.78);
  }
  .closing-meta b  {
    color: var(--color-amber);
    font-weight: var(--font-weight-bold);
  }
  /* Click-to-reveal email — sits inline in the contact line like the surrounding text */ .eml-inline  {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    font: inherit;
    color: inherit;
    transition: color 0.15s ease;
  }
  .eml-inline:hover  {
    color: var(--color-amber);
  }
  /* Form heading now sits ABOVE the form (moved out of the form tag so the form
   itself can live in a shared snippet). Style it to match the white card top. */ .form-col  {
    background: #fff;
    color: var(--color-charcoal);
    padding: 2.2rem;
    border-radius: 3px;
    border-top: 4px solid var(--color-amber);
  }
  .form-heading  {
    color: var(--color-charcoal);
    margin-bottom: 1.4rem;
    font-size: var(--text-size-4xl);
  }
  /* The snippet form no longer needs its own card chrome (the .form-col wrapper
   provides it), so strip the padding/border/background off .quote-form here. */ .form-col .quote-form  {
    background: none;
    padding: 0;
    border: 0;
    border-radius: 0;
  }
  @media (max-width: 1023px)  {
    .closing-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
  @media (max-width: 767px)  {
    h2  {
      font-size: var(--text-size-9xl);
    }
    .form-col  {
      padding: 1.5rem;
    }
    .form-col .core-form-grid-half  {
      grid-column: span 6;
    }
  }
}
.content-section-2733  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/stick-rake-wide.jpg');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
  /* This IS the Get a Quote page, so the "Get a Free Quote" button in the hero is
   redundant (it just links back to this same page). Hide it so only the Call
   CTA remains in the hero. */ .hero-cta .btn-ghost  {
    display: none;
  }
}
.content-section-2734  {
  &.content-section  {
    color: #fff;
  }
  .closing-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: start;
  }
  .closing-intro, .closing-intro h2  {
    text-align: left;
  }
  h2  {
    font-size: var(--text-size-12xl);
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 44ch;
    text-wrap: pretty;
  }
  .closing-lede + .closing-lede  {
    margin-top: 1rem;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
  }
  .closing-meta  {
    margin-top: 2.4rem;
    padding-top: 1.6rem;
    border-top: 1px solid rgba(255,255,255,0.18);
    display: grid;
    gap: 0.8rem;
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-size-sm);
    color: rgba(255,255,255,0.78);
  }
  .closing-meta b  {
    color: var(--color-amber);
    font-weight: var(--font-weight-bold);
  }
  /* Click-to-reveal email — sits inline in the contact line like the surrounding text */ .eml-inline  {
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
    font: inherit;
    color: inherit;
    transition: color 0.15s ease;
  }
  .eml-inline:hover  {
    color: var(--color-amber);
  }
  /* Form heading now sits ABOVE the form (moved out of the form tag so the form
   itself can live in a shared snippet). Style it to match the white card top. */ .form-col  {
    background: #fff;
    color: var(--color-charcoal);
    padding: 2.2rem;
    border-radius: 3px;
    border-top: 4px solid var(--color-amber);
  }
  .form-heading  {
    color: var(--color-charcoal);
    margin-bottom: 1.4rem;
    font-size: var(--text-size-4xl);
  }
  /* The snippet form no longer needs its own card chrome (the .form-col wrapper
   provides it), so strip the padding/border/background off .quote-form here. */ .form-col .quote-form  {
    background: none;
    padding: 0;
    border: 0;
    border-radius: 0;
  }
  @media (max-width: 1023px)  {
    .closing-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
  @media (max-width: 767px)  {
    h2  {
      font-size: var(--text-size-9xl);
    }
    .form-col  {
      padding: 1.5rem;
    }
    .form-col .core-form-grid-half  {
      grid-column: span 6;
    }
  }
}
.content-section-3087  {
  &.content-section  {
    position: relative;
    color: #fff;
    display: flex;
    align-items: flex-end;
    min-height: 46vh;
    background-image: linear-gradient(180deg, rgba(17,16,9,0.66) 0%, rgba(17,16,9,0.45) 45%, rgba(17,16,9,0.85) 100%), url('/site-assets/images/stockleigh-03.jpg');
    background-size: cover;
    background-position: center;
  }
  .content-section-inner  {
    width: 100%;
    padding-top: 5rem;
  }
  .crumb  {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    font-size: var(--text-size-2xs);
    color: var(--color-amber-light);
    margin-bottom: 1.1rem;
  }
  .crumb a  {
    color: rgba(255,255,255,0.72);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  .crumb a:hover  {
    color: var(--color-amber);
  }
  .crumb .sep  {
    color: rgba(255,255,255,0.38);
  }
  h1  {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    max-width: 22ch;
    text-shadow: 0 2px 24px rgba(0,0,0,0.35);
  }
  h1 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  /* Force the three-line break on desktop/tablet */ .h1-break  {
    display: block;
  }
  .hero-lede  {
    font-size: var(--text-size-xl);
    max-width: 54ch;
    margin-top: 1.2rem;
    color: rgba(255,255,255,0.92);
  }
  .hero-cta  {
    margin-top: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
  }
  @media (max-width: 767px)  {
    /* On phones, let the heading wrap naturally instead of forcing the hard breaks */ .h1-break  {
      display: none;
    }
  }
}
.content-section-3088  {
  .about-grid  {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
  }
  .about-copy p + p  {
    margin-top: 1.2rem;
  }
  .section-head  {
    margin-bottom: 1.6rem;
  }
  .about-photo  {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
  }
  .about-photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .about-stamp  {
    position: absolute;
    left: 1.4rem;
    bottom: 1.4rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.6rem 1rem;
    font-size: var(--text-size-lg);
    line-height: 1;
  }
  @media (max-width: 1023px)  {
    .about-grid  {
      grid-template-columns: 1fr;
      gap: 2.5rem;
    }
  }
}
.content-section-3089  {
  .cred-grid  {
    gap: 0;
  }
  .cred-tile  {
    text-align: center;
    padding: 0.5rem 1.5rem;
    border-left: 1px solid rgba(255,255,255,0.14);
  }
  .cred-tile:first-child  {
    border-left: 0;
  }
  .cred-num  {
    font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    font-size: var(--text-size-12xl);
    line-height: 0.9;
    color: var(--color-amber);
  }
  .cred-label  {
    color: rgba(255,255,255,0.9);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: var(--font-weight-semibold);
    font-size: var(--text-size-xs);
    margin-top: 0.6rem;
  }
  @media (max-width: 767px)  {
    .cred-grid  {
      grid-template-columns: 1fr;
    }
    .cred-tile  {
      border-left: 0;
      border-top: 1px solid rgba(255,255,255,0.14);
      padding: 1.5rem;
    }
    .cred-tile:first-child  {
      border-top: 0;
    }
  }
}
.content-section-3090  {
  /* The site-wide .section-head caps width at 56ch, which is what forces the
   heading to wrap. Let this section's intro block size to its content so the
   H2 can sit on one line where there's room. */ .section-head  {
    margin-bottom: 2.5rem;
    max-width: none;
  }
  .index-grid  {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.25rem;
  }
  .index-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.3rem;
    text-decoration: none;
    color: var(--color-charcoal);
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  }
  .index-card:hover  {
    transform: translateY(-3px);
    box-shadow: 0 12px 26px rgba(26,25,22,0.12);
    border-color: var(--color-amber);
  }
  .index-num  {
    font-family: "Bebas Neue", "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-xbold);
    font-size: var(--text-size-4xl);
    line-height: 1;
    color: var(--color-amber);
  }
  .index-title  {
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: var(--text-size-lg);
    line-height: 1.15;
    color: var(--color-charcoal);
  }
  .index-tag  {
    margin-top: auto;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
  }
  @media (max-width: 1023px)  {
    .index-grid  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .index-grid  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3091  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo-row  {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .photo-row.cols-2  {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 16 / 10;
  }
  .photo-cap  {
    position: absolute;
    left: 0.9rem;
    bottom: 0.9rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 767px)  {
    .photo-row, .photo-row.cols-2  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3092  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: var(--color-bone);
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .photo.wide img  {
    aspect-ratio: 21 / 9;
  }
  .photo-cap  {
    position: absolute;
    left: 0.9rem;
    bottom: 0.9rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3093  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo-row  {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .photo-row + .photo-row  {
    margin-top: 1.1rem;
  }
  .photo-row.cols-4  {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4 / 3;
  }
  .photo-cap  {
    position: absolute;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  .photo-cap.top  {
    top: 0.9rem;
    left: 0.9rem;
  }
  .photo-cap.dark  {
    background: var(--color-charcoal);
    color: #fff;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
    .photo-row.cols-4  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .photo-row, .photo-row.cols-4  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3094  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: var(--color-bone);
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo-row  {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .photo-row + .photo-row  {
    margin-top: 1.1rem;
  }
  .photo-row.cols-4  {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4 / 3;
  }
  .photo-cap  {
    position: absolute;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  .photo-cap.top  {
    top: 0.9rem;
    left: 0.9rem;
  }
  .photo-cap.dark  {
    background: var(--color-charcoal);
    color: #fff;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
    .photo-row.cols-4  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .photo-row, .photo-row.cols-4  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3095  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo-row  {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .photo-row.cols-1  {
    grid-template-columns: 1fr;
  }
  .photo-row + .photo-row  {
    margin-top: 1.1rem;
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
  .photo.wide img  {
    aspect-ratio: 21 / 9;
  }
  .photo.tall img  {
    aspect-ratio: 3 / 4;
  }
  .photo-cap  {
    position: absolute;
    left: 0.9rem;
    bottom: 0.9rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
    .photo-row.portrait  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .photo-row.portrait  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
}
.content-section-3096  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: var(--color-bone);
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo-row  {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .photo-row + .photo-row  {
    margin-top: 1.1rem;
  }
  .photo-row.cols-4  {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4 / 3;
  }
  .photo.tall45 img  {
    aspect-ratio: 4 / 5;
  }
  .photo-cap  {
    position: absolute;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  .photo-cap.top  {
    top: 0.9rem;
    left: 0.9rem;
  }
  .photo-cap.dark  {
    background: var(--color-charcoal);
    color: #fff;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
    .photo-row.cols-4  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .photo-row.cols-4  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3097  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: #fff;
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo-row  {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4 / 3;
  }
  .photo-cap  {
    position: absolute;
    left: 0.9rem;
    bottom: 0.9rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 767px)  {
    .photo-row  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3098  {
  .project-head  {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
  }
  .project-heading h2  {
    margin: 0.4rem 0 0.6rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
  }
  .project-loc  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: var(--text-size-xs);
    color: var(--color-charcoal-lighter);
  }
  .project-copy p + p  {
    margin-top: 1.1rem;
  }
  .project-copy p  {
    color: var(--color-charcoal-light);
  }
  .spec-row  {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
    margin-bottom: 2.5rem;
  }
  .spec-card  {
    background: var(--color-bone);
    border: 1px solid var(--color-sand-warm);
    border-top: 3px solid var(--color-amber);
    padding: 1.4rem 1.4rem;
  }
  .spec-label  {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: var(--text-size-2xs);
    color: var(--color-charcoal-lighter);
    margin-bottom: 0.5rem;
  }
  .spec-value  {
    font-weight: var(--font-weight-medium);
    color: var(--color-charcoal);
  }
  .photo-row  {
    display: grid;
    gap: 1.1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .photo-row.cols-1  {
    grid-template-columns: 1fr;
  }
  .photo-row + .photo-row  {
    margin-top: 1.1rem;
  }
  .photo  {
    position: relative;
    margin: 0;
    border-radius: 3px;
    overflow: hidden;
  }
  .photo img  {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 4 / 3;
  }
  .photo.wide img  {
    aspect-ratio: 21 / 9;
  }
  .photo-cap  {
    position: absolute;
    left: 0.9rem;
    bottom: 0.9rem;
    background: var(--color-amber);
    color: #1a1916;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: var(--text-size-2xs);
    padding: 0.45rem 0.7rem;
  }
  @media (max-width: 1023px)  {
    .project-head  {
      grid-template-columns: 1fr;
      gap: 1.6rem;
    }
    .spec-row  {
      grid-template-columns: 1fr;
    }
    .photo-row.cols-4  {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 767px)  {
    .photo-row.cols-4  {
      grid-template-columns: 1fr;
    }
  }
}
.content-section-3099  {
  &.content-section  {
    color: #fff;
    position: relative;
    text-align: left;
    background: linear-gradient(180deg, rgba(17,16,9,0.86) 0%, rgba(17,16,9,0.78) 100%), url('/site-assets/images/pipeline-05.jpeg') center / cover no-repeat;
  }
  .kicker  {
    color: var(--color-amber-light);
    margin-bottom: 1rem;
    display: inline-flex;
  }
  h2  {
    font-size: clamp(2.4rem, 4.5vw, 4.2rem);
    max-width: 22ch;
    margin-left: 0;
  }
  h2 em  {
    color: var(--color-amber);
    font-style: normal;
  }
  /* Force "On This Page?" onto its own line on desktop */ .h2-break  {
    display: block;
  }
  .closing-lede  {
    margin-top: 1.4rem;
    color: rgba(255,255,255,0.82);
    font-size: var(--text-size-xl);
    max-width: 52ch;
    text-wrap: pretty;
  }
  .closing-cta  {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin-top: 2rem;
    justify-content: flex-start;
  }
  @media (max-width: 767px)  {
    /* On phones, let the heading wrap naturally instead of forcing the hard break */ .h2-break  {
      display: none;
    }
  }
}
.content-section-3172  {
  /* Hidden by default (desktop). The bar is revealed only at the tablet/mobile
   breakpoints below. The OUTER wrapper is the fixed element. */ &.content-section  {
    display: none;
  }
  .content-section-inner  {
    display: flex;
    width: 100%;
    gap: 0;
  }
  /* Each CTA is half the bar */ .mcta  {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    text-decoration: none;
    font-family: "Barlow", sans-serif;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-size: var(--text-size-sm);
    padding: 1rem 0.75rem;
    line-height: 1;
  }
  .mcta svg  {
    width: 1.15em;
    height: 1.15em;
    flex: none;
  }
  /* Call = dark, Quote = amber, so they read as two distinct actions */ .mcta-call  {
    background: var(--color-charcoal-light);
    color: #fff;
  }
  .mcta-quote  {
    background: var(--color-amber);
    color: #1a1916;
  }
  @media (max-width: 1023px)  {
    /* Reveal the fixed bottom CTA bar on tablet and below. It aligns with the point
   the header menu collapses to a hamburger, so the header-row CTA is hidden at
   the same width and these pinned CTAs take over. iOS safe-area padding keeps
   the buttons clear of the home indicator. */ &.content-section  {
      display: block;
      position: fixed;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1900;
      box-shadow: 0 -2px 14px rgba(0,0,0,0.28);
      padding-bottom: env(safe-area-inset-bottom, 0px);
    }
  }
}
