/* Base Styles - Design System from Reference Theme
 *
 * Organization (search these banners):
 *   1. Reset, typography, layout
 *   2. Header / nav / buttons / footer / forms (site chrome)
 *   3. Utilities, page shell, mobile drawer
 *   4. Heroes + homepage motion
 *   5. Homepage / hub services (tabs, panels, showcases)
 *   6. ABOUT SECTION (overview, org tree, values, enviro)
 *   7. CAREERS PAGE
 *   8. SERVICE DETAIL PAGES - sidebar layout
 *   9. CONTACT PAGE ENHANCEMENTS
 *
 * Tokens live in variables.css. Prefer var(--…) over hardcoding.
 */

/* Reset and Base Setup */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: var(--typeBaseWeight);
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  color: var(--colorTextBody);
  background-color: var(--colorBody);
  text-rendering: optimizeSpeed;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: clip;
  max-width: 100%;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: var(--typeHeaderWeight);
  line-height: var(--typeHeaderLineHeight);
  letter-spacing: var(--typeHeaderSpacing);
  text-transform: none;
  margin: 0 0 1em;
}

h1 {
  font-size: calc(var(--typeHeaderSize) * 0.85);
}

h2 {
  font-size: calc(var(--typeHeaderSize) * 0.9 * 0.85);
}

h3 {
  font-size: calc(var(--typeHeaderSize) * 0.85 * 0.85);
}

h4 {
  font-size: calc(var(--typeHeaderSize) * 0.61 * 0.85);
}

h5,
h6 {
  font-size: calc(var(--typeHeaderSize) * 0.5);
}

@media (min-width: 590px) {
  h1 {
    font-size: var(--typeHeaderSize);
  }

  h2 {
    font-size: calc(var(--typeHeaderSize) * 0.9);
  }

  h3 {
    font-size: calc(var(--typeHeaderSize) * 0.85);
  }

  h4 {
    font-size: calc(var(--typeHeaderSize) * 0.61);
  }
}

p {
  margin: 0 0 1em;
}

a {
  color: var(--colorLink);
  text-decoration: underline;
  transition: color var(--transitionDuration) var(--transitionEase);
}

a:hover {
  color: var(--colorTextBody);
}

strong, b {
  font-weight: 700;
}

em, i {
  font-style: italic;
}

/* Layout */
.page-width {
  max-width: var(--pageWidth);
  margin: 0 auto;
  padding: 0 var(--gridGutter);
}

@media (max-width: 589px) {
  .page-width {
    padding: 0 var(--gridGutterMobile);
  }
}



/* Grid System */
.grid {
  display: flex;
  flex-wrap: wrap;
  margin: 0 calc(var(--gridGutter) * -0.5);
}

.grid__item {
  padding: 0 calc(var(--gridGutter) * 0.5);
  width: 100%;
}

/* Header Styles - match Premiere Office Furniture Shopify header */
.site-header {
  background-color: var(--colorNav);
  color: var(--colorNavText);
  position: relative;
  z-index: var(--zIndexHeader);
  border-bottom: none;
  width: 100%;
  padding: 5px 0;
  box-sizing: border-box;
}

@media (min-width: 590px) {
  .site-header {
    padding: 20px 0;
  }
}



/* Home: overlay header on hero (Furniture homepage pattern) */
.home-page .site-header:not(.site-header--sticky) {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background-color: transparent;
}

/* Sticky Header */
.site-header--sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(-100%);
  opacity: 1;
  visibility: hidden;
  transition: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: var(--zIndexHeader);
}

@media (min-width: 590px) {
  .site-header--sticky {
    padding: 5px 0;
  }
}



.site-header--sticky.is-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), visibility 0s;
}

.header-wrapper {
  position: relative;
}

.header-wrapper--overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--zIndexHeader);
}

.header-layout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  padding: 0;
  height: auto;
  box-sizing: border-box;
  gap: 24px;
  min-width: 0;
  width: 100%;
}

.header-item {
  display: flex;
  align-items: center;
  min-width: 0;
}

/* Logo column: slightly larger than Furniture box so mark reads the same size */
.header-item--logo {
  flex: 0 0 auto;
  width: 214px;
  max-width: 100%;
  justify-content: flex-start;
  order: 0;
}

.header-item--navigation {
  display: flex;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.header-item--icons {
  flex: 0 0 auto;
  flex-shrink: 0;
  gap: 6px;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
}

/*
 * Logo ~7% larger than Furniture’s 186.68×93.75 box (artwork reads smaller).
 * Margins tightened so header stays ~160.4px with 20px vertical padding.
 */
.site-header__logo {
  display: block;
  position: relative;
  width: 200px;
  max-width: calc(100% - 14px);
  height: 100.5px;
  margin: 10px 14px 10px 0;
  line-height: 0;
  box-sizing: content-box;
}

.site-header__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

@media (max-width: 589px) {
  .header-item--logo {
    flex: 0 0 168px;
    width: 168px;
  }

  .site-header__logo {
    width: 168px;
    height: 84px;
    margin: 8px 0;
  }
}



/* Navigation */
.site-nav {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 100%;
}

.site-nav__item {
  position: relative;
  flex-shrink: 0;
}

.site-nav__link {
  font-family: var(--typeNavigationPrimary), var(--typeNavigationFallback);
  font-size: var(--typeNavigationSize);
  font-weight: var(--typeNavigationWeight);
  letter-spacing: normal;
  line-height: var(--typeNavigationLineHeight);
  color: var(--colorNavText);
  text-decoration: none;
  padding: 15px 30px;
  min-height: 0;
  display: flex;
  align-items: center;
  white-space: nowrap;
  transition: opacity var(--transitionDuration) var(--transitionEase);
  text-transform: none;
  text-shadow: none;
}

.site-header--heading-style .site-nav__link {
  font-family: var(--typeNavigationPrimary), var(--typeNavigationFallback);
  font-weight: var(--typeNavigationWeight);
  letter-spacing: normal;
  line-height: var(--typeNavigationLineHeight);
}

.mobile-nav__link {
  font-family: var(--typeNavigationPrimary), var(--typeNavigationFallback);
  font-size: var(--typeNavigationSize);
  font-weight: var(--typeNavigationWeight);
  letter-spacing: normal;
  color: var(--colorDrawerText);
  text-decoration: none;
  display: block;
  padding: 12px 0;
  text-transform: none;
  transition: opacity var(--transitionDuration) var(--transitionEase);
}

.mobile-nav__link:hover {
  opacity: 0.8;
}

.site-nav__link:hover {
  opacity: 0.8;
  color: var(--colorNavText);
}

/* Dropdown Navigation */
.site-nav__item--has-dropdown {
  position: relative;
  z-index: 3;
}

.site-nav__link--dropdown {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
}

.site-nav__link--dropdown .icon-chevron-down {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  stroke-width: 1.75;
  fill: none;
  opacity: 0.85;
  filter: none; /* no drop-shadow on nav caret */
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-nav__item--has-dropdown:hover .site-nav__link--dropdown .icon-chevron-down,
.site-nav__link--dropdown[aria-expanded="true"] .icon-chevron-down {
  transform: rotate(180deg);
  opacity: 1;
}

.site-nav__dropdown {
  position: absolute;
  top: calc(100% - 4px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: var(--colorBtnPrimary);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 4px;
  min-width: 200px;
  padding: 6px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0.18s ease;
  z-index: 100;
  list-style: none;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

/* Bridge gap so hover doesn't drop between link and menu */
.site-nav__dropdown::before {
  content: '';
  position: absolute;
  top: -10px;
  left: 0;
  right: 0;
  height: 10px;
}

/* Small caret pointing up to Moving */
.site-nav__dropdown::after {
  content: '';
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  background: var(--colorBtnPrimary);
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  transform: translateX(-50%) rotate(45deg);
}

.site-nav__item--has-dropdown:hover .site-nav__dropdown,
.site-nav__item--has-dropdown:focus-within .site-nav__dropdown,
.site-nav__link--dropdown[aria-expanded="true"] + .site-nav__dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.site-nav__dropdown li {
  margin: 0;
}

.site-nav__dropdown .site-nav__link {
  font-family: var(--typeNavigationPrimary), var(--typeNavigationFallback);
  padding: 10px 14px;
  line-height: 1.35;
  min-height: 0;
  white-space: nowrap;
  border-radius: 3px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: normal;
  text-shadow: none;
  opacity: 1;
  justify-content: center;
  text-align: center;
  transition:
    background-color 0.15s ease,
    color 0.15s ease;
}

.site-nav__dropdown .site-nav__link:hover,
.site-nav__dropdown .site-nav__link:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  opacity: 1;
  color: var(--colorBody);
  outline: none;
}

.site-nav__dropdown .site-nav__link:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(var(--colorAccentRgb), 0.65);
}

/* Header Phone */
.header-phone {
  font-family: var(--typeNavigationPrimary), var(--typeNavigationFallback);
  font-size: var(--typeNavigationSize);
  font-weight: var(--typeNavigationWeight);
  color: var(--colorNavText);
  text-decoration: none;
  margin-right: 0;
  padding: 10px 20px;
  border: 2px solid var(--colorBody);
  border-radius: 4px;
  transition: all var(--transitionDuration) var(--transitionEase);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-shadow: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  flex-shrink: 0;
}

.header-phone:hover {
  background-color: var(--colorBody);
  color: var(--colorNav);
  text-shadow: none;
  opacity: 1;
}

.header-phone:hover .icon-phone {
  stroke: var(--colorBlack);
  color: var(--colorBlack);
}

/* Mid-width: slight shrink only - match Furniture spacing at full width,
   then hamburger below 1024px instead of crushing the nav text. */
@media (min-width: 1024px) and (max-width: 1299px) {
  .header-layout {
    gap: 16px;
  }

  .header-item--logo {
    width: 180px;
  }

  .site-header__logo {
    width: 168px;
    height: 84px;
    margin: 8px 10px 8px 0;
  }

  .site-nav > .site-nav__item > .site-nav__link {
    font-size: 16px;
    padding: 12px 20px;
  }

  .site-nav__link--dropdown .icon-chevron-down {
    width: 11px;
    height: 11px;
  }

  .header-phone {
    padding: 8px 14px;
    font-size: 16px;
    gap: 6px;
  }

  .header-phone .icon-phone {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 589px) {
  :root {
    --siteHeaderHeight: 110px;
  }

  .header-layout {
    height: auto;
    min-height: 0;
    padding: 0;
  }

  .header-phone {
    margin-right: 8px;
    padding: 8px 12px;
    font-size: 14px;
    gap: 6px;
  }
}

@media (max-width: 420px) {
  :root {
    --siteHeaderHeight: 100px;
  }

  .header-layout {
    min-height: 0;
    padding: 0;
    gap: 6px;
  }

  .header-item--logo {
    flex: 0 0 155px;
    width: 155px;
  }

  .site-header__logo {
    width: 155px;
    height: 78px;
  }

  .header-phone {
    margin-right: 0;
    padding: 8px 9px;
    font-size: 0;
    line-height: 0;
    gap: 0;
  }

  .header-phone .icon {
    width: 18px;
    height: 18px;
  }

  .site-nav__link--icon {
    padding: 8px 9px;
    margin: 0;
  }

  .site-nav__link--icon .icon-hamburger {
    width: 18px;
    height: 18px;
  }
}



/* Buttons */
.btn {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: var(--typeHeaderWeight);
  letter-spacing: var(--typeHeaderSpacing);
  line-height: var(--typeHeaderLineHeight);
  -webkit-appearance: none;
  appearance: none;
  background: var(--colorBtnPrimary);
  border: 1px solid transparent;
  border-radius: var(--radiusButton);
  color: var(--colorBtnPrimaryText);
  cursor: pointer;
  display: inline-block;
  font-size: 16px;
  line-height: 1.42;
  margin: 0;
  min-width: 90px;
  padding: 11px 20px;
  text-align: center;
  text-decoration: none;
  transition: all var(--transitionDuration) var(--transitionEase);
  user-select: none;
  vertical-align: middle;
  white-space: normal;
  width: auto;
}

.btn:hover {
  background-color: var(--colorBtnPrimaryDim);
  color: var(--colorBtnPrimaryText);
}

.btn:active {
  opacity: 0.6;
  transition: opacity 0.1s ease;
}

.btn[disabled],
.btn.disabled {
  background-color: var(--colorSurfaceDisabled) !important;
  color: var(--colorTextDisabled);
  cursor: default;
  opacity: 1;
}

.btn--tertiary {
  background-color: transparent;
  border: 1px solid var(--colorBorder);
  color: var(--colorTextBody);
  font-size: 12px;
  font-weight: 400;
  padding: 6px 10px;
}

.btn--tertiary:hover {
  background-color: transparent;
  border-color: var(--colorTextBody);
  color: var(--colorTextBody);
}

.btn--small {
  font-size: 14px;
  min-width: 100px;
  padding: 8px 13px;
}

.btn--large {
  font-size: 18px;
  padding: 15px 20px;
}

.btn--full {
  width: 100%;
}

.btn--inverse {
  background-color: transparent !important;
  border: 2px solid var(--colorHeroText);
  color: var(--colorHeroText);
}

.btn--inverse:hover,
.btn--inverse:active {
  background-color: var(--colorHeroText) !important;
  color: var(--colorNav) !important;
}

/* Footer */
.site-footer {
  background-color: var(--colorFooter);
  color: var(--colorFooterText);
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: var(--typeBaseWeight);
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  padding: 48px 0 24px;
  margin-top: auto;
}

@media (max-width: 589px) {
  .site-footer {
    padding: 36px 0 20px;
  }
}



.footer-grid {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 48px;
  align-items: start;
  padding-bottom: 36px;
}

@media (max-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}

@media (max-width: 589px) {
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    padding-bottom: 28px;
  }
}



.footer__item {
  margin: 0;
}

.footer__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 0 0 1em;
  text-transform: capitalize;
}

.footer__content {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) - 1px);
  line-height: 1.6;
}

.footer__content a {
  color: var(--colorFooterText);
  text-decoration: none;
  transition: opacity var(--transitionDuration) var(--transitionEase);
}

.footer__content a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.footer-nav,
.footer-legal {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-nav li,
.footer-legal li {
  margin: 0 0 8px;
}

.footer-nav li:last-child,
.footer-legal li:last-child {
  margin-bottom: 0;
}

.footer-contact {
  margin: 0;
}

.footer-contact strong {
  display: block;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: var(--typeBaseSize);
  font-weight: 600;
  line-height: 1.4;
  margin-bottom: 6px;
}

.footer-contact address {
  font-style: normal;
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding-top: 22px;
  border-top: 1px solid var(--colorFooterTextAlpha012);
}

@media (max-width: 768px) {
  .site-footer__bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
}



/* Footer Bottom */
.footer-bottom-content {
  margin: 0;
  font-size: 14px;
  color: var(--colorFooterTextAlpha06);
}

.footer-bottom-content p {
  margin: 0;
}

.footer-links {
  font-size: 14px;
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
}

.footer-links a {
  color: var(--colorFooterText);
  text-decoration: none;
  transition: opacity var(--transitionDuration) var(--transitionEase);
}

.footer-links a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/* Forms */
.form-group {
  margin-bottom: 20px;
}

label:not(.checkbox-label):not(.radio-label) {
  display: block;
  margin-bottom: 5px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-weight: 500;
  text-transform: capitalize;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  width: 100%;
  padding: 10px 15px;
  border: 1px solid var(--colorBorder);
  border-radius: var(--radiusInput);
  background-color: var(--colorInputBg);
  color: var(--colorInputText);
  transition: border-color var(--transitionDuration) var(--transitionEase);
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--colorTextBody);
}

textarea {
  min-height: 120px;
  resize: vertical;
}

/* Icons */
.icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  fill: none;
  stroke: currentColor;
  stroke-width: var(--iconWeight);
  stroke-linecap: var(--iconLinecaps);
  stroke-linejoin: var(--iconLinecaps);
}

.icon--wide {
  width: 28px;
}

/* Header Icons - White for visibility over hero image */
.site-header .icon {
  color: var(--colorBody);
  stroke: var(--colorBody);
  filter: drop-shadow(1px 1px 2px rgba(0, 0, 0, 0.5));
}

.site-nav__link--icon {
  color: var(--colorBody);
}

.site-nav__link--icon .icon {
  color: var(--colorBody);
  stroke: var(--colorBody);
}

/* Match hamburger control to the phone icon button when nav collapses */
@media (max-width: 1023px) {
  .header-item--icons {
    align-items: center;
  }

  .site-nav__link--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    min-height: 0;
    height: auto;
    margin: 0;
    padding: 8px 9px;
    border: 2px solid var(--colorBody);
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    background: transparent;
  }

  .site-nav__link--icon .icon-hamburger {
    width: 18px;
    height: 18px;
    display: block;
  }
}



/* Utility Classes */
.visually-hidden {
  position: absolute !important;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  clip: rect(0 0 0 0);
  word-wrap: normal !important;
}

.text-center {
  text-align: center;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.hide {
  display: none !important;
}

.show {
  display: block !important;
}

@media (max-width: 589px) {
  .small--hide {
    display: none !important;
  }
}

@media (min-width: 590px) and (max-width: 768px) {
  .medium--hide {
    display: none !important;
  }
}

@media (min-width: 1024px) {
  .large-up--hide {
    display: none !important;
  }
}

@media (max-width: 1023px) {
  .medium-down--hide {
    display: none !important;
  }
}



/* Section Spacing */
.section {
  padding: var(--spacingSection) 0;
}

@media (max-width: 589px) {
  .section {
    padding: var(--spacingSectionMobile) 0;
  }
}



/* Page Content */
.page-content {
  padding: var(--spacingSection) 0;
  min-height: 50vh;
}

/* 404 Page */
.error-page {
  background:
    linear-gradient(180deg, var(--colorBodyLightDim) 0%, var(--colorBody) 55%);
}

.error-page .page-content {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(62vh, 640px);
}

.section-header--404 {
  text-align: center;
  padding: calc(var(--spacingSection) * 1.25) 0;
  max-width: 34rem;
  margin: 0 auto;
}

.section-header--404::after {
  margin-top: 2rem;
}

.section-header--404__code {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: clamp(4.5rem, 10vw, 7rem);
  font-weight: var(--typeHeaderWeight);
  line-height: 0.95;
  letter-spacing: -0.02em;
  color: var(--colorTextBodyAlpha035);
  margin: 0 0 0.2em;
}

.section-header--404 .section-header__title {
  font-size: calc(var(--typeHeaderSize) * 1.35);
  margin-bottom: 0.65em;
}

.section-header--404 .rte {
  margin: 0 auto 2rem;
  max-width: 28rem;
}

.section-header--404 .rte p {
  margin: 0;
  font-size: calc(var(--typeBaseSize) * 1.05);
  color: var(--colorTextBody);
}

.section-header--404 .rte a {
  color: var(--colorTextBody);
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.section-header--404__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
}

.section-header--404__actions .btn {
  min-width: 11.5rem;
}

.section-header--404__actions .btn--secondary {
  background-color: transparent;
  border: 1px solid var(--colorTextBody);
  color: var(--colorTextBody);
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: 500;
}

.section-header--404__actions .btn--secondary:hover {
  background-color: var(--colorTextBody);
  color: var(--colorBtnPrimaryText);
}

.form-success-page .page-content {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(52vh, 560px);
}

.section-header--success {
  text-align: center;
  padding: calc(var(--spacingSection) * 1.1) 0;
  max-width: 34rem;
  margin: 0 auto;
}

.section-header--success__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  margin: 0 0 1rem;
  border-radius: 50%;
  background: var(--colorTextBody);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
}

.section-header--success .section-header__title {
  font-size: calc(var(--typeHeaderSize) * 1.2);
  margin-bottom: 0.65em;
}

.section-header--success .rte {
  margin: 0 auto 2rem;
  max-width: 28rem;
}

.section-header--success .rte p {
  margin: 0;
  font-size: calc(var(--typeBaseSize) * 1.05);
  color: var(--colorTextBody);
}

.section-header--success__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.85rem;
}

.section-header--success__actions .btn {
  min-width: 11.5rem;
}

.section-header--success__actions .btn--secondary {
  background-color: transparent;
  border: 1px solid var(--colorTextBody);
  color: var(--colorTextBody);
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: 500;
}

.section-header--success__actions .btn--secondary:hover {
  background-color: var(--colorTextBody);
  color: var(--colorBtnPrimaryText);
}

/* Keep button text readable inside RTE content */
.rte a.btn {
  color: var(--colorBtnPrimaryText);
  text-decoration: none;
}

.rte a.btn:hover {
  color: var(--colorBtnPrimaryText);
}

.section-header__title {
  font-size: calc(var(--typeHeaderSize) * 2);
  margin-bottom: 0.5em;
}

/* RTE (Rich Text Editor) Content */
.rte {
  font-size: inherit;
  line-height: inherit;
}

.rte h1,
.rte h2,
.rte h3,
.rte h4,
.rte h5,
.rte h6 {
  margin-top: 2em;
  margin-bottom: 0.5em;
}

.rte h1:first-child,
.rte h2:first-child,
.rte h3:first-child,
.rte h4:first-child,
.rte h5:first-child,
.rte h6:first-child {
  margin-top: 0;
}

.rte a {
  color: var(--colorLink);
  text-decoration: underline;
}

.rte ul,
.rte ol {
  margin: 0 0 1em 1.5em;
  padding: 0;
}

.rte li {
  margin-bottom: 0.5em;
}

/* Animations */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Mobile Menu / Drawer */
.drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: min(300px, 85vw);
  max-width: 100%;
  background-color: var(--colorDrawers);
  color: var(--colorDrawerText);
  z-index: var(--zIndexDrawer);
  transform: translateX(-100%);
  transition: transform var(--transitionDuration) var(--transitionEase);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
}

.drawer--left {
  left: 0;
  right: auto;
  transform: translateX(-100%);
}

.drawer--right {
  right: 0;
  left: auto;
  transform: translateX(100%);
}

.drawer--open {
  transform: translateX(0);
  visibility: visible;
}

.drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid var(--colorDrawerBorder);
}

.drawer__logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 160px;
  max-height: 56px;
}

.drawer__close {
  background: none;
  border: none;
  color: var(--colorDrawerText);
  cursor: pointer;
  padding: 10px;
  flex-shrink: 0;
}

.drawer__close .icon {
  width: 24px;
  height: 24px;
  stroke: currentColor;
}

.drawer nav {
  padding: 12px 20px 32px;
}

.mobile-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav__item {
  border-bottom: none;
}

.mobile-nav__details {
  margin: 0;
}

.mobile-nav__summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.mobile-nav__summary::-webkit-details-marker {
  display: none;
}

.mobile-nav__summary .icon-chevron-down {
  width: 1.15em;
  height: 1.15em;
  flex-shrink: 0;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform var(--transitionDuration) var(--transitionEase);
}

.mobile-nav__details[open] .mobile-nav__summary .icon-chevron-down {
  transform: rotate(180deg);
}

.mobile-nav__dropdown {
  list-style: none;
  margin: 0 0 12px;
  padding: 0 0 0 12px;
}

.mobile-nav__sublink {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: var(--typeBaseWeight);
  letter-spacing: var(--typeBaseSpacing);
  color: var(--colorDrawerTextDarken);
  text-decoration: none;
  display: block;
  padding: 8px 0;
  text-transform: capitalize;
  transition: opacity var(--transitionDuration) var(--transitionEase);
}

.mobile-nav__sublink:hover,
.mobile-nav__sublink:focus {
  opacity: 0.8;
  color: var(--colorDrawerText);
}

.mobile-nav__phone .mobile-nav__link {
  font-weight: 700;
}

/* Overlay - sits under drawer; dim page while menu is open */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: var(--zIndexOverlay);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--transitionDuration) var(--transitionEase),
              visibility var(--transitionDuration) var(--transitionEase);
}

.overlay--visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* Skip to Content */
.skip-to-content {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  padding: 12px 16px;
  background: var(--colorBody);
  color: var(--colorTextBody);
  text-decoration: none;
  /* Fully off-screen until focused - previous top:-40px left a white sliver visible */
  transform: translateY(-120%);
  transition: transform 0.15s ease;
}

.skip-to-content:focus {
  transform: translateY(0);
  outline: 2px solid var(--colorTextBody);
  outline-offset: 2px;
}

/* Text Spacing */
.text-spacing {
  margin-bottom: 1.5em;
}

.text-spacing:last-child {
  margin-bottom: 0;
}

/* Hero Banner Styles */
.hero-banner {
  position: relative;
  overflow: hidden;
}

.hero {
  position: relative;
  height: 100vh;
  min-height: 750px;
  overflow: hidden;
}

/* Umbrella hero (reference / full-bleed): viewport height */
.hero-banner--umbrella .hero--650px {
  width: 100%;
  height: 100vh;
  min-height: 750px;
  aspect-ratio: unset;
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 768px) {
  .hero-banner--umbrella .hero--650px {
    min-height: 500px;
  }
}



/* Home hero (simple): full width, fixed 750px height (matches prior 1254×750 band) */
.hero-banner:not(.hero-banner--umbrella) .hero--650px {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  height: 750px;
  min-height: 0;
  max-height: none;
  aspect-ratio: unset;
}

@media (max-width: 768px) {
  .hero:not(.hero--650px) {
    height: 400px;
  }
}



.hero__image-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-image: url('../images/services/packing.webp'),
    url('../images/services/furniture-removal.webp');
  background-repeat: no-repeat, no-repeat;
  background-position: left top, right top;
  background-size: 50% 100%, 50% 100%;
}

.hero__image-wrapper::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.24),
    rgba(0, 0, 0, 0.32)
  );
  z-index: 1;
}

.hero-banner--left-content .hero__image-wrapper::after {
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.48) 0%,
      rgba(0, 0, 0, 0.32) 12%,
      rgba(0, 0, 0, 0.12) 24%,
      rgba(0, 0, 0, 0) 40%
    ),
    linear-gradient(
      to right,
      rgba(0, 0, 0, 0.52) 0%,
      rgba(0, 0, 0, 0.4) 36%,
      rgba(0, 0, 0, 0.2) 58%,
      rgba(0, 0, 0, 0.06) 100%
    );
}

.hero__image {
  display: none;
}

/* Simple hero (home): show photo; umbrella hero uses division cards / other art */
.hero-banner:not(.hero-banner--umbrella) .hero__image-wrapper {
  background-image: none;
}

.hero-banner:not(.hero-banner--umbrella) .hero__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero__text-wrap {
  position: absolute;
  top: var(--siteHeaderHeight);
  left: 0;
  width: 100%;
  height: calc(100% - var(--siteHeaderHeight));
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__text-content {
  text-align: center;
  color: var(--colorHeroText);
  max-width: 1200px;
  padding: 0 20px;
}

.hero__text-content.vertical-center {
  align-items: center;
}

.hero__text-content.horizontal-center {
  text-align: center;
}

.hero__title {
  font-size: 64px;
  font-weight: var(--typeHeaderWeight);
  line-height: var(--typeHeaderLineHeight);
  margin-bottom: 12px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
  white-space: nowrap;
}

@media (max-width: 1200px) {
  .hero__title {
    font-size: 54px;
  }
}

@media (max-width: 768px) {
  .hero__title {
    font-size: 44px;
    white-space: normal;
  }
}



.hero__subtitle {
  font-size: 24px;
  line-height: 1.4;
  margin-bottom: 20px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.hero__description {
  font-size: 16px;
  line-height: 1.6;
  max-width: 620px;
  margin: 0 0 24px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.45);
}

.hero__eyebrow {
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.9);
}

.hero__text-content--left {
  text-align: left;
  max-width: 820px;
  margin-right: auto;
  padding-left: 10px;
}

.hero-banner--left-content .hero__title {
  white-space: normal;
  max-width: 780px;
}

.hero-banner--left-content .hero__text-wrap {
  justify-content: flex-start;
}

.hero-banner--left-content .hero__text-wrap .page-width {
  width: 100%;
}

.hero-banner--left-content .hero__cta-group {
  flex-direction: row;
  gap: 14px;
  align-items: flex-start;
}

.hero-banner--left-content .hero__cta-item {
  align-items: flex-start;
}

.hero-banner--left-content .hero__cta-note {
  display: none;
}

.hero-banner--left-content .hero__cta {
  min-width: 220px;
  padding: 12px 28px;
  border-radius: 8px;
  font-weight: 700;
  text-shadow: none;
}

.hero-banner--left-content .hero__cta--primary {
  background-color: var(--colorAccent);
  border-color: var(--colorAccent);
  color: var(--colorBtnPrimary);
}

.hero-banner--left-content .hero__cta--primary:hover {
  background-color: var(--colorAccentHover);
  border-color: var(--colorAccentHover);
  color: var(--colorBtnPrimary);
  text-shadow: none;
}

.hero-banner--left-content .hero__cta--secondary {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.9);
  color: var(--colorBody);
}

.hero-banner--left-content .hero__cta--secondary:hover {
  background-color: var(--colorBody);
  border-color: var(--colorBody);
  color: var(--colorBtnPrimary);
}

@media (max-width: 768px) {
  .hero__text-content--left {
    padding-left: 0;
  }

  .hero__eyebrow {
    font-size: 12px;
    margin-bottom: 10px;
  }

  .hero__subtitle {
    font-size: 20px;
  }

  .hero__description {
    font-size: 15px;
    margin-bottom: 20px;
  }

  .hero-banner--left-content .hero__cta-group {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .hero-banner--left-content .hero__cta {
    min-width: 0;
    width: 100%;
    justify-content: center;
  }
}



/* ── Umbrella hero layout ── */
.hero-banner--umbrella .hero__text-wrap {
  top: 0;
  height: 100%;
  align-items: flex-start;
  justify-content: center;
  padding-top: 80px;
}

/* Full-width wrapper */
.hero-umbrella-wrapper {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 48px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* ── Brand heading ── */
/* P1 logo above hero heading */
.hero-brand-logo {
  text-align: center;
  margin-bottom: 20px;
  line-height: 0;
}

.hero-brand-logo img {
  max-width: 198px;
  height: auto;
  display: inline-block;
  filter: drop-shadow(1px 1px 3px rgba(0, 0, 0, 0.4));
}

.hero-umbrella-brand {
  text-align: center;
  margin-bottom: 32px;
}

/* Gold "PREMIERE" wordmark row with flanking lines */
.hero-umbrella-brand__wordmark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 14px;
}

.hero-umbrella-brand__wordmark-text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.38em;
  text-transform: capitalize;
  color: var(--colorAccent);
  text-shadow: 0 1px 6px rgba(var(--colorAccentRgb), 0.35);
}

.hero-umbrella-brand__wordmark-line {
  flex: 1;
  max-width: 80px;
  height: 1px;
  background: linear-gradient(to var(--dir, right), transparent, rgba(var(--colorAccentRgb), 0.55));
}

.hero-umbrella-brand__wordmark-line:first-child {
  --dir: right;
}

.hero-umbrella-brand__wordmark-line:last-child {
  --dir: left;
}

.hero-umbrella-brand__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 58px;
  font-weight: 700;
  line-height: 1.15;
  color: var(--colorBody);
  margin: 0 0 6px;
  letter-spacing: 0.03em;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.45);
}

.hero-umbrella-brand__rule {
  width: 80px;
  height: 3px;
  background: linear-gradient(to right, transparent, var(--colorAccent), transparent);
  margin: 18px auto 14px;
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(var(--colorAccentRgb), 0.4);
  position: relative;
}

/* Small accent dots at divider ends */
.hero-umbrella-brand__rule::before,
.hero-umbrella-brand__rule::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 4px;
  height: 4px;
  background: var(--colorAccent);
  border-radius: 50%;
  transform: translateY(-50%);
  opacity: 0.7;
}

.hero-umbrella-brand__rule::before {
  left: -12px;
}

.hero-umbrella-brand__rule::after {
  right: -12px;
}

.hero-umbrella-brand__subtitle {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.2);
  font-weight: 400;
  letter-spacing: 0.01em;
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
}

/* ── Division cards grid ── */
.hero-divisions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 56px;
  width: 100%;
}

.hero-division {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0;
  border-radius: 0;
  border: none;
  backdrop-filter: none;
  text-align: left;
  text-decoration: none;
  color: var(--colorBody);
  min-height: 0;
  transition: color 0.2s ease;
  text-align: center;
}

.hero-division:hover {
  color: var(--colorBody);
}

/* Top content group */
.hero-division__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 25vw;
  max-width: 420px;
  margin: 0 auto;
  padding: 0;
}

/* Optional small icons above text */
.hero-division__icon {
  display: block;
  width: 28px;
  height: 28px;
  margin-bottom: 10px;
  color: rgba(255, 255, 255, 0.9);
}

.hero-division__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ── Division card content ── */
.hero-division__eyebrow {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 10px;
}

.hero-division__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 14px;
  text-transform: none;
}

.hero-division__text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0;
}

.hero-division__cta {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: capitalize;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 30px;
  margin-top: auto;
  border-radius: 4px;
  border: 2px solid var(--colorBody);
  background-color: transparent;
  color: var(--colorBody);
  transition: background-color 0.25s ease, color 0.25s ease;
}

.hero-division__cta::after {
  content: ' →';
  margin-left: 4px;
}

.hero-division:hover .hero-division__cta {
  background-color: var(--colorBody);
  color: var(--colorBtnPrimary);
}

/* ── Umbrella hero responsive ── */
@media (max-width: 1024px) {
  .hero-umbrella-brand__title {
    font-size: 40px;
  }

  .hero-divisions-grid {
    gap: 36px;
  }

  .hero-division {
    padding: 0;
    min-height: 0;
  }

  .hero-division__top {
    width: 70vw;
    max-width: 480px;
  }
}

@media (max-width: 768px) {
  .hero-umbrella-wrapper {
    padding: 20px 20px 0;
  }

  .hero-umbrella-brand {
    margin-bottom: 32px;
  }

  .hero-umbrella-brand__title {
    font-size: 30px;
  }

  /* Hide decorative dots on mobile */
  .hero-umbrella-brand__title::before,
  .hero-umbrella-brand__title::after {
    display: none;
  }

  .hero-umbrella-brand__subtitle {
    font-size: 14px;
  }

  .hero-umbrella-brand__rule {
    margin: 14px auto 14px;
    width: 60px;
    height: 2px;
  }

  /* Hide divider accent dots on mobile */
  .hero-umbrella-brand__rule::before,
  .hero-umbrella-brand__rule::after {
    display: none;
  }

  .hero-divisions-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .hero-division {
    padding: 0;
    min-height: 0;
    align-items: center;
    text-align: center;
  }

  .hero-division__title {
    font-size: 24px;
  }
}



/* Hero CTA Buttons */
.hero__cta-group {
  display: inline-flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
}

.hero__cta-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.hero__cta {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 14px;
  font-weight: 600;
  color: var(--colorBody);
  background-color: transparent;
  text-decoration: none;
  padding: 9px 23px;
  border: 2px solid var(--colorBody);
  border-radius: 4px;
  transition: all var(--transitionDuration) var(--transitionEase);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.hero__cta-note {
  margin: 0;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.92);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.45);
}

.hero__cta:hover {
  background-color: var(--colorBody);
  color: var(--colorBlack);
  text-shadow: none;
  opacity: 1;
}

.hero__cta--primary {
  background-color: var(--colorBody);
  color: var(--colorBtnPrimary);
  text-shadow: none;
}

.hero__cta--primary:hover {
  background-color: transparent;
  color: var(--colorBody);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

@media (max-width: 768px) {
  .hero__cta {
    font-size: 13px;
    padding: 8px 18px;
  }

  .hero__cta-note {
    font-size: 12px;
  }
}



.hero__link {
  margin-top: 20px;
}

/* Homepage metrics bar - white background within services section */
.services-section .hero-trust--metrics {
  background: var(--colorBody);
  border-bottom: none;
  padding: 0 0 48px;
  margin-bottom: 0;
}

.hero-trust__intro {
  margin: 0 0 24px;
  text-align: center;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: clamp(14px, 1.5vw, 16px);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.01em;
  color: color-mix(in srgb, var(--colorTextBody) 58%, transparent);
}

.hero-trust__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hero-trust__list--metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  width: 100%;
}

.hero-trust__metric {
  text-align: center;
  padding: 4px 16px;
  position: relative;
}

.hero-trust__metric:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 1px;
  height: 48px;
  transform: translateY(-50%);
  background: var(--colorTextBodyAlpha01);
}

.hero-trust__value {
  margin: 0;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: clamp(28px, 3.2vw, 42px);
  font-weight: 700;
  line-height: 1;
  color: var(--colorTextBody);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.hero-trust__value::after {
  content: "";
  display: block;
  width: 28px;
  height: 2px;
  margin: 12px auto 0;
  border-radius: 2px;
  background: var(--colorAccent);
}

.hero-trust__label {
  margin: 10px 0 0;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--colorTextBody) 48%, transparent);
}

@media (max-width: 992px) {
  .hero-trust--metrics {
    padding: 24px 0 28px;
  }

  .hero-trust__intro {
    margin-bottom: 20px;
    padding: 0 8px;
  }

  .hero-trust__list--metrics {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 28px;
  }

  .hero-trust__metric:nth-child(2)::after {
    display: none;
  }

  .hero-trust__metric {
    padding: 8px 14px;
  }

  .hero-trust__value {
    font-size: clamp(34px, 5vw, 40px);
  }

  .hero-trust__value::after {
    width: 30px;
    margin-top: 14px;
  }

  .hero-trust__label {
    margin-top: 12px;
    font-size: 12px;
    letter-spacing: 0.07em;
  }
}

@media (max-width: 480px) {
  .services-section .hero-trust--metrics {
    padding: 0 0 36px;
  }

  .hero-trust__intro {
    font-size: 14px;
    margin-bottom: 18px;
  }

  .hero-trust__list--metrics {
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 28px;
  }

  .hero-trust__metric:not(:last-child)::after {
    display: none;
  }

  .hero-trust__metric {
    padding: 6px 8px;
  }

  .hero-trust__value {
    font-size: 32px;
  }

  .hero-trust__value::after {
    width: 26px;
    margin-top: 12px;
  }

  .hero-trust__label {
    font-size: 11px;
    letter-spacing: 0.06em;
    line-height: 1.45;
  }
}



/* --------------------------------------------------------------------------
   Homepage motion (B2B: restrained entrance + scroll reveals)
   Enabled only when JS adds .has-home-motion (respects prefers-reduced-motion)
   -------------------------------------------------------------------------- */

@keyframes homeHeroFadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes homeHeroImageIn {
  from {
    opacity: 0.72;
    transform: scale(1.04);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.has-home-motion .home-hero-viewport .hero__image {
  transform-origin: center center;
  animation: homeHeroImageIn 1.1s ease-out both;
}

.has-home-motion .home-hero-viewport .hero__eyebrow,
.has-home-motion .home-hero-viewport .hero__title,
.has-home-motion .home-hero-viewport .hero__subtitle,
.has-home-motion .home-hero-viewport .hero__description,
.has-home-motion .home-hero-viewport .hero__cta-group {
  opacity: 0;
  animation: homeHeroFadeUp 0.7s ease both;
}

.has-home-motion .home-hero-viewport .hero__eyebrow { animation-delay: 0.08s; }
.has-home-motion .home-hero-viewport .hero__title { animation-delay: 0.16s; }
.has-home-motion .home-hero-viewport .hero__subtitle { animation-delay: 0.26s; }
.has-home-motion .home-hero-viewport .hero__description { animation-delay: 0.36s; }
.has-home-motion .home-hero-viewport .hero__cta-group { animation-delay: 0.48s; }

.has-home-motion [data-reveal] {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.has-home-motion [data-reveal].is-revealed {
  opacity: 1;
  transform: none;
  will-change: auto;
}

.has-home-motion [data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(20px);
  transition:
    opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.has-home-motion [data-reveal-stagger].is-revealed > *:nth-child(1) { transition-delay: 0s; }
.has-home-motion [data-reveal-stagger].is-revealed > *:nth-child(2) { transition-delay: 0.08s; }
.has-home-motion [data-reveal-stagger].is-revealed > *:nth-child(3) { transition-delay: 0.16s; }
.has-home-motion [data-reveal-stagger].is-revealed > *:nth-child(4) { transition-delay: 0.24s; }
.has-home-motion [data-reveal-stagger].is-revealed > *:nth-child(5) { transition-delay: 0.32s; }
.has-home-motion [data-reveal-stagger].is-revealed > *:nth-child(6) { transition-delay: 0.4s; }

.has-home-motion [data-reveal-stagger].is-revealed > * {
  opacity: 1;
  transform: none;
}

.has-home-motion .hero-trust__value.is-counting {
  font-variant-numeric: tabular-nums;
}

@media (prefers-reduced-motion: reduce) {
  .has-home-motion .home-hero-viewport .hero__image,
  .has-home-motion .home-hero-viewport .hero__eyebrow,
  .has-home-motion .home-hero-viewport .hero__title,
  .has-home-motion .home-hero-viewport .hero__subtitle,
  .has-home-motion .home-hero-viewport .hero__description,
  .has-home-motion .home-hero-viewport .hero__cta-group,
  .has-home-motion [data-reveal],
  .has-home-motion [data-reveal-stagger] > *,
  .has-home-motion .services-section > .page-width > .section-header .section-header__title,
  .has-home-motion .services-section > .page-width > .section-header .section-header__subtitle,
  .has-home-motion .services-section > .page-width > .section-header::after {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}



/* Loading State */
.loading {
  opacity: 0;
}

.loading--delayed {
  transition: opacity 0.3s ease;
}

.loading.loaded {
  opacity: 1;
}

/* ============================================
   SERVICES SECTION - TABBED INTERFACE
   ============================================ */

.services-section {
  background-color: var(--colorBody);
}

/* Commercial moving showcase - three equal cards */
.commercial-showcase {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 32px;
}

.commercial-showcase__card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
  border-radius: 12px;
  overflow: hidden;
  background: var(--colorBody);
  border: 1px solid var(--colorBorder);
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.commercial-showcase__card-link:hover {
  text-decoration: none;
  border-color: color-mix(in srgb, var(--colorAccent) 45%, var(--colorBorder));
  box-shadow: 0 14px 36px rgba(28, 29, 29, 0.1);
  transform: translateY(-3px);
}

.commercial-showcase__card-media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: var(--colorBodyDim);
}

.commercial-showcase__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.commercial-showcase__card-link:hover .commercial-showcase__image {
  transform: scale(1.05);
}

.commercial-showcase__card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 22px 24px 26px;
}

.commercial-showcase__card-title {
  margin: 0 0 10px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 600;
  line-height: 1.3;
  color: var(--colorTextBody);
  transition: color 0.2s ease;
}

.commercial-showcase__card-link:hover .commercial-showcase__card-title {
  color: var(--colorAccentText);
}

.commercial-showcase__card-text {
  margin: 0;
  flex: 1 1 auto;
  font-size: calc(var(--typeBaseSize) * 0.92);
  line-height: 1.6;
  color: color-mix(in srgb, var(--colorTextBody) 68%, transparent);
}

.commercial-showcase__card-link-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 14px;
  font-weight: 600;
  color: var(--colorTextBody);
  transition: color 0.2s ease;
}

.commercial-showcase__card-link-text::after {
  content: "→";
  transition: transform 0.2s ease;
}

.commercial-showcase__card-link:hover .commercial-showcase__card-link-text {
  color: var(--colorAccentText);
}

.commercial-showcase__card-link:hover .commercial-showcase__card-link-text::after {
  transform: translateX(4px);
}

.services-section__divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 0 28px;
}

.services-section__divider::before,
.services-section__divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: var(--colorBorder);
}

.services-section__divider-label {
  flex: 0 0 auto;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--colorTextBody) 45%, transparent);
  white-space: nowrap;
}

@media (max-width: 992px) {
  .commercial-showcase {
    gap: 20px;
    margin-bottom: 40px;
  }

  .commercial-showcase__card-body {
    padding: 18px 20px 22px;
  }

  .commercial-showcase__card-title {
    font-size: 18px;
  }
}

/* Tablet / mid mobile: one column of horizontal image + copy cards */
@media (max-width: 900px) {
  .commercial-showcase {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 36px;
  }

  .commercial-showcase__card-link {
    flex-direction: row;
  }

  .commercial-showcase__card-media {
    flex: 0 0 140px;
    width: 140px;
    aspect-ratio: auto;
    align-self: stretch;
    min-height: 120px;
  }

  .commercial-showcase__image {
    object-position: center;
  }

  .commercial-showcase__card-body {
    padding: 16px 18px;
    min-width: 0;
  }

  .commercial-showcase__card-link-text {
    margin-top: 12px;
  }

  .services-section__divider-label {
    white-space: normal;
    text-align: center;
    max-width: 220px;
  }
}

/* Narrow phones: stack so landscape photos keep a readable crop */
@media (max-width: 500px) {
  .commercial-showcase__card-link {
    flex-direction: column;
  }

  .commercial-showcase__card-media {
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 16 / 10;
    align-self: stretch;
    min-height: 0;
  }

  .commercial-showcase__card-body {
    padding: 16px 18px 18px;
  }
}



/* ============================================
   OFFICE FURNITURE SERVICES OVERVIEW
   ============================================ */

.furniture-services {
  background-color: var(--colorBodyLightDim);
}

.furniture-services .section-header {
  padding-top: 60px;
  padding-bottom: 40px;
}

.furniture-card {
  max-width: 960px;
  margin: 0 auto 45px;
  padding: 22px 26px 24px;
  border-radius: 10px;
  background-color: var(--colorBody);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(0, 0, 0, 0.04);
}

.furniture-card__top {
  margin-bottom: 16px;
}

.furniture-card__eyebrow {
  display: inline-block;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 11px;
  text-transform: capitalize;
  letter-spacing: 0.16em;
  color: var(--colorTextBodyAlpha035);
}

.furniture-card__grid {
  display: flex;
  gap: 28px;
}

.furniture-card__item {
  flex: 1 1 0;
}

.furniture-card__icon {
  width: 22px;
  height: 22px;
  margin-bottom: 8px;
  color: var(--colorAccent);
}

.furniture-card__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.furniture-card__title {
  margin: 0 0 4px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 1.05);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: none;
  color: var(--colorTextBody);
}

.furniture-card__text {
  margin: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.95);
  line-height: 1.6;
  color: #555555;
}

.furniture-card__footer {
  margin-top: 24px;
  text-align: center;
}

.furniture-card__footer .btn--primary {
  min-width: 260px;
}

.furniture-services__note {
  margin-top: 10px;
  font-size: 13px;
  color: var(--colorTextBodyAlpha035);
}

@media (max-width: 768px) {
  .furniture-services .section-header {
    padding-top: 40px;
    padding-bottom: 30px;
  }

  .furniture-card {
    padding: 18px 18px 20px;
  }

  .furniture-card__grid {
    flex-direction: column;
    gap: 18px;
  }
}



/* Section Header */
.section-header {
  text-align: center;
  padding: 80px 0;
  position: relative;
}

@media (max-width: 768px) {
  .section-header {
    padding: 50px 0;
  }
}



.section-header__title {
  font-size: calc(var(--typeHeaderSize) * 1.3);
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-weight: var(--typeHeaderWeight);
  color: var(--colorTextBody);
  margin: 0 0 12px;
  text-transform: none;
  letter-spacing: var(--typeHeaderSpacing);
  line-height: var(--typeHeaderLineHeight);
  position: relative;
}

@media (max-width: 768px) {
  .section-header__title {
    font-size: calc(var(--typeHeaderSize) * 1.1);
    margin-bottom: 10px;
  }
}



/* Section Header Subtitle */
.section-header__subtitle {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.15);
  color: var(--colorTextMuted);
  margin: 0;
  line-height: 1.6;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  font-weight: 400;
  letter-spacing: 0.01em;
}

@media (max-width: 768px) {
  .section-header__subtitle {
    font-size: calc(var(--typeBaseSize) * 1.05);
    padding: 0 20px;
  }
}



/* Decorative accent */
.section-header::after {
  content: '';
  display: block;
  width: 100px;
  height: 4px;
  background: linear-gradient(to right, var(--colorAccent), var(--colorAccentLight));
  margin: 30px auto 0;
  border-radius: 3px;
  position: relative;
  box-shadow: 0 2px 4px rgba(var(--colorAccentRgb), 0.3);
}

@media (max-width: 768px) {
  .section-header::after {
    margin-top: 25px;
    width: 80px;
    height: 3px;
  }
}



/* Section header entrance - only when home motion is enabled (progressive enhancement) */
.has-home-motion .services-section > .page-width > .section-header .section-header__title,
.has-home-motion .services-section > .page-width > .section-header .section-header__subtitle {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.has-home-motion .services-section > .page-width > .section-header.is-revealed .section-header__title,
.has-home-motion .services-section > .page-width > .section-header.is-revealed .section-header__subtitle {
  opacity: 1;
  transform: none;
}

.has-home-motion .services-section > .page-width > .section-header.is-revealed .section-header__subtitle {
  transition-delay: 0.08s;
}

.has-home-motion .services-section > .page-width > .section-header::after {
  transform: scaleX(0);
  transition: transform 0.55s ease 0.18s;
}

.has-home-motion .services-section > .page-width > .section-header.is-revealed::after {
  transform: scaleX(1);
}

/* Services Tab Navigation */
.services-tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  margin-bottom: 30px;
  padding: 0 20px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  overflow: visible;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.services-tabs--homepage {
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 6px;
}

.services-tabs--homepage .services-tab {
  flex: 0 1 9.5%;
  min-width: 72px;
  max-width: 104px;
  padding: 10px 4px;
  font-size: 11px;
}

@media (max-width: 1024px) {
  .services-tabs--homepage {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 4px;
    padding: 12px 16px 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: #c4c4c4 transparent;
  }

  .services-tabs--homepage::-webkit-scrollbar {
    height: 4px;
    display: block;
  }

  .services-tabs--homepage::-webkit-scrollbar-track {
    background: transparent;
  }

  .services-tabs--homepage::-webkit-scrollbar-thumb {
    background: #c4c4c4;
    border-radius: 999px;
  }

  .services-tabs--homepage::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8;
  }

  .services-tabs--homepage .services-tab {
    flex: 0 0 auto;
    min-width: 76px;
    max-width: none;
    padding: 12px 10px;
    font-size: 12px;
    scroll-snap-align: start;
  }

  .services-tabs {
    gap: 3px;
    padding: 18px 15px 0 15px;
  }
}

@media (max-width: 768px) {
  .services-tabs {
    gap: 2px;
    padding: 16px 10px 0 10px;
    margin-bottom: 24px;
  }

  .services-tabs--homepage {
    padding: 10px 12px 8px;
    margin-bottom: 20px;
  }

  .services-tabs--homepage .services-tab {
    min-width: 80px;
    min-height: 72px;
    padding: 12px 12px;
    font-size: 12px;
    gap: 8px;
  }
}

@media (max-width: 589px) {
  .services-tabs {
    gap: 2px;
    padding: 14px 8px 0 8px;
  }

  .services-tabs--homepage .services-tab {
    min-width: 76px;
    padding: 10px 10px;
  }
}



/* Commercial moving process timeline */
.moving-process {
  padding: clamp(56px, 6vw, 84px) 0;
  background: var(--colorBody);
  border-top: 1px solid var(--colorBorder);
}

.moving-process__header {
  max-width: 720px;
  margin: 0 auto clamp(40px, 5vw, 56px);
  text-align: center;
}

.moving-process__title {
  margin: 0 0 14px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 1.2);
  font-weight: 600;
  line-height: var(--typeHeaderLineHeight);
  letter-spacing: var(--typeHeaderSpacing);
  text-transform: none;
  color: var(--colorTextBody);
}

.moving-process__title::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  margin: 20px auto 0;
  background: linear-gradient(to right, var(--colorAccent), var(--colorAccentLight));
  border-radius: 2px;
}

.moving-process__subtitle {
  margin: 24px 0 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.08);
  line-height: 1.65;
  color: color-mix(in srgb, var(--colorTextBody) 68%, transparent);
}

.moving-process__steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 32px);
  margin: 0;
  padding: 0;
  list-style: none;
  position: relative;
}

.moving-process__steps::before {
  content: "";
  position: absolute;
  top: 28px;
  left: 12.5%;
  right: 12.5%;
  height: 2px;
  background: linear-gradient(
    to right,
    rgba(var(--colorAccentRgb), 0.15) 0%,
    rgba(var(--colorAccentRgb), 0.55) 50%,
    rgba(var(--colorAccentRgb), 0.15) 100%
  );
  z-index: 0;
  pointer-events: none;
}

.moving-process__step {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0 8px;
  text-align: center;
}

.moving-process__marker {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 22px;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--colorAccent) 0%, var(--colorAccentLight) 100%);
  border: 4px solid var(--colorBody);
  box-shadow: 0 6px 18px rgba(var(--colorAccentRgb), 0.28);
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--colorBtnPrimary);
}

.moving-process__step-title {
  margin: 0 0 12px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: clamp(17px, 1.5vw, 20px);
  font-weight: 600;
  line-height: 1.3;
  text-transform: none;
  color: var(--colorTextBody);
}

.moving-process__step-text {
  margin: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.94);
  line-height: 1.65;
  color: color-mix(in srgb, var(--colorTextBody) 72%, transparent);
}

@media (max-width: 1024px) {
  .moving-process__steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 28px;
  }

  .moving-process__steps::before {
    display: none;
  }

  .moving-process__step {
    padding: 0;
  }
}

@media (max-width: 589px) {
  .moving-process__steps {
    grid-template-columns: 1fr;
    gap: 32px;
    max-width: 420px;
    margin: 0 auto;
  }

  .moving-process__step {
    text-align: left;
  }

  .moving-process__marker {
    margin: 0 0 16px;
  }
}



/* Premiere Office Furniture showcase - full-bleed banner */
.pofc-showcase {
  position: relative;
  margin: 0;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
}

.pofc-showcase--full-bleed {
  min-height: clamp(460px, 50vw, 600px);
}

.pofc-showcase__bg-picture {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

.pofc-showcase__bg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}

.pofc-showcase__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    102deg,
    rgba(12, 12, 12, 0.92) 0%,
    rgba(12, 12, 12, 0.82) 26%,
    rgba(12, 12, 12, 0.5) 50%,
    rgba(12, 12, 12, 0.18) 70%,
    rgba(12, 12, 12, 0.04) 100%
  );
  pointer-events: none;
}

.pofc-showcase__inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: clamp(24px, 4vw, 48px);
  min-height: clamp(460px, 50vw, 600px);
  padding: clamp(56px, 6vw, 80px) 20px;
}

.pofc-showcase__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 560px;
  padding-left: clamp(12px, 2vw, 20px);
}

.pofc-showcase__eyebrow {
  margin: 0 0 14px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--colorAccentLight);
}

.pofc-showcase__title {
  margin: 0 0 18px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: clamp(32px, 3.8vw, 48px);
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: var(--typeHeaderSpacing);
  text-align: left;
  text-transform: none;
  color: var(--colorBody);
}

.pofc-showcase__title::after {
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  margin-top: 20px;
  background: linear-gradient(to right, var(--colorAccent), var(--colorAccentLight));
  border-radius: 2px;
}

.pofc-showcase__lead {
  margin: 0 0 24px;
  max-width: 36em;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.08);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.88);
}

.pofc-showcase__highlights {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.pofc-showcase__highlight {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--colorBody);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(var(--colorAccentRgb), 0.45);
  border-radius: 999px;
  backdrop-filter: blur(6px);
}

.pofc-showcase__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.pofc-showcase__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 14px 28px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.pofc-showcase__btn--primary {
  background: var(--colorAccent);
  border: 1px solid var(--colorAccent);
  color: var(--colorBtnPrimary);
  box-shadow: 0 8px 24px rgba(var(--colorAccentRgb), 0.35);
}

.pofc-showcase__btn--primary:hover {
  background: var(--colorAccentLight);
  border-color: var(--colorAccentLight);
  color: var(--colorBtnPrimary);
  text-decoration: none;
  transform: translateY(-2px);
}

.pofc-showcase__btn--secondary {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.65);
  color: var(--colorBody);
}

.pofc-showcase__btn--secondary:hover {
  background: var(--colorBody);
  border-color: var(--colorBody);
  color: var(--colorBtnPrimary);
  text-decoration: none;
}

.pofc-showcase__btn:focus {
  outline: 2px solid var(--colorAccent);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .pofc-showcase__inner {
    flex-direction: column;
    justify-content: flex-end;
  }

  .pofc-showcase__scrim {
    background: linear-gradient(
      180deg,
      rgba(12, 12, 12, 0.35) 0%,
      rgba(12, 12, 12, 0.72) 42%,
      rgba(12, 12, 12, 0.94) 100%
    );
  }

  .pofc-showcase__bg {
    object-position: center 35%;
  }
}

@media (max-width: 768px) {
  .pofc-showcase--full-bleed {
    min-height: clamp(500px, 125vw, 580px);
  }

  .pofc-showcase__inner {
    min-height: clamp(500px, 125vw, 580px);
    padding: 32px 20px 40px;
  }

  .pofc-showcase__content {
    padding-left: 10px;
  }

  .pofc-showcase__title {
    font-size: clamp(26px, 7vw, 34px);
  }

  .pofc-showcase__highlights {
    gap: 8px;
    margin-bottom: 24px;
  }

  .pofc-showcase__highlight {
    font-size: 12px;
    padding: 7px 12px;
  }

  .pofc-showcase__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .pofc-showcase__btn {
    width: 100%;
  }
}



.services-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 14px 4px;
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: all 0.3s ease;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 14px;
  font-weight: 400;
  color: var(--colorTextMuted);
  flex: 1 1 0;
  min-width: 0;
  justify-content: flex-start;
  position: relative;
  overflow: visible;
}

@media (max-width: 1024px) {
  .services-tab {
    padding: 12px 3px;
    font-size: 13px;
    gap: 7px;
  }
}

@media (max-width: 768px) {
  .services-tab {
    padding: 12px 2px;
    font-size: 12px;
    gap: 6px;
  }
}

@media (max-width: 589px) {
  .services-tab {
    padding: 10px 2px;
    font-size: 11px;
    gap: 5px;
  }
}



/* Services Quote CTA */
.services-quote-cta {
  width: 100%;
  max-width: 1200px;
  margin: 30px auto 80px auto;
  padding: 0 20px;
  text-align: center;
}

.services-quote-cta__text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 17px;
  font-weight: 400;
  color: #4a5568;
  line-height: 1.6;
  margin: 0;
}

.services-quote-cta__link {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 17px;
  font-weight: 600;
  color: #4a90e2;
  text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color 0.3s ease, border-color 0.3s ease;
  margin-left: 4px;
}

.services-quote-cta__link:hover {
  color: #357abd;
  border-bottom-color: #357abd;
}

.services-quote-cta__link:focus {
  outline: 2px solid #4a90e2;
  outline-offset: 2px;
  border-radius: 2px;
}

@media (max-width: 768px) {
  .services-quote-cta {
    margin-bottom: 15px;
    padding: 0 15px;
  }
  
  .services-quote-cta__text {
    font-size: 16px;
  }
  
  .services-quote-cta__link {
    font-size: 16px;
  }
}

@media (max-width: 589px) {
  .services-quote-cta {
    margin-bottom: 56px;
    padding: 0 12px;
  }
  
  .services-quote-cta__text {
    font-size: 15px;
    line-height: 1.5;
  }
  
  .services-quote-cta__link {
    font-size: 15px;
    display: inline-block;
    margin-left: 0;
    margin-top: 4px;
  }
}



/* Homepage service areas banner - light band after services section */
.service-areas-banner {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 68px 0 72px;
  background:
    radial-gradient(circle at 50% 50%, rgba(var(--colorAccentRgb), 0.08) 0 11%, transparent 12%),
    radial-gradient(circle at 50% 50%, rgba(var(--colorAccentRgb), 0.06) 0 24%, transparent 25%),
    radial-gradient(circle at 50% 50%, rgba(17, 17, 17, 0.035) 0 40%, transparent 41%),
    linear-gradient(180deg, var(--colorBodyDim) 0%, #f7f7f7 100%);
  color: var(--colorTextBody);
}

.service-areas-banner::after {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 50%;
  left: 50%;
  width: min(760px, 96vw);
  aspect-ratio: 1;
  border: 1px solid rgba(var(--colorAccentRgb), 0.18);
  border-radius: 50%;
  box-shadow:
    0 0 0 100px rgba(var(--colorAccentRgb), 0.045),
    0 0 0 210px rgba(17, 17, 17, 0.025);
  transform: translate(-50%, -50%);
}

.service-areas-banner__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.service-areas-banner__title {
  margin: 0 0 20px;
  max-width: 720px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: clamp(28px, 3.2vw, calc(var(--typeHeaderSize) * 1.2));
  font-weight: 600;
  line-height: var(--typeHeaderLineHeight);
  letter-spacing: var(--typeHeaderSpacing);
  color: var(--colorTextBody);
}

.service-areas-banner__text {
  margin: 0 0 32px;
  max-width: 680px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.02);
  line-height: 1.65;
  color: color-mix(in srgb, var(--colorTextBody) 72%, transparent);
}

.service-areas-banner__locations {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 12px;
  list-style: none;
  margin: 0 0 36px;
  padding: 0;
  max-width: 760px;
}

.service-areas-banner__pill {
  display: inline-block;
  padding: 8px 18px;
  border: 1px solid var(--colorBorder);
  border-radius: 999px;
  background: var(--colorBody);
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.92);
  font-weight: 500;
  line-height: 1.3;
  color: var(--colorTextBody);
}

.service-areas-banner__pill--primary {
  border-color: color-mix(in srgb, var(--colorAccent) 45%, var(--colorBorder));
  background: color-mix(in srgb, var(--colorAccent) 12%, var(--colorBody));
  color: var(--colorTextBody);
}

.service-areas-banner__cta-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.service-areas-banner__cta-label {
  margin: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.02);
  line-height: 1.4;
  color: color-mix(in srgb, var(--colorTextBody) 72%, transparent);
}

.service-areas-banner__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: 1px solid var(--colorAccent);
  border-radius: 4px;
  background-color: var(--colorAccent);
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeNavigationSize) * 0.88);
  font-weight: 500;
  line-height: 1.2;
  color: var(--colorBtnPrimary);
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.service-areas-banner__cta:hover {
  background-color: var(--colorAccentHover);
  border-color: var(--colorAccentHover);
  color: var(--colorBtnPrimary);
  text-decoration: none;
}

.service-areas-banner__cta:focus {
  outline: 2px solid var(--colorAccent);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .service-areas-banner {
    padding: 48px 0 52px;
  }

  .service-areas-banner::after {
    width: min(680px, 118vw);
    box-shadow:
      0 0 0 88px rgba(var(--colorAccentRgb), 0.04),
      0 0 0 180px rgba(17, 17, 17, 0.02);
  }

  .service-areas-banner__text {
    margin-bottom: 24px;
    font-size: var(--typeBaseSize);
  }

  .service-areas-banner__locations {
    margin-bottom: 28px;
    gap: 8px 10px;
  }

  .service-areas-banner__pill {
    padding: 7px 14px;
    font-size: calc(var(--typeBaseSize) * 0.88);
  }
}



.services-tab:hover {
  background: transparent;
}

.services-tab.is-active {
  background: transparent;
}

.services-tab.is-active .services-tab__label {
  font-weight: 600;
  color: var(--colorAccentText);
}

.services-tab:hover .services-tab__label {
  color: var(--colorTextMuted);
}

.services-tab.is-active:hover .services-tab__label {
  color: var(--colorAccentText);
}

.services-tab.is-active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%) scaleX(0);
  transform-origin: center;
  width: 60%;
  height: 2px;
  background: linear-gradient(to right, var(--colorAccent), var(--colorAccentLight));
  animation: expandUnderline 0.3s ease-out forwards;
}

@keyframes expandUnderline {
  from {
    transform: translateX(-50%) scaleX(0);
  }
  to {
    transform: translateX(-50%) scaleX(1);
  }
}

@media (max-width: 768px) {
  .services-tab.is-active::after {
    width: 70%;
  }
}

@media (max-width: 589px) {
  .services-tab.is-active::after {
    width: 80%;
  }
}



.services-tab__icon {
  width: 43px;
  height: 43px;
  color: #555555;
  fill: #555555;
  transition: all 0.3s ease;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.services-tab[data-tab="disposal-donation"] .services-tab__icon {
  transform: scale(0.88);
  transform-origin: center center;
}

.services-tab.is-active[data-tab="disposal-donation"] .services-tab__icon {
  transform: scale(0.968);
}

.services-tab__icon path {
  fill: currentColor !important;
}

.services-tab:hover .services-tab__icon {
  color: var(--colorAccent);
  fill: var(--colorAccent);
}

.services-tab:hover .services-tab__icon path {
  fill: currentColor !important;
}

.services-tab.is-active .services-tab__icon {
  color: var(--colorAccent);
  fill: var(--colorAccent);
  position: relative;
  transform: scale(1.1);
  transition: transform 0.3s ease, color 0.3s ease;
  filter: drop-shadow(0 0 8px rgba(var(--colorAccentRgb), 0.3));
}

.services-tab.is-active .services-tab__icon path {
  fill: currentColor !important;
}

.services-tab.is-active .services-tab__icon::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 63px;
  height: 63px;
  background-color: rgba(var(--colorAccentRgb), 0.2);
  border-radius: 50%;
  z-index: -1;
  transition: background-color 0.3s ease;
}

@media (max-width: 768px) {
  .services-tab__icon {
    width: 38px;
    height: 38px;
  }
  
  .services-tab.is-active .services-tab__icon {
    transform: scale(1.08);
  }

  .services-tab.is-active[data-tab="disposal-donation"] .services-tab__icon {
    transform: scale(0.95);
  }
  
  .services-tab.is-active .services-tab__icon::before {
    width: 56px;
    height: 56px;
  }
}

@media (max-width: 589px) {
  .services-tab__icon {
    width: 32px;
    height: 32px;
  }
  
  .services-tab.is-active .services-tab__icon {
    transform: scale(1.05);
  }

  .services-tab.is-active[data-tab="disposal-donation"] .services-tab__icon {
    transform: scale(0.924);
  }
  
  .services-tab.is-active .services-tab__icon::before {
    width: 49px;
    height: 49px;
  }
}



.services-tab__label {
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}

/* Commercial Moving - top tabs layout (no sidebar) */
.services-page--commercial-moving .services-page__layout--commercial-moving {
  grid-template-columns: 200px 1fr;
  gap: 24px 28px;
}

@media (max-width: 1200px) {
  .services-page--commercial-moving .services-page__layout--commercial-moving {
    grid-template-columns: 180px 1fr;
  }
}

@media (max-width: 1024px) {
  .services-page--commercial-moving .services-page__layout--commercial-moving {
    grid-template-columns: 160px 1fr;
  }
}

@media (max-width: 768px) {
  .services-page--commercial-moving .services-page__layout--commercial-moving {
    grid-template-columns: 1fr;
  }
}



.commercial-moving-main {
  min-width: 0;
}

.commercial-moving-main__header {
  margin-bottom: 28px;
  padding: 0;
}

.commercial-moving-main__header .services-sidebar__title {
  margin-bottom: 14px;
}

.commercial-moving-tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 0;
  margin: 0;
  padding: 0 0 6px;
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #c4c4c4 transparent;
}

.commercial-moving-tabs::-webkit-scrollbar {
  height: 4px;
  display: block;
}

.commercial-moving-tabs::-webkit-scrollbar-track {
  background: transparent;
}

.commercial-moving-tabs::-webkit-scrollbar-thumb {
  background: #c4c4c4;
  border-radius: 999px;
}

.commercial-moving-tabs::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

.commercial-moving-tabs .services-tab,
.commercial-moving-tabs .services-tab:link,
.commercial-moving-tabs .services-tab:visited {
  flex: 0 0 auto;
  flex-direction: row;
  justify-content: center;
  gap: 0;
  min-width: max-content;
  max-width: none;
  padding: 12px 22px 14px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: var(--typeNavigationSize);
  font-weight: 400;
  text-decoration: none;
  color: var(--colorTextBody);
}

.commercial-moving-tabs .services-tab:not(.is-active) .services-tab__label,
.commercial-moving-tabs .services-tab:not(.is-active):link .services-tab__label,
.commercial-moving-tabs .services-tab:not(.is-active):visited .services-tab__label {
  color: var(--colorTextBody);
}

.commercial-moving-tabs .services-tab:hover {
  text-decoration: none;
}

.commercial-moving-tabs .services-tab:hover .services-tab__label {
  color: var(--colorTextBody);
}

.commercial-moving-tabs .services-tab.is-active .services-tab__label {
  color: var(--colorAccentText);
  font-weight: 600;
}

.commercial-moving-tabs .services-tab.is-active:hover .services-tab__label {
  color: var(--colorAccentText);
}

.commercial-moving-tabs .services-tab__label {
  width: auto;
  white-space: nowrap;
  text-align: left;
  overflow: visible;
  text-overflow: unset;
}

@media (max-width: 1200px) {
  .commercial-moving-tabs .services-tab,
  .commercial-moving-tabs .services-tab:link,
  .commercial-moving-tabs .services-tab:visited {
    padding: 11px 16px 13px;
    font-size: calc(var(--typeNavigationSize) * 0.9);
  }
}

@media (max-width: 768px) {
  .commercial-moving-main__header {
    margin-bottom: 22px;
  }

  .commercial-moving-main__header .services-sidebar__title {
    margin-bottom: 12px;
  }

  .commercial-moving-tabs {
    margin-inline: -4px;
    padding-bottom: 4px;
  }

  .commercial-moving-tabs .services-tab,
  .commercial-moving-tabs .services-tab:link,
  .commercial-moving-tabs .services-tab:visited {
    padding: 10px 14px 12px;
    font-size: calc(var(--typeBaseSize) * 0.9);
  }
}



/* Commercial moving - lead block: copy left, image(s) right on desktop */
.commercial-moving-lead {
  display: grid;
  gap: 20px 40px;
  margin-bottom: 28px;
  align-items: start;
}

.commercial-moving-lead__intro {
  margin: 0;
}

.commercial-moving-lead__media {
  margin: 0;
}

.commercial-moving-lead__media picture {
  display: block;
  height: 100%;
}

.commercial-moving-lead__img {
  width: 100%;
  display: block;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1);
}

.commercial-moving-lead__media:not(.commercial-moving-lead__media--stack) {
  display: block;
}

.commercial-moving-lead__media:not(.commercial-moving-lead__media--stack) picture {
  display: block;
}

.commercial-moving-lead__media:not(.commercial-moving-lead__media--stack) .commercial-moving-lead__img {
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
}

.commercial-moving-lead__media--stack {
  display: grid;
  gap: 12px;
  min-height: 100%;
  align-content: stretch;
}

.commercial-moving-lead__media--stack figure {
  margin: 0;
  min-height: 0;
  display: flex;
}

.commercial-moving-lead__media--stack .commercial-moving-lead__img {
  flex: 1;
  height: 100%;
  min-height: 140px;
  aspect-ratio: auto;
}

.commercial-moving-lead__details > :last-child {
  margin-bottom: 0;
}

.commercial-moving-lead--no-media {
  display: block;
  margin-bottom: 28px;
}

.commercial-moving-lead--no-media .commercial-moving-lead__intro {
  margin-bottom: 20px;
}

@media (min-width: 769px) {
  .commercial-moving-lead:has(> .commercial-moving-lead__media):not(.commercial-moving-lead--media-left):not(.commercial-moving-lead--office):not(.commercial-moving-lead--school) {
    grid-template-columns: 1fr minmax(280px, 42%);
    grid-template-rows: auto auto;
  }

  .commercial-moving-lead:has(> .commercial-moving-lead__media):not(.commercial-moving-lead--media-left):not(.commercial-moving-lead--office):not(.commercial-moving-lead--school) .commercial-moving-lead__intro {
    grid-column: 1;
    grid-row: 1;
  }

  .commercial-moving-lead:has(> .commercial-moving-lead__media):not(.commercial-moving-lead--media-left):not(.commercial-moving-lead--office):not(.commercial-moving-lead--school) .commercial-moving-lead__media {
    grid-column: 2;
    grid-row: 1 / -1;
    align-self: start;
  }

  .commercial-moving-lead:has(> .commercial-moving-lead__media):not(.commercial-moving-lead--media-left):not(.commercial-moving-lead--office):not(.commercial-moving-lead--school) .commercial-moving-lead__media--stack {
    grid-template-rows: 1fr 1fr;
  }

  .commercial-moving-lead:has(> .commercial-moving-lead__media):not(.commercial-moving-lead--media-left):not(.commercial-moving-lead--office):not(.commercial-moving-lead--school) .commercial-moving-lead__details {
    grid-column: 1;
    grid-row: 2;
  }
}

@media (max-width: 768px) {
  .commercial-moving-lead {
    margin-bottom: 24px;
  }

  .commercial-moving-lead__media:not(.commercial-moving-lead__media--stack) .commercial-moving-lead__img {
    aspect-ratio: 16 / 9;
    min-height: 0;
  }

  .commercial-moving-lead__media--stack {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .commercial-moving-lead__media--stack {
    grid-template-columns: 1fr;
  }
}

/* Commercial moving tab layouts — distinct per service */
@media (min-width: 769px) {
  /* Office: intro + list wrap naturally around a right-floated photo */
  .commercial-moving-lead--office {
    display: block;
  }

  .commercial-moving-lead--office .commercial-moving-lead__media {
    float: right;
    width: min(44%, 26rem);
    margin: 0.15rem 0 1.25rem 2.25rem;
  }

  .commercial-moving-lead--office .commercial-moving-lead__img {
    aspect-ratio: 4 / 5;
    object-position: 58% 42%;
  }

  .commercial-moving-lead--office::after {
    content: '';
    display: table;
    clear: both;
  }

  /* Business: full-width intro, then photo left of bullet list */
  .commercial-moving-lead--business.commercial-moving-lead--media-left {
    grid-template-columns: minmax(260px, 44%) 1fr;
    gap: 0.375rem 1rem;
    margin-bottom: 1rem;
    align-items: stretch;
  }

  .commercial-moving-lead--business.commercial-moving-lead--media-left .commercial-moving-lead__intro {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 0;
  }

  .commercial-moving-lead--business.commercial-moving-lead--media-left .commercial-moving-lead__media {
    grid-column: 1;
    grid-row: 2;
    align-self: stretch;
    min-height: 0;
    height: 100%;
    display: flex;
    overflow: hidden;
    border-radius: 8px;
    position: static;
  }

  .commercial-moving-lead--business.commercial-moving-lead--media-left .commercial-moving-lead__details {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
  }

  .commercial-moving-lead--business .commercial-moving-lead__media:not(.commercial-moving-lead__media--stack) .commercial-moving-lead__img {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    height: 100%;
    aspect-ratio: unset;
    object-fit: cover;
    object-position: center 38%;
    border: none;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  }

  .commercial-moving-lead--business .commercial-moving-lead__details > p {
    margin-bottom: 0.5rem;
  }

  .commercial-moving-lead--business .commercial-moving-lead__details ul {
    margin: 0;
    padding-left: 1.15em;
  }

  .commercial-moving-lead--business .commercial-moving-lead__details li + li {
    margin-top: 0.1rem;
  }

  /* School: intro, full-width photo band, then details */
  .commercial-moving-lead--school {
    display: flex;
    flex-direction: column;
    gap: 1.35rem;
  }

  .commercial-moving-lead--school .commercial-moving-lead__intro {
    max-width: 52rem;
  }

  .commercial-moving-lead--school .commercial-moving-lead__media {
    width: 100%;
    margin: 0.15rem 0;
  }

  .commercial-moving-lead--school .commercial-moving-lead__img {
    aspect-ratio: 21 / 9;
    max-height: min(20rem, 40vw);
    object-position: center 48%;
    border-radius: 12px;
  }
}

@media (max-width: 768px) {
  .commercial-moving-lead--office {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .commercial-moving-lead--business {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
  }

  .commercial-moving-lead--office .commercial-moving-lead__intro {
    order: 1;
  }

  .commercial-moving-lead--business .commercial-moving-lead__intro {
    order: 1;
  }

  .commercial-moving-lead--office .commercial-moving-lead__media {
    order: 2;
  }

  .commercial-moving-lead--business .commercial-moving-lead__media {
    order: 2;
  }

  .commercial-moving-lead--office .commercial-moving-lead__details {
    order: 3;
  }

  .commercial-moving-lead--business .commercial-moving-lead__details {
    order: 3;
  }

  .commercial-moving-lead--office .commercial-moving-lead__media,
  .commercial-moving-lead--business .commercial-moving-lead__media,
  .commercial-moving-lead--school .commercial-moving-lead__media {
    float: none;
    width: 100%;
    margin: 0;
    position: static;
  }

  .commercial-moving-lead--business .commercial-moving-lead__media {
    display: block;
    height: auto;
    overflow: visible;
  }

  .commercial-moving-lead--business .commercial-moving-lead__media:not(.commercial-moving-lead__media--stack) .commercial-moving-lead__img {
    flex: none;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 10;
    border: none;
    border-radius: 8px;
  }

  .commercial-moving-lead--school .commercial-moving-lead__img {
    aspect-ratio: 16 / 9;
    max-height: none;
  }
}



/* Separated images within commercial moving content */
.commercial-moving-content-media {
  margin: 32px 0;
}

.commercial-moving-content-media figure {
  margin: 0;
}

.commercial-moving-content-media .commercial-moving-lead__img {
  height: auto;
  min-height: 0;
}

.commercial-moving-content-media--wide .commercial-moving-lead__img {
  width: 100%;
  aspect-ratio: 21 / 8;
}

.commercial-moving-content-media--compact {
  max-width: min(100%, 400px);
}

.commercial-moving-content-media--compact .commercial-moving-lead__img {
  aspect-ratio: 4 / 3;
}

.commercial-moving-content-media--pair {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
  align-items: stretch;
}

.commercial-moving-content-media--pair figure {
  display: flex;
  min-height: 0;
}

.commercial-moving-content-media--pair .commercial-moving-lead__img {
  flex: 1;
  width: 100%;
  aspect-ratio: auto;
  min-height: 200px;
}

@media (min-width: 769px) {
  .commercial-moving-lead--media-left {
    grid-template-columns: minmax(280px, 42%) 1fr;
  }

  .commercial-moving-lead--media-left .commercial-moving-lead__intro {
    grid-column: 2;
    grid-row: 1;
  }

  .commercial-moving-lead--media-left .commercial-moving-lead__media {
    grid-column: 1;
    grid-row: 1 / -1;
    align-self: start;
  }

  .commercial-moving-lead--media-left .commercial-moving-lead__details {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (max-width: 768px) {
  .commercial-moving-content-media {
    margin: 24px 0;
  }

  .commercial-moving-content-media--pair {
    grid-template-columns: 1fr;
  }

  .commercial-moving-content-media--pair .commercial-moving-lead__img {
    aspect-ratio: 16 / 10;
    min-height: 0;
  }
}



/* Services Content Panels */
.services-content {
  position: relative;
  min-height: 660px;
  max-width: calc(var(--pageWidth) * 1.08);
  margin: 0 auto;
  width: 100%;
}

@media (max-width: 768px) {
  .services-content {
    min-height: 0;
    max-width: 100%;
  }
}



.services-panel {
  display: none;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.services-panel.is-active {
  display: block;
  opacity: 1;
  animation: fadeIn 0.4s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.services-panel__image-wrapper {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 0 auto;
  border-radius: 10px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@media (max-width: 768px) {
  .services-panel__image-wrapper {
    width: 100%;
    max-width: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    overflow: visible;
    border-radius: 0;
    border: none;
    box-shadow: none;
  }
}



.services-panel__image-wrapper:hover + .service-area-banner {
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}

.service-area-banner--overlay:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4), 0 0 25px rgba(var(--colorAccentRgb), 0.5);
  transform: translateX(-50%) translateY(-2px);
}

.services-panel--equipment-rental .services-panel__image {
  object-position: right center;
}

.services-panel__image {
  width: 100%;
  height: 550px;
  display: block;
  object-fit: cover;
  object-position: right center;
  filter: saturate(0.95) brightness(0.98);
  transition: transform 0.4s ease, filter 0.3s ease;
}

@media (max-width: 768px) {
  .services-panel__image {
    height: 220px;
    flex-shrink: 0;
  }
}

@media (max-width: 589px) {
  .services-panel__image {
    height: 180px;
  }
}



.services-panel__overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 40px;
}

@media (max-width: 768px) {
  .services-panel__overlay {
    position: static;
    padding: 0;
    justify-content: flex-start;
    width: 100%;
  }
}



.services-panel__content {
  position: relative;
  text-align: left;
  max-width: 505px;
  color: var(--colorTextBody);
  background: var(--colorBody);
  padding: 28px 32px 26px;
  border-radius: 6px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  margin-left: 3.5%;
  margin-right: 0;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  z-index: 2;
}

@media (max-width: 768px) {
  .services-panel__content {
    max-width: none;
    width: 100%;
    margin: 0;
    padding: 20px var(--gridGutter) 12px;
    border-radius: 0;
    box-shadow: none;
    border: none;
    background: transparent;
  }
}

@media (max-width: 589px) {
  .services-panel__content {
    padding: 16px var(--gridGutterMobile) 12px;
  }

  .services-panel__badge {
    display: none;
  }

  .services-panel__list li:nth-child(n+4) {
    display: none;
  }
}



.services-panel__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background-color: rgba(107, 114, 128, 0.1);
  color: #6b7280;
  padding: 6px 12px;
  border-radius: 4px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 12px;
  font-weight: 600;
  text-transform: capitalize;
  letter-spacing: 0.5px;
  line-height: 1.2;
  margin-bottom: 12px;
  border: 1px solid rgba(107, 114, 128, 0.2);
}

.services-panel__badge-icon {
  width: 14px;
  height: 14px;
  fill: currentColor;
  flex-shrink: 0;
}

.services-panel__title-wrapper {
  margin-bottom: 12px;
}

.services-panel__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.9);
  font-weight: var(--typeHeaderWeight);
  color: var(--colorTextBody);
  margin: 0;
  line-height: 1.2;
  flex: 1;
  text-transform: none;
}

@media (max-width: 768px) {
  .services-panel__badge {
    font-size: 11px;
    padding: 5px 10px;
    margin-bottom: 15px;
    gap: 5px;
  }
  
  .services-panel__badge-icon {
    width: 12px;
    height: 12px;
  }
  
  .services-panel__title-wrapper {
    margin-bottom: 15px;
  }
  
  .services-panel__title {
    font-size: calc(var(--typeHeaderSize) * 0.9);
  }
}

@media (max-width: 589px) {
  .services-panel__badge {
    font-size: 10px;
    padding: 4px 8px;
    letter-spacing: 0.3px;
    margin-bottom: 12px;
    gap: 4px;
  }
  
  .services-panel__badge-icon {
    width: 11px;
    height: 11px;
  }
  
  .services-panel__title-wrapper {
    margin-bottom: 12px;
  }
  
  .services-panel__title {
    font-size: calc(var(--typeHeaderSize) * 0.9);
  }
}



.services-panel__text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 14px;
  line-height: 1.55;
  color: var(--colorTextBody);
  margin: 0 0 16px;
  opacity: 0.85;
}

@media (max-width: 768px) {
  .services-panel__text {
    font-size: 14px;
    margin-bottom: 16px;
  }
}

@media (max-width: 589px) {
  .services-panel__text {
    font-size: 14px;
    margin-bottom: 14px;
  }
}



/* Services panel bullet list */
.services-panel__list {
  list-style: none;
  padding: 0;
  margin: 0 0 18px 0;
  text-align: left;
}

.services-panel__list li {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 14px;
  line-height: 1.5;
  color: var(--colorTextBody);
  margin-bottom: 6px;
  padding-left: 24px;
  position: relative;
}

.services-panel__list li:last-child {
  margin-bottom: 0;
}

/* Checkmark icon styling */
.services-panel__list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #28a745;
  font-weight: 700;
  font-size: 17px;
}

/* Services section button - styled like header phone but reversed */
.services-panel__content .btn {
  margin-top: 6px;
  padding: 10px 20px;
  font-size: 14px;
  font-weight: 600;
  background-color: transparent;
  color: var(--colorTextBody);
  border: 2px solid var(--colorTextBody);
  border-radius: 4px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: all var(--transitionDuration) var(--transitionEase);
}

.services-panel__content .btn:hover {
  background-color: var(--colorBlack) !important;
  color: var(--colorBody) !important;
  border-color: var(--colorBlack) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .services-panel__content .btn {
    min-height: 44px;
    padding: 12px 22px;
  }
}



/* Services Panel Phone CTA */
.services-panel__phone {
  display: none;
}

.services-panel__phone-label {
  display: block;
  margin-bottom: 0px;
  font-weight: 600;
  font-size: 15px;
}

@media (max-width: 768px) {
  .services-panel__phone-label {
    font-size: 16px;
  }
}



.services-panel__phone-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--colorTextBody);
  text-decoration: none;
  font-weight: 500;
  font-size: 15px;
  transition: opacity 0.3s ease;
}

@media (max-width: 768px) {
  .services-panel__phone-link {
    font-size: 16px;
  }
}

@media (max-width: 589px) {
  .services-panel__phone-link {
    font-size: 15px;
  }
}



.services-panel__phone-link:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.services-panel__phone-icon {
  width: 12px;
  height: 12px;
  fill: currentColor;
  flex-shrink: 0;
}

@media (max-width: 589px) {
  .services-panel__phone-icon {
    width: 11px;
    height: 11px;
  }
}



/* ============================================
   ABOUT SECTION
   ============================================ */

.about-section {
  padding: var(--spacingSection) 0;
  background-color: var(--colorSurfaceMuted);
}

.about-section--teaser {
  padding: calc(var(--spacingSection) * 0.85) 0;
  background-color: var(--colorBody);
  border-top: 1px solid var(--colorBorder);
}

.about-content--teaser .about-section-title {
  margin-bottom: 12px;
}

.about-teaser__subtitle {
  margin: 0 auto;
  max-width: 520px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.02);
  line-height: 1.65;
  color: color-mix(in srgb, var(--colorTextBody) 72%, transparent);
}

.about-teaser__cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 28px;
  align-items: flex-start;
  justify-content: center;
  margin-top: 28px;
}

.about-teaser__cta-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.about-teaser__cta-note {
  margin: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 13px;
  line-height: 1.4;
  color: color-mix(in srgb, var(--colorTextBody) 58%, transparent);
  text-align: center;
}

.about-teaser__cta {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeNavigationSize) * 0.82);
  font-weight: 600;
  text-decoration: none;
  padding: 12px 28px;
  border: 2px solid transparent;
  border-radius: 4px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
}

.about-teaser__cta--primary {
  background-color: var(--colorAccent);
  border-color: var(--colorAccent);
  color: var(--colorBtnPrimary);
}

.about-teaser__cta--primary:hover {
  background-color: var(--colorAccentHover);
  border-color: var(--colorAccentHover);
  color: var(--colorBtnPrimary);
  text-decoration: none;
}

.about-teaser__cta--secondary {
  background-color: transparent;
  border-color: var(--colorTextBody);
  color: var(--colorTextBody);
}

.about-teaser__cta--secondary:hover {
  background-color: var(--colorTextBody);
  border-color: var(--colorTextBody);
  color: var(--colorBody);
  text-decoration: none;
}

.about-teaser__cta:focus {
  outline: 2px solid var(--colorAccent);
  outline-offset: 3px;
}

@media (max-width: 768px) {
  .about-teaser__cta-group {
    flex-direction: column;
    align-items: center;
    gap: 18px;
    margin-top: 24px;
  }

  .about-teaser__cta {
    width: 100%;
    max-width: 300px;
    font-size: 13px;
    padding: 11px 22px;
  }

  .about-section--teaser {
    padding: var(--spacingSectionMobile) 0;
  }

  .about-section {
    padding: var(--spacingSectionMobile) 0;
  }
}



.about-content {
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px;
}

.about-title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: var(--typeHeaderSize);
  font-weight: var(--typeHeaderWeight);
  color: var(--colorTextBody);
  margin: 0 0 30px;
  line-height: var(--typeHeaderLineHeight);
  letter-spacing: var(--typeHeaderSpacing);
}

@media (max-width: 768px) {
  .about-title {
    font-size: calc(var(--typeHeaderSize) * 0.9);
    margin-bottom: 20px;
  }
}

@media (max-width: 589px) {
  .about-title {
    font-size: calc(var(--typeHeaderSize) * 0.8);
  }
}



.about-text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.1);
  line-height: 1.8;
  color: var(--colorTextBody);
  margin: 0;
}

@media (max-width: 768px) {
  .about-text {
    font-size: var(--typeBaseSize);
    line-height: 1.7;
  }
}

@media (max-width: 589px) {
  .about-text {
    font-size: calc(var(--typeBaseSize) * 0.95);
  }
}



/* Trust Indicators */
.trust-indicators {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 25px 0;
  margin-top: 20px;
  padding-top: 20px;
  position: relative;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
}

/* Top row items - positioned in columns 1, 3, 5, 7, 9 */
.trust-indicator-item:nth-child(1) { grid-column: 1 / 2; }
.trust-indicator-item:nth-child(2) { grid-column: 3 / 4; }
.trust-indicator-item:nth-child(3) { grid-column: 5 / 6; }
.trust-indicator-item:nth-child(4) { grid-column: 7 / 8; }
.trust-indicator-item:nth-child(5) { grid-column: 9 / 10; }

/* Bottom row items - positioned in gap columns 4 and 6 */
.trust-indicator-item:nth-child(6) { grid-column: 4 / 5; }
.trust-indicator-item:nth-child(7) { grid-column: 6 / 7; }

.trust-indicators::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60%;
  height: 1px;
  background-color: var(--colorBorderMuted);
}

.trust-indicator-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
}

.trust-indicator-icon {
  width: 40px;
  height: 40px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.trust-indicator-icon svg {
  width: 100%;
  height: 100%;
}

/* Service items - Yellow icons */
.trust-item-service .trust-indicator-icon {
  color: var(--colorAccent);
}

/* Credentials items - Grey/Blue icons */
.trust-item-credentials .trust-indicator-icon {
  color: #6b7280;
}

.trust-indicator-text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.88);
  font-weight: 500;
  color: var(--colorTextBody);
  line-height: 1.4;
  max-width: 165px;
  text-align: center;
}

@media (max-width: 1024px) {
  .trust-indicators {
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
  }
  
  .trust-indicator-item:nth-child(1),
  .trust-indicator-item:nth-child(2),
  .trust-indicator-item:nth-child(3),
  .trust-indicator-item:nth-child(4),
  .trust-indicator-item:nth-child(5),
  .trust-indicator-item:nth-child(6),
  .trust-indicator-item:nth-child(7) {
    grid-column: span 1;
  }
}

@media (max-width: 768px) {
  .trust-indicators {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-top: 20px;
    padding-top: 20px;
  }
  
  .trust-indicator-item:nth-child(1),
  .trust-indicator-item:nth-child(2),
  .trust-indicator-item:nth-child(3),
  .trust-indicator-item:nth-child(4),
  .trust-indicator-item:nth-child(5),
  .trust-indicator-item:nth-child(6),
  .trust-indicator-item:nth-child(7) {
    grid-column: span 1;
  }
  
  .trust-indicator-icon {
    width: 36px;
    height: 36px;
  }
  
  .trust-indicator-text {
    font-size: calc(var(--typeBaseSize) * 0.85);
    max-width: 145px;
  }
}

@media (max-width: 589px) {
  .trust-indicators {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-top: 15px;
    padding-top: 15px;
  }
  
  .trust-indicator-item {
    flex-direction: row;
    text-align: left;
  }
  
  .trust-indicator-item:nth-child(6),
  .trust-indicator-item:nth-child(7) {
    grid-column: span 1;
  }
  
  .trust-indicator-icon {
    width: 32px;
    height: 32px;
  }
}



/* ============================================
   ABOUT PAGE SECTION
   ============================================ */

.about-page-section {
  padding: var(--spacingSection) 0;
  background-color: var(--colorBody);
}

@media (max-width: 768px) {
  .about-page-section {
    padding: var(--spacingSectionMobile) 0;
  }
}



.about-page-title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 1.5);
  font-weight: var(--typeHeaderWeight);
  color: var(--colorTextBody);
  margin: 0 0 50px;
  text-align: center;
  text-transform: none;
  letter-spacing: var(--typeHeaderSpacing);
}

@media (max-width: 768px) {
  .about-page-title {
    font-size: calc(var(--typeHeaderSize) * 1.2);
    margin-bottom: 40px;
  }
}

@media (max-width: 589px) {
  .about-page-title {
    font-size: var(--typeHeaderSize);
    margin-bottom: 30px;
  }
}



.about-page-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}

@media (max-width: 768px) {
  .about-page-content {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}



.about-page-text {
  padding-left: 20px;
}

@media (max-width: 768px) {
  .about-page-text {
    padding-left: 0;
  }
}



.about-page-text p {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  line-height: 1.8;
  color: var(--colorTextBody);
  margin: 0 0 20px;
}

.about-page-text p:last-child {
  margin-bottom: 0;
}

.about-page-image {
  position: relative;
  width: 100%;
}

.about-page-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.about-page-caption {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 14px;
  color: var(--colorTextBodyAlpha035);
  margin: 15px 0 0;
  text-align: center;
  font-style: italic;
}

@media (max-width: 768px) {
  .about-page-caption {
    font-size: 13px;
    margin-top: 10px;
  }
}



.about-overview,
.about-enviro,
.about-group {
  margin-bottom: 70px;
}

.about-enviro {
  margin-bottom: 0;
}

.about-overview {
  margin-bottom: 0;
}

.about-overview__intro {
  max-width: 920px;
  margin: 0 0 28px;
}

.about-overview__intro .about-section-heading {
  margin-bottom: 24px;
}

.about-overview > .page-width > .about-section-heading {
  margin-bottom: 24px;
}

.about-section-heading--left {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.about-section-heading--left .about-section-title {
  font-size: calc(var(--typeHeaderSize) * 1.15);
  line-height: 1.2;
}

.about-subsection-title {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.12);
  font-weight: 500;
  letter-spacing: var(--typeBaseSpacing);
  line-height: 1.45;
  color: color-mix(in srgb, var(--colorTextBody) 88%, transparent);
  margin: 0 0 20px;
  text-align: left;
  text-transform: none;
}

.about-overview__lead {
  margin: 0 0 32px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  color: var(--colorTextBody);
}

.about-overview__panel {
  padding: 0 0 64px;
  margin-bottom: 70px;
}

.about-overview__panel-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 40px;
  align-items: stretch;
}

.about-overview__left {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.about-overview__media {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  min-height: 0;
  height: 100%;
}

.about-overview__media img {
  display: block;
  width: 100%;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
  border-radius: 4px;
}

.about-overview__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-self: stretch;
  padding-top: 0;
}

.about-overview__content .about-stats {
  margin: 0 0 22px;
}

.about-overview__content .about-stat__number {
  margin: 0 0 10px;
}

.about-overview__content .about-stat__detail {
  margin: 0;
}

.about-overview__content .about-subsection-title {
  margin-bottom: 0.6em;
}

.about-overview__content > p {
  margin: 0 0 0.75em;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  line-height: var(--typeBaseLineHeight);
  color: var(--colorTextBody);
}

.about-overview__content > p:last-child {
  margin-bottom: 0;
}

.about-overview__panel .about-page-caption {
  margin-top: 12px;
  text-align: left;
  font-style: normal;
  font-size: var(--typeBaseSize);
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  flex-shrink: 0;
}

.about-section-heading {
  max-width: 760px;
  margin: 0 auto 34px;
  text-align: center;
}

.about-section-heading--compact {
  margin-bottom: clamp(24px, 3vw, 32px);
}

.about-section-heading:not(.about-section-heading--left):not(.about-section-heading--compact)::after {
  content: '';
  display: block;
  width: 80px;
  height: 3px;
  margin: 18px auto 0;
  background: linear-gradient(to right, var(--colorAccent), var(--colorAccentLight));
  border-radius: 2px;
}

.about-section-eyebrow {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--colorAccentText);
  margin: 0;
}

.about-section-heading .about-section-title {
  margin: 0;
}

.about-section-heading .about-section-eyebrow:last-child {
  margin-bottom: 0;
}

.about-section-heading .about-enviro__intro {
  margin-top: 18px;
}

.about-group__intro {
  max-width: 720px;
  margin: 0 auto 34px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.02);
  line-height: 1.7;
  color: color-mix(in srgb, var(--colorTextBody) 82%, transparent);
  text-align: center;
}

/* Brand-family org tree */
.about-tree {
  max-width: 1280px;
  margin: 0 auto;
  padding: clamp(8px, 2vw, 24px) 0;
  background: transparent;
  border: none;
  border-radius: 0;
}

.about-tree__parent {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  max-width: 720px;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-align: center;
}

.about-tree__parent-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 480px;
  min-height: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.about-tree__parent-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 380px);
  max-height: 180px;
  object-fit: contain;
  margin: 0 auto;
}

.about-tree__parent-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 36rem;
  padding: 0;
  border-left: 0;
}

.about-tree__parent-title {
  margin: 0 0 12px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.8);
  font-weight: 700;
  line-height: 1.2;
  color: var(--colorTextBody);
  text-align: center;
}

.about-tree__parent-text {
  margin: 0 0 16px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.96);
  line-height: var(--typeBaseLineHeight);
  color: color-mix(in srgb, var(--colorTextBody) 80%, transparent);
}

.about-tree__parent-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.95);
  font-weight: 600;
  color: var(--colorAccentText);
  text-decoration: none;
  transition: color 0.2s ease;
}

.about-tree__parent-link:hover {
  color: var(--colorAccentTextHover);
  text-decoration: underline;
}

.about-tree__parent-link span[aria-hidden],
.about-tree__branch-link span[aria-hidden] {
  transition: transform 0.2s ease;
}

.about-tree__parent-link:hover span[aria-hidden],
.about-tree__branch-link:hover span[aria-hidden] {
  transform: translateX(3px);
}

/* Connector: vertical stem down to a node, then branches split out */
.about-tree__connector {
  position: relative;
  height: 56px;
}

.about-tree__connector::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 50%;
  width: 2px;
  height: 34px;
  background: var(--colorBorder);
  transform: translateX(-50%);
}

.about-tree__connector-node {
  position: absolute;
  top: 30px;
  left: 50%;
  width: 11px;
  height: 11px;
  background: var(--colorAccent);
  border-radius: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 0 4px var(--colorBody), 0 0 0 5px var(--colorBorder);
  z-index: 1;
}

.about-tree__branches {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px;
}

/* Horizontal + vertical drop lines feeding each branch */
.about-tree__branches::before {
  content: "";
  position: absolute;
  top: -28px;
  left: 25%;
  right: 25%;
  height: 2px;
  background: var(--colorBorder);
}

.about-tree__branch {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 22px 22px 28px;
  background: var(--colorBody);
  border: 1px solid var(--colorBorder);
  border-top: 3px solid var(--colorAccent);
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.045);
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.about-tree__branch::before {
  content: "";
  position: absolute;
  top: -28px;
  left: 50%;
  width: 2px;
  height: 28px;
  background: var(--colorBorder);
  transform: translateX(-50%);
}

.about-tree__branch:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.1);
  border-color: color-mix(in srgb, var(--colorAccent) 45%, var(--colorBorder));
  border-top-color: var(--colorAccent);
}

.about-tree__branch--furniture {
  border-top-color: var(--colorAccent);
}

.about-tree__branch--furniture:hover {
  border-top-color: var(--colorAccent);
}

.about-tree__branch-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding-bottom: 14px;
  margin-bottom: 18px;
  border-bottom: 1px solid var(--colorBorder);
  text-align: center;
}

.about-tree__branch-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 168px;
}

.about-tree__branch-logo img {
  display: block;
  width: 100%;
  height: 148px;
  max-width: 420px;
  object-fit: contain;
  object-position: center;
  margin: 0 auto;
}

/* Furniture asset has more internal padding - scale to match Movers visually */
.about-tree__branch--furniture .about-tree__branch-logo img {
  height: 160px;
  max-width: 440px;
}

.about-tree__branch-text {
  flex: 1 1 auto;
  margin: 0 0 18px;
  max-width: 34em;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.94);
  line-height: 1.55;
  text-align: center;
  color: color-mix(in srgb, var(--colorTextBody) 80%, transparent);
}

.about-tree__branch-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 600;
  color: var(--colorAccentText);
  text-decoration: none;
  transition: color 0.2s ease;
}

.about-tree__branch-link:hover {
  color: var(--colorAccentTextHover);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .about-tree {
    padding: 0;
  }

  .about-tree__parent {
    gap: 20px;
    max-width: none;
  }

  .about-tree__parent-copy {
    padding: 0;
    border-top: 0;
  }

  .about-tree__parent-logo {
    max-width: 360px;
  }

  .about-tree__parent-logo img {
    max-width: min(100%, 320px);
    max-height: 156px;
  }

  .about-tree__branch {
    padding: 20px 18px 24px;
  }

  .about-tree__branch-logo {
    height: 140px;
  }

  .about-tree__branch-logo img {
    height: 124px;
    max-width: 360px;
  }

  .about-tree__branch--furniture .about-tree__branch-logo img {
    height: 136px;
    max-width: 380px;
  }

  .about-tree__branches {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Single-column: switch to a straight vertical spine */
  .about-tree__branches::before {
    top: -28px;
    left: 50%;
    right: auto;
    width: 2px;
    height: 28px;
    transform: translateX(-50%);
  }

  .about-tree__branch + .about-tree__branch::before {
    content: "";
    display: block;
    top: -40px;
    left: 50%;
    width: 2px;
    height: 40px;
    transform: translateX(-50%);
  }
}

@media (max-width: 480px) {
  .about-tree__branch-head {
    gap: 10px;
  }
}



.about-page-text .about-section-eyebrow {
  font-size: 12px;
  line-height: 1.4;
  color: var(--colorAccentText);
  margin: 0 0 10px;
}

.about-section-title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.95);
  font-weight: var(--typeHeaderWeight);
  line-height: var(--typeHeaderLineHeight);
  color: var(--colorTextBody);
  margin: 0 0 18px;
  text-align: inherit;
  text-transform: none;
}

.about-page-text .about-section-title {
  text-align: left;
}
/* Core Values - light Première band + overlapping cards */
.about-values {
  /* How far the band extends under the cards */
  --about-values-overlap: 140px;
  position: relative;
  margin: 0;
  padding: 0 0 clamp(40px, 5vw, 56px);
  background-color: var(--colorBody);
  display: flow-root;
  overflow: visible;
}

.about-values::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(to right, var(--colorAccentDeep), var(--colorAccent), var(--colorAccentLight), var(--colorAccent));
  z-index: 2;
}

.about-values__top {
  background-color: var(--colorAccentSoft);
  background-image:
    linear-gradient(
      115deg,
      rgba(243, 238, 228, 0.92) 0%,
      rgba(243, 238, 228, 0.55) 38%,
      rgba(var(--colorAccentRgb), 0.08) 72%,
      rgba(243, 238, 228, 0.35) 100%
    ),
    url('/images/about/core-values-bg.jpg');
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  color: var(--colorTextBody);
  padding: clamp(40px, 5vw, 56px) 0 var(--about-values-overlap);
  border-bottom: 1px solid rgba(var(--colorAccentRgb), 0.22);
}

.about-values__eyebrow {
  margin: 0 0 14px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(28, 29, 29, 0.55);
}

.about-values__title {
  margin: 0 0 14px;
  max-width: 18ch;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 1.25);
  font-weight: var(--typeHeaderWeight);
  line-height: var(--typeHeaderLineHeight);
  letter-spacing: var(--typeHeaderSpacing);
  text-align: left;
  text-transform: none;
  color: var(--colorTextBody);
}

.about-values__title-accent {
  color: var(--colorAccentText);
  position: relative;
}

.about-values__intro {
  max-width: 780px;
}

.about-values__intro p {
  margin: 0 0 0.6em;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: var(--typeBaseWeight);
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  color: rgba(28, 29, 29, 0.78);
}

.about-values__intro p:last-child {
  margin-bottom: 0;
}

.about-values__intro strong {
  font-weight: 600;
  color: var(--colorTextBody);
}

.about-values__cards {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--about-values-overlap) * -1);
  display: flow-root;
}

.about-values__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.about-values__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  min-height: 100%;
  padding: 28px 24px 30px;
  background: var(--colorBody);
  border: 1px solid var(--colorBorder);
  border-radius: 4px;
  box-shadow: 0 12px 32px rgba(28, 29, 29, 0.08);
  color: var(--colorTextBody);
}

.about-values__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: 0 0 18px;
  color: var(--colorAccentText);
}

.about-values__icon svg {
  width: 36px;
  height: 36px;
}

.about-values__card-title {
  margin: 0 0 12px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 1.15);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: var(--typeHeaderSpacing);
  text-transform: none;
  color: var(--colorTextBody);
}

.about-values__card-text {
  margin: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.95);
  font-weight: var(--typeBaseWeight);
  line-height: 1.55;
  letter-spacing: var(--typeBaseSpacing);
  color: color-mix(in srgb, var(--colorTextBody) 78%, transparent);
}

/* About page - environmental responsibility */
.about-enviro {
  padding-top: 0;
}

.about-enviro__intro {
  max-width: 720px;
  margin: 0 auto;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.05);
  line-height: 1.75;
  color: color-mix(in srgb, var(--colorTextBody) 82%, transparent);
  text-align: center;
}

.about-enviro-note {
  margin: 0 0 40px;
}

.about-enviro-note__inner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 360px;
  border-radius: 8px;
  overflow: hidden;
  isolation: isolate;
}

.about-enviro-note__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(16, 16, 16, 0.9) 0%,
    rgba(16, 16, 16, 0.78) 34%,
    rgba(16, 16, 16, 0.42) 58%,
    rgba(16, 16, 16, 0.12) 100%
  );
  pointer-events: none;
}

.about-enviro-note__img {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 72% center;
}

.about-enviro-note__content {
  position: relative;
  z-index: 2;
  max-width: 520px;
  padding: clamp(32px, 5vw, 52px);
}

.about-enviro-note__logo {
  position: absolute;
  z-index: 2;
  top: clamp(16px, 3vw, 32px);
  right: clamp(28px, 5vw, 52px);
  width: clamp(120px, 14vw, 168px);
  display: block;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.about-enviro-note__logo:hover,
.about-enviro-note__logo:focus-visible {
  opacity: 0.88;
}

.about-enviro-note__logo-img {
  display: block;
  width: 100%;
  height: auto;
}

.about-enviro-note__title {
  margin: 0 0 14px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 1.12);
  font-weight: 600;
  line-height: 1.35;
  color: var(--colorBody);
}

.about-enviro-note__text {
  margin: 0 0 18px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.9);
}

.about-enviro-note__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 600;
  color: var(--colorAccent);
  text-decoration: none;
  transition: color 0.2s ease;
}

.about-enviro-note__link span[aria-hidden] {
  transition: transform 0.2s ease;
}

.about-enviro-note__link:hover,
.about-enviro-note__link:focus-visible {
  color: var(--colorAccentLight);
  text-decoration: none;
}

.about-enviro-note__link:hover .about-enviro-note__link-text,
.about-enviro-note__link:focus-visible .about-enviro-note__link-text {
  text-decoration: underline;
}

.about-enviro-note__link:hover span[aria-hidden],
.about-enviro-note__link:focus-visible span[aria-hidden] {
  transform: translateX(3px);
}

.about-enviro-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-bottom: 32px;
  background: var(--colorBodyMediumDim);
  border: 1px solid var(--colorBorder);
  border-radius: 8px;
  overflow: hidden;
}

.about-enviro-pillar {
  padding: 32px 28px 34px;
}

.about-enviro-pillar:not(:last-child) {
  border-right: 1px solid var(--colorBorder);
}

.about-enviro-pillar__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--colorAccent) 18%, var(--colorBody));
  color: var(--colorAccentText);
}

.about-enviro-pillar__icon svg {
  width: 22px;
  height: 22px;
}

.about-enviro-pillar__title {
  margin: 0 0 14px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 1.12);
  font-weight: 600;
  line-height: 1.35;
  color: var(--colorTextBody);
}

.about-enviro-pillar__list {
  margin: 0;
  padding-left: 1.15em;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.94);
  line-height: 1.65;
  color: color-mix(in srgb, var(--colorTextBody) 88%, transparent);
}

.about-enviro-pillar__list li + li {
  margin-top: 10px;
}

.about-enviro__closing {
  margin: 0;
  padding: 0;
  border: none;
  text-align: center;
}

.about-enviro__closing p {
  margin: 0 auto;
  max-width: 620px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 1.12);
  font-weight: 500;
  font-style: italic;
  line-height: 1.55;
  color: var(--colorTextBody);
}

.about-enviro__closing p::before {
  content: "";
  display: block;
  width: 48px;
  height: 2px;
  margin: 0 auto 20px;
  background: linear-gradient(90deg, var(--colorAccent), var(--colorAccentLight));
  border-radius: 2px;
}

/* About page enhancements - eyebrow spacing, stats, card hover, closing CTA */
.about-section-heading .about-section-eyebrow:not(:last-child) {
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .about-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .about-stat {
    padding: 14px 12px 14px 0;
  }

  .about-stat + .about-stat {
    padding-left: 16px;
  }

  .about-stat + .about-stat::before {
    top: 14px;
    bottom: 14px;
  }

  .about-stat__number {
    font-size: clamp(32px, 8vw, 40px);
    padding-bottom: 8px;
    margin-bottom: 8px;
  }

  .about-stat__detail {
    font-size: calc(var(--typeBaseSize) * 0.85);
    max-width: none;
  }
}

@media (max-width: 1024px) {
  .about-overview__panel-inner {
    gap: 42px;
  }

  .about-values__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }

  .about-values {
    --about-values-overlap: 118px;
    padding-bottom: 40px;
  }

  .about-enviro-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-enviro-pillar:nth-child(2) {
    border-right: none;
  }

  .about-enviro-pillar:nth-child(1),
  .about-enviro-pillar:nth-child(2) {
    border-bottom: 1px solid var(--colorBorder);
  }
}

@media (max-width: 768px) {
  .about-overview__intro {
    margin-bottom: 24px;
  }

  .about-overview__panel {
    padding: 24px 0 48px;
    margin-bottom: 52px;
  }

  .about-overview__panel-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    align-items: start;
  }

  .about-overview__media {
    height: auto;
  }

  .about-overview__media img {
    height: auto;
    flex: none;
    object-fit: initial;
  }

  .about-overview__content {
    align-self: auto;
    justify-content: flex-start;
  }

  .about-overview__lead {
    margin-bottom: 24px;
  }

  .about-enviro-pillars {
    grid-template-columns: 1fr;
  }

  .about-enviro-pillar {
    padding: 26px 22px 28px;
  }

  .about-enviro-pillar:not(:last-child) {
    border-right: none;
    border-bottom: 1px solid var(--colorBorder);
  }

  .about-enviro-note__inner {
    align-items: flex-end;
    min-height: 400px;
  }

  .about-enviro-note__inner::after {
    background: linear-gradient(
      180deg,
      rgba(16, 16, 16, 0.15) 0%,
      rgba(16, 16, 16, 0.62) 45%,
      rgba(16, 16, 16, 0.92) 100%
    );
  }

  .about-enviro-note__img {
    object-position: center center;
  }

  .about-enviro-note__logo {
    top: 16px;
    right: 20px;
    width: 110px;
  }

  .about-enviro-note__content {
    max-width: none;
    padding: 28px 22px 30px;
  }

  .about-enviro__closing p {
    font-size: var(--typeBaseSize);
  }

  .about-overview,
  .about-enviro,
  .about-group {
    margin-bottom: 52px;
  }

  .about-enviro {
    margin-bottom: 0;
  }

  .about-section-heading {
    margin-bottom: 26px;
  }

  .about-section-title {
    font-size: calc(var(--typeHeaderSize) * 0.82);
  }

  .about-section-heading--left .about-section-title {
    font-size: calc(var(--typeHeaderSize) * 1.05);
  }

  .about-values__top {
    padding-top: 32px;
  }

  .about-values__title {
    font-size: calc(var(--typeHeaderSize) * 1.1);
    max-width: none;
  }

  .about-values {
    --about-values-overlap: 108px;
    padding-bottom: 32px;
  }

  .about-values__grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .about-values__card {
    padding: 24px 22px 26px;
  }

  .about-enviro {
    padding-top: 0;
  }
}



/* ============================================
   CAREERS PAGE
   ============================================ */

/* Careers Page - matches premiereofficefurniture.ca form page styling */
.careers-page {
  padding: 60px 0 var(--spacingSection);
  background-color: var(--colorBody);
}

@media (max-width: 768px) {
  .careers-page {
    padding: 40px 0 var(--spacingSectionMobile);
  }
}



.careers-page__content {
  max-width: 600px;
  margin: 0 auto;
  width: 100%;
}

.careers-page__header {
  text-align: center;
  margin-bottom: 55px;
}

.careers-page__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: var(--typeHeaderSize);
  font-weight: 700;
  line-height: var(--typeHeaderLineHeight);
  letter-spacing: var(--typeHeaderSpacing);
  color: var(--colorTextBody);
  margin: 0;
  text-transform: none;
}

.careers-page__intro {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 17px;
  font-weight: 400;
  line-height: 27.2px;
  letter-spacing: 0.425px;
  color: #555555;
  text-align: center;
  margin: 50px 0 0;
  max-width: none;
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 768px) {
  .careers-page__title {
    font-size: calc(var(--typeHeaderSize) * 0.9);
  }

  .careers-page__intro {
    font-size: calc(var(--typeBaseSize) * 0.95);
    line-height: 25.84px;
    margin-top: 40px;
  }

  .careers-page__header {
    margin-bottom: 40px;
  }
}



.careers-form {
  max-width: 100%;
  margin: 0;
}

.careers-form fieldset {
  border: none;
  padding: 0;
  margin: 0;
}

.careers-form .form-group {
  margin-bottom: 32px;
}

.careers-form fieldset.form-group {
  margin-bottom: 32px;
}

.careers-form label:not(.checkbox-label):not(.radio-label):not(.consent-checkbox) {
  display: block;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: 400;
  color: var(--colorBlack);
  margin-bottom: 4px;
  line-height: 20px;
  letter-spacing: 0.425px;
  text-transform: none;
}

.careers-form legend {
  display: block;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: 400;
  color: var(--colorBlack);
  margin-bottom: 8px;
  padding: 0;
  line-height: 20px;
  letter-spacing: 0.425px;
  text-transform: none;
}

.careers-form .required {
  color: var(--colorBlack);
  font-size: 12px;
  font-weight: 400;
  margin-left: 0;
}

.careers-form .field-description {
  font-size: 12px;
  color: #676767;
  margin: 0 0 8px;
  line-height: 1.5;
}

.careers-form input[type="text"],
.careers-form input[type="email"],
.careers-form input[type="tel"],
.careers-form input[type="date"],
.careers-form input[type="file"],
.careers-form textarea {
  width: 100%;
  padding: 9px 10px;
  border: 0.8px solid var(--colorBorderMuted);
  border-radius: 2px;
  background-color: var(--colorInputBg);
  color: var(--colorInputText);
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  transition: border-color var(--transitionDuration) var(--transitionEase);
  box-sizing: border-box;
}

.careers-form input[type="text"]:focus,
.careers-form input[type="email"]:focus,
.careers-form input[type="tel"]:focus,
.careers-form input[type="date"]:focus,
.careers-form input[type="file"]:focus,
.careers-form textarea:focus {
  outline: none;
  border-color: var(--colorTextBody);
  box-shadow: none;
}

.careers-form textarea {
  min-height: 120px;
  resize: vertical;
}

.careers-form .radio-group,
.careers-form .checkbox-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.careers-form .radio-label,
.careers-form .checkbox-label {
  display: flex;
  align-items: center;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: 400;
  color: var(--colorTextBody);
  cursor: pointer;
  text-transform: none;
}

.careers-form .radio-label input[type="radio"],
.careers-form .checkbox-label input[type="checkbox"] {
  width: auto;
  margin-right: 10px;
  cursor: pointer;
}

.careers-form .consent-checkbox {
  display: flex;
  align-items: flex-start;
  font-size: var(--typeBaseSize);
  font-weight: 400;
  line-height: var(--typeBaseLineHeight);
  text-transform: none;
}

.careers-form .consent-checkbox input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 3px;
  margin-right: 10px;
}

.careers-form .consent-checkbox a {
  color: var(--colorTextBody);
  text-decoration: underline;
}

.careers-form .consent-checkbox a:hover {
  color: var(--colorBtnPrimary);
}

.careers-form .form-actions {
  margin-top: 24px;
  text-align: left;
}

.careers-form .btn--primary {
  background-color: var(--colorBlack);
  color: var(--colorBody);
  padding: 8px 22px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transitionDuration) var(--transitionEase);
  width: auto;
  min-width: 0;
  text-transform: none;
  letter-spacing: 0;
}

.careers-form .btn--primary:hover {
  background-color: var(--colorTextMutedStrong);
  color: var(--colorBody);
}

/* FAQ Page Styles */
.faq-section {
  padding: var(--spacingSection) 0;
  background-color: var(--colorBody);
}

@media (max-width: 768px) {
  .faq-section {
    padding: var(--spacingSectionMobile) 0;
  }
}



.faq-title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 1.5);
  font-weight: var(--typeHeaderWeight);
  color: var(--colorTextBody);
  margin: 0 0 50px;
  text-align: center;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .faq-title {
    font-size: calc(var(--typeHeaderSize) * 1.2);
    margin-bottom: 40px;
  }
}

@media (max-width: 589px) {
  .faq-title {
    font-size: var(--typeHeaderSize);
    margin-bottom: 30px;
  }
}



.faq-content {
  max-width: 900px;
  margin: 0 auto;
}
/* ============================================
   SERVICES PAGE - SIDEBAR LAYOUT
   ============================================ */

.services-page {
  padding: var(--spacingSection) 0;
  background-color: var(--colorBody);
}

@media (max-width: 768px) {
  .services-page {
    padding: calc(var(--spacingSectionMobile) * 0.75) 0 var(--spacingSectionMobile);
  }
}



.services-page__layout {
  display: grid;
  grid-template-columns: 200px 240px 1fr;
  gap: 40px 50px;
  align-items: start;
}

.services-page__layout > * {
  min-width: 0;
}

@media (max-width: 1200px) {
  .services-page__layout {
    grid-template-columns: 180px 220px 1fr;
    gap: 35px 45px;
  }
}

@media (max-width: 1024px) {
  .services-page__layout {
    grid-template-columns: 160px 200px 1fr;
    gap: 35px 45px;
  }
}

@media (max-width: 768px) {
  .services-page__layout {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  /* Mobile: services nav below site header, then content, then callout */
  .services-page__layout > .services-sidebar {
    order: 1;
  }

  .services-page__layout > .services-content,
  .services-page__layout > .commercial-moving-main {
    order: 2;
  }

  .services-page__layout > .multi-service-callout-wrapper {
    order: 3;
  }
}



/* ============================================
   SERVICE DETAIL PAGES - sidebar layout
   ============================================ */
/* Sticky callout + sidebar: stay in view while scrolling long service content (desktop grid only) */
@media (min-width: 769px) {
  .multi-service-callout-wrapper {
    position: sticky;
    top: 1.25rem;
    align-self: start;
    z-index: 1;
  }

  .services-sidebar {
    position: sticky;
    top: 1.25rem;
    align-self: start;
    z-index: 1;
    overflow: visible;
  }

  .services-sidebar__nav {
    max-height: calc(100vh - 12rem);
    overflow-y: auto;
    overflow-x: visible;
    -webkit-overflow-scrolling: touch;
  }
}



/* Sidebar */
.services-sidebar {
  background-color: var(--colorBody);
  border-right: 1px solid var(--colorBorder);
  padding-right: 12px;
  padding-left: 14px;
  overflow-x: visible;
}

@media (max-width: 768px) {
  .services-sidebar {
    position: static;
    border-right: none;
    border-top: none;
    border-bottom: 1px solid var(--colorBorder);
    padding: 0 0 16px;
    margin-bottom: 0;
    max-height: none;
    overflow-y: visible;
    z-index: auto;
  }

  .multi-service-callout-wrapper {
    position: static;
    z-index: auto;
  }
}



.services-sidebar__section {
  margin-bottom: 40px;
}

.services-sidebar__section:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .services-sidebar__section {
    margin-bottom: 0;
  }
}



.services-sidebar__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeNavigationSize) * 1.28);
  font-weight: 600;
  color: var(--colorTextBody);
  margin: 0 0 12px;
  letter-spacing: 0.02em;
}

.services-sidebar__title-link {
  display: inline-block;
  position: relative;
  color: inherit;
  text-decoration: none;
  padding: 4px 8px;
  margin: 0 0 0 -8px;
  border-radius: 4px;
  transition: color var(--transitionDuration) var(--transitionEase), background-color 0.3s ease-in-out;
}

.services-sidebar__title-link:hover {
  color: var(--colorTextBody);
  background-color: rgba(0, 0, 0, 0.04);
  text-decoration: none;
}

@media (max-width: 768px) {
  .services-sidebar__title {
    font-size: calc(var(--typeNavigationSize) * 1.05);
    margin-bottom: 8px;
  }
}



.services-sidebar__nav {
  margin: 0;
  padding: 0;
}

/* Collapsible services nav on mobile (wrapped by services-page.js) */
.services-sidebar__collapse {
  margin: 0;
}

.services-sidebar__collapse > summary {
  list-style: none;
  cursor: pointer;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.94);
  font-weight: 500;
  color: var(--colorTextBody);
  padding: 10px 12px;
  margin: 0;
  border-radius: 4px;
  background-color: var(--colorBodyMediumDim);
  border: 1px solid var(--colorBorder);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.services-sidebar__collapse > summary::-webkit-details-marker {
  display: none;
}

.services-sidebar__collapse > summary::after {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-top: -4px;
  transition: transform 0.2s ease;
}

.services-sidebar__collapse[open] > summary::after {
  transform: rotate(-135deg);
  margin-top: 2px;
}

@media (min-width: 769px) {
  .services-sidebar__collapse > summary {
    display: none;
  }

  .services-sidebar__collapse .services-sidebar__nav {
    display: block;
  }
}



.services-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.services-sidebar__group {
  margin: 28px 0 6px;
  padding-top: 6px;
}

.services-sidebar__group-label {
  display: block;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.78);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: capitalize;
  color: #888888;
  padding: 0 8px 7px;
  margin: 0 0 0 -8px;
}

.services-sidebar__sublist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.services-sidebar__link {
  display: block;
  width: 100%;
  text-align: left;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.94);
  font-weight: 400;
  color: var(--colorTextBody);
  background: none;
  border: none;
  padding: 9px 8px;
  margin: 0 0 0 -8px;
  cursor: pointer;
  transition: color 0.15s ease-out, font-weight 0.15s ease-out, letter-spacing 0.15s ease-out, background-color 0.3s ease-in-out;
  position: relative;
  text-decoration: none;
  border-radius: 4px;
}

.services-sidebar__link:hover {
  color: var(--colorTextBody);
  background-color: rgba(0, 0, 0, 0.04);
}

.services-sidebar__link.is-active {
  font-weight: 600;
  color: var(--colorAccentText);
  letter-spacing: 0.01em;
}

.services-sidebar__link.is-active:hover {
  text-decoration: none;
  color: var(--colorAccentText);
  background-color: transparent;
}

.services-sidebar__link.is-active::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  height: 20px;
  background-color: var(--colorAccent);
  animation: expandBar 0.3s ease-out;
}

@keyframes expandBar {
  from {
    transform: translateY(-50%) scaleY(0);
  }
  to {
    transform: translateY(-50%) scaleY(1);
  }
}

@media (max-width: 768px) {
  .services-sidebar__link.is-active::before {
    left: -12px;
    width: 6px;
  }

  .services-sidebar__collapse .services-sidebar__link.is-active::before {
    display: none;
  }
}



/* Main Content Area */
.services-content {
  min-height: 400px;
}

.service-content-panel {
  display: none;
  animation: fadeIn 0.3s ease-in-out;
}

.service-content-panel.is-active {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.service-content-panel__intro {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.05);
  font-weight: 500;
  line-height: var(--typeBaseLineHeight);
  color: var(--colorTextBody);
  margin: 0 0 24px;
  text-align: left;
}

.service-content-panel__image {
  position: relative;
  width: 100%;
  margin: 0 0 30px 0;
  aspect-ratio: 21 / 6;
  overflow: hidden;
  border-radius: 8px;
}

.service-content-panel__banner-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
  .service-content-panel__image {
    aspect-ratio: 16 / 6;
    margin-bottom: 25px;
  }
}



.service-content-panel__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.85);
  font-weight: var(--typeHeaderWeight);
  color: var(--colorTextBody);
  margin: 0 0 24px;
  letter-spacing: var(--typeHeaderSpacing);
  text-transform: none;
  text-align: left;
}

@media (max-width: 768px) {
  .service-content-panel__title {
    font-size: calc(var(--typeHeaderSize) * 0.8);
    margin-bottom: 20px;
  }
}

@media (max-width: 589px) {
  .service-content-panel__title {
    font-size: calc(var(--typeHeaderSize) * 0.72);
    margin-bottom: 18px;
  }
}



.service-content-panel__body {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  line-height: var(--typeBaseLineHeight);
  color: var(--colorTextBody);
}

.service-content-panel__body p {
  margin: 0 0 20px;
}

.service-content-panel__body p:last-child {
  margin-bottom: 0;
}

/* Services overview - lead full width, image beside bullet list */
.service-content-panel--overview .service-content-panel__lead {
  margin: 0 0 24px;
}

.service-content-panel--overview .service-content-panel__split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 20px 32px;
  align-items: start;
  margin-bottom: 20px;
  width: 100%;
  max-width: 100%;
}

.service-content-panel--overview .service-content-panel__list {
  margin: 0 0 24px;
  padding-left: 1.15em;
  min-width: 0;
}

.service-content-panel--overview .service-content-panel__image--side {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.service-content-panel--overview .service-content-panel__image--side .service-content-panel__banner-img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 1100px) {
  .service-content-panel--overview .service-content-panel__split {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .service-content-panel--overview .service-content-panel__image--side {
    aspect-ratio: 16 / 9;
    max-width: 520px;
  }
}

@media (max-width: 768px) {
  .service-content-panel--overview .service-content-panel__image--side {
    max-width: none;
    aspect-ratio: 16 / 9;
  }
}



/* Equipment rental - inventory grid (detail + services index panel) */
.service-content-panel--equipment-rental .service-content-panel__title,
.service-content-panel--moving-supplies .service-content-panel__title,
.services-panel--equipment-rental .services-panel__title {
  text-transform: none;
  letter-spacing: var(--typeHeaderSpacing);
}

.equipment-inventory {
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  max-width: 42rem;
  margin-inline: auto;
  padding-inline: clamp(0.25rem, 2vw, 0.5rem);
}

.equipment-inventory__section + .equipment-inventory__section {
  margin-top: clamp(2.25rem, 5vw, 3rem);
}

.equipment-inventory__section-heading {
  text-align: center;
  font-style: italic;
  font-weight: 600;
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  margin: 0 0 1.5rem;
  letter-spacing: 0.02em;
  color: var(--colorTextBody);
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
}

.equipment-inventory__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 3.5vw, 1.75rem) clamp(0.85rem, 2.5vw, 1.35rem);
  list-style: none;
  padding: 0;
  margin: 0;
}

.equipment-inventory__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
  min-width: 0;
}

.equipment-inventory__thumb {
  aspect-ratio: 1;
  width: 100%;
  max-width: 11.5rem;
  margin-inline: auto;
  background: var(--colorBodyMediumDim);
  border: 1px solid var(--colorBorder);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) {
  .equipment-inventory__item:hover .equipment-inventory__thumb {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
  }
}



.equipment-inventory__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.equipment-inventory__label {
  font-size: clamp(0.875rem, 2vw, 0.95rem);
  font-weight: 500;
  line-height: 1.4;
  max-width: 12rem;
  color: var(--colorTextBody);
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
}

@media (prefers-reduced-motion: reduce) {
  .equipment-inventory__thumb {
    transition: none;
  }

  @media (hover: hover) {
    .equipment-inventory__item:hover .equipment-inventory__thumb {
      transform: none;
    }
  }
}

@media (max-width: 600px) {
  .equipment-inventory__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 420px) {
  .equipment-inventory {
    max-width: none;
    padding-inline: 0;
  }

  .equipment-inventory__grid {
    gap: 1rem 0.5rem;
  }

  .equipment-inventory__thumb {
    max-width: none;
    border-radius: 5px;
  }

  .equipment-inventory__label {
    max-width: none;
    font-size: 0.8125rem;
    line-height: 1.35;
  }
}



/* Multi-Service Callout - Left of Sidebar */
.multi-service-callout-wrapper {
  max-width: 100%;
}

.multi-service-callout {
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  background: linear-gradient(135deg, #fafafa 0%, #f5f5f5 100%);
  border: 2px solid var(--colorAccent);
  border-left: 4px solid var(--colorAccent);
  border-radius: 6px;
  padding: 18px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
}

.multi-service-callout__icon {
  flex-shrink: 0;
  color: var(--colorAccent);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  height: auto;
}

.multi-service-callout__icon svg {
  width: 20px;
  height: 20px;
}

.multi-service-callout__content {
  flex: 1;
  min-width: 0;
}

.multi-service-callout__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.75);
  font-weight: 700;
  color: var(--colorTextBody);
  margin: 0 0 6px;
  line-height: 1.3;
  overflow-wrap: break-word;
  word-break: break-word;
}

.multi-service-callout__text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.85);
  color: var(--colorTextMuted);
  margin: 0;
  line-height: 1.4;
  overflow-wrap: break-word;
  word-break: break-word;
}

/* Inline contact link: plain in sidebar on desktop; active on mobile when button is hidden */
.multi-service-callout__link {
  color: inherit;
  text-decoration: none;
  font-weight: inherit;
  pointer-events: none;
  cursor: inherit;
}

@media (min-width: 769px) {
  .multi-service-callout__link:hover {
    color: inherit;
    text-decoration: none;
  }
}



.multi-service-callout__action {
  width: 100%;
  margin-top: 4px;
}

.multi-service-callout__action .btn--primary {
  width: 100%;
  max-width: 100%;
  padding: 8px 14px;
  font-size: 12px;
  box-sizing: border-box;
}

.multi-service-callout__phone {
  width: 100%;
  margin-top: 16px;
  text-align: left;
}

.multi-service-callout__phone-label {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.75);
  font-weight: 600;
  color: var(--colorTextBody);
  margin: 0 0 2px;
  line-height: 1.3;
}

.multi-service-callout__phone-link {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.85);
  font-weight: 600;
  color: var(--colorAccentText);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 100%;
  overflow-wrap: anywhere;
  transition: color var(--transitionDuration) var(--transitionEase);
}

@media (max-width: 1200px) {
  .multi-service-callout {
    padding: 14px 12px;
    gap: 10px;
  }

  .multi-service-callout__title {
    font-size: calc(var(--typeHeaderSize) * 0.58);
    line-height: 1.25;
  }

  .multi-service-callout__text {
    font-size: calc(var(--typeBaseSize) * 0.8);
    line-height: 1.35;
  }

  .multi-service-callout__action .btn--primary {
    padding: 8px 10px;
    font-size: 11px;
  }

  .multi-service-callout__phone-label {
    font-size: calc(var(--typeBaseSize) * 0.7);
  }

  .multi-service-callout__phone-link {
    font-size: calc(var(--typeBaseSize) * 0.78);
  }
}



.multi-service-callout__phone-link svg {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}

.multi-service-callout__phone-link:hover {
  color: var(--colorAccentTextHover);
  text-decoration: underline;
}

@media (max-width: 768px) {
  .multi-service-callout-wrapper {
    position: static;
  }

  .services-page .multi-service-callout {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 8px 10px;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 20px 0 0;
    overflow: visible;
  }

  .services-page .multi-service-callout__icon {
    grid-column: 1;
    grid-row: 1;
    margin-top: 3px;
  }

  .services-page .multi-service-callout__icon svg {
    width: 18px;
    height: 18px;
  }

  .services-page .multi-service-callout__content {
    grid-column: 2;
    grid-row: 1;
  }

  .services-page .multi-service-callout__title {
    font-size: calc(var(--typeHeaderSize) * 0.65);
    margin-bottom: 0;
    line-height: 1.25;
  }

  .services-page .multi-service-callout__text {
    grid-column: 1 / -1;
    grid-row: 2;
    font-size: calc(var(--typeBaseSize) * 0.85);
    line-height: 1.45;
  }

  .services-page .multi-service-callout__link {
    display: block;
    margin-top: 6px;
    pointer-events: auto;
    cursor: pointer;
    color: var(--colorAccentText);
    font-weight: 600;
    text-decoration: none;
  }

  .services-page .multi-service-callout__link:hover {
    color: var(--colorAccentTextHover);
    text-decoration: none;
  }

  .services-page .multi-service-callout__action {
    display: none;
  }

  .services-page .multi-service-callout-wrapper .multi-service-callout__phone {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid var(--colorBorder);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
  }

  .services-page .multi-service-callout__phone-label {
    margin: 0;
    font-size: calc(var(--typeBaseSize) * 0.8);
    font-weight: 500;
  }

  .services-page .multi-service-callout__phone-link {
    font-size: calc(var(--typeBaseSize) * 0.9);
  }
}



.service-content-panel__cta {
  margin-top: 40px;
  padding-top: 30px;
}

.service-content-panel__cta .btn {
  display: inline-block;
}

.service-content-panel__cta p {
  margin: 20px 0 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  line-height: var(--typeBaseLineHeight);
  color: var(--colorTextBody);
}

/* Service Panel Wrapper - Container for content and form */
.service-panel-wrapper {
  position: relative;
  min-height: 400px;
}

/* Service Panel Content - Slides left when form is shown */
.service-panel-content {
  transition: opacity 0.3s ease, max-height 0.3s ease;
  opacity: 1;
  max-height: none;
}

.service-panel-wrapper.show-form .service-panel-content {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  pointer-events: none;
}

/* Service Panel Form - Expands downward naturally */
.service-panel-form {
  position: relative;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.3s ease, max-height 0.3s ease;
  background: var(--colorBody);
  padding: 0;
}

.service-panel-wrapper.show-form .service-panel-form {
  opacity: 1;
  max-height: 5000px;
  padding: 30px 0;
  pointer-events: auto;
}

/* Form Back Button */
.service-form__close {
  position: relative;
  top: auto;
  left: auto;
  background: none;
  border: none;
  padding: 0 0 16px 0;
  margin: 0 0 0 0;
  cursor: pointer;
  color: var(--colorTextBody);
  transition: color 0.3s ease;
  z-index: 11;
  display: block;
  width: auto;
}

.service-form__close:hover {
  color: var(--colorBtnPrimary);
}

.service-form__close svg {
  width: 24px;
  height: 24px;
}

/* Form Title */
.service-form__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.9);
  font-weight: 700;
  color: var(--colorTextBody);
  margin: 0 0 8px;
  letter-spacing: 0;
  padding-left: 0;
  position: relative;
  line-height: 1.2;
}

/* Form Introduction Text */
.service-form__intro {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  color: var(--colorTextMuted);
  margin: 0 0 18px;
  line-height: 1.4;
  padding-left: 0;
}

@media (max-width: 768px) {
  .service-form__title {
    font-size: calc(var(--typeHeaderSize) * 0.85);
    margin-bottom: 8px;
    padding-left: 0;
  }
  
  .service-form__intro {
    font-size: calc(var(--typeBaseSize) * 0.85);
    margin-bottom: 20px;
    padding-left: 0;
  }
}



/* Service Quote Form */
.service-quote-form {
  max-width: 600px;
}

.service-quote-form .form-group {
  margin-bottom: 14px;
}

.service-quote-form label {
  display: block;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 500;
  color: var(--colorTextBody);
  margin-bottom: 5px;
  line-height: 1.3;
}

.service-quote-form .required {
  color: #d32f2f;
  margin-left: 3px;
}

.service-quote-form .form-error {
  display: block;
  margin-top: 6px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.8);
  color: #d32f2f;
}

.service-quote-form input.error,
.service-quote-form select.error,
.service-quote-form textarea.error {
  border-color: #d32f2f;
}

.service-quote-form input[type="text"],
.service-quote-form input[type="email"],
.service-quote-form input[type="tel"],
.service-quote-form input[type="date"],
.service-quote-form input[type="number"],
.service-quote-form select,
.service-quote-form textarea {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--colorBorderMuted);
  border-radius: 0;
  background-color: var(--colorInputBg);
  color: var(--colorInputText);
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  transition: border-color var(--transitionDuration) var(--transitionEase), box-shadow var(--transitionDuration) var(--transitionEase);
  box-sizing: border-box;
}

.service-quote-form input[type="text"]:focus,
.service-quote-form input[type="email"]:focus,
.service-quote-form input[type="tel"]:focus,
.service-quote-form input[type="date"]:focus,
.service-quote-form input[type="number"]:focus,
.service-quote-form select:focus,
.service-quote-form textarea:focus {
  outline: none;
  border-color: var(--colorTextBody);
  box-shadow: none;
}

.service-quote-form input[type="text"]::placeholder,
.service-quote-form input[type="email"]::placeholder,
.service-quote-form input[type="tel"]::placeholder,
.service-quote-form textarea::placeholder {
  color: #999999;
}

.service-quote-form textarea {
  min-height: 80px;
  resize: vertical;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
}

.service-quote-form .form-actions {
  margin-top: 18px;
}

.service-quote-form .btn--primary {
  background-color: var(--colorBtnPrimary);
  color: var(--colorBtnPrimaryText);
  padding: 10px 24px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  border-radius: 0;
  cursor: pointer;
  transition: background-color var(--transitionDuration) var(--transitionEase);
  width: 100%;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  text-transform: none;
  letter-spacing: 0;
}

.service-quote-form .btn--primary:hover {
  background-color: var(--colorBtnPrimaryDim);
}

@media (max-width: 768px) {
  .service-content-panel__body {
    font-size: calc(var(--typeBaseSize) * 0.95);
  }

  .service-content-panel__cta .btn {
    display: block;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
  
  .service-content-panel__cta {
    margin-top: 30px;
    padding-top: 25px;
  }
  
  .service-panel-wrapper {
    min-height: auto;
  }
  
  .service-panel-wrapper.show-form .service-panel-form {
    padding: 25px 0;
  }
  
  .service-quote-form {
    max-width: 100%;
  }
  
  .service-quote-form .form-group {
    margin-bottom: 12px;
  }
  
  .service-quote-form label {
    font-size: calc(var(--typeBaseSize) * 0.85);
    margin-bottom: 4px;
  }
  
  .service-quote-form input[type="text"],
  .service-quote-form input[type="email"],
  .service-quote-form input[type="tel"],
  .service-quote-form select,
  .service-quote-form textarea {
    padding: 7px 10px;
    font-size: calc(var(--typeBaseSize) * 0.85);
  }
  
  .service-quote-form textarea {
    min-height: 70px;
  }
  
  .service-quote-form .form-actions {
    margin-top: 16px;
  }
  
  .service-quote-form .btn--primary {
    padding: 9px 20px;
    font-size: 13px;
  }
}



/* Privacy notice for forms */
.service-quote-form .form-notice,
.careers-form .form-notice {
  margin: 0 0 16px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 400;
  line-height: 1.5;
  color: var(--colorTextMuted);
}

.service-quote-form .form-notice a,
.careers-form .form-notice a {
  color: var(--colorBtnPrimary);
  text-decoration: underline;
}

.service-quote-form .form-notice a:hover,
.careers-form .form-notice a:hover {
  color: var(--colorTextBody);
}

@media (max-width: 768px) {
  .service-quote-form .form-notice,
  .careers-form .form-notice {
    font-size: calc(var(--typeBaseSize) * 0.85);
    margin-bottom: 14px;
  }
}

/* Inline submit feedback (contact + careers) */
.form-message {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 16px;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.95);
  line-height: 1.5;
}

.form-message .icon {
  flex-shrink: 0;
  width: 1.25em;
  height: 1.25em;
  margin-top: 0.1em;
}

.form-message--success {
  color: var(--colorTextBody);
}

.form-message--error {
  color: #b42318;
}



/* ============================================
   CONTACT PAGE ENHANCEMENTS
   ============================================ */

/* Contact Quick Cards */
.contact-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin-top: 50px;
  margin-bottom: 60px;
}

@media (max-width: 768px) {
  .contact-cards {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 40px;
    margin-bottom: 40px;
  }
}



.contact-card {
  background: var(--colorBody);
  border: 2px solid var(--colorBorderMuted);
  border-radius: 8px;
  padding: 30px 25px;
  text-align: center;
  transition: all var(--transitionDuration) var(--transitionEase);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.contact-card:hover {
  border-color: var(--colorAccent);
  box-shadow: 0 4px 16px rgba(var(--colorAccentRgb), 0.2);
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .contact-card {
    padding: 25px 20px;
  }
}



.contact-card__icon {
  color: var(--colorAccent);
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
}

.contact-card__icon svg {
  filter: drop-shadow(0 2px 4px rgba(var(--colorAccentRgb), 0.2));
}

.contact-card__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.75);
  font-weight: 600;
  color: var(--colorTextBody);
  margin: 0 0 12px;
}

.contact-card__link {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.05);
  font-weight: 600;
  color: var(--colorAccentText);
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
  transition: color var(--transitionDuration) var(--transitionEase);
}

.contact-card__link:hover {
  color: var(--colorAccentTextHover);
  text-decoration: underline;
}

.contact-card__address {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.95);
  color: var(--colorTextBody);
  line-height: 1.6;
  margin: 0 0 8px;
}

.contact-card__note {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.85);
  color: var(--colorTextMuted);
  line-height: 1.5;
  margin: 0;
}

/* Location Section */
.contact-content-section {
  padding: var(--spacingSection) 0;
  background-color: var(--colorBody);
}

@media (max-width: 768px) {
  .contact-content-section {
    padding: var(--spacingSectionMobile) 0;
  }
}



.contact-two-column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: stretch;
}

@media (max-width: 1200px) {
  .contact-two-column {
    gap: 40px;
  }
}

@media (max-width: 1024px) {
  .contact-two-column {
    grid-template-columns: 1fr;
    gap: 50px;
    min-width: 0;
  }
}



.contact-form-column {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}

@media (min-width: 1025px) {
  .contact-content-section {
    background-color: var(--colorSurfaceMuted);
  }

  .contact-form-column {
    background: var(--colorBody);
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    padding: 40px;
  }
}

@media (max-width: 768px) {
  .contact-form-column .service-quote-form .form-group {
    margin-bottom: 28px;
  }

  .contact-form-column .service-quote-form .form-actions {
    text-align: center;
  }

  .contact-form-column .service-quote-form .btn--primary {
    display: block;
    width: 100%;
    text-align: center;
    padding: 12px 22px;
    box-sizing: border-box;
  }
}



.contact-form-column .service-quote-form .form-actions {
  text-align: left;
}

.contact-form-column .service-quote-form .btn--primary {
  width: auto;
  min-width: 0;
  padding: 8px 22px;
  font-size: 14px;
  font-weight: 600;
  background-color: var(--colorBlack);
  color: var(--colorBody);
  border: none;
  border-radius: 0;
}

.contact-form-column .service-quote-form .btn--primary:hover {
  background-color: var(--colorTextMutedStrong);
}

/* Contact form typography - match careers page */
.contact-form-column .service-quote-form {
  max-width: 100%;
}

.contact-form-column .service-quote-form .form-group {
  margin-bottom: 32px;
}

.contact-form-column .service-quote-form label {
  font-size: var(--typeBaseSize);
  font-weight: 400;
  color: var(--colorBlack);
  margin-bottom: 4px;
  line-height: 20px;
  letter-spacing: 0.425px;
}

.contact-form-column .service-quote-form .required {
  color: var(--colorBlack);
  font-size: 12px;
  font-weight: 400;
  margin-left: 0;
}

.contact-form-column .service-quote-form input[type="text"],
.contact-form-column .service-quote-form input[type="email"],
.contact-form-column .service-quote-form input[type="tel"],
.contact-form-column .service-quote-form textarea {
  padding: 9px 10px;
  border: 0.8px solid var(--colorBorderMuted);
  border-radius: 2px;
  font-size: var(--typeBaseSize);
}

.contact-form-column .service-quote-form input[type="text"]:focus,
.contact-form-column .service-quote-form input[type="email"]:focus,
.contact-form-column .service-quote-form input[type="tel"]:focus,
.contact-form-column .service-quote-form textarea:focus {
  border-color: var(--colorTextBody);
}

.contact-form-column .service-quote-form textarea {
  min-height: 120px;
}

/* Match premiereofficefurniture.ca flat_rounded-input select */
.contact-form-column .service-quote-form select.flat_rounded-input {
  display: block;
  width: 100%;
  padding: 9px 36px 9px 10px;
  border: 0.8px solid var(--colorBorderMuted);
  border-radius: 2px;
  background-color: var(--colorInputBg);
  color: var(--colorInputText);
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 0.425px;
  box-sizing: border-box;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  background-size: 12px 8px;
  cursor: pointer;
  transition: border-color var(--transitionDuration) var(--transitionEase);
}

.contact-form-column .service-quote-form select.flat_rounded-input:focus {
  outline: none;
  border-color: var(--colorTextBody);
}

.contact-form-column .service-quote-form select.flat_rounded-input:invalid {
  color: #676767;
}

/* Inquiry selector + intro box */
.contact-inquiry-context {
  background: var(--colorBodyLightDim);
  border-radius: 6px;
  padding: 20px 22px 22px;
  margin-bottom: 24px;
  border-bottom: none;
}

.contact-inquiry-context .form-group--inquiry {
  margin-bottom: 0;
}

.contact-inquiry-context .form-group--inquiry label,
.contact-form-column .service-quote-form .form-group--inquiry-detail label {
  display: block;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--colorTextMuted);
  margin-bottom: 8px;
}

.contact-form-column .service-quote-form .contact-inquiry-select {
  width: fit-content;
  min-width: 220px;
  max-width: 100%;
  background-color: var(--colorBody);
  border-color: #d8d8d8;
}

.contact-inquiry-context .contact-form__intro {
  margin: 14px 0 0;
}

.contact-inquiry-context .contact-form__intro[hidden] {
  display: none;
}

.contact-inquiry-context:has(.contact-form__intro[hidden]):not(:has(.consultant-services-info:not([hidden]))) {
  padding-bottom: 10px;
}

.contact-inquiry-context .consultant-services-info {
  background: transparent;
  border: none;
  border-bottom: none;
  padding: 0;
  margin: 14px 0 0;
  border-radius: 0;
}

.contact-inquiry-context .contact-form__intro,
.contact-inquiry-context .consultant-service-item__text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 400;
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  color: var(--colorTextMuted);
}

.contact-inquiry-context .consultant-services-intro {
  margin: 0 0 16px;
  text-align: left;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 400;
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  color: var(--colorTextMutedStrong);
}

.contact-inquiry-context .consultant-services-grid {
  gap: 12px 20px;
}

@media (max-width: 768px) {
  .contact-inquiry-context .contact-form__intro,
  .contact-inquiry-context .consultant-service-item__text,
  .contact-inquiry-context .consultant-services-intro {
    font-size: calc(var(--typeBaseSize) * 0.85);
  }
}



.contact-form-column .service-quote-form .form-group--inquiry-detail {
  margin-bottom: 28px;
}

.contact-form-fields {
  display: flex;
  flex-direction: column;
}

.contact-item-request {
  margin: 0 0 0;
  padding: 0;
}

.contact-item-request[hidden],
.contact-rental-dates[hidden] {
  display: none;
}

.contact-address-fields {
  margin-bottom: 8px;
}

.contact-address-fields__row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 16px;
}

.contact-rental-dates {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 8px 0 20px;
}

@media (max-width: 600px) {
  .contact-address-fields__row {
    grid-template-columns: 1fr;
  }
}



.contact-item-picker {
  margin: 0 0 32px;
  padding: 0;
  border: none;
  min-width: 0;
}

.contact-item-picker__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px auto;
  gap: 12px;
  align-items: end;
}

.contact-form-column .service-quote-form .contact-item-picker__row .form-group {
  margin-bottom: 0;
}

.contact-item-picker__action {
  display: flex;
  align-items: stretch;
}

.contact-item-picker__add {
  background-color: transparent;
  border: 1px solid var(--colorTextBody);
  color: var(--colorTextBody);
  min-width: 72px;
  height: 100%;
  min-height: 42px;
  padding: 8px 16px;
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 500;
  line-height: 1.3;
  box-sizing: border-box;
}

.contact-item-picker__add:hover {
  background-color: var(--colorTextBody);
  color: var(--colorBtnPrimaryText);
}

.contact-item-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.contact-item-list__empty {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.85);
  color: #888888;
  padding: 4px 0;
}

.contact-item-list__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  background: var(--colorBody);
  border: 1px solid var(--colorBorderMuted);
}

.contact-item-list__label,
.contact-item-list__qty {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  color: var(--colorTextBody);
}

.contact-item-list__qty {
  color: var(--colorTextMuted);
  white-space: nowrap;
}

.contact-item-list__remove {
  appearance: none;
  background: none;
  border: none;
  padding: 0;
  margin: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.85);
  color: var(--colorTextMuted);
  text-decoration: underline;
  cursor: pointer;
}

.contact-item-list__remove:hover,
.contact-item-list__remove:focus-visible {
  color: var(--colorTextBody);
}

.contact-item-request .form-error--items {
  display: block;
  margin-top: 10px;
}

@media (max-width: 600px) {
  .contact-rental-dates {
    grid-template-columns: 1fr;
  }

  .contact-item-picker__row {
    grid-template-columns: minmax(0, 1fr) 88px;
  }

  .contact-item-picker__action {
    grid-column: 1 / -1;
  }

  .contact-item-picker__add {
    width: 100%;
  }
}



.contact-form-column .service-quote-form .form-actions {
  margin-top: 24px;
}

@media (max-width: 420px) {
  .contact-content-section .page-width {
    padding-left: 12px;
    padding-right: 12px;
  }

  .contact-form-column .service-quote-form {
    min-width: 0;
    width: 100%;
  }

  .contact-form-column .service-quote-form .form-group {
    min-width: 0;
  }

  .contact-form-column .service-quote-form select.flat_rounded-input,
  .contact-form-column .service-quote-form input[type="text"],
  .contact-form-column .service-quote-form input[type="email"],
  .contact-form-column .service-quote-form input[type="tel"],
  .contact-form-column .service-quote-form textarea {
    max-width: 100%;
  }

  .contact-form-column .service-quote-form .contact-inquiry-select {
    width: 100%;
    min-width: 0;
  }

  .contact-inquiry-context {
    padding: 16px 14px 18px;
    margin-bottom: 28px;
  }

  .contact-inquiry-context:has(.contact-form__intro[hidden]):not(:has(.consultant-services-info:not([hidden]))) {
    padding-bottom: 8px;
  }

  .contact-inquiry-context .consultant-services-intro {
    margin-bottom: 14px;
  }

  .contact-form-column .service-quote-form select.flat_rounded-input {
    padding-right: 30px;
    background-position: right 10px center;
  }
}



.contact-info-column {
  display: flex;
  flex-direction: column;
  gap: 30px;
  height: 100%;
  min-height: 0;
}

.location-title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.9);
  font-weight: 700;
  color: var(--colorTextBody);
  margin: 0 0 25px;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .location-title {
    font-size: calc(var(--typeHeaderSize) * 0.85);
    margin-bottom: 20px;
  }
}



.contact-map-container {
  position: relative;
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.contact-map-container iframe {
  display: block;
  width: 100%;
  height: var(--contactMapHeight);
  border: 0;
}

@media (min-width: 1025px) {
  .contact-map-container {
    flex: none;
  }
}

@media (max-width: 1024px) {
  .contact-map-container {
    margin-bottom: 0;
  }
}



.office-address-block {
  text-align: center;
  margin-bottom: 30px;
}

.office-address {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 1.05);
  line-height: 1.8;
  color: var(--colorTextBody);
  font-style: normal;
  margin: 0 0 20px;
}

.office-address strong {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 1.15);
  font-weight: 600;
  color: var(--colorTextBody);
  display: block;
  margin-bottom: 4px;
}

.office-directions-btn {
  display: inline-block;
}

@media (max-width: 768px) {
  .office-address-block {
    margin-bottom: 25px;
  }
  
  .office-address {
    font-size: var(--typeBaseSize);
    margin-bottom: 18px;
  }
  
  .office-address strong {
    font-size: calc(var(--typeBaseSize) * 1.1);
  }
}



.location-map iframe {
  display: block;
  width: 100%;
  border-radius: 8px;
}

@media (max-width: 768px) {
  .location-map iframe {
    height: 350px !important;
  }
}



/* Contact page section headers - match premiereofficefurniture.ca/pages/contact-us */
.contact-section-header {
  text-align: center;
  padding: 0;
  margin: 0 0 28px;
  position: static;
}

.contact-section-header::after {
  display: none;
  content: none;
}

.contact-section-header .section-header__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: 26.775px;
  font-weight: 700;
  line-height: 32.13px;
  letter-spacing: normal;
  color: var(--colorTextBody);
  margin: 0;
  text-align: center;
  text-transform: none;
  opacity: 1;
  animation: none;
  position: static;
}

.contact-get-in-touch .contact-section-header {
  margin-bottom: 30px;
}

@media (max-width: 768px) {
  .contact-get-in-touch .contact-section-header {
    margin-bottom: 25px;
  }
}



.contact-get-in-touch {
  flex-shrink: 0;
  margin-top: 0;
  background: var(--colorBody);
  padding: 35px 30px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

@media (max-width: 768px) {
  .contact-get-in-touch {
    padding: 28px 22px;
  }
}

@media (max-width: 420px) {
  .contact-get-in-touch {
    padding: 24px 18px;
  }
}



/* Phone and Email Two Column Layout */
.contact-phone-email-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  margin-bottom: 30px;
}

@media (max-width: 1024px) {
  .contact-phone-email-columns {
    gap: 30px;
  }
}

@media (max-width: 768px) {
  .contact-phone-email-columns {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 25px;
  }
}



/* Business Hours Full Width */
.contact-business-hours {
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .contact-business-hours {
    margin-bottom: 18px;
  }
}



.contact-careers-box {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 18px 0 0;
  padding: 20px 22px;
  background: var(--colorBody);
  border: 1px solid var(--colorBorder);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.contact-careers-box__icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--colorAccentText);
  background: rgba(var(--colorAccentRgb), 0.12);
  border-radius: 8px;
}

.contact-careers-box__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
}

.contact-careers-box__text {
  margin: 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: var(--typeBaseWeight);
  line-height: 1.45;
  color: var(--colorTextBody);
}

.contact-careers-box__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 600;
  color: var(--colorAccentText);
  text-decoration: none;
  transition: color 0.2s ease;
}

.contact-careers-box__link span[aria-hidden] {
  transition: transform 0.2s ease;
}

.contact-careers-box__link:hover,
.contact-careers-box__link:focus-visible {
  color: var(--colorAccentTextHover);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.contact-careers-box__link:hover span[aria-hidden],
.contact-careers-box__link:focus-visible span[aria-hidden] {
  transform: translateX(3px);
}

/* Directory Section */
.contact-directory-wrapper {
  margin-top: 30px;
}

.directory-title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.9);
  font-weight: 700;
  color: var(--colorTextBody);
  margin: 0 0 20px;
  letter-spacing: 0;
  line-height: 1.2;
}

@media (max-width: 768px) {
  .contact-directory-wrapper {
    margin-top: 25px;
  }
  
  .directory-title {
    font-size: calc(var(--typeHeaderSize) * 0.85);
    margin-bottom: 18px;
  }
}



.directory-item {
  padding: 12px 0;
  border-bottom: 1px solid #f0f0f0;
}

.directory-item:first-of-type {
  padding-top: 0;
}

.directory-item:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

@media (max-width: 768px) {
  .directory-item {
    padding: 10px 0;
  }
}



.directory-label {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  font-weight: 400;
  color: var(--colorTextBody);
  line-height: 1.5;
  text-transform: capitalize;
}

@media (max-width: 768px) {
  .directory-label {
    font-size: calc(var(--typeBaseSize) * 0.95);
  }
}



.contact-widget__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 0.8);
  font-weight: 600;
  color: var(--colorTextBody);
  margin: 0 0 25px;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .contact-widget__title {
    font-size: calc(var(--typeHeaderSize) * 0.75);
    margin-bottom: 20px;
  }
}



.contact-widget-item {
  display: flex;
  gap: 15px;
  align-items: flex-start;
  padding: 15px 0;
  border-bottom: 1px solid #f0f0f0;
}

.contact-widget-item:first-of-type {
  padding-top: 0;
}

.contact-widget-item:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

@media (max-width: 768px) {
  .contact-widget-item {
    gap: 12px;
    padding: 12px 0;
  }
}



.contact-widget-item__icon {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  background-color: var(--colorAccent);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--colorBody);
}

@media (max-width: 768px) {
  .contact-widget-item__icon {
    width: 36px;
    height: 36px;
  }
  
  .contact-widget-item__icon svg {
    width: 18px;
    height: 18px;
  }
}



.contact-widget-item__content {
  flex: 1;
}

.contact-widget-item__label {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeBaseSize) * 0.85);
  font-weight: 600;
  color: var(--colorTextMuted);
  text-transform: capitalize;
  letter-spacing: 0.05em;
  display: block;
  margin-bottom: 5px;
}

@media (max-width: 768px) {
  .contact-widget-item__label {
    font-size: calc(var(--typeBaseSize) * 0.8);
  }
}



.contact-widget-item__value {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.95);
  font-weight: 500;
  color: var(--colorTextBody);
  text-decoration: none;
  display: block;
  transition: color 0.3s ease;
}

.contact-widget-item__value:hover {
  color: var(--colorAccent);
}

@media (max-width: 768px) {
  .contact-widget-item__value {
    font-size: calc(var(--typeBaseSize) * 0.95);
  }
}



.business-hours-header {
  margin-bottom: 10px;
}

@media (max-width: 768px) {
  .business-hours-header {
    margin-bottom: 8px;
  }
}



.contact-widget-hours {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hours-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: var(--typeBaseSize);
  line-height: 1.6;
  color: var(--colorTextBody);
}

@media (max-width: 768px) {
  .hours-row {
    font-size: calc(var(--typeBaseSize) * 0.95);
  }
}



.hours-day {
  font-weight: 500;
  color: var(--colorTextMuted);
}

.hours-time {
  font-weight: 400;
  color: var(--colorTextBody);
}

.hours-note {
  margin: 4px 0 0;
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 400;
  line-height: 1.5;
  color: var(--colorTextMuted);
}

/* Contact page form intro */
.contact-form__intro {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  font-weight: 400;
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  color: var(--colorTextMuted);
  text-align: left;
  padding: 0;
  max-width: 100%;
  margin: 0 0 24px;
}

@media (max-width: 768px) {
  .contact-form__intro {
    font-size: calc(var(--typeBaseSize) * 0.85);
  }
}



.consultant-services-intro {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  color: var(--colorTextMutedStrong);
  margin: 0 0 20px;
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  text-align: left;
  font-weight: 400;
}

@media (max-width: 768px) {
  .consultant-services-intro {
    font-size: calc(var(--typeBaseSize) * 0.85);
    margin-bottom: 18px;
  }
}



/* Consultant Services Info */
.consultant-services-info {
  background: var(--colorSurfaceSoft);
  border: 1px solid var(--colorBorderMuted);
  padding: 24px 28px;
  margin: 4px 0 36px;
  border-radius: 6px;
}

.consultant-services-info__title {
  font-family: var(--typeHeaderPrimary), var(--typeHeaderFallback);
  font-size: calc(var(--typeHeaderSize) * 1.05);
  font-weight: 600;
  color: var(--colorTextBody);
  margin: 0 0 12px;
  line-height: 1.3;
}

.consultant-services-info__intro {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  color: var(--colorTextMuted);
  margin: 0 0 20px;
  line-height: 1.5;
  font-weight: 400;
}

.consultant-services-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px 28px;
  margin-top: 0;
}

@media (max-width: 768px) {
  .consultant-services-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}



.consultant-service-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 0;
  background: transparent;
}

.consultant-service-item__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--colorAccentText);
  margin-top: 2px;
}

.consultant-service-item__icon svg {
  width: 100%;
  height: 100%;
  stroke-width: 2.5;
}

.consultant-service-item__text {
  font-family: var(--typeBasePrimary), var(--typeBaseFallback);
  font-size: calc(var(--typeBaseSize) * 0.9);
  color: var(--colorTextMuted);
  margin: 0;
  line-height: var(--typeBaseLineHeight);
  letter-spacing: var(--typeBaseSpacing);
  font-weight: 400;
}

@media (max-width: 768px) {
  .consultant-services-info {
    padding: 20px 22px;
    margin: 2px 0 32px;
  }
  
  .consultant-services-info__title {
    font-size: calc(var(--typeHeaderSize) * 0.95);
    margin-bottom: 10px;
  }
  
  .consultant-services-info__intro {
    font-size: calc(var(--typeBaseSize) * 0.85);
    margin-bottom: 16px;
  }
  
  .consultant-services-grid {
    gap: 12px;
    margin-top: 0;
  }
  
  .consultant-service-item {
    gap: 10px;
    padding: 0;
  }
  
  .consultant-service-item__icon {
    width: 18px;
    height: 18px;
    margin-top: 2px;
  }
  
  .consultant-service-item__text {
    font-size: calc(var(--typeBaseSize) * 0.85);
}
}
