﻿@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/Inter-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Sitka Heading Bold";
  src: url("../assets/fonts/sitka-heading-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

* {
  padding: 0;
  margin: 0;
}

:root {
  --safe-area-inset-left: env(safe-area-inset-left, 0px);
  --safe-area-inset-right: env(safe-area-inset-right, 0px);
  --safe-area-inset-top: env(safe-area-inset-top, 0px);
  --safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);
  --safe-area-inline-left: 0px;
  --safe-area-inline-right: 0px;
  --safe-area-inline-max: max(var(--safe-area-inline-left), var(--safe-area-inline-right));
  --mobile-keyboard-offset: 0px;
}

@media (max-width: 899px) and (orientation: landscape) and (max-height: 500px) {
  :root.device-iphone {
    --safe-area-inline-left: max(0px, calc(var(--safe-area-inset-left) - 1.5rem));
    --safe-area-inline-right: max(0px, calc(var(--safe-area-inset-right) - 1.5rem));
  }
}

@media (min-width: 680px) and (orientation: landscape) and (max-height: 500px) {
  :root.device-iphone {
    --safe-area-inline-left: max(0px, calc(var(--safe-area-inset-left) - 2.75rem));
    --safe-area-inline-right: max(0px, calc(var(--safe-area-inset-right) - 2.75rem));
  }
}

:root.device-iphone,
:root.device-iphone body {
  background-color: transparent;
}

@media (max-width: 899px) and (orientation: landscape) and (max-height: 500px) {
  :root.device-iphone,
  :root.device-iphone body {
    background-color: #F9FAFB;
  }
}

/* =========================================================
   SKIP LINK — visible on focus for keyboard users
   ========================================================= */
.skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  z-index: 10000;
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
}

.skip-link:focus {
  position: fixed;
  top: 0;
  left: 1rem;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.75rem 1.25rem;
  overflow: visible;
  clip: auto;
  white-space: normal;
  background: #1B2A3B;
  color: #F9FAFB;
  border-radius: 0 0 6px 6px;
  outline: 2px solid #B8860B;
  outline-offset: 2px;
}

.sticky-bar {
  --header-inline-pad: clamp(1rem, 1.111111vw, 2.666667rem);
  --header-block-pad: clamp(0.25rem, 0.277778vw, 0.666667rem);
  --header-min-height: clamp(5.125rem, 5.694444vw, 13.666667rem);
  --header-group-gap: clamp(1.2rem, 1.666667vw, 4rem);
  --header-nav-gap: clamp(1.3rem, 1.875vw, 4.5rem);
  --header-utility-gap: clamp(1rem, 1.111111vw, 2.666667rem);
  --header-label-size: clamp(0.90625rem, 1.006944vw, 2.416667rem);
  --header-label-line-height: 1.4;
  --header-label-spacing: 0.06em;
  --header-phone-gap: clamp(0.25rem, 0.277778vw, 0.666667rem);
  --header-icon-size: clamp(1.125rem, 1.25vw, 3rem);
  --header-cta-inline-pad: clamp(1.26rem, 1.4vw, 3.733333rem);
  --header-cta-block-pad: clamp(0.875rem, 0.972222vw, 2.333333rem);
  --header-cta-radius: clamp(0.375rem, 0.416667vw, 1rem);
  --header-logo-height: clamp(4rem, 4.444444vw, 10.666667rem);
  --header-focus-offset: clamp(0.25rem, 0.277778vw, 0.666667rem);
  --mobile-header-height: 4rem;

  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--header-group-gap);
  padding-block: var(--header-block-pad);
  padding-inline: var(--header-inline-pad);
  min-height: var(--header-min-height);

  --sticky-bar-surface: #2A2C2F;

  background-color: var(--sticky-bar-surface);
  position: sticky;
  top: 0;
  z-index: 1000;
}

.nav-primary {
  display: flex;
  list-style: none;
  flex: 0 1 auto;
  min-width: 0;
  justify-content: flex-start;
  gap: var(--header-nav-gap);
  margin: 0;
  padding: 0;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

.nav-primary > li > a,
.nav-primary > li > a:visited {
  display: inline-block;
  position: relative;
  white-space: nowrap;

  color: #F9FAFB;
  text-decoration: none;
  font-weight: 400;
  font-size: var(--header-label-size);
  line-height: var(--header-label-line-height);
  letter-spacing: var(--header-label-spacing);
  opacity: 0.88;

  transition:
          opacity 160ms ease,
          color 160ms ease,
          border-color 160ms ease;
}

.nav-primary > li > a:hover,
.nav-primary > li > a:focus-visible {
  opacity: 1;
  color: #FFFFFF;
}

.nav-primary > li > a:active {
  opacity: 1;
  color: #FFFFFF;
}

.nav-primary > li.currentPage > a,
.nav-primary > li.currentPage > a:visited {
  color: #E5E7EB;
  font-weight: 500;
  opacity: 1;
}

.nav-primary > li.currentPage > a::after {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + 0.42em);
  transform: translateX(-50%);
  width: 100%;
  height: clamp(0.125rem, 0.138889vw, 0.333333rem);
  background: #E5E7EB;
  border-radius: 999px;
}

.nav-primary > li.nav-primary__item--submenu {
  position: relative;
  z-index: 0;
  --nav-submenu-scale: 1;
  --nav-submenu-translate-x: -19%;
  --nav-submenu-max-width: min(28.75rem, calc(100vw - 2rem));
  --nav-submenu-padding-block-start: 0.86rem;
  --nav-submenu-padding-inline: 1.92rem;
  --nav-submenu-padding-block-end: 0.92rem;
  --nav-submenu-top-offset: 0.56rem;
  --nav-submenu-panel-radius: 0.32rem;
  --nav-submenu-shadow-y: 1rem;
  --nav-submenu-shadow-blur: 2.1rem;
  --nav-submenu-inner-gap: 0.62rem;
  --nav-submenu-group-gap: 0.24rem;
  --nav-submenu-group-separator-pad: 0.62rem;
  --nav-submenu-title-size: 0.62rem;
  --nav-submenu-list-row-gap: 0.08rem;
  --nav-submenu-list-column-gap: 1.82rem;
  --nav-submenu-compact-row-gap: 0.12rem;
  --nav-submenu-link-pad-block-start: 0.18rem;
  --nav-submenu-link-pad-inline: 0.18rem;
  --nav-submenu-link-pad-block-end: 0.19rem;
  --nav-submenu-link-radius: 0.32rem;
  --nav-submenu-link-size: 0.78rem;
  --nav-submenu-bridge-triangle-size: 0.68rem;
  --nav-submenu-bridge-bar-height: 0.31rem;
}

.nav-primary > li.nav-primary__item--submenu.nav-primary__item--submenu--compact {
  --nav-submenu-translate-x: -3.5rem;
  --nav-submenu-max-width: min(16rem, calc(100vw - 2rem));
  --nav-submenu-padding-block-start: 0.72rem;
  --nav-submenu-padding-inline: 1.32rem;
  --nav-submenu-padding-block-end: 0.78rem;
}

.nav-primary__submenu-trigger {
  display: inline-block;
}

.nav-primary__submenu-caret {
  display: none;
}

.nav-primary > li.is-submenu-open:not(.currentPage) > a {
  opacity: 1;
  color: #FFFFFF;
}

.nav-primary > li.nav-primary__item--submenu.is-submenu-open:not(.currentPage) > a::after {
  content: none;
}

.nav-primary > li.nav-primary__item--submenu.is-submenu-open::before {
  content: "";
  position: absolute;
  left: 50%;
  top: calc(100% + var(--header-block-pad) - 0.01rem);
  width: 0;
  height: 0;
  border-left: var(--nav-submenu-bridge-triangle-size) solid transparent;
  border-right: var(--nav-submenu-bridge-triangle-size) solid transparent;
  border-top: var(--nav-submenu-bridge-triangle-size) solid #C4963C;
  transform: translateX(-50%);
  z-index: 53;
  pointer-events: none;
}

.nav-primary > li.nav-primary__item--submenu.is-submenu-open::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: calc(-1 * var(--header-block-pad));
  transform: translateX(-50%);
  width: 100%;
  height: var(--nav-submenu-bridge-bar-height);
  background: #C4963C;
  border-radius: 0;
  z-index: 54;
  pointer-events: none;
}

.nav-submenu {
  position: absolute;
  top: calc(100% + var(--nav-submenu-top-offset));
  left: 50%;
  width: max-content;
  min-width: 0;
  max-width: var(--nav-submenu-max-width);
  padding:
          var(--nav-submenu-padding-block-start)
          var(--nav-submenu-padding-inline)
          var(--nav-submenu-padding-block-end);
  border-radius: var(--nav-submenu-panel-radius);
  border: 1px solid rgba(229, 231, 235, 0.08);
  background: linear-gradient(180deg, rgba(46, 49, 53, 0.994) 0%, rgba(36, 39, 43, 0.994) 100%);
  box-shadow:
          0 var(--nav-submenu-shadow-y) var(--nav-submenu-shadow-blur) rgba(6, 8, 12, 0.34),
          inset 0 1px 0 rgba(255, 255, 255, 0.03);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(var(--nav-submenu-translate-x), -0.1rem);
  transform-origin: top center;
  transition:
          opacity 180ms ease,
          transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
          visibility 0ms linear 220ms;
  z-index: 48;
}

.nav-submenu::before {
  content: none;
}

.nav-primary > li.is-submenu-open > .nav-submenu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(var(--nav-submenu-translate-x), 0);
  transition-delay: 0s;
}

.nav-submenu__inner {
  display: grid;
  gap: var(--nav-submenu-inner-gap);
  width: max-content;
  max-width: 100%;
}

.nav-submenu__inner--single-column {
  width: auto;
}

.nav-submenu__group {
  display: grid;
  gap: var(--nav-submenu-group-gap);
  width: 100%;
}

.nav-submenu__group--plain {
  gap: 0;
}

.nav-submenu__group + .nav-submenu__group {
  padding-top: var(--nav-submenu-group-separator-pad);
  border-top: 1px solid rgba(229, 231, 235, 0.07);
}

.nav-submenu__group-title {
  margin: 0;
  color: #C4963C;
  font-family: "Inter", sans-serif;
  font-size: var(--nav-submenu-title-size);
  font-weight: 700;
  line-height: 1.14;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.nav-submenu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: max-content max-content;
  justify-content: start;
  align-items: start;
  gap: var(--nav-submenu-list-row-gap) var(--nav-submenu-list-column-gap);
}

.nav-submenu__list--single-column {
  grid-template-columns: minmax(0, 1fr);
}

.nav-submenu__list--compact {
  gap: var(--nav-submenu-compact-row-gap) 0;
}

.nav-submenu__item {
  margin: 0;
  padding: 0;
}

.nav-submenu__link,
.nav-submenu__link:visited {
  display: block;
  padding:
          var(--nav-submenu-link-pad-block-start)
          var(--nav-submenu-link-pad-inline)
          var(--nav-submenu-link-pad-block-end);
  border-radius: var(--nav-submenu-link-radius);
  color: rgba(233, 237, 241, 0.92);
  text-decoration-line: underline;
  text-decoration-color: transparent;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
  font-family: "Inter", sans-serif;
  font-size: var(--nav-submenu-link-size);
  font-weight: 500;
  line-height: 1.24;
  letter-spacing: 0;
  white-space: normal;
  text-wrap: pretty;
  transition:
          color 160ms ease,
          text-decoration-color 160ms ease;
}

.nav-submenu__link:hover,
.nav-submenu__link:focus-visible {
  color: #FFFFFF;
  text-decoration-color: currentColor;
  outline: none;
}

.nav-submenu__link:active {
  color: #FFFFFF;
  text-decoration-color: currentColor;
}

@media (min-width: 56.25em) {
  .nav-primary > li.nav-primary__item--submenu {
    --nav-submenu-reference-lift: 1.08;
    --nav-submenu-max-width: min(clamp(calc(17.96875rem * var(--nav-submenu-reference-lift)), calc(31.944444vw * var(--nav-submenu-reference-lift)), calc(76.666667rem * var(--nav-submenu-reference-lift))), calc(100vw - 2rem));
    --nav-submenu-padding-block-start: clamp(calc(0.5375rem * var(--nav-submenu-reference-lift)), calc(0.955556vw * var(--nav-submenu-reference-lift)), calc(2.293333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-padding-inline: clamp(calc(1.2rem * var(--nav-submenu-reference-lift)), calc(2.133333vw * var(--nav-submenu-reference-lift)), calc(5.12rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-padding-block-end: clamp(calc(0.575rem * var(--nav-submenu-reference-lift)), calc(1.022222vw * var(--nav-submenu-reference-lift)), calc(2.453333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-top-offset: clamp(calc(0.35rem * var(--nav-submenu-reference-lift)), calc(0.622222vw * var(--nav-submenu-reference-lift)), calc(1.493333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-panel-radius: clamp(calc(0.2rem * var(--nav-submenu-reference-lift)), calc(0.355556vw * var(--nav-submenu-reference-lift)), calc(0.853333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-shadow-y: clamp(calc(0.625rem * var(--nav-submenu-reference-lift)), calc(1.111111vw * var(--nav-submenu-reference-lift)), calc(2.666667rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-shadow-blur: clamp(calc(1.3125rem * var(--nav-submenu-reference-lift)), calc(2.333333vw * var(--nav-submenu-reference-lift)), calc(5.6rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-inner-gap: clamp(calc(0.3875rem * var(--nav-submenu-reference-lift)), calc(0.688889vw * var(--nav-submenu-reference-lift)), calc(1.653333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-group-gap: clamp(calc(0.15rem * var(--nav-submenu-reference-lift)), calc(0.266667vw * var(--nav-submenu-reference-lift)), calc(0.64rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-group-separator-pad: clamp(calc(0.3875rem * var(--nav-submenu-reference-lift)), calc(0.688889vw * var(--nav-submenu-reference-lift)), calc(1.653333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-title-size: clamp(calc(0.3875rem * var(--nav-submenu-reference-lift)), calc(0.688889vw * var(--nav-submenu-reference-lift)), calc(1.653333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-list-row-gap: clamp(calc(0.05rem * var(--nav-submenu-reference-lift)), calc(0.088889vw * var(--nav-submenu-reference-lift)), calc(0.213333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-list-column-gap: clamp(calc(1.1375rem * var(--nav-submenu-reference-lift)), calc(2.022222vw * var(--nav-submenu-reference-lift)), calc(4.853333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-compact-row-gap: clamp(calc(0.075rem * var(--nav-submenu-reference-lift)), calc(0.133333vw * var(--nav-submenu-reference-lift)), calc(0.32rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-link-pad-block-start: clamp(calc(0.1125rem * var(--nav-submenu-reference-lift)), calc(0.2vw * var(--nav-submenu-reference-lift)), calc(0.48rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-link-pad-inline: clamp(calc(0.1125rem * var(--nav-submenu-reference-lift)), calc(0.2vw * var(--nav-submenu-reference-lift)), calc(0.48rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-link-pad-block-end: clamp(calc(0.11875rem * var(--nav-submenu-reference-lift)), calc(0.211111vw * var(--nav-submenu-reference-lift)), calc(0.506667rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-link-radius: clamp(calc(0.2rem * var(--nav-submenu-reference-lift)), calc(0.355556vw * var(--nav-submenu-reference-lift)), calc(0.853333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-link-size: clamp(calc(0.4875rem * var(--nav-submenu-reference-lift)), calc(0.866667vw * var(--nav-submenu-reference-lift)), calc(2.08rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-bridge-triangle-size: clamp(calc(0.425rem * var(--nav-submenu-reference-lift)), calc(0.755556vw * var(--nav-submenu-reference-lift)), calc(1.813333rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-bridge-bar-height: clamp(calc(0.19375rem * var(--nav-submenu-reference-lift)), calc(0.344444vw * var(--nav-submenu-reference-lift)), calc(0.826667rem * var(--nav-submenu-reference-lift)));
  }

  .nav-primary > li.nav-primary__item--submenu.nav-primary__item--submenu--compact {
    --nav-submenu-translate-x: clamp(calc(-9.333333rem * var(--nav-submenu-reference-lift)), calc(-3.888889vw * var(--nav-submenu-reference-lift)), calc(-2.1875rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-max-width: min(clamp(calc(10rem * var(--nav-submenu-reference-lift)), calc(17.777778vw * var(--nav-submenu-reference-lift)), calc(42.666667rem * var(--nav-submenu-reference-lift))), calc(100vw - 2rem));
    --nav-submenu-padding-block-start: clamp(calc(0.45rem * var(--nav-submenu-reference-lift)), calc(0.8vw * var(--nav-submenu-reference-lift)), calc(1.92rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-padding-inline: clamp(calc(0.825rem * var(--nav-submenu-reference-lift)), calc(1.466667vw * var(--nav-submenu-reference-lift)), calc(3.52rem * var(--nav-submenu-reference-lift)));
    --nav-submenu-padding-block-end: clamp(calc(0.4875rem * var(--nav-submenu-reference-lift)), calc(0.866667vw * var(--nav-submenu-reference-lift)), calc(2.08rem * var(--nav-submenu-reference-lift)));
  }
}

.utility-nav {
  display: flex;
  align-items: center;
  gap: var(--header-utility-gap);
  flex: 0 0 auto;
}

.phone-link,
.phone-link:visited {
  display: inline-flex;
  align-items: center;
  gap: var(--header-phone-gap);
  white-space: nowrap;

  text-decoration: none;
  color: #F9FAFB;
  opacity: 0.85;
  border-radius: 0.25rem;

  transition:
          color 160ms ease,
          opacity 160ms ease;
}

.phone-icon {
  width: var(--header-icon-size);
  height: var(--header-icon-size);
  flex-shrink: 0;
}

.phone-link span {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 400;
  font-size: var(--header-label-size);
  line-height: var(--header-label-line-height);
  letter-spacing: var(--header-label-spacing);
}

.phone-link:hover,
.phone-link:focus-visible {
  color: #C4963C;
  opacity: 1;
}

.phone-link:active {
  color: #B3832F;
  opacity: 1;
}

.phone-link:focus-visible {
  outline: 2px solid rgba(196, 150, 60, 0.9);
  outline-offset: var(--header-focus-offset);
}

.cta-button,
.cta-button:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  flex-shrink: 0;

  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  font-weight: 600;
  font-size: var(--header-label-size);
  line-height: var(--header-label-line-height);
  letter-spacing: var(--header-label-spacing);
  color: #FFFFFF;
  background-color: #C4963C;
  text-decoration: none;
  border-radius: var(--header-cta-radius);
  padding: var(--header-cta-block-pad) var(--header-cta-inline-pad);
  border: none;

  box-shadow:
          inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.18),
          0 clamp(0.25rem, 0.277778vw, 0.666667rem)
          clamp(1rem, 1.111111vw, 2.666667rem)
          clamp(-0.333333rem, -0.138889vw, -0.125rem)
          rgba(22, 22, 22, 0.10);

  transition:
          background-color 160ms ease,
          color 160ms ease,
          box-shadow 160ms ease;
}

.cta-button:hover,
.cta-button:focus-visible {
  background-color: #B3832F;
  color: #FFFFFF;
  box-shadow:
          inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.18),
          0 clamp(0.375rem, 0.416667vw, 1rem)
          clamp(1.125rem, 1.25vw, 3rem)
          clamp(-0.333333rem, -0.138889vw, -0.125rem)
          rgba(22, 22, 22, 0.12);
}

.cta-button:active {
  background-color: #A8792C;
  color: #FFFFFF;
  box-shadow:
          inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.18),
          0 clamp(0.125rem, 0.138889vw, 0.333333rem)
          clamp(0.5rem, 0.555556vw, 1.333333rem)
          clamp(-0.333333rem, -0.138889vw, -0.125rem)
          rgba(22, 22, 22, 0.10);
}

.cta-button:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: clamp(0.1875rem, 0.208333vw, 0.375rem);
}

.logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  text-decoration: none;
  flex: 0 0 auto;
}

.site-logo {
  display: block;
  height: var(--header-logo-height);
  width: auto;
  color: #F9FAFB;
}

.logo > svg.site-logo {
  display: none;
}

.site-logo--horizontal {
  height: var(--header-logo-height);
  width: auto;
  max-width: none;
  flex: 0 0 auto;
  aspect-ratio: 1161.63 / 335.29;
  background-color: currentColor;
  -webkit-mask: url("../images/icons/Horizontal-Logo.svg") center / contain no-repeat;
  mask: url("../images/icons/Horizontal-Logo.svg") center / contain no-repeat;
}

.mobile-sticky-bar {
  display: none;
}

/* =========================================================
   FINAL MOBILE MENU DRAWER
   Replace existing menu-toggle / mobile-nav rules with this.
   ========================================================= */

body.mobile-menu-open {
  overflow: hidden;
}

.menu-toggle {
  display: none;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  color: #E5E7EB;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  width: max-content;
  min-width: 0;
  height: auto;
  line-height: 1;
  align-self: center;
  position: relative;
  z-index: 1002;
}

.menu-toggle__stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: max-content;
  margin-inline: auto;
  text-align: center;
  transform: translateY(0.0625rem);
}

.menu-toggle__icon {
  position: relative;
  display: block;
  width: 1.625rem;
  height: 1rem;
  flex: 0 0 1rem;
}

.menu-toggle__bar {
  position: absolute;
  left: 0;
  width: 1.625rem;
  height: 0.125rem;
  background: currentColor;
  border-radius: 0.0625rem;
  transform-origin: center;
  transition:
          transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
          opacity 140ms ease;
}

.menu-toggle__bar:nth-child(1) { top: 0; }
.menu-toggle__bar:nth-child(2) { top: 0.4375rem; }
.menu-toggle__bar:nth-child(3) { top: 0.875rem; }

.menu-toggle__label {
  display: block;
  margin-top: 0.4375rem;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-weight: 600;
  font-size: 0.6875rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #E5E7EB;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(1) {
  transform: translateY(0.4375rem) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(2) {
  opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__bar:nth-child(3) {
  transform: translateY(-0.4375rem) rotate(-45deg);
}

.menu-toggle:focus-visible {
  outline: 2px solid rgba(229, 231, 235, 0.9);
  outline-offset: 0.25rem;
}

.mobile-nav-shell {
  position: fixed;
  inset: var(--mobile-header-height) 0 0 0;
  z-index: 1001;
  opacity: 0;
  pointer-events: none;
  transition: opacity 220ms ease;
}

.mobile-nav-shell.is-open {
  opacity: 1;
  pointer-events: auto;
}

.mobile-nav-overlay {
  position: absolute;
  inset: 0;
  border: 0;
  padding: 0;
  margin: 0;
  background: rgba(0, 0, 0, 0.58);
  opacity: 0;
  cursor: pointer;
  transition: opacity 220ms ease;
}

.mobile-nav {
  position: absolute;
  top: 0;
  right: 0;
  width: min(68vw, 16.5rem);
  max-width: 16.5rem;
  height: calc(100dvh - var(--mobile-header-height));
  background: linear-gradient(180deg, #2A2C2F 0%, #252A32 100%);
  border-left: 1px solid rgba(229, 231, 235, 0.08);
  box-shadow: -0.875rem 0 2rem rgba(17, 24, 39, 0.28);
  transform: translateX(calc(100% + 0.75rem));
  transition: transform 260ms cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.mobile-nav-shell.is-open .mobile-nav-overlay {
  opacity: 1;
}

.mobile-nav-shell.is-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav__list {
  list-style: none;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 1.25rem 1.25rem 1.5rem;
  --mobile-nav-separator-default: rgba(229, 231, 235, 0.10);
  --mobile-nav-separator-emphasis: rgba(255, 255, 255, 0.15);
}

.mobile-nav__list li {
  margin: 0;
  padding: 0;
}

.mobile-nav__list > li > a,
.mobile-nav__list > li > a:visited,
.mobile-nav__list > li > button {
  --mobile-nav-top-separator: transparent;
  --mobile-nav-bottom-separator: transparent;
  display: block;
  width: 100%;
  padding: 0.875rem 0;
  border: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
  text-align: left;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  color: #F5F7FA;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  box-shadow:
          inset 0 1px 0 var(--mobile-nav-top-separator),
          inset 0 -1px 0 var(--mobile-nav-bottom-separator);
}

.mobile-nav__list > li + li > a,
.mobile-nav__list > li + li > a:visited,
.mobile-nav__list > li + li > button {
  --mobile-nav-top-separator: var(--mobile-nav-separator-default);
}

.mobile-nav__list > li.is-current > a,
.mobile-nav__list > li.is-current > button {
  --mobile-nav-top-separator: var(--mobile-nav-separator-emphasis);
  color: #FFFFFF;
  font-weight: 700;
}

.mobile-nav__list > li.is-current + li > a,
.mobile-nav__list > li.is-current + li > button {
  --mobile-nav-top-separator: var(--mobile-nav-separator-emphasis);
}

.mobile-nav__list > li.is-pressed > a,
.mobile-nav__list > li.is-pressed > button,
.mobile-nav__list > li > a:active,
.mobile-nav__list > li > a:focus-visible,
.mobile-nav__list > li > button:active,
.mobile-nav__list > li > button:focus-visible {
  --mobile-nav-top-separator: var(--mobile-nav-separator-emphasis);
  color: #FFFFFF;
  outline: none;
}

.mobile-nav__list > li.is-pressed + li > a,
.mobile-nav__list > li.is-pressed + li > button {
  --mobile-nav-top-separator: var(--mobile-nav-separator-emphasis);
}

.mobile-nav__list > li:first-child > a,
.mobile-nav__list > li:first-child > button {
  --mobile-nav-top-separator: transparent;
}

.mobile-nav__list > li.mobile-nav__item--submenu > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.mobile-nav__list > li.mobile-nav__item--submenu > button::after {
  content: "";
  width: 0.58rem;
  height: 0.58rem;
  flex: 0 0 auto;
  border-right: 1.5px solid rgba(229, 231, 235, 0.74);
  border-bottom: 1.5px solid rgba(229, 231, 235, 0.74);
  transform: rotate(45deg) translateY(-0.08rem);
  transition:
          transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
          opacity 160ms ease;
  opacity: 0.88;
}

.mobile-nav__list > li.mobile-nav__item--submenu.is-submenu-open > button::after {
  transform: rotate(-135deg) translateY(-0.08rem);
  opacity: 1;
}

.mobile-nav__submenu-shell {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 240ms cubic-bezier(0.22, 1, 0.36, 1);
}

.mobile-nav__submenu-panel {
  min-height: 0;
  overflow: hidden;
  margin: 0.14rem 0 0 0;
  padding: 0 0.18rem 0 0.78rem;
  border-left: 1px solid rgba(196, 150, 60, 0.78);
  border-radius: 0;
  background: rgba(44, 46, 49, 0.9);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025);
  opacity: 0;
  transform: translateY(-0.38rem);
  transition:
          opacity 180ms ease,
          transform 220ms cubic-bezier(0.22, 1, 0.36, 1),
          padding-top 220ms ease,
          padding-bottom 220ms ease;
}

.mobile-nav__item--submenu.is-submenu-open > .mobile-nav__submenu-shell {
  grid-template-rows: 1fr;
}

.mobile-nav__item--submenu.is-submenu-open > .mobile-nav__submenu-shell > .mobile-nav__submenu-panel {
  padding-top: 0.34rem;
  padding-bottom: 0.38rem;
  opacity: 1;
  transform: translateY(0);
}

.mobile-nav__submenu-group {
  margin: 0;
  padding: 0.24rem 0 0.28rem;
}

.mobile-nav__submenu-group--plain {
  padding-top: 0.16rem;
  padding-bottom: 0.18rem;
}

.mobile-nav__submenu-group + .mobile-nav__submenu-group {
  margin-top: 0.14rem;
  padding-top: 0.5rem;
}

.mobile-nav__submenu-heading {
  margin: 0 0 0.28rem;
  color: #C4963C;
  font-family: "Inter", sans-serif;
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}

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

.mobile-nav__submenu-list--overview {
  margin-bottom: 0.08rem;
}

.mobile-nav__submenu-item {
  margin: 0;
  padding: 0;
  --mobile-nav-submenu-top-separator: transparent;
  --mobile-nav-submenu-bottom-separator: transparent;
}

.mobile-nav__submenu-item + .mobile-nav__submenu-item {
  --mobile-nav-submenu-top-separator: rgba(229, 231, 235, 0.05);
}

.mobile-nav__submenu-link,
.mobile-nav__submenu-link:visited {
  display: block;
  padding: 0.38rem 0.14rem 0.38rem 0.52rem;
  border-radius: 0;
  color: rgba(229, 231, 235, 0.92);
  background: transparent;
  box-shadow:
          inset 0 1px 0 var(--mobile-nav-submenu-top-separator),
          inset 0 -1px 0 var(--mobile-nav-submenu-bottom-separator);
  text-decoration: none;
  font-family: "Inter", sans-serif;
  font-size: 0.84rem;
  font-weight: 500;
  line-height: 1.28;
  letter-spacing: 0;
  white-space: normal;
  text-wrap: pretty;
  transition:
          color 160ms ease,
          box-shadow 160ms ease;
}

.mobile-nav__submenu-link--all,
.mobile-nav__submenu-link--all:visited {
  position: relative;
  padding-left: 0.74rem;
  color: #FFFFFF;
  font-size: 0.86rem;
  font-weight: 600;
}

.mobile-nav__submenu-link--all::before {
  content: "";
  position: absolute;
  left: 0.1rem;
  top: 50%;
  width: 0.3rem;
  height: 0.3rem;
  border-top: 1.5px solid rgba(196, 150, 60, 0.92);
  border-right: 1.5px solid rgba(196, 150, 60, 0.92);
  transform: translateY(-50%) rotate(45deg);
}

.mobile-nav__submenu-item.is-pressed > .mobile-nav__submenu-link,
.mobile-nav__submenu-link:hover,
.mobile-nav__submenu-link:focus-visible,
.mobile-nav__submenu-link:active {
  --mobile-nav-submenu-top-separator: var(--mobile-nav-separator-emphasis);
  color: #FFFFFF;
  font-weight: 600;
  background: transparent;
  outline: none;
}

.mobile-nav__submenu-item.is-pressed + .mobile-nav__submenu-item > .mobile-nav__submenu-link {
  --mobile-nav-submenu-top-separator: var(--mobile-nav-separator-emphasis);
}

.mobile-nav__submenu-item:first-child > .mobile-nav__submenu-link {
  --mobile-nav-submenu-top-separator: transparent;
}

.mobile-nav__item--submenu--compact .mobile-nav__submenu-panel {
  padding-right: 0.14rem;
}

.mobile-nav__item--submenu--compact .mobile-nav__submenu-list--overview {
  margin-bottom: 0.04rem;
}

.mobile-nav__item--submenu--compact .mobile-nav__submenu-item {
  --mobile-nav-submenu-top-separator: transparent;
  --mobile-nav-submenu-bottom-separator: transparent;
}

.mobile-nav__item--submenu--compact .mobile-nav__submenu-item + .mobile-nav__submenu-item {
  --mobile-nav-submenu-top-separator: rgba(229, 231, 235, 0.05);
  border-top: 0;
}

.mobile-nav__item--submenu--compact .mobile-nav__submenu-link,
.mobile-nav__item--submenu--compact .mobile-nav__submenu-link:visited {
  padding-top: 0.34rem;
  padding-bottom: 0.34rem;
  background: transparent;
  box-shadow:
          inset 0 1px 0 var(--mobile-nav-submenu-top-separator),
          inset 0 -1px 0 var(--mobile-nav-submenu-bottom-separator);
}

.mobile-nav__item--submenu--compact .mobile-nav__submenu-link--all,
.mobile-nav__item--submenu--compact .mobile-nav__submenu-link--all:visited {
  padding-top: 0.34rem;
  padding-bottom: 0.34rem;
}

.mobile-nav__item--submenu--compact .mobile-nav__submenu-item:first-child > .mobile-nav__submenu-link {
  --mobile-nav-submenu-top-separator: transparent;
}

@media (prefers-reduced-motion: reduce) {
  .nav-primary__submenu-caret,
  .nav-submenu,
  .nav-submenu__link,
  .mobile-nav__item--submenu > button::after,
  .mobile-nav__submenu-shell,
  .mobile-nav__submenu-panel,
  .mobile-nav__submenu-link {
    transition: none !important;
  }
}

.hero {
  --hero-left-column: clamp(36.375rem, 40.416667vw, 97rem);
  --hero-right-column: clamp(34.125rem, 37.916667vw, 91rem);
  --hero-column-gap: clamp(4.375rem, 4.861111vw, 11.666667rem);
  --hero-height: clamp(29.375rem, 32.638889vw, 78.333333rem);
  --hero-overlay-height: clamp(33.75rem, 37.5vw, 90rem);
  --hero-strip-top: clamp(7.125rem, 7.916667vw, 19rem);
  --hero-strip-height: clamp(6.4375rem, 7.152778vw, 17.166667rem);
  --hero-diagonal-cut: clamp(5.018563rem, 5.576181vw, 13.382833rem);
  --hero-edge-anchor: clamp(4.368rem, 4.853333vw, 11.648rem);
  --hero-edge-offset: clamp(0.125rem, 0.138889vw, 0.333333rem);
  --hero-edge-width: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --hero-shadow-x: clamp(0.5rem, 0.555556vw, 1.333333rem);
  --hero-shadow-y: clamp(0.125rem, 0.138889vw, 0.333333rem);
  --hero-shadow-blur: clamp(0.875rem, 0.972222vw, 2.333333rem);
  --hero-content-pad-top: clamp(4rem, 4.444444vw, 10.666667rem);
  --hero-content-pad-left: clamp(6rem, 6.666667vw, 16rem);
  --hero-heading-width: clamp(30.375rem, 33.75vw, 81rem);
  --hero-heading-size: clamp(2.875rem, 3.194444vw, 7.666667rem);
  --hero-subline-width: clamp(27.75rem, 30.833333vw, 74rem);
  --hero-subline-gap: clamp(1rem, 1.111111vw, 2.666667rem);
  --hero-subline-size: clamp(1.125rem, 1.25vw, 3rem);
  --hero-detail-pad-top: clamp(7.125rem, 7.916667vw, 19rem);
  --hero-fee-width: clamp(32rem, 35.555556vw, 85.333333rem);
  --hero-fee-gap: clamp(1.5rem, 1.666667vw, 4rem);
  --hero-fee-padding-block: clamp(1.5rem, 1.666667vw, 4rem);
  --hero-fee-size: clamp(1.0625rem, 1.180556vw, 2.833333rem);
  --hero-case-heading-gap: clamp(0.875rem, 0.972222vw, 2.333333rem);
  --hero-case-heading-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
  --hero-list-gap: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --hero-list-column-gap: clamp(7rem, 7.777778vw, 18.666667rem);
  --hero-list-bullet-size: clamp(0.3125rem, 0.347222vw, 0.833333rem);
  --hero-list-item-gap: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --hero-list-min-height: clamp(1.375rem, 1.527778vw, 3.666667rem);
  --hero-list-size: clamp(0.9375rem, 1.041667vw, 2.5rem);
  --hero-list-bullet-offset: clamp(0.53125rem, 0.590278vw, 1.416667rem);
  --hero-link-thickness: clamp(0.0625rem, 0.069444vw, 0.166667rem);
  --hero-link-offset: clamp(0.1875rem, 0.208333vw, 0.5rem);
  --hero-link-focus-offset: clamp(0.125rem, 0.138889vw, 0.333333rem);

  position: relative;
  display: grid;
  grid-template-columns: minmax(0, var(--hero-left-column)) minmax(0, var(--hero-right-column));
  column-gap: var(--hero-column-gap);
  justify-content: center;
  align-content: start;
  box-sizing: border-box;

  height: var(--hero-height);
  overflow: hidden;
  isolation: isolate;

  /* Fee bar background strip: proportional to the 1440px composition */
  background: linear-gradient(#DFE7F0, #DFE7F0) top var(--hero-strip-top) right / 51.52777778% var(--hero-strip-height) no-repeat,
  #EEF3F8;
}

.hero-edge-smooth {
  position: absolute;
  top: 0;
  left: calc(52.01388889% - var(--hero-edge-anchor) - var(--hero-edge-offset));
  width: var(--hero-edge-width);
  height: var(--hero-height);
  z-index: 3;
  pointer-events: none;

  clip-path: polygon(100% 0, 100% 0, 0 100%, 0 100%);
  background: linear-gradient(
          to right,
          rgba(21, 39, 56, 0.16) 0%,
          rgba(21, 39, 56, 0.06) 45%,
          rgba(21, 39, 56, 0) 100%
  );
}

.hero-diagonal-shadow {
  position: absolute;
  top: 0;
  left: 0;
  width: 52.01388889%;
  height: var(--hero-overlay-height);
  z-index: 1;
  pointer-events: none;

  filter: drop-shadow(var(--hero-shadow-x) var(--hero-shadow-y) var(--hero-shadow-blur) rgba(17, 24, 39, 0.18));
}

.hero-diagonal-shadow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #152738;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--hero-diagonal-cut)) 100%, 0 100%);
}

.hero-media {
  position: absolute;
  top: 0;
  left: 0;
  width: 52.01388889%;
  height: var(--hero-overlay-height);
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  background: #152738;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--hero-diagonal-cut)) 100%, 0 100%);

  transform: translateZ(0);
  will-change: clip-path, transform;
  backface-visibility: hidden;
}

.hero-media picture,
.hero-media img {
  display: block;
}

.hero-media picture {
  position: absolute;
  inset: 0;
}

.hero-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% + 2px);
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
          linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.15)),
          linear-gradient(rgba(21, 39, 56, 0.80), rgba(21, 39, 56, 0.80));
}

.hero::after {
  content: none;
}

.hero-content,
.hero-detail {
  position: relative;
  z-index: 4;
  align-self: start;
}

.hero-content {
  padding-top: var(--hero-content-pad-top);
  padding-left: var(--hero-content-pad-left);
  color: #fff;
}

.hero-content h1 {
  max-width: var(--hero-heading-width);
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--hero-heading-size);
  font-weight: 700;
  line-height: 1.1;
  color: #fff;
}

.hero-subline {
  max-width: var(--hero-subline-width);
  margin: var(--hero-subline-gap) 0 0;
  font-family: "Inter", sans-serif;
  font-size: var(--hero-subline-size);
  font-weight: 400;
  line-height: 1.5556; /* 28 / 18 */
  color: rgba(255, 255, 255, 0.92);
}

.hero-detail {
  width: min(100%, var(--hero-right-column));
  max-width: 100%;
  padding-top: var(--hero-detail-pad-top);
}

.fee-transparency-bar {
  max-width: min(100%, var(--hero-fee-width));
  margin: 0 0 var(--hero-fee-gap);
  padding: var(--hero-fee-padding-block) 0;
  background: transparent;
  font-family: "Inter", sans-serif;
  font-size: var(--hero-fee-size);
  font-weight: 500;
  line-height: 1.5294;
  letter-spacing: 0;
  color: #152738;
}

.fee-transparency-bar strong {
  font-weight: 700;
}

.fee-transparency-bar__lead,
.fee-transparency-bar__promise {
  display: inline;
}

.fee-transparency-bar__lead {
  margin-right: 0.25em;
}

.fee-transparency-bar__promise {
  font-weight: 700;
}

.fee-transparency-bar__inner {
  display: block;
  width: 100%;
  max-width: 100%;
  text-wrap: balance;
}

.fee-transparency-bar .fee-nowrap {
  white-space: nowrap;
}

@media (min-width: 600px) and (max-width: 899px) {
  .fee-tail {
    white-space: normal;
  }
}

.case-types {
  width: min(100%, var(--hero-right-column));
  max-width: 100%;
  background: transparent;
}

.case-types h2 {
  margin: 0 0 var(--hero-case-heading-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--hero-case-heading-size);
  font-weight: 700;
  line-height: 1.2727; /* 28 / 22 */
  color: #111827;
  text-wrap: balance;
}

.nowrap-phrase {
  display: inline-block;
  white-space: nowrap;
}

.case-type-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: clamp(2.25rem, 2.5vw, 6rem);
  row-gap: var(--hero-list-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.case-type-list {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, auto);
  grid-template-columns: max-content max-content;
  justify-content: start;
  column-gap: var(--hero-list-column-gap);
  row-gap: var(--hero-list-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

.case-type-list li {
  display: grid;
  grid-template-columns: var(--hero-list-bullet-size) max-content;
  column-gap: var(--hero-list-item-gap);
  align-items: start;
  min-height: var(--hero-list-min-height);

  font-family: "Inter", sans-serif;
  font-size: var(--hero-list-size);
  font-weight: 500;
  line-height: 1.4667; /* 22 / 15 */
  color: #111827;

  white-space: nowrap;
  padding-left: 0;
}

.case-type-list li::before {
  content: "";
  width: var(--hero-list-bullet-size);
  height: var(--hero-list-bullet-size);
  background: #152738;
  margin-top: var(--hero-list-bullet-offset);
}

.case-type-list a,
.case-type-list a:visited {
  display: inline-block;
  color: rgb(63, 98, 128);
  text-decoration-line: underline;
  text-decoration-thickness: var(--hero-link-thickness);
  text-underline-offset: var(--hero-link-offset);
  text-decoration-color: currentColor;
  transition: color 160ms ease,
  text-decoration-color 160ms ease;
}

.case-type-list a:hover,
.case-type-list a:focus-visible {
  color: #1E3A56;
  text-decoration-color: #1E3A56;
}

.case-type-list a:active {
  color: #081522;
  text-decoration-color: #081522;
}

.case-type-list a:focus-visible {
  outline: 2px solid rgba(63, 98, 128, 0.35);
  outline-offset: var(--hero-link-focus-offset);
}

.breadcrumb {
  box-sizing: border-box;
  width: 100%;
  padding: var(--breadcrumb-pad-block-start) var(--article-pad-right) 0 var(--article-pad-left);
  background: #fff;
}

.breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
}

.breadcrumb li {
  display: inline-flex;
  align-items: center;
  margin: 0;
  padding: 0;

  font-family: "Inter", sans-serif;
  font-size: var(--breadcrumb-text-size);
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.breadcrumb li + li::before {
  content: ">";
  display: inline-block;
  margin: 0 var(--breadcrumb-separator-gap);
  color: rgb(154, 154, 154);
  font-family: "Inter", sans-serif;
  font-size: var(--breadcrumb-text-size);
  font-weight: 500;
  line-height: 1;
}

.breadcrumb a,
.breadcrumb a:visited {
  color: rgb(74, 74, 74);
  font-weight: 500;
  text-decoration: none;
  transition: color 160ms ease;
}

.breadcrumb a:hover {
  color: rgb(0, 0, 0);
}

.breadcrumb a:focus-visible {
  color: rgb(0, 0, 0);
  outline: 2px solid rgb(74, 74, 74);
  outline-offset: 3px;
}

.breadcrumb a:active {
  color: rgb(0, 0, 0);
}

.breadcrumb li[aria-current="page"] {
  color: rgb(0, 0, 0);
  font-weight: 600;
}

.body-copy-layout {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--article-layout-max-width);
  margin: 0 auto;
  padding: 0 var(--article-pad-right) var(--article-pad-bottom) var(--article-pad-left);
  background: #FFFFFF;

  display: grid;
  grid-template-columns: minmax(0, var(--article-column-width)) minmax(0, var(--article-sidebar-width));
  column-gap: var(--article-column-gap);
  align-items: start;
}

.attorney-body-copy {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--article-column-width);
  min-width: 0;
  padding-top: var(--article-top-pad);
  padding-bottom: var(--article-bottom-pad-inner);

  display: flex;
  flex-direction: column;
  gap: var(--article-section-gap);
}

.sidebar {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding-left: var(--article-sidebar-pad-left);
  padding-right: 0;

  display: flex;
  flex-direction: column;
  gap: var(--article-sidebar-stack-gap);

  position: sticky;
  top: var(--anchor-offset-desktop);
  align-self: start;
}

.attorney-body-copy strong {
  font-weight: 600;
  color: #1B2A4A;
}

:root {
  --mobile-scale: 1;
  --mobile-panel-progress: 0;
  --mobile-panel-ease: 0;
  --local-intent-panel-progress: 0;
  --local-intent-panel-ease: 0;
  --cta-bridge-progress: 0;
  --cta-bridge-ease: 0;
  --footer-tablet-ease: 0;
  --tablet-progress: 0;
  --anchor-offset-desktop: clamp(5.375rem, 5.972222vw, 14.333333rem);
  --anchor-offset-mobile: calc(72px * var(--mobile-scale));
  --article-sidebar-fit-scale: 1;
  --breadcrumb-pad-block-start: clamp(1.25rem, 1.388889vw, 3.333333rem);
  --breadcrumb-text-size: clamp(0.875rem, 0.972222vw, 2.333333rem);
  --breadcrumb-separator-gap: clamp(0.5rem, 0.555556vw, 1.333333rem);
  --article-layout-max-width: clamp(90rem, 100vw, 240rem);
  --article-pad-left: clamp(12.75rem, 14.166667vw, 34rem);
  --article-pad-right: clamp(2rem, 2.222222vw, 5.333333rem);
  --article-pad-bottom: clamp(5.625rem, 6.25vw, 15rem);
  --article-column-width: clamp(40rem, 44.444444vw, 106.666667rem);
  --article-sidebar-width: calc(clamp(23.4375rem, 26.041667vw, 62.5rem) * var(--article-sidebar-fit-scale));
  --article-column-gap: clamp(11.8125rem, 13.125vw, 31.5rem);
  --article-top-pad: clamp(2.25rem, 2.5vw, 6rem);
  --article-bottom-pad-inner: clamp(3rem, 3.333333vw, 8rem);
  --article-section-gap: clamp(2.875rem, 3.194444vw, 7.666667rem);
  --article-heading-gap: clamp(1rem, 1.111111vw, 2.666667rem);
  --article-heading-size: clamp(2.25rem, 2.5vw, 6rem);
  --article-body-size: clamp(1.125rem, 1.25vw, 3rem);
  --article-body-gap: clamp(1.5rem, 1.666667vw, 4rem);
  --article-callout-pad: clamp(0.4375rem, 0.486111vw, 1.166667rem);
  --article-callout-size: clamp(1.25rem, 1.388889vw, 3.333333rem);
  --article-action-gap: clamp(0.75rem, 0.833333vw, 2rem);
  --article-action-number-width: clamp(1.5rem, 1.666667vw, 4rem);
  --article-subheading-gap: clamp(0.5rem, 0.555556vw, 1.333333rem);
  --article-subheading-size: clamp(1.125rem, 1.25vw, 3rem);
  --article-byline-size: clamp(1rem, 1.111111vw, 2.666667rem);
  --article-sidebar-pad-left: calc(clamp(0.9375rem, 1.041667vw, 2.5rem) * var(--article-sidebar-fit-scale));
  --article-sidebar-stack-gap: calc(clamp(1.5rem, 1.666667vw, 4rem) * var(--article-sidebar-fit-scale));
  --article-sidebar-height-offset: clamp(6.25rem, 6.944444vw, 16.666667rem);
  --article-card-radius: calc(clamp(0.25rem, 0.277778vw, 0.666667rem) * var(--article-sidebar-fit-scale));
  --article-card-width: calc(clamp(22.5rem, 25vw, 60rem) * var(--article-sidebar-fit-scale));
  --article-card-stroke: calc(clamp(0.0625rem, 0.069444vw, 0.166667rem) * var(--article-sidebar-fit-scale));
  --article-quick-pad-block: calc(clamp(1.25rem, 1.388889vw, 3.333333rem) * var(--article-sidebar-fit-scale));
  --article-quick-pad-inline: calc(clamp(1.5rem, 1.666667vw, 4rem) * var(--article-sidebar-fit-scale));
  --article-contact-pad: calc(clamp(1.5rem, 1.666667vw, 4rem) * var(--article-sidebar-fit-scale));
  --article-card-gap: calc(clamp(1rem, 1.111111vw, 2.666667rem) * var(--article-sidebar-fit-scale));
  --article-sidebar-heading-gap: calc(clamp(1rem, 1.111111vw, 2.666667rem) * var(--article-sidebar-fit-scale));
  --article-sidebar-heading-size: calc(clamp(1rem, 1.111111vw, 2.666667rem) * var(--article-sidebar-fit-scale));
  --article-quick-gap: calc(clamp(0.75rem, 0.833333vw, 2rem) * var(--article-sidebar-fit-scale));
  --article-quick-size: calc(clamp(0.9375rem, 1.041667vw, 2.5rem) * var(--article-sidebar-fit-scale));
  --article-contact-eyebrow-size: calc(clamp(0.8125rem, 0.902778vw, 2.166667rem) * var(--article-sidebar-fit-scale));
  --article-contact-title-size: calc(clamp(1.3125rem, 1.458333vw, 3.5rem) * var(--article-sidebar-fit-scale));
  --article-contact-copy-size: calc(clamp(0.9375rem, 1.041667vw, 2.5rem) * var(--article-sidebar-fit-scale));
  --article-contact-copy-gap: calc(clamp(0.5rem, 0.555556vw, 1.333333rem) * var(--article-sidebar-fit-scale));
  --article-contact-phone-size: calc(clamp(1.5rem, 1.666667vw, 4rem) * var(--article-sidebar-fit-scale));
  --article-contact-cta-min-height: calc(clamp(3rem, 3.333333vw, 8rem) * var(--article-sidebar-fit-scale));
  --article-contact-cta-pad-block: calc(clamp(0.75rem, 0.833333vw, 2rem) * var(--article-sidebar-fit-scale));
  --article-contact-cta-pad-inline: calc(clamp(1.25rem, 1.388889vw, 3.333333rem) * var(--article-sidebar-fit-scale));
  --article-contact-cta-radius: calc(clamp(0.5rem, 0.555556vw, 1.333333rem) * var(--article-sidebar-fit-scale));
  --article-contact-cta-size: calc(clamp(0.9375rem, 1.041667vw, 2.5rem) * var(--article-sidebar-fit-scale));
  --article-link-thickness: clamp(0.0625rem, 0.069444vw, 0.166667rem);
  --article-link-offset: clamp(0.1875rem, 0.208333vw, 0.5rem);
  --article-divider-bar: clamp(0.5rem, 0.555556vw, 1.333333rem);
  --article-divider-diamond: clamp(2.375rem, 2.638889vw, 6.333333rem);
  --article-divider-border: clamp(0.4375rem, 0.486111vw, 1.166667rem);
}

.attorney-body-copy > section,
.article-byline {
  scroll-margin-top: var(--anchor-offset-desktop);
}

.attorney-credentials,
.process-section,
.contact-cta {
  scroll-margin-top: var(--anchor-offset-desktop);
}

.attorney-body-copy > section > h2 {
  margin: 0 0 var(--article-heading-gap);
  font-family: "Editor", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  font-size: var(--article-heading-size);
  font-weight: 700;
  line-height: 1.2778;
  letter-spacing: 0;
  color: #1B2A4A;
  text-wrap: balance;
}

.attorney-body-copy > section p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--article-body-size);
  font-weight: 400;
  line-height: 1.5556;
  color: #1A1A1A;
}

.article-inline-link,
.article-inline-link:visited {
  color: #1B2A4A;
  text-decoration-line: underline;
  text-decoration-thickness: var(--article-link-thickness);
  text-underline-offset: var(--article-link-offset);
  text-decoration-color: currentColor;
  transition: color 160ms ease, text-decoration-color 160ms ease, outline-color 160ms ease;
}

.article-inline-link:hover,
.article-inline-link:focus-visible {
  color: #184A79;
  text-decoration-color: #184A79;
}

.article-inline-link:focus-visible {
  outline: 2px solid rgba(24, 74, 121, 0.2);
  outline-offset: 0.1875rem;
  border-radius: 0.125rem;
}

.article-inline-link:active {
  color: #111827;
  text-decoration-color: #111827;
}

.attorney-body-copy > section > :not(h2) {
  margin: 0;
}

.attorney-body-copy > section > :not(h2) + :not(h2) {
  margin-top: var(--article-body-gap);
}

.attorney-body-copy > section blockquote.callout {
  padding: var(--article-callout-pad) 0;
  border-top: 1px solid #1B2A4A;
  border-bottom: 1px solid #1B2A4A;
}

.attorney-body-copy > section blockquote.callout > p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--article-callout-size);
  font-weight: 600;
  line-height: 1.55;
  text-align: center;
  color: #111827;
  text-wrap: balance;
}

.action-steps {
  counter-reset: action-steps;
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;
  gap: var(--article-action-gap);

  font-family: "Inter", sans-serif;
  font-size: var(--article-body-size);
  font-weight: 400;
  line-height: 1.5556;
  color: #1A1A1A;
}

.action-steps li {
  counter-increment: action-steps;

  display: grid;
  grid-template-columns: var(--article-action-number-width) minmax(0, 1fr);
  column-gap: var(--article-action-gap);
  align-items: start;

  margin: 0;
  font: inherit;
  color: inherit;
}

.action-steps li::before {
  content: counter(action-steps) ".";
  font-weight: 600;
  color: #1B2A4A;
}

#what-affects-the-value h3 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--article-subheading-size);
  font-weight: 600;
  line-height: 1.5556; /* 155.56% */
  color: #1B2A4A;
  text-wrap: balance;
}

#what-affects-the-value h3 + p {
  margin-top: var(--article-subheading-gap);
}

#what-affects-the-value p + h3 {
  margin-top: var(--article-body-gap);
}

.article-byline p {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--article-byline-size);
  font-weight: 400;
  line-height: 1.5;
  color: #4A4A4A;
}

.article-byline a,
.article-byline a:visited {
  white-space: nowrap;
  color: #4A4A4A;
  text-decoration-line: underline;
  text-decoration-thickness: var(--article-link-thickness);
  text-underline-offset: var(--article-link-offset);
  text-decoration-color: currentColor;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.article-byline a:hover,
.article-byline a:focus-visible {
  color: #1B2A4A;
  text-decoration-color: #1B2A4A;
}

.article-byline a:active {
  color: #111827;
  text-decoration-color: #111827;
}

.quick-links-card,
.contact-card {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--article-card-width);
  border: none;
  border-radius: var(--article-card-radius);
  box-shadow: inset 0 0 0 var(--article-card-stroke) #E5E7EB;
}

.quick-links-card {
  background: #FFFFFF;
  padding: var(--article-quick-pad-block) var(--article-quick-pad-inline);
}

.contact-card {
  background: #F9FAFB;
  padding: var(--article-contact-pad);

  display: flex;
  flex-direction: column;
  gap: var(--article-card-gap);
}

.sidebar-heading {
  margin: 0 0 var(--article-sidebar-heading-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--article-sidebar-heading-size);
  font-weight: 600;
  line-height: 1.5;
  color: #111827;
}

.quick-links-card ul {
  list-style: none;
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;
  gap: var(--article-quick-gap);
}

.quick-links-card li {
  margin: 0;
  padding: 0;
}

.quick-links-card a,
.quick-links-card a:visited {
  font-family: "Inter", sans-serif;
  font-size: var(--article-quick-size);
  font-weight: 400;
  line-height: 1.4667;
  color: #1B2A4A;
  text-decoration: none;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.quick-links-card a:hover,
.quick-links-card a:focus-visible {
  color: #111827;
  text-decoration-line: underline;
  text-decoration-thickness: calc(var(--article-link-thickness) * var(--article-sidebar-fit-scale));
  text-underline-offset: calc(var(--article-link-offset) * var(--article-sidebar-fit-scale));
  text-decoration-color: currentColor;
  outline: none;
  font-weight: 600;
}

.quick-links-card a:active {
  color: #111827;
  text-decoration-line: underline;
  text-decoration-thickness: calc(var(--article-link-thickness) * var(--article-sidebar-fit-scale));
  text-underline-offset: calc(var(--article-link-offset) * var(--article-sidebar-fit-scale));
  text-decoration-color: currentColor;
  font-weight: 600;
}

.contact-card > h2 {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--article-contact-eyebrow-size);
  font-weight: 600;
  line-height: 1.2308;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6B7280;
}

.contact-card > p {
  margin: 0;
}

.contact-card > p:nth-of-type(1) {
  font-family: "Inter", sans-serif;
  font-size: var(--article-contact-title-size);
  font-weight: 600;
  line-height: 1.3333;
  color: #111827;
  text-wrap: balance;
}

.contact-card > p:nth-of-type(2) {
  font-family: "Inter", sans-serif;
  font-size: var(--article-contact-copy-size);
  font-weight: 400;
  line-height: 1.6;
  color: #374151;
}

.contact-card > p:nth-of-type(3) {
  margin-top: var(--article-contact-copy-gap);
}

.phone-link2,
.phone-link2:visited {
  font-family: "Inter", sans-serif;
  font-size: var(--article-contact-phone-size);
  font-weight: 700;
  line-height: 1.3333;
  color: #111827;
  text-decoration: none;
  border-radius: 0.25rem;
  transition: color 160ms ease;
}

.phone-link2:hover {
  color: #C4963C;
}

.phone-link2:focus-visible {
  color: #C4963C;
  outline: 2px solid rgba(196, 150, 60, 0.9);
  outline-offset: 0.25rem;
}

.phone-link2:active {
  color: #B3832F;
}

.cta-button2,
.cta-button2:visited {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  width: 100%;
  max-width: 100%;
  min-height: var(--article-contact-cta-min-height);
  padding: var(--article-contact-cta-pad-block) var(--article-contact-cta-pad-inline);

  border: calc(0.0625rem * var(--article-sidebar-fit-scale)) solid #B5852F;
  border-radius: var(--article-contact-cta-radius);
  background: #C4963C;
  box-shadow:
          0
          calc(0.25rem * var(--article-sidebar-fit-scale))
          calc(1rem * var(--article-sidebar-fit-scale))
          calc(-0.125rem * var(--article-sidebar-fit-scale))
          rgba(22, 22, 22, 0.10);

  font-family: "Inter", sans-serif;
  font-size: var(--article-contact-cta-size);
  font-weight: 600;
  line-height: 1.3333;
  color: #FFFFFF;
  text-decoration: none;

  transition: background-color 160ms ease,
  border-color 160ms ease,
  color 160ms ease,
  box-shadow 160ms ease;
}

.cta-button2:hover {
  background: #B3832F;
  border-color: #A97828;
}

.cta-button2:focus-visible {
  background: #B3832F;
  border-color: #A97828;
  outline: none;
  box-shadow:
          inset 0 0 0 1px #B5852F,
          0 0 0 2px #FFF8E8,
          0 0 0 4px #7A6233;
}

.cta-button2:active {
  background: #A8792C;
  border-color: #976B23;
  box-shadow:
          0
          calc(0.125rem * var(--article-sidebar-fit-scale))
          calc(0.5rem * var(--article-sidebar-fit-scale))
          rgba(22, 22, 22, 0.12);
}

/* =========================================================
   DIVIDER BETWEEN ARTICLE SECTION AND ATTORNEY SECTION
   ========================================================= */

.article-to-attorneys-divider {
  position: relative;
  height: 0;
  z-index: 4;
  pointer-events: none;
}

.article-to-attorneys-divider::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-0.5 * var(--article-divider-bar));
  height: var(--article-divider-bar);
  background: #C4963C;
  z-index: 1;
}

.article-to-attorneys-divider__diamond {
  position: absolute;
  left: 50%;
  top: 0;
  display: block;
  width: var(--article-divider-diamond);
  height: var(--article-divider-diamond);
  box-sizing: border-box;
  border: var(--article-divider-border) solid #C4963C;
  background: #FFFFFF;  /* match article section above */
  transform: translate(-50%, -50%) rotate(-45deg);
  z-index: 2;
}

/* keeps the dark attorney section underneath the divider */
.attorney-credentials {
  z-index: 1;
}

/* =========================================================
   ATTORNEY CREDENTIALS
   ========================================================= */
.attorney-credentials {
  position: relative;
  overflow: hidden;
  --attorney-pad-y: clamp(5.625rem, 6.25vw, 15rem);
  --attorney-pad-x: clamp(7.5rem, 8.333333vw, 20rem);
  --attorney-left-col: clamp(30.875rem, 34.305556vw, 82.333333rem);
  --attorney-right-col: clamp(41.25rem, 45.833333vw, 110rem);
  --attorney-col-gap: clamp(2.375rem, 2.638889vw, 6.333333rem);
  --attorney-ellipse-width: clamp(212.488125rem, 236.097917vw, 566.635rem);
  --attorney-ellipse-height: clamp(85.8125rem, 95.347222vw, 228.833333rem);
  --attorney-ellipse-shift-x: clamp(-4.166667rem, -1.736111vw, -1.5625rem);
  --attorney-ellipse-blur: clamp(4.5rem, 5vw, 12rem);
  --attorney-eyebrow-gap: clamp(1rem, 1.111111vw, 2.666667rem);
  --attorney-eyebrow-size: clamp(1.25rem, 1.388889vw, 3.333333rem);
  --attorney-eyebrow-line-height: clamp(1rem, 1.111111vw, 2.666667rem);
  --attorney-eyebrow-rule-width: clamp(3.0625rem, 3.402778vw, 8.166667rem);
  --attorney-eyebrow-rule-height: clamp(0.125rem, 0.138889vw, 0.333333rem);
  --attorney-heading-size: clamp(4rem, 4.444444vw, 10.666667rem);
  --attorney-intro-size: clamp(1.125rem, 1.25vw, 3rem);
  --attorney-layout-pad: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --attorney-card-gap: clamp(1.5rem, 1.666667vw, 4rem);
  --attorney-card-width: clamp(20rem, 22.222222vw, 53.333333rem);
  --attorney-card-height: clamp(30.125rem, 33.472222vw, 80.333333rem);
  --attorney-card-radius: clamp(0.375rem, 0.416667vw, 1rem);
  --attorney-card-pad-bottom: clamp(2.25rem, 2.5vw, 6rem);
  --attorney-card-shadow-y: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --attorney-card-shadow-blur: clamp(1.75rem, 1.944444vw, 4.666667rem);
  --attorney-card-stroke: clamp(0.0625rem, 0.069444vw, 0.166667rem);
  --attorney-photo-height: clamp(17.5rem, 19.444444vw, 46.666667rem);
  --attorney-photo-gap: clamp(1rem, 1.111111vw, 2.666667rem);
  --attorney-card-panel-top: clamp(17.5rem, 19.444444vw, 46.666667rem);
  --attorney-info-width: clamp(15.8125rem, 17.569444vw, 42.166667rem);
  --attorney-name-gap: clamp(0.25rem, 0.277778vw, 0.666667rem);
  --attorney-name-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
  --attorney-title-gap: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --attorney-title-size: clamp(1rem, 1.111111vw, 2.666667rem);
  --attorney-meta-size: clamp(0.875rem, 0.972222vw, 2.333333rem);
  --attorney-meta-gap: clamp(0.25rem, 0.277778vw, 0.666667rem);
  --attorney-link-gap: clamp(0.875rem, 0.972222vw, 2.333333rem);
  --attorney-link-size: clamp(1rem, 1.111111vw, 2.666667rem);
  --attorney-link-thickness: clamp(0.0625rem, 0.069444vw, 0.166667rem);
  --attorney-link-offset: clamp(0.1875rem, 0.208333vw, 0.5rem);
  --divider-depth: 3.4482758621vw;
  padding: var(--attorney-pad-y) var(--attorney-pad-x) calc(var(--attorney-pad-y) + var(--divider-depth));
  background: #14233B;

  display: grid;
  grid-template-columns: minmax(0, var(--attorney-left-col)) minmax(0, var(--attorney-right-col));
  column-gap: var(--attorney-col-gap);
  align-items: start;
  justify-content: center;
}

.attorney-credentials::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--attorney-ellipse-width);
  height: var(--attorney-ellipse-height);
  border-radius: 50%;
  transform: translate(var(--attorney-ellipse-shift-x), -50%);
  background: radial-gradient(
          ellipse at center,
          rgba(127, 184, 248, 0.12) 0%,
          rgba(63, 120, 190, 0.06) 50%,
          rgba(20, 35, 59, 0) 100%
  );
  filter: blur(var(--attorney-ellipse-blur));
  pointer-events: none;
  z-index: 0;
}

.attorney-credentials::after {
  content: none;
}

/* Left column wrapper */
.attorney-copy {
  position: relative;
  z-index: 1;
  width: min(100%, var(--attorney-left-col));
  display: flex;
  flex-direction: column;
  align-self: start;
  padding-top: 0;
}

/* Rectangle + eyebrow */
.attorney-copy > .eyebrow {
  margin: 0 0 var(--attorney-eyebrow-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--attorney-eyebrow-size);
  font-weight: 600;
  line-height: var(--attorney-eyebrow-line-height);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #C9D4E3;
}

.attorney-copy > .eyebrow::before {
  content: "";
  display: block;
  width: var(--attorney-eyebrow-rule-width);
  height: var(--attorney-eyebrow-rule-height);
  margin-bottom: var(--attorney-eyebrow-gap);
  background: #C4963C;
}

/* Heading */
.attorney-copy > h2 {
  margin: 0 0 var(--attorney-eyebrow-gap);
  font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
  font-size: var(--attorney-heading-size);
  font-weight: 700;
  font-style: normal;
  line-height: 0.95; /* 95% */
  letter-spacing: -0.0071em; /* -0.71% */
  color: #F5F7FA;
}

/* Description */
.attorney-copy > .credentials-intro {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--attorney-intro-size);
  font-weight: 400;
  line-height: 1.7222222222; /* 31 / 18 */
  color: #FFFFFF;
}

/* Right column */
.attorney-layout {
  position: relative;
  z-index: 1;
  width: min(100%, var(--attorney-right-col));
  margin: 0;
  padding-top: var(--attorney-layout-pad);
  padding-bottom: var(--attorney-layout-pad);
  align-self: start;
  overflow: visible;
}

/* Exact card row wrapper so the ellipse can be centered between the cards */
.attorney-cards {
  position: relative;
  display: flex;
  gap: var(--attorney-card-gap);
  width: max-content;
  isolation: isolate;
}

/* Ellipse centered exactly on the midpoint between the two cards */
.attorney-cards::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--attorney-ellipse-width);
  height: var(--attorney-ellipse-height);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(
          ellipse at center,
          rgba(127, 184, 248, 0.12) 0%,
          rgba(63, 120, 190, 0.06) 50%,
          rgba(20, 35, 59, 0) 100%
  );
  filter: blur(var(--attorney-ellipse-blur));
  pointer-events: none;
  z-index: -1;
}

/* Cards */
.attorney-card {
  position: relative;
  isolation: isolate;
  box-sizing: border-box;
  flex: 0 0 var(--attorney-card-width);
  width: var(--attorney-card-width);
  height: var(--attorney-card-height);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #243646;
  border: none;
  border-radius: var(--attorney-card-radius);
  padding-bottom: var(--attorney-card-pad-bottom);
  box-shadow: 0 var(--attorney-card-shadow-y) var(--attorney-card-shadow-blur) rgba(17, 24, 39, 0.2);
}

.attorney-card::after {
  content: "";
  position: absolute;
  top: var(--attorney-card-panel-top);
  left: 0;
  right: 0;
  bottom: 0;
  border-left: var(--attorney-card-stroke) solid rgba(255, 255, 255, 0.08);
  border-right: var(--attorney-card-stroke) solid rgba(255, 255, 255, 0.08);
  border-bottom: var(--attorney-card-stroke) solid rgba(255, 255, 255, 0.08);
  border-radius: 0 0 var(--attorney-card-radius) var(--attorney-card-radius);
  pointer-events: none;
  z-index: 0;
}

.attorney-photo-frame {
  position: relative;
  z-index: 1;
  width: var(--attorney-card-width);
  height: var(--attorney-photo-height);
  flex: 0 0 var(--attorney-photo-height);
  overflow: hidden;
  margin-bottom: var(--attorney-photo-gap);
  border-radius: var(--attorney-card-radius) var(--attorney-card-radius) 0 0;
}

.attorney-photo-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
  box-shadow:
          inset 0 0 0 1px rgba(255, 255, 255, 0.025),
          inset 0 -12px 20px rgba(0, 0, 0, 0.065),
          inset 0 0 14px rgba(0, 0, 0, 0.045);
}

.attorney-photo-frame img {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  width: auto;
  max-width: none;
  display: block;
  transform: translateX(-50%);
  z-index: 1;
}

.attorney-info {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: fit-content;
  max-width: var(--attorney-info-width);
  margin: 0 auto;
}

.attorney-info h3,
.attorney-title,
.attorney-info p:not(.attorney-title),
.attorney-info a {
  white-space: nowrap;
}

.attorney-info h3 {
  margin: 0 0 var(--attorney-name-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--attorney-name-size);
  font-weight: 700;
  line-height: 1.2727272727; /* 28 / 22 */
  color: #F3F6FA;
}

.attorney-title {
  margin: 0 0 var(--attorney-title-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--attorney-title-size);
  font-weight: 400;
  line-height: 1.5; /* 24 */
  color: #D6DEE8;
}

.attorney-info p:not(.attorney-title) {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--attorney-meta-size);
  font-weight: 400;
  line-height: 1.5; /* 21 */
  color: #B8C6D6;
}

.attorney-info p:not(.attorney-title) + p:not(.attorney-title) {
  margin-top: var(--attorney-meta-gap);
}

.attorney-info a,
.attorney-info a:visited {
  display: inline-block;
  margin-top: var(--attorney-link-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--attorney-link-size);
  font-weight: 400;
  line-height: 1.5; /* 24 */
  color: #DCE7F2;
  text-decoration: none;
}

.attorney-info a:hover,
.attorney-info a:focus-visible {
  color: #FFFFFF;
  text-decoration-line: underline;
  text-decoration-thickness: var(--attorney-link-thickness);
  text-underline-offset: var(--attorney-link-offset);
  text-decoration-color: currentColor;
  outline: none;
}

.attorney-info a:active {
  color: #C9D4E3;
}

.has-motion .attorney-credentials {
  --attorney-copy-duration: 820ms;
  --attorney-card-duration: 760ms;
  --attorney-stagger-1: 120ms;
  --attorney-stagger-2: 240ms;
  --attorney-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.has-motion .attorney-credentials .attorney-copy,
.has-motion .attorney-credentials .attorney-card {
  opacity: 0;
  will-change: opacity, transform;
}

.has-motion .attorney-credentials .attorney-copy {
  transform: translateY(0.875rem); /* 14px */
  transition:
          opacity var(--attorney-copy-duration) var(--attorney-ease),
          transform var(--attorney-copy-duration) var(--attorney-ease);
}

.has-motion .attorney-credentials .attorney-card {
  transform: translateY(0.625rem); /* 10px */
  transition:
          opacity var(--attorney-card-duration) var(--attorney-ease),
          transform var(--attorney-card-duration) var(--attorney-ease);
}

.has-motion .attorney-credentials .attorney-card:nth-child(1) {
  transition-delay: var(--attorney-stagger-1);
}

.has-motion .attorney-credentials .attorney-card:nth-child(2) {
  transition-delay: var(--attorney-stagger-2);
}

.has-motion .attorney-credentials.is-visible .attorney-copy,
.has-motion .attorney-credentials.is-visible .attorney-card {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .attorney-credentials .attorney-copy,
  .attorney-credentials .attorney-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}

.process-section {
  --divider-depth: 3.4482758621vw; /* W / 29 ≈ 3.94° angle */
  --section-y-padding: clamp(5.625rem, 6.25vw, 15rem);
  --process-pad-x: clamp(7.5rem, 8.333333vw, 20rem);
  --process-content-width: clamp(75rem, 83.333333vw, 200rem);

  /* art direction controls for the separate image layer */
  --process-image-bottom-overhang: clamp(30.291625rem, 33.6573611111vw, 80.7776666667rem);
  --process-image-right-overhang: 0rem;

  --process-eyebrow-gap: clamp(1rem, 1.111111vw, 2.666667rem);
  --process-eyebrow-size: clamp(1.25rem, 1.388889vw, 3.333333rem);
  --process-eyebrow-line-height: clamp(1rem, 1.111111vw, 2.666667rem);
  --process-eyebrow-rule-width: clamp(2.1875rem, 2.430556vw, 5.833333rem);
  --process-eyebrow-rule-height: clamp(0.125rem, 0.138889vw, 0.333333rem);
  --process-heading-size: clamp(4.375rem, 4.861111vw, 11.666667rem);
  --process-heading-gap: clamp(3.125rem, 3.472222vw, 8.333333rem);
  --process-step-width: clamp(12.5rem, 13.888889vw, 33.333333rem);
  --process-timeline-y: clamp(17.5rem, 19.444444vw, 46.666667rem);
  --process-diamond-size: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --process-diamond-border: clamp(0.125rem, 0.138889vw, 0.333333rem);
  --process-diamond-gap: clamp(1.125rem, 1.25vw, 3rem);
  --process-line-end-overshoot: clamp(0.1875rem, 0.208333vw, 0.5rem);
  --process-upper-step-offset: clamp(1.5rem, 1.666667vw, 4rem);
  --process-heading-to-upper-number: clamp(3.125rem, 3.472222vw, 8.333333rem);
  --process-line-base: clamp(0.0625rem, 0.069444vw, 0.166667rem);
  --process-line-fill: clamp(0.125rem, 0.138889vw, 0.333333rem);
  --process-reveal-offset: clamp(1rem, 1.111111vw, 2.666667rem);
  --process-number-gap: clamp(0.375rem, 0.416667vw, 1rem);
  --process-number-size: clamp(1.5rem, 1.666667vw, 4rem);
  --process-title-gap: clamp(0.5rem, 0.555556vw, 1.333333rem);
  --process-title-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
  --process-copy-width: clamp(18.75rem, 20.833333vw, 50rem);
  --process-copy-size: clamp(1rem, 1.111111vw, 2.666667rem);
  --process-timing-gap: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --process-timing-size: clamp(0.875rem, 0.972222vw, 2.333333rem);

  position: relative;
  z-index: 1;
  overflow: hidden;
  isolation: isolate;
  margin-top: calc(-1 * var(--divider-depth));
  padding:
          calc(var(--divider-depth) + var(--section-y-padding))
          var(--process-pad-x)
          var(--section-y-padding);

  background: #F4F8FB;

  clip-path: polygon(
          0 0,
          50% var(--divider-depth),
          100% 0,
          100% 100%,
          0 100%
  );
}

.process-section::before,
.process-section::after {
  content: none;
}

.process-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.process-bg__media {
  position: absolute;
  inset:
          0
          calc(-1 * var(--process-image-right-overhang))
          calc(-1 * var(--process-image-bottom-overhang))
          0;
  z-index: 0;
}

.process-bg__image {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: right bottom;
}

.process-bg__wash,
.process-bg__gradient {
  position: absolute;
  inset: 0;
}

.process-bg__wash {
  z-index: 1;
  background: rgba(244, 248, 251, 0.85);
}

.process-bg__gradient {
  z-index: 2;
  background: linear-gradient(
          90deg,
          rgba(220, 230, 243, 0.28) 0%,
          rgba(255, 255, 255, 0) 100%
  );
}

.process-section > .eyebrow,
.process-section > h2,
.process-section > .process-steps {
  position: relative;
  z-index: 3;
  max-width: var(--process-content-width);
  margin-left: auto;
  margin-right: auto;
}

.process-section > .eyebrow {
  margin: 0 0 var(--process-eyebrow-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--process-eyebrow-size);
  font-weight: 600;
  line-height: var(--process-eyebrow-line-height);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #35526B;
}

.process-section > .eyebrow::before {
  content: "";
  display: block;
  width: var(--process-eyebrow-rule-width);
  height: var(--process-eyebrow-rule-height);
  margin-bottom: var(--process-eyebrow-gap);
  background: #C4963C;
}

.process-section > h2 {
  margin: 0;
  font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
  font-size: var(--process-heading-size);
  font-weight: 700;
  line-height: 0.9429;
  letter-spacing: -0.01em;
  color: #111827;
}

.process-steps {
  --timeline-y: var(--process-timeline-y);
  --diamond-size: var(--process-diamond-size);
  --diamond-gap: var(--process-diamond-gap);
  --upper-step-offset: var(--process-upper-step-offset);
  --heading-to-upper-number: var(--process-heading-to-upper-number);
  --steps-top-space: calc(var(--heading-to-upper-number) - var(--upper-step-offset)); /* 26 */

  --process-column-gap: 0rem;

  /* new */
  --line-fill-overshoot: 0px;

  --segment-width: calc((100% - (var(--process-column-gap) * 5)) / 6);
  --line-stop-1: calc((var(--diamond-size) / 2) + var(--line-fill-overshoot));
  --line-stop-2: calc(var(--segment-width) + var(--process-column-gap) + (var(--diamond-size) / 2) + var(--line-fill-overshoot));
  --line-stop-3: calc((var(--segment-width) * 2) + (var(--process-column-gap) * 2) + (var(--diamond-size) / 2) + var(--line-fill-overshoot));
  --line-stop-4: calc((var(--segment-width) * 3) + (var(--process-column-gap) * 3) + (var(--diamond-size) / 2) + var(--line-fill-overshoot));
  --line-stop-5: calc((var(--segment-width) * 4) + (var(--process-column-gap) * 4) + (var(--diamond-size) / 2) + var(--line-fill-overshoot));
  --line-stop-6: calc((var(--segment-width) * 5) + (var(--process-column-gap) * 5) + (var(--diamond-size) / 2) + var(--line-fill-overshoot) + var(--process-line-end-overshoot));

  position: relative;
  list-style: none;
  margin: 0;
  padding: var(--steps-top-space) 0 0;
  display: grid;
  grid-template-columns: repeat(6, var(--process-step-width));
  column-gap: var(--process-column-gap);
}

.process-steps::before {
  content: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(var(--steps-top-space) + var(--timeline-y) - (var(--process-line-base) / 2));
  height: var(--process-line-base);
  background: #D7E0E8;
}

.process-steps::after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(var(--steps-top-space) + var(--timeline-y) - (var(--process-line-fill) / 2));
  height: var(--process-line-fill);
  width: 0;
  background: #C4963C;
  border-radius: 999px;
  pointer-events: none;
  z-index: 1;
}

.process-section.is-visible .process-steps::after {
  animation: process-line-fill-dynamic 2.5s ease-out forwards;
}

.process-step {
  position: relative;
  z-index: 2;
  width: var(--process-step-width);
  margin: 0;
  padding: 0;
  opacity: 0;
  transform: translateY(var(--process-reveal-offset));
}

.process-step:nth-child(odd) {
  padding-top: var(--upper-step-offset);
}

.process-step:nth-child(even) {
  padding-top: var(--timeline-y);
}

.process-step:nth-child(odd)::before,
.process-step:nth-child(even)::after {
  content: "";
  position: absolute;
  left: 0;
  top: calc(var(--timeline-y) - (var(--diamond-size) / 2));
  width: var(--diamond-size);
  height: var(--diamond-size);
  box-sizing: border-box;
  border: var(--process-diamond-border) solid #C4963C;
  background: #F4F8FB;
  opacity: 0;
  transform: rotate(45deg) scale(0.7);
  transform-origin: center;
}

.process-section.is-visible .process-step {
  animation: process-step-reveal 0.55s ease forwards;
}

.process-section.is-visible .process-step:nth-child(1) { animation-delay: 0.12s; }
.process-section.is-visible .process-step:nth-child(2) { animation-delay: 0.52s; }
.process-section.is-visible .process-step:nth-child(3) { animation-delay: 0.92s; }
.process-section.is-visible .process-step:nth-child(4) { animation-delay: 1.32s; }
.process-section.is-visible .process-step:nth-child(5) { animation-delay: 1.72s; }
.process-section.is-visible .process-step:nth-child(6) { animation-delay: 2.12s; }

.process-section.is-visible .process-step:nth-child(odd)::before,
.process-section.is-visible .process-step:nth-child(even)::after {
  animation: process-diamond-pop 0.32s ease forwards;
}

.process-section.is-visible .process-step:nth-child(1)::before { animation-delay: 0.24s; }
.process-section.is-visible .process-step:nth-child(2)::after  { animation-delay: 0.64s; }
.process-section.is-visible .process-step:nth-child(3)::before { animation-delay: 1.04s; }
.process-section.is-visible .process-step:nth-child(4)::after  { animation-delay: 1.44s; }
.process-section.is-visible .process-step:nth-child(5)::before { animation-delay: 1.84s; }
.process-section.is-visible .process-step:nth-child(6)::after  { animation-delay: 2.24s; }

.step-number {
  display: block;
  margin: 0 0 var(--process-number-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--process-number-size);
  font-weight: 600;
  line-height: 1.1667;
  color: #2A3B59;
}

.process-step:nth-child(even) .step-number {
  margin-top: calc((var(--diamond-size) * 0.7071) + var(--diamond-gap));
}

.process-step h3 {
  width: var(--process-copy-width);
  margin: 0 0 var(--process-title-gap);
  font-family: "Inter", sans-serif;
  font-size: var(--process-title-size);
  font-weight: 700;
  line-height: 1.2727;
  color: #1B2A4A;
}

.process-step p {
  width: var(--process-copy-width);
  max-width: none;
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: var(--process-copy-size);
  font-weight: 400;
  line-height: 1.625;
  color: #43546D;
}

.process-step__inline-link,
.process-step__inline-link:visited {
  color: #1B2A4A;
  font-weight: 600;
  text-decoration-line: underline;
  text-decoration-color: currentColor;
  text-decoration-thickness: 0.085em;
  text-underline-offset: 0.16em;
  transition: color 160ms ease, text-decoration-color 160ms ease,
      outline-color 160ms ease;
}

.process-step__inline-link:hover,
.process-step__inline-link:focus-visible {
  color: #184A79;
  text-decoration-color: #184A79;
}

.process-step__inline-link:focus-visible {
  outline: 2px solid rgba(24, 74, 121, 0.2);
  outline-offset: 0.1875rem;
  border-radius: 0.125rem;
}

.process-step__inline-link:active {
  color: #111827;
  text-decoration-color: #111827;
}

.process-step .step-timing {
  margin-top: var(--process-timing-gap);
  font-family: Arial, Helvetica, sans-serif;
  font-size: var(--process-timing-size);
  font-weight: 400;
  line-height: 1.5;
  color: #43546D;
}

@media (min-width: 56.25em) {
  .process-step:last-child h3,
  .process-step:last-child p {
    width: var(--process-step-width);
  }
}

.step-timing b {
  font-weight: 600;
}

@keyframes process-line-fill-dynamic {
  0%, 3% {
    width: 0;
  }
  7%, 15% {
    width: var(--line-stop-1);
  }
  23%, 31% {
    width: var(--line-stop-2);
  }
  39%, 47% {
    width: var(--line-stop-3);
  }
  55%, 63% {
    width: var(--line-stop-4);
  }
  71%, 79% {
    width: var(--line-stop-5);
  }
  88%, 100% {
    width: var(--line-stop-6);
  }
}

@keyframes process-step-reveal {
  from {
    opacity: 0;
    transform: translateY(var(--process-reveal-offset));
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes process-diamond-pop {
  from {
    opacity: 0;
    transform: rotate(45deg) scale(0.7);
  }
  to {
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .process-steps::after {
    width: var(--line-stop-6);
    animation: none !important;
  }

  .process-step {
    opacity: 1;
    transform: none;
    animation: none !important;
  }

  .process-step:nth-child(odd)::before,
  .process-step:nth-child(even)::after {
    opacity: 1;
    transform: rotate(45deg) scale(1);
    animation: none !important;
  }
}

/* =========================================================
   SERVICE AREA
   ========================================================= */

.local-intent {
  --local-intent-art:
          linear-gradient(
                  to left,
                  rgba(196, 205, 216, 1) 0%,
                  rgba(196, 205, 216, 1) 55%,
                  rgba(196, 205, 216, 0) 72%
          ),
          url("../images/background_images/sacramento-bridge.webp");

  --local-intent-bridge-shift: 0rem;

  --divider-bar-height: 0.5rem;       /* 8px */
  --divider-square-size: 2.375rem;    /* 38px */
  --divider-stroke: 0.4375rem;        /* 7px */
  --divider-half-diagonal: 1.6794rem; /* 26.87px */
  --divider-full-diagonal: 3.3588rem; /* 53.74px */

  position: relative;
  overflow: visible;
  isolation: isolate;
  z-index: 2;

  padding: 5.625rem clamp(1.5rem, 8.333vw, 7.5rem);

  background-color: #F4F8FB;
  background-image: var(--local-intent-art);
  background-repeat: no-repeat, no-repeat;
  background-position: left top, var(--local-intent-bridge-shift) top;
  background-size: 100% 100%, auto 100%;
}

/* old decorative media layer is no longer used */
.local-intent-media {
  display: none;
}

/* Right text block */
.local-intent-content {
  position: relative;
  z-index: 1;
  width: min(55%, 39.5rem);
  max-width: 39.5rem;
  margin-left: auto;
  margin-right: 0;
}

/* Eyebrow */
.local-intent-content > .eyebrow {
  margin: 0 0 1rem;
  font-family: "Inter", sans-serif;
  font-size: clamp(0.9375rem, 1.389vw, 1.25rem);
  font-weight: 600;
  line-height: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #35526B;
}

.local-intent-content > .eyebrow::before {
  content: "";
  display: block;
  width: 3.0625rem;
  height: 0.125rem;
  margin-bottom: 1rem;
  background: #C4963C;
}

/* Heading */
.local-intent-content > h2 {
  margin: 0 0 1rem;
  font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
  font-size: clamp(2.25rem, 4.861vw, 4.375rem);
  font-weight: 700;
  line-height: 0.95;
  letter-spacing: -0.0071em;
  color: #111827;
  text-wrap: balance;
}

.local-intent-content > h2 .heading-accent {
  color: #C4963C;
}

/* Subheading */
.local-intent-intro {
  max-width: 30rem;
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: clamp(1rem, 0.45vw, 1.125rem);
  font-weight: 400;
  line-height: 1.7222222222;
  letter-spacing: 0;
  color: #43546D;
}

/* Single <dl> county grid */
.region-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  column-gap: clamp(1.125rem, 2.222vw, 2rem);
  row-gap: 0.625rem;
  width: 100%;
  max-width: 39.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  align-items: start;
}

.region-group {
  min-width: 0;
  margin: 0;
  align-self: start;
}

.region-group dt,
.region-group dd {
  margin: 0;
}

.region-group dt {
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.375;
  letter-spacing: 0;
  color: #1B2A4A;
}

.region-group dd {
  margin-top: 0.375rem;
  min-height: 2.75rem;
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.4666666667;
  letter-spacing: 0;
  color: #43546D;
}

/* Motion */
.has-motion .local-intent {
  --local-intent-panel-duration: 500ms;
  --local-intent-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

@media (max-width: 899px) {
  .has-motion .local-intent {
    --local-intent-panel-duration: 820ms;
  }
}

.has-motion .local-intent .local-intent-content {
  opacity: 0;
  transform: translateY(var(--local-intent-panel-shift));
  transition:
          opacity var(--local-intent-panel-duration) var(--local-intent-ease),
          transform var(--local-intent-panel-duration) var(--local-intent-ease);
  will-change: opacity, transform;
}

.has-motion .local-intent.is-visible .local-intent-content {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .local-intent .local-intent-content {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
}

/* =========================================================
   DIVIDER BETWEEN SERVICE AREA AND CTA
   ========================================================= */

.contact-cta {
  position: relative;
  z-index: 1;
}

.local-intent-divider {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.local-intent-divider::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(var(--divider-bar-height) / -2);
  height: var(--divider-bar-height);
  background: #C4963C;
  z-index: 1;
}

.local-intent-divider__fill {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: calc(-1 * var(--divider-half-diagonal));
  display: block;
  z-index: 2;

  background-color: #F4F8FB;
  background-image: var(--local-intent-art);
  background-repeat: no-repeat, no-repeat;
  background-position: left top, var(--local-intent-bridge-shift) top;
  background-size: 100% 100%, auto 100%;

  clip-path: polygon(
          50% calc(100% - var(--divider-full-diagonal)),
          calc(50% + var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal)),
          50% 100%,
          calc(50% - var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal))
  );
}

.local-intent-divider::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: var(--divider-square-size);
  height: var(--divider-square-size);
  box-sizing: border-box;
  border: var(--divider-stroke) solid #C4963C;
  background: transparent;
  transform: translate(-50%, 50%) rotate(-45deg);
  z-index: 3;
}

/* stroke drawn on top */
.local-intent-divider::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: var(--divider-square-size);
  height: var(--divider-square-size);
  box-sizing: border-box;
  border: var(--divider-stroke) solid #C4963C;
  background: transparent;
  transform: translate(-50%, 50%) rotate(-45deg);
  z-index: 3;
}

/* =========================================================
   CONTACT CTA
   ========================================================= */

.contact-cta {
  position: relative;
  z-index: 1;
  overflow: hidden;
  isolation: isolate;
  display: grid;
  grid-template-columns: 37.5375rem 30.7125rem; /* 600.6 / 491.4 */
  column-gap: 3.5rem; /* 56 */
  justify-content: center;
  align-items: start;
  padding-block: 4.125rem; /* 66 top/bottom */
  padding-inline: max(1rem, calc((100% - 75rem) / 2)); /* scrollbar-safe */
  background: #152738;
}

.cta-copy-column,
.cta-form-column {
  position: relative;
  z-index: 1;
}

/* =========================================================
   LEFT COLUMN
   ========================================================= */

.cta-copy-column {
  box-sizing: border-box;
  width: 37.5375rem; /* 600.6 */
  min-height: 41.28125rem; /* 660.5 */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding-top: 0;
}

.cta-copy-column > h2 {
  width: 25.125rem; /* 402 */
  margin: 0 0 1.5rem; /* 24 */
  font-family: "Inter", sans-serif;
  font-size: 2.25rem; /* 36 */
  font-weight: 600;
  line-height: 2.5rem; /* 40 */
  letter-spacing: -0.0071em; /* -0.71% */
  color: #FFFFFF;
}

.cta-description {
  width: 30.5rem; /* 488 */
  margin: 0 0 1.5rem; /* 24 */
  font-family: "Inter", sans-serif;
  font-size: 1.25rem; /* 20 */
  font-weight: 400;
  line-height: 1.4; /* 28 */
  letter-spacing: 0;
  color: #D6DEE8;
}

.cta-phone-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.cta-emphasis {
  display: inline-block;
  font-weight: 600;
  color: #FFFFFF;
  white-space: nowrap;
}

.cta-description-meta {
  display: block;
}

.reassurance-phone {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 1.125rem; /* 18 */
  font-weight: 500;
  line-height: 1.3333333333; /* 24 */
  letter-spacing: 0;
  color: #B8C6D6;
}

.phone-link3,
.phone-link3:visited {
  display: inline-block;
  margin-top: 0.5rem; /* 8 */
  font-family: "Inter", sans-serif;
  font-size: 1.375rem; /* 22 */
  font-weight: 600;
  line-height: 1.0909090909; /* 24 */
  letter-spacing: 0;
  color: #FFFFFF;
  text-decoration: none;
  transition: color 160ms ease;
}

.phone-link3:hover,
.phone-link3:focus-visible {
  color: #C4963C;
}

.phone-link3:active {
  color: #B3832F;
}

.office-hours {
  margin: 0.5rem 0 0; /* 8 */
  font-family: "Inter", sans-serif;
  font-size: 1.0625rem; /* 17 */
  font-weight: 400;
  line-height: 1.2941176471; /* 22 */
  letter-spacing: 0;
  color: #B8C6D6;
}

.office-hours-label {
  font-weight: 500;
}

.map-placeholder-small {
  box-sizing: border-box;
  /* Scales at 60% of --desktop-scale (rest of the CTA section scales at 100%),
     so the map keeps more of its 402px base form as the viewport narrows.
     Effective scale = 0.4 + 0.6 * --desktop-scale, with a 200px width floor.
     Card's 200px min-height is independent. Tablet/mobile media queries below
     override with stacked-layout sizing. */
  width: max(200px, calc(25.125rem * (0.4 + 0.6 * var(--desktop-scale))));
  max-width: 100%;
  height: auto;
  margin-top: 2.5rem; /* 40 */
  display: grid;
  gap: clamp(0.75rem, 0.833333vw, 2rem);
}

.map-placeholder-small .map-embed-card {
  overflow: hidden;
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px #E5E7EB;
  /* width: 100% forces the card to fill its grid track. Without it, min-height
     combined with aspect-ratio computes width *backwards* from height, pinning
     the card at 402px regardless of the placeholder's actual width. */
  width: 100%;
  min-height: 200px;
  aspect-ratio: 402 / 200;
}

.map-placeholder-small iframe,
.map-placeholder-small img {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  object-fit: cover;
}

.map-placeholder-small:empty {
  background:
          linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.04)),
          linear-gradient(135deg, #E8EEF5 0%, #F7FAFD 40%, #DEE7F1 100%);
}

/* =========================================================
   RIGHT COLUMN
   ========================================================= */

.cta-form-column {
  box-sizing: border-box; /* ADD THIS */
  position: relative;
  width: 30.7125rem; /* 491.4 */
  min-height: 42.78125rem;
  margin-top: 0;
  padding: 1.25rem 2rem 0;
}

.cta-form-column::before {
  content: "";
  position: absolute;
  inset: 0 0 1.5rem 0; /* 24 = 20 disclaimer height + 4 gap */
  border-radius: 0.25rem; /* 4 */
  background: #E3EBF4;
  box-shadow:
          inset 0 0 0 1px #E5E7EB,
          0 0.375rem 1.125rem rgba(0, 0, 0, 0.08); /* 0 6 18 */
  z-index: 0;
}

.cta-form-column::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 169.625rem;
  height: 68.5rem;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background:
          radial-gradient(
                  ellipse at center,
                  rgba(127, 184, 248, 0.16) 0%,
                  rgba(63, 120, 190, 0.08) 34%,
                  rgba(21, 39, 56, 0) 72%
          );
  filter: blur(4.5rem);
  pointer-events: none;
  z-index: -1;
}

.cta-form-column > h3,
.cta-form-column > form,
.cta-form-column > .form-disclaimer,
.cta-form-column > .form-success-message {
  position: relative;
  z-index: 1;
}

.cta-form-column > h3 {
  width: 100%;
  margin: 0 0 1rem; /* 16 below bar */
  padding-bottom: 1rem; /* 16 above bar */
  border-bottom: 1.5px solid #C3CEDA;
  font-family: "Inter", sans-serif;
  font-size: 1.75rem; /* 28 */
  font-weight: 600;
  line-height: 2.5rem; /* 40 */
  letter-spacing: -0.0071em; /* -0.71% */
  text-align: center;
  color: #111827;
}

.cta-form-column > form {
  display: flex;
  flex-direction: column;
  gap: 1rem; /* 16 */
  margin: 0;
  padding-bottom: 1.25rem; /* 20 from button bottom to form bottom */
}

.field-row-name {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem; /* 16 */
}

.field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.field-wrapper label {
  font-family: "Inter", sans-serif;
  font-size: 0.875rem; /* 14 */
  font-weight: 500;
  line-height: 1.4285714286; /* 20 */
  letter-spacing: 0;
  color: #111827;
}

.field-wrapper input,
.field-wrapper textarea {
  box-sizing: border-box;
  width: 100%;
  margin: 0.25rem 0; /* reserve focus-ring space above and below */
  padding: 0.75rem; /* 12 LRTB */
  background: #FFFFFF;
  color: #111827;
  font-family: "Inter", sans-serif;
  font-size: 1rem; /* 16 */
  font-weight: 500;
  line-height: 1.5; /* 24 */
  text-align: left;
  border: 0;
  border-radius: 0.25rem; /* 4 */
  box-shadow: inset 0 0 0 1px #B8C6D6;
  transition:
          border-color 180ms ease,
          box-shadow 180ms ease,
          background-color 180ms ease;
}

.field-wrapper input {
  height: 3rem; /* 48 */
  padding: 0.75rem; /* 12 */
}

.field-wrapper textarea {
  min-height: 8.8125rem; /* 141 */
  padding: 0.75rem; /* 12 */
  resize: vertical;
}

.field-wrapper input::placeholder,
.field-wrapper textarea::placeholder {
  color: #6B7280;
}

.field-hint {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.8125rem; /* 13 */
  font-weight: 500;
  line-height: 1.5384615385; /* 20 */
  letter-spacing: 0;
  color: #4B5563;
}

.cta-button-3 {
  align-self: flex-end;
  width: 13.75rem; /* 220 */
  min-height: 3rem; /* 48 */
  margin-right: 0.5rem; /* 8 */
  padding: 0.75rem 1.5rem; /* 12 24 */
  border: 0;
  border-radius: 0.25rem; /* 4 */
  background: #C4963C;
  box-shadow:
          inset 0 0 0 1px #B5852F,
          0 0.25rem 1rem -0.125rem rgba(22, 22, 22, 0.1); /* 0 4 16 -2 */
  font-family: "Inter", sans-serif;
  font-size: 1rem; /* 16 */
  font-weight: 600;
  line-height: 1.5; /* 24 */
  letter-spacing: 0;
  color: #FFFFFF;
  cursor: pointer;
  transition:
          background-color 180ms ease,
          box-shadow 180ms ease;
}

.form-disclaimer {
  width: 100%;
  margin: 0.25rem 0 0; /* 4 */
  font-family: "Inter", sans-serif;
  font-size: 0.8125rem; /* 13 */
  font-weight: 400;
  line-height: 1.5384615385; /* 20 */
  letter-spacing: 0;
  text-align: center;
  color: rgba(184, 198, 214, 0.5);
}

.field-optional {
  font-family: "Inter", sans-serif;
  font-size: 0.875rem; /* 14 */
  font-weight: 400;
  line-height: 1.4285714286; /* 20 */
  letter-spacing: 0;
  color: #6B7280;
}

/* =========================================================
   CONTACT FORM — FIELD STATE OVERRIDES
   Replace existing focus rule and button hover/focus/active rules.
   Add all new state rules below existing .field-wrapper styles.
   ========================================================= */

/*
   DELETE these existing rules from your stylesheet:

   .field-wrapper input:focus,
   .field-wrapper textarea:focus { ... }

   .cta-button-3:hover,
   .cta-button-3:focus-visible { ... }

   .cta-button-3:active { ... }
*/

/* ---------------------------------------------------------
   FIELD HOVER
   --------------------------------------------------------- */
.field-wrapper input:hover,
.field-wrapper textarea:hover {
  box-shadow: inset 0 0 0 1px #B8C6D6;
}

/* ---------------------------------------------------------
   FIELD FOCUS  (gold ring — replaces old blue focus)
   --------------------------------------------------------- */
.field-wrapper input:focus,
.field-wrapper textarea:focus {
  outline: none;
  box-shadow:
          inset 0 0 0 1px #B3832F,
          0 0 0 2px #B3832F,
          0 0 0 4px rgba(241, 211, 154, 0.2);
}

/* ---------------------------------------------------------
   FIELD ERROR STATE
   --------------------------------------------------------- */
.field-wrapper.has-error input,
.field-wrapper.has-error textarea {
  background: #FFF8F8;
  box-shadow: inset 0 0 0 1px #D32F2F;
}

.field-wrapper.has-error input:focus,
.field-wrapper.has-error textarea:focus {
  box-shadow:
          inset 0 0 0 1px #D32F2F,
          0 0 0 2px #D32F2F,
          0 0 0 4px rgba(211, 47, 47, 0.12);
}

/* error icon positioned inside the input, vertically centered */
.field-wrapper {
  position: relative;
}

.field-error-icon {
  display: none;
  position: absolute;
  right: 0.75rem; /* 12 — matches input padding */
  /* label line-height(20) + gap(4) + (input 48 - icon 20) / 2 = 38px */
  top: 2.375rem;
  pointer-events: none;
}

.field-wrapper.has-error .field-error-icon {
  display: block;
}

/* pad input right so text doesn't overlap icon */
.field-wrapper.has-error input {
  padding-right: 2.5rem; /* 40 — enough for 21px icon + 12px right margin + buffer */
}

/* error message text */
.field-error-message {
  display: none;
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.8125rem; /* 13 */
  font-weight: 500;
  line-height: 1.125rem; /* 18 */
  letter-spacing: 0;
  color: #D32F2F;
}

.field-wrapper.has-error .field-error-message {
  display: block;
}

.example-phone {
  white-space: nowrap;
  color: inherit;
  text-decoration: none;
}

.field-error-message a {
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

/* hide helper hint when error is showing */
.field-wrapper.has-error .field-hint {
  display: none;
}

/* ---------------------------------------------------------
   FORMSPREE INTEGRATION HELPERS
   --------------------------------------------------------- */
.form-honeypot {
  position: absolute;
  left: -9999px;
  width: 0.0625rem;
  height: 0.0625rem;
  overflow: hidden;
}

.form-error-message {
  margin: 0 0 0.75rem;
  padding: 0.75rem 0.875rem;
  border-left: 0.1875rem solid #B91C1C;
  background: rgba(185, 28, 28, 0.08);
  color: #7F1D1D;
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.form-error-message[hidden] {
  display: none;
}

/* ---------------------------------------------------------
   FIELD SENDING STATE  (applied via .is-sending on form)
   --------------------------------------------------------- */
.cta-form-column form.is-sending input,
.cta-form-column form.is-sending textarea {
  background: #F8FAFC;
  color: #4B5563;
  box-shadow: inset 0 0 0 1px #D1D5DB;
  pointer-events: none;
}

/* ---------------------------------------------------------
   FIELD SUCCESS STATE  (applied via .is-success on form)
   --------------------------------------------------------- */
.cta-form-column form.is-success input,
.cta-form-column form.is-success textarea {
  background: #F3F4F6;
  color: #9CA3AF;
  box-shadow: inset 0 0 0 1px #D1D5DB;
  pointer-events: none;
}

/* ---------------------------------------------------------
   BUTTON — HOVER  (background only, no shadow change)
   --------------------------------------------------------- */
.cta-button-3:hover {
  background: #B3832F;
}

/* ---------------------------------------------------------
   BUTTON — ACTIVE  (background only, no shadow change)
   --------------------------------------------------------- */
.cta-button-3:active {
  background: #A8792C;
}

/* ---------------------------------------------------------
   BUTTON — FOCUS  (gold ring, keeps current background)
   --------------------------------------------------------- */
.cta-button-3:focus-visible {
  outline: none;
  box-shadow:
          inset 0 0 0 1px #B5852F,
          0 0 0 2px #FFF8E8,
          0 0 0 4px #7A6233;
}

/* ---------------------------------------------------------
   BUTTON — DISABLED / SENDING
   --------------------------------------------------------- */
.cta-button-3:disabled {
  opacity: 0.7;
  cursor: default;
}

/* ---------------------------------------------------------
   SUCCESS MESSAGE  (replaces button area after submission)
   --------------------------------------------------------- */
.form-success-message {
  display: none;
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 1.25rem; /* 20px between success box and card bottom */
  padding: 1.25rem;
  background: #EEF3F8;
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 1px #B8C6D6;
}

.form-success-message.is-visible {
  display: block;
}

.form-success-message h4 {
  margin: 0 0 0.5rem; /* 0 0 8 */
  font-family: "Inter", sans-serif;
  font-size: 1.125rem; /* 18 */
  font-weight: 600;
  line-height: 1.5rem; /* 24 */
  letter-spacing: 0;
  color: #111827;
}

.form-success-message .success-body {
  margin: 0 0 0.75rem; /* 0 0 12 */
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem; /* 15 */
  font-weight: 400;
  line-height: 1.5rem; /* 24 */
  letter-spacing: 0;
  color: #374151;
}

.form-success-message .success-phone-line {
  margin: 0 0 0.5rem; /* 0 0 8 */
  font-family: "Inter", sans-serif;
  font-size: 0.9375rem; /* 15 */
  font-weight: 400;
  line-height: 1.5rem; /* 24 */
  letter-spacing: 0;
  color: #374151;
}

.form-success-message .success-phone-number {
  display: block; /* forces to second line */
  font-weight: 600;
  color: #152738;
  text-decoration: none;
  -webkit-text-fill-color: currentColor;
}

.form-success-message .success-hours {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem; /* 14 */
  font-weight: 400;
  line-height: 1.25rem; /* 20 */
  letter-spacing: 0;
  color: #4B5563;
}

.form-success-message .success-hours-label {
  font-weight: 500;
}

/* =========================================================
   FOOTER
   ========================================================= */

.site-footer {
  --footer-heading: #111827;
  --footer-body: #374151;
  --footer-link: #2F6DA8;
  --footer-copy: #333333;

  background: rgba(249, 250, 251, 0.2);
  box-shadow: inset 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 40px 0 48px;
}

.site-footer *,
.site-footer *::before,
.site-footer *::after {
  box-sizing: border-box;
}

/* =========================================================
   9-COLUMN GRID — 3 equal 1fr spacers
   col 1 = left spacer (1fr)
   col 2 = logo (228)
   col 3 = logo-to-col1 spacer (1fr)
   col 4 = text col 1 (246)
   col 5 = gap (56)
   col 6 = text col 2 (246)
   col 7 = gap (56)
   col 8 = text col 3 (246)
   col 9 = right spacer (1fr)

   Fixed content = 228 + 246×3 + 56×2 = 1078px
   Remaining viewport width split 3 ways by 1fr
   ========================================================= */

.footer-body {
  display: grid;
  grid-template-columns:
    1fr 228px 1fr 246px 56px 246px 56px 246px 1fr;
  grid-template-rows: auto auto auto auto;
  align-items: start;
}

/* =========================================================
   LOGO — col 2, spans all rows
   ========================================================= */

.footer-logo {
  grid-column: 2;
  grid-row: 1 / -1;
  display: block;
  width: 228px;
  color: #111827;
}

.footer-logo svg,
.footer-logo img {
  display: block;
  width: 228px;
  height: 224px;
}

.site-footer .footer-logo:focus-visible {
  text-decoration: none;
  outline: 2px solid #111827;
  outline-offset: 4px;
}

/* =========================================================
   GRID PLACEMENT — cols 4, 6, 8 are content; 1,3,5,7,9 spacers
   ========================================================= */

.footer-column {
  display: contents;
}

.footer-heading--c1 { grid-column: 4; grid-row: 1; }
.footer-heading--c2 { grid-column: 6; grid-row: 1; }
.footer-heading--c3 { grid-column: 8; grid-row: 1; }

.footer-cell-top--c1 { grid-column: 4; grid-row: 2; }
.footer-cell-top--c2 { grid-column: 6; grid-row: 2; }
.footer-cell-top--c3 { grid-column: 8; grid-row: 2; }

.footer-divider--c1 { grid-column: 4; grid-row: 3; }
.footer-divider--c2 { grid-column: 6; grid-row: 3; }
.footer-divider--c3 { grid-column: 8; grid-row: 3; }

.footer-cell-bot--c1 { grid-column: 4; grid-row: 4; }
.footer-cell-bot--c2 { grid-column: 6; grid-row: 4; }
.footer-cell-bot--c3 { grid-column: 8; grid-row: 4; }

.footer-note {
  grid-column: 4 / 9;
  grid-row: 5;
  display: inline-block;
  inline-size: auto;
  width: auto;
  max-inline-size: calc(100% - 2rem);
  justify-self: center;
  margin-inline: auto;
  min-width: 0;
  margin-top: calc(var(--footer-divider-gap, 20px) * 2);
}

.footer-note::before {
  content: "";
  display: block;
  width: 100%;
  border-top: var(--footer-divider-weight, 2px) dotted #D1D5DB;
  margin-bottom: var(--footer-divider-gap, 20px);
}

/* =========================================================
   HEADINGS
   ========================================================= */

.footer-heading {
  margin: 0 0 16px;
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.375rem;
  letter-spacing: 0;
  color: var(--footer-heading);
}

/* =========================================================
   DIVIDER — dotted, 20px above and below
   ========================================================= */

.footer-divider {
  width: 100%;
  height: 0;
  border: none;
  border-top: 2px dotted #D1D5DB;
  margin: 20px 0;
  border-radius: 0;
}

.footer-divider::before,
.footer-divider::after {
  content: none !important;
}

/* =========================================================
   GLOBAL LINKS
   ========================================================= */

.site-footer a,
.site-footer a:visited {
  color: var(--footer-link);
  text-decoration: none;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

.site-footer a:hover,
.site-footer a:focus-visible {
  color: #1F5C96;
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  text-decoration-color: currentColor;
  outline: none;
}

.site-footer a:active {
  color: #184A79;
  text-decoration-color: #184A79;
}

/* =========================================================
   NAP (text column 1)
   ========================================================= */

.footer-address {
  margin: 0;
  font-style: normal;
  color: var(--footer-body);
}

.footer-address strong,
.footer-address span {
  display: block;
  margin: 0;
  font-family: "Inter", sans-serif;
  letter-spacing: 0;
}

.footer-address strong {
  margin-bottom: 12px;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1rem;
  color: var(--footer-heading);
}

.footer-address span {
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.375rem;
  color: var(--footer-body);
}

.footer-map {
  margin: 8px 0 0;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1rem;
}

.footer-office {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-office .footer-map {
  margin: 0;
}

.footer-office-label {
  font-weight: 500;
  color: var(--footer-heading);
}

.footer-nap-bottom {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-phone {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1rem;
  color: var(--footer-body);
}

.footer-phone-label {
  color: var(--footer-body);
}

.footer-phone a,
.footer-phone a:visited {
  color: var(--footer-link);
}

.footer-service-area {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.375rem;
  color: var(--footer-body);
  text-wrap: balance;
}

.footer-note .footer-service-area {
  display: block;
  width: auto;
  text-align: left;
}

.footer-service-line {
  display: block;
  text-wrap: balance;
  white-space: nowrap;
}

.footer-service-line + .footer-service-line::before {
  content: none;
}

/* =========================================================
   LINK GROUPS (text columns 2 + 3)
   ========================================================= */

.footer-link-group {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-link-group li {
  margin: 0;
  padding: 0;
}

.footer-link-group a,
.footer-link-group a:visited {
  display: inline-block;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0;
  color: var(--footer-link);
}

.footer-link-group--top {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-link-group--bottom,
.footer-link-group--legal {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* =========================================================
   TEXT COLUMN 3 BOTTOM
   ========================================================= */

.footer-info-bottom {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.copyright {
  margin: 0;
  font-family: "Inter", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1rem;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--footer-copy);
}

/* =========================================================
   RESPONSIVE — CONSOLIDATED / CLEANED
   Replace the entire appended responsive block with this.
   Keeps desktop intact, scales intermediate breakpoints
   intentionally, and lands on exact 375px values only at
   the true mobile breakpoint.
   ========================================================= */


/* =========================================================
   BASE — prevent horizontal overflow
   ========================================================= */
.hero,
.body-copy-layout,
.attorney-credentials,
.process-section,
.local-intent,
.contact-cta,
.site-footer {
  max-width: 100%;
  overflow-x: clip;
}



/* ---------------------------------------------------------
   BREADCRUMB — proportional left padding
   --------------------------------------------------------- */
.breadcrumb {
  padding-left: var(--article-pad-left);
  padding-right: var(--article-pad-right);
}


/* ---------------------------------------------------------
   BODY COPY + SIDEBAR
   --------------------------------------------------------- */
.body-copy-layout {
  max-width: var(--article-layout-max-width);
  padding:
          0 var(--article-pad-right)
          var(--article-pad-bottom)
          var(--article-pad-left);
  grid-template-columns: minmax(0, var(--article-column-width)) minmax(0, var(--article-sidebar-width));
  column-gap: var(--article-column-gap);
}

.attorney-body-copy {
  width: 100%;
  max-width: var(--article-column-width);
}

.sidebar {
  max-height: calc(100vh - var(--article-sidebar-height-offset));
  overflow-y: hidden;
  scrollbar-width: none;
}

.quick-links-card,
.contact-card {
  max-width: min(100%, var(--article-card-width));
}


/* ---------------------------------------------------------
   ATTORNEY CREDENTIALS — fluid desktop / tablet
   Keep desktop color logic at smaller breakpoints.
   --------------------------------------------------------- */
.attorney-credentials {
  padding:
          var(--attorney-pad-y)
          var(--attorney-pad-x)
          calc(var(--attorney-pad-y) + var(--divider-depth));
  grid-template-columns: minmax(0, var(--attorney-left-col)) minmax(0, var(--attorney-right-col));
  column-gap: var(--attorney-col-gap);
}

.attorney-copy {
  width: min(100%, var(--attorney-left-col));
}

.attorney-copy > .eyebrow {
  font-size: var(--attorney-eyebrow-size);
}

.attorney-copy > h2 {
  font-size: var(--attorney-heading-size);
}

.attorney-copy > .credentials-intro {
  font-size: var(--attorney-intro-size);
}

.attorney-layout {
  width: min(100%, var(--attorney-right-col));
}

.attorney-cards {
  width: max-content;
  flex-wrap: nowrap;
  gap: var(--attorney-card-gap);
}

.attorney-card {
  flex: 0 0 var(--attorney-card-width);
  width: var(--attorney-card-width);
  min-width: 0;
  max-width: var(--attorney-card-width);
  height: var(--attorney-card-height);
  min-height: var(--attorney-card-height);
  aspect-ratio: auto;
}

.attorney-photo-frame {
  width: var(--attorney-card-width);
  height: var(--attorney-photo-height);
  flex: 0 0 var(--attorney-photo-height);
  aspect-ratio: auto;
}

.attorney-info h3,
.attorney-title,
.attorney-info p:not(.attorney-title),
.attorney-info a {
  white-space: nowrap;
}


/* ---------------------------------------------------------
   PROCESS SECTION
   --------------------------------------------------------- */
.process-section {
  padding-left: var(--process-pad-x);
  padding-right: var(--process-pad-x);
}

.process-section > .eyebrow {
  font-size: var(--process-eyebrow-size);
  line-height: var(--process-eyebrow-line-height);
}

.process-section > h2 {
  font-size: var(--process-heading-size);
}

.process-steps {
  max-width: var(--process-content-width);
  grid-template-columns: repeat(6, var(--process-step-width));
}

.process-step {
  width: var(--process-step-width);
}

.step-number {
  font-size: var(--process-number-size);
  margin-bottom: var(--process-number-gap);
}

.process-step h3 {
  width: var(--process-copy-width);
  margin-bottom: var(--process-title-gap);
  font-size: var(--process-title-size);
}

.process-step p {
  width: var(--process-copy-width);
  max-width: none;
  font-size: var(--process-copy-size);
}

@media (min-width: 56.25em) {
  .process-step:last-child h3,
  .process-step:last-child p {
    width: var(--process-step-width);
  }
}

.process-step .step-timing {
  margin-top: var(--process-timing-gap);
  font-size: var(--process-timing-size);
}

@keyframes process-line-fill {
  0%    { width: 0; }
  4%    { width: 0; }
  10%   { width: 0.5%; }
  22%   { width: 0.5%; }
  38%   { width: 25%; }
  48%   { width: 25%; }
  64%   { width: 50%; }
  74%   { width: 50%; }
  92%   { width: 75%; }
  100%  { width: 75%; }
}

/* ---------------------------------------------------------
   CONTACT CTA - 1440 to 3840 proportional scaling
   --------------------------------------------------------- */
@media (min-width: 1440px) {
  .contact-cta {
    --cta-gutter-inline: clamp(9.125rem, 10.138889vw, 24.333333rem);
    --cta-section-pad-block: clamp(4.125rem, 4.583333vw, 11rem);
    --cta-copy-width: clamp(37.5375rem, 41.708333vw, 100.1rem);
    --cta-form-width: clamp(30.7125rem, 34.125vw, 81.9rem);
    --cta-col-gap: clamp(3.5rem, 3.888889vw, 9.333333rem);
    --cta-copy-min-height: clamp(41.28125rem, 45.868056vw, 110.083333rem);
    --cta-form-min-height: clamp(42.78125rem, 47.534722vw, 114.083333rem);

    --cta-copy-heading-width: clamp(25.125rem, 27.916667vw, 67rem);
    --cta-copy-heading-gap: clamp(1.5rem, 1.666667vw, 4rem);
    --cta-copy-heading-size: clamp(2.25rem, 2.5vw, 6rem);
    --cta-copy-heading-line: clamp(2.5rem, 2.777778vw, 6.666667rem);
    --cta-description-width: clamp(30.5rem, 33.888889vw, 81.333333rem);
    --cta-description-size: clamp(1.25rem, 1.388889vw, 3.333333rem);
    --cta-reassurance-size: clamp(1.125rem, 1.25vw, 3rem);
    --cta-phone-gap: clamp(0.5rem, 0.555556vw, 1.333333rem);
    --cta-phone-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
    --cta-hours-size: clamp(1.0625rem, 1.180556vw, 2.833333rem);
    /* Map scales at 60% of --desktop-scale (effective scale = 0.4 + 0.6 * scale),
       so it keeps more of its 402px base as the viewport narrows. 200px width
       floor; card's 200px min-height is independent. */
    --cta-map-width: max(200px, calc(25.125rem * (0.4 + 0.6 * var(--desktop-scale))));
    --cta-map-gap-top: clamp(2.5rem, 2.777778vw, 6.666667rem);

    --cta-panel-pad-top: clamp(1.25rem, 1.388889vw, 3.333333rem);
    --cta-panel-pad-inline: clamp(2rem, 2.222222vw, 5.333333rem);
    --cta-panel-tail-space: clamp(1.5rem, 1.666667vw, 4rem);
    --cta-panel-radius: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-panel-stroke: clamp(0.0625rem, 0.069444vw, 0.166667rem);
    --cta-panel-shadow-y: clamp(0.375rem, 0.416667vw, 1rem);
    --cta-panel-shadow-blur: clamp(1.125rem, 1.25vw, 3rem);
    --cta-panel-glow-width: clamp(169.625rem, 188.472222vw, 452.333333rem);
    --cta-panel-glow-height: clamp(68.5rem, 76.111111vw, 182.666667rem);
    --cta-panel-glow-blur: clamp(4.5rem, 5vw, 12rem);
    --cta-panel-heading-gap: clamp(1rem, 1.111111vw, 2.666667rem);
    --cta-panel-heading-rule: clamp(0.09375rem, 0.104167vw, 0.25rem);
    --cta-panel-heading-size: clamp(1.75rem, 1.944444vw, 4.666667rem);
    --cta-panel-heading-line: clamp(2.5rem, 2.777778vw, 6.666667rem);
    --cta-form-gap: clamp(1rem, 1.111111vw, 2.666667rem);
    --cta-field-row-gap: clamp(1rem, 1.111111vw, 2.666667rem);
    --cta-field-gap: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-label-size: clamp(0.875rem, 0.972222vw, 2.333333rem);
    --cta-label-line: clamp(1.25rem, 1.388889vw, 3.333333rem);
    --cta-field-size: clamp(1rem, 1.111111vw, 2.666667rem);
    --cta-field-line: clamp(1.5rem, 1.666667vw, 4rem);
    --cta-field-pad: clamp(0.75rem, 0.833333vw, 2rem);
    --cta-field-height: clamp(3rem, 3.333333vw, 8rem);
    --cta-textarea-min-height: clamp(8.8125rem, 9.791667vw, 23.5rem);
    --cta-helper-size: clamp(0.8125rem, 0.902778vw, 2.166667rem);
    --cta-helper-line: clamp(1.25rem, 1.388889vw, 3.333333rem);
    --cta-error-line: clamp(1.125rem, 1.25vw, 3rem);
    --cta-field-radius: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-field-stroke: clamp(0.0625rem, 0.069444vw, 0.166667rem);
    --cta-field-ring-mid: clamp(0.125rem, 0.138889vw, 0.333333rem);
    --cta-field-ring-outer: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-error-icon-width: clamp(1.3125rem, 1.458333vw, 3.5rem);
    --cta-error-icon-height: clamp(1.25rem, 1.388889vw, 3.333333rem);
    --cta-error-icon-top: clamp(2.375rem, 2.638889vw, 6.333333rem);
    --cta-error-input-pad-right: clamp(2.5rem, 2.777778vw, 6.666667rem);

    --cta-button-width: clamp(13.75rem, 15.277778vw, 36.666667rem);
    --cta-button-min-height: clamp(3rem, 3.333333vw, 8rem);
    --cta-button-gap-right: clamp(0.5rem, 0.555556vw, 1.333333rem);
    --cta-button-pad-block: clamp(0.75rem, 0.833333vw, 2rem);
    --cta-button-pad-inline: clamp(1.5rem, 1.666667vw, 4rem);
    --cta-button-radius: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-button-shadow-y: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-button-shadow-blur: clamp(1rem, 1.111111vw, 2.666667rem);
    --cta-button-shadow-spread: clamp(-0.333333rem, -0.138889vw, -0.125rem);
    --cta-button-size: clamp(1rem, 1.111111vw, 2.666667rem);

    --cta-disclaimer-gap-top: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-disclaimer-size: clamp(0.8125rem, 0.902778vw, 2.166667rem);
    --cta-disclaimer-line: clamp(1.25rem, 1.388889vw, 3.333333rem);

    --cta-success-gap-bottom: clamp(1.25rem, 1.388889vw, 3.333333rem);
    --cta-success-pad: clamp(1.25rem, 1.388889vw, 3.333333rem);
    --cta-success-radius: clamp(0.25rem, 0.277778vw, 0.666667rem);
    --cta-success-stroke: clamp(0.0625rem, 0.069444vw, 0.166667rem);
    --cta-success-title-gap: clamp(0.5rem, 0.555556vw, 1.333333rem);
    --cta-success-body-gap: clamp(0.75rem, 0.833333vw, 2rem);
    --cta-success-title-size: clamp(1.125rem, 1.25vw, 3rem);
    --cta-success-title-line: clamp(1.5rem, 1.666667vw, 4rem);
    --cta-success-copy-size: clamp(0.9375rem, 1.041667vw, 2.5rem);
    --cta-success-copy-line: clamp(1.5rem, 1.666667vw, 4rem);
    --cta-success-hours-size: clamp(0.875rem, 0.972222vw, 2.333333rem);
    --cta-success-hours-line: clamp(1.25rem, 1.388889vw, 3.333333rem);

    grid-template-columns:
      minmax(0, var(--cta-copy-width))
      minmax(0, var(--cta-form-width));
    column-gap: var(--cta-col-gap);
    padding: var(--cta-section-pad-block) var(--cta-gutter-inline);
  }

  .cta-copy-column {
    width: var(--cta-copy-width);
    max-width: var(--cta-copy-width);
    min-height: var(--cta-copy-min-height);
  }

  .cta-copy-column > h2 {
    width: var(--cta-copy-heading-width);
    margin-bottom: var(--cta-copy-heading-gap);
    font-size: var(--cta-copy-heading-size);
    line-height: var(--cta-copy-heading-line);
  }

  .cta-description {
    width: var(--cta-description-width);
    margin-bottom: var(--cta-copy-heading-gap);
    font-size: var(--cta-description-size);
  }

  .reassurance-phone {
    font-size: var(--cta-reassurance-size);
  }

  .phone-link3,
  .phone-link3:visited {
    margin-top: var(--cta-phone-gap);
    font-size: var(--cta-phone-size);
  }

  .office-hours {
    margin-top: var(--cta-phone-gap);
    font-size: var(--cta-hours-size);
  }

  .map-placeholder-small {
    width: var(--cta-map-width);
    height: auto;
    margin-top: var(--cta-map-gap-top);
  }

  .map-placeholder-small .map-embed-card {
    box-shadow: inset 0 0 0 var(--cta-panel-stroke) #E5E7EB;
  }

  .cta-form-column {
    width: var(--cta-form-width);
    max-width: var(--cta-form-width);
    min-width: var(--cta-form-width);
    min-height: var(--cta-form-min-height);
    padding: var(--cta-panel-pad-top) var(--cta-panel-pad-inline) 0;
  }

  .cta-form-column::before {
    inset: 0 0 var(--cta-panel-tail-space) 0;
    border-radius: var(--cta-panel-radius);
    box-shadow:
            inset 0 0 0 var(--cta-panel-stroke) #E5E7EB,
            0 var(--cta-panel-shadow-y) var(--cta-panel-shadow-blur) rgba(0, 0, 0, 0.08);
  }

  .cta-form-column::after {
    width: var(--cta-panel-glow-width);
    height: var(--cta-panel-glow-height);
    filter: blur(var(--cta-panel-glow-blur));
  }

  .cta-form-column > h3 {
    margin-bottom: var(--cta-panel-heading-gap);
    padding-bottom: var(--cta-panel-heading-gap);
    border-bottom-width: var(--cta-panel-heading-rule);
    font-size: var(--cta-panel-heading-size);
    line-height: var(--cta-panel-heading-line);
  }

  .cta-form-column > form {
    gap: var(--cta-form-gap);
    padding-bottom: var(--cta-panel-pad-top);
  }

  .field-row-name {
    gap: var(--cta-field-row-gap);
  }

  .field-wrapper {
    gap: 0;
  }

  .field-wrapper label,
  .field-optional {
    font-size: var(--cta-label-size);
    line-height: var(--cta-label-line);
  }

  .field-wrapper input,
  .field-wrapper textarea {
    margin: var(--cta-field-gap) 0;
    padding: var(--cta-field-pad);
    font-size: var(--cta-field-size);
    line-height: var(--cta-field-line);
    border-radius: var(--cta-field-radius);
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #B8C6D6;
  }

  .field-wrapper input {
    height: var(--cta-field-height);
  }

  .field-wrapper textarea {
    min-height: var(--cta-textarea-min-height);
  }

  .field-hint {
    font-size: var(--cta-helper-size);
    line-height: var(--cta-helper-line);
  }

  .field-wrapper input:hover,
  .field-wrapper textarea:hover {
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #B8C6D6;
  }

  .field-wrapper input:focus,
  .field-wrapper textarea:focus {
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #B3832F,
            0 0 0 calc(var(--cta-field-stroke) * 2) #B3832F,
            0 0 0 calc(var(--cta-field-stroke) * 4) rgba(241, 211, 154, 0.2);
  }

  .field-wrapper.has-error input,
  .field-wrapper.has-error textarea {
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #D32F2F;
  }

  .field-wrapper.has-error input:focus,
  .field-wrapper.has-error textarea:focus {
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #D32F2F,
            0 0 0 calc(var(--cta-field-stroke) * 2) #D32F2F,
            0 0 0 calc(var(--cta-field-stroke) * 4) rgba(211, 47, 47, 0.12);
  }

  .field-error-icon {
    right: var(--cta-field-pad);
    top: var(--cta-error-icon-top);
    width: var(--cta-error-icon-width);
    height: var(--cta-error-icon-height);
  }

  .field-wrapper.has-error input {
    padding-right: var(--cta-error-input-pad-right);
  }

  .field-error-message {
    font-size: var(--cta-helper-size);
    line-height: var(--cta-error-line);
  }

  .cta-form-column form.is-sending input,
  .cta-form-column form.is-sending textarea,
  .cta-form-column form.is-success input,
  .cta-form-column form.is-success textarea {
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #D1D5DB;
  }

  .cta-button-3,
  .cta-button-3:visited {
    width: var(--cta-button-width);
    min-height: var(--cta-button-min-height);
    margin-right: var(--cta-button-gap-right);
    padding: var(--cta-button-pad-block) var(--cta-button-pad-inline);
    border-radius: var(--cta-button-radius);
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #B5852F,
            0 var(--cta-button-shadow-y) var(--cta-button-shadow-blur) var(--cta-button-shadow-spread) rgba(22, 22, 22, 0.1);
    font-size: var(--cta-button-size);
    line-height: var(--cta-field-line);
  }

  .cta-button-3:focus-visible {
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #B5852F,
            0 0 0 var(--cta-field-ring-mid) #FFF8E8,
            0 0 0 var(--cta-field-ring-outer) #7A6233;
  }

  .form-disclaimer {
    margin-top: var(--cta-disclaimer-gap-top);
    font-size: var(--cta-disclaimer-size);
    line-height: var(--cta-disclaimer-line);
  }

  .form-success-message {
    margin-bottom: var(--cta-success-gap-bottom);
    padding: var(--cta-success-pad);
    border-radius: var(--cta-success-radius);
    box-shadow: inset 0 0 0 var(--cta-success-stroke) #B8C6D6;
  }

  .form-success-message h4 {
    margin-bottom: var(--cta-success-title-gap);
    font-size: var(--cta-success-title-size);
    line-height: var(--cta-success-title-line);
  }

  .form-success-message .success-body {
    margin-bottom: var(--cta-success-body-gap);
    font-size: var(--cta-success-copy-size);
    line-height: var(--cta-success-copy-line);
  }

  .form-success-message .success-phone-line {
    margin-bottom: var(--cta-success-title-gap);
    font-size: var(--cta-success-copy-size);
    line-height: var(--cta-success-copy-line);
  }

  .form-success-message .success-hours {
    font-size: var(--cta-success-hours-size);
    line-height: var(--cta-success-hours-line);
  }
}

@media (min-width: 1440px) {
  .site-footer {
    --footer-pad-top: clamp(2.5rem, 2.777778vw, 6.666667rem);
    --footer-pad-bottom: clamp(3rem, 3.333333vw, 8rem);
    --footer-shadow-size: clamp(0.25rem, 0.277778vw, 0.666667rem);

    --footer-logo-width: clamp(14.25rem, 15.833333vw, 38rem);
    --footer-logo-height: clamp(14rem, 15.555556vw, 37.333333rem);
    --footer-column-width: clamp(15.375rem, 17.083333vw, 41rem);
    --footer-column-gap: clamp(3.5rem, 3.888889vw, 9.333333rem);

    --footer-heading-gap: clamp(1rem, 1.111111vw, 2.666667rem);
    --footer-heading-size: clamp(1rem, 1.111111vw, 2.666667rem);
    --footer-heading-line: clamp(1.375rem, 1.527778vw, 3.666667rem);

    --footer-divider-weight: clamp(0.125rem, 0.138889vw, 0.333333rem);
    --footer-divider-gap: clamp(1.25rem, 1.388889vw, 3.333333rem);

    --footer-address-gap: clamp(0.75rem, 0.833333vw, 2rem);
    --footer-copy-size: clamp(0.9375rem, 1.041667vw, 2.5rem);
    --footer-copy-line: clamp(1.375rem, 1.527778vw, 3.666667rem);
    --footer-meta-size: clamp(0.875rem, 0.972222vw, 2.333333rem);
    --footer-meta-line: clamp(1rem, 1.111111vw, 2.666667rem);
    --footer-stack-gap: clamp(0.5rem, 0.555556vw, 1.333333rem);
    --footer-link-top-gap: clamp(0.625rem, 0.694444vw, 1.666667rem);

    --footer-link-thickness: clamp(0.0625rem, 0.069444vw, 0.166667rem);
    --footer-link-offset: clamp(0.1875rem, 0.208333vw, 0.5rem);

    padding: var(--footer-pad-top) 0 var(--footer-pad-bottom);
    box-shadow: inset 0 var(--footer-shadow-size) var(--footer-shadow-size) 0 rgba(0, 0, 0, 0.25);
  }

  .footer-body {
    grid-template-columns:
      1fr
      var(--footer-logo-width)
      1fr
      var(--footer-column-width)
      var(--footer-column-gap)
      var(--footer-column-width)
      var(--footer-column-gap)
      var(--footer-column-width)
      1fr;
  }

  .footer-logo {
    width: var(--footer-logo-width);
  }

  .footer-logo svg,
  .footer-logo img {
    width: var(--footer-logo-width);
    height: var(--footer-logo-height);
  }

  .footer-heading {
    margin-bottom: var(--footer-heading-gap);
    font-size: var(--footer-heading-size);
    line-height: var(--footer-heading-line);
  }

  .footer-divider {
    border-top-width: var(--footer-divider-weight);
    margin: var(--footer-divider-gap) 0;
  }

  .site-footer a:hover,
  .site-footer a:focus-visible {
    text-decoration-thickness: var(--footer-link-thickness);
    text-underline-offset: var(--footer-link-offset);
  }

  .footer-address strong {
    margin-bottom: var(--footer-address-gap);
    font-size: var(--footer-heading-size);
    line-height: var(--footer-heading-size);
  }

  .footer-address span {
    font-size: var(--footer-copy-size);
    line-height: var(--footer-copy-line);
  }

  .footer-map {
    margin-top: var(--footer-stack-gap);
    font-size: var(--footer-meta-size);
    line-height: var(--footer-meta-line);
  }

  .footer-nap-bottom,
  .footer-info-bottom {
    gap: var(--footer-stack-gap);
  }

  .footer-phone,
  .footer-service-area,
  .footer-link-group a,
  .footer-link-group a:visited,
  .copyright {
    font-size: var(--footer-meta-size);
    line-height: var(--footer-meta-line);
  }

  .footer-link-group--top {
    gap: var(--footer-link-top-gap);
  }

  .footer-link-group--bottom,
  .footer-link-group--legal {
    gap: var(--footer-stack-gap);
  }
}

/* ---------------------------------------------------------
   SERVICE AREA / LOCAL INTENT
   Keep section aligned to desktop geometry longer.
   --------------------------------------------------------- */
/* ---------------------------------------------------------
   SERVICE AREA / LOCAL INTENT — desktop reference
   --------------------------------------------------------- */
.local-intent {
  --local-intent-pad-block: clamp(5.625rem, 6.25vw, 15rem);
  --local-intent-pad-inline: clamp(7.5rem, 8.333333vw, 20rem);
  --local-intent-content-width: clamp(39.5rem, 43.888889vw, 105.333333rem);
  --local-intent-stack-gap: clamp(1rem, 1.111111vw, 2.666667rem);
  --local-intent-eyebrow-size: clamp(1.25rem, 1.388889vw, 3.333333rem);
  --local-intent-eyebrow-line-height: clamp(1rem, 1.111111vw, 2.666667rem);
  --local-intent-eyebrow-rule-width: clamp(3.0625rem, 3.402778vw, 8.166667rem);
  --local-intent-eyebrow-rule-height: clamp(0.125rem, 0.138889vw, 0.333333rem);
  --local-intent-heading-size: clamp(4.375rem, 4.861111vw, 11.666667rem);
  --local-intent-intro-size: clamp(1.125rem, 1.25vw, 3rem);
  --local-intent-region-column: clamp(18.75rem, 20.833333vw, 50rem);
  --local-intent-region-gap: clamp(2rem, 2.222222vw, 5.333333rem);
  --local-intent-region-row-gap: clamp(0.625rem, 0.694444vw, 1.666667rem);
  --local-intent-region-margin-top: clamp(1.25rem, 1.388889vw, 3.333333rem);
  --local-intent-region-dt-size: clamp(1rem, 1.111111vw, 2.666667rem);
  --local-intent-region-dd-size: clamp(0.9375rem, 1.041667vw, 2.5rem);
  --local-intent-region-dd-gap: clamp(0.375rem, 0.416667vw, 1rem);
  --local-intent-region-dd-min-height: clamp(2.75rem, 3.055556vw, 7.333333rem);

  --divider-bar-height: clamp(0.5rem, 0.555556vw, 1.333333rem);
  --divider-square-size: clamp(2.375rem, 2.638889vw, 6.333333rem);
  --divider-stroke: clamp(0.4375rem, 0.486111vw, 1.166667rem);
  --divider-half-diagonal: calc(var(--divider-square-size) * 0.70710678);
  --divider-full-diagonal: calc(var(--divider-half-diagonal) * 2);

  --local-intent-panel-shift: clamp(0.75rem, 0.833333vw, 2rem);

  padding: var(--local-intent-pad-block) var(--local-intent-pad-inline);
}

.local-intent-content {
  width: var(--local-intent-content-width);
  max-width: var(--local-intent-content-width);
  margin-left: auto;
  margin-right: 0;
}

.local-intent-content > .eyebrow {
  margin: 0 0 var(--local-intent-stack-gap);
  font-size: var(--local-intent-eyebrow-size);
  line-height: var(--local-intent-eyebrow-line-height);
}

.local-intent-content > .eyebrow::before {
  width: var(--local-intent-eyebrow-rule-width);
  height: var(--local-intent-eyebrow-rule-height);
  margin-bottom: var(--local-intent-stack-gap);
}

.local-intent-content > h2 {
  margin: 0 0 var(--local-intent-stack-gap);
  font-size: var(--local-intent-heading-size);
  text-wrap: nowrap;
}

.local-intent-intro {
  max-width: none;
  font-size: var(--local-intent-intro-size);
  font-weight: 400;
}

.region-list {
  grid-template-columns: repeat(2, minmax(0, var(--local-intent-region-column)));
  column-gap: var(--local-intent-region-gap);
  row-gap: var(--local-intent-region-row-gap);
  max-width: var(--local-intent-content-width);
  margin-top: var(--local-intent-region-margin-top);
}

.region-group dt {
  font-size: var(--local-intent-region-dt-size);
}

.region-group dd {
  margin-top: var(--local-intent-region-dd-gap);
  min-height: var(--local-intent-region-dd-min-height);
  font-size: var(--local-intent-region-dd-size);
}

/* Divider between service area and CTA */
.local-intent-divider::before {
  bottom: calc(var(--divider-bar-height) / -2);
  height: var(--divider-bar-height);
}

.local-intent-divider__fill {
  bottom: calc(-1 * var(--divider-half-diagonal));
  clip-path: polygon(
          50% calc(100% - var(--divider-full-diagonal)),
          calc(50% + var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal)),
          50% 100%,
          calc(50% - var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal))
  );
}

.local-intent-divider::after {
  width: var(--divider-square-size);
  height: var(--divider-square-size);
  border-width: var(--divider-stroke);
}

/* 1440 -> 390:
   keep the bridge image on the same focal area while the section
   continues using the desktop proportional height-scaling method. */
@media (max-width: 1439px) {
  .local-intent {
    --local-intent-bridge-shift:
            clamp(-14.5rem, calc((1440px - 100vw) * -0.22), 0rem);
  }
}

/* =========================================================
   900–1439px — proportional desktop scale-down
   Mirrors the 1440px composition directly so every scaled
   desktop section shrinks by the same ratio down to 900px.
   ========================================================= */
@media (max-width: 1439px) and (min-width: 900px) {
  :root {
    --desktop-scale: 1;

    --anchor-offset-desktop: calc(5.375rem * var(--desktop-scale));
    --breadcrumb-pad-block-start: calc(1.25rem * var(--desktop-scale));
    --breadcrumb-text-size: calc(0.875rem * var(--desktop-scale));
    --breadcrumb-separator-gap: calc(0.5rem * var(--desktop-scale));

    --article-layout-max-width: calc(90rem * var(--desktop-scale));
    --article-pad-left: calc(12.75rem * var(--desktop-scale));
    --article-pad-right: calc(2rem * var(--desktop-scale));
    --article-pad-bottom: calc(5.625rem * var(--desktop-scale));
    --article-column-width: calc(40rem * var(--desktop-scale));
    --article-sidebar-width: calc(23.4375rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-column-gap: calc(11.8125rem * var(--desktop-scale));
    --article-top-pad: calc(2.25rem * var(--desktop-scale));
    --article-bottom-pad-inner: calc(3rem * var(--desktop-scale));
    --article-section-gap: calc(2.875rem * var(--desktop-scale));
    --article-heading-gap: calc(1rem * var(--desktop-scale));
    --article-heading-size: calc(2.25rem * var(--desktop-scale));
    --article-body-size: calc(1.125rem * var(--desktop-scale));
    --article-body-gap: calc(1.5rem * var(--desktop-scale));
    --article-callout-pad: calc(0.4375rem * var(--desktop-scale));
    --article-callout-size: calc(1.25rem * var(--desktop-scale));
    --article-action-gap: calc(0.75rem * var(--desktop-scale));
    --article-action-number-width: calc(1.5rem * var(--desktop-scale));
    --article-subheading-gap: calc(0.5rem * var(--desktop-scale));
    --article-subheading-size: calc(1.125rem * var(--desktop-scale));
    --article-byline-size: calc(1rem * var(--desktop-scale));
    --article-sidebar-pad-left: calc(0.9375rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-sidebar-stack-gap: calc(1.5rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-sidebar-height-offset: calc(6.25rem * var(--desktop-scale));
    --article-card-radius: calc(0.25rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-card-width: calc(22.5rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-card-stroke: calc(0.0625rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-quick-pad-block: calc(1.25rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-quick-pad-inline: calc(1.5rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-pad: calc(1.5rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-card-gap: calc(1rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-sidebar-heading-gap: calc(1rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-sidebar-heading-size: calc(1rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-quick-gap: calc(0.75rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-quick-size: calc(0.9375rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-eyebrow-size: calc(0.8125rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-title-size: calc(1.3125rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-copy-size: calc(0.9375rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-copy-gap: calc(0.5rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-phone-size: calc(1.5rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-cta-min-height: calc(3rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-cta-pad-block: calc(0.75rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-cta-pad-inline: calc(1.25rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-cta-radius: calc(0.5rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-contact-cta-size: calc(0.9375rem * var(--desktop-scale) * var(--article-sidebar-fit-scale));
    --article-link-thickness: calc(0.0625rem * var(--desktop-scale));
    --article-link-offset: calc(0.1875rem * var(--desktop-scale));
    --article-divider-bar: calc(0.5rem * var(--desktop-scale));
    --article-divider-diamond: calc(2.375rem * var(--desktop-scale));
    --article-divider-border: calc(0.4375rem * var(--desktop-scale));
  }

  .sticky-bar {
    --header-inline-pad: calc(1rem * var(--desktop-scale));
    --header-block-pad: calc(0.25rem * var(--desktop-scale));
    --header-min-height: calc(5.125rem * var(--desktop-scale));
    --header-group-gap: calc(1.5rem * var(--desktop-scale));
    --header-nav-gap: calc(1.6875rem * var(--desktop-scale));
    --header-utility-gap: calc(1rem * var(--desktop-scale));
    --header-label-size: calc(0.90625rem * var(--desktop-scale));
    --header-label-spacing: 0.06em;
    --header-phone-gap: calc(0.25rem * var(--desktop-scale));
    --header-icon-size: calc(1.125rem * var(--desktop-scale));
    --header-cta-inline-pad: calc(1.26rem * var(--desktop-scale));
    --header-cta-block-pad: calc(0.875rem * var(--desktop-scale));
    --header-cta-radius: calc(0.375rem * var(--desktop-scale));
    --header-logo-height: calc(4rem * var(--desktop-scale));
    --header-focus-offset: calc(0.25rem * var(--desktop-scale));
  }

  .hero {
    --hero-left-column: calc(36.375rem * var(--desktop-scale));
    --hero-right-column: calc(34.125rem * var(--desktop-scale));
    --hero-column-gap: calc(4.375rem * var(--desktop-scale));
    --hero-height: calc(29.375rem * var(--desktop-scale));
    --hero-overlay-height: calc(33.75rem * var(--desktop-scale));
    --hero-strip-top: calc(7.125rem * var(--desktop-scale));
    --hero-strip-height: calc(6.4375rem * var(--desktop-scale));
    --hero-diagonal-cut: calc(5.018563rem * var(--desktop-scale));
    --hero-edge-anchor: calc(4.368rem * var(--desktop-scale));
    --hero-edge-offset: calc(0.125rem * var(--desktop-scale));
    --hero-edge-width: calc(0.625rem * var(--desktop-scale));
    --hero-shadow-x: calc(0.5rem * var(--desktop-scale));
    --hero-shadow-y: calc(0.125rem * var(--desktop-scale));
    --hero-shadow-blur: calc(0.875rem * var(--desktop-scale));
    --hero-content-pad-top: calc(4rem * var(--desktop-scale));
    --hero-content-pad-left: calc(6rem * var(--desktop-scale));
    --hero-heading-width: calc(30.375rem * var(--desktop-scale));
    --hero-heading-size: calc(2.875rem * var(--desktop-scale));
    --hero-subline-width: calc(27.75rem * var(--desktop-scale));
    --hero-subline-gap: calc(1rem * var(--desktop-scale));
    --hero-subline-size: calc(1.125rem * var(--desktop-scale));
    --hero-detail-pad-top: calc(7.125rem * var(--desktop-scale));
    --hero-fee-width: calc(32rem * var(--desktop-scale));
    --hero-fee-gap: calc(1.5rem * var(--desktop-scale));
    --hero-fee-padding-block: calc(1.5rem * var(--desktop-scale));
    --hero-fee-size: calc(1.0625rem * var(--desktop-scale));
    --hero-case-heading-gap: calc(0.875rem * var(--desktop-scale));
    --hero-case-heading-size: calc(1.375rem * var(--desktop-scale));
    --hero-list-gap: calc(0.625rem * var(--desktop-scale));
    --hero-list-column-gap: calc(7rem * var(--desktop-scale));
    --hero-list-bullet-size: calc(0.3125rem * var(--desktop-scale));
    --hero-list-item-gap: calc(0.625rem * var(--desktop-scale));
    --hero-list-min-height: calc(1.375rem * var(--desktop-scale));
    --hero-list-size: calc(0.9375rem * var(--desktop-scale));
    --hero-list-bullet-offset: calc(0.53125rem * var(--desktop-scale));
    --hero-link-thickness: calc(0.0625rem * var(--desktop-scale));
    --hero-link-offset: calc(0.1875rem * var(--desktop-scale));
    --hero-link-focus-offset: calc(0.125rem * var(--desktop-scale));
  }

  .attorney-credentials {
    --attorney-pad-y: calc(5.625rem * var(--desktop-scale));
    --attorney-pad-x: calc(7.5rem * var(--desktop-scale));
    --attorney-left-col: calc(30.875rem * var(--desktop-scale));
    --attorney-right-col: calc(41.25rem * var(--desktop-scale));
    --attorney-col-gap: calc(2.375rem * var(--desktop-scale));
    --attorney-ellipse-width: calc(212.488125rem * var(--desktop-scale));
    --attorney-ellipse-height: calc(85.8125rem * var(--desktop-scale));
    --attorney-ellipse-shift-x: calc(-1.5625rem * var(--desktop-scale));
    --attorney-ellipse-blur: calc(4.5rem * var(--desktop-scale));
    --attorney-eyebrow-gap: calc(1rem * var(--desktop-scale));
    --attorney-eyebrow-size: calc(1.25rem * var(--desktop-scale));
    --attorney-eyebrow-line-height: calc(1rem * var(--desktop-scale));
    --attorney-eyebrow-rule-width: calc(3.0625rem * var(--desktop-scale));
    --attorney-eyebrow-rule-height: calc(0.125rem * var(--desktop-scale));
    --attorney-heading-size: calc(4rem * var(--desktop-scale));
    --attorney-intro-size: calc(1.125rem * var(--desktop-scale));
    --attorney-layout-pad: calc(0.625rem * var(--desktop-scale));
    --attorney-card-gap: calc(1.5rem * var(--desktop-scale));
    --attorney-card-width: calc(20rem * var(--desktop-scale));
    --attorney-card-height: calc(30.125rem * var(--desktop-scale));
    --attorney-card-radius: calc(0.375rem * var(--desktop-scale));
    --attorney-card-pad-bottom: calc(2.25rem * var(--desktop-scale));
    --attorney-card-shadow-y: calc(0.625rem * var(--desktop-scale));
    --attorney-card-shadow-blur: calc(1.75rem * var(--desktop-scale));
    --attorney-card-stroke: calc(0.0625rem * var(--desktop-scale));
    --attorney-photo-height: calc(17.5rem * var(--desktop-scale));
    --attorney-photo-gap: calc(1rem * var(--desktop-scale));
    --attorney-card-panel-top: calc(17.5rem * var(--desktop-scale));
    --attorney-info-width: calc(15.8125rem * var(--desktop-scale));
    --attorney-name-gap: calc(0.25rem * var(--desktop-scale));
    --attorney-name-size: calc(1.375rem * var(--desktop-scale));
    --attorney-title-gap: calc(0.625rem * var(--desktop-scale));
    --attorney-title-size: calc(1rem * var(--desktop-scale));
    --attorney-meta-size: calc(0.875rem * var(--desktop-scale));
    --attorney-meta-gap: calc(0.25rem * var(--desktop-scale));
    --attorney-link-gap: calc(0.875rem * var(--desktop-scale));
    --attorney-link-size: calc(1rem * var(--desktop-scale));
    --attorney-link-thickness: calc(0.0625rem * var(--desktop-scale));
    --attorney-link-offset: calc(0.1875rem * var(--desktop-scale));
  }

  .process-section {
    --section-y-padding: calc(5.625rem * var(--desktop-scale));
    --process-pad-x: calc(7.5rem * var(--desktop-scale));
    --process-content-width: calc(75rem * var(--desktop-scale));
    --process-image-bottom-overhang: calc(30.291625rem * var(--desktop-scale));
    --process-eyebrow-gap: calc(1rem * var(--desktop-scale));
    --process-eyebrow-size: calc(1.25rem * var(--desktop-scale));
    --process-eyebrow-line-height: calc(1rem * var(--desktop-scale));
    --process-eyebrow-rule-width: calc(2.1875rem * var(--desktop-scale));
    --process-eyebrow-rule-height: calc(0.125rem * var(--desktop-scale));
    --process-heading-size: calc(4.375rem * var(--desktop-scale));
    --process-heading-gap: calc(3.125rem * var(--desktop-scale));
    --process-step-width: calc(12.5rem * var(--desktop-scale));
    --process-timeline-y: calc(17.5rem * var(--desktop-scale));
    --process-diamond-size: calc(0.625rem * var(--desktop-scale));
    --process-diamond-border: calc(0.125rem * var(--desktop-scale));
    --process-diamond-gap: calc(1.125rem * var(--desktop-scale));
    --process-line-end-overshoot: calc(0.1875rem * var(--desktop-scale));
    --process-upper-step-offset: calc(1.5rem * var(--desktop-scale));
    --process-heading-to-upper-number: calc(3.125rem * var(--desktop-scale));
    --process-line-base: calc(0.0625rem * var(--desktop-scale));
    --process-line-fill: calc(0.125rem * var(--desktop-scale));
    --process-reveal-offset: calc(1rem * var(--desktop-scale));
    --process-number-gap: calc(0.375rem * var(--desktop-scale));
    --process-number-size: calc(1.5rem * var(--desktop-scale));
    --process-title-gap: calc(0.5rem * var(--desktop-scale));
    --process-title-size: calc(1.375rem * var(--desktop-scale));
    --process-copy-width: calc(18.75rem * var(--desktop-scale));
    --process-copy-size: calc(1rem * var(--desktop-scale));
    --process-timing-gap: calc(0.625rem * var(--desktop-scale));
    --process-timing-size: calc(0.875rem * var(--desktop-scale));
  }

  .local-intent {
    --local-intent-pad-block: calc(5.625rem * var(--desktop-scale));
    --local-intent-pad-inline: calc(7.5rem * var(--desktop-scale));
    --local-intent-content-width: calc(39.5rem * var(--desktop-scale));
    --local-intent-stack-gap: calc(1rem * var(--desktop-scale));
    --local-intent-eyebrow-size: calc(1.25rem * var(--desktop-scale));
    --local-intent-eyebrow-line-height: calc(1rem * var(--desktop-scale));
    --local-intent-eyebrow-rule-width: calc(3.0625rem * var(--desktop-scale));
    --local-intent-eyebrow-rule-height: calc(0.125rem * var(--desktop-scale));
    --local-intent-heading-size: calc(4.375rem * var(--desktop-scale));
    --local-intent-intro-size: calc(1.125rem * var(--desktop-scale));
    --local-intent-region-column: calc(18.75rem * var(--desktop-scale));
    --local-intent-region-gap: calc(2rem * var(--desktop-scale));
    --local-intent-region-row-gap: calc(0.625rem * var(--desktop-scale));
    --local-intent-region-margin-top: calc(1.25rem * var(--desktop-scale));
    --local-intent-region-dt-size: calc(1rem * var(--desktop-scale));
    --local-intent-region-dd-size: calc(0.9375rem * var(--desktop-scale));
    --local-intent-region-dd-gap: calc(0.375rem * var(--desktop-scale));
    --local-intent-region-dd-min-height: calc(2.75rem * var(--desktop-scale));
    --divider-bar-height: calc(0.5rem * var(--desktop-scale));
    --divider-square-size: calc(2.375rem * var(--desktop-scale));
    --divider-stroke: calc(0.4375rem * var(--desktop-scale));
    --divider-half-diagonal: calc(var(--divider-square-size) * 0.70710678);
    --divider-full-diagonal: calc(var(--divider-half-diagonal) * 2);
    --local-intent-panel-shift: calc(0.75rem * var(--desktop-scale));
  }

  .contact-cta {
    --cta-gutter-inline: calc(9.125rem * var(--desktop-scale));
    --cta-section-pad-block: calc(4.125rem * var(--desktop-scale));
    --cta-copy-width: calc(37.5375rem * var(--desktop-scale));
    --cta-form-width: calc(30.7125rem * var(--desktop-scale));
    --cta-col-gap: calc(3.5rem * var(--desktop-scale));
    --cta-copy-min-height: calc(41.28125rem * var(--desktop-scale));
    --cta-form-min-height: calc(42.78125rem * var(--desktop-scale));
    --cta-copy-heading-width: calc(25.125rem * var(--desktop-scale));
    --cta-copy-heading-gap: calc(1.5rem * var(--desktop-scale));
    --cta-copy-heading-size: calc(2.25rem * var(--desktop-scale));
    --cta-copy-heading-line: calc(2.5rem * var(--desktop-scale));
    --cta-description-width: calc(30.5rem * var(--desktop-scale));
    --cta-description-size: calc(1.25rem * var(--desktop-scale));
    --cta-reassurance-size: calc(1.125rem * var(--desktop-scale));
    --cta-phone-gap: calc(0.5rem * var(--desktop-scale));
    --cta-phone-size: calc(1.375rem * var(--desktop-scale));
    --cta-hours-size: calc(1.0625rem * var(--desktop-scale));
    /* Same rule as the ≥1440px block — scales at 60% of --desktop-scale so the
       map keeps more of its base size as the viewport narrows. 200px floor. */
    --cta-map-width: max(200px, calc(25.125rem * (0.4 + 0.6 * var(--desktop-scale))));
    --cta-map-gap-top: calc(2.5rem * var(--desktop-scale));
    --cta-panel-pad-top: calc(1.25rem * var(--desktop-scale));
    --cta-panel-pad-inline: calc(2rem * var(--desktop-scale));
    --cta-panel-tail-space: calc(1.5rem * var(--desktop-scale));
    --cta-panel-radius: calc(0.25rem * var(--desktop-scale));
    --cta-panel-stroke: calc(0.0625rem * var(--desktop-scale));
    --cta-panel-shadow-y: calc(0.375rem * var(--desktop-scale));
    --cta-panel-shadow-blur: calc(1.125rem * var(--desktop-scale));
    --cta-panel-glow-width: calc(169.625rem * var(--desktop-scale));
    --cta-panel-glow-height: calc(68.5rem * var(--desktop-scale));
    --cta-panel-glow-blur: calc(4.5rem * var(--desktop-scale));
    --cta-panel-heading-gap: calc(1rem * var(--desktop-scale));
    --cta-panel-heading-rule: calc(0.09375rem * var(--desktop-scale));
    --cta-panel-heading-size: calc(1.75rem * var(--desktop-scale));
    --cta-panel-heading-line: calc(2.5rem * var(--desktop-scale));
    --cta-form-gap: calc(1rem * var(--desktop-scale));
    --cta-field-row-gap: calc(1rem * var(--desktop-scale));
    --cta-field-gap: calc(0.25rem * var(--desktop-scale));
    --cta-label-size: calc(0.875rem * var(--desktop-scale));
    --cta-label-line: calc(1.25rem * var(--desktop-scale));
    --cta-field-size: calc(1rem * var(--desktop-scale));
    --cta-field-line: calc(1.5rem * var(--desktop-scale));
    --cta-field-pad: calc(0.75rem * var(--desktop-scale));
    --cta-field-height: calc(3rem * var(--desktop-scale));
    --cta-textarea-min-height: calc(8.8125rem * var(--desktop-scale));
    --cta-helper-size: calc(0.8125rem * var(--desktop-scale));
    --cta-helper-line: calc(1.25rem * var(--desktop-scale));
    --cta-error-line: calc(1.125rem * var(--desktop-scale));
    --cta-field-radius: calc(0.25rem * var(--desktop-scale));
    --cta-field-stroke: calc(0.0625rem * var(--desktop-scale));
    --cta-field-ring-mid: calc(0.125rem * var(--desktop-scale));
    --cta-field-ring-outer: calc(0.25rem * var(--desktop-scale));
    --cta-error-icon-width: calc(1.3125rem * var(--desktop-scale));
    --cta-error-icon-height: calc(1.25rem * var(--desktop-scale));
    --cta-error-icon-top: calc(2.375rem * var(--desktop-scale));
    --cta-error-input-pad-right: calc(2.5rem * var(--desktop-scale));
    --cta-button-width: calc(13.75rem * var(--desktop-scale));
    --cta-button-min-height: calc(3rem * var(--desktop-scale));
    --cta-button-gap-right: calc(0.5rem * var(--desktop-scale));
    --cta-button-pad-block: calc(0.75rem * var(--desktop-scale));
    --cta-button-pad-inline: calc(1.5rem * var(--desktop-scale));
    --cta-button-radius: calc(0.25rem * var(--desktop-scale));
    --cta-button-shadow-y: calc(0.25rem * var(--desktop-scale));
    --cta-button-shadow-blur: calc(1rem * var(--desktop-scale));
    --cta-button-shadow-spread: calc(-0.125rem * var(--desktop-scale));
    --cta-button-size: calc(1rem * var(--desktop-scale));
    --cta-disclaimer-gap-top: calc(0.25rem * var(--desktop-scale));
    --cta-disclaimer-size: calc(0.8125rem * var(--desktop-scale));
    --cta-disclaimer-line: calc(1.25rem * var(--desktop-scale));
    --cta-success-gap-bottom: calc(1.25rem * var(--desktop-scale));
    --cta-success-pad: calc(1.25rem * var(--desktop-scale));
    --cta-success-radius: calc(0.25rem * var(--desktop-scale));
    --cta-success-stroke: calc(0.0625rem * var(--desktop-scale));
    --cta-success-title-gap: calc(0.5rem * var(--desktop-scale));
    --cta-success-body-gap: calc(0.75rem * var(--desktop-scale));
    --cta-success-title-size: calc(1.125rem * var(--desktop-scale));
    --cta-success-title-line: calc(1.5rem * var(--desktop-scale));
    --cta-success-copy-size: calc(0.9375rem * var(--desktop-scale));
    --cta-success-copy-line: calc(1.5rem * var(--desktop-scale));
    --cta-success-hours-size: calc(0.875rem * var(--desktop-scale));
    --cta-success-hours-line: calc(1.25rem * var(--desktop-scale));

    grid-template-columns:
      minmax(0, var(--cta-copy-width))
      minmax(0, var(--cta-form-width));
    column-gap: var(--cta-col-gap);
    padding: var(--cta-section-pad-block) var(--cta-gutter-inline);
  }

  .cta-copy-column {
    width: var(--cta-copy-width);
    max-width: var(--cta-copy-width);
    min-height: var(--cta-copy-min-height);
  }

  .cta-copy-column > h2 {
    width: var(--cta-copy-heading-width);
    margin-bottom: var(--cta-copy-heading-gap);
    font-size: var(--cta-copy-heading-size);
    line-height: var(--cta-copy-heading-line);
  }

  .cta-description {
    width: var(--cta-description-width);
    margin-bottom: var(--cta-copy-heading-gap);
    font-size: var(--cta-description-size);
  }

  .reassurance-phone {
    font-size: var(--cta-reassurance-size);
  }

  .phone-link3,
  .phone-link3:visited {
    margin-top: var(--cta-phone-gap);
    font-size: var(--cta-phone-size);
  }

  .office-hours {
    margin-top: var(--cta-phone-gap);
    font-size: var(--cta-hours-size);
  }

  .map-placeholder-small {
    width: var(--cta-map-width);
    height: auto;
    margin-top: var(--cta-map-gap-top);
  }

  .map-placeholder-small .map-embed-card {
    box-shadow: inset 0 0 0 var(--cta-panel-stroke) #E5E7EB;
  }

  .cta-form-column {
    width: var(--cta-form-width);
    max-width: var(--cta-form-width);
    min-width: var(--cta-form-width);
    min-height: var(--cta-form-min-height);
    padding: var(--cta-panel-pad-top) var(--cta-panel-pad-inline) 0;
  }

  .cta-form-column::before {
    inset: 0 0 var(--cta-panel-tail-space) 0;
    border-radius: var(--cta-panel-radius);
    box-shadow:
            inset 0 0 0 var(--cta-panel-stroke) #E5E7EB,
            0 var(--cta-panel-shadow-y) var(--cta-panel-shadow-blur) rgba(0, 0, 0, 0.08);
  }

  .cta-form-column::after {
    width: var(--cta-panel-glow-width);
    height: var(--cta-panel-glow-height);
    filter: blur(var(--cta-panel-glow-blur));
  }

  .cta-form-column > h3 {
    margin-bottom: var(--cta-panel-heading-gap);
    padding-bottom: var(--cta-panel-heading-gap);
    border-bottom-width: var(--cta-panel-heading-rule);
    font-size: var(--cta-panel-heading-size);
    line-height: var(--cta-panel-heading-line);
  }

  .cta-form-column > form {
    gap: var(--cta-form-gap);
    padding-bottom: var(--cta-panel-pad-top);
  }

  .field-row-name {
    gap: var(--cta-field-row-gap);
  }

  .field-wrapper {
    gap: 0;
  }

  .field-wrapper label,
  .field-optional {
    font-size: var(--cta-label-size);
    line-height: var(--cta-label-line);
  }

  .field-wrapper input,
  .field-wrapper textarea {
    margin: var(--cta-field-gap) 0;
    padding: var(--cta-field-pad);
    font-size: var(--cta-field-size);
    line-height: var(--cta-field-line);
    border-radius: var(--cta-field-radius);
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #B8C6D6;
  }

  .field-wrapper input {
    height: var(--cta-field-height);
  }

  .field-wrapper textarea {
    min-height: var(--cta-textarea-min-height);
  }

  .field-hint {
    font-size: var(--cta-helper-size);
    line-height: var(--cta-helper-line);
  }

  .field-wrapper input:hover,
  .field-wrapper textarea:hover {
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #B8C6D6;
  }

  .field-wrapper input:focus,
  .field-wrapper textarea:focus {
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #B3832F,
            0 0 0 calc(var(--cta-field-stroke) * 2) #B3832F,
            0 0 0 calc(var(--cta-field-stroke) * 4) rgba(241, 211, 154, 0.2);
  }

  .field-wrapper.has-error input,
  .field-wrapper.has-error textarea {
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #D32F2F;
  }

  .field-wrapper.has-error input:focus,
  .field-wrapper.has-error textarea:focus {
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #D32F2F,
            0 0 0 calc(var(--cta-field-stroke) * 2) #D32F2F,
            0 0 0 calc(var(--cta-field-stroke) * 4) rgba(211, 47, 47, 0.12);
  }

  .field-error-icon {
    right: var(--cta-field-pad);
    width: var(--cta-error-icon-width);
    height: var(--cta-error-icon-height);
    top: var(--cta-error-icon-top);
  }

  .field-wrapper.has-error input {
    padding-right: var(--cta-error-input-pad-right);
  }

  .field-error-message {
    font-size: var(--cta-helper-size);
    line-height: var(--cta-error-line);
  }

  .cta-form-column form.is-sending input,
  .cta-form-column form.is-sending textarea,
  .cta-form-column form.is-success input,
  .cta-form-column form.is-success textarea {
    box-shadow: inset 0 0 0 var(--cta-field-stroke) #D1D5DB;
  }

  .cta-button-3,
  .cta-button-3:visited {
    width: var(--cta-button-width);
    min-height: var(--cta-button-min-height);
    margin-right: var(--cta-button-gap-right);
    padding: var(--cta-button-pad-block) var(--cta-button-pad-inline);
    border-radius: var(--cta-button-radius);
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #B5852F,
            0 var(--cta-button-shadow-y) var(--cta-button-shadow-blur) var(--cta-button-shadow-spread) rgba(22, 22, 22, 0.1);
    font-size: var(--cta-button-size);
    line-height: var(--cta-field-line);
  }

  .cta-button-3:focus-visible {
    box-shadow:
            inset 0 0 0 var(--cta-field-stroke) #B5852F,
            0 0 0 var(--cta-field-ring-mid) #FFF8E8,
            0 0 0 var(--cta-field-ring-outer) #7A6233;
  }

  .form-disclaimer {
    margin-top: var(--cta-disclaimer-gap-top);
    font-size: var(--cta-disclaimer-size);
    line-height: var(--cta-disclaimer-line);
  }

  .form-success-message {
    margin-bottom: var(--cta-success-gap-bottom);
    padding: var(--cta-success-pad);
    border-radius: var(--cta-success-radius);
    box-shadow: inset 0 0 0 var(--cta-success-stroke) #B8C6D6;
  }

  .form-success-message h4 {
    margin-bottom: var(--cta-success-title-gap);
    font-size: var(--cta-success-title-size);
    line-height: var(--cta-success-title-line);
  }

  .form-success-message .success-body {
    margin-bottom: var(--cta-success-body-gap);
    font-size: var(--cta-success-copy-size);
    line-height: var(--cta-success-copy-line);
  }

  .form-success-message .success-phone-line {
    margin-bottom: var(--cta-success-title-gap);
    font-size: var(--cta-success-copy-size);
    line-height: var(--cta-success-copy-line);
  }

  .form-success-message .success-hours {
    font-size: var(--cta-success-hours-size);
    line-height: var(--cta-success-hours-line);
  }

  .site-footer {
    --footer-pad-top: calc(2.5rem * var(--desktop-scale));
    --footer-pad-bottom: calc(3rem * var(--desktop-scale));
    --footer-shadow-size: calc(0.25rem * var(--desktop-scale));
    --footer-logo-width: calc(14.25rem * var(--desktop-scale));
    --footer-logo-height: calc(14rem * var(--desktop-scale));
    --footer-column-width: calc(15.375rem * var(--desktop-scale));
    --footer-column-gap: calc(3.5rem * var(--desktop-scale));
    --footer-heading-gap: calc(1rem * var(--desktop-scale));
    --footer-heading-size: calc(1rem * var(--desktop-scale));
    --footer-heading-line: calc(1.375rem * var(--desktop-scale));
    --footer-divider-weight: calc(0.125rem * var(--desktop-scale));
    --footer-divider-gap: calc(1.25rem * var(--desktop-scale));
    --footer-address-gap: calc(0.75rem * var(--desktop-scale));
    --footer-copy-size: calc(0.9375rem * var(--desktop-scale));
    --footer-copy-line: calc(1.375rem * var(--desktop-scale));
    --footer-meta-size: calc(0.875rem * var(--desktop-scale));
    --footer-meta-line: calc(1rem * var(--desktop-scale));
    --footer-stack-gap: calc(0.5rem * var(--desktop-scale));
    --footer-link-top-gap: calc(0.625rem * var(--desktop-scale));
    --footer-link-thickness: calc(0.0625rem * var(--desktop-scale));
    --footer-link-offset: calc(0.1875rem * var(--desktop-scale));

    padding: var(--footer-pad-top) 0 var(--footer-pad-bottom);
    box-shadow: inset 0 var(--footer-shadow-size) var(--footer-shadow-size) 0 rgba(0, 0, 0, 0.25);
  }

  .footer-body {
    grid-template-columns:
      1fr
      var(--footer-logo-width)
      1fr
      var(--footer-column-width)
      var(--footer-column-gap)
      var(--footer-column-width)
      var(--footer-column-gap)
      var(--footer-column-width)
      1fr;
  }

  .footer-logo {
    width: var(--footer-logo-width);
  }

  .footer-logo svg,
  .footer-logo img {
    width: var(--footer-logo-width);
    height: var(--footer-logo-height);
  }

  .footer-heading {
    margin-bottom: var(--footer-heading-gap);
    font-size: var(--footer-heading-size);
    line-height: var(--footer-heading-line);
  }

  .footer-divider {
    border-top-width: var(--footer-divider-weight);
    margin: var(--footer-divider-gap) 0;
  }

  .site-footer a:hover,
  .site-footer a:focus-visible {
    text-decoration-thickness: var(--footer-link-thickness);
    text-underline-offset: var(--footer-link-offset);
  }

  .footer-address strong {
    margin-bottom: var(--footer-address-gap);
    font-size: var(--footer-heading-size);
    line-height: var(--footer-heading-size);
  }

  .footer-address span {
    font-size: var(--footer-copy-size);
    line-height: var(--footer-copy-line);
  }

  .footer-map {
    margin-top: var(--footer-stack-gap);
    font-size: var(--footer-meta-size);
    line-height: var(--footer-meta-line);
  }

  .footer-nap-bottom,
  .footer-info-bottom {
    gap: var(--footer-stack-gap);
  }

  .footer-phone,
  .footer-service-area,
  .footer-link-group a,
  .footer-link-group a:visited,
  .copyright {
    font-size: var(--footer-meta-size);
    line-height: var(--footer-meta-line);
  }

  .footer-link-group--top {
    gap: var(--footer-link-top-gap);
  }

  .footer-link-group--bottom,
  .footer-link-group--legal {
    gap: var(--footer-stack-gap);
  }
}

/* =========================================================
   ≤479px — TRUE MOBILE HANDOFF
   Exact 375px target values where specified.
   ========================================================= */
@media (min-width: 680px) and (max-width: 899px) {
  :root {
    --tablet-inline-pad: calc(24px + 24px * var(--tablet-progress));
    --tablet-inline-pad-left: calc(var(--tablet-inline-pad) + var(--safe-area-inline-left));
    --tablet-inline-pad-right: calc(var(--tablet-inline-pad) + var(--safe-area-inline-right));
    --tablet-stack-max: calc(27rem + 15rem * var(--tablet-progress));
    --tablet-copy-max: calc(28rem + 16rem * var(--tablet-progress));
    --tablet-section-max: calc(30rem + 18rem * var(--tablet-progress));
    --anchor-offset-mobile: calc(64px + 8px * var(--tablet-progress));

    --breadcrumb-pad-block-start: calc(16px + 4px * var(--tablet-progress));
    --breadcrumb-text-size: calc(0.875rem + 0.0625rem * var(--tablet-progress));
    --breadcrumb-separator-gap: calc(6px + 2px * var(--tablet-progress));

    --article-pad-left: var(--tablet-inline-pad-left);
    --article-pad-right: var(--tablet-inline-pad-right);
    --article-pad-bottom: calc(56px + 24px * var(--tablet-progress));
    --article-column-width: var(--tablet-copy-max);
    --article-top-pad: calc(24px + 6px * var(--tablet-progress));
    --article-bottom-pad-inner: calc(24px + 12px * var(--tablet-progress));
    --article-section-gap: calc(32px + 16px * var(--tablet-progress));
    --article-heading-gap: calc(14px + 4px * var(--tablet-progress));
    --article-heading-size: calc(2rem + 0.625rem * var(--tablet-progress));
    --article-body-size: calc(1rem + 0.0625rem * var(--tablet-progress));
    --article-body-gap: calc(20px + 6px * var(--tablet-progress));
    --article-callout-pad: calc(12px + 2px * var(--tablet-progress));
    --article-callout-size: calc(1.125rem + 0.125rem * var(--tablet-progress));
    --article-action-gap: calc(12px + 4px * var(--tablet-progress));
    --article-action-number-width: calc(24px + 2px * var(--tablet-progress));
    --article-subheading-gap: calc(8px + 2px * var(--tablet-progress));
    --article-subheading-size: calc(1.0625rem + 0.1875rem * var(--tablet-progress));
    --article-byline-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
    --article-sidebar-stack-gap: calc(16px + 8px * var(--tablet-progress));
    --article-card-width: var(--tablet-copy-max);
    --article-card-radius: calc(4px + 2px * var(--tablet-progress));
    --article-card-stroke: calc(1px + 0.5px * var(--tablet-progress));
    --article-quick-pad-block: calc(20px + 6px * var(--tablet-progress));
    --article-quick-pad-inline: calc(24px + 8px * var(--tablet-progress));
    --article-contact-pad: calc(24px + 8px * var(--tablet-progress));
    --article-card-gap: calc(16px + 6px * var(--tablet-progress));
    --article-sidebar-heading-gap: calc(16px + 4px * var(--tablet-progress));
    --article-sidebar-heading-size: calc(1rem + 0.0625rem * var(--tablet-progress));
    --article-quick-gap: calc(12px + 4px * var(--tablet-progress));
    --article-quick-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
    --article-contact-eyebrow-size: calc(0.8125rem + 0.0625rem * var(--tablet-progress));
    --article-contact-title-size: calc(1.3125rem + 0.1875rem * var(--tablet-progress));
    --article-contact-copy-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
    --article-contact-phone-size: calc(1.5rem + 0.125rem * var(--tablet-progress));
    --article-contact-cta-min-height: calc(48px + 4px * var(--tablet-progress));
    --article-contact-cta-pad-block: calc(12px + 2px * var(--tablet-progress));
    --article-contact-cta-pad-inline: calc(20px + 4px * var(--tablet-progress));
    --article-contact-cta-radius: calc(8px + 2px * var(--tablet-progress));
    --article-contact-cta-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
  }

  .sticky-bar {
    --mobile-header-height: calc(56px + 12px * var(--tablet-progress));

    gap: calc(16px + 8px * var(--tablet-progress));
    min-height: var(--mobile-header-height);
    height: var(--mobile-header-height);
    padding:
            calc(4px + 4px * var(--tablet-progress))
            var(--tablet-inline-pad-right)
            calc(4px + 4px * var(--tablet-progress))
            var(--tablet-inline-pad-left);
  }

  .nav-primary,
  .phone-link,
  .cta-button {
    display: none;
  }

  .utility-nav {
    margin-left: auto;
    gap: calc(12px + 6px * var(--tablet-progress));
  }

  .menu-toggle {
    display: inline-flex;
  }

  .site-logo {
    height: calc(48px + 10px * var(--tablet-progress));
  }

  .mobile-nav {
    width: min(74vw, calc(18rem + 4rem * var(--tablet-progress)));
    max-width: none;
  }

  .mobile-nav__list {
    padding:
            calc(20px + 8px * var(--tablet-progress))
            calc(20px + 8px * var(--tablet-progress) + var(--safe-area-inline-right))
            calc(20px + 8px * var(--tablet-progress))
            calc(20px + 8px * var(--tablet-progress) + var(--safe-area-inline-left));
  }

  .mobile-nav__list > li > a,
  .mobile-nav__list > li > a:visited,
  .mobile-nav__list > li > button {
    padding: calc(14px + 2px * var(--tablet-progress)) 0;
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
  }

  .hero {
    --tablet-hero-scale: calc(1 + (0.321 * var(--tablet-progress)));

    display: block;
    height: auto;
    min-height: 0;
    padding: 0 0 calc(24px * var(--tablet-hero-scale));
    background: #EEF3F8;
  }

  .hero-diagonal-shadow,
  .hero-edge-smooth {
    display: none;
  }

  .hero-media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(310px * var(--tablet-hero-scale));
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
    background: #152738;
    clip-path: polygon(0 0, 100% 0, 100% 91%, 0 100%);
    box-shadow: 1px 4px 12px rgba(17, 24, 39, 0.10);

    transform: translateZ(0);
    will-change: clip-path, transform;
    backface-visibility: hidden;
  }

  .hero::after {
    content: none;
  }

  .hero-content,
  .hero-detail {
    position: relative;
    z-index: 4;
    width: 100%;
    box-sizing: border-box;
    padding-left: calc((24px * var(--tablet-hero-scale)) + var(--safe-area-inline-left));
    padding-right: calc((24px * var(--tablet-hero-scale)) + var(--safe-area-inline-right));
  }

  .hero-content {
    min-height: calc(310px * var(--tablet-hero-scale));
    padding-top: calc(48px * var(--tablet-hero-scale));
    padding-bottom: calc(24px * var(--tablet-hero-scale));
    transform: none;
    color: #FFFFFF;
  }

  .hero-content h1 {
    width: 100%;
    max-width: min(100%, calc(400px * var(--tablet-hero-scale)));
    margin: 0;
    font-size: calc(2.5rem * var(--tablet-hero-scale));
    line-height: 1.12;
    color: #FFFFFF;
  }

  .hero-subline,
  .case-types {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .hero-subline {
    max-width: min(100%, calc(432px * var(--tablet-hero-scale)));
    margin: calc(12px * var(--tablet-hero-scale)) 0 0;
    font-size: calc(1.125rem * var(--tablet-hero-scale));
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
  }

  .hero-detail {
    width: 100%;
    padding-top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .fee-transparency-bar {
    width: min(100%, calc(624px * var(--tablet-hero-scale)));
    max-width: none;
    margin: 0 auto calc(18px * var(--tablet-hero-scale));
    padding: calc(14px * var(--tablet-hero-scale)) 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background: #DFE7F0;
    box-shadow: 0 0 0 100vmax #DFE7F0;
    clip-path: inset(0 -100vmax);
    font-size: calc(1.03125rem * var(--tablet-hero-scale));
    line-height: 1.45;
    text-align: left;
  }

  .fee-transparency-bar__inner {
    display: block;
    width: 100%;
    max-width: 100%;
    text-wrap: balance;
  }

  .fee-transparency-bar .fee-nowrap,
  .fee-transparency-bar .fee-tail {
    white-space: normal;
  }

  .case-types {
    width: min(100%, calc(504px * var(--tablet-hero-scale)));
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .case-types h2 {
    margin: 0 0 calc(12px * var(--tablet-hero-scale));
    font-size: calc(1.375rem * var(--tablet-hero-scale));
    line-height: 1.3;
    text-align: left;
  }

  .case-type-list {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, auto);
    grid-template-columns: max-content max-content;
    width: 100%;
    max-width: 100%;
    justify-content: start;
    margin: 0;
    row-gap: calc(8px * var(--tablet-hero-scale));
    column-gap: calc(36px * var(--tablet-hero-scale));
  }

  .case-type-list li {
    display: grid;
    grid-template-columns: calc(5px * var(--tablet-hero-scale)) max-content;
    column-gap: calc(8px * var(--tablet-hero-scale));
    align-items: start;
    min-height: calc(20px * var(--tablet-hero-scale));
    white-space: nowrap;
    font-size: calc(0.9375rem * var(--tablet-hero-scale));
    line-height: 1.4;
  }

  .case-type-list li::before {
    width: calc(5px * var(--tablet-hero-scale));
    height: calc(5px * var(--tablet-hero-scale));
    margin-top: calc(7px * var(--tablet-hero-scale));
  }

  .breadcrumb {
    padding-left: var(--tablet-inline-pad-left);
    padding-right: var(--tablet-inline-pad-right);
  }

  .breadcrumb ol {
    max-width: var(--tablet-copy-max);
    margin: 0 auto;
    flex-wrap: wrap;
    row-gap: calc(4px + 2px * var(--tablet-progress));
  }

  .breadcrumb li {
    white-space: normal;
    line-height: 1.25;
  }

  .body-copy-layout {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: calc(24px + 12px * var(--tablet-progress));
    justify-items: center;
  }

  .attorney-body-copy {
    width: 100%;
    max-width: var(--tablet-copy-max);
  }

  .attorney-body-copy > section > h2 {
    line-height: 1.2;
  }

  #what-affects-the-value h3 {
    line-height: 1.45;
  }

  .article-byline {
    width: 100%;
  }

  .sidebar {
    display: none;
  }
}

@media (min-width: 680px) and (max-width: 899px) {
  .attorney-credentials {
    --attorney-pad-y: calc(56px + 20px * var(--tablet-progress));
    --attorney-pad-x: var(--tablet-inline-pad);
    --attorney-eyebrow-gap: calc(12px + 4px * var(--tablet-progress));
    --attorney-eyebrow-size: calc(1rem + 0.125rem * var(--tablet-progress));
    --attorney-eyebrow-line-height: calc(1.125rem + 0.125rem * var(--tablet-progress));
    --attorney-eyebrow-rule-width: calc(42px + 6px * var(--tablet-progress));
    --attorney-heading-size: calc(2.75rem + 0.75rem * var(--tablet-progress));
    --attorney-intro-size: calc(1rem + 0.125rem * var(--tablet-progress));

    grid-template-columns: 1fr;
    row-gap: calc(32px + 16px * var(--tablet-progress));
    justify-items: center;
    padding:
            var(--attorney-pad-y)
            var(--tablet-inline-pad-right)
            calc(var(--attorney-pad-y) + var(--divider-depth))
            var(--tablet-inline-pad-left);
  }

  .attorney-copy,
  .attorney-layout {
    width: min(100%, var(--tablet-section-max));
    max-width: var(--tablet-section-max);
    justify-self: center;
  }

  .attorney-copy,
  .attorney-copy > .eyebrow,
  .attorney-copy > h2,
  .attorney-copy > .credentials-intro,
  .attorney-info,
  .attorney-info h3,
  .attorney-info p,
  .attorney-info a {
    text-align: left;
  }

  .attorney-copy > .eyebrow::before {
    margin-left: 0;
    margin-right: 0;
  }

  .attorney-copy > h2 {
    text-wrap: balance;
  }

  .attorney-layout {
    padding-top: 0;
    padding-bottom: 0;
  }

  .attorney-cards {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    gap: calc(20px + 10px * var(--tablet-progress));
  }

  .attorney-cards::before {
    content: none;
  }

  .attorney-card {
    flex: none;
    width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding-bottom: calc(24px + 8px * var(--tablet-progress));
    border: 1px solid rgba(255, 255, 255, 0.08);
  }

  .attorney-card::after {
    content: none;
  }

  .attorney-photo-frame {
    width: 100%;
    height: auto;
    flex: none;
    aspect-ratio: 320 / 280;
    margin-bottom: calc(16px + 6px * var(--tablet-progress));
  }

  .attorney-photo-frame img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transform: none;
    object-fit: cover;
    object-position: center;
  }

  .attorney-info {
    width: min(100%, calc(15rem + 3rem * var(--tablet-progress)));
    max-width: none;
    padding-inline: calc(20px + 8px * var(--tablet-progress));
  }

  .attorney-info h3,
  .attorney-title,
  .attorney-info p:not(.attorney-title),
  .attorney-info a {
    white-space: normal;
  }

  .attorney-info h3 {
    text-wrap: balance;
  }

  .process-section {
    --section-y-padding: calc(50px + 12px * var(--tablet-progress));
    --timeline-left: calc(16px + 1px * var(--tablet-progress));
    --diamond-size: calc(10px + 1px * var(--tablet-progress));
    --content-inset: calc(40px + 4px * var(--tablet-progress));
    --process-marker-center: calc(4px + (var(--diamond-size) / 2));
    --process-copy-measure: calc(29rem + 3rem * var(--tablet-progress));
    --process-image-bottom-overhang: 8rem;
    --process-image-right-overhang: 0rem;

    padding:
            calc(var(--divider-depth) + var(--section-y-padding))
            var(--tablet-inline-pad-right)
            var(--section-y-padding)
            var(--tablet-inline-pad-left);
  }

  .process-section > .eyebrow,
  .process-section > h2,
  .process-section > .process-steps {
    width: 100%;
    max-width: none;
  }

  .process-section > .eyebrow {
    margin: 0 0 calc(10px + 3px * var(--tablet-progress));
    font-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
    line-height: calc(1rem + 0.125rem * var(--tablet-progress));
  }

  .process-section > .eyebrow::before {
    width: calc(26px + 4px * var(--tablet-progress));
    margin-bottom: calc(10px + 3px * var(--tablet-progress));
  }

  .process-section > h2 {
    margin: 0 0 calc(28px + 8px * var(--tablet-progress));
    font-size: calc(2.375rem + 0.5rem * var(--tablet-progress));
    line-height: 0.95;
  }

  .process-steps {
    --steps-top-space: 0;
    --timeline-y: 0;
    --vline-height: 0%;
    --process-mobile-reveal-duration: 0.28s;
    --process-mobile-fast-reveal-duration: 0.18s;
    --process-mobile-reveal-delay: 0s;
    --process-mobile-diamond-duration: 0.22s;
    --process-mobile-fast-diamond-duration: 0.12s;
    --process-mobile-fast-line-duration: 0.1s;

    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(28px + 8px * var(--tablet-progress));
    margin: 0;
    padding: 0 0 0 var(--content-inset);
    list-style: none;
    grid-template-columns: none;
  }

  .process-steps::before {
    content: none;
  }

  .process-steps::after {
    content: "";
    position: absolute;
    left: calc(var(--timeline-left) - 1px);
    top: 5px;
    bottom: auto;
    width: 2px;
    height: var(--vline-height);
    background: #C4963C;
    pointer-events: none;
    z-index: 1;
    transform: none;
    transition: height 0.11s linear;
    animation: none !important;
  }

  .process-section.is-visible .process-steps::after {
    animation: none !important;
    height: var(--vline-height);
  }

  .process-section.is-fast-reveal .process-steps::after {
    transition-duration: var(--process-mobile-fast-line-duration);
  }

  .process-section .process-step {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 0;
    opacity: 1;
    transform: none;
    animation: none !important;
  }

  .process-step:nth-child(odd),
  .process-step:nth-child(even) {
    padding-top: 0;
  }

  .process-section .process-step > * {
    opacity: 0;
    transform: translateX(-0.25rem);
    transition:
            opacity var(--process-mobile-reveal-duration) linear var(--process-mobile-reveal-delay),
            transform var(--process-mobile-reveal-duration) linear var(--process-mobile-reveal-delay);
    will-change: opacity, transform;
  }

  .process-section.is-visible .process-step.is-revealed > * {
    opacity: 1;
    transform: translateX(0);
  }

  .process-section.is-fast-reveal .process-step > *,
  .process-step.is-fast-revealed > * {
    transition-duration: var(--process-mobile-fast-reveal-duration);
  }

  .process-step:nth-child(odd)::before,
  .process-step:nth-child(even)::before {
    content: "";
    display: block;
    position: absolute;
    left: calc(-1 * var(--content-inset) + var(--timeline-left) - (var(--diamond-size) / 2));
    top: 4px;
    width: var(--diamond-size);
    height: var(--diamond-size);
    box-sizing: border-box;
    border: 2px solid #C4963C;
    background: #F4F8FB;
    transform: rotate(45deg) scale(0);
    transform-origin: center;
    opacity: 0;
    z-index: 2;
    transition:
            opacity var(--process-mobile-diamond-duration) linear,
            transform var(--process-mobile-diamond-duration) linear;
    will-change: opacity, transform;
    animation: none !important;
  }

  .process-step:nth-child(even)::after {
    display: none;
  }

  .process-section.is-visible .process-step.is-revealed:nth-child(odd)::before,
  .process-section.is-visible .process-step.is-revealed:nth-child(even)::before {
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }

  .process-section.is-fast-reveal .process-step:nth-child(odd)::before,
  .process-section.is-fast-reveal .process-step:nth-child(even)::before,
  .process-step.is-fast-revealed:nth-child(odd)::before,
  .process-step.is-fast-revealed:nth-child(even)::before {
    transition-duration: var(--process-mobile-fast-diamond-duration);
  }

  .step-number {
    margin: 0 0 calc(4px + 2px * var(--tablet-progress));
    font-size: calc(1.5rem + 0.25rem * var(--tablet-progress));
    line-height: 1;
    color: #2A3B59;
  }

  .process-step:nth-child(odd) .step-number,
  .process-step:nth-child(even) .step-number {
    margin-top: 0;
  }

  .process-step h3 {
    width: min(100%, var(--process-copy-measure));
    max-width: var(--process-copy-measure);
    margin: 0 0 calc(6px + 1px * var(--tablet-progress));
    font-size: calc(1.25rem + 0.125rem * var(--tablet-progress));
    line-height: calc(1.625rem + 0.125rem * var(--tablet-progress));
    text-wrap: balance;
  }

  .process-step p {
    width: min(100%, var(--process-copy-measure));
    max-width: var(--process-copy-measure);
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.6;
    text-wrap: pretty;
  }

  .process-step .step-timing {
    width: min(100%, var(--process-copy-measure));
    max-width: var(--process-copy-measure);
    margin-top: calc(8px + 2px * var(--tablet-progress));
    font-size: calc(0.8125rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.45;
    text-wrap: pretty;
  }
}

@media (min-width: 680px) and (max-width: 899px) {
  .local-intent {
    --divider-bar-height: calc(4px + 2px * var(--tablet-progress));
    --divider-square-size: calc(20px + 10px * var(--tablet-progress));
    --divider-stroke: calc(4px + 1px * var(--tablet-progress));
    --divider-half-diagonal: calc(var(--divider-square-size) * 0.70710678);
    --divider-full-diagonal: calc(var(--divider-half-diagonal) * 2);
    --local-intent-bridge-shift: 74%;
    --local-intent-mobile-art:
            linear-gradient(rgba(21, 39, 56, 0.34), rgba(21, 39, 56, 0.34)),
            linear-gradient(rgba(207, 216, 226, 0.18), rgba(207, 216, 226, 0.18)),
            url("../images/background_images/sacramento-bridge.webp");

    position: relative;
    isolation: isolate;
    overflow: visible;
    padding:
            calc(56px + 20px * var(--tablet-progress))
            var(--tablet-inline-pad-right)
            calc(56px + 20px * var(--tablet-progress))
            var(--tablet-inline-pad-left);
    background: #C4CDD8 none;
  }

  .local-intent::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: var(--local-intent-mobile-art);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 100% 100%, 100% 100%, auto 100%;
    background-position: left top, left top, var(--local-intent-bridge-shift) top;
  }

  .local-intent-divider__fill {
    background-color: #C4CDD8;
    background-image: var(--local-intent-mobile-art);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 100% 100%, 100% 100%, auto 100%;
    background-position: left top, left top, var(--local-intent-bridge-shift) top;
  }

  .local-intent-content {
    width: min(100%, var(--tablet-section-max));
    max-width: var(--tablet-section-max);
    margin-left: auto;
    margin-right: auto;
    padding: calc(24px + 10px * var(--tablet-progress)) calc(18px + 10px * var(--tablet-progress));
    background: rgba(244, 248, 251, 0.97);
    border: 1px solid rgba(27, 42, 74, 0.10);
    border-radius: calc(4px + 2px * var(--tablet-progress));
    box-shadow: 0 calc(8px + 4px * var(--tablet-progress)) calc(24px + 10px * var(--tablet-progress)) rgba(17, 24, 39, 0.06);
  }

  .local-intent-content > .eyebrow,
  .local-intent-content > h2,
  .local-intent-intro,
  .region-group dt,
  .region-group dd {
    text-align: left;
  }

  .local-intent-content > .eyebrow {
    margin: 0 0 calc(10px + 4px * var(--tablet-progress));
    font-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
    line-height: calc(1rem + 0.125rem * var(--tablet-progress));
  }

  .local-intent-content > .eyebrow::before {
    width: calc(37px + 6px * var(--tablet-progress));
    margin: 0 0 calc(10px + 4px * var(--tablet-progress));
  }

  .local-intent-content > h2 {
    margin: 0 0 calc(14px + 4px * var(--tablet-progress));
    font-size: calc(2.5rem + 0.625rem * var(--tablet-progress));
    line-height: 0.95;
    text-wrap: balance;
  }

  .local-intent-content > h2 br {
    display: none;
  }

  .local-intent-intro {
    max-width: none;
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.6;
  }

  .region-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, auto);
    grid-auto-flow: column;
    column-gap: calc(18px + 8px * var(--tablet-progress));
    row-gap: calc(10px + 4px * var(--tablet-progress));
    margin-top: calc(20px + 8px * var(--tablet-progress));
  }

  .region-group dt {
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.375;
  }

  .region-group dd {
    margin-top: calc(6px + 2px * var(--tablet-progress));
    font-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.45;
  }

  .contact-cta {
    --cta-stack-width: min(100%, calc(28rem + 10rem * var(--tablet-progress)));

    grid-template-columns: 1fr;
    row-gap: 0;
    padding:
            calc(56px + 16px * var(--tablet-progress))
            var(--tablet-inline-pad-right)
            calc(40px + 12px * var(--tablet-progress))
            var(--tablet-inline-pad-left);
    justify-items: center;
  }

  .cta-copy-column {
    display: contents;
  }

  .cta-copy-column > h2 {
    grid-row: 1;
    width: var(--cta-stack-width);
    max-width: 100%;
    margin: 0 0 calc(16px + 8px * var(--tablet-progress));
    justify-self: center;
    text-align: left;
    font-size: calc(2.5rem + 0.5rem * var(--tablet-progress));
    line-height: 1.05;
    text-wrap: balance;
  }

  .cta-description {
    grid-row: 2;
    width: var(--cta-stack-width);
    max-width: 100%;
    margin: 0 0 calc(32px + 12px * var(--tablet-progress));
    justify-self: center;
    text-align: left;
    font-size: calc(1.125rem + 0.125rem * var(--tablet-progress));
    line-height: 1.5;
  }

  .cta-form-column {
    grid-row: 3;
    width: var(--cta-stack-width);
    max-width: 100%;
    justify-self: center;
    margin-top: 0;
    padding: calc(20px + 2px * var(--tablet-progress)) calc(20px + 12px * var(--tablet-progress)) 0;
  }

  .cta-form-column::before {
    inset: 0 0 24px 0;
  }

  .cta-form-column > form {
    margin-bottom: 0;
    padding-bottom: 22px;
  }

  .field-row-name {
    grid-template-columns: 1fr;
    gap: calc(18px + 6px * var(--tablet-progress));
  }

  .cta-button-3 {
    width: 100%;
    margin-right: 0;
    align-self: stretch;
  }

  .form-disclaimer {
    display: block;
    width: 100%;
    margin: calc(6px + 2px * var(--tablet-progress)) 0 0;
    white-space: nowrap;
    text-align: center;
    font-size: calc(0.75rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.5;
    letter-spacing: 0;
    color: #6B7280;
  }

  .cta-phone-block {
    grid-row: 4;
    width: fit-content;
    max-width: var(--cta-stack-width);
    margin-top: calc(28px + 8px * var(--tablet-progress));
    justify-self: center;
    text-align: left;
  }

  .phone-link3,
  .phone-link3:visited {
    margin-top: calc(6px + 2px * var(--tablet-progress));
    margin-bottom: calc(6px + 2px * var(--tablet-progress));
  }

  .map-placeholder-small {
    grid-row: 5;
    width: var(--cta-stack-width);
    max-width: 100%;
    height: auto;
    margin-top: calc(36px + 10px * var(--tablet-progress));
    justify-self: center;
  }

  .site-footer {
    padding:
            calc(36px + 10px * var(--tablet-progress))
            var(--tablet-inline-pad-right)
            calc(40px + 12px * var(--tablet-progress))
            var(--tablet-inline-pad-left);
    background: #F9FAFB;
  }

  .footer-body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 0;
    width: 100%;
    max-width: calc(24rem + 14rem * var(--tablet-progress));
    margin: 0 auto;
    padding: 0;
  }

  .footer-logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    width: calc(11rem + 2rem * var(--tablet-progress));
    margin: 0 0 calc(28px + 8px * var(--tablet-progress));
  }

  .footer-logo svg,
  .footer-logo img {
    display: block;
    width: 100%;
    height: auto;
  }

  .footer-heading--c1  { grid-column: 1; grid-row: 2; }
  .footer-cell-top--c1 { grid-column: 1; grid-row: 3; }
  .footer-divider--c1  { grid-column: 1; grid-row: 4; }
  .footer-cell-bot--c1 { grid-column: 1; grid-row: 5; }

  .footer-heading--c2  { grid-column: 1; grid-row: 6; }
  .footer-cell-top--c2 { grid-column: 1; grid-row: 7; }
  .footer-divider--c2  { grid-column: 1; grid-row: 8; }
  .footer-cell-bot--c2 { grid-column: 1; grid-row: 9; }

  .footer-heading--c3  { grid-column: 1; grid-row: 10; }
  .footer-cell-top--c3 { grid-column: 1; grid-row: 11; }
  .footer-divider--c3  { grid-column: 1; grid-row: 12; }
  .footer-cell-bot--c3 { grid-column: 1; grid-row: 13; }
  .footer-note         { grid-column: 1; grid-row: 14; }

  .footer-heading,
  .footer-cell-top,
  .footer-divider,
  .footer-cell-bot {
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }

  .footer-note {
    width: 100%;
    max-inline-size: none;
    inline-size: auto;
    justify-self: stretch;
    margin-top: calc(30px + 8px * var(--tablet-progress));
  }

  .footer-note::before {
    margin-bottom: calc(18px + 6px * var(--tablet-progress));
  }

  .footer-note .footer-service-area {
    width: 100%;
    text-align: left;
  }

  .footer-service-line {
    display: inline;
    white-space: normal;
  }

  .footer-service-line + .footer-service-line::before {
    content: " ";
  }

  .footer-heading {
    margin: 0 0 calc(12px + 4px * var(--tablet-progress));
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.375;
    text-align: left;
  }

  .footer-heading--c2,
  .footer-heading--c3 {
    margin-top: calc(30px + 8px * var(--tablet-progress));
  }

  .footer-divider {
    margin: calc(18px + 6px * var(--tablet-progress)) 0;
  }

  .footer-address strong,
  .footer-address span,
  .footer-map,
  .footer-phone,
  .footer-service-area,
  .footer-link-group a,
  .footer-link-group a:visited,
  .copyright {
    font-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.45;
  }
}

@media (min-width: 680px) and (max-width: 899px) {
  .case-type-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: calc(24px + 12px * var(--tablet-progress));
    row-gap: calc(10px + 3px * var(--tablet-progress));
  }

  .sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .attorney-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .field-row-name {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 680px) and (max-width: 899px) and (prefers-reduced-motion: reduce) {
  .process-section .process-step > * {
    opacity: 1;
    transform: none;
    transition: none !important;
  }

  .process-step:nth-child(odd)::before,
  .process-step:nth-child(even)::before {
    opacity: 1;
    transform: rotate(45deg) scale(1);
    transition: none !important;
  }

  .process-steps::after {
    height: 97%;
    bottom: auto;
  }
}

@media (min-width: 760px) and (max-width: 899px) {
  .footer-body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto;
    column-gap: calc(28px + 10px * var(--tablet-progress));
    row-gap: 0;
    width: 100%;
    max-width: min(100%, 68rem);
    margin: 0 auto;
    padding: 0;
    align-items: start;
  }

  .footer-logo {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
    width: calc(11rem + 2rem * var(--tablet-progress));
    margin: 0 0 calc(32px + 10px * var(--tablet-progress));
  }

  .footer-logo svg,
  .footer-logo img {
    display: block;
    width: 100%;
    height: auto;
  }

  .footer-column {
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .footer-column--c1 {
    grid-column: 1;
    grid-row: 2;
  }

  .footer-column--c2 {
    grid-column: 2;
    grid-row: 2;
  }

  .footer-column--c3 {
    grid-column: 3;
    grid-row: 2;
  }

  .footer-note {
    grid-column: 1 / -1;
    grid-row: 3;
    display: inline-block;
    inline-size: auto;
    width: auto;
    max-inline-size: calc(100% - 2rem);
    justify-self: center;
    margin-inline: auto;
    margin-top: calc(52px + 12px * var(--tablet-progress));
  }

  .footer-heading--c1,
  .footer-heading--c2,
  .footer-heading--c3,
  .footer-cell-top--c1,
  .footer-cell-top--c2,
  .footer-cell-top--c3,
  .footer-divider--c1,
  .footer-divider--c2,
  .footer-divider--c3,
  .footer-cell-bot--c1,
  .footer-cell-bot--c2,
  .footer-cell-bot--c3 {
    grid-column: auto;
    grid-row: auto;
  }

  .footer-heading,
  .footer-cell-top,
  .footer-divider,
  .footer-cell-bot {
    width: 100%;
    max-width: none;
    justify-self: auto;
  }

  .footer-note .footer-service-area {
    width: auto;
    text-align: left;
    max-width: none;
  }

  .footer-service-line {
    display: block;
    white-space: nowrap;
  }

  .footer-service-line + .footer-service-line::before {
    content: none;
  }

  .footer-heading {
    margin: 0 0 calc(12px + 4px * var(--tablet-progress));
    text-align: left;
  }

  .footer-heading--c2,
  .footer-heading--c3 {
    margin-top: 0;
  }

  .footer-divider {
    margin: calc(18px + 6px * var(--tablet-progress)) 0;
  }
}

@media (max-width: 679px) {
  :root {
    --mobile-inline-pad-tight-left: calc(calc(16px * var(--mobile-scale)) + var(--safe-area-inline-left));
    --mobile-inline-pad-tight-right: calc(calc(16px * var(--mobile-scale)) + var(--safe-area-inline-right));
    --mobile-inline-pad-regular-left: calc(calc(24px * var(--mobile-scale)) + var(--safe-area-inline-left));
    --mobile-inline-pad-regular-right: calc(calc(24px * var(--mobile-scale)) + var(--safe-area-inline-right));
    --mobile-inline-pad-nav-left: calc(1rem + var(--safe-area-inline-left));
    --mobile-inline-pad-nav-right: calc(1rem + var(--safe-area-inline-right));
    --mobile-inline-pad-panel-left: calc(1.5rem + var(--safe-area-inline-left));
    --mobile-inline-pad-panel-right: calc(1.5rem + var(--safe-area-inline-right));
  }

  html {
    font-size: calc(1rem * var(--mobile-scale));
  }

  .sidebar {
    display: none;
  }

  /* Header */
  .sticky-bar {
    --mobile-header-height: 3.25rem;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    height: 3.25rem;
    min-height: 3.25rem;
    padding: 0.25rem var(--mobile-inline-pad-nav-right) 0.25rem var(--mobile-inline-pad-nav-left);
  }

  .nav-primary,
  .phone-link,
  .cta-button {
    display: none;
  }

  .utility-nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0;
    margin-left: auto;
  }

  .logo,
  .menu-toggle {
    align-self: center;
  }

  .site-logo {
    display: block;
    height: 2.125rem;
    width: auto;
  }

  .mobile-nav {
    display: block;
    background: #2A2C2F;
    border-top: calc(1px * var(--mobile-scale)) solid rgba(229, 231, 235, 0.12);
    padding: 0.5rem var(--mobile-inline-pad-panel-right) 1rem var(--mobile-inline-pad-panel-left);
  }

  .mobile-nav[hidden] {
    display: none;
  }

  .mobile-nav__list {
    display: flex;
    flex-direction: column;
  }

  .mobile-nav__list > li > a,
  .mobile-nav__list > li > a:visited,
  .mobile-nav__list > li > button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.875rem 0.625rem;
    border: 0;
    appearance: none;
    background: transparent;
    text-align: left;
    font-family: "Inter", sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    background: transparent;
  }

  .mobile-nav__list > li {
    --mobile-nav-separator-default: rgba(255, 255, 255, 0.07);
    --mobile-nav-separator-emphasis: rgba(255, 255, 255, 0.15);
  }

  .mobile-nav__list > li.is-current > a,
  .mobile-nav__list > li.is-current > button {
    color: #FFFFFF;
    font-weight: 700;
  }

  .mobile-nav__list > li.is-pressed > a,
  .mobile-nav__list > li.is-pressed > button,
  .mobile-nav__list > li > a:active,
  .mobile-nav__list > li > a:focus-visible,
  .mobile-nav__list > li > button:active,
  .mobile-nav__list > li > button:focus-visible {
    outline: none;
    color: #FFFFFF;
  }

  .cta-button,
  .cta-button:visited {
    padding: 0.625rem 1rem;
    font-size: 0.8125rem;
  }

  .menu-toggle {
    display: inline-flex;
  }

  /* Breadcrumb */
  .breadcrumb {
    padding:
            calc(12px * var(--mobile-scale))
            var(--mobile-inline-pad-tight-right)
            calc(12px * var(--mobile-scale))
            var(--mobile-inline-pad-tight-left);
    background: #fff;
  }

  .breadcrumb li:first-child,
  .breadcrumb li[aria-current="page"] {
    display: none;
  }

  .breadcrumb li + li::before {
    content: "<";
    margin: 0 calc(4px * var(--mobile-scale)) 0 0;
    color: rgb(26, 26, 26);
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 500;
  }

  .breadcrumb a,
  .breadcrumb a:visited {
    font-size: calc(0.875rem * var(--mobile-scale));
    font-weight: 500;
    color: rgb(74, 74, 74);
  }

  /* Hero */
  /* Hero */
  .hero {
    position: relative;
    display: block;
    height: auto;
    min-height: 0;
    padding: 0 0 calc(24px * var(--mobile-scale));
    overflow: hidden;
    isolation: isolate;
    background: #EEF3F8;
  }

  .hero-diagonal-shadow,
  .hero-edge-smooth {
    display: none;
  }

  .hero-media {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(310px * var(--mobile-scale));
    z-index: 1;
    pointer-events: none;
    overflow: hidden;
    background: #152738;
    clip-path: polygon(0 0, 100% 0, 100% 91.01724689%, 0 100%);
    box-shadow:
            calc(1px * var(--mobile-scale))
            calc(4px * var(--mobile-scale))
            calc(12px * var(--mobile-scale))
            rgba(17, 24, 39, 0.10);

    transform: translateZ(0);
    will-change: clip-path, transform;
    backface-visibility: hidden;
  }

  .hero::after {
    content: none;
  }

  .hero-content,
  .hero-detail {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding-left: var(--mobile-inline-pad-regular-left);
    padding-right: var(--mobile-inline-pad-regular-right);
  }

  .hero-content {
    min-height: calc(310px * var(--mobile-scale));
    padding-top: calc(48px * var(--mobile-scale));
    padding-bottom: calc(24px * var(--mobile-scale));
    color: #FFFFFF;
  }

  .hero-content h1 {
    width: 100%;
    max-width: calc(343px * var(--mobile-scale));
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(2.25rem * var(--mobile-scale));
    font-weight: 700;
    line-height: 1.1667;
    color: #FFFFFF;
  }

  .hero-content h1 br,
  .attorney-copy > h2 br,
  .local-intent-content > h2 br {
    display: none;
  }

  .hero-content h1 .hero-line {
    display: block;
  }

  .hero-subline {
    width: 100%;
    max-width: calc(343px * var(--mobile-scale));
    margin: calc(12px * var(--mobile-scale)) 0 0;
    font-family: "Inter", sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 400;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.92);
  }

  .hero-detail {
    padding-top: 0;
    padding-bottom: 0;
  }

  .fee-transparency-bar {
    margin: 0 0 calc(16px * var(--mobile-scale));
    padding: calc(18px * var(--mobile-scale)) 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background: #DFE7F0;
    box-shadow: 0 0 0 100vmax #DFE7F0;
    clip-path: inset(0 -100vmax);
    font-family: Arial, Helvetica, sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 400;
    line-height: 1.5;
    color: #152738;
  }

  .fee-transparency-bar__inner {
    display: block;
    width: 100%;
    max-width: 100%;
    text-wrap: balance;
  }

  .fee-transparency-bar .fee-nowrap,
  .fee-transparency-bar .fee-tail {
    white-space: normal;
  }

  .hero-content h1 {
    letter-spacing: -0.01em;
  }

  .fee-transparency-bar strong {
    font-weight: 700;
  }

  .case-types {
    width: 100%;
    max-width: calc(343px * var(--mobile-scale));
    background: transparent;
  }

  .case-types h2 {
    margin: 0 0 calc(10px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(1.25rem * var(--mobile-scale));
    font-weight: 700;
    line-height: 1.3;
    color: #111827;
  }

  .case-type-list {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-template-rows: none;
    justify-content: stretch;
    row-gap: calc(8px * var(--mobile-scale));
    column-gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .case-type-list li {
    display: grid;
    grid-template-columns: calc(5px * var(--mobile-scale)) minmax(0, 1fr);
    column-gap: calc(8px * var(--mobile-scale));
    align-items: start;
    min-height: calc(20px * var(--mobile-scale));
    padding-left: 0;
    white-space: normal;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 500;
    line-height: 1.3333;
    color: #111827;
  }

  .case-type-list li::before {
    content: "";
    width: calc(5px * var(--mobile-scale));
    height: calc(5px * var(--mobile-scale));
    background: #152738;
    margin-top: 0.4375rem;
  }

  .case-type-list a,
  .case-type-list a:visited {
    display: inline;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 500;
    color: rgb(63, 98, 128);
    text-decoration-line: underline;
    text-decoration-thickness: calc(1px * var(--mobile-scale));
    text-underline-offset: calc(3px * var(--mobile-scale));
    text-decoration-color: currentColor;
  }

  .case-type-list a:hover,
  .case-type-list a:focus-visible {
    color: #1E3A56;
    text-decoration-color: #1E3A56;
    outline: none;
  }

  .case-type-list a:active {
    color: #081522;
    text-decoration-color: #081522;
  }

  .hero-content h1,
  .hero-subline,
  .fee-transparency-bar,
  .case-types {
    width: 100%;
    max-width: none;
  }

  /* Body copy: exact mobile article layout */
  .body-copy-layout {
    grid-template-columns: 1fr;
    column-gap: 0;
    justify-items: center;
    padding: 1.5rem var(--mobile-inline-pad-tight-right) 0 var(--mobile-inline-pad-tight-left); /* 24 16 0 */
  }

  .attorney-body-copy {
    padding-top: 0;
    padding-bottom: 3rem; /* 48 */
    gap: 2rem; /* 32 */
  }

  .attorney-body-copy > section > h2 {
    margin: 0 0 0.75rem; /* 12 */
    font-family: "Editor", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
    font-size: 1.875rem;   /* 30 */
    font-weight: 700;
    line-height: 2.375rem; /* 38 */
    letter-spacing: -0.007em;
    color: #1B2A4A;
  }

  .attorney-body-copy > section p {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 1rem;       /* 16 */
    font-weight: 400;
    line-height: 1.625rem; /* 26 */
    color: #1A1A1A;
  }

  .attorney-body-copy > section > :not(h2) {
    margin: 0;
  }

  .attorney-body-copy > section > :not(h2) + :not(h2) {
    margin-top: 1.25rem; /* 20 */
  }

  .attorney-body-copy > section blockquote.callout {
    padding: 0.75rem 0; /* 12 top / 12 bottom */
  }

  .attorney-body-copy > section blockquote.callout > p {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 1.0625rem;  /* 17 */
    font-weight: 600;
    line-height: 1.625rem; /* 26 */
  }

  .action-steps {
    gap: 0.75rem; /* 12 */
    font-size: 1rem;       /* 16 */
    line-height: 1.625rem; /* 26 */
  }

  .action-steps li {
    grid-template-columns: 1.5rem minmax(0, 1fr); /* 24px number box */
    column-gap: 0.625rem; /* 10 */
    align-items: start;
  }

  .action-steps li::before {
    display: block;
    width: 1.5rem;        /* 24 */
    min-height: 1.625rem; /* 26 */
    line-height: 1.625rem;
    font-weight: 600;
  }

  #what-affects-the-value h3 {
    font-family: "Inter", sans-serif;
    font-size: 1rem;       /* 16 */
    font-weight: 600;
    line-height: 1.625rem; /* 26 */
    color: #1B2A4A;
  }

  #what-affects-the-value h3 + p {
    margin-top: 0.5rem; /* 8 */
  }

  #what-affects-the-value p + h3 {
    margin-top: 2rem; /* 32 */
  }

  .article-byline {
    margin: 0;
  }

  .article-byline p {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 0.9375rem;  /* 15 */
    font-weight: 400;
    line-height: 1.375rem; /* 22 */
  }

  /* Attorney section:
   exact mobile intro specs */
  .attorney-credentials {
    grid-template-columns: 1fr;
    justify-items: center;
    padding:
            calc(48px * var(--mobile-scale))
            var(--mobile-inline-pad-regular-right)
            calc(calc(48px * var(--mobile-scale)) + var(--divider-depth))
            var(--mobile-inline-pad-regular-left);
    row-gap: calc(24px * var(--mobile-scale));
  }

  .attorney-copy,
  .attorney-layout {
    width: 100%;
    max-width: calc(320px * var(--mobile-scale));
    margin-left: auto;
    margin-right: auto;
  }

  .attorney-copy,
  .attorney-copy > .eyebrow,
  .attorney-copy > h2,
  .attorney-copy > .credentials-intro,
  .attorney-info,
  .attorney-info h3,
  .attorney-info p,
  .attorney-info a {
    text-align: left;
  }

  .attorney-copy > .eyebrow {
    margin: 0 0 calc(10px * var(--mobile-scale));
    color: #C9D4E3;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 600;
    line-height: calc(1rem * var(--mobile-scale));
    letter-spacing: 0.08em;
  }

  .attorney-copy > .eyebrow::before {
    width: calc(42px * var(--mobile-scale));
    margin-bottom: calc(10px * var(--mobile-scale));
    margin-left: 0;
    margin-right: 0;
  }

  .attorney-copy > h2 {
    margin: 0 0 calc(12px * var(--mobile-scale));
    color: #F5F7FA;
    font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
    font-size: calc(2.375rem * var(--mobile-scale));
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.0071em;
  }

  .attorney-copy > .credentials-intro {
    margin: 0;
    color: #FFFFFF;
    font-family: "Inter", sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.625rem * var(--mobile-scale));
    letter-spacing: 0;
  }

  .attorney-cards {
    width: calc(320px * var(--mobile-scale));
    max-width: 100%;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: calc(24px * var(--mobile-scale));
  }

  .attorney-card {
    flex: 0 0 auto;
    width: calc(320px * var(--mobile-scale));
    max-width: 100%;
    min-width: 0;
    height: auto;
    min-height: 0;
    padding-bottom: calc(28px * var(--mobile-scale));
  }

  .attorney-card::after {
    top: calc(280px * var(--mobile-scale));
  }

  .attorney-photo-frame {
    width: calc(320px * var(--mobile-scale));
    max-width: 100%;
    height: calc(280px * var(--mobile-scale));
    flex: 0 0 calc(280px * var(--mobile-scale));
    margin-bottom: calc(16px * var(--mobile-scale));
  }

  .attorney-photo-frame img {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transform: none;
  }

  .attorney-info {
    width: calc(235px * var(--mobile-scale));
    max-width: calc(235px * var(--mobile-scale));
    margin: 0 auto;
    align-items: flex-start;
  }

  .attorney-title {
    margin-bottom: calc(8px * var(--mobile-scale));
    font-size: calc(0.9375rem * var(--mobile-scale));
  }

  .attorney-info p:not(.attorney-title) {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(0.8125rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.25rem * var(--mobile-scale));
    letter-spacing: 0;
    color: #B8C6D6;
  }

  .attorney-info p:not(.attorney-title) + p:not(.attorney-title) {
    margin-top: calc(4px * var(--mobile-scale));
  }

  .attorney-info a {
    margin-top: calc(12px * var(--mobile-scale));
    font-size: calc(0.9375rem * var(--mobile-scale));
  }

  .attorney-info h3,
  .attorney-title,
  .attorney-info p:not(.attorney-title),
  .attorney-info a {
    white-space: nowrap;
    letter-spacing: 0;
  }

  .attorney-info h3 {
    margin: 0 0 calc(4px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(1.25rem * var(--mobile-scale));
    font-weight: 700;
    line-height: calc(1.625rem * var(--mobile-scale));
    letter-spacing: 0;
    color: #F3F6FA;
  }

  .attorney-title {
    margin: 0 0 calc(8px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.375rem * var(--mobile-scale));
    letter-spacing: 0;
    color: #D6DEE8;
  }

  .attorney-info a,
  .attorney-info a:visited {
    display: inline-block;
    margin-top: calc(12px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.375rem * var(--mobile-scale));
    letter-spacing: 0;
    color: #DCE7F2;
    text-decoration: none;
  }

  /* -------------------------------------------------------
     PROCESS SECTION — Mobile scroll-driven vertical timeline
     Line height driven by JS via --vline-height.
     Steps reveal once the gold line reaches their diamond center.
     Diamonds pop with the same reveal event.
     ------------------------------------------------------- */

  .process-section {
    --divider-depth: 3.4482758621vw;
    --section-y-padding: calc(48px * var(--mobile-scale));

    --timeline-left: calc(16px * var(--mobile-scale));
    --diamond-size: calc(10px * var(--mobile-scale));
    --process-marker-center: calc((4px * var(--mobile-scale)) + (var(--diamond-size) / 2));
    --content-inset: calc(40px * var(--mobile-scale));
    --process-image-bottom-overhang: 8rem;
    --process-image-right-overhang: 0rem;

    position: relative;
    z-index: 1;
    overflow: hidden;
    isolation: isolate;
    margin-top: calc(-1 * var(--divider-depth));
    padding:
            calc(var(--divider-depth) + var(--section-y-padding))
            var(--mobile-inline-pad-regular-right)
            var(--section-y-padding)
            var(--mobile-inline-pad-regular-left);

    background: #F4F8FB;

    clip-path: polygon(
            0 0,
            50% var(--divider-depth),
            100% 0,
            100% 100%,
            0 100%
    );
  }

  /* Eyebrow */
  .process-section > .eyebrow {
    max-width: none;
    margin: 0 0 calc(10px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 600;
    line-height: calc(1rem * var(--mobile-scale));
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #35526B;
  }

  .process-section > .eyebrow::before {
    width: calc(26px * var(--mobile-scale));
    margin-bottom: calc(10px * var(--mobile-scale));
  }

  /* Heading */
  .process-section > h2 {
    max-width: none;
    margin: 0 0 calc(28px * var(--mobile-scale));
    font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
    font-size: calc(2.375rem * var(--mobile-scale));
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.0071em;
    color: #111827;
  }

  /* ---- Steps container ---- */
  .process-steps {
    --steps-top-space: 0;
    --timeline-y: 0;
    --vline-height: 0%;
    --process-mobile-reveal-duration: 0.4s;
    --process-mobile-fast-reveal-duration: 0.24s;
    --process-mobile-reveal-delay: 0s;
    --process-mobile-diamond-duration: 0.3s;
    --process-mobile-fast-diamond-duration: 0.18s;
    --process-mobile-fast-line-duration: 0.12s;

    position: relative;
    display: flex;
    flex-direction: column;
    gap: calc(28px * var(--mobile-scale));
    margin: 0;
    padding: 0 0 0 var(--content-inset);
    list-style: none;
    grid-template-columns: none;
  }

  /* ---- Restore pseudo-elements hidden by ≤599px ---- */
  .process-steps::before,
  .process-steps::after,
  .process-step:nth-child(odd)::before,
  .process-step:nth-child(even)::after {
    display: block;
  }

  /* Baseline track removed; keep only the gold progress line */
  .process-steps::before {
    content: none;
    position: absolute;
    left: calc(var(--timeline-left) - calc(0.5px * var(--mobile-scale)));
    top: calc(5px * var(--mobile-scale));
    bottom: calc(5px * var(--mobile-scale));
    width: calc(1px * var(--mobile-scale));
    height: auto;
    background: #D7E0E8;
    display: none;
  }

  /* Gold overlay line — height driven by JS */
  .process-steps::after {
    content: "";
    position: absolute;
    left: calc(var(--timeline-left) - calc(0.5px * var(--mobile-scale)));
    top: calc(5px * var(--mobile-scale));
    bottom: auto;
    width: calc(2px * var(--mobile-scale));
    height: var(--vline-height);
    background: #C4963C;
    pointer-events: none;
    z-index: 1;
    transform: none;
    transition: height 0.09s linear;
    animation: none !important;
  }

  .process-section.is-visible .process-steps::after {
    animation: none !important;
    height: var(--vline-height);
  }

  .process-section.is-fast-reveal .process-steps::after {
    transition-duration: var(--process-mobile-fast-line-duration);
  }

  /* ---- Steps container: step itself is always visible ----
     Let ≤599px opacity: 1 stand. We hide CONTENT inside,
     not the step element, so diamond is independent. */

  .process-section .process-step {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
    padding: 0;
    opacity: 1;
    transform: none;
    animation: none !important;
  }

  .process-step:nth-child(odd),
  .process-step:nth-child(even) {
    padding-top: 0;
  }

  /* ---- Step inner content: hidden until .is-revealed ---- */
  .process-section .process-step > * {
    opacity: 0;
    transform: translateX(-0.35rem);
    transition:
            opacity var(--process-mobile-reveal-duration) linear var(--process-mobile-reveal-delay),
            transform var(--process-mobile-reveal-duration) linear var(--process-mobile-reveal-delay);
    will-change: opacity, transform;
  }

  .process-section.is-visible .process-step.is-revealed > * {
    opacity: 1;
    transform: translateX(0);
  }

  .process-section.is-fast-reveal .process-step > *,
  .process-step.is-fast-revealed > * {
    transition-duration: var(--process-mobile-fast-reveal-duration);
  }

  /* ---- Diamond markers: independent of content visibility ----
     Pops in immediately when .is-revealed, no translation. */

  .process-step:nth-child(odd)::before,
  .process-step:nth-child(even)::before {
    content: "";
    display: block;
    position: absolute;
    left: calc(-1 * var(--content-inset) + var(--timeline-left) - (var(--diamond-size) / 2));
    top: calc(4px * var(--mobile-scale));
    width: var(--diamond-size);
    height: var(--diamond-size);
    box-sizing: border-box;
    border: calc(2px * var(--mobile-scale)) solid #C4963C;
    background: #F4F8FB;
    transform: rotate(45deg) scale(0);
    transform-origin: center;
    opacity: 0;
    z-index: 2;
    transition:
            opacity var(--process-mobile-diamond-duration) linear,
            transform var(--process-mobile-diamond-duration) linear;
    will-change: opacity, transform;
    animation: none !important;
  }

  .process-step:nth-child(even)::after {
    display: none;
  }

  /* Diamond appears instantly when step is revealed */
  .process-section.is-visible .process-step.is-revealed:nth-child(odd)::before,
  .process-section.is-visible .process-step.is-revealed:nth-child(even)::before {
    opacity: 1;
    transform: rotate(45deg) scale(1);
  }

  .process-section.is-fast-reveal .process-step:nth-child(odd)::before,
  .process-section.is-fast-reveal .process-step:nth-child(even)::before,
  .process-step.is-fast-revealed:nth-child(odd)::before,
  .process-step.is-fast-revealed:nth-child(even)::before {
    transition-duration: var(--process-mobile-fast-diamond-duration);
  }

  /* ---- Reduced motion ---- */
  @media (prefers-reduced-motion: reduce) {
    .process-section .process-step > * {
      opacity: 1;
      transform: none;
      transition: none !important;
    }

    .process-step:nth-child(odd)::before,
    .process-step:nth-child(even)::before {
      opacity: 1;
      transform: rotate(45deg) scale(1);
      transition: none !important;
    }

    .process-steps::after {
      height: 97%;
      bottom: auto;
    }
  }

  .process-section.is-visible .process-step:nth-child(odd)::before,
  .process-section.is-visible .process-step:nth-child(even)::before,
  .process-section.is-visible .process-step:nth-child(even)::after {
    animation: none;
  }

  /* ---- Typography ---- */

  .step-number {
    display: block;
    margin: 0 0 calc(4px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(1.5rem * var(--mobile-scale));
    font-weight: 700;
    line-height: 1;
    color: #2A3B59;
  }

  .process-step:nth-child(odd) .step-number,
  .process-step:nth-child(even) .step-number {
    margin-top: 0;
  }

  .process-step h3 {
    width: auto;
    margin: 0 0 calc(6px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(1.25rem * var(--mobile-scale));
    font-weight: 700;
    line-height: calc(1.625rem * var(--mobile-scale));
    color: #1B2A4A;
  }

  .process-step p {
    width: auto;
    max-width: none;
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.625rem * var(--mobile-scale));
    color: #43546D;
  }

  .process-step .step-timing {
    margin-top: calc(8px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(0.8125rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.25rem * var(--mobile-scale));
    color: #5C6B82;
  }

  .step-timing b {
    font-weight: 600;
  }

  /* Service area: mobile-only full-bleed bridge background
   with centered opaque content panel */
  .local-intent {
    --divider-bar-height: calc(4px * var(--mobile-scale));
    --divider-square-size: calc(20px * var(--mobile-scale));
    --divider-stroke: calc(4px * var(--mobile-scale));
    --divider-half-diagonal: calc(calc(20px * var(--mobile-scale)) * 0.70710678);
    --divider-full-diagonal: calc(var(--divider-half-diagonal) * 2);
    --local-intent-bridge-width: calc(640px * var(--mobile-scale));

    --local-intent-mobile-art:
            linear-gradient(rgba(21, 39, 56, 0.34), rgba(21, 39, 56, 0.34)),
            linear-gradient(rgba(207, 216, 226, 0.18), rgba(207, 216, 226, 0.18)),
            url("../images/background_images/sacramento-bridge.webp");

    position: relative;
    isolation: isolate;
    overflow: visible;
    padding:
            calc(48px * var(--mobile-scale))
            var(--mobile-inline-pad-regular-right)
            calc(48px * var(--mobile-scale))
            var(--mobile-inline-pad-regular-left);
    background: #C4CDD8 none;
  }

  .local-intent-divider__fill {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: calc(-1 * var(--divider-half-diagonal));
    display: block;
    z-index: 2;

    background-color: #C4CDD8;
    background-image: var(--local-intent-mobile-art);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 100% 100%, 100% 100%, auto 100%;
    background-position: left top, left top, var(--local-intent-bridge-shift) top;

    clip-path: polygon(
            50% calc(100% - var(--divider-full-diagonal)),
            calc(50% + var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal)),
            50% 100%,
            calc(50% - var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal))
    );
  }

  .local-intent::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: var(--local-intent-mobile-art);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 100% 100%, 100% 100%, auto 100%;
    background-position: left top, left top, var(--local-intent-bridge-shift) top;
  }

  .local-intent-content {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    padding: calc(24px * var(--mobile-scale)) calc(14px * var(--mobile-scale));
    background: rgba(244, 248, 251, 0.97);
    border: calc(1px * var(--mobile-scale)) solid rgba(27, 42, 74, 0.10);
    border-radius: calc(4px * var(--mobile-scale));
    box-shadow: 0 calc(8px * var(--mobile-scale)) calc(24px * var(--mobile-scale)) rgba(17, 24, 39, 0.06);
  }

  .local-intent-content > .eyebrow,
  .local-intent-content > h2,
  .local-intent-intro {
    text-align: left;
  }

  .local-intent-content > .eyebrow {
    margin: 0 0 calc(10px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 600;
    line-height: calc(1rem * var(--mobile-scale));
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #35526B;
  }

  .local-intent-content > .eyebrow::before {
    content: "";
    display: block;
    width: calc(37px * var(--mobile-scale));
    height: calc(2px * var(--mobile-scale));
    margin: 0 0 calc(10px * var(--mobile-scale));
    background: #C4963C;
  }

  .local-intent-content > h2 {
    margin: 0 0 calc(12px * var(--mobile-scale));
    font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
    font-size: calc(2.25rem * var(--mobile-scale));
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.0071em;
    color: #111827;
    text-wrap: balance;
    overflow-wrap: break-word;
  }

  .local-intent-intro {
    max-width: none;
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.625rem * var(--mobile-scale));
    letter-spacing: 0;
    color: #43546D;
  }

  .region-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(4, auto);
    grid-auto-flow: column;
    column-gap: calc(18px * var(--mobile-scale));
    row-gap: calc(10px * var(--mobile-scale));
    margin-top: calc(20px * var(--mobile-scale));
    align-items: start;
  }

  .region-column {
    display: contents;
  }

  .region-group {
    min-width: 0;
    margin: 0;
    align-self: start;
  }

  .region-group + .region-group {
    margin-top: 0;
  }

  .region-group dt,
  .region-group dd {
    margin: 0;
    text-align: left;
  }

  .region-group dt {
    font-family: "Inter", sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 600;
    line-height: calc(1.375rem * var(--mobile-scale));
    letter-spacing: 0;
    color: #1B2A4A;
  }

  .region-group dd {
    margin-top: calc(6px * var(--mobile-scale));
    min-height: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.375rem * var(--mobile-scale));
    letter-spacing: 0;
    color: #43546D;
  }



  /* CTA: exact mobile values */
  .contact-cta {
    --cta-stack-width: min(100%, 30.7125rem); /* fill available width up to 491.4px */

    grid-template-columns: 1fr;
    row-gap: 0;
    padding: 3rem var(--mobile-inline-pad-panel-right) 3rem var(--mobile-inline-pad-panel-left);
    justify-items: center;
  }

  .cta-copy-column {
    display: contents;
  }

  .cta-form-column > h3,
  .cta-form-column > form,
  .cta-form-column > .form-disclaimer,
  .cta-form-column > .form-success-message {
    position: relative;
    z-index: 1;
  }

  .cta-copy-column > h2 {
    grid-row: 1;
    width: var(--cta-stack-width);
    max-width: 100%;
    margin: 0 0 1rem;
    justify-self: center;
    text-align: left;
    font-weight: 600;
    font-size: 2.375rem;   /* 38 */
    line-height: 2.5rem;   /* 40 */
    letter-spacing: -0.0071em;
  }

  .cta-description {
    grid-row: 2;
    width: var(--cta-stack-width);
    max-width: 100%;
    margin: 0 0 2.75rem;   /* 44 */
    justify-self: center;
    text-align: left;
    font-weight: 400;
    font-size: 1.25rem;    /* 20 */
    line-height: 1.75rem;  /* 28 */
  }

  .cta-form-column {
    grid-row: 3;
    width: var(--cta-stack-width);
    max-width: 100%;
    justify-self: center;
    padding: 1.125rem 1.25rem 0; /* 18 top, 20 LR, 0 bottom */
  }

  .cta-form-column::before {
    inset: 0 0 1.5rem 0;
  }

  .cta-form-column > h3 {
    margin: 0 0 1.25rem;
    padding-bottom: 0.5625rem;
    border-bottom-width: calc(1.5px * var(--mobile-scale));
    font-weight: 600;
    font-size: 1.4375rem;  /* 23 */
    line-height: 2.5rem;   /* 40 */
    letter-spacing: -0.006em;
  }

  .field-row-name {
    grid-template-columns: 1fr;
    gap: 1.25rem; /* 20 */
  }

  .cta-form-column > form {
    gap: 1.25rem;             /* 20 */
    margin-bottom: 0;
    padding-bottom: 1.125rem; /* 18 */
  }

  .field-wrapper {
    gap: 0.375rem; /* 6 */
  }

  .field-wrapper label {
    font-weight: 500;
    font-size: 0.875rem;   /* 14 */
    line-height: 1.25rem;  /* 20 */
  }

  .field-wrapper textarea {
    min-height: 7.5rem; /* 120 */
  }

  .field-hint {
    font-weight: 500;
    font-size: 0.8125rem;  /* 13 */
    line-height: 1.25rem;  /* 20 */
    letter-spacing: -0.0038em;
  }

  .field-error-message {
    font-weight: 500;
    font-size: 0.8125rem;  /* 13 */
    line-height: 1.25rem;  /* 20 */
    letter-spacing: -0.0038em;
  }

  .cta-button-3 {
    width: 100%;
    margin-right: 0;
    align-self: stretch;
    font-size: 1rem;       /* 16 */
    font-weight: 600;
  }

  .form-disclaimer {
    display: block;
    width: calc(100% + 2.5rem); /* account for 20px LR padding */
    margin: 0.25rem -1.25rem 0;
    white-space: nowrap;
    text-align: center;
    font-weight: 400;
    font-size: 0.75rem;    /* 12 */
    line-height: 1.25rem;  /* 20 */
    letter-spacing: -0.07em;
    color: #6B7280;
  }

  .cta-phone-block {
    grid-row: 4;
    width: fit-content;
    max-width: min(100%, var(--cta-stack-width));
    margin-top: 1.5rem;
    justify-self: center;
    text-align: left;
  }

  .reassurance-phone {
    width: auto;
    max-width: 100%;
    margin: 0;
    font-weight: 500;
    font-size: 1.0625rem;  /* 17 */
    line-height: 1.375rem; /* 22 */
  }

  .phone-link3,
  .phone-link3:visited {
    display: block;
    width: auto;
    max-width: 100%;
    margin-top: 0.375rem;
    margin-bottom: 0.375rem;
    text-align: left;
    font-weight: 600;
    font-size: 1.3125rem;  /* 21 */
    line-height: 1.375rem; /* 22 */
  }

  .office-hours {
    width: auto;
    max-width: 100%;
    margin: 0;
    text-align: left;
    font-weight: 500;
    font-size: 1rem;       /* 16 */
    line-height: 1.375rem; /* 22 */
  }

  .map-placeholder-small {
    grid-row: 5;
    width: var(--cta-stack-width);
    max-width: 100%;
    height: auto;
    margin-top: 2.75rem; /* 44 */
    justify-self: center;
  }

  .form-success-message h4 {
    font-weight: 600;
    font-size: 1.0625rem;  /* 17 */
    line-height: 1.375rem; /* 22 */
  }

  .form-success-message .success-body {
    font-weight: 400;
    font-size: 0.9375rem;  /* 15 */
    line-height: 1.375rem; /* 22 */
  }

  .form-success-message .success-phone-line {
    margin: 0 0 0.5rem;
    font-family: "Inter", sans-serif;
    font-size: 0.9375rem;  /* 15 */
    font-weight: 400;
    line-height: 1.375rem; /* 22 */
    letter-spacing: 0;
    color: #374151;
  }

  .form-success-message .success-phone-number {
    display: inline-block;
    margin-left: 0.25rem;
    white-space: nowrap;
    font-weight: 600;
    color: #152738;
    text-decoration: none;
    -webkit-text-fill-color: currentColor;
  }

  .form-success-message .success-hours {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: 0.875rem;   /* 14 */
    font-weight: 400;
    line-height: 1.25rem;  /* 20 */
    letter-spacing: 0;
    color: #4B5563;
    white-space: nowrap;
  }

  .form-success-message .success-hours-label {
    font-weight: 500;
  }

  /* Footer */
  .site-footer {
    padding:
            calc(32px * var(--mobile-scale))
            var(--mobile-inline-pad-regular-right)
            calc(32px * var(--mobile-scale))
            var(--mobile-inline-pad-regular-left);
    background: #F9FAFB;
  }

  .footer-body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 0;
    width: 100%;
    max-width: calc(275px * var(--mobile-scale));
    margin: 0 auto;
    padding: 0;
  }

  .footer-logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    width: calc(179px * var(--mobile-scale));
    margin: 0 0 calc(30px * var(--mobile-scale));
  }

  .footer-logo svg,
  .footer-logo img {
    display: block;
    width: calc(179px * var(--mobile-scale));
    height: calc(176px * var(--mobile-scale));
  }

  /* Exact mobile order */
  .footer-heading--c1  { grid-column: 1; grid-row: 2; }
  .footer-cell-top--c1 { grid-column: 1; grid-row: 3; }
  .footer-divider--c1  { grid-column: 1; grid-row: 4; }
  .footer-cell-bot--c1 { grid-column: 1; grid-row: 5; }

  .footer-heading--c2  { grid-column: 1; grid-row: 6; }
  .footer-cell-top--c2 { grid-column: 1; grid-row: 7; }
  .footer-divider--c2  { grid-column: 1; grid-row: 8; }
  .footer-cell-bot--c2 { grid-column: 1; grid-row: 9; }

  .footer-heading--c3  { grid-column: 1; grid-row: 10; }
  .footer-cell-top--c3 { grid-column: 1; grid-row: 11; }
  .footer-divider--c3  { grid-column: 1; grid-row: 12; }
  .footer-cell-bot--c3 { grid-column: 1; grid-row: 13; }
  .footer-note         { grid-column: 1; grid-row: 14; }

  /* Inner 224px hug column */
  .footer-heading,
  .footer-cell-top,
  .footer-divider,
  .footer-cell-bot {
    width: 100%;
    max-width: calc(224px * var(--mobile-scale));
    justify-self: center;
  }

  .footer-note {
    width: 100%;
    max-width: calc(224px * var(--mobile-scale));
    max-inline-size: calc(224px * var(--mobile-scale));
    inline-size: auto;
    justify-self: center;
    margin-top: calc(30px * var(--mobile-scale));
  }

  .footer-note::before {
    margin-bottom: calc(18px * var(--mobile-scale));
  }

  .footer-note .footer-service-area {
    width: 100%;
    text-align: left;
  }

  .footer-service-line {
    display: inline;
    white-space: normal;
  }

  .footer-service-line + .footer-service-line::before {
    content: " ";
  }

  .footer-heading {
    margin: 0 0 calc(12px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 700;
    line-height: calc(1.375rem * var(--mobile-scale));
    text-align: left;
  }

  .footer-heading--c2,
  .footer-heading--c3 {
    margin-top: calc(30px * var(--mobile-scale));
  }

  .footer-address {
    margin: 0;
    font-style: normal;
    text-align: left;
  }

  .footer-address strong {
    display: block;
    margin: 0 0 calc(8px * var(--mobile-scale));
    font-family: "Inter", sans-serif;
    font-size: calc(1rem * var(--mobile-scale));
    font-weight: 500;
    line-height: calc(1.375rem * var(--mobile-scale));
  }

  .footer-address span {
    display: block;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.375rem * var(--mobile-scale));
  }

  .footer-map {
    margin: calc(10px * var(--mobile-scale)) 0 0;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.375rem * var(--mobile-scale));
    text-align: left;
  }

  .footer-phone {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.375rem * var(--mobile-scale));
    text-align: left;
  }

  .footer-service-area {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: 1.143;
    text-align: left;
  }

  .footer-link-group {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .footer-link-group a,
  .footer-link-group a:visited {
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: calc(1.375rem * var(--mobile-scale));
  }

  .footer-link-group--top {
    display: flex;
    flex-direction: column;
    gap: calc(10px * var(--mobile-scale));
  }

  .footer-link-group--bottom,
  .footer-link-group--legal,
  .footer-nap-bottom,
  .footer-info-bottom {
    display: flex;
    flex-direction: column;
    gap: calc(8px * var(--mobile-scale));
  }

  .footer-divider {
    margin: calc(16px * var(--mobile-scale)) 0;
  }

  .copyright {
    margin: 0;
    font-family: "Inter", sans-serif;
    font-size: calc(0.9375rem * var(--mobile-scale));
    font-weight: 400;
    line-height: 1.143;
    text-transform: none;
    text-align: left;
  }

  .mobile-sticky-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;

    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    height: calc(47px * var(--mobile-scale));
    padding-left: var(--safe-area-inline-left);
    padding-right: var(--safe-area-inline-right);
    background: #2A2C2F;
    box-sizing: border-box;
    transform: translate3d(0, var(--mobile-keyboard-offset), 0);
    transition: transform 180ms ease, opacity 180ms ease;
    will-change: transform;
  }

  .mobile-sticky-bar__half {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 100%;
  }

  .mobile-sticky-bar__phone-link,
  .mobile-sticky-bar__phone-link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(4px * var(--mobile-scale));
    min-width: 0;

    color: #FFFFFF;
    text-decoration: none;
    white-space: nowrap;

    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    font-size: calc(0.90625rem * var(--mobile-scale));
    line-height: 1.4;
    letter-spacing: 0.06em;
  }

  .mobile-sticky-bar__icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(20px * var(--mobile-scale));
    height: calc(20px * var(--mobile-scale));
    flex: 0 0 calc(20px * var(--mobile-scale));
  }

  .mobile-sticky-bar__phone-icon {
    display: block;
    width: calc(17.5px * var(--mobile-scale));
    height: calc(17.5px * var(--mobile-scale));
    color: #FFFFFF;
    flex: 0 0 auto;
  }

  .mobile-sticky-bar__phone-text {
    display: block;
    color: #FFFFFF;
  }

  .mobile-sticky-bar__cta,
  .mobile-sticky-bar__cta:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;

    width: calc(100% - calc(14.5px * var(--mobile-scale)));
    height: calc(36px * var(--mobile-scale));
    padding: calc(8px * var(--mobile-scale)) calc(16px * var(--mobile-scale));

    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 600;
    font-size: 0.90625rem;
    line-height: 1.4;
    letter-spacing: 0.06em;
    color: #FFFFFF;
    text-decoration: none;

    background-color: #C4963C;
    border-radius: calc(6px * var(--mobile-scale));
    border: none;
    box-shadow:
            inset 0 0 0 calc(1px * var(--mobile-scale)) rgba(255, 255, 255, 0.18),
            0 calc(4px * var(--mobile-scale)) calc(16px * var(--mobile-scale)) -2px rgba(22, 22, 22, 0.10);
  }

  .mobile-sticky-bar__cta:active {
    background-color: #A8792C;
    color: #FFFFFF;
    box-shadow:
            inset 0 0 0 calc(1px * var(--mobile-scale)) rgba(255, 255, 255, 0.18),
            0 calc(2px * var(--mobile-scale)) calc(8px * var(--mobile-scale)) -2px rgba(22, 22, 22, 0.10);
  }

  .mobile-sticky-bar__cta:focus-visible,
  .mobile-sticky-bar__phone-link:focus-visible {
    outline: calc(2px * var(--mobile-scale)) solid rgba(255, 255, 255, 0.9);
    outline-offset: calc(3px * var(--mobile-scale));
  }

  body {
    padding-bottom: calc(47px * var(--mobile-scale) + var(--safe-area-inset-bottom));
  }

  .attorney-body-copy > section,
  .article-byline,
  .attorney-credentials,
  .process-section,
  .contact-cta {
    scroll-margin-top: var(--anchor-offset-mobile);
  }

  body.mobile-menu-open .mobile-sticky-bar {
    opacity: 0;
    pointer-events: none;
  }

  :root.mobile-keyboard-open .mobile-sticky-bar {
    opacity: 0;
    pointer-events: none;
  }

  :root.mobile-cta-form-active .mobile-sticky-bar {
    opacity: 0;
    pointer-events: none;
  }
}

@media (min-width: 464px) and (max-width: 679px) {
  .hero-subline-lead,
  .hero-subline-tail {
    display: block;
  }
}

@media (max-width: 430px) {
  .page-motorcycle-accidents .hero-content,
  .page-pedestrian-accidents .hero-content,
  .page-motorcycle-accidents .hero-detail,
  .page-pedestrian-accidents .hero-detail {
    padding-left: calc(calc(16px * var(--mobile-scale)) + var(--safe-area-inline-left));
    padding-right: calc(calc(16px * var(--mobile-scale)) + var(--safe-area-inline-right));
  }

  .page-motorcycle-accidents .hero-content h1,
  .page-pedestrian-accidents .hero-content h1,
  .page-motorcycle-accidents .hero-subline,
  .page-pedestrian-accidents .hero-subline,
  .page-motorcycle-accidents .fee-transparency-bar,
  .page-pedestrian-accidents .fee-transparency-bar,
  .page-motorcycle-accidents .case-types,
  .page-pedestrian-accidents .case-types {
    max-width: none;
  }
}

@media (max-width: 391px) {
  .page-motorcycle-accidents .hero-content,
  .page-pedestrian-accidents .hero-content,
  .page-motorcycle-accidents .hero-detail,
  .page-pedestrian-accidents .hero-detail {
    padding-left: calc(calc(12px * var(--mobile-scale)) + var(--safe-area-inline-left));
    padding-right: calc(calc(12px * var(--mobile-scale)) + var(--safe-area-inline-right));
  }

  .page-motorcycle-accidents .hero-content h1,
  .page-pedestrian-accidents .hero-content h1,
  .page-motorcycle-accidents .hero-subline,
  .page-pedestrian-accidents .hero-subline,
  .page-motorcycle-accidents .fee-transparency-bar,
  .page-pedestrian-accidents .fee-transparency-bar,
  .page-motorcycle-accidents .case-types,
  .page-pedestrian-accidents .case-types {
    max-width: none;
  }
}

@media (min-width: 549px) and (max-width: 679px) {
  .fee-transparency-bar {
    padding: calc(10px * var(--mobile-scale)) 0 calc(12px * var(--mobile-scale));
  }
}

@media (min-width: 480px) and (max-width: 679px) {
  .local-intent {
    --divider-bar-height: calc(4px + 2px * var(--tablet-progress));
    --divider-square-size: calc(20px + 10px * var(--tablet-progress));
    --divider-stroke: calc(4px + 1px * var(--tablet-progress));
    --divider-half-diagonal: calc(var(--divider-square-size) * 0.70710678);
    --divider-full-diagonal: calc(var(--divider-half-diagonal) * 2);
    --local-intent-bridge-shift: 68%;
    --local-intent-mobile-art:
            linear-gradient(rgba(21, 39, 56, 0.34), rgba(21, 39, 56, 0.34)),
            linear-gradient(rgba(207, 216, 226, 0.18), rgba(207, 216, 226, 0.18)),
            url("../images/background_images/sacramento-bridge.webp");

    position: relative;
    isolation: isolate;
    overflow: visible;
    padding:
            calc(50.75px + 5.25px * var(--local-intent-panel-progress))
            calc(24px + 1.25px * (1 - var(--local-intent-panel-progress)) + var(--safe-area-inline-right))
            calc(50.75px + 5.25px * var(--local-intent-panel-progress))
            calc(24px + 1.25px * (1 - var(--local-intent-panel-progress)) + var(--safe-area-inline-left));
    background: #C4CDD8 none;
  }

  .local-intent::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: var(--local-intent-mobile-art);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 100% 100%, 100% 100%, auto 100%;
    background-position: left top, left top, var(--local-intent-bridge-shift) top;
  }

  .local-intent-divider__fill {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: calc(-1 * var(--divider-half-diagonal));
    display: block;
    z-index: 2;
    background-color: #C4CDD8;
    background-image: var(--local-intent-mobile-art);
    background-repeat: no-repeat, no-repeat, no-repeat;
    background-size: 100% 100%, 100% 100%, auto 100%;
    background-position: left top, left top, var(--local-intent-bridge-shift) top;
    clip-path: polygon(
            50% calc(100% - var(--divider-full-diagonal)),
            calc(50% + var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal)),
            50% 100%,
            calc(50% - var(--divider-half-diagonal)) calc(100% - var(--divider-half-diagonal))
    );
  }

  .local-intent-content {
    width: min(100%, calc(432px + (48px * var(--local-intent-panel-ease))));
    max-width: min(100%, calc(432px + (48px * var(--local-intent-panel-ease))));
  }

  .contact-cta {
    --cta-stack-width: calc(100% - (183px * var(--cta-bridge-ease)));

    padding:
            calc(48px + 8px * var(--cta-bridge-ease))
            calc(24px + var(--safe-area-inline-right))
            calc(48px - 8px * var(--cta-bridge-ease))
            calc(24px + var(--safe-area-inline-left));
  }

  .cta-copy-column > h2 {
    font-size: calc(2.375rem + 0.125rem * var(--cta-bridge-ease));
    line-height: calc(2.5rem + 0.125rem * var(--cta-bridge-ease));
  }

  .cta-description {
    margin-bottom: calc(44px - 12px * var(--cta-bridge-ease));
    font-size: calc(1.25rem - 0.125rem * var(--cta-bridge-ease));
    line-height: calc(1.75rem - 0.0625rem * var(--cta-bridge-ease));
  }

  .cta-form-column {
    padding: calc(18px + 2px * var(--cta-bridge-ease)) 20px 0;
  }

  .cta-form-column > h3 {
    margin-bottom: calc(20px - 4px * var(--cta-bridge-ease));
    padding-bottom: calc(9px + 7px * var(--cta-bridge-ease));
    font-size: calc(1.4375rem + 0.3125rem * var(--cta-bridge-ease));
  }

  .field-row-name {
    gap: calc(20px - 2px * var(--cta-bridge-ease));
  }

  .cta-form-column > form {
    gap: calc(20px - 4px * var(--cta-bridge-ease));
    padding-bottom: calc(18px + 2px * var(--cta-bridge-ease));
  }

  .field-wrapper {
    gap: calc(6px - 6px * var(--cta-bridge-ease));
  }

  .field-wrapper textarea {
    min-height: calc(120px + 21px * var(--cta-bridge-ease));
  }

  .field-error-message {
    line-height: calc(1.25rem - 0.125rem * var(--cta-bridge-ease));
  }

  .form-disclaimer {
    width: calc(100% + (40px * (1 - var(--cta-bridge-ease))));
    margin:
            calc(4px + 2px * var(--cta-bridge-ease))
            calc(-20px * (1 - var(--cta-bridge-ease)))
            0;
    white-space: normal;
    line-height: calc(1.25rem - 0.125rem * var(--cta-bridge-ease));
    letter-spacing: calc(-0.07em * (1 - var(--cta-bridge-ease)));
  }

  .cta-phone-block {
    margin-top: calc(24px + 4px * var(--cta-bridge-ease));
  }

  .reassurance-phone {
    font-size: calc(1.0625rem + 0.0625rem * var(--cta-bridge-ease));
    line-height: calc(1.375rem + 0.125rem * var(--cta-bridge-ease));
  }

  .phone-link3,
  .phone-link3:visited {
    font-size: calc(1.3125rem + 0.0625rem * var(--cta-bridge-ease));
    line-height: calc(1.375rem + 0.125rem * var(--cta-bridge-ease));
  }

  .office-hours {
    font-size: calc(1rem + 0.0625rem * var(--cta-bridge-ease));
  }

  .map-placeholder-small {
    margin-top: calc(44px - 8px * var(--cta-bridge-ease));
  }

  .form-success-message h4 {
    font-size: calc(1.0625rem + 0.0625rem * var(--cta-bridge-ease));
    line-height: calc(1.375rem + 0.125rem * var(--cta-bridge-ease));
  }

  .form-success-message .success-body,
  .form-success-message .success-phone-line {
    line-height: calc(1.375rem + 0.125rem * var(--cta-bridge-ease));
  }
}

@media (min-width: 658px) and (max-width: 679px) {
  .form-disclaimer {
    width: calc(100% + 2.5rem);
    margin: 0.25rem -1.25rem 0;
    white-space: nowrap;
    font-size: 0.75rem;
    line-height: 1.25rem;
    letter-spacing: -0.07em;
  }
}

@media (min-width: 680px) and (max-width: 899px) {
  .local-intent-content {
    width: min(100%, 30rem);
    max-width: 30rem;
    padding:
            calc(24px + 10px * var(--tablet-progress))
            1.125rem;
  }

  .cta-form-column {
    width: min(100%, 28rem);
    max-width: 28rem;
    padding:
            calc(20px + 2px * var(--tablet-progress))
            1.25rem
            0;
  }
}

@media (min-width: 680px) and (max-width: 899px) {
  :root {
    --tablet-nav-scale: calc(0.756 + 0.244 * var(--tablet-progress));
    --tablet-mobile-scale: calc(1.18 + 0.16 * var(--tablet-progress));
    --tablet-footer-scale: calc(1.18 + 0.56 * var(--footer-tablet-ease));
    --tablet-sticky-scale: calc(1.04 + 0.16 * var(--tablet-progress));
    --tablet-header-inline-pad: calc(20px + 16px * var(--tablet-progress));
    --tablet-header-inline-pad-left: calc(var(--tablet-header-inline-pad) + var(--safe-area-inline-left));
    --tablet-header-inline-pad-right: calc(var(--tablet-header-inline-pad) + var(--safe-area-inline-right));
    --tablet-attorney-card-width: calc(18rem + 2rem * var(--tablet-progress));
    --tablet-attorney-card-height: calc(27.125rem + 3rem * var(--tablet-progress));
    --tablet-attorney-photo-height: calc(15.75rem + 1.75rem * var(--tablet-progress));
    --tablet-attorney-info-width: calc(14.25rem + 1.5625rem * var(--tablet-progress));
  }

  .sticky-bar {
    --header-block-pad: calc(0.25rem * var(--tablet-nav-scale));
    --header-min-height: calc(3.875rem * var(--tablet-nav-scale));
    --header-group-gap: calc(1.15rem * var(--tablet-nav-scale));
    --header-nav-gap: calc(1.4rem * var(--tablet-nav-scale));
    --header-label-size: calc(0.90625rem * var(--tablet-nav-scale));
    --header-label-spacing: calc(0.045em + 0.015em * var(--tablet-progress));
    --header-logo-height: calc(3rem * var(--tablet-nav-scale));

    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
    column-gap: var(--header-group-gap);
    justify-content: stretch;
    min-height: var(--header-min-height);
    height: var(--header-min-height);
    padding:
            var(--header-block-pad)
            var(--tablet-header-inline-pad-right)
            var(--header-block-pad)
            var(--tablet-header-inline-pad-left);
  }

  .logo {
    align-self: center;
  }

  .sticky-bar > nav {
    display: flex;
    align-items: center;
    align-self: stretch;
    justify-content: center;
    width: 100%;
    min-width: 0;
  }

  .nav-primary {
    display: flex;
    height: 100%;
    align-items: stretch;
    width: fit-content;
    max-width: 100%;
    margin: 0 auto;
    justify-content: center;
    gap: var(--header-nav-gap);
    min-width: 0;
  }

  .nav-primary > li {
    display: flex;
    align-items: center;
    height: 100%;
  }

  .nav-primary > li > a,
  .nav-primary > li > a:visited {
    font-size: var(--header-label-size);
    line-height: 1.4;
    letter-spacing: var(--header-label-spacing);
  }

  .site-logo {
    height: var(--header-logo-height);
  }

  .utility-nav,
  .phone-link,
  .cta-button,
  .menu-toggle,
  .mobile-nav-shell,
  .mobile-nav {
    display: none;
  }

  .attorney-credentials {
    --attorney-pad-y: calc(64px + 18px * var(--tablet-progress));
    --attorney-card-gap: calc(20px + 10px * var(--tablet-progress));

    grid-template-columns: 1fr;
    row-gap: calc(30px + 14px * var(--tablet-progress));
    justify-items: center;
    padding:
            var(--attorney-pad-y)
            var(--tablet-inline-pad-right)
            calc(var(--attorney-pad-y) + var(--divider-depth))
            var(--tablet-inline-pad-left);
  }

  .attorney-copy,
  .attorney-layout {
    width: min(100%, calc(39rem + 6rem * var(--tablet-progress)));
    max-width: calc(39rem + 6rem * var(--tablet-progress));
    justify-self: center;
  }

  .attorney-copy,
  .attorney-copy > .eyebrow,
  .attorney-copy > h2,
  .attorney-copy > .credentials-intro,
  .attorney-info,
  .attorney-info h3,
  .attorney-info p,
  .attorney-info a {
    text-align: left;
  }

  .attorney-copy > .eyebrow {
    margin: 0 0 calc(12px + 4px * var(--tablet-progress));
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.15;
  }

  .attorney-copy > .eyebrow::before {
    width: calc(46px + 6px * var(--tablet-progress));
    margin-bottom: calc(12px + 4px * var(--tablet-progress));
    margin-left: 0;
    margin-right: 0;
  }

  .attorney-copy > h2 {
    margin: 0 0 calc(14px + 4px * var(--tablet-progress));
    font-size: calc(3.25rem + 0.5rem * var(--tablet-progress));
    line-height: 0.95;
    text-wrap: balance;
  }

  .attorney-copy > h2 br {
    display: block;
  }

  .attorney-copy > .credentials-intro {
    max-width: calc(36rem + 4rem * var(--tablet-progress));
    font-size: calc(1.125rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.6;
  }

  .attorney-layout {
    padding-top: 0;
    padding-bottom: 0;
  }

  .attorney-cards {
    display: flex;
    width: 100%;
    justify-content: center;
    gap: var(--attorney-card-gap);
  }

  .attorney-cards::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(180rem + 40rem * var(--tablet-progress));
    height: calc(72rem + 16rem * var(--tablet-progress));
    border-radius: 50%;
    transform: translate(-50%, -50%);
    background: radial-gradient(
            ellipse at center,
            rgba(127, 184, 248, 0.12) 0%,
            rgba(63, 120, 190, 0.06) 50%,
            rgba(20, 35, 59, 0) 100%
    );
    filter: blur(calc(4.25rem + 0.5rem * var(--tablet-progress)));
    pointer-events: none;
    z-index: -1;
  }

  .attorney-card {
    flex: 0 0 var(--tablet-attorney-card-width);
    width: var(--tablet-attorney-card-width);
    height: var(--tablet-attorney-card-height);
    min-width: 0;
    padding-bottom: calc(30px + 6px * var(--tablet-progress));
    border: none;
    border-radius: calc(6px + 2px * var(--tablet-progress));
    box-shadow: 0 calc(12px + 4px * var(--tablet-progress)) calc(24px + 8px * var(--tablet-progress)) rgba(17, 24, 39, 0.2);
  }

  .attorney-card::after {
    content: "";
    top: var(--tablet-attorney-photo-height);
    left: 0;
    right: 0;
    bottom: 0;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0 0 calc(6px + 2px * var(--tablet-progress)) calc(6px + 2px * var(--tablet-progress));
    pointer-events: none;
    z-index: 0;
  }

  .attorney-photo-frame {
    width: var(--tablet-attorney-card-width);
    height: var(--tablet-attorney-photo-height);
    flex: 0 0 var(--tablet-attorney-photo-height);
    margin-bottom: calc(18px + 4px * var(--tablet-progress));
    border-radius: calc(6px + 2px * var(--tablet-progress)) calc(6px + 2px * var(--tablet-progress)) 0 0;
  }

  .attorney-photo-frame img {
    top: 0;
    left: 50%;
    width: auto;
    height: 100%;
    max-width: none;
    transform: translateX(-50%);
    object-fit: cover;
    object-position: center;
  }

  .attorney-info {
    width: var(--tablet-attorney-info-width);
    max-width: var(--tablet-attorney-info-width);
    margin: 0 auto;
    padding-inline: 0;
    align-items: flex-start;
  }

  .attorney-info h3,
  .attorney-title,
  .attorney-info p:not(.attorney-title),
  .attorney-info a {
    white-space: nowrap;
  }

  .attorney-info h3 {
    margin: 0 0 calc(5px + 1px * var(--tablet-progress));
    font-size: calc(1.4375rem + 0.125rem * var(--tablet-progress));
    line-height: 1.2;
    text-wrap: balance;
  }

  .attorney-title {
    margin: 0 0 calc(10px + 2px * var(--tablet-progress));
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
  }

  .attorney-info p:not(.attorney-title) {
    font-size: calc(0.875rem + 0.0625rem * var(--tablet-progress));
    line-height: 1.5;
  }

  .attorney-info p:not(.attorney-title) + p:not(.attorney-title) {
    margin-top: calc(4px + 1px * var(--tablet-progress));
  }

  .attorney-info a,
  .attorney-info a:visited {
    margin-top: calc(14px + 2px * var(--tablet-progress));
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
  }

  .process-step p {
    max-width: var(--process-copy-measure);
    text-wrap: pretty;
  }

  .site-footer {
    padding:
            calc(32px * var(--tablet-footer-scale))
            calc((24px * var(--tablet-footer-scale)) + var(--safe-area-inline-right))
            calc(32px * var(--tablet-footer-scale))
            calc((24px * var(--tablet-footer-scale)) + var(--safe-area-inline-left));
    background: #F9FAFB;
  }

  .footer-body {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    row-gap: 0;
    width: 100%;
    max-width: calc(275px * var(--tablet-footer-scale));
    margin: 0 auto;
    padding: 0;
  }

  .footer-logo {
    grid-column: 1;
    grid-row: 1;
    justify-self: center;
    width: calc(179px * var(--tablet-footer-scale));
    margin: 0 0 calc(30px * var(--tablet-footer-scale));
  }

  .footer-logo svg,
  .footer-logo img {
    display: block;
    width: calc(179px * var(--tablet-footer-scale));
    height: calc(176px * var(--tablet-footer-scale));
  }

  .footer-heading--c1  { grid-column: 1; grid-row: 2; }
  .footer-cell-top--c1 { grid-column: 1; grid-row: 3; }
  .footer-divider--c1  { grid-column: 1; grid-row: 4; }
  .footer-cell-bot--c1 { grid-column: 1; grid-row: 5; }

  .footer-heading--c2  { grid-column: 1; grid-row: 6; }
  .footer-cell-top--c2 { grid-column: 1; grid-row: 7; }
  .footer-divider--c2  { grid-column: 1; grid-row: 8; }
  .footer-cell-bot--c2 { grid-column: 1; grid-row: 9; }

  .footer-heading--c3  { grid-column: 1; grid-row: 10; }
  .footer-cell-top--c3 { grid-column: 1; grid-row: 11; }
  .footer-divider--c3  { grid-column: 1; grid-row: 12; }
  .footer-cell-bot--c3 { grid-column: 1; grid-row: 13; }
  .footer-note         { grid-column: 1; grid-row: 14; }

  .footer-heading,
  .footer-cell-top,
  .footer-divider,
  .footer-cell-bot {
    width: 100%;
    max-width: calc(224px * var(--tablet-footer-scale));
    justify-self: center;
  }

  .footer-note {
    width: 100%;
    max-width: calc(224px * var(--tablet-footer-scale));
    max-inline-size: calc(224px * var(--tablet-footer-scale));
    inline-size: auto;
    justify-self: center;
    margin-top: calc(30px * var(--tablet-footer-scale));
  }

  .footer-note::before {
    margin-bottom: calc(16px * var(--tablet-footer-scale));
  }

  .footer-note .footer-service-area {
    width: 100%;
    text-align: left;
  }

  .footer-service-line {
    display: inline;
    white-space: normal;
  }

  .footer-service-line + .footer-service-line::before {
    content: " ";
  }

  .footer-heading {
    margin: 0 0 calc(12px * var(--tablet-footer-scale));
    font-size: calc(1rem * var(--tablet-footer-scale));
    line-height: calc(1.375rem * var(--tablet-footer-scale));
    text-align: left;
  }

  .footer-heading--c2,
  .footer-heading--c3 {
    margin-top: calc(30px * var(--tablet-footer-scale));
  }

  .footer-address {
    margin: 0;
    font-style: normal;
    text-align: left;
  }

  .footer-address strong {
    display: block;
    margin: 0 0 calc(8px * var(--tablet-footer-scale));
    font-size: calc(1rem * var(--tablet-footer-scale));
    line-height: calc(1.375rem * var(--tablet-footer-scale));
  }

  .footer-address span,
  .footer-map,
  .footer-phone,
  .footer-service-area,
  .footer-link-group a,
  .footer-link-group a:visited,
  .copyright {
    font-size: calc(0.9375rem * var(--tablet-footer-scale));
    line-height: calc(1.375rem * var(--tablet-footer-scale));
  }

  .footer-map {
    margin: calc(10px * var(--tablet-footer-scale)) 0 0;
    text-align: left;
  }

  .footer-service-area {
    line-height: 1.143;
  }

  .footer-link-group {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .footer-link-group--top {
    display: flex;
    flex-direction: column;
    gap: calc(10px * var(--tablet-footer-scale));
  }

  .footer-link-group--bottom,
  .footer-link-group--legal,
  .footer-nap-bottom,
  .footer-info-bottom {
    display: flex;
    flex-direction: column;
    gap: calc(8px * var(--tablet-footer-scale));
  }

  .footer-divider {
    margin: calc(16px * var(--tablet-footer-scale)) 0;
  }

  .copyright {
    margin: 0;
    line-height: 1.143;
    text-transform: none;
    text-align: left;
  }

  .mobile-sticky-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1200;
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    height: calc(47px * var(--tablet-sticky-scale));
    padding-left: var(--safe-area-inline-left);
    padding-right: var(--safe-area-inline-right);
    background: #2A2C2F;
    box-sizing: border-box;
    transform: translate3d(0, var(--mobile-keyboard-offset), 0);
    transition: transform 180ms ease, opacity 180ms ease;
    will-change: transform;
  }

  .mobile-sticky-bar__half {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    height: 100%;
  }

  .mobile-sticky-bar__phone-link,
  .mobile-sticky-bar__phone-link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(4px * var(--tablet-sticky-scale));
    min-width: 0;
    color: #FFFFFF;
    text-decoration: none;
    white-space: nowrap;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    font-size: calc(0.90625rem * var(--tablet-sticky-scale));
    line-height: 1.4;
    letter-spacing: 0.06em;
  }

  .mobile-sticky-bar__icon-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(20px * var(--tablet-sticky-scale));
    height: calc(20px * var(--tablet-sticky-scale));
    flex: 0 0 calc(20px * var(--tablet-sticky-scale));
  }

  .mobile-sticky-bar__phone-icon {
    display: block;
    width: calc(17.5px * var(--tablet-sticky-scale));
    height: calc(17.5px * var(--tablet-sticky-scale));
    color: #FFFFFF;
    flex: 0 0 auto;
  }

  .mobile-sticky-bar__phone-text {
    display: block;
    color: #FFFFFF;
  }

  .mobile-sticky-bar__cta,
  .mobile-sticky-bar__cta:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - calc(14.5px * var(--tablet-sticky-scale)));
    height: calc(36px * var(--tablet-sticky-scale));
    padding: calc(8px * var(--tablet-sticky-scale)) calc(16px * var(--tablet-sticky-scale));
    box-sizing: border-box;
    border-radius: calc(6px * var(--tablet-sticky-scale));
    color: #FFFFFF;
    background: #C4963C;
    text-decoration: none;
    white-space: nowrap;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: calc(0.90625rem * var(--tablet-sticky-scale));
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.06em;
    box-shadow:
            inset 0 0 0 calc(1px * var(--tablet-sticky-scale)) rgba(255, 255, 255, 0.18),
            0 calc(4px * var(--tablet-sticky-scale)) calc(16px * var(--tablet-sticky-scale)) -2px rgba(22, 22, 22, 0.1);
  }

  .mobile-sticky-bar__cta:active {
    background: #A8792C;
    box-shadow:
            inset 0 0 0 calc(1px * var(--tablet-sticky-scale)) rgba(255, 255, 255, 0.18),
            0 calc(2px * var(--tablet-sticky-scale)) calc(8px * var(--tablet-sticky-scale)) -2px rgba(22, 22, 22, 0.1);
  }

  .mobile-sticky-bar__cta:focus-visible,
  .mobile-sticky-bar__phone-link:focus-visible {
    outline: calc(2px * var(--tablet-sticky-scale)) solid rgba(255, 255, 255, 0.9);
    outline-offset: calc(3px * var(--tablet-sticky-scale));
  }

  body {
    padding-bottom: calc((47px * var(--tablet-sticky-scale)) + var(--safe-area-inset-bottom));
  }
}

@media (min-width: 680px) and (max-width: 899px) {
  .hero-content h1 br {
    display: none;
  }

  .page-pedestrian-accidents .hero-content h1 {
    max-width: min(100%, calc(432px * var(--tablet-hero-scale)));
  }

  .page-motorcycle-accidents .hero-subline {
    max-width: min(100%, calc(480px * var(--tablet-hero-scale)));
  }

  .page-pedestrian-accidents .hero-subline {
    max-width: min(100%, calc(480px * var(--tablet-hero-scale)));
  }

  .hero-content h1 .hero-line,
  .hero-subline-lead,
  .hero-subline-tail {
    display: block;
  }
}

@media (max-width: 679px) {
  .page-pedestrian-accidents .hero-content h1 {
    max-width: calc(360px * var(--mobile-scale));
  }

  .page-motorcycle-accidents .hero-subline {
    max-width: calc(360px * var(--mobile-scale));
  }

  .page-pedestrian-accidents .hero-subline {
    max-width: calc(360px * var(--mobile-scale));
  }
}

@media (min-width: 680px) and (max-width: 899px) {
  :root.device-iphone .attorney-credentials::before,
  :root.device-iphone .attorney-cards::before {
    content: none;
  }

  :root.device-iphone .cta-form-column::after {
    content: none;
  }
}

@media (min-width: 760px) and (max-width: 899px) {
  .site-footer {
    --tablet-footer-scale: calc(1.12 + 0.08 * var(--tablet-progress));
    --footer-tablet-gap: calc(1.75rem + 0.625rem * var(--tablet-progress));
    --footer-divider-weight: calc(2px + 0.5px * var(--tablet-progress));
    --footer-divider-gap: calc(20px + 5px * var(--tablet-progress));

    padding:
            calc(32px * var(--tablet-footer-scale))
            var(--tablet-inline-pad-right)
            calc(32px * var(--tablet-footer-scale))
            var(--tablet-inline-pad-left);
  }

  .footer-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto auto auto;
    width: 100%;
    max-width: min(100%, 68rem);
    margin: 0 auto;
    justify-content: center;
    column-gap: var(--footer-tablet-gap);
    row-gap: 0;
    align-items: start;
  }

  .footer-logo {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: center;
  }

  .footer-column {
    display: contents;
  }

  .footer-note {
    grid-column: 1 / -1;
    grid-row: 6;
    display: inline-block;
    inline-size: auto;
    width: auto;
    max-inline-size: calc(100% - 2rem);
    justify-self: center;
    margin-inline: auto;
    margin-top: calc(var(--footer-divider-gap) * 2);
  }

  .footer-heading--c1  { grid-column: 1; grid-row: 2; }
  .footer-heading--c2  { grid-column: 2; grid-row: 2; }
  .footer-heading--c3  { grid-column: 3; grid-row: 2; }

  .footer-cell-top--c1 { grid-column: 1; grid-row: 3; }
  .footer-cell-top--c2 { grid-column: 2; grid-row: 3; }
  .footer-cell-top--c3 { grid-column: 3; grid-row: 3; }

  .footer-divider--c1  { grid-column: 1; grid-row: 4; }
  .footer-divider--c2  { grid-column: 2; grid-row: 4; }
  .footer-divider--c3  { grid-column: 3; grid-row: 4; }

  .footer-cell-bot--c1 { grid-column: 1; grid-row: 5; }
  .footer-cell-bot--c2 { grid-column: 2; grid-row: 5; }
  .footer-cell-bot--c3 { grid-column: 3; grid-row: 5; }

  .footer-heading,
  .footer-cell-top,
  .footer-divider,
  .footer-cell-bot {
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }

  .footer-cell-top--c1,
  .footer-cell-top--c2,
  .footer-cell-top--c3 {
    padding-bottom: 0;
  }

  .footer-heading--c2,
  .footer-heading--c3 {
    margin-top: 0;
  }

  .footer-map {
    white-space: nowrap;
  }

  .footer-phone {
    white-space: nowrap;
  }

  .footer-link-group--top a,
  .footer-link-group--top a:visited,
  .footer-link-group--bottom a,
  .footer-link-group--bottom a:visited {
    white-space: nowrap;
  }

  .footer-link-group--legal a,
  .footer-link-group--legal a:visited {
    white-space: normal;
    text-wrap: pretty;
  }

  .copyright {
    text-wrap: pretty;
  }

  .footer-note .footer-service-area {
    width: auto;
    text-align: left;
    max-width: none;
  }

  .footer-service-line {
    display: block;
    white-space: nowrap;
  }

  .footer-service-line + .footer-service-line::before {
    content: none;
  }
}

@media (max-width: 479px) {
  .local-intent {
    --local-intent-bridge-shift: 68%;
  }

  .attorney-credentials::before,
  .attorney-cards::before {
    content: none;
  }

  .cta-form-column::after {
    content: none;
  }
}

:root.using-touch .nav-primary > li > a:hover {
  opacity: 0.88;
  color: #F9FAFB;
}

:root.using-touch .phone-link:hover {
  color: #F9FAFB;
  opacity: 0.85;
}

:root.using-touch .cta-button:hover {
  background-color: #C4963C;
  color: #FFFFFF;
  box-shadow:
          inset 0 0 0 0.0625rem rgba(255, 255, 255, 0.18),
          0 clamp(0.25rem, 0.277778vw, 0.666667rem)
          clamp(1rem, 1.111111vw, 2.666667rem)
          clamp(-0.333333rem, -0.138889vw, -0.125rem)
          rgba(22, 22, 22, 0.10);
}

:root.using-touch .case-type-list a:hover {
  color: rgb(63, 98, 128);
  text-decoration-color: currentColor;
}

:root.using-touch .breadcrumb a:hover {
  color: rgb(74, 74, 74);
}

:root.using-touch .article-byline a:hover {
  color: #4A4A4A;
  text-decoration-color: currentColor;
}

:root.using-touch .quick-links-card a:hover {
  color: #1B2A4A;
  text-decoration-line: none;
  text-decoration-color: currentColor;
  font-weight: 400;
}

:root.using-touch .phone-link2:hover {
  color: #111827;
}

:root.using-touch .cta-button2:hover {
  background: #C4963C;
  border-color: #B5852F;
}

:root.using-touch .attorney-info a:hover {
  color: #DCE7F2;
  text-decoration-line: none;
}

:root.using-touch .phone-link3:hover {
  color: #FFFFFF;
}

:root.using-touch .cta-button-3:hover {
  background: #C4963C;
}

:root.using-touch .site-footer a:hover {
  color: var(--footer-link);
  text-decoration-line: none;
  text-decoration-color: currentColor;
}

/* Keep WebKit autofill from repainting the CTA fields on Apple devices. */
.field-wrapper input:-webkit-autofill,
.field-wrapper input:-webkit-autofill:hover,
.field-wrapper textarea:-webkit-autofill,
.field-wrapper textarea:-webkit-autofill:hover {
  -webkit-text-fill-color: #111827;
  caret-color: #111827;
  box-shadow:
          inset 0 0 0 1px #B8C6D6,
          inset 0 0 0 1000px #FFFFFF;
}

.field-wrapper input:-webkit-autofill:focus,
.field-wrapper textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: #111827;
  caret-color: #111827;
  box-shadow:
          inset 0 0 0 1px #B3832F,
          inset 0 0 0 1000px #FFFFFF,
          0 0 0 2px #B3832F,
          0 0 0 4px rgba(241, 211, 154, 0.2);
}

.field-wrapper.has-error input:-webkit-autofill,
.field-wrapper.has-error input:-webkit-autofill:hover,
.field-wrapper.has-error textarea:-webkit-autofill,
.field-wrapper.has-error textarea:-webkit-autofill:hover {
  -webkit-text-fill-color: #111827;
  caret-color: #111827;
  box-shadow:
          inset 0 0 0 1px #D32F2F,
          inset 0 0 0 1000px #FFF8F8;
}

.field-wrapper.has-error input:-webkit-autofill:focus,
.field-wrapper.has-error textarea:-webkit-autofill:focus {
  -webkit-text-fill-color: #111827;
  caret-color: #111827;
  box-shadow:
          inset 0 0 0 1px #D32F2F,
          inset 0 0 0 1000px #FFF8F8,
          0 0 0 2px #D32F2F,
          0 0 0 4px rgba(211, 47, 47, 0.12);
}

.cta-form-column form.is-sending input:-webkit-autofill,
.cta-form-column form.is-sending input:-webkit-autofill:hover,
.cta-form-column form.is-sending textarea:-webkit-autofill,
.cta-form-column form.is-sending textarea:-webkit-autofill:hover {
  -webkit-text-fill-color: #4B5563;
  caret-color: #4B5563;
  box-shadow:
          inset 0 0 0 1px #D1D5DB,
          inset 0 0 0 1000px #F8FAFC;
}

.cta-form-column form.is-success input:-webkit-autofill,
.cta-form-column form.is-success input:-webkit-autofill:hover,
.cta-form-column form.is-success textarea:-webkit-autofill,
.cta-form-column form.is-success textarea:-webkit-autofill:hover {
  -webkit-text-fill-color: #9CA3AF;
  caret-color: #9CA3AF;
  box-shadow:
          inset 0 0 0 1px #D1D5DB,
          inset 0 0 0 1000px #F3F4F6;
}

.form-success-message .success-phone-number:visited {
  color: #152738;
  text-decoration: none;
  -webkit-text-fill-color: currentColor;
}

.mobile-sticky-bar__phone-link,
.mobile-sticky-bar__phone-link:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: calc(4px * var(--mobile-scale));
  min-width: 0;

  color: #FFFFFF;
  text-decoration: none;
  white-space: nowrap;

  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: calc(0.90625rem * var(--mobile-scale));
  line-height: 1.4;
  letter-spacing: 0.06em;

  transition: color 160ms ease, opacity 160ms ease;
  -webkit-tap-highlight-color: transparent;
}

.mobile-sticky-bar__phone-link:active {
  color: #C4963C; /* match header hover color */
  opacity: 1;
}

.mobile-sticky-bar__icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(20px * var(--mobile-scale));
  height: calc(20px * var(--mobile-scale));
  flex: 0 0 calc(20px * var(--mobile-scale));
  line-height: 0;
}

.mobile-sticky-bar__phone-icon {
  display: block;
  width: calc(17.5px * var(--mobile-scale));
  height: calc(17.5px * var(--mobile-scale));
  color: inherit;
  flex: 0 0 auto;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.mobile-sticky-bar__phone-text {
  display: block;
  color: inherit;
}

/* =========================================================
   FINAL PATCH - Desktop header text-zoom resilience (v2)
   Replaces the previous v1 patch.

   v1 problems:
     - flex: 1 1 34rem on .sticky-bar > nav stretched the
       nav element to fill the row, which (combined with
       justify-content: flex-start on .nav-primary) pinned
       the first nav link tight against the logo and broke
       the original space-between gap distribution.
     - flex-wrap: wrap on .sticky-bar let the row break;
       in source order [logo, nav, utility-nav] it was the
       utility group that dropped to a second row, so the
       phone + CTA detached from the right edge.

   v2 strategy:
     - Leave .sticky-bar as a single-row 3-item flex layout
       so utility-nav stays anchored on the right.
     - Let .nav-primary wrap its links internally so the
       <nav> element gains rows (not the .sticky-bar) when
       the available space is too tight for all six links.
     - Set min-width: 0 on the <nav> wrapper so the flex
       shrink algorithm can take width away from the nav
       (instead of letting it overflow at its min-content
       width).
     - Do NOT add flex-grow on the nav, so .sticky-bar's
       existing space-between distribution preserves the
       original logo->Home and Contact Us->phone gaps at
       1280-1440 default font.

   Mobile rules at max-width: 899px are untouched and
   already set .nav-primary, .phone-link, .cta-button to
   display: none, so this desktop-only block cannot leak
   into the mobile drawer layout.
   ========================================================= */
@media (min-width: 900px) {
  .sticky-bar > nav {
    display: flex;
    align-items: center;
    align-self: stretch;
    min-width: 0;
  }

  .nav-primary {
    height: 100%;
    align-items: stretch;
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }

  .nav-primary > li {
    display: flex;
    align-items: center;
    height: 100%;
  }
}

/* =========================================================
   Service area hub list
   ========================================================= */
.local-intent .local-intent-intro strong {
  font-weight: 700;
  color: #1B2A4A;
}

.local-intent .region-list--hub {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  row-gap: 0;
  width: 100%;
  max-width: min(100%, 720px);
  margin-top: clamp(28px, 2.638889vw, 44px);
  padding: 0;
}

.local-intent .region-group--hub {
  display: grid;
  grid-template-columns: clamp(72px, 5.555556vw, 96px) minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(20px, 2.083333vw, 34px);
  min-width: 0;
  margin: 0;
}

.local-intent .region-group__icon-badge {
  display: grid;
  place-items: center;
  width: clamp(72px, 5.555556vw, 96px);
  height: clamp(72px, 5.555556vw, 96px);
  border-radius: 50%;
  background: transparent;
}

.local-intent .region-group__icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.local-intent .region-group__body {
  min-width: 0;
}

.local-intent .region-group__title,
.local-intent .region-group__cities {
  margin: 0;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  letter-spacing: 0;
  text-align: left;
}

.local-intent .region-group__title {
  color: #111827;
  font-size: clamp(1.35rem, 1.736111vw, 1.875rem);
  font-weight: 700;
  line-height: 1.18;
}

.local-intent .region-group__title strong {
  font-weight: 700;
}

.local-intent .region-group__cities {
  margin-top: clamp(6px, 0.555556vw, 10px);
  color: #43546D;
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  font-weight: 400;
  line-height: 1.42;
}

.local-intent .region-list__divider {
  display: block;
  width: 100%;
  height: 1px;
  margin: clamp(24px, 2.222222vw, 36px) 0;
  background: rgba(67, 84, 109, 0.22);
}

@media (max-width: 899px) {
  .local-intent .region-list--hub {
    margin-top: calc(28px + 8px * var(--tablet-progress, 0));
  }

  .local-intent .region-group--hub {
    grid-template-columns: calc(68px + 8px * var(--tablet-progress, 0)) minmax(0, 1fr);
    column-gap: calc(16px + 4px * var(--tablet-progress, 0));
  }

  .local-intent .region-group__icon-badge {
    width: calc(68px + 8px * var(--tablet-progress, 0));
    height: calc(68px + 8px * var(--tablet-progress, 0));
  }

  .local-intent .region-group__title {
    font-size: calc(1.25rem + 0.125rem * var(--tablet-progress, 0));
    line-height: 1.2;
  }

  .local-intent .region-group__cities {
    font-size: calc(1rem + 0.0625rem * var(--tablet-progress, 0));
    line-height: 1.46;
  }

  .local-intent .region-list__divider {
    margin: calc(22px + 6px * var(--tablet-progress, 0)) 0;
  }
}

@media (max-width: 480px) {
  .local-intent .region-group--hub {
    grid-template-columns: 56px minmax(0, 1fr);
    column-gap: 14px;
  }

  .local-intent .region-group__icon-badge {
    width: 56px;
    height: 56px;
  }

  .local-intent .region-group__title {
    font-size: 1.125rem;
  }

  .local-intent .region-group__cities {
    font-size: 0.9375rem;
  }
}

/* =========================================================
   Footer practice areas continuous list
   ========================================================= */
.site-footer .footer-column--c2 {
  display: flex;
  flex-direction: column;
  grid-column: 6;
  grid-row: 1 / 5;
  align-self: start;
}

.site-footer .footer-column--c2 .footer-heading--c2,
.site-footer .footer-column--c2 .footer-cell-top--c2 {
  grid-column: auto;
  grid-row: auto;
  width: 100%;
  max-width: none;
  justify-self: stretch;
}

.site-footer .footer-column--c2 .footer-link-group--top {
  gap: 10px;
}

@media (max-width: 899px) {
  .site-footer .footer-column--c2 {
    grid-column: 1;
    grid-row: 6;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }
}

@media (min-width: 760px) and (max-width: 899px) {
  .site-footer .footer-column--c2 {
    grid-column: 2;
    grid-row: 2 / 6;
  }
}

@media (max-width: 899px) {
  .site-footer .footer-column {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: min(100%, calc(224px * var(--tablet-footer-scale, var(--mobile-scale, 1))));
    height: fit-content;
    min-height: 0;
    align-self: start;
    justify-self: center;
    justify-content: flex-start;
  }

  .site-footer .footer-column--c1 {
    grid-column: 1;
    grid-row: 2;
  }

  .site-footer .footer-column--c2 {
    grid-column: 1;
    grid-row: 3;
  }

  .site-footer .footer-column--c3 {
    grid-column: 1;
    grid-row: 4;
  }

  .site-footer .footer-note {
    grid-column: 1;
    grid-row: 5;
  }

  .site-footer .footer-column .footer-heading,
  .site-footer .footer-column .footer-cell-top,
  .site-footer .footer-column .footer-divider,
  .site-footer .footer-column .footer-cell-bot {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: 0;
    flex: 0 0 auto;
    justify-self: stretch;
  }

  .site-footer .footer-column .footer-cell-top {
    padding-bottom: 0 !important;
  }
}

@media (min-width: 760px) and (max-width: 899px) {
  .site-footer .footer-body {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-rows: auto auto auto;
  }

  .site-footer .footer-column {
    max-width: none;
    height: fit-content;
    align-self: start;
    justify-self: stretch;
  }

  .site-footer .footer-column--c1 {
    grid-column: 1;
    grid-row: 2;
  }

  .site-footer .footer-column--c2 {
    grid-column: 2;
    grid-row: 2;
  }

  .site-footer .footer-column--c3 {
    grid-column: 3;
    grid-row: 2;
  }

  .site-footer .footer-column--c3 .footer-cell-top--c3 {
    min-height: calc(172.5px + 11.5px * var(--tablet-progress, 0));
  }

  .site-footer .footer-note {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}
