@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;
}

/* Typed custom properties help IDE validators understand hero sizing values. */
@property --home-hero-locked-stage-height {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-panel-overlap {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-panel-inline {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-copy-zone-width {
    syntax: "<length-percentage>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-top-band-copy-width {
    syntax: "<length-percentage>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-seam-clearance {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-text-column-max {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-paragraph-max {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-eyebrow-max {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-title-width {
    syntax: "<length-percentage>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-image-bleed {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-text-overlay-rise {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

@property --home-hero-image-fade-height {
    syntax: "<length>";
    inherits: true;
    initial-value: 0px;
}

* {
    padding: 0;
    margin: 0;
}

html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

:root {
    /* Unitless multiplier set by JS. Defaults to 1 at a 16px root font size.
       Keeps vw-based clamp() preferred values valid while allowing the navbar
       to respond to browser font-size preferences on large displays. */
    --font-scale: 1;
    --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;
    --sticky-bar-overlap-height: clamp(5.125rem, calc(5.694444vw * var(--font-scale, 1)), 13.666667rem);
    --home-hero-source-height: clamp(713px, 49.513889vw, 1901.3333px);
    --home-hero-stable-viewport-height: 100svh;
    --home-hero-desktop-viewport-height: 100svh;
    /* Height-fit ratios (1 = approved reference). Inline JS lowers these on
       short laptop viewports so the hero stage + attorney image shrink to fit
       the visible screen instead of staying width-driven. length/length cannot
       be divided in CSS calc(), so the ratio is computed in JS. */
    --home-hero-fit: 1;
    --home-hero-type-fit: 1;
    --home-hero-desktop-fee-gap-scale: 1;
    --home-hero-desktop-rhythm-scale: 1;
    --home-hero-desktop-type-scale: 1;
    --home-hero-desktop-cta-spacer-scale: 1;
    --home-hero-desktop-rhythm-fill-scale: 1;
    --home-hero-desktop-fee-fill-scale: 1;
    --home-hero-desktop-cta-fill-scale: 1;
    --home-hero-image: url("../images/background_images/hero-desktop-1920.webp");
    --home-hero-stage-position: 100% 0%;
    --home-hero-image-focus-x: 100%;
    --home-hero-image-focus-y: 0%;
    --home-hero-background-position: var(--home-hero-image-focus-x) var(--home-hero-image-focus-y);

    --home-hero-stage-background:
            linear-gradient(
                    90deg,
                    rgba(10, 16, 24, 0.68) 0%,
                    rgba(10, 16, 24, 0.46) 8%,
                    rgba(10, 16, 24, 0.20) 14%,
                    rgba(10, 16, 24, 0.06) 20%,
                    rgba(10, 16, 24, 0.015) 25%,
                    rgba(10, 16, 24, 0) 30%
            ),
            #0b1118 var(--home-hero-image) var(--home-hero-stage-position) / cover no-repeat;

    --home-hero-overlay:
            linear-gradient(
                    90deg,
                    rgba(9, 15, 22, 0.52) 0%,
                    rgba(9, 15, 22, 0.32) 7%,
                    rgba(9, 15, 22, 0.12) 13%,
                    rgba(9, 15, 22, 0.04) 19%,
                    rgba(9, 15, 22, 0.01) 23%,
                    rgba(9, 15, 22, 0) 28%
            ),
            linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0.20) 0%,
                    rgba(0, 0, 0, 0.03) 18%,
                    rgba(0, 0, 0, 0.12) 100%
            );

    --home-hero-media-overlay:
            linear-gradient(
                    180deg,
                    rgba(10, 16, 24, 0.04) 0%,
                    rgba(10, 16, 24, 0.015) 30%,
                    rgba(10, 16, 24, 0.08) 100%
            );

    --home-hero-content-field:
            linear-gradient(
                    90deg,
                    rgba(7, 16, 28, 0.14) 0%,
                    rgba(7, 16, 28, 0.050) 18%,
                    rgba(7, 16, 28, 0.014) 28%,
                    rgba(7, 16, 28, 0) 36%
            );
}

@media (max-width: 56.1875em) and (orientation: landscape) and (max-height: 31.25em) {
    :root.device-iphone {
        --safe-area-inline-left: max(0px, calc(var(--safe-area-inset-left) - 24px));
        --safe-area-inline-right: max(0px, calc(var(--safe-area-inset-right) - 24px));
    }
}

@media (min-width: 42.5em) and (orientation: landscape) and (max-height: 31.25em) {
    :root.device-iphone {
        --safe-area-inline-left: max(0px, calc(var(--safe-area-inset-left) - 44px));
        --safe-area-inline-right: max(0px, calc(var(--safe-area-inset-right) - 44px));
    }
}

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

@media (max-width: 56.1875em) and (orientation: landscape) and (max-height: 31.25em) {
    :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: 16px;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 20px;
    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, calc(1.111111vw * var(--font-scale, 1)), 2.666667rem);
    --header-block-pad: clamp(0.25rem, calc(0.277778vw * var(--font-scale, 1)), 0.666667rem);
    --header-min-height: clamp(5.125rem, calc(5.694444vw * var(--font-scale, 1)), 13.666667rem);
    --header-group-gap: clamp(1.2rem, calc(1.666667vw * var(--font-scale, 1)), 4rem);
    --header-nav-gap: clamp(1.3rem, calc(1.875vw * var(--font-scale, 1)), 4.5rem);
    --header-utility-gap: clamp(1rem, calc(1.111111vw * var(--font-scale, 1)), 2.666667rem);
    --header-label-size: clamp(0.90625rem, calc(1.006944vw * var(--font-scale, 1)), 2.416667rem);
    --header-label-line-height: 1.4;
    --header-label-spacing: 0.06em;
    --header-phone-gap: clamp(0.25rem, calc(0.277778vw * var(--font-scale, 1)), 0.666667rem);
    --header-icon-size: clamp(1.125rem, calc(1.25vw * var(--font-scale, 1)), 3rem);
    --header-cta-inline-pad: clamp(1.26rem, calc(1.4vw * var(--font-scale, 1)), 3.733333rem);
    --header-cta-block-pad: clamp(0.875rem, calc(0.972222vw * var(--font-scale, 1)), 2.333333rem);
    --header-cta-radius: clamp(0.375rem, calc(0.416667vw * var(--font-scale, 1)), 1rem);
    --header-logo-height: clamp(4rem, calc(4.444444vw * var(--font-scale, 1)), 10.666667rem);
    --header-focus-offset: clamp(0.25rem, calc(0.277778vw * var(--font-scale, 1)), 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: rgba(42, 44, 47, 1);

    background-color: var(--sticky-bar-surface);
    position: sticky;
    top: 0;
    z-index: 1000;
    margin-bottom: calc(-1 * var(--sticky-bar-overlap-height));
    overflow: visible;
    transition: background-color 220ms ease;
}

.sticky-bar.is-over-hero {
    --sticky-bar-surface: rgba(42, 44, 47, 0.6);
    background-color: var(--sticky-bar-surface);
}

.sticky-bar.is-over-hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: calc(100% + 40px);
    pointer-events: none;
    z-index: -1;
    background:
            linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0.34) 0,
                    rgba(0, 0, 0, 0) 40px
            ) top / 100% 40px no-repeat;
    transition: opacity 220ms ease;
}

.sticky-bar.is-mobile-menu-open {
    --sticky-bar-surface: rgba(42, 44, 47, 1);
    background-color: var(--sticky-bar-surface);
}

.sticky-bar.is-mobile-menu-open::after {
    opacity: 0;
}

.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(2px, 0.138889vw, 5.3333px);
    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: 4px;

    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 1px rgba(255, 255, 255, 0.18),
    0 clamp(4px, 0.277778vw, 10.6667px)
    clamp(16px, 1.111111vw, 42.6667px)
    clamp(-5.3333px, -0.138889vw, -2px)
    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 1px rgba(255, 255, 255, 0.18),
    0 clamp(6px, 0.416667vw, 16px)
    clamp(18px, 1.25vw, 48px)
    clamp(-5.3333px, -0.138889vw, -2px)
    rgba(22, 22, 22, 0.12);
}

.cta-button:active {
    background-color: #A8792C;
    color: #FFFFFF;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18),
    0 clamp(2px, 0.138889vw, 5.3333px)
    clamp(8px, 0.555556vw, 21.3333px)
    clamp(-5.3333px, -0.138889vw, -2px)
    rgba(22, 22, 22, 0.10);
}

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

.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(1px);
}

.menu-toggle__icon {
    position: relative;
    display: block;
    width: 26px;
    height: 16px;
    flex: 0 0 16px;
}

.menu-toggle__bar {
    position: absolute;
    left: 0;
    width: 26px;
    height: 2px;
    background: currentColor;
    border-radius: 1px;
    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: 7px;
    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(7px) 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(-7px) rotate(-45deg);
}

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

.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, 264px);
    max-width: 264px;
    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: -14px 0 32px rgba(17, 24, 39, 0.28);
    transform: translateX(calc(100% + 12px));
    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: 20px 20px 24px;
    --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: 14px 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;
    }
}

.practice-explorer {
    --practice-pad-y: clamp(90px, 8.333333vw, 320px);
    --practice-pad-x: clamp(24px, 8.333333vw, 120px);
    --practice-gap: clamp(20px, 2.152778vw, 30px);
    --practice-shell-border: rgba(201, 212, 227, 0.14);
    --practice-group-border: rgba(201, 212, 227, 0.11);
    --practice-link-active: rgba(255, 255, 255, 0.055);
    --practice-link-active-strong: rgba(196, 150, 60, 0.34);
    --practice-preview-height: clamp(252px, 18vw, 272px);
    --practice-preview-pad-block: clamp(21.6px, 1.8vw, 25.6px);
    --practice-preview-pad-inline: clamp(23.2px, 2vw, 26.4px);
    --practice-preview-shadow: 0 24px 56px rgba(8, 21, 34, 0.2),
    inset 0 1px 0 rgba(255, 255, 255, 0.05);

    --practice-atmosphere-width: clamp(1216px, 96vw, 1440px);
    --practice-atmosphere-height: clamp(512px, 40vw, 640px);
    --practice-atmosphere-blur: 72px;
    --practice-atmosphere-center-x: 50%;
    --practice-atmosphere-center-y: 50%;

    position: relative;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    scroll-margin-top: var(--anchor-offset-desktop);
    width: 100%;
    padding:
            calc(var(--practice-pad-y) + var(--sticky-bar-overlap-height))
            var(--practice-pad-x)
            var(--practice-pad-y);
    background: #14233B;
    color: #F5F7FA;
}

.practice-explorer__background {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.practice-explorer__neutral-fill,
.practice-explorer__image-stage {
    position: absolute;
    inset: 0;
}

.practice-explorer__neutral-fill {
    z-index: 0;
    background:
            linear-gradient(
                    180deg,
                    rgba(20, 35, 59, 0.96) 0%,
                    rgba(20, 35, 59, 0.92) 46%,
                    rgba(20, 35, 59, 0.98) 100%
            ),
            linear-gradient(
                    90deg,
                    rgba(255, 255, 255, 0.035) 0%,
                    rgba(255, 255, 255, 0) 42%
            ),
            #14233B;
}

.practice-explorer__image-stage {
    z-index: 1;
    opacity: 0;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    transition: opacity 220ms ease, filter 220ms ease;
    will-change: opacity, filter;
    filter: saturate(0.84) brightness(0.88) contrast(1.01);
}

.practice-explorer__image-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
            linear-gradient(
                    90deg,
                    rgba(20, 35, 59, 0.88) 0%,
                    rgba(20, 35, 59, 0.82) 20%,
                    rgba(20, 35, 59, 0.64) 40%,
                    rgba(20, 35, 59, 0.44) 58%,
                    rgba(20, 35, 59, 0.34) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(8, 16, 28, 0.40) 0%,
                    rgba(14, 28, 46, 0.42) 46%,
                    rgba(20, 35, 59, 0.52) 100%
            ),
            radial-gradient(
                    circle at 18% 34%,
                    rgba(127, 184, 248, 0.04) 0%,
                    rgba(20, 35, 59, 0) 42%
            );
}

.practice-explorer.has-active-background .practice-explorer__neutral-fill {
    opacity: 0.90;
}

.practice-explorer__image-stage.is-visible {
    opacity: 1;
}

.practice-explorer__atmosphere {
    display: none;
}

.practice-explorer__inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(336px, 392px);
    grid-template-areas:
          "header header"
          "nav preview";
    column-gap: clamp(48px, 4.4vw, 76px);
    row-gap: clamp(26px, 2.3vw, 34px);
    width: min(100%, 1172px);
    margin: 0 auto;
    align-items: start;
}

.practice-explorer__header {
    grid-area: header;
    display: grid;
    gap: 16px;
    align-content: start;
}

.practice-explorer__eyebrow {
    display: grid;
    gap: 16px;
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #C9D4E3;
}

.practice-explorer__eyebrow::before {
    content: "";
    width: 58px;
    height: 2px;
    background: #C4963C;
}

.practice-explorer__heading {
    margin: 0;
    font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
    font-size: calc(4.375rem * var(--desktop-scale));
    font-weight: 700;
    line-height: 0.9429;
    letter-spacing: -0.01em;
    color: #F5F7FA;
}

.practice-explorer__intro {
    max-width: 680px;
    margin: calc(14px * var(--desktop-scale)) 0 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 1.68;
    color: rgba(255, 255, 255, 0.9);
}

.practice-explorer__layout {
    display: contents;
}

.practice-explorer__nav-shell,
.practice-explorer__nav,
.practice-explorer__preview-shell {
    min-width: 0;
}

.practice-explorer__nav-shell {
    grid-area: nav;
    display: grid;
    gap: clamp(13px, 1.05vw, 16px);
    align-content: start;
}

.practice-explorer__nav {
    display: grid;
    position: relative;
    gap: 19px;
    padding-top: 2px;
    align-content: start;
    isolation: isolate;
}

.practice-explorer__nav::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 0;
    width: var(--practice-atmosphere-width);
    height: var(--practice-atmosphere-height);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: radial-gradient(
            50% 50% at 50% 50%,
            rgba(127, 184, 248, 0.12) 0%,
            rgba(63, 120, 190, 0.06) 50%,
            rgba(20, 35, 59, 0) 100%
    );
    filter: blur(var(--practice-atmosphere-blur));
    opacity: 1;
    pointer-events: none;
    transition: opacity 220ms ease;
}

.practice-explorer__nav > * {
    position: relative;
    z-index: 1;
}

.practice-explorer[data-state="active"] .practice-explorer__nav::before {
    opacity: 0;
}

.practice-explorer__group {
    display: grid;
    gap: 12px;
    padding: 0;
    border: 0;
}

.practice-explorer__group + .practice-explorer__group {
    margin-top: 6px;
}

.practice-explorer__group-title {
    display: grid;
    gap: 12px;
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.78125rem;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: 0.155em;
    text-transform: uppercase;
    color: #C9D4E3;
}

.practice-explorer__group-title::before {
    content: none;
}

.practice-explorer__group-list {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.practice-explorer__group-item {
    margin: 0;
}

.practice-explorer__link,
.practice-explorer__link:visited {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 9px;
    width: 100%;
    box-sizing: border-box;
    padding: 8px 12px 8px 10px;
    border: 0;
    border-radius: 0;
    color: rgba(245, 247, 250, 0.82);
    background: transparent;
    text-decoration: none;
    box-shadow: none;
    isolation: auto;
    overflow: hidden;
    transition:
            background-color 160ms ease,
            color 160ms ease;
}

.practice-explorer__link:hover,
.practice-explorer__link:focus-visible,
.practice-explorer__link.is-active {
    color: #FFFFFF;
    background:
            linear-gradient(
                    90deg,
                    rgba(255, 255, 255, 0.05) 0%,
                    rgba(255, 255, 255, 0.02) 58%,
                    rgba(255, 255, 255, 0) 100%
            );
}

.practice-explorer__link::after {
    content: none !important;
    display: none !important;
}

.practice-explorer__link::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    border-radius: 0;
    background: #C4963C;
    transform: scaleX(0);
    transform-origin: left center;
    pointer-events: none;
    transition: transform 180ms ease;
}

.practice-explorer__link:hover::before,
.practice-explorer__link:focus-visible::before,
.practice-explorer__link.is-active::before {
    transform: scaleX(1);
}

.practice-explorer__link:focus-visible {
    outline: 2px solid rgba(196, 150, 60, 0.92);
    outline-offset: 3.2px;
}

.practice-explorer__link-bullet {
    width: 6.4px;
    height: 6.4px;
    margin-left: 2px;
    border: 1px solid rgba(201, 212, 227, 0.76);
    border-radius: 1px;
    background: transparent;
    transform: rotate(45deg);
    transition: background-color 160ms ease, border-color 160ms ease;
}

.practice-explorer__link.is-active .practice-explorer__link-bullet,
.practice-explorer__link:hover .practice-explorer__link-bullet,
.practice-explorer__link:focus-visible .practice-explorer__link-bullet {
    background: #C4963C;
    border-color: #C4963C;
}

.practice-explorer__link-label {
    min-width: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.005em;
}

.practice-explorer__preview-shell {
    grid-area: preview;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: clamp(9.6px, 0.85vw, 13.6px);
    padding-top: clamp(7.2px, 0.9vw, 12.8px);
}

.practice-explorer__helper {
    display: none;
    box-sizing: border-box;
    margin: 0;
    padding-left: 10px;
    border-left: 2px solid rgba(196, 150, 60, 0.24);
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.48;
    letter-spacing: 0.01em;
    color: rgba(201, 212, 227, 0.7);
    text-wrap: pretty;
}

.practice-explorer__helper--desktop,
.practice-explorer__helper--mobile {
    display: none;
}

.practice-explorer__preview {
    --practice-preview-rule-width: 25.8848px;

    position: relative;
    display: grid;
    overflow: hidden;
    gap: 12px;
    align-content: start;
    width: 100%;
    max-width: 392px;
    min-height: var(--practice-preview-height);
    height: var(--practice-preview-height);
    padding:
            var(--practice-preview-pad-block)
            var(--practice-preview-pad-inline)
            var(--practice-preview-pad-block);
    border-radius: 18px;
    -webkit-backdrop-filter: blur(20px) saturate(118%);
    backdrop-filter: blur(20px) saturate(118%);

    background:
            linear-gradient(
                    180deg,
                    rgba(205, 221, 238, 0.09) 0%,
                    rgba(173, 195, 221, 0.055) 100%
            );
    border: 1px solid rgba(226, 236, 246, 0.10);
    box-shadow: 0 13.6px 30.4px rgba(8, 21, 34, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.13),
    inset 0 -1px 0 rgba(255, 255, 255, 0.018);
}

.practice-explorer__preview::before {
    content: "";
    position: absolute;
    top: 16.8px;
    left: clamp(23.2px, 2vw, 26.4px);
    width: var(--practice-preview-rule-width);
    height: 1px;
    background: rgba(196, 150, 60, 0.92);
}

.practice-explorer__preview::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    pointer-events: none;
    background:
            radial-gradient(
                    circle at 100% 0%,
                    rgba(127, 184, 248, 0.11) 0%,
                    rgba(127, 184, 248, 0) 38%
            ),
            linear-gradient(
                    135deg,
                    rgba(255, 255, 255, 0.02) 0%,
                    rgba(255, 255, 255, 0) 58%
            );
}

.practice-explorer__preview > * {
    position: relative;
    z-index: 1;
}

.practice-explorer__preview-kicker {
    margin: 0;
    padding-top: 10.4px;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.78125rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    color: #D1DFEC;
}

.practice-explorer__preview-title {
    margin: 0;
    font-family: "Sitka Heading Bold", Georgia, serif;
    width: 100%;
    max-width: none;
    font-size: clamp(2.1rem, 2.45vw, 2.55rem);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.02em;
    color: #F5F7FA;
}

.practice-explorer__preview-copy {
    width: 100%;
    max-width: 368px;
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.96875rem;
    font-weight: 400;
    line-height: 1.62;
    color: rgba(238, 244, 249, 0.93);
}

.practice-explorer[data-state="neutral"] .practice-explorer__preview {
    min-height: var(--practice-preview-height);
    height: var(--practice-preview-height);
}

.practice-explorer[data-state="neutral"] .practice-explorer__preview-title {
    width: 100%;
    max-width: none;
    font-size: clamp(1.82rem, 2.04vw, 2.08rem);
    line-height: 0.97;
}

.practice-explorer[data-state="neutral"] .practice-explorer__preview-copy {
    width: 100%;
    max-width: 348px;
}

.practice-explorer__preview-actions {
    display: none;
    gap: 10px;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(201, 212, 227, 0.14);
}

.practice-explorer__preview-actions.is-visible {
    display: grid;
}

.practice-explorer__preview-cta,
.practice-explorer__preview-cta:visited {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    width: fit-content;
    max-width: 100%;
    color: rgba(245, 247, 250, 0.94);
    text-decoration: none;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.02em;
    overflow: visible;
    -webkit-tap-highlight-color: transparent;
    transition:
            color 160ms ease,
            transform 160ms ease;
}

.practice-explorer__preview-cta-label {
    display: block;
}

.practice-explorer__preview-cta-icon {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    min-width: 20px;
    height: 12px;
    color: #C4963C;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 298.639787 243.489707'%3E%3Cpath fill='black' d='M0 143.073067h216.973013L146.7232 213.32288l30.166613 30.166827L298.639787 121.739733 176.889813 0 146.7232 30.166827l70.247253 70.239573H0z'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 88%;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 298.639787 243.489707'%3E%3Cpath fill='black' d='M0 143.073067h216.973013L146.7232 213.32288l30.166613 30.166827L298.639787 121.739733 176.889813 0 146.7232 30.166827l70.247253 70.239573H0z'/%3E%3C/svg%3E");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: 100% 88%;
    transform: translate3d(0, 0.03em, 0) scale3d(1, 1, 1);
    transform-origin: left center;
    will-change: transform;
    transition:
            transform 180ms ease,
            background-color 160ms ease;
}

.practice-explorer__preview-cta:hover,
.practice-explorer__preview-cta:focus-visible {
    color: #FFFFFF;
}

.practice-explorer__preview-cta:hover .practice-explorer__preview-cta-icon,
.practice-explorer__preview-cta:focus-visible .practice-explorer__preview-cta-icon {
    color: #E0B766;
    transform: translate3d(1.6px, 0.03em, 0) scale3d(1.22, 1, 1);
}

.practice-explorer__preview-cta:active {
    color: rgba(245, 247, 250, 0.9);
    transform: translateY(1px);
}

.practice-explorer__preview-cta:active .practice-explorer__preview-cta-icon {
    color: #C79336;
    transform: translate3d(0.96px, 0.03em, 0) scale3d(1.12, 1, 1);
}

.practice-explorer__preview-cta:focus-visible {
    outline: 2px solid rgba(196, 150, 60, 0.92);
    outline-offset: 4px;
}

.practice-explorer__preview-meta {
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.55;
    color: rgba(238, 244, 249, 0.93);
}

.practice-explorer__preview-meta a,
.practice-explorer__preview-meta a:visited {
    color: #FFFFFF;
    text-decoration: none;
    transition:
            color 160ms ease,
            opacity 160ms ease;
}

.practice-explorer__preview-meta a:hover,
.practice-explorer__preview-meta a:focus-visible {
    color: #D2A84D;
    opacity: 1;
}

.practice-explorer__preview-meta a:active {
    color: #BC8D33;
    opacity: 1;
}

.practice-explorer__preview-meta a:focus-visible {
    outline: 2px solid rgba(210, 168, 77, 0.9);
    outline-offset: var(--header-focus-offset);
}

.practice-explorer[data-state="active"] .practice-explorer__preview {
    background:
            linear-gradient(
                    180deg,
                    rgba(205, 221, 238, 0.11) 0%,
                    rgba(173, 195, 221, 0.065) 100%
            );
    border: 1px solid rgba(226, 236, 246, 0.12);
}

@media (min-width: 56.25em) {
    .practice-explorer {
        --practice-scale: var(--practice-desktop-scale);
        /* Safe-minimum visible breathing room above/below the centered
           content. The section fills the viewport below the sticky navbar
           (see the min-height + flex centering rules below), so the actual
           visible padding will usually be larger than this value — the
           extra space distributes evenly above and below. */
        --practice-pad-y: calc(clamp(72px, 32px + 5svh, 144px) * var(--practice-scale));
        --practice-pad-x: calc(120px * var(--practice-scale));
        --practice-preview-height: calc(259.2px * var(--practice-scale));
        --practice-preview-pad-block: calc(25.6px * var(--practice-scale));
        --practice-preview-pad-inline: calc(26.4px * var(--practice-scale));
        --practice-preview-shadow: 0 calc(24px * var(--practice-scale))
        calc(56px * var(--practice-scale))
        rgba(8, 21, 34, 0.2),
        inset 0 calc(1px * var(--practice-scale)) 0 rgba(255, 255, 255, 0.05);
        --practice-atmosphere-width: calc(1382.4px * var(--practice-scale));
        --practice-atmosphere-height: calc(576px * var(--practice-scale));
        --practice-atmosphere-blur: calc(72px * var(--practice-scale));

        /* Take up the full viewport height so the explorer occupies the
           area below the sticky navbar. The base rule's padding formula
           already gives padding-top = --practice-pad-y + sticky-overlap
           and padding-bottom = --practice-pad-y, which makes the *visible*
           top and bottom breathing room equal (the navbar absorbs the
           sticky-overlap amount on top). `safe center` falls back to
           flex-start if the content would overflow — see the short-height
           media queries at the end of the file for the explicit fallback
           that also reduces the padding so content isn't pushed too low
           or clipped on small viewports. */
        min-height: 100svh;
        display: flex;
        flex-direction: column;
        justify-content: safe center;
    }

    .practice-explorer__inner {
        grid-template-columns: minmax(0, 1.12fr)
            minmax(calc(336px * var(--practice-scale)), calc(392px * var(--practice-scale)));
        column-gap: calc(63.36px * var(--practice-scale));
        row-gap: calc(33.12px * var(--practice-scale));
        width: min(100%, calc(1172px * var(--practice-scale)));
    }

    .practice-explorer__header {
        gap: calc(16px * var(--practice-scale));
    }

    .practice-explorer__eyebrow {
        gap: calc(16px * var(--practice-scale));
        font-size: calc(1.25rem * var(--practice-scale));
    }

    .practice-explorer__eyebrow::before {
        width: calc(58px * var(--practice-scale));
        height: calc(2px * var(--practice-scale));
    }

    .practice-explorer__heading {
        font-size: calc(4.375rem * var(--practice-scale));
    }

    .practice-explorer__intro {
        max-width: calc(680px * var(--practice-scale));
        margin-top: calc(14px * var(--practice-scale));
        font-size: calc(1.0625rem * var(--practice-scale));
    }

    .practice-explorer__nav {
        gap: calc(19px * var(--practice-scale));
        padding-top: calc(2px * var(--practice-scale));
    }

    .practice-explorer__group {
        gap: calc(12px * var(--practice-scale));
    }

    .practice-explorer__group + .practice-explorer__group {
        margin-top: calc(6px * var(--practice-scale));
    }

    .practice-explorer__group-title {
        gap: calc(12px * var(--practice-scale));
        font-size: calc(0.78125rem * var(--practice-scale));
    }

    .practice-explorer__group-list {
        gap: calc(5px * var(--practice-scale));
    }

    .practice-explorer__link,
    .practice-explorer__link:visited {
        gap: calc(9px * var(--practice-scale));
        padding: calc(8px * var(--practice-scale))
        calc(12px * var(--practice-scale))
        calc(8px * var(--practice-scale))
        calc(10px * var(--practice-scale));
    }

    .practice-explorer__link::before {
        width: calc(4px * var(--practice-scale));
    }

    .practice-explorer__link:focus-visible {
        outline-width: calc(2px * var(--practice-scale));
        outline-offset: calc(3.2px * var(--practice-scale));
    }

    .practice-explorer__link-bullet {
        width: calc(6.4px * var(--practice-scale));
        height: calc(6.4px * var(--practice-scale));
        margin-left: calc(3px * var(--practice-scale));
        border-width: calc(1px * var(--practice-scale));
        border-radius: calc(1px * var(--practice-scale));
    }

    .practice-explorer__link-label {
        font-size: calc(1rem * var(--practice-scale));
    }

    .practice-explorer__nav-shell {
        margin-top: calc(-16px * var(--practice-scale));
        gap: calc(15px * var(--practice-scale));
    }

    .practice-explorer__preview-shell {
        padding-top: calc(12.8px * var(--practice-scale));
    }

    .practice-explorer__helper {
        padding-left: calc(10px * var(--practice-scale));
        border-left-width: calc(2px * var(--practice-scale));
        font-size: calc(0.8125rem * var(--practice-scale));
    }

    .practice-explorer__preview {
        --practice-preview-rule-width: calc(25.8848px * var(--practice-scale));

        gap: calc(12px * var(--practice-scale));
        max-width: calc(392px * var(--practice-scale));
        border-radius: calc(18px * var(--practice-scale));
        -webkit-backdrop-filter: blur(calc(20px * var(--practice-scale))) saturate(118%);
        backdrop-filter: blur(calc(20px * var(--practice-scale))) saturate(118%);
        border-width: calc(1px * var(--practice-scale));
        box-shadow: 0 calc(18px * var(--practice-scale))
        calc(38px * var(--practice-scale))
        rgba(8, 21, 34, 0.16),
        0 calc(4px * var(--practice-scale))
        calc(12px * var(--practice-scale))
        rgba(8, 21, 34, 0.08),
        inset 0 calc(1px * var(--practice-scale)) 0 rgba(255, 255, 255, 0.18),
        inset 0 calc(-1px * var(--practice-scale)) 0 rgba(255, 255, 255, 0.024);
    }

    .practice-explorer__preview::before {
        top: calc(16.8px * var(--practice-scale));
        left: var(--practice-preview-pad-inline);
        height: calc(1px * var(--practice-scale));
    }

    .practice-explorer__preview-kicker {
        padding-top: calc(10.4px * var(--practice-scale));
        font-size: calc(0.78125rem * var(--practice-scale));
    }

    .practice-explorer__preview-title {
        font-size: calc(2.205rem * var(--practice-scale));
    }

    .practice-explorer__preview-copy {
        max-width: calc(368px * var(--practice-scale));
        font-size: calc(0.96875rem * var(--practice-scale));
    }

    .practice-explorer[data-state="neutral"] .practice-explorer__preview-title {
        font-size: calc(1.836rem * var(--practice-scale));
    }

    .practice-explorer[data-state="neutral"] .practice-explorer__preview-copy {
        max-width: calc(348px * var(--practice-scale));
    }

    .practice-explorer__preview-actions {
        gap: calc(10px * var(--practice-scale));
        padding-top: calc(14px * var(--practice-scale));
        border-top-width: calc(1px * var(--practice-scale));
    }

    .practice-explorer__preview-cta,
    .practice-explorer__preview-cta:visited {
        gap: calc(9px * var(--practice-scale));
        font-size: calc(1rem * var(--practice-scale));
    }

    .practice-explorer__preview-cta-icon {
        width: calc(20px * var(--practice-scale));
        height: calc(12px * var(--practice-scale));
    }

    .practice-explorer__preview-cta:focus-visible {
        outline-width: calc(2px * var(--practice-scale));
        outline-offset: calc(4px * var(--practice-scale));
    }

    .practice-explorer__preview-meta {
        font-size: calc(0.875rem * var(--practice-scale));
    }

    .practice-explorer__preview-meta a:focus-visible {
        outline-width: calc(2px * var(--practice-scale));
        outline-offset: calc(4px * var(--practice-scale));
    }

    .practice-explorer[data-state="active"] .practice-explorer__preview-actions,
    .practice-explorer[data-state="active"] .practice-explorer__preview-actions.is-visible {
        display: grid !important;
        visibility: hidden;
        pointer-events: none;
    }
}

@media (max-width: 56.1875em) {
    .practice-explorer {
        padding:
                calc((42px * var(--mobile-scale)) + var(--sticky-bar-overlap-height))
                calc((24px * var(--mobile-scale)) + var(--safe-area-inline-right))
                calc(56px * var(--mobile-scale))
                calc((24px * var(--mobile-scale)) + var(--safe-area-inline-left));
    }

    .practice-explorer__image-stage::after {
        background:
                linear-gradient(
                        180deg,
                        rgba(8, 17, 29, 0.8) 0%,
                        rgba(15, 31, 52, 0.9) 58%,
                        rgba(20, 35, 59, 0.96) 100%
                ),
                linear-gradient(
                        90deg,
                        rgba(20, 35, 59, 0.9) 0%,
                        rgba(20, 35, 59, 0.72) 100%
                );
    }

    .practice-explorer__inner {
        width: 100%;
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "preview"
            "nav";
        row-gap: calc(14px * var(--mobile-scale));
        column-gap: 0;
    }

    .practice-explorer__header {
        gap: calc(8px * var(--mobile-scale));
    }

    .practice-explorer__eyebrow {
        gap: calc(12px * var(--mobile-scale));
        font-size: calc(1.25rem * var(--mobile-scale));
    }

    .practice-explorer__eyebrow::before {
        width: calc(58px * var(--mobile-scale));
    }

    .practice-explorer__heading {
        font-size: calc(2.4375rem * var(--mobile-scale));
    }

    .practice-explorer__intro {
        font-size: calc(0.9375rem * var(--mobile-scale));
        line-height: 1.6;
    }

    .practice-explorer__layout {
        display: contents;
    }

    .practice-explorer__preview-shell {
        justify-content: flex-start;
    }

    .practice-explorer__nav-shell {
        gap: calc(10px * var(--mobile-scale));
    }

    .practice-explorer__nav {
        gap: calc(10px * var(--mobile-scale));
    }

    .practice-explorer__group {
        gap: calc(7px * var(--mobile-scale));
        padding: 0;
        margin: 0;
    }

    .practice-explorer__group + .practice-explorer__group {
        margin-top: calc(8px * var(--mobile-scale));
    }

    .practice-explorer__group-title {
        gap: calc(8px * var(--mobile-scale));
        font-size: calc(0.71875rem * var(--mobile-scale));
    }

    .practice-explorer__group-title::before {
        content: none;
    }

    .practice-explorer__group-list {
        gap: calc(2px * var(--mobile-scale));
    }

    .practice-explorer__link,
    .practice-explorer__link:visited {
        gap: calc(10px * var(--mobile-scale));
        padding: calc(8px * var(--mobile-scale)) calc(10px * var(--mobile-scale)) calc(8px * var(--mobile-scale)) calc(2px * var(--mobile-scale));
        border-radius: calc(8px * var(--mobile-scale));
    }

    .practice-explorer__link-bullet {
        width: calc(7px * var(--mobile-scale));
        height: calc(7px * var(--mobile-scale));
    }

    .practice-explorer__link-label {
        font-size: calc(0.9375rem * var(--mobile-scale));
    }

    .practice-explorer__preview {
        --practice-preview-mobile-height: calc(300px * var(--mobile-scale));

        box-sizing: border-box;
        gap: calc(8px * var(--mobile-scale));
        max-width: none;
        height: var(--practice-preview-mobile-height);
        min-height: var(--practice-preview-mobile-height);
        padding:
                calc(14px * var(--mobile-scale))
                calc(14px * var(--mobile-scale))
                calc(16px * var(--mobile-scale));
        border-radius: calc(13px * var(--mobile-scale));
        background:
                linear-gradient(
                        180deg,
                        rgba(18, 33, 56, 0.56) 0%,
                        rgba(18, 34, 58, 0.4) 100%
                );
        box-shadow: 0 12px 28px rgba(8, 21, 34, 0.16),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
        -webkit-backdrop-filter: blur(14px) saturate(112%);
        backdrop-filter: blur(14px) saturate(112%);
    }

    .practice-explorer[data-state="neutral"] .practice-explorer__preview,
    .practice-explorer[data-state="active"] .practice-explorer__preview {
        height: var(--practice-preview-mobile-height);
        min-height: var(--practice-preview-mobile-height);
    }

    .practice-explorer__preview::before {
        top: calc(12px * var(--mobile-scale));
        left: calc(14px * var(--mobile-scale));
        width: calc(40px * var(--mobile-scale));
    }

    .practice-explorer__preview-kicker {
        padding-top: calc(7px * var(--mobile-scale));
        font-size: calc(0.6875rem * var(--mobile-scale));
    }

    .practice-explorer__preview-title {
        max-width: none;
        font-size: calc(1.5rem * var(--mobile-scale));
    }

    .practice-explorer__preview-copy {
        width: 100%;
        max-width: none;
        font-size: calc(0.78125rem * var(--mobile-scale));
        line-height: 1.46;
    }

    .practice-explorer__preview-title,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-title,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-copy {
        width: 100%;
        max-width: none;
    }

    .practice-explorer__preview-title,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-title {
        line-height: 0.98;
    }

    .practice-explorer__preview-actions {
        gap: calc(6px * var(--mobile-scale));
        margin-top: 0;
        padding-top: calc(10px * var(--mobile-scale));
    }

    .practice-explorer__preview-cta,
    .practice-explorer__preview-cta:visited {
        gap: calc(7px * var(--mobile-scale));
        font-size: calc(0.90625rem * var(--mobile-scale));
    }

    .practice-explorer__preview-cta-icon {
        width: calc(19px * var(--mobile-scale));
        height: calc(12px * var(--mobile-scale));
    }

    .practice-explorer__preview-meta {
        font-size: calc(0.75rem * var(--mobile-scale));
        line-height: 1.4;
    }

    .practice-explorer {
        --practice-atmosphere-width: 704px;
        --practice-atmosphere-height: 384px;
        --practice-atmosphere-blur: 56px;
    }
}

@media (min-width: 56.25em) {
    .practice-explorer__nav {
        overflow: visible;
        grid-template-columns: minmax(0, 1fr) minmax(0, 0.86fr);
        column-gap: calc(51.84px * var(--practice-scale));
        row-gap: calc(4px * var(--practice-scale));
        align-items: start;
    }

    .practice-explorer__group:nth-of-type(1) {
        grid-column: 1 / -1;
    }

    .practice-explorer__group:nth-of-type(1) .practice-explorer__group-list {
        display: grid;
        grid-template-columns: minmax(calc(236px * var(--practice-scale)), 1fr)
            minmax(calc(236px * var(--practice-scale)), 0.86fr);
        column-gap: calc(51.84px * var(--practice-scale));
        row-gap: calc(6px * var(--practice-scale));
    }

    .practice-explorer__group:nth-of-type(2),
    .practice-explorer__group:nth-of-type(3) {
        border-top: calc(1px * var(--practice-scale)) solid rgba(201, 212, 227, 0.09);
        padding-top: calc(18px * var(--practice-scale));
        margin-top: calc(8px * var(--practice-scale));
    }
}

@media (prefers-reduced-motion: reduce) {
    .practice-explorer__image-stage,
    .practice-explorer__link,
    .practice-explorer__link::before,
    .practice-explorer__link-bullet,
    .practice-explorer__preview-cta-icon {
        transition: none;
    }
}

.about-oaken {
    --about-pad-top: clamp(90px, 8.333333vw, 320px);
    --about-pad-bottom: calc(clamp(90px, 8.333333vw, 320px) + var(--about-frame-offset-y));
    --about-pad-right: clamp(24px, 8.333333vw, 320px);
    --about-pad-left: clamp(24px, 8.333333vw, 320px);
    --about-row-gap: clamp(40px, 4.444444vw, 170.6667px);
    --about-column-gap: clamp(32px, 3.472222vw, 133.3333px);
    --about-text-gap: clamp(28px, 1.944444vw, 74.6667px);
    --about-block-gap: clamp(10px, 0.694444vw, 26.6667px);
    --about-frame-offset-x: clamp(20px, 3.333333vw, 128px);
    --about-frame-offset-y: clamp(26.875px, 2.986111vw, 114.6667px);
    --about-frame-border: clamp(4px, 0.416667vw, 10px);
    --about-media-shadow: 0 8px 24px rgba(27, 42, 74, 0.12);
    --about-sticky-gap: clamp(24px, 1.666667vw, 64px);
    --about-sticky-top: calc(var(--sticky-bar-overlap-height) + var(--about-sticky-gap));
    --about-media-sticky-bottom-gap: clamp(24px, 1.666667vw, 64px);
    --about-media-base-min-height: clamp(563.825px, 62.647222vw, 2405.6533px);
    --about-media-image-aspect-ratio: 0.6296052632;
    --about-media-visual-min-height: clamp(640px, 44.444444vw, 896px);
    --about-media-visual-max-height: clamp(896px, 75vw, 1248px);
    --about-media-stage-width: 100%;
    --about-media-stage-height: calc(var(--about-media-base-min-height) + var(--about-frame-offset-y));
    --about-media-pad-top: clamp(24px, 2.777778vw, 106.6667px);
    --about-media-pad-inline: clamp(24px, 2.777778vw, 106.6667px);
    --about-media-pad-bottom: clamp(87.5px, 9.722222vw, 373.3333px);
    --about-media-overlay-step-1: 54%;
    --about-media-overlay-step-2: 62%;
    --about-media-overlay-step-3: 84%;
    --about-media-overlay-step-4: 96%;
    --about-bottom-seam-depth: clamp(48.328px, 5.368056vw, 206.1328px);
    --about-bullet-size: clamp(8px, 0.555556vw, 21.3333px);
    --about-bullet-gap: clamp(11px, 0.763889vw, 29.3333px);
    --about-block-text-inset: calc(var(--about-bullet-size) + var(--about-bullet-gap));
    --about-block-title-line-box: calc(clamp(1.375rem, 1.527778vw, 3.666667rem) * 1.363636);
    --oak-choose-trigger-ratio: 0.42;
    --oak-choose-media-y: 24px;
    --oak-choose-media-duration: 850ms;
    --oak-choose-media-clip-start: 14%;
    --oak-choose-media-use-clip: 1;
    --oak-choose-overlay-y: 14px;
    --oak-choose-overlay-duration: 600ms;
    --oak-choose-overlay-delay: 160ms;
    --oak-choose-group-y: 16px;
    --oak-choose-group-duration: 560ms;
    --oak-choose-group-stagger: 80ms;
    --oak-choose-accent-duration: 800ms;
    --oak-choose-accent-phase-duration: 800ms;
    --oak-choose-accent-delay: 260ms;
    --oak-choose-accent-start: 340ms;
    --oak-choose-hover-image-scale: 1.012;
    --oak-choose-hover-play-scale: 1.04;
    --oak-choose-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
    --oak-choose-ease-soft: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --oak-choose-ease-hover: ease;
    --about-atmosphere-width: clamp(1305px, 90.625vw, 3480px);
    --about-atmosphere-height: clamp(3231.43px, 224.404861vw, 8617.1467px);
    --about-atmosphere-blur: 72px;

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

    box-sizing: border-box;
    width: 100%;
    padding:
            var(--about-pad-top)
            var(--about-pad-right)
            var(--about-pad-bottom)
            var(--about-pad-left);
    background: transparent;
    color: #F5F7FA;
}

/* -------------------------------------------------------------------
   Continuous About-background surface through the about/practice seam.

   Paints navy ONCE on a single ::before that extends seam-depth below
   the About box. A clip-path carves the bottom-LEFT triangle out so the
   pseudo-element fills exactly the About rectangle plus the bottom
   triangle that hides under practice-explorer's top slash. The depth
   variable matches practice-explorer's --practice-top-seam-depth so the
   hypotenuses are the same line.
   ------------------------------------------------------------------- */
.about-oaken::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: calc(-1 * var(--about-bottom-seam-depth));
    z-index: 0;
    pointer-events: none;
    background: #14233B;
    -webkit-clip-path: polygon(
            0 0,
            100% 0,
            100% 100%,
            0 calc(100% - var(--about-bottom-seam-depth))
    );
    clip-path: polygon(
            0 0,
            100% 0,
            100% 100%,
            0 calc(100% - var(--about-bottom-seam-depth))
    );
}

.about-oaken__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: var(--about-row-gap);
    width: 100%;
}

.about-oaken__header {
    display: grid;
    gap: clamp(16px, 1.388889vw, 53.3333px);
    align-content: start;
}

.about-oaken__eyebrow {
    display: grid;
    gap: clamp(12px, 1.111111vw, 42.6667px);
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: clamp(0.875rem, 1.388889vw, 3.333333rem);
    font-style: normal;
    font-weight: 600;
    line-height: 0.8;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #C9D4E3;
}

.about-oaken__eyebrow::before {
    content: "";
    width: clamp(30px, 2.083333vw, 80px);
    height: 2px;
    background: #C4963C;
}

.about-oaken__heading-block {
    width: 100%;
}

.about-oaken__preferred-line {
    display: inline-block;
}

.about-oaken__heading {
    margin: 0;
    max-width: none;
    font-family: "Sitka Heading Bold", Georgia, serif;
    font-size: clamp(2.75rem, 4.861111vw, 11.666667rem);
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.0071em;
    color: #F5F7FA;
}

.about-oaken__body {
    display: grid;
    grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
    column-gap: var(--about-column-gap);
    align-items: start;
}

.about-oaken__content-stack,
.about-oaken__intro-stack,
.about-oaken__detail-stack {
    min-width: 0;
}

.about-oaken__content-stack {
    grid-column: 1;
    display: grid;
    gap: calc(var(--about-text-gap) * 0.88);
    align-content: center;
}

.about-oaken__emphasis {
    font-weight: 700;
    color: #F3F7FB;
}

.about-oaken__intro-stack {
    display: grid;
    gap: calc(var(--about-text-gap) * 0.52);
    align-content: start;
    padding-top: clamp(12.8125px, 1.423611vw, 54.6667px);
}

.about-oaken__detail-stack {
    display: grid;
    gap: calc(var(--about-text-gap) * 1.7);
    align-content: start;
}

.about-oaken__lead,
.about-oaken__copy,
.about-oaken__block-title,
.about-oaken__takeaway,
.about-oaken__cta {
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

.about-oaken__lead {
    font-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
    font-weight: 600;
    line-height: 1.363636;
    color: #F3F6FA;
}

.about-oaken__copy {
    font-size: clamp(1.125rem, 1.25vw, 3rem);
    font-weight: 400;
    line-height: 1.722222;
    color: #D4DDE8;
}

.about-oaken__block {
    position: relative;
    display: grid;
    gap: max(8px, calc(var(--about-block-gap) * 0.9));
    padding-left: var(--about-block-text-inset);
}

.about-oaken__block::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc((var(--about-block-title-line-box) - var(--about-bullet-size)) / 2);
    width: var(--about-bullet-size);
    height: var(--about-bullet-size);
    border: 1px solid rgba(237, 198, 103, 0.78);
    background: linear-gradient(135deg, #D8AC4A 0%, #A77928 100%);
    box-shadow:
            0 0 0 3px rgba(196, 150, 60, 0.1),
            0 4px 10px rgba(5, 13, 28, 0.18);
    transform: rotate(45deg);
    transform-origin: center;
}

.about-oaken__block-title {
    font-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
    font-weight: 600;
    line-height: 1.363636;
    color: #F3F6FA;
}

.about-oaken__takeaway {
    font-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
    font-weight: 600;
    line-height: 1.454545;
    color: #F3F6FA;
}

.about-oaken__cta,
.about-oaken__cta:visited {
    display: inline-flex;
    align-items: center;
    gap: clamp(8px, 0.555556vw, 21.3333px);
    width: fit-content;
    max-width: calc(100% - var(--about-block-text-inset));
    margin-top: 0;
    margin-left: var(--about-block-text-inset);
    color: #DCE7F2;
    text-decoration: none;
    font-size: clamp(1rem, 1.111111vw, 2.666667rem);
    font-weight: 600;
    line-height: 1.5;
    transition:
            color 160ms ease,
            transform 160ms ease;
}

.about-oaken__cta-icon {
    display: inline-block;
    flex: 0 0 auto;
    align-self: center;
    width: 20px;
    height: 12px;
    color: #C4963C;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 298.639787 243.489707'%3E%3Cpath fill='black' d='M0 143.073067h216.973013L146.7232 213.32288l30.166613 30.166827L298.639787 121.739733 176.889813 0 146.7232 30.166827l70.247253 70.239573H0z'/%3E%3C/svg%3E");
    -webkit-mask-position: center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 88%;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 298.639787 243.489707'%3E%3Cpath fill='black' d='M0 143.073067h216.973013L146.7232 213.32288l30.166613 30.166827L298.639787 121.739733 176.889813 0 146.7232 30.166827l70.247253 70.239573H0z'/%3E%3C/svg%3E");
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: 100% 88%;
    transform: translate3d(0, 0.03em, 0) scale3d(1, 1, 1);
    transform-origin: left center;
    will-change: transform;
    transition:
            transform 180ms ease,
            background-color 160ms ease;
}

.about-oaken__cta:hover,
.about-oaken__cta:focus-visible {
    color: #FFFFFF;
}

.about-oaken__cta:hover .about-oaken__cta-icon,
.about-oaken__cta:focus-visible .about-oaken__cta-icon {
    color: #D8AC4A;
    transform: translate3d(1.6px, 0.03em, 0) scale3d(1.22, 1, 1);
}

.about-oaken__cta:active {
    color: #F3F6FA;
    transform: translateY(1px);
}

.about-oaken__cta:active .about-oaken__cta-icon {
    color: #C89A3F;
    transform: translate3d(0.96px, 0.03em, 0) scale3d(1.12, 1, 1);
}

.about-oaken__cta:focus-visible {
    outline: 2px solid rgba(196, 150, 60, 0.9);
    outline-offset: 4px;
}

.about-oaken__media-stack {
    grid-column: 2;
    position: relative;
    width: 100%;
    overflow: visible;
    margin-bottom: var(--about-frame-offset-y);
}

.about-oaken__media-stage {
    position: relative;
    width: 100%;
    isolation: isolate;
}

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

.about-oaken__media-frame {
    position: absolute;
    inset: 0;
    z-index: 1;
    border: var(--about-frame-border) solid #C4963C;
    transform: translate(var(--about-frame-offset-x), var(--about-frame-offset-y));
    transform-origin: top left;
    box-sizing: border-box;
    pointer-events: none;
}

.about-oaken__media {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    min-height: var(--about-media-base-min-height);
    padding:
            var(--about-media-pad-top)
            var(--about-media-pad-inline)
            var(--about-media-pad-bottom);
    box-sizing: border-box;
    overflow: hidden;
    isolation: isolate;
    background: none;
    box-shadow: var(--about-media-shadow);
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    will-change: transform, opacity;
}

.about-oaken__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
            linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0) 0%,
                    rgba(0, 0, 0, 0.12) var(--about-media-overlay-step-1),
                    rgba(0, 0, 0, 0.58) var(--about-media-overlay-step-2),
                    rgba(0, 0, 0, 0.58) var(--about-media-overlay-step-3),
                    rgba(0, 0, 0, 0.24) var(--about-media-overlay-step-4),
                    rgba(0, 0, 0, 0) 100%
            ),
            url("../images/background_images/about-firm-collaboration.webp") center 24% / cover no-repeat;
    transform: translateZ(0) scale(1);
    transform-origin: center;
    backface-visibility: hidden;
    transition: transform 180ms var(--oak-choose-ease-hover);
}

.about-oaken__media > * {
    position: relative;
    z-index: 1;
}

@media (min-width: 56.25em) {
    .about-oaken {
        --about-media-overlay-step-1: 62%;
        --about-media-overlay-step-2: 70%;
        --about-media-overlay-step-3: 86%;
        --about-media-overlay-step-4: 96%;
    }

    .about-oaken__content-stack {
        align-self: stretch;
        min-height: var(--about-media-base-min-height);
        box-sizing: border-box;
        padding-block:
                calc(42px * var(--about-scale, 1))
                calc(48px * var(--about-scale, 1));
    }

    .about-oaken__media-stack {
        align-self: start;
        justify-self: end;
        z-index: 1;
        display: flex;
        justify-content: flex-end;
        margin-bottom: 0;
    }

    .about-oaken__media-stage {
        width: min(100%, var(--about-media-stage-width));
        height: var(--about-media-stage-height);
    }

    .about-oaken__media-frame {
        inset: 0 var(--about-frame-offset-x) var(--about-frame-offset-y) 0;
        border: 0;
        transform: translate(var(--about-frame-offset-x), var(--about-frame-offset-y));
    }

    .about-oaken__media-frame::before,
    .about-oaken__media-frame::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
    }

    .about-oaken__media-frame::before {
        border-top: var(--about-frame-border) solid #C4963C;
        border-right: var(--about-frame-border) solid #C4963C;
    }

    .about-oaken__media-frame::after {
        border-left: var(--about-frame-border) solid #C4963C;
        border-bottom: var(--about-frame-border) solid #C4963C;
    }

    .about-oaken__media {
        position: absolute;
        inset: 0 var(--about-frame-offset-x) var(--about-frame-offset-y) 0;
        width: auto;
        min-height: 0;
        height: auto;
    }
}

.about-oaken__media-link,
.about-oaken__media-link:visited {
    position: relative;
    display: grid;
    gap: clamp(16px, 1.527778vw, 58.6667px);
    justify-items: center;
    width: min(100%, 84.4%);
    color: #EAF2F8;
    text-decoration: none;
}

.about-oaken__media-quote {
    cursor: default;
}

.about-oaken__media-quote .about-oaken__play-button {
    display: none;
}

.about-oaken__media-content {
    display: grid;
    gap: clamp(16px, 1.458333vw, 56px);
    justify-items: center;
    width: 100%;
    padding-block: 0;
}

.about-oaken__media-line {
    width: 100%;
    height: 1px;
    background: rgba(238, 243, 248, 0.92);
}

.about-oaken__media-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: clamp(6px, 0.625vw, 24px);
    width: 100%;
    margin: 0;
    font-family: "Sitka Heading", "Sitka Heading Bold", Georgia, serif;
    font-size: clamp(1.5rem, 1.666667vw, 4rem);
    font-style: normal;
    font-weight: 400;
    line-height: 1.333333;
    letter-spacing: 0.08em;
    text-align: center;
    color: #EAF2F8;
}

.about-oaken__media-quote-text {
    min-width: 0;
    margin: 0;
}

.about-oaken__quote-mark {
    display: block;
    align-self: center;
    font-family: "Sitka Heading", "Sitka Heading Bold", Georgia, serif;
    font-size: clamp(3.25rem, 4.305556vw, 10.3333rem);
    font-style: normal;
    font-weight: 400;
    line-height: 0.72;
    letter-spacing: 0;
    color: rgba(234, 242, 248, 0.96);
}

.about-oaken__quote-mark--open {
    transform: translateY(-0.03em);
}

.about-oaken__quote-mark--close {
    transform: translateY(0.03em);
}

.about-oaken__media-title-line {
    display: inline-block;
    max-width: 100%;
}

.about-oaken__play-button {
    display: inline-grid;
    place-items: center;
    width: clamp(39px, 2.708333vw, 104px);
    height: clamp(39px, 2.708333vw, 104px);
    border: 1px solid rgba(234, 242, 248, 0.92);
    border-radius: 50%;
    background: rgba(234, 242, 248, 0.08);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06) inset;
    transition: transform 180ms ease, background-color 180ms ease;
}

.about-oaken__play-button::before {
    content: "";
    margin-left: clamp(2px, 0.138889vw, 5.3333px);
    border-style: solid;
    border-width: clamp(6px, 0.486111vw, 18.6667px) 0 clamp(6px, 0.486111vw, 18.6667px) clamp(10px, 0.694444vw, 26.6667px);
    border-color: transparent transparent transparent #EAF2F8;
}

.about-oaken__media-link:focus-visible .about-oaken__play-button {
    transform: scale(1.05);
    background: rgba(234, 242, 248, 0.16);
}

.about-oaken__media-link:focus-visible {
    outline: 2px solid rgba(234, 242, 248, 0.96);
    outline-offset: 6px;
}

.about-oaken__media-link:focus-visible {
    outline: 2px solid rgba(234, 242, 248, 0.96);
    outline-offset: 6px;
}

@media (min-width: 56.25em) {
    .about-oaken {
        --about-scale: var(--about-desktop-scale);
        --about-pad-top: calc(120px * var(--about-scale));
        --about-pad-bottom: calc((120px * var(--about-scale)) + var(--about-frame-offset-y));
        --about-pad-right: calc(120px * var(--about-scale));
        --about-pad-left: calc(120px * var(--about-scale));
        --about-row-gap: calc(64px * var(--about-scale));
        --about-column-gap: calc(50px * var(--about-scale));
        --about-text-gap: calc(28px * var(--about-scale));
        --about-block-gap: calc(10px * var(--about-scale));
        --about-frame-offset-x: calc(48px * var(--about-scale));
        --about-frame-offset-y: calc(43px * var(--about-scale));
        --about-frame-border: calc(6px * var(--about-scale));
        --about-media-shadow: 0 calc(8px * var(--about-scale))
        calc(24px * var(--about-scale))
        rgba(27, 42, 74, 0.12);
        --about-sticky-gap: calc(24px * var(--about-scale));
        --about-sticky-top: calc(var(--sticky-bar-overlap-height) + var(--about-sticky-gap));
        --about-media-sticky-bottom-gap: calc(24px * var(--about-scale));
        --about-media-base-min-height: calc(902.12px * var(--about-scale));
        --about-media-stage-height: calc(var(--about-media-base-min-height) + var(--about-frame-offset-y));
        --about-media-pad-top: calc(40px * var(--about-scale));
        --about-media-pad-inline: calc(40px * var(--about-scale));
        --about-media-pad-bottom: calc(140px * var(--about-scale));
        --about-atmosphere-width: calc(1305px * var(--about-scale));
        --about-atmosphere-height: calc(3231.43px * var(--about-scale));
        --about-atmosphere-blur: calc(72px * var(--about-scale));
        --about-bullet-size: calc(9px * var(--about-scale));
        --about-bullet-gap: calc(15px * var(--about-scale));
        --about-block-text-inset: calc(var(--about-bullet-size) + var(--about-bullet-gap));
        --about-block-title-line-box: calc(1.375rem * var(--about-scale) * 1.363636);
    }

    .about-oaken__header {
        gap: calc(20px * var(--about-scale));
    }

    .about-oaken__eyebrow {
        gap: calc(16px * var(--about-scale));
        font-size: calc(1.25rem * var(--about-scale));
    }

    .about-oaken__eyebrow::before {
        width: calc(30px * var(--about-scale));
        height: calc(2px * var(--about-scale));
    }

    .about-oaken__heading {
        font-size: calc(4.375rem * var(--about-scale));
    }

    .about-oaken__intro-stack {
        padding-top: calc(20.5px * var(--about-scale));
    }

    .about-oaken__content-stack {
        gap: calc(10px * var(--about-scale));
    }

    .about-oaken__lead {
        font-size: calc(1.375rem * var(--about-scale));
        line-height: 1.363636;
    }

    .about-oaken__copy {
        font-size: calc(1.125rem * var(--about-scale));
    }

    .about-oaken__block-title,
    .about-oaken__takeaway {
        font-size: calc(1.375rem * var(--about-scale));
    }

    .about-oaken__detail-stack > .about-oaken__block + .about-oaken__block {
        margin-top: calc(34px * var(--about-scale));
    }

    .about-oaken__block::before {
        border-width: calc(1px * var(--about-scale));
        box-shadow:
                0 0 0 calc(3px * var(--about-scale)) rgba(196, 150, 60, 0.1),
                0 calc(4px * var(--about-scale)) calc(10px * var(--about-scale)) rgba(5, 13, 28, 0.18);
    }

    .about-oaken__cta,
    .about-oaken__cta:visited {
        gap: calc(8px * var(--about-scale));
        font-size: calc(1rem * var(--about-scale));
    }

    .about-oaken__cta-icon {
        width: calc(20px * var(--about-scale));
        height: calc(12px * var(--about-scale));
    }

    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        gap: calc(22px * var(--about-scale));
    }

    .about-oaken__media-content {
        gap: calc(21px * var(--about-scale));
    }

    .about-oaken__media-line {
        height: calc(1px * var(--about-scale));
    }

    .about-oaken__media-title {
        font-size: calc(1.5rem * var(--about-scale));
    }

    .about-oaken__play-button {
        width: calc(39px * var(--about-scale));
        height: calc(39px * var(--about-scale));
        border-width: calc(1px * var(--about-scale));
        box-shadow: 0 0 0 calc(1px * var(--about-scale)) rgba(255, 255, 255, 0.06) inset;
    }

    .about-oaken__play-button::before {
        margin-left: calc(2px * var(--about-scale));
        border-width: calc(7px * var(--about-scale))
        0
        calc(7px * var(--about-scale))
        calc(10px * var(--about-scale));
    }
}

@media (min-width: 56.25em) and (max-width: 240em) {
    [data-oak-choose-group] {
        --oak-choose-group-index: 0;
    }

    [data-oak-choose].is-motion-ready [data-oak-choose-media],
    [data-oak-choose].is-motion-ready [data-oak-choose-overlay],
    [data-oak-choose].is-motion-ready [data-oak-choose-group] {
        will-change: opacity, transform;
    }

    [data-oak-choose].is-motion-ready [data-oak-choose-media] {
        transition:
                opacity var(--oak-choose-media-duration) var(--oak-choose-ease-out),
                transform var(--oak-choose-media-duration) var(--oak-choose-ease-out);
    }

    [data-oak-choose].is-motion-ready [data-oak-choose-overlay] {
        transition:
                opacity var(--oak-choose-overlay-duration) var(--oak-choose-ease-out) var(--oak-choose-overlay-delay),
                transform var(--oak-choose-overlay-duration) var(--oak-choose-ease-out) var(--oak-choose-overlay-delay);
    }

    [data-oak-choose].is-motion-ready [data-oak-choose-group] {
        transition:
                opacity var(--oak-choose-group-duration) var(--oak-choose-ease-out) calc(var(--oak-choose-group-index, 0) * var(--oak-choose-group-stagger)),
                transform var(--oak-choose-group-duration) var(--oak-choose-ease-out) calc(var(--oak-choose-group-index, 0) * var(--oak-choose-group-stagger));
    }

    [data-oak-choose].is-motion-ready:not(.is-revealed) [data-oak-choose-media] {
        opacity: 0;
        transform: translate3d(0, var(--oak-choose-media-y), 0);
        clip-path: none;
    }

    [data-oak-choose].is-motion-ready:not(.is-revealed) [data-oak-choose-overlay] {
        opacity: 0;
        transform: translate3d(0, var(--oak-choose-overlay-y), 0);
    }

    [data-oak-choose].is-motion-ready:not(.is-revealed) [data-oak-choose-group] {
        opacity: 0;
        transform: translate3d(0, var(--oak-choose-group-y), 0);
    }

    [data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-media],
    [data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-overlay],
    [data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-group] {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }

    [data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-media] {
        clip-path: none;
    }

    [data-oak-choose] [data-oak-choose-accent] {
        opacity: 0;
        clip-path: none;
    }

    [data-oak-choose] [data-oak-choose-accent]::before,
    [data-oak-choose] [data-oak-choose-accent]::after {
        width: 0;
        height: 0;
    }

    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent],
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent],
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent],
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent] {
        opacity: 0;
        transition: opacity 24ms linear var(--oak-choose-media-duration);
        clip-path: none;
    }

    /* Transitions — on a persistent selector so they stay active when .is-revealed is added */
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::before {
        transition:
                width var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) var(--oak-choose-accent-start),
                height var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) calc(var(--oak-choose-accent-start) + var(--oak-choose-accent-phase-duration));
    }

    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::after {
        transition:
                height var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) var(--oak-choose-accent-start),
                width var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) calc(var(--oak-choose-accent-start) + var(--oak-choose-accent-phase-duration));
    }

    /* Initial state — values only, transition lives above */
    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::before {
        width: 0;
        height: 0;
    }

    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::after {
        width: 0;
        height: 0;
    }

    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::after,
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::before,
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::after {
        width: 100%;
        height: 100%;
    }

    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent],
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent],
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent],
    [data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent] {
        opacity: 1;
    }

    [data-oak-choose].is-reduced-motion [data-oak-choose-media],
    [data-oak-choose].is-reduced-motion [data-oak-choose-overlay],
    [data-oak-choose].is-reduced-motion [data-oak-choose-group] {
        transition: opacity 180ms var(--oak-choose-ease-out) 0ms;
        transform: none;
        clip-path: inset(0 0 0 0);
    }

    [data-oak-choose].is-motion-ready.is-reduced-motion:not(.is-revealed) [data-oak-choose-media],
    [data-oak-choose].is-motion-ready.is-reduced-motion:not(.is-revealed) [data-oak-choose-overlay],
    [data-oak-choose].is-motion-ready.is-reduced-motion:not(.is-revealed) [data-oak-choose-group] {
        opacity: 0;
    }

    [data-oak-choose].is-motion-ready.is-reduced-motion.is-revealed [data-oak-choose-media],
    [data-oak-choose].is-motion-ready.is-reduced-motion.is-revealed [data-oak-choose-overlay],
    [data-oak-choose].is-motion-ready.is-reduced-motion.is-revealed [data-oak-choose-group] {
        opacity: 1;
    }

    [data-oak-choose].is-reduced-motion [data-oak-choose-accent] {
        transition: none;
        clip-path: none;
        opacity: 1;
    }

    [data-oak-choose].is-reduced-motion [data-oak-choose-accent]::before,
    [data-oak-choose].is-reduced-motion [data-oak-choose-accent]::after {
        width: 100%;
        height: 100%;
    }
}

@media (min-width: 56.25em) and (max-width: 240em) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    [data-oak-choose] [data-oak-choose-media]:hover::before {
        transform: scale(var(--oak-choose-hover-image-scale));
    }

    [data-oak-choose] [data-oak-choose-overlay]:hover [data-oak-choose-play] {
        transform: scale(var(--oak-choose-hover-play-scale));
    }
}

@media (max-width: 56.1875em) {
    .about-oaken {
        --about-bullet-size: calc(8px * var(--mobile-scale));
        --about-bullet-gap: calc(12px * var(--mobile-scale));
        --about-block-text-inset: calc(var(--about-bullet-size) + var(--about-bullet-gap));
        --about-block-title-line-box: calc(1.125rem * var(--mobile-scale) * 1.45);
        --about-media-pad-top: calc(18px * var(--mobile-scale));
        --about-media-pad-inline: calc(18px * var(--mobile-scale));
        --about-media-pad-bottom: calc(16px * var(--mobile-scale));
        --about-atmosphere-width: calc(760px + 120px * var(--tablet-progress));
        --about-atmosphere-height: calc(1500px + 360px * var(--tablet-progress));
        --about-atmosphere-blur: calc(60px + 12px * var(--tablet-progress));

        padding:
                calc(42px * var(--mobile-scale))
                calc((24px * var(--mobile-scale)) + var(--safe-area-inline-right))
                calc(56px * var(--mobile-scale))
                calc((24px * var(--mobile-scale)) + var(--safe-area-inline-left));
    }

    .about-oaken__inner {
        gap: calc(22px * var(--mobile-scale));
    }

    .about-oaken__header {
        gap: calc(10px * var(--mobile-scale));
    }

    .about-oaken__eyebrow {
        gap: calc(12px * var(--mobile-scale));
        font-size: calc(0.875rem * var(--mobile-scale));
        line-height: 1;
    }

    .about-oaken__eyebrow::before {
        width: calc(30px * var(--mobile-scale));
    }

    .about-oaken__heading {
        max-width: none;
        font-size: calc(2.25rem * var(--mobile-scale));
        line-height: 1.04;
    }

    .about-oaken__body {
        grid-template-columns: 1fr;
        row-gap: calc(22px * var(--mobile-scale));
        column-gap: 0;
    }

    .about-oaken__content-stack {
        grid-column: auto;
        gap: calc(10px * var(--mobile-scale));
    }

    .about-oaken__intro-stack,
    .about-oaken__detail-stack {
        gap: calc(30px * var(--mobile-scale));
    }

    .about-oaken__lead {
        font-size: calc(1.125rem * var(--mobile-scale));
        font-weight: 600;
        line-height: 1.45;
    }

    .about-oaken__copy {
        font-size: calc(0.9375rem * var(--mobile-scale));
        line-height: 1.68;
    }

    .about-oaken__block {
        gap: calc(8px * var(--mobile-scale));
    }

    .about-oaken__block-title,
    .about-oaken__takeaway {
        font-size: calc(1.125rem * var(--mobile-scale));
        line-height: 1.45;
    }

    .about-oaken__cta,
    .about-oaken__cta:visited {
        gap: calc(8px * var(--mobile-scale));
        margin-top: 0;
        font-size: calc(0.90625rem * var(--mobile-scale));
        line-height: 1.45;
    }

    .about-oaken__cta-icon {
        width: calc(19px * var(--mobile-scale));
        height: calc(12px * var(--mobile-scale));
    }

    .about-oaken__media-stack {
        grid-column: auto;
        margin-top: calc(2px * var(--mobile-scale));
    }

    .about-oaken__media-frame {
        transform: translate(calc(16px * var(--mobile-scale)), calc(18px * var(--mobile-scale)));
        border-width: calc(4px * var(--mobile-scale));
    }

    .about-oaken__media {
        min-height: calc(430px * var(--mobile-scale));
        background-position: center 20%;
    }

    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 94%);
        gap: calc(10px * var(--mobile-scale));
    }

    .about-oaken__media-content {
        gap: calc(14px * var(--mobile-scale));
        padding-block: calc(14px * var(--mobile-scale));
    }

    .about-oaken__media-title {
        font-family: "Sitka Heading Bold", Georgia, serif;
        font-weight: 700;
        font-size: calc(1.125rem * var(--mobile-scale));
        line-height: 1.26;
        letter-spacing: 0.035em;
    }

    .about-oaken__play-button {
        width: calc(34px * var(--mobile-scale));
        height: calc(34px * var(--mobile-scale));
    }

    .about-oaken__play-button::before {
        margin-left: calc(2px * var(--mobile-scale));
        border-width:
                calc(5px * var(--mobile-scale))
                0
                calc(5px * var(--mobile-scale))
                calc(8px * var(--mobile-scale));
    }
}

@media (prefers-reduced-motion: reduce) {
    .about-oaken__cta,
    .about-oaken__cta-icon,
    .about-oaken__play-button {
        transition: none;
    }
}

.section-seam-divider {
    --section-seam-bar: clamp(8px, 0.555556vw, 21.3333px);
    --section-seam-diamond: clamp(38px, 2.638889vw, 101.3333px);
    --section-seam-border: clamp(7px, 0.486111vw, 18.6667px);
    --section-seam-half-diagonal: calc(var(--section-seam-diamond) * 0.70710678);
    --section-seam-full-diagonal: calc(var(--section-seam-half-diagonal) * 2);
    --section-seam-window-size: calc((var(--section-seam-diamond) - (2 * var(--section-seam-border))) * 1.41421356);

    position: relative;
    height: 0;
    z-index: 6;
    pointer-events: none;
}

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

.section-seam-divider--practice .section-seam-divider__fill {
    display: none;
}

.section-seam-divider--practice .section-seam-divider__diamond {
    position: absolute;
    left: 50%;
    top: 0;
    display: block;
    width: var(--section-seam-diamond);
    height: var(--section-seam-diamond);
    box-sizing: border-box;
    border: var(--section-seam-border) solid #C4963C;
    overflow: hidden;
    background: #14233B;
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 3;
}

/* Old pseudo-elements inside rotated diamond — disabled */
.section-seam-divider--practice .section-seam-divider__diamond::before,
.section-seam-divider--practice .section-seam-divider__diamond::after {
    display: none;
}

.section-seam-divider--practice .section-seam-divider__diamond::before {
    display: none;
}

/* Hero image on the NON-rotated seam divider, clipped to diamond shape.
   Because this element matches the hero's width (100vw) and extends by the diamond half-depth,
   background-size: cover + background-position produce the identical
   crop as the hero's <img> tag. No rotation geometry issues. */
.section-seam-divider--practice::after {
    content: "";
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    bottom: calc(-1 * var(--section-seam-diamond) * 0.7072);
    height: max(
            calc(var(--home-hero-source-height) + var(--sticky-bar-overlap-height) + var(--section-seam-half-diagonal)),
            calc(var(--home-hero-stable-viewport-height) + var(--section-seam-half-diagonal))
    );
    z-index: 1;
    background-color: #0b1118;
    background-image: var(--home-hero-image);
    background-size: cover;
    background-position: var(--home-hero-background-position);
    background-repeat: no-repeat;
    filter: saturate(0.93) brightness(0.95) contrast(1.01);
    pointer-events: none;
    clip-path: polygon(
            50% calc(100% - var(--section-seam-diamond) * 1.4142),
            calc(50% + var(--section-seam-diamond) * 0.7071) calc(100% - var(--section-seam-diamond) * 0.7071),
            50% 100%,
            calc(50% - var(--section-seam-diamond) * 0.7071) calc(100% - var(--section-seam-diamond) * 0.7071)
    );
}

@media (max-width: 42.4375em) {
    .section-seam-divider--practice .section-seam-divider__diamond {
        background: #14233B;
    }

    .section-seam-divider--practice .section-seam-divider__diamond::before {
        display: none;
    }

    .section-seam-divider--practice::after {
        background-color: #0b1118;
        background-image: none;
        filter: none;
    }
}

@media (min-width: 56.25em) {
    .section-seam-divider {
        --section-seam-scale: var(--home-hero-desktop-scale);
        --section-seam-bar: calc(8px * var(--section-seam-scale));
        --section-seam-diamond: calc(38px * var(--section-seam-scale));
        --section-seam-border: calc(7px * var(--section-seam-scale));
        --section-seam-half-diagonal: calc(var(--section-seam-diamond) * 0.70710678);
        --section-seam-full-diagonal: calc(var(--section-seam-half-diagonal) * 2);
        --section-seam-window-size: calc((var(--section-seam-diamond) - (2 * var(--section-seam-border))) * 1.41421356);
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .section-seam-divider {
        --section-seam-bar: calc(4px + 2px * var(--tablet-progress));
        --section-seam-diamond: calc(20px + 10px * var(--tablet-progress));
        --section-seam-border: calc(4px + 1px * var(--tablet-progress));
        --section-seam-half-diagonal: calc(var(--section-seam-diamond) * 0.70710678);
        --section-seam-full-diagonal: calc(var(--section-seam-half-diagonal) * 2);
        --section-seam-window-size: calc((var(--section-seam-diamond) - (2 * var(--section-seam-border))) * 1.41421356);
    }
}

@media (min-width: 42.5em) {
    .section-seam-divider--practice::after {
        display: none;
    }

    .section-seam-divider--practice .section-seam-divider__fill {
        --section-seam-photo-left: 0px;
        --section-seam-photo-top: 0px;
        --section-seam-photo-width: 0px;
        --section-seam-photo-height: 0px;
        --section-seam-media-left: 0px;
        --section-seam-media-top: 0px;
        --section-seam-media-width: 0px;
        --section-seam-media-height: 0px;
        --section-seam-hero-left: 0px;
        --section-seam-hero-top: 0px;
        --section-seam-hero-width: 0px;
        --section-seam-hero-height: 0px;
        position: absolute;
        left: 50%;
        top: 0;
        width: var(--section-seam-diamond);
        height: var(--section-seam-diamond);
        display: none;
        overflow: hidden;
        pointer-events: none;
        z-index: 2;
        background: #050a0f;
        isolation: isolate;
        transform: translate(-50%, -50%);
        clip-path: polygon(
                50% 0,
                100% 50%,
                50% 100%,
                0 50%
        );
    }

    .section-seam-divider--practice .section-seam-divider__fill-photo,
    .section-seam-divider--practice .section-seam-divider__fill-media-overlay,
    .section-seam-divider--practice .section-seam-divider__fill-hero-overlay {
        position: absolute;
        pointer-events: none;
    }

    .section-seam-divider--practice .section-seam-divider__fill-photo {
        inset: auto;
        left: var(--section-seam-photo-left, 0px);
        top: var(--section-seam-photo-top, 0px);
        width: var(--section-seam-photo-width, 0px);
        height: calc(var(--section-seam-photo-height, 0px) + var(--section-seam-half-diagonal));
        display: none;
        max-width: none;
        background: transparent;
        z-index: 0;
        object-fit: cover;
        object-position: var(--home-hero-background-position);
        filter: saturate(0.93) brightness(0.95) contrast(1.01);
    }

    .section-seam-divider--practice .section-seam-divider__fill-media-overlay {
        left: var(--section-seam-media-left, 0px);
        top: var(--section-seam-media-top, 0px);
        width: var(--section-seam-media-width, 0px);
        height: calc(var(--section-seam-media-height, 0px) + var(--section-seam-half-diagonal));
        z-index: 1;
        background: var(--home-hero-media-overlay);
        display: none;
    }

    .section-seam-divider--practice .section-seam-divider__fill-hero-overlay {
        left: var(--section-seam-hero-left, 0px);
        top: var(--section-seam-hero-top, 0px);
        width: var(--section-seam-hero-width, 0px);
        height: calc(var(--section-seam-hero-height, 0px) + var(--section-seam-half-diagonal));
        z-index: 2;
        background: var(--home-hero-overlay);
        display: none;
    }
}

.home-attorney-credentials {
    --home-attorney-top-seam-depth: clamp(48.328px, 5.368056vw, 206.1328px);
    --home-attorney-pad-top: calc(clamp(75px, 8.333333vw, 320px) + var(--home-attorney-top-seam-depth));
    --home-attorney-pad-right: clamp(24px, 5.555556vw, 213.3333px);
    --home-attorney-pad-bottom: calc(clamp(75px, 8.333333vw, 320px) + 3.4482758621vw);
    --home-attorney-pad-left: clamp(24px, 5.555556vw, 213.3333px);

    --home-attorney-card-gap: clamp(50px, 5.555556vw, 213.3333px);
    --home-attorney-sticky-gap: clamp(32px, 2.777778vw, 52px);

    --home-attorney-header-gap: clamp(16px, 1.388889vw, 53.3333px);
    --home-attorney-eyebrow-gap: clamp(16px, 1.111111vw, 42.6667px);
    --home-attorney-eyebrow-size: clamp(0.875rem, 1.388889vw, 3.333333rem);
    --home-attorney-rule-width: clamp(58px, 4.027778vw, 154.6667px);
    --home-attorney-heading-size: clamp(2.75rem, 4.861111vw, 11.666667rem);
    --home-attorney-header-width: clamp(558px, 38.75vw, 1488px);

    /* 65px at 1440, proportional from 900 to 3840 */
    --home-attorney-left-stack-gap: clamp(40.625px, 4.513889vw, 173.3333px);

    /* 91px at 1440, proportional from 900 to 3840 */
    --home-attorney-right-offset: clamp(56.875px, 6.319444vw, 242.6667px);
    --home-attorney-sticky-top: calc(var(--sticky-bar-overlap-height) + var(--home-attorney-sticky-gap));
    --home-attorney-sticky-header-clearance: clamp(32px, 2.5vw, 40px);
    --home-attorney-entry-delay: 0px;
    --home-attorney-quote-trigger-ratio: 0.42;
    --home-attorney-quote-trigger-max: clamp(224px, 16vw, 256px);
    --home-attorney-right-landing-offset: var(--home-attorney-right-offset);
    --home-attorney-release-buffer: 0px;
    --home-attorney-phase-distance: 0px;
    --home-attorney-right-track-spacer: var(--home-attorney-right-offset);
    --home-attorney-left-track-height: auto;
    --home-attorney-right-track-height: auto;

    --home-attorney-card-stack-gap: clamp(15px, 1.666667vw, 64px);
    --home-attorney-card-radius: clamp(3px, 0.277778vw, 10.6667px);
    --home-attorney-media-shadow: 0 clamp(8px, 0.555556vw, 21.3333px)
    clamp(24px, 1.666667vw, 64px)
    rgba(27, 42, 74, 0.12);

    --home-attorney-identity-left: clamp(37.5px, 4.166667vw, 160px);          /* 60px at 1440 */
    --home-attorney-arrow-line-bottom: clamp(35.9375px, 3.993056vw, 153.3333px); /* 57.5px at 1440 */
    --home-attorney-name-link-gap: clamp(8.75px, 0.972222vw, 37.3333px);    /* 14px at 1440 */
    --home-attorney-link-arrow-gap: clamp(5px, 0.555556vw, 21.3333px);     /* 8px at 1440 */
    --home-attorney-arrow-stroke: clamp(1.25px, 0.138889vw, 5.3333px);     /* 2px at 1440 */
    --home-attorney-arrow-height: clamp(11px, 1.222222vw, 46.9333px);       /* 17.6px at 1440 */
    --home-attorney-arrow-head-size: clamp(7px, 0.777778vw, 29.8667px);    /* 11.2px at 1440 */

    --home-attorney-role-size: clamp(0.875rem, 1.388889vw, 3.333333rem);
    --home-attorney-name-size: clamp(2rem, 3.611111vw, 8.666667rem);
    --home-attorney-link-size: clamp(1rem, 1.527778vw, 3.666667rem);

    --home-attorney-quote-pad-inline: clamp(16px, 1.944444vw, 74.6667px);
    --home-attorney-quote-width: clamp(384px, 34.722222vw, 1333.3333px);
    --home-attorney-quote-min-height: clamp(176px, 15.416667vw, 592px);
    --home-attorney-quote-pad-top: clamp(15px, 1.666667vw, 64px);
    --home-attorney-quote-pad-bottom: clamp(17.5px, 1.944444vw, 74.6667px);
    --home-attorney-quote-size: clamp(1rem, 1.319444vw, 3.166667rem);
    --home-attorney-quote-rule-width: clamp(1.875px, 0.208333vw, 8px);

    --home-attorney-content-width: clamp(1200px, 86.805556vw, 3333.3333px);

    --home-attorney-atmosphere-width: clamp(3231.43px, 224.404861vw, 8617.1467px);
    --home-attorney-atmosphere-height: clamp(1305px, 90.625vw, 3480px);
    --home-attorney-atmosphere-blur: 72px;
    --home-attorney-atmosphere-center-x: 50%;
    --home-attorney-atmosphere-center-y: 50%;

    position: relative;
    z-index: 1;
    overflow: hidden;
    isolation: isolate;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-top: calc(-1 * var(--home-attorney-top-seam-depth));
    padding: var(--home-attorney-pad-top) var(--home-attorney-pad-right) var(--home-attorney-pad-bottom) var(--home-attorney-pad-left);
    background: #14233B;
    color: #F5F7FA;
    scroll-margin-top: var(--anchor-offset-desktop);
    -webkit-clip-path: polygon(0 var(--home-attorney-top-seam-depth), 100% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 var(--home-attorney-top-seam-depth), 100% 0, 100% 100%, 0 100%);
}

@media (min-width: 56.25em) {
    .home-attorney-credentials {
        --home-attorney-top-seam-depth: calc(77.3px * var(--home-attorney-desktop-scale));
        --home-attorney-pad-top: calc((120px * var(--home-attorney-desktop-scale)) + var(--home-attorney-top-seam-depth));
        --home-attorney-pad-right: calc(80px * var(--home-attorney-desktop-scale));
        --home-attorney-pad-bottom: calc(169.6552px * var(--home-attorney-desktop-scale));
        --home-attorney-pad-left: calc(80px * var(--home-attorney-desktop-scale));

        --home-attorney-card-gap: calc(80px * var(--home-attorney-desktop-scale));
        --home-attorney-sticky-gap: calc(40px * var(--home-attorney-desktop-scale));

        --home-attorney-header-gap: calc(20px * var(--home-attorney-desktop-scale));
        --home-attorney-eyebrow-gap: calc(16px * var(--home-attorney-desktop-scale));
        --home-attorney-eyebrow-size: calc(1.25rem * var(--home-attorney-desktop-scale));
        --home-attorney-rule-width: calc(58px * var(--home-attorney-desktop-scale));
        --home-attorney-heading-size: calc(4.375rem * var(--home-attorney-desktop-scale));
        --home-attorney-header-width: calc(558px * var(--home-attorney-desktop-scale));

        --home-attorney-left-stack-gap: calc(65px * var(--home-attorney-desktop-scale));
        --home-attorney-right-offset: calc(91px * var(--home-attorney-desktop-scale));
        --home-attorney-sticky-header-clearance: calc(36px * var(--home-attorney-desktop-scale));
        --home-attorney-quote-trigger-max: calc(230.4px * var(--home-attorney-desktop-scale));

        --home-attorney-card-stack-gap: calc(24px * var(--home-attorney-desktop-scale));
        --home-attorney-card-radius: calc(4px * var(--home-attorney-desktop-scale));
        --home-attorney-media-shadow: 0 calc(8px * var(--home-attorney-desktop-scale))
        calc(24px * var(--home-attorney-desktop-scale))
        rgba(27, 42, 74, 0.12);

        --home-attorney-identity-left: calc(60px * var(--home-attorney-desktop-scale));
        --home-attorney-arrow-line-bottom: calc(57.5px * var(--home-attorney-desktop-scale));
        --home-attorney-name-link-gap: calc(14px * var(--home-attorney-desktop-scale));
        --home-attorney-link-arrow-gap: calc(8px * var(--home-attorney-desktop-scale));
        --home-attorney-arrow-stroke: calc(2px * var(--home-attorney-desktop-scale));
        --home-attorney-arrow-height: calc(17.6px * var(--home-attorney-desktop-scale));
        --home-attorney-arrow-head-size: calc(11.2px * var(--home-attorney-desktop-scale));

        --home-attorney-role-size: calc(1.25rem * var(--home-attorney-desktop-scale));
        --home-attorney-name-size: calc(3.25rem * var(--home-attorney-desktop-scale));
        --home-attorney-link-size: calc(1.375rem * var(--home-attorney-desktop-scale));

        --home-attorney-quote-pad-inline: calc(28px * var(--home-attorney-desktop-scale));
        --home-attorney-quote-width: calc(500px * var(--home-attorney-desktop-scale));
        --home-attorney-quote-min-height: calc(222px * var(--home-attorney-desktop-scale));
        --home-attorney-quote-pad-top: calc(24px * var(--home-attorney-desktop-scale));
        --home-attorney-quote-pad-bottom: calc(28px * var(--home-attorney-desktop-scale));
        --home-attorney-quote-size: calc(1.1875rem * var(--home-attorney-desktop-scale));
        --home-attorney-quote-rule-width: calc(3px * var(--home-attorney-desktop-scale));

        --home-attorney-content-width: calc(1250px * var(--home-attorney-desktop-scale));

        --home-attorney-atmosphere-width: calc(3231.43px * var(--home-attorney-desktop-scale));
        --home-attorney-atmosphere-height: calc(1305px * var(--home-attorney-desktop-scale));
        --home-attorney-atmosphere-blur: calc(72px * var(--home-attorney-desktop-scale));
    }

    .home-attorney-credentials__eyebrow::before {
        height: calc(2px * var(--home-attorney-desktop-scale));
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        border-radius: calc(4px * var(--home-attorney-desktop-scale));
    }

    .home-attorney-card__link:focus-visible {
        outline-offset: calc(4px * var(--home-attorney-desktop-scale));
    }
}

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

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

.home-attorney-credentials__inner {
    position: relative;
    z-index: 1;
    width: min(100%, var(--home-attorney-content-width));
    margin: 0 auto;
}

.home-attorney-credentials__columns {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: var(--home-attorney-card-gap);
    align-items: start;
}

.home-attorney-credentials__columns::before {
    content: none;
}

.home-attorney-credentials__column {
    min-width: 0;
    display: grid;
    align-content: start;
}

.home-attorney-credentials__track,
.home-attorney-credentials__pin {
    min-width: 0;
}

.home-attorney-credentials__track {
    position: relative;
}

.home-attorney-credentials__column--left {
    row-gap: var(--home-attorney-left-stack-gap);
}

.home-attorney-credentials__column--right {
    padding-top: var(--home-attorney-right-offset);
}

.home-attorney-credentials__pin--left {
    display: grid;
    align-content: start;
    row-gap: var(--home-attorney-left-stack-gap);
}

.home-attorney-credentials__pin--right {
    display: grid;
    align-content: start;
}

.home-attorney-credentials__header {
    display: grid;
    gap: var(--home-attorney-header-gap);
    align-content: start;
    width: min(100%, var(--home-attorney-header-width));
    max-width: none;
    justify-self: center;
}

.home-attorney-credentials__eyebrow {
    display: grid;
    gap: var(--home-attorney-eyebrow-gap);
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: var(--home-attorney-eyebrow-size);
    font-weight: 600;
    line-height: 0.8;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #C9D4E3;
}

.home-attorney-credentials__eyebrow::before {
    content: "";
    width: var(--home-attorney-rule-width);
    height: 2px;
    background: #C4963C;
}

.home-attorney-credentials__heading {
    margin: 0;
    max-width: none;
    font-family: "Sitka Heading Bold", "Iowan Old Style", Georgia, serif;
    font-size: var(--home-attorney-heading-size);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.0071em;
    color: #F5F7FA;
    text-wrap: balance;
}

.home-attorney-card {
    display: grid;
    gap: var(--home-attorney-card-stack-gap);
    min-width: 0;
}

.home-attorney-card--matthew,
.home-attorney-card--ian {
    margin-top: 0;
}

.home-attorney-card__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 600 / 652.53;
    border-radius: 0;
    background: #0F1B31;
    box-shadow: var(--home-attorney-media-shadow);
}

.home-attorney-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
            radial-gradient(
                    60% 31% at 27% 79%,
                    rgba(0, 0, 0, 0.66) 0%,
                    rgba(0, 0, 0, 0.49) 35%,
                    rgba(0, 0, 0, 0.21) 64%,
                    rgba(0, 0, 0, 0) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(0, 0, 0, 0) 62%,
                    rgba(0, 0, 0, 0.42) 69%,
                    rgba(0, 0, 0, 1) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(20, 35, 59, 0.12),
                    rgba(20, 35, 59, 0.12)
            );
    pointer-events: none;
}

.home-attorney-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.home-attorney-card__media--mirrored .home-attorney-card__image {
    transform: scaleX(-1);
}

.home-attorney-card__identity {
    position: absolute;
    left: var(--home-attorney-identity-left);
    right: auto;
    bottom: var(--home-attorney-arrow-line-bottom);
    z-index: 1;
    display: grid;
    justify-items: start;
}

.home-attorney-card__role,
.home-attorney-card__name,
.home-attorney-card__link,
.home-attorney-card__cta {
    margin: 0;
}

.home-attorney-card__role {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: var(--home-attorney-role-size);
    font-weight: 600;
    line-height: 1.2;     /* 24 / 20 */
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #E1E8F0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
}

.home-attorney-card__name {
    font-family: "Sitka Heading", "Sitka Heading Bold", Georgia, serif;
    font-size: var(--home-attorney-name-size);
    font-weight: 600;
    line-height: 1.3;     /* 130% */
    color: #F3F6FA;
}

.home-attorney-card__cta {
    display: inline-block;
    width: max-content;
    margin-top: var(--home-attorney-name-link-gap);
}

.home-attorney-card__link,
.home-attorney-card__link:visited {
    display: inline-grid;
    justify-items: start;
    row-gap: var(--home-attorney-link-arrow-gap);
    width: max-content;
    max-width: 100%;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: var(--home-attorney-link-size);
    font-weight: 400;
    line-height: 1.090909; /* 24 / 22 */
    color: #DCE7F2;
    text-decoration: none;
    border-radius: 4px;
    -webkit-tap-highlight-color: transparent;
    overflow: visible;
    transition:
            color 160ms ease,
            transform 160ms ease;
}

.home-attorney-card__link-label {
    display: block;
}

.home-attorney-card__arrow {
    position: relative;
    display: block;
    width: 100%;
    height: var(--home-attorney-arrow-height);
    color: #C4963C;
    transform: scaleX(1);
    transform-origin: left center;
    transition:
            transform 180ms ease,
            color 160ms ease;
    isolation: isolate;
}

.home-attorney-card__arrow::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: var(--home-attorney-arrow-stroke);
    background: currentColor;
    transform: translateY(-50%);
    z-index: 1;
}

.home-attorney-card__arrow::after {
    content: "";
    position: absolute;
    right: calc(0.06 * var(--home-attorney-arrow-head-size));
    top: 50%;
    width: var(--home-attorney-arrow-head-size);
    height: var(--home-attorney-arrow-head-size);
    border-top: var(--home-attorney-arrow-stroke) solid currentColor;
    border-right: var(--home-attorney-arrow-stroke) solid currentColor;
    box-sizing: border-box;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: center;
    z-index: 2;
}

.home-attorney-card__link:hover,
.home-attorney-card__link:focus-visible {
    color: #FFFFFF;
}

.home-attorney-card__link:hover .home-attorney-card__arrow,
.home-attorney-card__link:focus-visible .home-attorney-card__arrow {
    color: #E0B766;
    transform: scaleX(1.14);
}

.home-attorney-card__link:active {
    color: #F3F6FA;
    transform: translateY(1px);
}

.home-attorney-card__link:active .home-attorney-card__arrow {
    color: #B3832F;
    transform: scaleX(1.08);
}

.home-attorney-card__link:focus-visible {
    outline: 2px solid rgba(196, 150, 60, 0.9);
    outline-offset: 4px;
}

.home-attorney-card__link:focus:not(:focus-visible) {
    outline: none;
}

.home-attorney-card__quote {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: var(--home-attorney-quote-min-height);
    margin: 0;
    padding-inline: var(--home-attorney-quote-pad-inline);
}

.home-attorney-card__quote p {
    width: min(100%, var(--home-attorney-quote-width));
    margin: 0;
    padding-block: var(--home-attorney-quote-pad-top) var(--home-attorney-quote-pad-bottom);
    border-top: var(--home-attorney-quote-rule-width) solid #2A3B59;
    border-bottom: var(--home-attorney-quote-rule-width) solid #2A3B59;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: var(--home-attorney-quote-size);
    font-weight: 400;
    line-height: 1.789474; /* 34 / 19 */
    color: #D4DDE8;
}

.home-attorney-card__quote strong {
    font-weight: 700;
}

.home-attorney-card__proof-stack {
    display: none;
    list-style: none;
    padding: 0;
}

.home-attorney-card__proof-point {
    margin: 0;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-weight: 400;
    color: #D4DDE8;
}

.home-attorney-card__proof-point strong {
    font-weight: 600;
    color: #EEF3F9;
}

@media (min-width: 56.25em) {
    .home-attorney-credentials.has-scroll-choreography {
        max-width: 100%;
        overflow-x: clip;
        overflow-y: visible;
    }

    .home-attorney-credentials.is-relay .home-attorney-credentials__column--right {
        padding-top: 0;
    }

    .home-attorney-credentials.is-relay .home-attorney-credentials__track--left,
    .home-attorney-credentials.is-single-sticky .home-attorney-credentials__track--left {
        box-sizing: border-box;
        height: var(--home-attorney-left-track-height);
        padding-top: var(--home-attorney-entry-delay);
    }

    .home-attorney-credentials.has-scroll-choreography .home-attorney-credentials__header {
        box-sizing: border-box;
        padding-top: var(--home-attorney-sticky-header-clearance);
        margin-bottom: calc(-1 * var(--home-attorney-sticky-header-clearance));
    }

    .home-attorney-credentials.is-relay .home-attorney-credentials__track--right {
        box-sizing: border-box;
        height: var(--home-attorney-right-track-height);
        padding-top: var(--home-attorney-right-track-spacer);
    }

    .home-attorney-credentials.is-relay .home-attorney-credentials__pin--left,
    .home-attorney-credentials.is-single-sticky .home-attorney-credentials__pin--left {
        position: sticky;
        top: var(--home-attorney-sticky-top);
        z-index: 1;
    }

    .home-attorney-credentials.is-relay .home-attorney-credentials__pin--right {
        position: sticky;
        top: calc(var(--home-attorney-sticky-top) + var(--home-attorney-right-landing-offset));
        z-index: 1;
    }
}

.has-motion .home-attorney-credentials {
    --home-attorney-motion-duration: 760ms;
    --home-attorney-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

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

.has-motion .home-attorney-credentials .home-attorney-credentials__header {
    transform: translateY(14px);
    transition:
            opacity 820ms var(--home-attorney-motion-ease),
            transform 820ms var(--home-attorney-motion-ease);
}

.has-motion .home-attorney-credentials .home-attorney-card {
    transform: translateY(12px);
    transition:
            opacity var(--home-attorney-motion-duration) var(--home-attorney-motion-ease),
            transform var(--home-attorney-motion-duration) var(--home-attorney-motion-ease);
}

.has-motion .home-attorney-credentials .home-attorney-card--ian {
    transition-delay: 140ms;
}

.has-motion .home-attorney-credentials .home-attorney-card--matthew {
    transition-delay: 260ms;
}

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

@media (max-width: 56.1875em) {
    .home-attorney-credentials {
        padding:
                calc((42px * var(--mobile-scale)) + var(--home-attorney-top-seam-depth))
                calc((24px * var(--mobile-scale)) + var(--safe-area-inline-right))
                calc(56px * var(--mobile-scale))
                calc((24px * var(--mobile-scale)) + var(--safe-area-inline-left));
        scroll-margin-top: var(--anchor-offset-mobile);
    }

    .home-attorney-credentials__inner {
        width: 100%;
    }

    .home-attorney-credentials__columns {
        grid-template-columns: 1fr;
        gap: calc(28px * var(--mobile-scale));
    }

    .home-attorney-credentials__column {
        display: contents;
    }

    .home-attorney-credentials__track,
    .home-attorney-credentials__pin {
        display: contents;
    }

    .home-attorney-credentials__column--right {
        padding-top: 0;
    }

    .home-attorney-credentials__header,
    .home-attorney-card {
        width: 100%;
        max-width: 100%;
        justify-self: center;
    }

    .home-attorney-credentials__header {
        order: 0;
        gap: calc(12px * var(--mobile-scale));
    }

    .home-attorney-credentials__eyebrow {
        gap: calc(12px * var(--mobile-scale));
        font-size: calc(0.875rem * var(--mobile-scale));
        line-height: 1;
    }

    .home-attorney-credentials__eyebrow::before {
        width: calc(42px * var(--mobile-scale));
    }

    .home-attorney-credentials__heading {
        font-size: calc(2.25rem * var(--mobile-scale));
        line-height: 1.04;
    }

    .home-attorney-card {
        gap: calc(14px * var(--mobile-scale));
    }

    .home-attorney-card--ian {
        order: 1;
    }

    .home-attorney-card--matthew {
        order: 2;
        margin-top: 0;
    }

    .home-attorney-card__media {
        width: 100%;
        aspect-ratio: 600 / 560;
    }

    .home-attorney-card__identity {
        left: calc(24px * var(--mobile-scale));
        right: calc(24px * var(--mobile-scale));
        bottom: calc(32px * var(--mobile-scale));
        width: auto;
        max-width: calc(100% - (48px * var(--mobile-scale)));
    }

    .home-attorney-card__role {
        font-size: calc(0.8125rem * var(--mobile-scale));
        line-height: 1.15;
        text-shadow: none;
    }

    .home-attorney-card__name {
        font-size: calc(1.875rem * var(--mobile-scale));
        line-height: 1.14;
    }

    .home-attorney-card__cta {
        margin-top: calc(10px * var(--mobile-scale));
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        row-gap: calc(6px * var(--mobile-scale));
        font-size: calc(1rem * var(--mobile-scale));
        line-height: 1.4;
    }

    .home-attorney-card__arrow {
        height: calc(10px * var(--mobile-scale));
    }

    .home-attorney-card__arrow::before,
    .home-attorney-card__arrow::after {
        border-width: calc(2px * var(--mobile-scale));
    }

    .home-attorney-card__arrow::before {
        height: calc(2px * var(--mobile-scale));
    }

    .home-attorney-card__quote {
        min-height: 0;
        width: 100%;
        padding-inline: 0;
        justify-self: stretch;
    }

    .home-attorney-card__quote p {
        width: min(82%, 448px);
        margin-inline: auto;
        padding-block:
                calc(14px * var(--mobile-scale))
                calc(15px * var(--mobile-scale));
        font-size: calc(0.9375rem * var(--mobile-scale));
        line-height: 1.62;
    }

    .home-attorney-card__quote br {
        display: none;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, 496px);
        max-width: min(100%, 496px);
        justify-self: center;
    }

    .home-attorney-card__media {
        aspect-ratio: 600 / 560;
    }

    .home-attorney-card__identity {
        left: 28px;
        right: 28px;
        bottom: 32px;
        max-width: calc(100% - 56px);
    }

    .home-attorney-card__role {
        font-size: 0.875rem;
        line-height: 1.2;
    }

    .home-attorney-card__name {
        font-size: 2.125rem;
        line-height: 1.14;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: 1rem;
        line-height: 1.4;
    }

    .home-attorney-card__quote p {
        width: min(82%, 416px);
        padding-block: 14px 15px;
        font-size: 0.953125rem;
        line-height: 1.62;
    }
}

@media (min-width: 37.5625em) and (max-width: 42.4375em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, 392px);
        max-width: min(100%, 392px);
        justify-self: center;
    }

    .home-attorney-card__media {
        aspect-ratio: 320 / 340;
    }

    .home-attorney-card__identity {
        left: 22px;
        right: 22px;
        bottom: 28px;
        max-width: calc(100% - 44px);
    }

    .home-attorney-card__role {
        font-size: 0.78125rem;
        line-height: 1.18;
    }

    .home-attorney-card__name {
        font-size: 1.8125rem;
        line-height: 1.14;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: 0.953125rem;
        line-height: 1.35;
    }

    .home-attorney-card__quote p {
        width: min(84%, 328px);
        padding-block: 12px 13px;
        font-size: 0.90625rem;
        line-height: 1.6;
    }
}

@media (max-width: 37.5em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, 368px);
        max-width: min(100%, 368px);
        justify-self: center;
    }

    .home-attorney-card__media {
        aspect-ratio: 320 / 352;
    }

    .home-attorney-card__identity {
        left: calc(20px * var(--mobile-scale));
        right: calc(20px * var(--mobile-scale));
        bottom: calc(26px * var(--mobile-scale));
        max-width: calc(100% - (40px * var(--mobile-scale)));
    }

    .home-attorney-card__role {
        font-size: calc(0.75rem * var(--mobile-scale));
        line-height: 1.18;
    }

    .home-attorney-card__name {
        font-size: calc(1.75rem * var(--mobile-scale));
        line-height: 1.14;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: calc(0.9375rem * var(--mobile-scale));
        line-height: 1.35;
    }

    .home-attorney-card__quote p {
        width: min(84%, 312px);
        padding-block:
                calc(11px * var(--mobile-scale))
                calc(13px * var(--mobile-scale));
        font-size: calc(0.890625rem * var(--mobile-scale));
        line-height: 1.6;
    }
}

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

:root {
    --desktop-scale: 1;
    --about-desktop-scale: 1;
    --practice-desktop-scale: 1;
    --home-hero-desktop-scale: 1;
    --home-attorney-desktop-scale: 1;
    --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, calc(5.972222vw * var(--font-scale, 1)), 14.333333rem);
    --anchor-offset-mobile: calc(72px * var(--mobile-scale));
}
.process-section {
    --divider-depth: 3.4482758621vw; /* W / 29 ≈ 3.94° angle */
    --section-y-padding: clamp(90px, 6.25vw, 240px);
    --process-section-breathing-room: clamp(32px, 3.888889vw, 72px);
    --process-pad-x: clamp(120px, 8.333333vw, 320px);
    --process-content-width: clamp(1200px, 83.333333vw, 3200px);

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

    --process-eyebrow-gap: clamp(16px, 1.111111vw, 42.6667px);
    --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(35px, 2.430556vw, 93.3333px);
    --process-eyebrow-rule-height: clamp(2px, 0.138889vw, 5.3333px);
    --process-heading-size: clamp(4.375rem, 4.861111vw, 11.666667rem);
    --process-heading-gap: clamp(50px, 3.472222vw, 133.3333px);
    --process-step-width: clamp(200px, 13.888889vw, 533.3333px);
    --process-timeline-y: clamp(280px, 19.444444vw, 746.6667px);
    --process-diamond-size: clamp(10px, 0.694444vw, 26.6667px);
    --process-diamond-border: clamp(2px, 0.138889vw, 5.3333px);
    --process-diamond-gap: clamp(18px, 1.25vw, 48px);
    --process-line-end-overshoot: clamp(3px, 0.208333vw, 8px);
    --process-upper-step-offset: clamp(24px, 1.666667vw, 64px);
    --process-heading-to-upper-number: clamp(50px, 3.472222vw, 133.3333px);
    --process-line-base: clamp(1px, 0.069444vw, 2.6667px);
    --process-line-fill: clamp(2px, 0.138889vw, 5.3333px);
    --process-reveal-offset: clamp(16px, 1.111111vw, 42.6667px);
    --process-number-gap: clamp(6px, 0.416667vw, 16px);
    --process-number-size: clamp(1.5rem, 1.666667vw, 4rem);
    --process-title-gap: clamp(8px, 0.555556vw, 21.3333px);
    --process-title-size: clamp(1.375rem, 1.527778vw, 3.666667rem);
    --process-copy-width: clamp(300px, 20.833333vw, 800px);
    --process-copy-size: clamp(1rem, 1.111111vw, 2.666667rem);
    --process-timing-gap: clamp(10px, 0.694444vw, 26.6667px);
    --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-section-breathing-room))
            var(--process-pad-x)
            calc(var(--section-y-padding) + var(--process-section-breathing-room));

    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: 0px;

    /* 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: 0px;

    --divider-bar-height: 8px;       /* 8px */
    --divider-square-size: 38px;    /* 38px */
    --divider-stroke: 7px;        /* 7px */
    --divider-half-diagonal: 26.8704px; /* 26.87px */
    --divider-full-diagonal: 53.7408px; /* 53.74px */

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

    padding: 90px clamp(24px, 8.333vw, 120px);

    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%, 632px);
    max-width: 632px;
    margin-left: auto;
    margin-right: 0;
}

/* Eyebrow */
.local-intent-content > .eyebrow {
    margin: 0 0 16px;
    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: 49px;
    height: 2px;
    margin-bottom: 16px;
    background: #C4963C;
}

/* Heading */
.local-intent-content > h2 {
    margin: 0 0 16px;
    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: 480px;
    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(18px, 2.222vw, 32px);
    row-gap: 10px;
    width: 100%;
    max-width: 632px;
    margin: 20px 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: 6px;
    min-height: 44px;
    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: 56.1875em) {
    .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;
}

.contact-page-main {
    padding-top: var(--sticky-bar-overlap-height);
    background: #152738;
}

body.contact-page,
body.resources-page {
    padding-bottom: 0;
}

.resources-page-main {
    box-sizing: border-box;
    display: grid;
    align-items: start;
    justify-items: center;
    min-height: max(416px, calc(var(--home-hero-stable-viewport-height) - var(--sticky-bar-overlap-height)));
    padding: calc(var(--sticky-bar-overlap-height) + clamp(28px, 3.5vw, 72px))
    clamp(20px, 4vw, 80px)
    clamp(48px, 5vw, 96px);
    background: radial-gradient(circle at 20% 20%, rgba(196, 150, 60, 0.08), transparent 352px),
    linear-gradient(135deg, #07111d 0%, #152738 54%, #060b11 100%);
}

.under-construction-card {
    box-sizing: border-box;
    width: min(100%, clamp(320px, 32vw, 480px));
    padding: clamp(22px, 2vw, 40px);
    color: #F9FAFB;
    border-top: 2px solid #C4963C;
    background:
            linear-gradient(180deg, rgba(7, 13, 22, 0.9) 0%, rgba(7, 13, 22, 0.78) 100%);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.2);
}

.under-construction-card__eyebrow {
    margin: 0 0 clamp(10px, 0.75vw, 15.2px);
    color: #C4963C;
    font-family: "Inter", sans-serif;
    font-size: clamp(0.75rem, 0.78vw, 0.95rem);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.under-construction-card h1 {
    margin: 0;
    max-width: 13ch;
    color: #FFFFFF;
    font-family: "Sitka Heading Bold", Georgia, serif;
    font-size: clamp(2rem, 2.55vw, 3.25rem);
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.01em;
}

.under-construction-card__lead {
    max-width: 368px;
    margin: clamp(16px, 1.2vw, 24px) 0 0;
    color: rgba(249, 250, 251, 0.7);
    font-family: "Inter", sans-serif;
    font-size: clamp(0.9rem, 0.88vw, 1rem);
    font-weight: 500;
    line-height: 1.45;
}

.under-construction-card__status {
    max-width: 384px;
    margin: clamp(7.2px, 0.62vw, 13.6px) 0 0;
    color: rgba(249, 250, 251, 0.86);
    font-family: "Inter", sans-serif;
    font-size: clamp(0.95rem, 0.96vw, 1.0625rem);
    font-weight: 500;
    line-height: 1.5;
}

.under-construction-card__status span {
    display: block;
    margin-top: 2.4px;
    color: #FFFFFF;
    font-weight: 700;
}

.under-construction-card__link,
.under-construction-card__link:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: clamp(38px, 2.35vw, 46px);
    margin-top: clamp(16px, 1.2vw, 24px);
    padding: 10px clamp(14px, 1.05vw, 22px);
    color: #07111d;
    background: #C4963C;
    border-radius: 4px;
    font-family: "Inter", sans-serif;
    font-size: clamp(0.875rem, 0.88vw, 1rem);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.under-construction-card__link:hover,
.under-construction-card__link:focus-visible {
    color: #FFFFFF;
    background: #B3832F;
}

.under-construction-card__link:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.9);
    outline-offset: 4px;
}

.under-construction-card__link:active {
    transform: translateY(1px);
}

.resources-page .under-construction-card__link,
.resources-page .under-construction-card__link:visited {
    min-height: 40px;
    padding: 9px 18px;
}

.under-construction-card__help {
    margin: clamp(16px, 1.15vw, 22.4px) 0 0;
    color: rgba(249, 250, 251, 0.5);
    font-family: "Inter", sans-serif;
    font-size: clamp(0.8125rem, 0.8vw, 0.9rem);
    font-weight: 500;
    line-height: 1.45;
}

.under-construction-card__help a,
.under-construction-card__help a:visited {
    color: rgba(249, 250, 251, 0.82);
    text-decoration: underline;
    text-decoration-color: rgba(196, 150, 60, 0.72);
    text-decoration-thickness: 0.08em;
    text-underline-offset: 0.2em;
}

.under-construction-card__help a:hover,
.under-construction-card__help a:focus-visible {
    color: #FFFFFF;
    text-decoration-color: #C4963C;
}

.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: 600.6px 491.4px; /* 600.6 / 491.4 */
    column-gap: 56px; /* 56 */
    justify-content: center;
    align-items: start;
    padding-block: 66px; /* 66 top/bottom */
    padding-inline: max(16px, calc((100% - 1200px) / 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: 600.6px; /* 600.6 */
    min-height: 660.5px; /* 660.5 */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding-top: 0;
}

.cta-copy-column > h1,
.cta-copy-column > h2 {
    width: 402px; /* 402 */
    margin: 0 0 24px; /* 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: 488px; /* 488 */
    margin: 0 0 24px; /* 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: 8px; /* 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: 8px 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(402px * (0.4 + 0.6 * var(--desktop-scale))));
    max-width: 100%;
    height: auto;
    margin-top: 40px; /* 40 */
    display: grid;
    gap: clamp(12px, 0.833333vw, 32px);
}

.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: 491.4px; /* 491.4 */
    min-height: 684.5px;
    margin-top: 0;
    padding: 20px 32px 0;
}

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

.cta-form-column::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 2714px;
    height: 1096px;
    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(72px);
    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 16px; /* 16 below bar */
    padding-bottom: 16px; /* 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: 16px; /* 16 */
    margin: 0;
    padding-bottom: 20px; /* 20 from button bottom to form bottom */
}

.field-row-name {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px; /* 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: 4px 0; /* reserve focus-ring space above and below */
    padding: 12px; /* 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: 4px; /* 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: 48px; /* 48 */
    padding: 12px; /* 12 */
}

.field-wrapper textarea {
    min-height: 141px; /* 141 */
    padding: 12px; /* 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: 220px; /* 220 */
    min-height: 48px; /* 48 */
    margin-right: 8px; /* 8 */
    padding: 12px 24px; /* 12 24 */
    border: 0;
    border-radius: 4px; /* 4 */
    background: #C4963C;
    box-shadow: inset 0 0 0 1px #B5852F,
    0 4px 16px -2px 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: 4px 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 #A7B7C8;
}

/* ---------------------------------------------------------
   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: 12px; /* 12 — matches input padding */
    /* label line-height(20) + gap(4) + (input 48 - icon 20) / 2 = 38px */
    top: 38px;
    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: 40px; /* 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: 1px;
    height: 1px;
    overflow: hidden;
}

.form-error-message {
    margin: 0 0 12px;
    padding: 12px 14px;
    border-left: 3px 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: 20px; /* 20px between success box and card bottom */
    padding: 20px;
    background: #EEF3F8;
    border-radius: 4px;
    box-shadow: inset 0 0 0 1px #B8C6D6;
}

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

.form-success-message h4 {
    margin: 0 0 8px; /* 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 12px; /* 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 8px; /* 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.921875rem;
    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
   ========================================================= */
.home-hero,
.process-section,
.local-intent,
.contact-cta,
.site-footer {
    max-width: 100%;
    overflow-x: clip;
}

.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: 90em) {
    .contact-cta {
        --cta-gutter-inline: clamp(146px, 10.138889vw, 389.3333px);
        --cta-section-pad-block: clamp(66px, 4.583333vw, 176px);
        --cta-copy-width: clamp(600.6px, 41.708333vw, 1601.6px);
        --cta-form-width: clamp(491.4px, 34.125vw, 1310.4px);
        --cta-col-gap: clamp(56px, 3.888889vw, 149.3333px);
        --cta-copy-min-height: clamp(660.5px, 45.868056vw, 1761.3333px);
        --cta-form-min-height: clamp(684.5px, 47.534722vw, 1825.3333px);

        --cta-copy-heading-width: clamp(402px, 27.916667vw, 1072px);
        --cta-copy-heading-gap: clamp(24px, 1.666667vw, 64px);
        --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(488px, 33.888889vw, 1301.3333px);
        --cta-description-size: clamp(1.25rem, 1.388889vw, 3.333333rem);
        --cta-reassurance-size: clamp(1.125rem, 1.25vw, 3rem);
        --cta-phone-gap: clamp(8px, 0.555556vw, 21.3333px);
        --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(402px * (0.4 + 0.6 * var(--desktop-scale))));
        --cta-map-gap-top: clamp(40px, 2.777778vw, 106.6667px);

        --cta-panel-pad-top: clamp(20px, 1.388889vw, 53.3333px);
        --cta-panel-pad-inline: clamp(32px, 2.222222vw, 85.3333px);
        --cta-panel-tail-space: clamp(24px, 1.666667vw, 64px);
        --cta-panel-radius: clamp(4px, 0.277778vw, 10.6667px);
        --cta-panel-stroke: clamp(1px, 0.069444vw, 2.6667px);
        --cta-panel-shadow-y: clamp(6px, 0.416667vw, 16px);
        --cta-panel-shadow-blur: clamp(18px, 1.25vw, 48px);
        --cta-panel-glow-width: clamp(2714px, 188.472222vw, 7237.3333px);
        --cta-panel-glow-height: clamp(1096px, 76.111111vw, 2922.6667px);
        --cta-panel-glow-blur: clamp(72px, 5vw, 192px);
        --cta-panel-heading-gap: clamp(16px, 1.111111vw, 42.6667px);
        --cta-panel-heading-rule: clamp(1.5px, 0.104167vw, 4px);
        --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(16px, 1.111111vw, 42.6667px);
        --cta-field-row-gap: clamp(16px, 1.111111vw, 42.6667px);
        --cta-field-gap: clamp(4px, 0.277778vw, 10.6667px);
        --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(12px, 0.833333vw, 32px);
        --cta-field-height: clamp(48px, 3.333333vw, 128px);
        --cta-textarea-min-height: clamp(141px, 9.791667vw, 376px);
        --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(4px, 0.277778vw, 10.6667px);
        --cta-field-stroke: clamp(1px, 0.069444vw, 2.6667px);
        --cta-field-ring-mid: clamp(2px, 0.138889vw, 5.3333px);
        --cta-field-ring-outer: clamp(4px, 0.277778vw, 10.6667px);
        --cta-error-icon-width: clamp(21px, 1.458333vw, 56px);
        --cta-error-icon-height: clamp(20px, 1.388889vw, 53.3333px);
        --cta-error-icon-top: clamp(38px, 2.638889vw, 101.3333px);
        --cta-error-input-pad-right: clamp(40px, 2.777778vw, 106.6667px);

        --cta-button-width: clamp(220px, 15.277778vw, 586.6667px);
        --cta-button-min-height: clamp(48px, 3.333333vw, 128px);
        --cta-button-gap-right: clamp(8px, 0.555556vw, 21.3333px);
        --cta-button-pad-block: clamp(12px, 0.833333vw, 32px);
        --cta-button-pad-inline: clamp(24px, 1.666667vw, 64px);
        --cta-button-radius: clamp(4px, 0.277778vw, 10.6667px);
        --cta-button-shadow-y: clamp(4px, 0.277778vw, 10.6667px);
        --cta-button-shadow-blur: clamp(16px, 1.111111vw, 42.6667px);
        --cta-button-shadow-spread: clamp(-5.3333px, -0.138889vw, -2px);
        --cta-button-size: clamp(1rem, 1.111111vw, 2.666667rem);

        --cta-disclaimer-gap-top: clamp(4px, 0.277778vw, 10.6667px);
        --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(20px, 1.388889vw, 53.3333px);
        --cta-success-pad: clamp(20px, 1.388889vw, 53.3333px);
        --cta-success-radius: clamp(4px, 0.277778vw, 10.6667px);
        --cta-success-stroke: clamp(1px, 0.069444vw, 2.6667px);
        --cta-success-title-gap: clamp(8px, 0.555556vw, 21.3333px);
        --cta-success-body-gap: clamp(12px, 0.833333vw, 32px);
        --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 > h1,
    .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) #A7B7C8;
    }

    .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: 90em) {
    .site-footer {
        --footer-pad-top: clamp(40px, 2.777778vw, 106.6667px);
        --footer-pad-bottom: clamp(48px, 3.333333vw, 128px);
        --footer-shadow-size: clamp(4px, 0.277778vw, 10.6667px);

        --footer-logo-width: clamp(228px, 15.833333vw, 608px);
        --footer-logo-height: clamp(224px, 15.555556vw, 597.3333px);
        --footer-column-width: clamp(246px, 17.083333vw, 656px);
        --footer-column-gap: clamp(56px, 3.888889vw, 149.3333px);

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

        --footer-divider-weight: clamp(2px, 0.138889vw, 5.3333px);
        --footer-divider-gap: clamp(20px, 1.388889vw, 53.3333px);

        --footer-address-gap: clamp(12px, 0.833333vw, 32px);
        --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(8px, 0.555556vw, 21.3333px);
        --footer-link-top-gap: clamp(10px, 0.694444vw, 26.6667px);

        --footer-link-thickness: clamp(1px, 0.069444vw, 2.6667px);
        --footer-link-offset: clamp(3px, 0.208333vw, 8px);

        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(90px, 6.25vw, 240px);
    --local-intent-pad-inline: clamp(120px, 8.333333vw, 320px);
    --local-intent-content-width: clamp(632px, 43.888889vw, 1685.3333px);
    --local-intent-stack-gap: clamp(16px, 1.111111vw, 42.6667px);
    --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(49px, 3.402778vw, 130.6667px);
    --local-intent-eyebrow-rule-height: clamp(2px, 0.138889vw, 5.3333px);
    --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(300px, 20.833333vw, 800px);
    --local-intent-region-gap: clamp(32px, 2.222222vw, 85.3333px);
    --local-intent-region-row-gap: clamp(10px, 0.694444vw, 26.6667px);
    --local-intent-region-margin-top: clamp(20px, 1.388889vw, 53.3333px);
    --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(6px, 0.416667vw, 16px);
    --local-intent-region-dd-min-height: clamp(44px, 3.055556vw, 117.3333px);

    --divider-bar-height: clamp(8px, 0.555556vw, 21.3333px);
    --divider-square-size: clamp(38px, 2.638889vw, 101.3333px);
    --divider-stroke: clamp(7px, 0.486111vw, 18.6667px);
    --divider-half-diagonal: calc(var(--divider-square-size) * 0.70710678);
    --divider-full-diagonal: calc(var(--divider-half-diagonal) * 2);

    --local-intent-panel-shift: clamp(12px, 0.833333vw, 32px);

    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: 89.9375em) {
    .local-intent {
        --local-intent-bridge-shift: clamp(-232px, calc((1440px - 100vw) * -0.22), 0px);
    }
}

/* =========================================================
   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: 89.9375em) and (min-width: 56.25em) {
    :root {
        --desktop-scale: 1;

        --anchor-offset-desktop: calc(5.375rem * var(--desktop-scale));
        --sticky-bar-overlap-height: calc(5.125rem * 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));
    }

    .process-section {
        --section-y-padding: calc(90px * var(--desktop-scale));
        --process-pad-x: calc(120px * var(--desktop-scale));
        --process-content-width: calc(1200px * var(--desktop-scale));
        --process-image-bottom-overhang: calc(484.666px * var(--desktop-scale));
        --process-eyebrow-gap: calc(16px * 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(35px * var(--desktop-scale));
        --process-eyebrow-rule-height: calc(2px * var(--desktop-scale));
        --process-heading-size: calc(4.375rem * var(--desktop-scale));
        --process-heading-gap: calc(50px * var(--desktop-scale));
        --process-step-width: calc(200px * var(--desktop-scale));
        --process-timeline-y: calc(280px * var(--desktop-scale));
        --process-diamond-size: calc(10px * var(--desktop-scale));
        --process-diamond-border: calc(2px * var(--desktop-scale));
        --process-diamond-gap: calc(18px * var(--desktop-scale));
        --process-line-end-overshoot: calc(3px * var(--desktop-scale));
        --process-upper-step-offset: calc(24px * var(--desktop-scale));
        --process-heading-to-upper-number: calc(50px * var(--desktop-scale));
        --process-line-base: calc(1px * var(--desktop-scale));
        --process-line-fill: calc(2px * var(--desktop-scale));
        --process-reveal-offset: calc(16px * var(--desktop-scale));
        --process-number-gap: calc(6px * var(--desktop-scale));
        --process-number-size: calc(1.5rem * var(--desktop-scale));
        --process-title-gap: calc(8px * var(--desktop-scale));
        --process-title-size: calc(1.375rem * var(--desktop-scale));
        --process-copy-width: calc(300px * var(--desktop-scale));
        --process-copy-size: calc(1rem * var(--desktop-scale));
        --process-timing-gap: calc(10px * var(--desktop-scale));
        --process-timing-size: calc(0.875rem * var(--desktop-scale));
    }

    .local-intent {
        --local-intent-pad-block: calc(90px * var(--desktop-scale));
        --local-intent-pad-inline: calc(120px * var(--desktop-scale));
        --local-intent-content-width: calc(632px * var(--desktop-scale));
        --local-intent-stack-gap: calc(16px * 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(49px * var(--desktop-scale));
        --local-intent-eyebrow-rule-height: calc(2px * 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(300px * var(--desktop-scale));
        --local-intent-region-gap: calc(32px * var(--desktop-scale));
        --local-intent-region-row-gap: calc(10px * var(--desktop-scale));
        --local-intent-region-margin-top: calc(20px * 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(6px * var(--desktop-scale));
        --local-intent-region-dd-min-height: calc(44px * var(--desktop-scale));
        --divider-bar-height: calc(8px * var(--desktop-scale));
        --divider-square-size: calc(38px * var(--desktop-scale));
        --divider-stroke: calc(7px * 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(12px * var(--desktop-scale));
    }

    .contact-cta {
        --cta-gutter-inline: calc(146px * var(--desktop-scale));
        --cta-section-pad-block: calc(66px * var(--desktop-scale));
        --cta-copy-width: calc(600.6px * var(--desktop-scale));
        --cta-form-width: calc(491.4px * var(--desktop-scale));
        --cta-col-gap: calc(56px * var(--desktop-scale));
        --cta-copy-min-height: calc(660.5px * var(--desktop-scale));
        --cta-form-min-height: calc(684.5px * var(--desktop-scale));
        --cta-copy-heading-width: calc(402px * var(--desktop-scale));
        --cta-copy-heading-gap: calc(24px * 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(488px * 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(8px * 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(402px * (0.4 + 0.6 * var(--desktop-scale))));
        --cta-map-gap-top: calc(40px * var(--desktop-scale));
        --cta-panel-pad-top: calc(20px * var(--desktop-scale));
        --cta-panel-pad-inline: calc(32px * var(--desktop-scale));
        --cta-panel-tail-space: calc(24px * var(--desktop-scale));
        --cta-panel-radius: calc(4px * var(--desktop-scale));
        --cta-panel-stroke: calc(1px * var(--desktop-scale));
        --cta-panel-shadow-y: calc(6px * var(--desktop-scale));
        --cta-panel-shadow-blur: calc(18px * var(--desktop-scale));
        --cta-panel-glow-width: calc(2714px * var(--desktop-scale));
        --cta-panel-glow-height: calc(1096px * var(--desktop-scale));
        --cta-panel-glow-blur: calc(72px * var(--desktop-scale));
        --cta-panel-heading-gap: calc(16px * var(--desktop-scale));
        --cta-panel-heading-rule: calc(1.5px * 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(16px * var(--desktop-scale));
        --cta-field-row-gap: calc(16px * var(--desktop-scale));
        --cta-field-gap: calc(4px * 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(12px * var(--desktop-scale));
        --cta-field-height: calc(48px * var(--desktop-scale));
        --cta-textarea-min-height: calc(141px * 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(4px * var(--desktop-scale));
        --cta-field-stroke: calc(1px * var(--desktop-scale));
        --cta-field-ring-mid: calc(2px * var(--desktop-scale));
        --cta-field-ring-outer: calc(4px * var(--desktop-scale));
        --cta-error-icon-width: calc(21px * var(--desktop-scale));
        --cta-error-icon-height: calc(20px * var(--desktop-scale));
        --cta-error-icon-top: calc(38px * var(--desktop-scale));
        --cta-error-input-pad-right: calc(40px * var(--desktop-scale));
        --cta-button-width: calc(220px * var(--desktop-scale));
        --cta-button-min-height: calc(48px * var(--desktop-scale));
        --cta-button-gap-right: calc(8px * var(--desktop-scale));
        --cta-button-pad-block: calc(12px * var(--desktop-scale));
        --cta-button-pad-inline: calc(24px * var(--desktop-scale));
        --cta-button-radius: calc(4px * var(--desktop-scale));
        --cta-button-shadow-y: calc(4px * var(--desktop-scale));
        --cta-button-shadow-blur: calc(16px * var(--desktop-scale));
        --cta-button-shadow-spread: calc(-2px * var(--desktop-scale));
        --cta-button-size: calc(1rem * var(--desktop-scale));
        --cta-disclaimer-gap-top: calc(4px * 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(20px * var(--desktop-scale));
        --cta-success-pad: calc(20px * var(--desktop-scale));
        --cta-success-radius: calc(4px * var(--desktop-scale));
        --cta-success-stroke: calc(1px * var(--desktop-scale));
        --cta-success-title-gap: calc(8px * var(--desktop-scale));
        --cta-success-body-gap: calc(12px * 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 > h1,
    .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) #A7B7C8;
    }

    .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(40px * var(--desktop-scale));
        --footer-pad-bottom: calc(48px * var(--desktop-scale));
        --footer-shadow-size: calc(4px * var(--desktop-scale));
        --footer-logo-width: calc(228px * var(--desktop-scale));
        --footer-logo-height: calc(224px * var(--desktop-scale));
        --footer-column-width: calc(246px * var(--desktop-scale));
        --footer-column-gap: calc(56px * var(--desktop-scale));
        --footer-heading-gap: calc(16px * var(--desktop-scale));
        --footer-heading-size: calc(1rem * var(--desktop-scale));
        --footer-heading-line: calc(1.375rem * var(--desktop-scale));
        --footer-divider-weight: calc(2px * var(--desktop-scale));
        --footer-divider-gap: calc(20px * var(--desktop-scale));
        --footer-address-gap: calc(12px * 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(8px * var(--desktop-scale));
        --footer-link-top-gap: calc(10px * var(--desktop-scale));
        --footer-link-thickness: calc(1px * var(--desktop-scale));
        --footer-link-offset: calc(3px * 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: 42.5em) and (max-width: 56.1875em) {
    :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(432px + 240px * var(--tablet-progress));
        --tablet-copy-max: calc(448px + 256px * var(--tablet-progress));
        --tablet-section-max: calc(480px + 288px * var(--tablet-progress));
        --anchor-offset-mobile: calc(64px + 8px * 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);
        margin-bottom: calc(-1 * var(--sticky-bar-overlap-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(288px + 64px * 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));
    }

    .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(464px + 48px * var(--tablet-progress));
        --process-image-bottom-overhang: 128px;
        --process-image-right-overhang: 0px;

        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(-4px);
        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: 42.5em) and (max-width: 56.1875em) {
    .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(448px + 160px * 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 > h1,
    .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(384px + 224px * var(--tablet-progress));
        margin: 0 auto;
        padding: 0;
    }

    .footer-logo {
        grid-column: 1;
        grid-row: 1;
        justify-self: center;
        width: calc(176px + 32px * 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: 42.5em) and (max-width: 56.1875em) {
    .field-row-name {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) 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: 47.5em) and (max-width: 56.1875em) {
    .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%, 1088px);
        margin: 0 auto;
        padding: 0;
        align-items: start;
    }

    .footer-logo {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-self: center;
        width: calc(176px + 32px * 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: 42.4375em) {
    :root {
        --sticky-bar-overlap-height: 52px;
        --mobile-sticky-bar-height: calc(42px * var(--mobile-scale));
        --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(16px + var(--safe-area-inline-left));
        --mobile-inline-pad-nav-right: calc(16px + var(--safe-area-inline-right));
        --mobile-inline-pad-panel-left: calc(24px + var(--safe-area-inline-left));
        --mobile-inline-pad-panel-right: calc(24px + var(--safe-area-inline-right));
    }

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

    /* Header */
    .sticky-bar {
        --mobile-header-height: 52px;

        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 16px;
        height: 52px;
        min-height: 52px;
        padding: 4px var(--mobile-inline-pad-nav-right) 4px 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: 34px;
        width: auto;
    }

    .mobile-nav {
        display: block;
        background: #2A2C2F;
        border-top: calc(1px * var(--mobile-scale)) solid rgba(229, 231, 235, 0.12);
        padding: 8px var(--mobile-inline-pad-panel-right) 16px 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: 14px 10px;
        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: 10px 16px;
        font-size: 0.8125rem;
    }

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

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

    .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: 128px;
        --process-image-right-overhang: 0px;

        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(-5.6px);
        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 {
        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:nth-child(even) .step-number {
        margin-top: 0;
    }

    .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%, 491.4px); /* fill available width up to 491.4px */

        grid-template-columns: 1fr;
        row-gap: 0;
        padding: 48px var(--mobile-inline-pad-panel-right) 48px 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 > h1,
    .cta-copy-column > h2 {
        grid-row: 1;
        width: var(--cta-stack-width);
        max-width: 100%;
        margin: 0 0 16px;
        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 44px;   /* 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: 18px 20px 0; /* 18 top, 20 LR, 0 bottom */
    }

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

    .cta-form-column > h3 {
        margin: 0 0 20px;
        padding-bottom: 9px;
        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: 20px; /* 20 */
    }

    .cta-form-column > form {
        gap: 20px;             /* 20 */
        margin-bottom: 0;
        padding-bottom: 18px; /* 18 */
    }

    .field-wrapper {
        gap: 6px; /* 6 */
    }

    .field-wrapper label {
        font-weight: 500;
        font-size: 0.875rem;   /* 14 */
        line-height: 1.25rem;  /* 20 */
    }

    .field-wrapper textarea {
        min-height: 120px; /* 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% + 40px); /* account for 20px LR padding */
        margin: 4px -20px 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: 24px;
        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: 6px;
        margin-bottom: 6px;
        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: 44px; /* 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 8px;
        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: 4px;
        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: var(--mobile-sticky-bar-height);
        padding:
                calc(4px * var(--mobile-scale))
                calc((10px * var(--mobile-scale)) + var(--safe-area-inline-right))
                calc(4px * var(--mobile-scale))
                calc((10px * var(--mobile-scale)) + var(--safe-area-inline-left));
        background: rgba(34, 36, 39, 0.94);
        border-top: 1px solid rgba(201, 212, 227, 0.1);
        box-sizing: border-box;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        box-shadow: 0 -12px 28px rgba(4, 7, 12, 0.14);
        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__half--phone {
        justify-content: flex-start;
        padding-right: calc(6px * var(--mobile-scale));
    }

    .mobile-sticky-bar__half--cta {
        justify-content: flex-end;
        padding-left: calc(6px * var(--mobile-scale));
    }

    .mobile-sticky-bar__phone-link,
    .mobile-sticky-bar__phone-link:visited {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: calc(4px * var(--mobile-scale));
        min-width: 0;
        width: 100%;

        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: 500;
        font-size: calc(0.8125rem * var(--mobile-scale));
        line-height: 1.4;
        letter-spacing: 0.035em;
    }

    .mobile-sticky-bar__icon-box {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: calc(18px * var(--mobile-scale));
        height: calc(18px * var(--mobile-scale));
        flex: 0 0 calc(18px * var(--mobile-scale));
    }

    .mobile-sticky-bar__phone-icon {
        display: block;
        width: calc(15.75px * var(--mobile-scale));
        height: calc(15.75px * 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: 100%;
        min-width: 0;
        height: calc(var(--mobile-sticky-bar-height) - (8px * var(--mobile-scale)));
        padding: calc(6px * var(--mobile-scale)) calc(14px * var(--mobile-scale));

        font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        font-weight: 600;
        font-size: calc(0.84375rem * var(--mobile-scale));
        line-height: 1.4;
        letter-spacing: 0.04em;
        color: #FFFFFF;
        text-decoration: none;

        background-color: #C4963C;
        border-radius: calc(5px * var(--mobile-scale));
        border: none;
        box-shadow:
                inset 0 0 0 calc(1px * var(--mobile-scale)) rgba(255, 255, 255, 0.18),
                0 calc(2px * var(--mobile-scale)) calc(10px * var(--mobile-scale)) -2px rgba(22, 22, 22, 0.08);
    }

    .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(1px * var(--mobile-scale)) calc(6px * var(--mobile-scale)) -2px rgba(22, 22, 22, 0.08);
    }

    .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(var(--mobile-sticky-bar-height) + var(--safe-area-inset-bottom));
    }

    .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: 30em) and (max-width: 42.4375em) {
    .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 > h1,
    .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: 41.125em) and (max-width: 42.4375em) {
    .form-disclaimer {
        width: calc(100% + 40px);
        margin: 4px -20px 0;
        white-space: nowrap;
        font-size: 0.75rem;
        line-height: 1.25rem;
        letter-spacing: -0.07em;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .local-intent-content {
        width: min(100%, 480px);
        max-width: 480px;
        padding: calc(24px + 10px * var(--tablet-progress))
        18px;
    }

    .cta-form-column {
        width: min(100%, 448px);
        max-width: 448px;
        padding: calc(20px + 2px * var(--tablet-progress))
        20px
        0;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    :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-sticky-bar-height: calc(44px * var(--tablet-sticky-scale));
        --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));
        --sticky-bar-overlap-height: calc(62px * var(--tablet-nav-scale));
    }

    .sticky-bar {
        --header-block-pad: calc(4px * var(--tablet-nav-scale));
        --header-min-height: calc(62px * var(--tablet-nav-scale));
        --header-group-gap: calc(18.4px * var(--tablet-nav-scale));
        --header-nav-gap: calc(22.4px * 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(48px * 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;
    }

    .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: var(--tablet-sticky-bar-height);
        padding:
                calc(4px * var(--tablet-sticky-scale))
                calc((12px * var(--tablet-sticky-scale)) + var(--safe-area-inline-right))
                calc(4px * var(--tablet-sticky-scale))
                calc((12px * var(--tablet-sticky-scale)) + var(--safe-area-inline-left));
        background: rgba(34, 36, 39, 0.94);
        border-top: 1px solid rgba(201, 212, 227, 0.1);
        box-sizing: border-box;
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        box-shadow: 0 -12px 28px rgba(4, 7, 12, 0.14);
        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__half--phone {
        justify-content: flex-start;
        padding-right: calc(8px * var(--tablet-sticky-scale));
    }

    .mobile-sticky-bar__half--cta {
        justify-content: flex-end;
        padding-left: calc(8px * var(--tablet-sticky-scale));
    }

    .mobile-sticky-bar__phone-link,
    .mobile-sticky-bar__phone-link:visited {
        display: inline-flex;
        align-items: center;
        justify-content: flex-start;
        gap: calc(4px * var(--tablet-sticky-scale));
        min-width: 0;
        width: 100%;
        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: 500;
        font-size: calc(0.828125rem * var(--tablet-sticky-scale));
        line-height: 1.4;
        letter-spacing: 0.035em;
    }

    .mobile-sticky-bar__icon-box {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: calc(18px * var(--tablet-sticky-scale));
        height: calc(18px * var(--tablet-sticky-scale));
        flex: 0 0 calc(18px * var(--tablet-sticky-scale));
    }

    .mobile-sticky-bar__phone-icon {
        display: block;
        width: calc(16px * var(--tablet-sticky-scale));
        height: calc(16px * 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: 100%;
        min-width: 0;
        height: calc(var(--tablet-sticky-bar-height) - (8px * var(--tablet-sticky-scale)));
        padding: calc(6px * var(--tablet-sticky-scale)) calc(14px * var(--tablet-sticky-scale));
        box-sizing: border-box;
        border-radius: calc(5px * 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.84375rem * var(--tablet-sticky-scale));
        font-weight: 600;
        line-height: 1.4;
        letter-spacing: 0.04em;
        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(10px * var(--tablet-sticky-scale)) -2px rgba(22, 22, 22, 0.08);
    }

    .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(1px * var(--tablet-sticky-scale)) calc(6px * var(--tablet-sticky-scale)) -2px rgba(22, 22, 22, 0.08);
    }

    .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(var(--tablet-sticky-bar-height) + var(--safe-area-inset-bottom));
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    :root.device-iphone .cta-form-column::after {
        content: none;
    }
}

@media (min-width: 47.5em) and (max-width: 56.1875em) {
    .site-footer {
        --tablet-footer-scale: calc(1.12 + 0.08 * var(--tablet-progress));
        --footer-tablet-gap: calc(28px + 10px * 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%, 1088px);
        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: 29.9375em) {
    .local-intent {
        --local-intent-bridge-shift: 68%;
    }

    .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 1px rgba(255, 255, 255, 0.18),
    0 clamp(4px, 0.277778vw, 10.6667px)
    clamp(16px, 1.111111vw, 42.6667px)
    clamp(-5.3333px, -0.138889vw, -2px)
    rgba(22, 22, 22, 0.10);
}

: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;
}

:root.using-touch .practice-explorer__preview-meta a:hover {
    color: #FFFFFF;
}

/* 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 {
    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 {
    line-height: 0;
}

.mobile-sticky-bar__phone-icon {
    color: inherit;
    transform: translateZ(0);
    backface-visibility: hidden;
}

.mobile-sticky-bar__phone-text {
    color: inherit;
}
/* Home page hero */
.home-hero {
    --home-hero-height: var(--home-hero-source-height);
    --home-hero-pad-inline: clamp(68px, 7.777778vw, 112px);
    --home-hero-pad-bottom: clamp(48px, 3.888889vw, 56px);
    --home-hero-content-top: clamp(64px, 4.861111vw, 70px);
    --home-hero-title-width: min(480px, 100%);
    --home-hero-title-size: clamp(1.875rem, 2.222222vw, 2rem);
    --home-hero-eyebrow-size: clamp(0.875rem, 0.972222vw, 0.9375rem);
    --home-hero-support-size: clamp(17px, 1.319444vw, 19px);
    --home-hero-fee-size: clamp(1rem, 1.180556vw, 1.0625rem);
    --home-hero-trust-size: clamp(0.8125rem, 0.972222vw, 0.875rem);
    --home-hero-cta-title-size: clamp(1.1875rem, 1.458333vw, 1.3125rem);
    --home-hero-cta-width: min(396px, 100%);
    --home-hero-focus-offset: clamp(3px, 0.208333vw, 8px);
    --home-hero-media-start: 0;
    --home-hero-content-gutter: clamp(30px, 2.222222vw, 36px);
    --home-hero-content-max-width: min(
            480px,
            calc(100% - (var(--home-hero-pad-inline) * 2))
    );

    position: relative;
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: max(calc(var(--home-hero-height) + var(--sticky-bar-overlap-height)), var(--home-hero-stable-viewport-height));
    box-sizing: border-box;
    padding:
            var(--sticky-bar-overlap-height)
            var(--home-hero-pad-inline)
            var(--home-hero-pad-bottom);
    overflow: hidden;
    isolation: isolate;
    background: var(--home-hero-stage-background);
}

.home-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--home-hero-overlay);
}

.home-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    background: #070b11;
    pointer-events: none;
}

.home-hero__media picture {
    display: block;
    width: 100%;
    height: 100%;
}

.home-hero__media::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: var(--home-hero-media-overlay);
}

.home-hero__trust-band {
    display: none;
}

.home-hero__trust-band-copy {
    margin: 0;
}

.home-hero__trust-band-primary,
.home-hero__trust-band-secondary {
    display: block;
}



.home-hero__photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--home-hero-background-position);
    filter: saturate(0.93) brightness(0.95) contrast(1.01);
    transform: scale(1.005);
}

.home-hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    width: min(100%, var(--home-hero-content-max-width));
    min-height: max(
            calc(var(--home-hero-height) - var(--home-hero-pad-bottom)),
            calc(var(--home-hero-stable-viewport-height) - var(--sticky-bar-overlap-height) - var(--home-hero-pad-bottom))
    );
    padding-top: var(--home-hero-content-top);
    padding-bottom: clamp(72px, 5.555556vw, 80px);
    box-sizing: border-box;
}

.home-hero__content::before {
    content: "";
    position: absolute;
    top: calc(-1 * var(--sticky-bar-overlap-height));
    right: calc(-1 * clamp(20px, 1.75vw, 28px));
    bottom: calc(-1 * var(--home-hero-pad-bottom));
    left: calc(-1 * var(--home-hero-pad-inline));
    z-index: -1;
    background: var(--home-hero-content-field);
    pointer-events: none;
}

.home-hero__eyebrow {
    margin: 0 0 clamp(14px, 1.111111vw, 16px);
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: var(--home-hero-eyebrow-size);
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: #C9D4E3;
    white-space: nowrap;
}

.home-hero__title {
    max-width: var(--home-hero-title-width);
    margin: 0 0 clamp(28px, 2.361111vw, 34px);
    display: flex;
    flex-direction: column;
    gap: clamp(2px, 0.277778vw, 4px);
    font-family: "Sitka Heading Bold", Georgia, serif;
    font-size: var(--home-hero-title-size);
    font-style: normal;
    font-weight: 700;
    line-height: 0.97;
    letter-spacing: -0.02em;
    color: #FFFFFF;
}

.home-hero__title-desktop,
.home-hero__title-mobile {
    display: flex;
    flex-direction: column;
    gap: inherit;
}

.home-hero__title-mobile {
    display: none;
}

.home-hero__title-line {
    display: block;
}

.home-hero__title-line--split {
    display: inline-flex;
    align-items: baseline;
    gap: 0.32ch;
}

.home-hero__title-word {
    display: inline-block;
}

.home-hero__subhead {
    max-width: 464px;
    margin: 0 0 15px;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: clamp(1.125rem, 1.35vw, 1.25rem);
    font-style: normal;
    font-weight: 650;
    line-height: 1.24;
    letter-spacing: -0.012em;
    color: rgba(245, 248, 251, 0.96);
}

.home-hero__support {
    max-width: 480px;
    margin: 0 0 clamp(26px, 2.083333vw, 30px);
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: var(--home-hero-support-size);
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.01em;
    color: rgba(255, 255, 255, 0.88);
}

.home-hero__support-spacer {
    width: 100%;
    max-width: 480px;
    height: calc(var(--home-hero-support-size) * 4.5);
    margin: 0 0 clamp(26px, 2.083333vw, 30px);
    flex: 0 0 auto;
}

.home-hero__fee {
    max-width: 448px;
    margin: 0 0 clamp(20px, 1.527778vw, 22px);
    padding: 11px 14px 12px 15px;
    box-sizing: border-box;
    background: linear-gradient(90deg, rgba(201, 212, 227, 0.032) 0%, rgba(201, 212, 227, 0.014) 58%, rgba(201, 212, 227, 0) 100%);
    border: 1px solid rgba(201, 212, 227, 0.045);
    border-left: 1px solid rgba(190, 154, 78, 0.32);
    border-radius: 10px;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: var(--home-hero-fee-size);
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.005em;
    color: rgba(245, 248, 251, 0.92);
}

.home-hero__fee strong {
    font-weight: 700;
    color: #FFFFFF;
}

.home-hero__fee-break {
    display: block;
}

.home-hero__trust {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: start;
    align-items: start;
    gap: 14px;
    max-width: 312px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: var(--home-hero-trust-size);
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.01em;
    color: rgba(221, 231, 242, 0.88);
}

.home-hero__trust li {
    position: relative;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.home-hero__trust li + li {
    margin-left: 12px;
    padding-left: 12px;
}

.home-hero__trust li + li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 1px;
    height: 0.85em;
    transform: translateY(-50%);
    background: rgba(190, 154, 78, 0.72);
}

.home-hero__cta-card,
.home-hero__cta-card:visited {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: stretch;
    row-gap: 10px;
    width: auto;
    max-width: min(100%, 432px);
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
    background: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    text-decoration: none;
    transition:
            transform 160ms ease,
            color 160ms ease;
    color: inherit;
}

.home-hero__cta-accent {
    display: none;
}

.home-hero__cta-text {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
    width: 100%;
    padding-top: 0;
}

.home-hero__cta-title {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: clamp(1.375rem, 1.7vw, 1.55rem);
    font-style: normal;
    font-weight: 600;
    line-height: 1.14;
    letter-spacing: -0.018em;
    color: #FFFFFF;
}

.home-hero__cta-copy {
    max-width: 320px;
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.45;
    color: rgba(221, 231, 242, 0.8);
}

.home-hero__cta-arrow {
    --home-hero-cta-arrow-height: 18px;
    --home-hero-cta-arrow-stroke: 4px;
    --home-hero-cta-arrow-head-size: 16px;

    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    height: var(--home-hero-cta-arrow-height);
    flex: 0 0 auto;
    align-self: stretch;
    margin-top: 2px;
    color: #C4963C;
    transform: scaleX(1);
    transform-origin: left center;
    transition:
            transform 180ms ease,
            color 160ms ease;
    isolation: isolate;
}

.home-hero__cta-arrow::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: var(--home-hero-cta-arrow-stroke);
    background: currentColor;
    transform: translateY(-50%);
    z-index: 1;
}

.home-hero__cta-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    right: calc(0.03 * var(--home-hero-cta-arrow-head-size));
    width: var(--home-hero-cta-arrow-head-size);
    height: var(--home-hero-cta-arrow-head-size);
    border-top: var(--home-hero-cta-arrow-stroke) solid currentColor;
    border-right: var(--home-hero-cta-arrow-stroke) solid currentColor;
    box-sizing: border-box;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: center;
    z-index: 2;
}

.home-hero__cta-card:hover,
.home-hero__cta-card:focus-visible {
    color: inherit;
    background: none;
    border-color: transparent;
    box-shadow: none;
}

.home-hero__cta-card:hover .home-hero__cta-title,
.home-hero__cta-card:focus-visible .home-hero__cta-title {
    color: #FFFFFF;
}

.home-hero__cta-card:hover .home-hero__cta-copy,
.home-hero__cta-card:focus-visible .home-hero__cta-copy {
    color: rgba(221, 231, 242, 0.92);
}

.home-hero__cta-card:hover .home-hero__cta-arrow,
.home-hero__cta-card:focus-visible .home-hero__cta-arrow {
    color: #E0B766;
    transform: scaleX(1.06);
}

.home-hero__cta-card:active .home-hero__cta-arrow {
    color: #B3832F;
    transform: scaleX(1.03);
}

.home-hero__cta-card:focus-visible {
    outline: 2px solid rgba(201, 212, 227, 0.92);
    outline-offset: var(--home-hero-focus-offset);
    border-radius: 2px;
}

@media (min-width: 42.5em) {
    :root {
        --home-hero-image-focus-x: 100%;
        --home-hero-image-focus-y: 0%;
        --home-hero-stage-position: 100% 0%;
        --home-hero-background-position: var(--home-hero-image-focus-x) var(--home-hero-image-focus-y);
        /* Default desktop lock height; inline JS overrides this after measurement. */
        --home-hero-locked-stage-height: min(
                var(--home-hero-desktop-viewport-height),
                calc(1160px * var(--home-hero-desktop-scale))
        );
    }

    .home-hero {
        --home-hero-stage-height-base: calc(1024px * var(--home-hero-desktop-scale));
        --home-hero-stage-height-limit: calc(1160px * var(--home-hero-desktop-scale));
        --home-hero-stage-height-fluid: min(var(--home-hero-desktop-viewport-height), var(--home-hero-stage-height-limit));
        /* Stage shrinks toward the visible viewport on short laptops via the
           JS-computed fit ratio (1 at the 1440x1024 reference, down to 0.74). */
        --home-hero-stage-height: calc(var(--home-hero-stage-height-base) * var(--home-hero-fit, 1));
        /* Compress the copy rhythm (and, gently, type) by the same fit so the
           copy stays inside the shorter stage instead of overflowing it. */
        --home-hero-desktop-rhythm-fill-scale: var(--home-hero-fit, 1);
        --home-hero-desktop-fee-fill-scale: var(--home-hero-fit, 1);
        --home-hero-desktop-cta-fill-scale: var(--home-hero-fit, 1);
        --home-hero-desktop-type-scale: var(--home-hero-type-fit, 1);
        --home-hero-visual-overlap-height: calc(82px * var(--home-hero-desktop-scale));
        --home-hero-height: calc(var(--home-hero-stage-height) - var(--home-hero-visual-overlap-height));
        --home-hero-pad-inline: calc(80px * var(--home-hero-desktop-scale));
        --home-hero-pad-bottom: calc(56px * var(--home-hero-desktop-scale));

        --home-hero-content-top: calc(70px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-rhythm-fill-scale));
        --home-hero-content-bottom-pad: max(
                calc(36px * var(--home-hero-desktop-scale)),
                calc(80px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale))
        );

        --home-hero-eyebrow-size: calc(0.9375rem * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-focus-offset: calc(3px * var(--home-hero-desktop-scale));

        --home-hero-content-max-width: min(
                calc(516px * var(--home-hero-desktop-scale)),
                calc(100% - (var(--home-hero-pad-inline) * 2))
        );
        --home-hero-title-width: min(calc(516px * var(--home-hero-desktop-scale)), 100%);
        --home-hero-title-size: calc(3.6rem * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-subhead-size: calc(1.215rem * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-support-size: calc(18.432px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-fee-size: calc(1.062rem * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-trust-size: calc(0.918rem * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-cta-title-size: calc(1.53rem * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-cta-copy-size: calc(1rem * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));

        --home-hero-cta-width: min(calc(412px * var(--home-hero-desktop-scale)), 100%);
        --home-hero-photo-offset-y: 0px;
        --home-hero-subhead-width: calc(440px * var(--home-hero-desktop-scale));
        --home-hero-support-width: calc(452px * var(--home-hero-desktop-scale));
        --home-hero-fee-width: calc(460px * var(--home-hero-desktop-scale));
        --home-hero-trust-width: min(calc(460px * var(--home-hero-desktop-scale)), 100%);
        --home-hero-copy-shift: calc(-30.24px * var(--home-hero-desktop-scale));

        --home-hero-eyebrow-gap: calc(10px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-rhythm-fill-scale));
        --home-hero-title-gap: calc(12px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-rhythm-fill-scale));
        --home-hero-subhead-gap: calc(15px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-rhythm-fill-scale));

        --home-hero-fee-rule-thickness: calc(1.5px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-fee-strong-gap: calc(3px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-fee-fill-scale));

        --home-hero-trust-gap: calc(9px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-rhythm-fill-scale));
        --home-hero-trust-indent: calc(16px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-trust-bullet-size: calc(6px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));

        --home-hero-support-spacer-height: calc(44px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-rhythm-fill-scale));
        --home-hero-support-bottom-gap: calc(12px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-rhythm-fill-scale));

        --home-hero-fee-top-gap: calc(16px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-fee-gap-scale) * var(--home-hero-desktop-fee-fill-scale));
        --home-hero-fee-bottom-gap: calc(14.4px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-fee-fill-scale));
        --home-hero-fee-pad-block: calc(13px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-fee-fill-scale));
        --home-hero-fee-pad-inline: calc(16px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-fee-fill-scale));

        --home-hero-cta-spacer-basis: calc(36px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-cta-spacer-scale) * var(--home-hero-desktop-cta-fill-scale));
        --home-hero-cta-spacer-min: calc(14px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-cta-spacer-scale) * var(--home-hero-desktop-cta-fill-scale));
        --home-hero-cta-row-gap: calc(10px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-cta-fill-scale));
        --home-hero-cta-text-gap: calc(5px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-cta-fill-scale));
        --home-hero-cta-arrow-margin-top: calc(2px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-rhythm-scale) * var(--home-hero-desktop-cta-fill-scale));

        --home-hero-content-wash-right: calc(122.4px * var(--home-hero-desktop-scale));

        min-height: var(--home-hero-stage-height);
        height: auto;
        max-height: none;
        padding-top: var(--home-hero-visual-overlap-height);
    }

    /* Attorney image layer is HEIGHT-DRIVEN and right-anchored:
       its width follows the 3:2 source ratio from the (fit-constrained) stage
       height. At the 1440x1024 reference the computed width still exceeds the
       viewport, so the image overflows left and is clipped exactly like the old
       cover crop. On short laptops the stage height is smaller, so the image is
       narrower than the viewport, revealing the source's own left-side negative
       space (filled by the dark stage) and rendering the attorneys smaller. */
    .home-hero__media picture {
        position: absolute;
        left: auto;
        /* Right-anchored. The approved source is framed with negative space on
           the RIGHT, so anchoring right places that empty glass-wall area at the
           viewport's right edge and naturally pushes the attorneys left toward
           the copy on short laptops -- no offset and no dark gap/wash needed. */
        right: 0;
        top: 0;
        height: var(--home-hero-stage-height);
        width: calc(var(--home-hero-stage-height) * 1.5);
        min-height: 0;
        min-width: 0;
    }

    .home-hero__photo {
        position: relative;
        top: 0;
        object-position: var(--home-hero-background-position);
        transform: none;
        transform-origin: right top;
        /* Dissolve only the photo's LEFT edge into the dark stage so the narrowed
           image has no hard seam where it meets the copy zone. Cropped off-screen
           at the reference width, so the approved composition is untouched. The
           right edge is the photo's own background, so it needs no fade. */
        -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 1) calc(100px * var(--home-hero-desktop-scale)), rgba(0, 0, 0, 1) 100%);
        mask-image: linear-gradient(90deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 1) calc(100px * var(--home-hero-desktop-scale)), rgba(0, 0, 0, 1) 100%);
    }

    .home-hero__content {
        justify-content: flex-start;
        min-height: calc(var(--home-hero-height) - var(--home-hero-pad-bottom));
        height: auto;
        max-height: none;
        padding-top: var(--home-hero-content-top);
        padding-bottom: var(--home-hero-content-bottom-pad);
    }

    .home-hero__content::after {
        content: "";
        display: block;
        order: 7;
        flex: 0 1 var(--home-hero-cta-spacer-basis);
        min-height: var(--home-hero-cta-spacer-min);
        width: 100%;
        pointer-events: none;
    }

    .home-hero__eyebrow {
        margin-bottom: var(--home-hero-eyebrow-gap);
        letter-spacing: 0.135em;
    }

    .home-hero__title {
        margin-bottom: var(--home-hero-title-gap);
        gap: calc(4px * var(--home-hero-desktop-scale));
        line-height: 0.93;
        letter-spacing: -0.024em;
    }

    .home-hero__title-line {
        white-space: normal;
    }

    .home-hero__subhead {
        max-width: var(--home-hero-subhead-width);
        margin-bottom: var(--home-hero-subhead-gap);
        font-size: var(--home-hero-subhead-size);
        line-height: 1.24;
    }

    .home-hero__support {
        max-width: var(--home-hero-support-width);
        margin-bottom: var(--home-hero-support-bottom-gap);
        line-height: 1.5;
    }

    .home-hero__support-spacer {
        max-width: var(--home-hero-support-width);
        height: var(--home-hero-support-spacer-height);
        margin-bottom: var(--home-hero-support-bottom-gap);
    }

    .home-hero__fee {
        position: relative;
        display: inline-flex;
        flex-direction: column;
        align-self: flex-start;
        width: auto;
        max-width: var(--home-hero-fee-width);
        margin-top: var(--home-hero-fee-top-gap);
        margin-bottom: var(--home-hero-fee-bottom-gap);
        padding: var(--home-hero-fee-pad-block) var(--home-hero-fee-pad-inline);
        background:
                linear-gradient(
                        90deg,
                        rgba(18, 30, 47, 0.72) 0%,
                        rgba(18, 30, 47, 0.56) 58%,
                        rgba(18, 30, 47, 0.24) 84%,
                        rgba(18, 30, 47, 0) 100%
                );
        border: 0;
        box-shadow: none;
    }

    .home-hero__fee::before,
    .home-hero__fee::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        height: var(--home-hero-fee-rule-thickness);
        background: rgba(196, 150, 60, 0.82);
    }

    .home-hero__fee::before {
        top: 0;
    }

    .home-hero__fee::after {
        bottom: 0;
    }

    .home-hero__fee strong {
        display: block;
        margin-top: var(--home-hero-fee-strong-gap);
        font-size: 1.08em;
        line-height: 1.28;
        color: #FFFFFF;
    }

    .home-hero__trust {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: start;
        align-items: start;
        gap: var(--home-hero-trust-gap);
        max-width: var(--home-hero-trust-width);
        margin: 0;
        padding: 0;
        list-style: none;
        font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
        font-size: var(--home-hero-trust-size);
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0.01em;
        color: rgba(221, 231, 242, 0.88);
    }

    .home-hero__trust li {
        position: relative;
        display: block;
        min-width: 0;
        width: max-content;
        max-width: 100%;
        margin: 0;
        padding-left: var(--home-hero-trust-indent);
        white-space: nowrap;
    }

    .home-hero__trust li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.68em;
        width: var(--home-hero-trust-bullet-size);
        height: var(--home-hero-trust-bullet-size);
        border-radius: 999px;
        background: rgba(196, 150, 60, 0.94);
        transform: translateY(-50%);
    }

    .home-hero__trust li + li {
        margin-left: 0;
        padding-left: var(--home-hero-trust-indent);
    }

    .home-hero__trust li + li::before {
        left: 0;
        top: 0.68em;
        width: var(--home-hero-trust-bullet-size);
        height: var(--home-hero-trust-bullet-size);
        border-radius: 999px;
        background: rgba(196, 150, 60, 0.94);
        transform: translateY(-50%);
    }

    .home-hero__cta-card,
    .home-hero__cta-card:visited {
        align-self: start;
        max-width: var(--home-hero-cta-width);
        order: 8;
        margin-top: 0;
        padding: 0;
        row-gap: var(--home-hero-cta-row-gap);
    }

    .home-hero__cta-title {
        font-size: var(--home-hero-cta-title-size);
    }

    .home-hero__cta-copy {
        max-width: calc(320px * var(--home-hero-desktop-scale));
        font-size: var(--home-hero-cta-copy-size);
        color: rgba(221, 231, 242, 0.86);
    }

    .home-hero__cta-text {
        gap: var(--home-hero-cta-text-gap);
    }

    .home-hero__cta-arrow {
        --home-hero-cta-arrow-height: calc(18px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-cta-arrow-stroke: calc(4px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        --home-hero-cta-arrow-head-size: calc(16px * var(--home-hero-desktop-scale) * var(--home-hero-desktop-type-scale));
        margin-top: var(--home-hero-cta-arrow-margin-top);
    }

    .home-hero__eyebrow,
    .home-hero__title,
    .home-hero__subhead,
    .home-hero__support,
    .home-hero__fee,
    .home-hero__trust,
    .home-hero__cta-card,
    .home-hero__cta-card:visited {
        transform: translateX(var(--home-hero-copy-shift));
    }
}

@media (min-width: 42.5em) {
    .home-hero__content::before {
        content: "";
        position: absolute;
        top: calc(-1 * var(--home-hero-visual-overlap-height));
        left: calc(-1 * var(--home-hero-pad-inline));
        right: calc(-1 * var(--home-hero-content-wash-right));
        bottom: calc(-1 * var(--home-hero-pad-bottom));
        z-index: -1;
        pointer-events: none;
        background:
                linear-gradient(
                        90deg,
                        rgba(7, 16, 28, 0.87) 0%,
                        rgba(7, 16, 28, 0.86) 46%,
                        rgba(7, 16, 28, 0.68) 58%,
                        rgba(7, 16, 28, 0.38) 69%,
                        rgba(7, 16, 28, 0.12) 80%,
                        rgba(7, 16, 28, 0) 88%
                );
    }
}

/* DISABLED: the custom tablet hero overlay (680-899px) is retired. That range
   now uses the mobile stacked layout (image on top, copy below) extended up to
   899px, matching the user's request to drop a bespoke tablet design. The
   never-matching media query keeps the rules inert without deleting them. */
@media (min-width: 9999em) and (max-width: 56.1875em) {
    :root {
        --home-hero-image: url("../images/background_images/hero-desktop-1920.webp");
        --home-hero-tablet-desktop-scale: calc(0.4722222222 + (0.1520833333 * var(--tablet-progress)));
        --home-hero-tablet-type-lift: 1;
        --home-hero-tablet-rhythm-lift: 1;
        --home-hero-stage-height-base: calc(1024px * var(--home-hero-tablet-desktop-scale));
        --home-hero-stage-height-limit: calc(1160px * var(--home-hero-tablet-desktop-scale));
        --home-hero-stage-height-fluid: min(var(--home-hero-stable-viewport-height), var(--home-hero-stage-height-limit));
        /* Default tablet lock height; inline JS overrides this after measurement. */
        --home-hero-locked-stage-height: min(
                var(--home-hero-stable-viewport-height),
                calc(1160px * var(--home-hero-tablet-desktop-scale))
        );
        /* The tablet photo is the both-attorney mid crop (ratio ~1.15). Drive the
           stage to that crop's natural height at full width so cover() shows the
           whole crop with no zoom and no vertical cut -- both attorneys read at
           natural size instead of one being blown up. The hero still grows for
           copy (height:auto) on the rare short-copy/edge case. */
        --home-hero-tablet-image-ratio: 1.15;
        --home-hero-stage-height: calc(100vw / var(--home-hero-tablet-image-ratio));
        --home-hero-visual-overlap-height: calc(82px * var(--home-hero-tablet-desktop-scale));
        --home-hero-height: calc(var(--home-hero-stage-height) - var(--home-hero-visual-overlap-height));
        --home-hero-source-height: var(--home-hero-stage-height);
        /* Both-attorney mid crop is centred (not right-anchored) and biased
           slightly toward the top so faces stay clear of any cover crop. */
        --home-hero-background-position: 50% 20%;
        --home-hero-stage-background:
                linear-gradient(
                        90deg,
                        rgba(6, 9, 15, 0.94) 0%,
                        rgba(6, 9, 15, 0.88) 18%,
                        rgba(6, 9, 15, 0.64) 34%,
                        rgba(6, 9, 15, 0.32) 50%,
                        rgba(6, 9, 15, 0.08) 64%,
                        rgba(6, 9, 15, 0) 74%
                ),
                #06090f var(--home-hero-image) var(--home-hero-background-position) / cover no-repeat;
        --home-hero-overlay:
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0.26) 0%,
                        rgba(0, 0, 0, 0.08) 24%,
                        rgba(0, 0, 0, 0.18) 100%
                );
        --home-hero-media-overlay:
                linear-gradient(
                        90deg,
                        rgba(4, 7, 12, 0.58) 0%,
                        rgba(4, 7, 12, 0.34) 18%,
                        rgba(4, 7, 12, 0.14) 36%,
                        rgba(4, 7, 12, 0.02) 52%,
                        rgba(4, 7, 12, 0) 64%
                ),
                linear-gradient(
                        180deg,
                        rgba(10, 16, 28, 0.08) 0%,
                        rgba(10, 16, 28, 0.04) 34%,
                        rgba(10, 16, 28, 0.12) 100%
                );
        --home-hero-content-field:
                linear-gradient(
                        90deg,
                        rgba(7, 16, 28, 0.94) 0%,
                        rgba(7, 16, 28, 0.9) 54%,
                        rgba(7, 16, 28, 0.72) 76%,
                        rgba(7, 16, 28, 0.24) 92%,
                        rgba(7, 16, 28, 0) 100%
                );
    }

    .home-hero {
        --home-hero-pad-inline: calc(80px * var(--home-hero-tablet-desktop-scale));
        --home-hero-pad-bottom: calc(56px * var(--home-hero-tablet-desktop-scale));
        --home-hero-content-top: calc(70px * var(--home-hero-tablet-desktop-scale));
        --home-hero-content-bottom-pad: max(
                calc(36px * var(--home-hero-tablet-desktop-scale)),
                calc(80px * var(--home-hero-tablet-desktop-scale))
        );
        --home-hero-subhead-width: calc(440px * var(--home-hero-tablet-desktop-scale));
        --home-hero-support-width: calc(452px * var(--home-hero-tablet-desktop-scale));
        --home-hero-fee-width: calc(460px * var(--home-hero-tablet-desktop-scale));
        --home-hero-trust-width: min(calc(460px * var(--home-hero-tablet-desktop-scale)), 100%);
        --home-hero-cta-width: min(calc(412px * var(--home-hero-tablet-desktop-scale)), 100%);
        --home-hero-copy-shift: calc(-30.24px * var(--home-hero-tablet-desktop-scale));
        --home-hero-trust-gap: calc(9px * var(--home-hero-tablet-desktop-scale));
        --home-hero-trust-indent: calc(16px * var(--home-hero-tablet-desktop-scale));
        --home-hero-trust-bullet-size: calc(6px * var(--home-hero-tablet-desktop-scale));
        --home-hero-fee-rule-thickness: calc(1.5px * var(--home-hero-tablet-desktop-scale));
        --home-hero-fee-strong-gap: calc(3px * var(--home-hero-tablet-desktop-scale));
        --home-hero-support-spacer-height: calc(44px * var(--home-hero-tablet-desktop-scale));
        --home-hero-fee-top-gap: calc(16px * var(--home-hero-tablet-desktop-scale));
        --home-hero-fee-bottom-gap: calc(14.4px * var(--home-hero-tablet-desktop-scale));
        --home-hero-fee-pad-block: calc(13px * var(--home-hero-tablet-desktop-scale));
        --home-hero-fee-pad-inline: calc(16px * var(--home-hero-tablet-desktop-scale));
        --home-hero-cta-spacer-basis: calc(36px * var(--home-hero-tablet-desktop-scale));
        --home-hero-cta-spacer-min: calc(14px * var(--home-hero-tablet-desktop-scale));
        --home-hero-cta-row-gap: calc(10px * var(--home-hero-tablet-desktop-scale));
        --home-hero-cta-text-gap: calc(5px * var(--home-hero-tablet-desktop-scale));
        --home-hero-cta-arrow-margin-top: calc(2px * var(--home-hero-tablet-desktop-scale));
        --home-hero-content-wash-right: calc(122.4px * var(--home-hero-tablet-desktop-scale));
        --home-hero-photo-offset-y: 0px;
        --home-hero-content-max-width: min(
                calc(516px * var(--home-hero-tablet-desktop-scale)),
                calc(100% - (var(--home-hero-pad-inline) * 2))
        );
        --home-hero-title-width: min(calc(516px * var(--home-hero-tablet-desktop-scale)), 100%);
        --home-hero-title-size: calc(3.6rem * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        --home-hero-eyebrow-size: calc(0.9375rem * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        --home-hero-subhead-size: calc(1.215rem * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        --home-hero-support-size: calc(18.432px * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        --home-hero-fee-size: calc(1.062rem * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        --home-hero-trust-size: calc(0.918rem * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        --home-hero-cta-title-size: calc(1.53rem * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        --home-hero-cta-copy-size: calc(1rem * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-type-lift));
        min-height: var(--home-hero-source-height);
        height: auto;
        max-height: none;
        display: flex;
        align-items: stretch;
        padding:
                var(--home-hero-visual-overlap-height)
                var(--home-hero-pad-inline)
                var(--home-hero-pad-bottom);
    }

    .home-hero__media picture {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        width: 100%;
        height: var(--home-hero-stage-height-base);
        min-height: 100%;
    }

    .home-hero__photo {
        position: relative;
        top: 0;
        object-position: var(--home-hero-background-position);
        transform: none;
        transform-origin: right top;
    }

    .home-hero__content {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        width: min(100%, var(--home-hero-content-max-width));
        min-height: calc(var(--home-hero-height) - var(--home-hero-pad-bottom));
        height: auto;
        max-height: none;
        padding-top: var(--home-hero-content-top);
        padding-bottom: var(--home-hero-content-bottom-pad);
        justify-content: flex-start;
        align-items: flex-start;
    }

    .home-hero__content::after {
        content: "";
        display: block;
        order: 7;
        flex: 0 1 var(--home-hero-cta-spacer-basis);
        min-height: var(--home-hero-cta-spacer-min);
        width: 100%;
        pointer-events: none;
    }

    .home-hero__content::before {
        top: calc(-1 * var(--home-hero-visual-overlap-height));
        right: calc(-1 * var(--home-hero-content-wash-right));
        bottom: calc(-1 * var(--home-hero-pad-bottom));
        left: calc(-1 * var(--home-hero-pad-inline));
        border-radius: 0;
        background: var(--home-hero-content-field);
    }

    .home-hero__eyebrow {
        max-width: none;
        margin-bottom: calc(10px * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-rhythm-lift));
        letter-spacing: 0.135em;
        white-space: nowrap;
    }

    .home-hero__title {
        margin-bottom: calc(12px * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-rhythm-lift));
        gap: calc(4px * var(--home-hero-tablet-desktop-scale));
        line-height: 0.93;
        letter-spacing: -0.024em;
    }

    .home-hero__title-line {
        white-space: normal;
    }

    .home-hero__subhead {
        max-width: min(var(--home-hero-subhead-width), 100%);
        margin-bottom: calc(15px * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-rhythm-lift));
        font-size: var(--home-hero-subhead-size);
        line-height: 1.24;
    }

    .home-hero__support {
        max-width: min(var(--home-hero-support-width), 100%);
        margin-bottom: calc(18px * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-rhythm-lift));
        line-height: 1.5;
    }

    .home-hero__support-spacer {
        max-width: min(var(--home-hero-support-width), 100%);
        height: var(--home-hero-support-spacer-height);
        margin-bottom: calc(12px * var(--home-hero-tablet-desktop-scale) * var(--home-hero-tablet-rhythm-lift));
    }

    .home-hero__subhead br,
    .home-hero__support br,
    .home-hero__fee br {
        display: none;
    }

    .home-hero__fee {
        position: relative;
        display: inline-flex;
        flex-direction: column;
        align-self: flex-start;
        width: auto;
        max-width: min(var(--home-hero-fee-width), 100%);
        margin: var(--home-hero-fee-top-gap) 0 var(--home-hero-fee-bottom-gap);
        padding: var(--home-hero-fee-pad-block) var(--home-hero-fee-pad-inline);
        background:
                linear-gradient(
                        90deg,
                        rgba(18, 30, 47, 0.7) 0%,
                        rgba(18, 30, 47, 0.54) 58%,
                        rgba(18, 30, 47, 0.22) 84%,
                        rgba(18, 30, 47, 0) 100%
                );
        border: 0;
        border-radius: 0;
        box-shadow: none;
    }

    .home-hero__fee::before,
    .home-hero__fee::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        height: var(--home-hero-fee-rule-thickness);
        background: rgba(196, 150, 60, 0.78);
    }

    .home-hero__fee::before {
        top: 0;
    }

    .home-hero__fee::after {
        bottom: 0;
    }

    .home-hero__fee strong {
        display: block;
        margin-top: var(--home-hero-fee-strong-gap);
        font-size: 1.08em;
        line-height: 1.28;
    }

    .home-hero__fee-break {
        display: block;
    }

    .home-hero__trust {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: start;
        align-items: start;
        gap: var(--home-hero-trust-gap);
        max-width: var(--home-hero-trust-width);
        margin: 0;
        padding: 0;
        list-style: none;
        font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
        font-size: var(--home-hero-trust-size);
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0.01em;
        color: rgba(221, 231, 242, 0.88);
    }

    .home-hero__trust li {
        position: relative;
        display: block;
        min-width: 0;
        width: max-content;
        max-width: 100%;
        margin: 0;
        padding-left: var(--home-hero-trust-indent);
        white-space: nowrap;
    }

    .home-hero__trust li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.68em;
        width: var(--home-hero-trust-bullet-size);
        height: var(--home-hero-trust-bullet-size);
        border-radius: 999px;
        background: rgba(196, 150, 60, 0.94);
        transform: translateY(-50%);
    }

    .home-hero__trust li + li {
        margin-left: 0;
        padding-left: var(--home-hero-trust-indent);
    }

    .home-hero__trust li + li::before {
        left: 0;
        top: 0.68em;
        width: var(--home-hero-trust-bullet-size);
        height: var(--home-hero-trust-bullet-size);
        border-radius: 999px;
        background: rgba(196, 150, 60, 0.94);
        transform: translateY(-50%);
    }

    .home-hero__cta-card,
    .home-hero__cta-card:visited {
        align-self: start;
        max-width: var(--home-hero-cta-width);
        order: 8;
        margin-top: 0;
        row-gap: var(--home-hero-cta-row-gap);
        padding: 0;
    }

    .home-hero__cta-title {
        font-size: var(--home-hero-cta-title-size);
    }

    .home-hero__cta-copy {
        max-width: calc(320px * var(--home-hero-tablet-desktop-scale));
        font-size: var(--home-hero-cta-copy-size);
        line-height: 1.45;
        color: rgba(221, 231, 242, 0.86);
    }

    .home-hero__cta-text {
        gap: var(--home-hero-cta-text-gap);
    }

    .home-hero__cta-arrow {
        --home-hero-cta-arrow-height: calc(18px * var(--home-hero-tablet-desktop-scale));
        --home-hero-cta-arrow-stroke: calc(4px * var(--home-hero-tablet-desktop-scale));
        --home-hero-cta-arrow-head-size: calc(16px * var(--home-hero-tablet-desktop-scale));
        margin-top: var(--home-hero-cta-arrow-margin-top);
    }

    .home-hero__eyebrow,
    .home-hero__title,
    .home-hero__subhead,
    .home-hero__support,
    .home-hero__fee,
    .home-hero__trust,
    .home-hero__cta-card,
    .home-hero__cta-card:visited {
        transform: translateX(var(--home-hero-copy-shift));
    }
}

/* Mobile stacked hero layout (<=679px). The desktop copy-left/attorneys-right
   layout now extends all the way down to 680px (shrinking with the viewport),
   so mobile only needs to own the phone range. */
@media (max-width: 42.4375em) {
    :root {
        --home-hero-image: url("../images/background_images/hero2.webp");
        --home-hero-panel-overlap: 23.2px;
        --home-hero-panel-radius: clamp(22px, calc(24px * var(--mobile-scale)), 26.4px);
        --mobile-sticky-bar-height: calc(42px * var(--mobile-scale));
        --home-hero-stage-background:
                #0b1118 var(--home-hero-image) center top / cover no-repeat;
        --home-hero-overlay:
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 0%,
                        rgba(0, 0, 0, 0) 26%,
                        rgba(0, 0, 0, 0) 72%,
                        rgba(0, 0, 0, 0.03) 84%,
                        rgba(0, 0, 0, 0.12) 100%
                );
        --home-hero-media-overlay:
                linear-gradient(
                        180deg,
                        rgba(8, 13, 20, 0) 0%,
                        rgba(8, 13, 20, 0) 28%,
                        rgba(8, 13, 20, 0) 66%,
                        rgba(8, 13, 20, 0.015) 78%,
                        rgba(8, 13, 20, 0.12) 100%
                ),
                linear-gradient(
                        90deg,
                        rgba(8, 13, 20, 0.28) 0%,
                        rgba(8, 13, 20, 0.14) 24%,
                        rgba(8, 13, 20, 0.045) 46%,
                        rgba(8, 13, 20, 0) 68%
                );
        --home-hero-content-field:
                linear-gradient(
                        180deg,
                        rgba(6, 9, 15, 0) 0%,
                        rgba(6, 9, 15, 0) 6%,
                        rgba(6, 9, 15, 0.18) 14%,
                        rgba(6, 9, 15, 0.46) 22%,
                        rgba(6, 9, 15, 0.62) 32%,
                        rgba(6, 9, 15, 0.76) 46%,
                        rgba(6, 9, 15, 0.88) 64%,
                        rgba(6, 9, 15, 0.94) 82%,
                        rgba(6, 9, 15, 0.97) 100%
                );
    }

    .home-hero {
        --home-hero-mobile-type-scale: 1;
        --home-hero-bottom-type-scale: 1;
        --home-hero-bottom-rhythm-scale: 1;
        --home-hero-panel-inline: 24px;
        --home-hero-copy-left: var(--home-hero-panel-inline);
        --home-hero-copy-zone-width: calc(100% - 16px);
        --home-hero-photo-top-crop: var(--sticky-bar-overlap-height);
        --home-hero-photo-focus-y: 13%;
        --home-hero-top-band-copy-width: calc(100% - (var(--home-hero-panel-inline) * 2));
        --home-hero-top-band-top-pad: calc(var(--sticky-bar-overlap-height) + 14.4px);
        --home-hero-top-band-bottom-pad: 21.6px;
        --home-hero-panel-pad-x: 20px;
        --home-hero-panel-pad-top: 20px;
        --home-hero-panel-pad-bottom: 18px;
        --home-hero-copy-bottom: 24px;
        --home-hero-seam-clearance: calc(clamp(38px, 2.638889vw, 101.3333px) * 0.70710678);
        --home-hero-text-column-max: 300px;
        --home-hero-paragraph-max: 228px;
        --home-hero-eyebrow-max: 234px;
        --home-hero-title-width: var(--home-hero-text-column-max);
        --home-hero-title-base-size: 44.48px;
        --home-hero-title-size: var(--home-hero-title-base-size);
        --home-hero-eyebrow-size: 0.96rem;
        --home-hero-subhead-size: calc(var(--home-hero-title-size) * 0.39);
        --home-hero-support-size: calc(var(--home-hero-title-size) * 0.33);
        --home-hero-fee-size: 1.0625rem;
        --home-hero-trust-size: calc(var(--home-hero-title-size) * 0.29);
        --home-hero-cta-title-size: calc(var(--home-hero-title-size) * 0.41);
        --home-hero-cta-copy-size: calc(var(--home-hero-title-size) * 0.295);
        --home-hero-image-bleed: calc(var(--home-hero-panel-overlap) + (var(--home-hero-title-size) * 2.15));
        --home-hero-text-overlay-rise: calc(var(--home-hero-title-size) * 0.9);
        --home-hero-image-fade-height: calc((var(--home-hero-image-bleed) * 0.5) + (var(--home-hero-title-size) * 1.9));
        --home-hero-top-band-primary-size: clamp(19.2px, calc(var(--home-hero-title-base-size) * 0.54), 27.52px);
        --home-hero-top-band-secondary-size: clamp(16px, calc(var(--home-hero-title-base-size) * 0.38), 19.84px);
        display: grid;
        grid-template-rows: minmax(0, 44fr) minmax(0, 56fr);
        position: relative;
        min-height: calc(var(--home-hero-stable-viewport-height) - var(--mobile-sticky-bar-height));
        height: calc(var(--home-hero-stable-viewport-height) - var(--mobile-sticky-bar-height));
        max-height: none;
        padding: 0;
        background: #0b1118;
        overflow: hidden;
    }

    .home-hero::before {
        display: none;
    }

    .home-hero__media {
        position: relative;
        inset: auto;
        grid-row: 1;
        grid-column: 1;
        align-self: start;
        z-index: 0;
        width: 100%;
        min-height: 0;
        height: calc(100% + var(--home-hero-image-bleed));
        margin-bottom: calc(-1 * var(--home-hero-image-bleed));
        overflow: hidden;
        background: #0b1118;
        pointer-events: none;
    }

    .home-hero__media picture {
        display: block;
        width: 100%;
        height: 100%;
    }

    .home-hero__media::before {
        background:
                linear-gradient(
                        180deg,
                        rgba(10, 16, 24, 0.72) 0%,
                        rgba(10, 16, 24, 0.58) 9%,
                        rgba(10, 16, 24, 0.36) 18%,
                        rgba(10, 16, 24, 0.16) 28%,
                        rgba(10, 16, 24, 0.04) 38%,
                        rgba(10, 16, 24, 0) 48%
                );
    }

    .home-hero .home-hero__media::after {
        content: "";
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: var(--home-hero-image-fade-height);
        z-index: 2;
        pointer-events: none;
        background:
                linear-gradient(
                        180deg,
                        rgba(10, 16, 24, 0) 0%,
                        rgba(10, 16, 24, 0.44) 14%,
                        rgba(10, 16, 24, 0.64) 30%,
                        rgba(10, 16, 24, 0.80) 48%,
                        rgba(10, 16, 24, 0.88) 66%,
                        rgba(10, 16, 24, 0.96) 84%,
                        #0b1118 100%
                );
    }

    .home-hero__photo {
        object-position: 52% 0%;
        transform: none;
    }

    .home-hero__trust-band {
        display: none;
    }

    .home-hero__trust-band::after {
        display: none;
    }

    .home-hero__trust-band-copy,
    .home-hero__trust-band-primary,
    .home-hero__trust-band-secondary {
        display: none;
    }

    .home-hero__content {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        z-index: 3;
        grid-row: 2;
        grid-column: 1;
        width: 100%;
        max-width: none;
        margin: calc(-1 * var(--home-hero-panel-overlap)) 0 0;
        min-height: 0;
        height: auto;
        max-height: none;
        padding: 16.32px
        var(--home-hero-panel-inline)
        calc(var(--home-hero-seam-clearance) + 9.28px);
        box-sizing: border-box;
        justify-content: flex-start;
        align-items: flex-start;
        text-align: left;
        transform: none;
        background: transparent;
    }

    .home-hero .home-hero__content::before {
        display: block;
        top: calc(-1 * var(--home-hero-text-overlay-rise));
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;
        pointer-events: none;
        background: transparent;
    }

    .home-hero__eyebrow {
        width: 100%;
        max-width: var(--home-hero-eyebrow-max);
        margin-bottom: 12.8px;
        font-size: var(--home-hero-eyebrow-size);
        font-weight: 600;
        line-height: 1.34;
        letter-spacing: 0.07em;
        white-space: normal;
        text-wrap: balance;
        color: #C4963C;
    }

    .home-hero__title {
        width: 100%;
        max-width: var(--home-hero-title-width);
        margin-bottom: 0;
        gap: 0.96px;
        font-family: "Sitka Heading", "Sitka Heading Bold", Georgia, serif;
        font-size: var(--home-hero-title-size);
        font-weight: 600;
        line-height: 0.95;
        letter-spacing: -0.01em;
    }

    .home-hero__title::after {
        content: "";
        display: block;
        width: 42px;
        height: 4px;
        margin-top: 16px;
        background: #C4963C;
        border-radius: 0;
    }

    .home-hero__title-desktop {
        display: none;
    }

    .home-hero__title-mobile {
        display: flex;
    }

    .home-hero__title-line {
        max-width: 100%;
        white-space: nowrap;
    }

    .home-hero__subhead {
        display: none;
        width: 100%;
        max-width: 100%;
        margin-bottom: 15.2px;
        font-size: var(--home-hero-subhead-size);
        font-weight: 700;
        line-height: 1.18;
        text-wrap: balance;
    }

    .home-hero__support {
        display: none;
        max-width: 100%;
        margin-bottom: 17.92px;
        font-size: var(--home-hero-support-size);
        line-height: 1.46;
        text-wrap: balance;
    }

    .home-hero__support-spacer {
        display: none;
    }

    .home-hero__subhead br,
    .home-hero__support br,
    .home-hero__fee br {
        display: none;
    }

    .home-hero__fee {
        display: none;
    }

    .home-hero__fee::before,
    .home-hero__fee::after {
        display: none;
    }

    .home-hero__fee-break {
        display: none;
    }

    /* Show the desktop trust bullets on mobile in place of the fee
       paragraph, scaled down to sit in the same copy column. Each
       bullet stays on a single line — width is driven by content,
       not the column max, so longer items don't wrap. */
    .home-hero__trust {
        display: grid;
        grid-template-columns: max-content;
        justify-content: start;
        align-items: start;
        gap: 10px;
        width: max-content;
        max-width: 100%;
        margin: 16.8px 0 0;
        padding: 0;
        list-style: none;
        font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
        font-size: var(--home-hero-trust-size);
        font-weight: 500;
        line-height: 1.45;
        letter-spacing: 0.01em;
        color: rgba(221, 231, 242, 0.88);
    }

    .home-hero__trust li {
        position: relative;
        display: block;
        width: max-content;
        max-width: 100%;
        margin: 0;
        padding-left: 14px;
        white-space: nowrap;
    }

    .home-hero__trust li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.68em;
        width: 5px;
        height: 5px;
        border-radius: 999px;
        background: rgba(196, 150, 60, 0.94);
        transform: translateY(-50%);
    }

    .home-hero__trust li + li {
        margin-left: 0;
        padding-left: 14px;
    }

    .home-hero__trust li + li::before {
        left: 0;
        top: 0.68em;
        width: 5px;
        height: 5px;
        border-radius: 999px;
        background: rgba(196, 150, 60, 0.94);
        transform: translateY(-50%);
    }

    .home-hero__cta-card,
    .home-hero__cta-card:visited {
        display: none;
    }

    .home-hero__cta-title {
        font-size: var(--home-hero-cta-title-size);
    }

    .home-hero__cta-copy {
        max-width: none;
        font-size: var(--home-hero-cta-copy-size);
        line-height: 1.35;
        white-space: nowrap;
    }

    .home-hero__cta-text {
        gap: 4px;
    }

    .home-hero__cta-arrow {
        --home-hero-cta-arrow-height: 12.8px;
        --home-hero-cta-arrow-stroke: 3px;
        --home-hero-cta-arrow-head-size: 12.48px;
        width: min(144px, 100%);
        margin-top: 0;
    }
}

@media (max-width: 33.75em) {
    :root {
        --home-hero-media-height: clamp(280px, calc(288px + 28px * var(--mobile-scale)), 320px);
        --home-hero-panel-overlap: 23.2px;
        --home-hero-background-position: 56% 14%;
    }

    .home-hero__eyebrow {
        margin-bottom: 12.8px;
    }

    .home-hero__subhead {
        max-width: 100%;
        margin-bottom: 14.08px;
    }

    .home-hero__support {
        max-width: 100%;
        margin-bottom: 14.72px;
    }

    .home-hero__fee {
        max-width: var(--home-hero-paragraph-max);
        padding: 0;
    }

    .home-hero__cta-copy {
        max-width: none;
    }
}

@media (max-width: 26.875em) {
    :root {
        --home-hero-media-height: clamp(268px, calc(272px + 24px * var(--mobile-scale)), 296px);
        --home-hero-background-position: 55% 14%;
    }

    .home-hero__eyebrow {
        max-width: var(--home-hero-eyebrow-max);
    }

    .home-hero__subhead,
    .home-hero__support {
        max-width: 100%;
    }

    .home-hero__fee {
        max-width: var(--home-hero-paragraph-max);
    }

}

@media (max-width: 24.375em) {
    :root {
        --home-hero-media-height: clamp(256px, calc(264px * var(--mobile-scale)), 280px);
        --home-hero-panel-overlap: 23.2px;
        --home-hero-background-position: 54.5% 14%;
    }

    .home-hero {
        --home-hero-panel-pad-top: 20px;
        --home-hero-panel-pad-bottom: 18px;
        --home-hero-panel-pad-x: 20px;
        --home-hero-panel-radius: 24px;
        --home-hero-copy-zone-width: calc(100% - 16px);
        --home-hero-photo-focus-y: 13%;
        --home-hero-top-band-copy-width: calc(100% - 24px);
        --home-hero-panel-inline: 24px;
    }

    .home-hero__content {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: none;
        padding: 16.32px
        var(--home-hero-panel-inline)
        calc(var(--home-hero-seam-clearance) + 9.28px);
        align-items: start;
    }

    .home-hero__content::before {
        display: block;
        top: calc(-1 * var(--home-hero-text-overlay-rise));
        right: 0;
        bottom: 0;
        left: 0;
    }

    .home-hero__eyebrow {
        width: 100%;
        max-width: var(--home-hero-eyebrow-max);
        margin: 0 0 12.8px;
        font-size: var(--home-hero-eyebrow-size);
        font-weight: 600;
        line-height: 1.4;
        letter-spacing: 0.07em;
        white-space: normal;
    }

    .home-hero__title {
        max-width: var(--home-hero-text-column-max);
        margin: 0;
        gap: 0.96px;
        font-family: "Sitka Heading", "Sitka Heading Bold", Georgia, serif;
        font-size: var(--home-hero-title-size);
        font-weight: 600;
        line-height: 0.95;
    }

    .home-hero__title-line {
        max-width: 100%;
    }

    .home-hero__title-line--split {
        display: inline-flex;
        flex-direction: row;
        align-items: baseline;
        gap: 0.32ch;
    }

    .home-hero__subhead {
        width: 100%;
        max-width: 100%;
        margin: 0 0 calc(12px * var(--mobile-scale));
        font-size: var(--home-hero-subhead-size);
        font-weight: 700;
        line-height: 1.18;
        text-wrap: balance;
    }

    .home-hero__support {
        max-width: 100%;
        margin: calc(12px * var(--mobile-scale)) 0 14.4px;
        font-size: var(--home-hero-support-size);
        line-height: 1.46;
        text-wrap: balance;
    }

    .home-hero__support-tail {
        display: none;
    }

    .home-hero__fee {
        width: 100%;
        max-width: var(--home-hero-paragraph-max);
        margin: 16.8px 0 0;
        padding: 0;
        font-size: var(--home-hero-fee-size);
        line-height: 1.5;
    }

    .home-hero__fee strong {
        font-size: 1em;
        line-height: inherit;
    }

    .home-hero__cta-card,
    .home-hero__cta-card:visited {
        display: none;
    }
}

.home-hero__media::after {
    display: none;
}

/* Attorney section mobile/tablet refinements: keep desktop unchanged */
@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, calc(544px + 128px * var(--tablet-progress)));
        max-width: min(100%, calc(544px + 128px * var(--tablet-progress)));
        justify-self: center;
    }

    .home-attorney-card__media {
        aspect-ratio: 600 / 560;
    }

    .home-attorney-card__identity {
        left: calc(28px + 10px * var(--tablet-progress));
        bottom: calc(34px + 8px * var(--tablet-progress));
    }

    .home-attorney-card__role {
        font-size: calc(0.875rem + 0.0625rem * var(--tablet-progress));
        line-height: 1.2;
        text-shadow: none;
    }

    .home-attorney-card__name {
        font-size: calc(2.25rem + 0.375rem * var(--tablet-progress));
        line-height: 1.12;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
        line-height: 1.35;
    }
}

@media (max-width: 42.4375em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, calc(320px + 64px * var(--mobile-panel-ease)));
        max-width: min(100%, calc(320px + 64px * var(--mobile-panel-ease)));
        justify-self: center;
    }

    .home-attorney-card {
        gap: calc(12px * var(--mobile-scale));
    }

    .home-attorney-card__media {
        width: 100%;
        aspect-ratio: 320 / 292;
    }

    .home-attorney-card__identity {
        left: calc(20px * var(--mobile-scale));
        right: calc(20px * var(--mobile-scale));
        bottom: calc(24px * var(--mobile-scale));
    }

    .home-attorney-card__role {
        font-size: calc(0.75rem * var(--mobile-scale));
        line-height: 1.2;
        text-shadow: none;
    }

    .home-attorney-card__name {
        font-size: calc(1.875rem * var(--mobile-scale));
        line-height: 1.12;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        row-gap: calc(6px * var(--mobile-scale));
        font-size: calc(0.9375rem * var(--mobile-scale));
        line-height: 1.35;
    }

    .home-attorney-card__cta {
        margin-top: calc(8px * var(--mobile-scale));
    }

    .home-attorney-card__arrow {
        height: calc(10px * var(--mobile-scale));
    }

    .home-attorney-card__quote br {
        display: none;
    }
}


/* ------------------------------------------------------------------
   Final attorney sub-900 art direction fixes
   Keeps desktop unchanged, pulls tablet cards back,
   and lowers identity text off faces for stacked widths.
   ------------------------------------------------------------------ */
@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, 528px);
        max-width: min(100%, 528px);
        justify-self: center;
    }

    .home-attorney-card__media {
        aspect-ratio: 600 / 590;
    }

    .home-attorney-card__identity {
        left: 28px;
        right: 28px;
        bottom: 24px;
        max-width: calc(100% - 56px);
    }

    .home-attorney-card__role {
        font-size: 0.9375rem;
        line-height: 1.18;
        text-shadow: none;
    }

    .home-attorney-card__name {
        font-size: 2.25rem;
        line-height: 1.10;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: 1.03125rem;
        line-height: 1.34;
    }

    .home-attorney-card__quote p {
        width: min(82%, 416px);
    }
}

@media (min-width: 35em) and (max-width: 42.4375em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, 372px);
        max-width: min(100%, 372px);
        justify-self: center;
    }

    .home-attorney-card__media {
        aspect-ratio: 320 / 372;
    }

    .home-attorney-card__identity {
        left: 19px;
        right: 19px;
        bottom: 18px;
        max-width: calc(100% - 38px);
    }

    .home-attorney-card__role {
        font-size: 0.75rem;
        line-height: 1.16;
        text-shadow: none;
    }

    .home-attorney-card__name {
        font-size: 1.6875rem;
        line-height: 1.1;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: 0.921875rem;
        line-height: 1.32;
    }

    .home-attorney-card__cta {
        margin-top: 7px;
    }

    .home-attorney-card__quote p {
        width: min(82%, 316px);
        padding-block: 11px 12px;
        font-size: 0.890625rem;
        line-height: 1.56;
    }
}

@media (max-width: 34.9375em) {
    .home-attorney-credentials__header,
    .home-attorney-card {
        width: min(100%, 356px);
        max-width: min(100%, 356px);
        justify-self: center;
    }

    .home-attorney-card__media {
        aspect-ratio: 320 / 384;
    }

    .home-attorney-card__identity {
        left: calc(18px * var(--mobile-scale));
        right: calc(18px * var(--mobile-scale));
        bottom: calc(16px * var(--mobile-scale));
        max-width: calc(100% - (36px * var(--mobile-scale)));
    }

    .home-attorney-card__role {
        font-size: calc(0.71875rem * var(--mobile-scale));
        line-height: 1.14;
        text-shadow: none;
    }

    .home-attorney-card__name {
        font-size: calc(1.65625rem * var(--mobile-scale));
        line-height: 1.08;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: calc(0.90625rem * var(--mobile-scale));
        line-height: 1.3;
    }

    .home-attorney-card__cta {
        margin-top: calc(6px * var(--mobile-scale));
    }

    .home-attorney-card__quote p {
        width: min(82%, 300px);
        padding-block:
                calc(10px * var(--mobile-scale))
                calc(12px * var(--mobile-scale));
        font-size: calc(0.875rem * var(--mobile-scale));
        line-height: 1.55;
    }
}

/* ------------------------------------------------------------------
   Final sub-900 attorney overlay + identity rebalance
   Keeps desktop untouched. Slightly restores dark overlay depth
   across sub-900, and gives the 560–679 band a stronger type size
   so it does not feel underpowered relative to the portrait.
   ------------------------------------------------------------------ */
@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .home-attorney-card__media::after {
        background:
                radial-gradient(
                        57% 26% at 27% 83.5%,
                        rgba(0, 0, 0, 0.60) 0%,
                        rgba(0, 0, 0, 0.44) 34%,
                        rgba(0, 0, 0, 0.18) 63%,
                        rgba(0, 0, 0, 0) 100%
                ),
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 70.5%,
                        rgba(0, 0, 0, 0.38) 78%,
                        rgba(0, 0, 0, 0.95) 100%
                ),
                linear-gradient(
                        180deg,
                        rgba(20, 35, 59, 0.10),
                        rgba(20, 35, 59, 0.10)
                );
    }

    .home-attorney-card__role {
        font-size: 0.921875rem;
        line-height: 1.18;
    }

    .home-attorney-card__name {
        font-size: 2.25rem;
        line-height: 1.1;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: 1.03125rem;
        line-height: 1.34;
    }
}

@media (min-width: 35em) and (max-width: 42.4375em) {
    .home-attorney-card__media::after {
        background:
                radial-gradient(
                        60% 25% at 27% 84.5%,
                        rgba(0, 0, 0, 0.60) 0%,
                        rgba(0, 0, 0, 0.43) 34%,
                        rgba(0, 0, 0, 0.18) 63%,
                        rgba(0, 0, 0, 0) 100%
                ),
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 73%,
                        rgba(0, 0, 0, 0.36) 80%,
                        rgba(0, 0, 0, 0.93) 100%
                ),
                linear-gradient(
                        180deg,
                        rgba(20, 35, 59, 0.10),
                        rgba(20, 35, 59, 0.10)
                );
    }

    .home-attorney-card__role {
        font-size: 0.85rem;
        line-height: 1.16;
    }

    .home-attorney-card__name {
        font-size: 1.96875rem;
        line-height: 1.08;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: 0.99375rem;
        line-height: 1.31;
    }
}

@media (max-width: 34.9375em) {
    .home-attorney-card__media::after {
        background:
                radial-gradient(
                        63% 25% at 27% 85%,
                        rgba(0, 0, 0, 0.58) 0%,
                        rgba(0, 0, 0, 0.42) 34%,
                        rgba(0, 0, 0, 0.18) 64%,
                        rgba(0, 0, 0, 0) 100%
                ),
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 73.5%,
                        rgba(0, 0, 0, 0.36) 80.5%,
                        rgba(0, 0, 0, 0.92) 100%
                ),
                linear-gradient(
                        180deg,
                        rgba(20, 35, 59, 0.10),
                        rgba(20, 35, 59, 0.10)
                );
    }

    .home-attorney-card__role {
        font-size: calc(0.75625rem * var(--mobile-scale));
        line-height: 1.14;
    }

    .home-attorney-card__name {
        font-size: calc(1.78125rem * var(--mobile-scale));
        line-height: 1.06;
        letter-spacing: -0.01em;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: calc(0.94375rem * var(--mobile-scale));
        line-height: 1.28;
    }
}


/* =========================================================
   Tablet section padding rebalance (680–899)
   Keeps phone below 680 and desktop at 900+ intact.
   Moves section top/bottom padding into a clear middle band
   between the tighter phone values and the roomier desktop.
   Hero intentionally untouched.
   ========================================================= */
@media (min-width: 42.5em) and (max-width: 56.1875em) {
    :root {
        --section-tablet-pad-top: calc(56px + 14px * var(--tablet-progress));
        --section-tablet-pad-bottom: calc(60px + 16px * var(--tablet-progress));
    }

    .practice-explorer {
        padding-top: calc(var(--section-tablet-pad-top) + var(--sticky-bar-overlap-height));
        padding-bottom: var(--section-tablet-pad-bottom);
    }

    .about-oaken {
        padding-top: var(--section-tablet-pad-top);
        padding-bottom: var(--section-tablet-pad-bottom);
    }

    .home-attorney-credentials {
        padding-top: calc(var(--section-tablet-pad-top) + var(--home-attorney-top-seam-depth));
        padding-bottom: var(--section-tablet-pad-bottom);
    }

    .process-section {
        --section-y-padding: calc(56px + 14px * var(--tablet-progress));
    }

    .local-intent {
        padding-top: calc(58px + 14px * var(--tablet-progress));
        padding-bottom: calc(58px + 14px * var(--tablet-progress));
    }

    .contact-cta {
        padding-top: calc(58px + 14px * var(--tablet-progress));
        padding-bottom: calc(56px + 14px * var(--tablet-progress));
    }

    .site-footer {
        padding-top: calc(48px + 12px * var(--tablet-progress));
        padding-bottom: calc(52px + 12px * var(--tablet-progress));
    }
}

/* =========================================================
   Mobile-capable About animation + attorney quote measure
   Appended overrides for current stylesheet
   ========================================================= */

/* Keep attorney quote lines in a readable measure across layouts */
.home-attorney-card__quote p {
    width: min(100%, 70ch);
    max-width: 70ch;
    text-wrap: pretty;
}

/* Mobile / tablet tune for the About motion system if the JS activates it */
@media (max-width: 56.1875em) {
    [data-oak-choose] {
        --oak-choose-trigger-ratio: 0.34;
        --oak-choose-media-y: 16px;
        --oak-choose-overlay-y: 10px;
        --oak-choose-group-y: 12px;
        --oak-choose-media-duration: 680ms;
        --oak-choose-overlay-duration: 480ms;
        --oak-choose-overlay-delay: 120ms;
        --oak-choose-group-duration: 460ms;
        --oak-choose-group-stagger: 60ms;
        --oak-choose-accent-duration: 620ms;
        --oak-choose-accent-phase-duration: 620ms;
        --oak-choose-accent-delay: 200ms;
        --oak-choose-accent-start: 260ms;
        --oak-choose-hover-image-scale: 1;
        --oak-choose-hover-play-scale: 1;
    }
}

/* Re-enable the desktop About motion CSS for all widths.
   This only takes effect when the section receives the same motion classes
   already used on desktop (.is-motion-ready / .is-revealed / .is-reduced-motion). */
[data-oak-choose-group] {
    --oak-choose-group-index: 0;
}

[data-oak-choose].is-motion-ready [data-oak-choose-media],
[data-oak-choose].is-motion-ready [data-oak-choose-overlay],
[data-oak-choose].is-motion-ready [data-oak-choose-group] {
    will-change: opacity, transform;
}

[data-oak-choose].is-motion-ready [data-oak-choose-media] {
    transition:
            opacity var(--oak-choose-media-duration) var(--oak-choose-ease-out),
            transform var(--oak-choose-media-duration) var(--oak-choose-ease-out);
}

[data-oak-choose].is-motion-ready [data-oak-choose-overlay] {
    transition:
            opacity var(--oak-choose-overlay-duration) var(--oak-choose-ease-out) var(--oak-choose-overlay-delay),
            transform var(--oak-choose-overlay-duration) var(--oak-choose-ease-out) var(--oak-choose-overlay-delay);
}

[data-oak-choose].is-motion-ready [data-oak-choose-group] {
    transition:
            opacity var(--oak-choose-group-duration) var(--oak-choose-ease-out) calc(var(--oak-choose-group-index, 0) * var(--oak-choose-group-stagger)),
            transform var(--oak-choose-group-duration) var(--oak-choose-ease-out) calc(var(--oak-choose-group-index, 0) * var(--oak-choose-group-stagger));
}

[data-oak-choose].is-motion-ready:not(.is-revealed) [data-oak-choose-media] {
    opacity: 0;
    transform: translate3d(0, var(--oak-choose-media-y), 0);
    clip-path: none;
}

[data-oak-choose].is-motion-ready:not(.is-revealed) [data-oak-choose-overlay] {
    opacity: 0;
    transform: translate3d(0, var(--oak-choose-overlay-y), 0);
}

[data-oak-choose].is-motion-ready:not(.is-revealed) [data-oak-choose-group] {
    opacity: 0;
    transform: translate3d(0, var(--oak-choose-group-y), 0);
}

[data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-media],
[data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-overlay],
[data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-group] {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

[data-oak-choose].is-motion-ready.is-revealed [data-oak-choose-media] {
    clip-path: none;
}

[data-oak-choose] [data-oak-choose-accent] {
    opacity: 0;
    clip-path: none;
}

[data-oak-choose] [data-oak-choose-accent]::before,
[data-oak-choose] [data-oak-choose-accent]::after {
    width: 0;
    height: 0;
}

[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent],
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent],
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent],
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent] {
    opacity: 0;
    transition: opacity 24ms linear var(--oak-choose-media-duration);
    clip-path: none;
}

[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::before {
    transition:
            width var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) var(--oak-choose-accent-start),
            height var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) calc(var(--oak-choose-accent-start) + var(--oak-choose-accent-phase-duration));
}

[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::after {
    transition:
            height var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) var(--oak-choose-accent-start),
            width var(--oak-choose-accent-phase-duration) var(--oak-choose-ease-soft) calc(var(--oak-choose-accent-start) + var(--oak-choose-accent-phase-duration));
}

[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::after {
    width: 0;
    height: 0;
}

[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent]::after,
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent]::after {
    width: 100%;
    height: 100%;
}

[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="tall-height"] [data-oak-choose-accent],
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="standard-height"] [data-oak-choose-accent],
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="short-height"] [data-oak-choose-accent],
[data-oak-choose].is-motion-ready.is-revealed:not(.is-reduced-motion)[data-height-preset="compressed-height"] [data-oak-choose-accent] {
    opacity: 1;
}

[data-oak-choose].is-reduced-motion [data-oak-choose-media],
[data-oak-choose].is-reduced-motion [data-oak-choose-overlay],
[data-oak-choose].is-reduced-motion [data-oak-choose-group] {
    transition: opacity 180ms var(--oak-choose-ease-out) 0ms;
    transform: none;
    clip-path: inset(0 0 0 0);
}

[data-oak-choose].is-motion-ready.is-reduced-motion:not(.is-revealed) [data-oak-choose-media],
[data-oak-choose].is-motion-ready.is-reduced-motion:not(.is-revealed) [data-oak-choose-overlay],
[data-oak-choose].is-motion-ready.is-reduced-motion:not(.is-revealed) [data-oak-choose-group] {
    opacity: 0;
}

[data-oak-choose].is-motion-ready.is-reduced-motion.is-revealed [data-oak-choose-media],
[data-oak-choose].is-motion-ready.is-reduced-motion.is-revealed [data-oak-choose-overlay],
[data-oak-choose].is-motion-ready.is-reduced-motion.is-revealed [data-oak-choose-group] {
    opacity: 1;
}

[data-oak-choose].is-reduced-motion [data-oak-choose-accent] {
    transition: none;
    clip-path: none;
    opacity: 1;
}

[data-oak-choose].is-reduced-motion [data-oak-choose-accent]::before,
[data-oak-choose].is-reduced-motion [data-oak-choose-accent]::after {
    width: 100%;
    height: 100%;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    [data-oak-choose] [data-oak-choose-media]:hover::before {
        transform: scale(var(--oak-choose-hover-image-scale));
    }

    [data-oak-choose] [data-oak-choose-overlay]:hover [data-oak-choose-play] {
        transform: scale(var(--oak-choose-hover-play-scale));
    }
}


/* =========================================================
   Final fixes: About text measure + mobile-safe About reveal
   + sub-900 attorney quote measure enforcement
   ========================================================= */

@media (max-width: 56.1875em) {
    .about-oaken__content-stack,
    .about-oaken__intro-stack,
    .about-oaken__detail-stack {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__lead,
    .about-oaken__copy,
    .about-oaken__block-title,
    .about-oaken__takeaway {
        width: min(100%, 70ch);
        max-width: 70ch;
        text-wrap: pretty;
    }

    .about-oaken__cta {
        max-width: min(70ch, calc(100% - var(--about-block-text-inset)));
    }
}

.home-attorney-card__quote p {
    max-width: min(100%, 70ch);
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .home-attorney-card__quote p {
        width: min(82%, 416px);
        max-width: min(82%, 416px, 70ch);
    }
}

@media (min-width: 35em) and (max-width: 42.4375em) {
    .home-attorney-card__quote p {
        width: min(82%, 316px);
        max-width: min(82%, 316px, 70ch);
    }
}

@media (max-width: 34.9375em) {
    .home-attorney-card__quote p {
        width: min(82%, 300px);
        max-width: min(82%, 300px, 70ch);
    }
}

/* Keep the gold rule animation in its animated state until mobile/tablet reveal fires. */
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion) [data-oak-choose-accent] {
    opacity: 0;
}

[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion) [data-oak-choose-accent]::before,
[data-oak-choose].is-motion-ready:not(.is-revealed):not(.is-reduced-motion) [data-oak-choose-accent]::after {
    width: 0;
    height: 0;
}

/* =========================================================
   Final fix: constrain About media width to the same readable
   measure as the capped text above it on sub-900 widths.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken__media-stack,
    .about-oaken__media-stage {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__media {
        width: 100%;
    }
}

/* =========================================================
   About media tablet rebalance after 70ch cap.
   Keep the tablet image aligned to the readable text width,
   but restore more of the desktop composition without making
   the stage overly tall or shifting the crop too high.
   ========================================================= */
@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media-stack,
    .about-oaken__media-stage {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__media {
        width: 100%;
        min-height: clamp(512px, 62vw, 560px);
    }

    .about-oaken__media::before {
        background-position: center 24%;
    }
}

/* Leave sub-680 image composition on the authored mobile rules.
   The width cap can stay, but do not deepen the stage or frame there. */
@media (max-width: 42.4375em) {
    .about-oaken__media-stack,
    .about-oaken__media-stage {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__media {
        width: 100%;
    }

    .about-oaken__media::before {
        background-position: center 24%;
    }
}


/* =========================================================
   About media height retry after 70ch width cap.
   The prior tablet rebalance still left the image too shallow,
   which lost too much of the lower composition. This version
   keeps the readable-width cap, but gives the 680–899 band a
   materially taller media stage and lowers the image framing a bit
   so more of the original desktop composition survives.
   Sub-680 remains on the authored mobile height system.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken__media-stack,
    .about-oaken__media-stage {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__media {
        width: 100%;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media {
        min-height: clamp(560px, 73vw, 624px);
    }

    .about-oaken__media::before {
        background-position: center 31%;
    }
}

@media (max-width: 42.4375em) {
    .about-oaken__media::before {
        background-position: center 24%;
    }
}


/* =========================================================
   About the Firm sub-900 cleanup
   Consolidates the current tablet/mobile About media behavior
   without changing desktop geometry.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken {
        --about-media-overlay-step-1: 58%;
        --about-media-overlay-step-2: 66%;
        --about-media-overlay-step-3: 84%;
        --about-media-overlay-step-4: 94%;
    }

    .about-oaken__media-stack,
    .about-oaken__media-stage {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__media {
        width: 100%;
    }

    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 84.4%);
        gap: calc(7px * var(--mobile-scale));
    }

    .about-oaken__media-content {
        gap: calc(10px * var(--mobile-scale));
        padding-block: calc(8px * var(--mobile-scale));
    }

    .about-oaken__media-title {
        line-height: 1.28;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken {
        --about-media-overlay-step-1: 60%;
        --about-media-overlay-step-2: 68%;
        --about-media-overlay-step-3: 84%;
        --about-media-overlay-step-4: 93%;
    }

    .about-oaken__media {
        min-height: clamp(576px, 74vw, 624px);
    }

    .about-oaken__media::before {
        background-position: center 31%;
    }
}

@media (max-width: 42.4375em) {
    .about-oaken {
        --about-media-overlay-step-1: 56%;
        --about-media-overlay-step-2: 64%;
        --about-media-overlay-step-3: 82%;
        --about-media-overlay-step-4: 92%;
    }

    .about-oaken__media {
        min-height: calc(478px * var(--mobile-scale));
    }

    .about-oaken__media::before {
        background-position: center 24%;
    }
}


/* =========================================================
   About the Firm sub-900 390px-anchored scaling
   Keeps the current 390px composition as the source of truth
   for the photo, overlay, gold frame, and quote block across
   the full 0–899 range.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken {
        --about-390-scale: var(--mobile-scale);
        --about-media-pad-top: calc(18px * var(--about-390-scale));
        --about-media-pad-inline: calc(18px * var(--about-390-scale));
        --about-media-pad-bottom: calc(16px * var(--about-390-scale));
        --about-media-overlay-step-1: 56%;
        --about-media-overlay-step-2: 64%;
        --about-media-overlay-step-3: 82%;
        --about-media-overlay-step-4: 92%;
    }

    .about-oaken__media-stack,
    .about-oaken__media-stage {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__media-stack {
        margin-top: calc(2px * var(--about-390-scale));
    }

    .about-oaken__media-frame {
        transform: translate(
                calc(16px * var(--about-390-scale)),
                calc(18px * var(--about-390-scale))
        );
        border-width: calc(4px * var(--about-390-scale));
    }

    .about-oaken__media {
        width: 100%;
        min-height: calc(478px * var(--about-390-scale));
    }

    .about-oaken__media::before {
        background-position: center 24%;
    }

    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 84.4%);
        gap: calc(7px * var(--about-390-scale));
    }

    .about-oaken__media-content {
        gap: calc(10px * var(--about-390-scale));
        padding-block: calc(8px * var(--about-390-scale));
    }

    .about-oaken__media-title {
        font-size: calc(1.125rem * var(--about-390-scale));
        line-height: 1.28;
    }

    .about-oaken__play-button {
        width: calc(34px * var(--about-390-scale));
        height: calc(34px * var(--about-390-scale));
    }

    .about-oaken__play-button::before {
        margin-left: calc(2px * var(--about-390-scale));
        border-width:
                calc(5px * var(--about-390-scale))
                0
                calc(5px * var(--about-390-scale))
                calc(8px * var(--about-390-scale));
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken {
        --about-390-scale: calc(1.18 + (0.34 * var(--tablet-progress)));
    }
}

@media (max-width: 42.4375em) {
    .about-oaken {
        --about-390-scale: var(--mobile-scale);
    }
}

/* =========================================================
   Final About-only sub-900 media override
   Keeps the current 390px composition as the single scaling
   reference through 899px, with widening capped at 70ch.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken__media-stack {
        width: min(100%, 70ch);
        max-width: 70ch;
        justify-self: start;
    }

    .about-oaken__media-stage {
        width: 100%;
        container-type: inline-size;
    }

    .about-oaken__media-frame {
        transform: translate(4.6784cqw, 5.2632cqw);
        border: 0;
    }

    .about-oaken__media-frame::before,
    .about-oaken__media-frame::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
    }

    .about-oaken__media-frame::before {
        border-top: 1.1696cqw solid #C4963C;
        border-right: 1.1696cqw solid #C4963C;
    }

    .about-oaken__media-frame::after {
        border-left: 1.1696cqw solid #C4963C;
        border-bottom: 1.1696cqw solid #C4963C;
    }

    .about-oaken__media {
        --about-media-overlay-box-height: 35.6961cqw;
        --about-media-overlay-bottom-offset: 4.6784cqw;
        --about-media-overlay-fade-top-buffer: 8.7719cqw;
        --about-media-overlay-solid-top-buffer: 1.7544cqw;
        --about-media-overlay-step-1: calc(
                100% - (
                var(--about-media-overlay-bottom-offset) +
                var(--about-media-overlay-box-height) +
                var(--about-media-overlay-fade-top-buffer)
                ));
        --about-media-overlay-step-2: calc(
                100% - (
                var(--about-media-overlay-bottom-offset) +
                var(--about-media-overlay-box-height) +
                var(--about-media-overlay-solid-top-buffer)
                ));
        --about-media-overlay-step-3: calc(100% - var(--about-media-overlay-bottom-offset));
        --about-media-overlay-step-4: 100%;
        width: 100%;
        min-height: 139.7661cqw;
        padding: 5.2632cqw 5.2632cqw 4.6784cqw;
    }

    .about-oaken__media::before {
        background-position: center 24%;
    }

    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 88.4%);
        gap: 2.0468cqw;
    }

    .about-oaken__media-content {
        gap: 2.924cqw;
        padding-block: 2.3392cqw;
    }

    .about-oaken__media-line {
        height: 0.2924cqw;
    }

    .about-oaken__media-title {
        font-family: "Sitka Heading Bold", Georgia, serif;
        font-weight: 700;
        font-size: 5.2632cqw;
        line-height: 1.28;
    }

    .about-oaken__media-title-line--primary {
        white-space: nowrap;
    }

    .about-oaken__play-button {
        width: 9.9415cqw;
        height: 9.9415cqw;
        border-width: 0.2924cqw;
        box-shadow: 0 0 0 0.2924cqw rgba(255, 255, 255, 0.06) inset;
    }

    .about-oaken__play-button::before {
        margin-left: 0.5848cqw;
        border-width: 1.462cqw 0 1.462cqw 2.3392cqw;
    }
}

@media (max-width: 42.4375em) {
    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 94%);
    }

    .about-oaken__media-title {
        font-size: min(4.95cqw, calc(1.046875rem * var(--mobile-scale)));
        line-height: 1.22;
        letter-spacing: 0.03em;
    }
}

/* =========================================================
   Final sub-900 type alignment for About + Attorney
   Brings these sections back in line with the Process and
   Service Area type scale without touching desktop.
   ========================================================= */
@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken {
        --about-block-title-line-box: calc((1.1875rem + 0.0625rem * var(--tablet-progress)) * 1.4);
    }

    .about-oaken__eyebrow,
    .home-attorney-credentials__eyebrow {
        font-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
        line-height: calc(1rem + 0.125rem * var(--tablet-progress));
    }

    .about-oaken__heading,
    .home-attorney-credentials__heading {
        font-size: calc(2.5rem + 0.625rem * var(--tablet-progress));
        line-height: 0.95;
    }

    .about-oaken__lead {
        font-size: calc(1.5rem + 0.125rem * var(--tablet-progress));
        line-height: 1.36;
    }

    .about-oaken__copy {
        font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
        line-height: 1.64;
    }

    .about-oaken__block-title,
    .about-oaken__takeaway {
        font-size: calc(1.1875rem + 0.0625rem * var(--tablet-progress));
        line-height: 1.4;
    }

    .about-oaken__cta,
    .about-oaken__cta:visited {
        font-size: calc(0.96875rem + 0.03125rem * var(--tablet-progress));
        line-height: 1.42;
    }

    .home-attorney-card__role {
        font-size: calc(0.9375rem + 0.03125rem * var(--tablet-progress));
        line-height: 1.18;
    }

    .home-attorney-card__name {
        font-size: calc(2.3125rem + 0.3125rem * var(--tablet-progress));
        line-height: 1.08;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: calc(1.03125rem + 0.03125rem * var(--tablet-progress));
        line-height: 1.32;
    }

    .home-attorney-card__quote p {
        font-size: calc(1rem + 0.0625rem * var(--tablet-progress));
        line-height: 1.58;
    }
}

@media (max-width: 42.4375em) {
    .about-oaken {
        --about-block-title-line-box: calc(1.1875rem * var(--mobile-scale) * 1.42);
    }

    .about-oaken__eyebrow,
    .home-attorney-credentials__eyebrow {
        font-size: calc(0.9375rem * var(--mobile-scale));
        line-height: calc(1rem * var(--mobile-scale));
    }

    .about-oaken__heading,
    .home-attorney-credentials__heading {
        font-size: calc(2.375rem * var(--mobile-scale));
        line-height: 0.95;
    }

    .about-oaken__lead {
        font-size: calc(1.1875rem * var(--mobile-scale));
        line-height: 1.42;
    }

    .about-oaken__copy {
        font-size: calc(1rem * var(--mobile-scale));
        line-height: 1.64;
    }

    .about-oaken__block-title,
    .about-oaken__takeaway {
        font-size: calc(1.1875rem * var(--mobile-scale));
        line-height: 1.42;
    }

    .about-oaken__cta,
    .about-oaken__cta:visited {
        font-size: calc(0.96875rem * var(--mobile-scale));
        line-height: 1.42;
    }

    .home-attorney-card__role {
        font-size: calc(0.8125rem * var(--mobile-scale));
        line-height: 1.16;
    }

    .home-attorney-card__name {
        font-size: calc(1.9375rem * var(--mobile-scale));
        line-height: 1.1;
    }

    .home-attorney-card__link,
    .home-attorney-card__link:visited {
        font-size: calc(1rem * var(--mobile-scale));
        line-height: 1.32;
    }

    .home-attorney-card__quote p {
        font-size: calc(1rem * var(--mobile-scale));
        line-height: 1.58;
    }
}

@media (max-width: 56.1875em) {
    .about-oaken {
        --about-stacked-column-width: min(100%, calc(70ch * 1.046784));
    }

    .about-oaken__header,
    .about-oaken__heading-block,
    .about-oaken__content-stack,
    .about-oaken__intro-stack,
    .about-oaken__detail-stack,
    .about-oaken__media-stack {
        width: var(--about-stacked-column-width);
        max-width: var(--about-stacked-column-width);
        justify-self: center;
    }

    .about-oaken__heading {
        width: 100%;
        max-width: 100%;
    }

    .about-oaken__media-stage {
        width: calc(100% / 1.046784);
    }
}

@media (max-width: 56.1875em) {
    .home-attorney-credentials {
        --home-attorney-atmosphere-width: calc(1184px + 288px * var(--tablet-progress));
        --home-attorney-atmosphere-height: calc(448px + 96px * var(--tablet-progress));
        --home-attorney-atmosphere-blur: calc(48px + 12px * var(--tablet-progress));
    }

    .home-attorney-credentials::before {
        transform: translate(-50%, -50%) rotate(90deg);
        transform-origin: center;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .home-attorney-card__quote-paragraph {
        width: min(84%, 432px);
        padding-block: 14px 15px;
        font-size: calc(1.00625rem + 0.05625rem * var(--tablet-progress));
        line-height: 1.56;
        letter-spacing: -0.003em;
    }
}

@media (min-width: 46.375em) and (max-width: 56.1875em) {
    .home-attorney-card__quote .home-attorney-card__quote-paragraph {
        width: min(82%, 416px);
        font-size: 1.015625rem;
        line-height: 1.58;
    }
}

@media (max-width: 42.4375em) {
    .home-attorney-card--matthew {
        margin-top: clamp(10px, calc(12px * var(--mobile-scale)), 14px);
    }

    .home-attorney-card__quote {
        display: block;
        width: 100%;
        padding-inline: 0;
    }

    .home-attorney-card__quote-paragraph {
        display: none;
    }

    .home-attorney-card__proof-stack {
        display: grid;
        width: min(calc(100% - (2px * var(--mobile-scale))), 40.5ch);
        margin-inline: auto;
        justify-items: start;
        padding-block:
                clamp(10px, calc(11px * var(--mobile-scale)), 12px)
                clamp(12px, calc(13px * var(--mobile-scale)), 14px);
        padding-inline: clamp(6px, calc(7px * var(--mobile-scale)), 8px);
        border-top: var(--home-attorney-quote-rule-width) solid #2A3B59;
        border-bottom: var(--home-attorney-quote-rule-width) solid #2A3B59;
        row-gap: clamp(7px, calc(7.75px * var(--mobile-scale)), 9px);
    }

    .home-attorney-card__proof-point {
        display: block;
        width: 100%;
        font-size: clamp(0.7625rem, calc(0.865625rem * var(--mobile-scale)), 0.9625rem);
        line-height: 1.2;
        letter-spacing: -0.008em;
        white-space: nowrap;
    }
}

@media (max-width: 56.1875em) {
    .home-attorney-card--matthew {
        margin-top: clamp(24px, 4vw, 36px);
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .practice-explorer {
        scroll-margin-top: var(--anchor-offset-mobile);
    }

    .contact-cta {
        scroll-margin-top: calc(var(--anchor-offset-mobile) - (10px + 4px * var(--tablet-progress)));
    }
}

@media (max-width: 42.4375em) {
    .practice-explorer {
        scroll-margin-top: var(--anchor-offset-mobile);
    }

    .contact-cta {
        scroll-margin-top: calc(var(--anchor-offset-mobile) - calc(12px * var(--mobile-scale)));
    }
}

/* =========================================================
   Final Practice Explorer sub-900 alignment
   Keeps the stacked layout, but pulls mobile/tablet back
   toward the current desktop art direction and proportions.
   ========================================================= */
@media (max-width: 56.1875em) {
    .practice-explorer {
        --practice-stack-max: 100%;
        --practice-stack-row-gap: 16px;
        --practice-stack-header-gap: 12px;
        --practice-stack-eyebrow-gap: 14px;
        --practice-stack-eyebrow-size: 1rem;
        --practice-stack-eyebrow-rule-width: 48px;
        --practice-stack-heading-size: 2.75rem;
        --practice-stack-intro-size: 1rem;
        --practice-stack-intro-max: 608px;
        --practice-stack-intro-top: 10px;
        --practice-stack-tip-size: 0.875rem;
        --practice-stack-nav-gap: 14px;
        --practice-stack-group-gap: 8px;
        --practice-stack-group-offset: 8px;
        --practice-stack-group-pad-top: 14px;
        --practice-stack-group-title-gap: 10px;
        --practice-stack-group-title-size: 0.75rem;
        --practice-stack-list-gap: 4px;
        --practice-stack-link-gap: 9px;
        --practice-stack-link-pad-block: 9px;
        --practice-stack-link-pad-right: 14px;
        --practice-stack-link-pad-left: 7px;
        --practice-stack-label-size: 1rem;
        --practice-stack-bullet-size: 6.4px;
        --practice-stack-preview-shell-top: 6px;
        --practice-stack-preview-gap: 12px;
        --practice-stack-preview-min-height: 240px;
        --practice-stack-preview-pad-block: 18px;
        --practice-stack-preview-pad-inline: 18px;
        --practice-stack-preview-radius: 16px;
        --practice-stack-preview-blur: 18px;
        --practice-stack-preview-rule-width: 24px;
        --practice-stack-rule-top: 16px;
        --practice-stack-kicker-pad: 9.2px;
        --practice-stack-kicker-size: 0.78rem;
        --practice-stack-title-size: 2rem;
        --practice-stack-neutral-title-size: 1.75rem;
        --practice-stack-copy-size: 0.94rem;
        --practice-stack-copy-max: 400px;
        --practice-stack-actions-gap: 11.2px;
        --practice-stack-actions-pad: 12px;
        --practice-stack-cta-size: 0.98rem;
        --practice-stack-cta-icon-width: 20px;
        --practice-stack-cta-icon-height: 12px;
        --practice-stack-meta-size: 0.86rem;
    }

    .practice-explorer__image-stage::after {
        background:
                linear-gradient(
                        90deg,
                        rgba(20, 35, 59, 0.92) 0%,
                        rgba(20, 35, 59, 0.86) 22%,
                        rgba(20, 35, 59, 0.68) 46%,
                        rgba(20, 35, 59, 0.46) 64%,
                        rgba(20, 35, 59, 0.36) 100%
                ),
                linear-gradient(
                        180deg,
                        rgba(8, 16, 28, 0.48) 0%,
                        rgba(14, 28, 46, 0.46) 48%,
                        rgba(20, 35, 59, 0.56) 100%
                ),
                radial-gradient(
                        circle at 18% 34%,
                        rgba(127, 184, 248, 0.05) 0%,
                        rgba(20, 35, 59, 0) 42%
                );
    }

    .practice-explorer__inner {
        width: min(100%, var(--practice-stack-max));
        margin: 0 auto;
        grid-template-columns: 1fr;
        grid-template-areas:
            "header"
            "preview"
            "nav";
        row-gap: var(--practice-stack-row-gap);
        column-gap: 0;
    }

    .practice-explorer__header {
        gap: var(--practice-stack-header-gap);
    }

    .practice-explorer__eyebrow {
        gap: var(--practice-stack-eyebrow-gap);
        font-size: var(--practice-stack-eyebrow-size);
    }

    .practice-explorer__eyebrow::before {
        width: var(--practice-stack-eyebrow-rule-width);
        height: 2px;
    }

    .practice-explorer__heading {
        font-size: var(--practice-stack-heading-size);
        line-height: 0.95;
    }

    .practice-explorer__intro {
        max-width: var(--practice-stack-intro-max);
        margin-top: var(--practice-stack-intro-top);
        font-size: var(--practice-stack-intro-size);
        line-height: 1.66;
        text-wrap: pretty;
    }

    .practice-explorer__intro br {
        display: none;
    }

    .practice-explorer__preview-shell {
        justify-content: flex-start;
        padding-top: var(--practice-stack-preview-shell-top);
    }

    .practice-explorer__nav {
        gap: var(--practice-stack-nav-gap);
    }

    .practice-explorer__group {
        gap: var(--practice-stack-group-gap);
        padding: 0;
        margin: 0;
    }

    .practice-explorer__group + .practice-explorer__group {
        margin-top: var(--practice-stack-group-offset);
        padding-top: var(--practice-stack-group-pad-top);
        border-top: 1px solid rgba(201, 212, 227, 0.09);
    }

    .practice-explorer__group-title {
        gap: var(--practice-stack-group-title-gap);
        font-size: var(--practice-stack-group-title-size);
    }

    .practice-explorer__group-title::before {
        content: none;
    }

    .practice-explorer__group-list {
        gap: var(--practice-stack-list-gap);
    }

    .practice-explorer__link,
    .practice-explorer__link:visited {
        gap: var(--practice-stack-link-gap);
        padding:
                var(--practice-stack-link-pad-block)
                var(--practice-stack-link-pad-right)
                var(--practice-stack-link-pad-block)
                var(--practice-stack-link-pad-left);
        border-radius: 0;
    }

    .practice-explorer__link-bullet {
        width: var(--practice-stack-bullet-size);
        height: var(--practice-stack-bullet-size);
        margin-left: 4px;
        border-width: 1px;
        border-radius: 1px;
    }

    .practice-explorer__link-label {
        font-size: var(--practice-stack-label-size);
        line-height: 1.46;
    }

    .practice-explorer__preview {
        --practice-preview-rule-width: var(--practice-stack-preview-rule-width);

        gap: var(--practice-stack-preview-gap);
        width: 100%;
        max-width: none;
        min-height: var(--practice-stack-preview-min-height);
        height: auto;
        padding:
                var(--practice-stack-preview-pad-block)
                var(--practice-stack-preview-pad-inline)
                var(--practice-stack-preview-pad-block);
        border-radius: var(--practice-stack-preview-radius);
        background:
                linear-gradient(
                        180deg,
                        rgba(205, 221, 238, 0.09) 0%,
                        rgba(173, 195, 221, 0.055) 100%
                );
        border: 1px solid rgba(226, 236, 246, 0.18);
        box-shadow: 0 18px 36px rgba(8, 21, 34, 0.16),
        0 4px 12px rgba(8, 21, 34, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.16),
        inset 0 -1px 0 rgba(255, 255, 255, 0.024);
        -webkit-backdrop-filter: blur(var(--practice-stack-preview-blur)) saturate(118%);
        backdrop-filter: blur(var(--practice-stack-preview-blur)) saturate(118%);
    }

    .practice-explorer__preview::before {
        top: var(--practice-stack-rule-top);
        left: var(--practice-stack-preview-pad-inline);
        width: var(--practice-preview-rule-width);
    }

    .practice-explorer__preview-kicker {
        padding-top: var(--practice-stack-kicker-pad);
        font-size: var(--practice-stack-kicker-size);
    }

    .practice-explorer__preview-title {
        width: 100%;
        max-width: none;
        font-size: var(--practice-stack-title-size);
        line-height: 0.95;
    }

    .practice-explorer__preview-copy {
        width: 100%;
        max-width: var(--practice-stack-copy-max);
        font-size: var(--practice-stack-copy-size);
        line-height: 1.58;
        text-wrap: pretty;
    }

    .practice-explorer[data-state="neutral"] .practice-explorer__preview-title {
        width: 100%;
        max-width: none;
        font-size: var(--practice-stack-neutral-title-size);
        line-height: 0.97;
    }

    .practice-explorer[data-state="neutral"] .practice-explorer__preview-copy {
        width: 100%;
        max-width: var(--practice-stack-copy-max);
    }

    .practice-explorer__preview-actions {
        gap: var(--practice-stack-actions-gap);
        padding-top: var(--practice-stack-actions-pad);
        border-top: 1px solid rgba(201, 212, 227, 0.14);
    }

    .practice-explorer__preview-cta,
    .practice-explorer__preview-cta:visited {
        gap: 9px;
        font-size: var(--practice-stack-cta-size);
    }

    .practice-explorer__preview-cta-icon {
        width: var(--practice-stack-cta-icon-width);
        height: var(--practice-stack-cta-icon-height);
    }

    .practice-explorer__preview-meta {
        font-size: var(--practice-stack-meta-size);
        line-height: 1.48;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .practice-explorer {
        --practice-stack-max: calc(496px + 224px * var(--tablet-progress));
        --practice-stack-row-gap: calc(22px + 8px * var(--tablet-progress));
        --practice-stack-header-gap: calc(10px + 3px * var(--tablet-progress));
        --practice-stack-eyebrow-gap: calc(14px + 2px * var(--tablet-progress));
        --practice-stack-eyebrow-size: calc(1rem + 0.0625rem * var(--tablet-progress));
        --practice-stack-eyebrow-rule-width: calc(46px + 6px * var(--tablet-progress));
        --practice-stack-heading-size: calc(2.75rem + 0.5rem * var(--tablet-progress));
        --practice-stack-intro-size: calc(1rem + 0.0625rem * var(--tablet-progress));
        --practice-stack-intro-max: calc(608px + 64px * var(--tablet-progress));
        --practice-stack-intro-top: calc(10px + 2px * var(--tablet-progress));
        --practice-stack-tip-size: calc(0.875rem + 0.03125rem * var(--tablet-progress));
        --practice-stack-nav-gap: calc(13px + 3px * var(--tablet-progress));
        --practice-stack-group-gap: calc(8px + 2px * var(--tablet-progress));
        --practice-stack-group-offset: calc(6px + 2px * var(--tablet-progress));
        --practice-stack-group-pad-top: calc(14px + 4px * var(--tablet-progress));
        --practice-stack-group-title-gap: calc(9px + 1px * var(--tablet-progress));
        --practice-stack-group-title-size: calc(0.75rem + 0.015625rem * var(--tablet-progress));
        --practice-stack-list-gap: calc(4px + 1px * var(--tablet-progress));
        --practice-stack-link-gap: calc(9px + 1px * var(--tablet-progress));
        --practice-stack-link-pad-block: calc(9px + 1px * var(--tablet-progress));
        --practice-stack-link-pad-right: calc(13px + 3px * var(--tablet-progress));
        --practice-stack-link-pad-left: calc(7px + 1px * var(--tablet-progress));
        --practice-stack-label-size: calc(0.96875rem + 0.03125rem * var(--tablet-progress));
        --practice-stack-bullet-size: calc(6px + 1px * var(--tablet-progress));
        --practice-stack-preview-shell-top: calc(12px + 4px * var(--tablet-progress));
        --practice-stack-preview-gap: calc(12px + 2px * var(--tablet-progress));
        --practice-stack-preview-min-height: calc(242.4px + 17.6px * var(--tablet-progress));
        --practice-stack-preview-pad-block: calc(18px + 2px * var(--tablet-progress));
        --practice-stack-preview-pad-inline: calc(18px + 4px * var(--tablet-progress));
        --practice-stack-preview-radius: calc(16px + 2px * var(--tablet-progress));
        --practice-stack-preview-blur: calc(18px + 2px * var(--tablet-progress));
        --practice-stack-preview-rule-width: calc(23.2px + 2.4px * var(--tablet-progress));
        --practice-stack-rule-top: calc(16px + 1px * var(--tablet-progress));
        --practice-stack-kicker-pad: calc(9px + 1px * var(--tablet-progress));
        --practice-stack-kicker-size: calc(0.75rem + 0.015625rem * var(--tablet-progress));
        --practice-stack-title-size: calc(1.875rem + 0.25rem * var(--tablet-progress));
        --practice-stack-neutral-title-size: calc(1.71875rem + 0.15625rem * var(--tablet-progress));
        --practice-stack-copy-size: calc(0.921875rem + 0.03125rem * var(--tablet-progress));
        --practice-stack-copy-max: calc(416px + 32px * var(--tablet-progress));
        --practice-stack-actions-gap: calc(10px + 2px * var(--tablet-progress));
        --practice-stack-actions-pad: calc(12px + 2px * var(--tablet-progress));
        --practice-stack-cta-size: calc(0.96875rem + 0.03125rem * var(--tablet-progress));
        --practice-stack-cta-icon-width: calc(20px + 1px * var(--tablet-progress));
        --practice-stack-cta-icon-height: 12px;
        --practice-stack-meta-size: calc(0.84375rem + 0.03125rem * var(--tablet-progress));
        --practice-atmosphere-width: calc(832px + 128px * var(--tablet-progress));
        --practice-atmosphere-height: calc(416px + 64px * var(--tablet-progress));
        --practice-atmosphere-blur: calc(56px + 8px * var(--tablet-progress));
        padding:
                calc(var(--section-tablet-pad-top) + var(--sticky-bar-overlap-height))
                calc(28px + 12px * var(--tablet-progress) + var(--safe-area-inline-right))
                var(--section-tablet-pad-bottom)
                calc(28px + 12px * var(--tablet-progress) + var(--safe-area-inline-left));
    }
}

@media (max-width: 42.4375em) {
    .practice-explorer {
        --practice-stack-max: min(100%, calc(364px + 76px * var(--mobile-panel-ease)));
        --practice-stack-row-gap: calc(20px * var(--mobile-scale));
        --practice-stack-header-gap: calc(10px * var(--mobile-scale));
        --practice-stack-eyebrow-gap: calc(12px * var(--mobile-scale));
        --practice-stack-eyebrow-size: clamp(0.9375rem, calc(1.03125rem * var(--mobile-scale)), 1.125rem);
        --practice-stack-eyebrow-rule-width: clamp(46px, calc(50px * var(--mobile-scale)), 54px);
        --practice-stack-heading-size: clamp(2.625rem, calc(2.75rem * var(--mobile-scale)), 2.9375rem);
        --practice-stack-intro-size: clamp(0.9375rem, calc(0.96875rem * var(--mobile-scale)), 1.0625rem);
        --practice-stack-intro-max: 100%;
        --practice-stack-intro-top: calc(10px * var(--mobile-scale));
        --practice-stack-tip-size: clamp(0.84375rem, calc(0.875rem * var(--mobile-scale)), 0.9375rem);
        --practice-stack-nav-gap: calc(12px * var(--mobile-scale));
        --practice-stack-group-gap: calc(8px * var(--mobile-scale));
        --practice-stack-group-offset: calc(6px * var(--mobile-scale));
        --practice-stack-group-pad-top: calc(14px * var(--mobile-scale));
        --practice-stack-group-title-gap: calc(8px * var(--mobile-scale));
        --practice-stack-group-title-size: clamp(0.71875rem, calc(0.75rem * var(--mobile-scale)), 0.78125rem);
        --practice-stack-list-gap: calc(4px * var(--mobile-scale));
        --practice-stack-link-gap: calc(8px * var(--mobile-scale));
        --practice-stack-link-pad-block: calc(8px * var(--mobile-scale));
        --practice-stack-link-pad-right: calc(12px * var(--mobile-scale));
        --practice-stack-link-pad-left: calc(6px * var(--mobile-scale));
        --practice-stack-label-size: clamp(0.9375rem, calc(0.96875rem * var(--mobile-scale)), 1.03125rem);
        --practice-stack-bullet-size: calc(6px * var(--mobile-scale));
        --practice-stack-preview-shell-top: calc(10px * var(--mobile-scale));
        --practice-stack-preview-gap: calc(12px * var(--mobile-scale));
        --practice-stack-preview-min-height: clamp(232px, calc(240px * var(--mobile-scale)), 256px);
        --practice-stack-preview-pad-block: calc(17px * var(--mobile-scale));
        --practice-stack-preview-pad-inline: calc(17px * var(--mobile-scale));
        --practice-stack-preview-radius: calc(15px * var(--mobile-scale));
        --practice-stack-preview-blur: calc(16px * var(--mobile-scale));
        --practice-stack-preview-rule-width: calc(21.6px * var(--mobile-scale));
        --practice-stack-rule-top: calc(15px * var(--mobile-scale));
        --practice-stack-kicker-pad: calc(8px * var(--mobile-scale));
        --practice-stack-kicker-size: calc(0.71875rem * var(--mobile-scale));
        --practice-stack-title-size: clamp(1.75rem, calc(1.8125rem * var(--mobile-scale)), 1.9375rem);
        --practice-stack-neutral-title-size: clamp(1.5625rem, calc(1.625rem * var(--mobile-scale)), 1.75rem);
        --practice-stack-copy-size: clamp(0.875rem, calc(0.90625rem * var(--mobile-scale)), 0.953125rem);
        --practice-stack-copy-max: 100%;
        --practice-stack-actions-gap: calc(9px * var(--mobile-scale));
        --practice-stack-actions-pad: calc(11px * var(--mobile-scale));
        --practice-stack-cta-size: clamp(0.9375rem, calc(0.95rem * var(--mobile-scale)), 1rem);
        --practice-stack-cta-icon-width: calc(19px * var(--mobile-scale));
        --practice-stack-cta-icon-height: calc(12px * var(--mobile-scale));
        --practice-stack-meta-size: clamp(0.8125rem, calc(0.825rem * var(--mobile-scale)), 0.875rem);
        --practice-atmosphere-width: calc(320px + 64px * var(--mobile-scale));
        --practice-atmosphere-height: calc(448px + 64px * var(--mobile-scale));
        --practice-atmosphere-blur: calc(40px + 6px * var(--mobile-scale));
        padding:
                calc((44px * var(--mobile-scale)) + var(--sticky-bar-overlap-height))
                calc((22px + 4px * var(--mobile-panel-ease)) + var(--safe-area-inline-right))
                calc(54px * var(--mobile-scale))
                calc((22px + 4px * var(--mobile-panel-ease)) + var(--safe-area-inline-left));
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .practice-explorer {
        --practice-stack-eyebrow-size: calc(0.9375rem + 0.0625rem * var(--tablet-progress));
        --practice-stack-heading-size: calc(2.5rem + 0.5rem * var(--tablet-progress));
        --practice-stack-intro-size: calc(1rem + 0.0625rem * var(--tablet-progress));
        --practice-stack-label-size: calc(1rem + 0.03125rem * var(--tablet-progress));
        --practice-stack-title-size: calc(2rem + 0.1875rem * var(--tablet-progress));
        --practice-stack-neutral-title-size: calc(1.75rem + 0.1875rem * var(--tablet-progress));
        --practice-stack-copy-size: calc(0.96875rem + 0.03125rem * var(--tablet-progress));
        --practice-stack-cta-size: calc(0.984375rem + 0.015625rem * var(--tablet-progress));
        --practice-stack-meta-size: calc(0.875rem + 0.015625rem * var(--tablet-progress));
    }
}

@media (max-width: 42.4375em) {
    .practice-explorer {
        --practice-stack-eyebrow-size: calc(0.9375rem * var(--mobile-scale));
        --practice-stack-heading-size: calc(2.4375rem * var(--mobile-scale));
        --practice-stack-intro-size: calc(1rem * var(--mobile-scale));
        --practice-stack-label-size: calc(1rem * var(--mobile-scale));
        --practice-stack-title-size: calc(1.9375rem * var(--mobile-scale));
        --practice-stack-neutral-title-size: calc(1.75rem * var(--mobile-scale));
        --practice-stack-copy-size: calc(0.96875rem * var(--mobile-scale));
        --practice-stack-cta-size: calc(0.96875rem * var(--mobile-scale));
        --practice-stack-meta-size: calc(0.84375rem * var(--mobile-scale));
    }
}

@media (max-width: 56.1875em) {
    .practice-explorer {
        --practice-stack-preview-max-width: calc(var(--practice-stack-preview-min-height) * 1.512345679);
    }

    .practice-explorer__preview {
        width: min(100%, var(--practice-stack-preview-max-width));
        max-width: var(--practice-stack-preview-max-width);
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .practice-explorer__nav {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: calc(24px + 8px * var(--tablet-progress));
        row-gap: calc(8px + 4px * var(--tablet-progress));
        align-items: start;
    }

    .practice-explorer__group {
        min-width: 0;
    }

    .practice-explorer__group + .practice-explorer__group {
        margin-top: 0;
    }

    .practice-explorer__group:nth-of-type(1) {
        grid-column: 1 / -1;
    }

    .practice-explorer__group:nth-of-type(1) .practice-explorer__group-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: calc(28px + 8px * var(--tablet-progress));
        row-gap: calc(4px + 1px * var(--tablet-progress));
    }

    .practice-explorer__group:nth-of-type(2),
    .practice-explorer__group:nth-of-type(3) {
        margin-top: 0;
        padding-top: calc(14px + 4px * var(--tablet-progress));
        border-top: 1px solid rgba(201, 212, 227, 0.09);
        align-content: start;
    }
}

@media (min-width: 42.5em) and (max-width: 43.9375em) {
    .practice-explorer {
        --practice-stack-heading-size: 2.4375rem;
        --practice-stack-intro-size: 0.984375rem;
        --practice-stack-group-title-size: 0.6875rem;
        --practice-stack-label-size: 0.984375rem;
        --practice-stack-title-size: 1.9375rem;
        --practice-stack-neutral-title-size: 1.71875rem;
        --practice-stack-copy-size: 0.953125rem;
        --practice-stack-cta-size: 0.96875rem;
        --practice-stack-meta-size: 0.859375rem;
    }

    .practice-explorer__nav {
        column-gap: 20px;
    }

    .practice-explorer__group-title {
        letter-spacing: 0.14em;
    }
}

@media (max-width: 56.1875em) {
    .practice-explorer {
        --practice-stack-band-width: min(100%, calc(var(--practice-stack-preview-max-width) + 160px));
        --practice-stack-intro-measure: min(100%, calc(var(--practice-stack-preview-max-width) + 100px));
        --practice-stack-tip-measure: min(100%, calc(var(--practice-stack-preview-max-width) + 64px));
    }

    .practice-explorer__header,
    .practice-explorer__preview-shell,
    .practice-explorer__nav-shell {
        width: var(--practice-stack-band-width);
        max-width: var(--practice-stack-band-width);
        justify-self: center;
    }

    .practice-explorer__nav {
        width: 100%;
    }

    .practice-explorer__link,
    .practice-explorer__link:visited {
        align-items: start;
    }

    .practice-explorer__intro {
        width: var(--practice-stack-intro-measure);
        max-width: var(--practice-stack-intro-measure);
        line-height: 1.62;
        text-wrap: pretty;
    }

    .practice-explorer__group-title {
        text-wrap: balance;
    }

    .practice-explorer__link-label {
        text-wrap: balance;
    }

    .practice-explorer__link-bullet {
        align-self: start;
    }

    .practice-explorer__preview {
        grid-template-rows: auto auto minmax(0, 1fr) auto;
    }

    .practice-explorer__preview-title,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-title {
        text-wrap: balance;
    }

    .practice-explorer__preview-copy,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-copy {
        text-wrap: pretty;
    }

    .practice-explorer__preview-actions {
        margin-top: 0;
        align-self: end;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .practice-explorer__link-label {
        max-width: min(100%, 20ch);
    }

    .practice-explorer__preview-title,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-title {
        max-width: min(100%, 17ch);
    }

    .practice-explorer__link-bullet {
        margin-top: calc(8px + 1px * var(--tablet-progress));
    }
}

@media (max-width: 42.4375em) {
    .practice-explorer__link-label {
        max-width: min(100%, 18ch);
    }

    .practice-explorer__preview-title,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-title {
        max-width: min(100%, 15.5ch);
    }

    .practice-explorer__link-bullet {
        margin-top: calc(6px * var(--mobile-scale));
    }
}

/* =========================================================
   Patch: mobile practice explorer neutral preview spacing
   The actions divider was being pulled into the copy area on
   mobile because the final mobile override forced the preview
   into a compressed 4-row grid with minmax(0, 1fr).
   Let the copy row size to content and give the divider its
   own breathing room.
   ========================================================= */
@media (max-width: 56.1875em) {
    .practice-explorer__preview {
        grid-template-rows: auto auto auto auto;
    }

    .practice-explorer__preview-actions {
        align-self: auto;
        margin-top: calc(4px * var(--mobile-scale));
        padding-top: var(--practice-stack-actions-pad);
    }

    .practice-explorer[data-state="neutral"] .practice-explorer__preview-actions {
        margin-top: calc(8px * var(--mobile-scale));
        padding-top: calc(12px * var(--mobile-scale));
    }

    .practice-explorer[data-state="neutral"] .practice-explorer__preview-copy {
        margin-bottom: 0;
    }
}

/* =========================================================
   Patch: equal mobile preview divider spacing
   Makes the space above the actions divider match the space
   below it by using the same mobile rhythm value on both sides.
   ========================================================= */
@media (max-width: 56.1875em) {
    .practice-explorer__preview {
        row-gap: var(--practice-stack-preview-gap);
    }

    .practice-explorer__preview-actions,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-actions {
        margin-top: 0;
        padding-top: var(--practice-stack-preview-gap);
    }
}

/* =========================================================
   Patch: fixed mobile practice preview height
   Neutral was still inheriting the desktop neutral height rule,
   so the card could clip the phone line. Use one larger mobile
   height for neutral and active states so the preview does not
   jump when a practice area is tapped.
   ========================================================= */
@media (max-width: 56.1875em) {
    .practice-explorer {
        --practice-stack-preview-fixed-height: calc(var(--practice-stack-preview-min-height) + (56px * var(--mobile-scale, 1)));
    }

    .practice-explorer__preview,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview,
    .practice-explorer[data-state="active"] .practice-explorer__preview {
        min-height: var(--practice-stack-preview-fixed-height);
        height: var(--practice-stack-preview-fixed-height);
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .practice-explorer {
        --practice-stack-preview-fixed-height: calc(var(--practice-stack-preview-min-height) + 36px);
    }
}

@media (max-width: 42.4375em) {
    .practice-explorer {
        --practice-stack-preview-fixed-height: clamp(292px, calc(300px * var(--mobile-scale)), 320px);
    }
}


/* =========================================================
   FINAL PATCH — mobile preview rewrite
   ─────────────────────────────────────────────────────────

   After 4 rounds of CSS Grid patches failed on real iPhone
   Safari, the diagnosis is reframed.  The card is built as a
   CSS Grid with auto rows + a 4th display:none → display:grid
   child that JS toggles, plus an `align-self:end` actions
   row, plus `text-wrap: pretty/balance` on inner text, plus
   `overflow: hidden` + `backdrop-filter` on the container.
   That stack of features hits at least one WebKit grid bug
   that we cannot reliably name OR work around with Grid
   properties — every targeted fix has either silently no-op'd
   or moved the symptom.

   Strategy: stop fighting Grid.  The mobile card is a vertical
   stack of 6 elements (kicker, title, copy, divider, CTA,
   phone).  Flexbox column layout handles that natively, has
   zero of the auto-sizing quirks Grid has on Safari, and was
   never broken by any of the 10+ accumulated overrides.

   This patch:
   1. Forces .preview to `display: flex; flex-direction: column`
      with `height: auto` and a sensible `min-height`.  Spacing
      between rows comes from `gap` on the flex container —
      flexbox `gap` is fully reliable on Safari and IS included
      in intrinsic height.
   2. Forces .preview-actions to `display: flex; flex-direction:
      column` always (never display:none) on mobile, with a
      ::before pseudo as the divider.  No border-top games.
   3. Strips text-wrap: balance / pretty from title and copy on
      mobile — these can cause inconsistent intrinsic sizing on
      iOS Safari's text shaper.
   4. Wins the cascade with a high-specificity selector chain
      (`.practice-explorer[data-state] .practice-explorer__
      preview` is 0,2,1) plus !important so it survives every
      earlier mobile override regardless of source order.
   ========================================================= */
@media (max-width: 56.1875em) {
    .practice-explorer {
        --pp-pad-y: calc(18px * var(--mobile-scale, 1));
        --pp-pad-x: calc(16px * var(--mobile-scale, 1));
        --pp-min-h: clamp(304px, calc(320px * var(--mobile-scale, 1)), 352px);
        --pp-row-gap: calc(13px * var(--mobile-scale, 1));
        --pp-actions-gap: calc(11px * var(--mobile-scale, 1));
    }

    /* ---- THE CARD: flex column instead of grid ---- */
    .practice-explorer .practice-explorer__preview,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview,
    .practice-explorer[data-state="active"] .practice-explorer__preview {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        height: auto !important;
        min-height: var(--pp-min-h) !important;
        padding: var(--pp-pad-y) var(--pp-pad-x) !important;
        gap: var(--pp-row-gap) !important;
        /* nuke grid-only properties so they don't haunt us */
        grid-template-rows: none !important;
        grid-template-columns: none !important;
        align-content: normal !important;
    }

    /* ---- THE CHILDREN: clean slate, no inherited grid margins ---- */
    .practice-explorer .practice-explorer__preview > .practice-explorer__preview-kicker,
    .practice-explorer .practice-explorer__preview > .practice-explorer__preview-title,
    .practice-explorer .practice-explorer__preview > .practice-explorer__preview-copy,
    .practice-explorer .practice-explorer__preview > .practice-explorer__preview-actions {
        margin: 0 !important;
        align-self: stretch !important;
        flex: 0 0 auto !important;          /* don't grow, don't shrink, size to content */
        min-height: 0 !important;            /* prevent flex min-content default */
    }

    /* push the actions block to the bottom of the card */
    .practice-explorer .practice-explorer__preview > .practice-explorer__preview-actions {
        margin-top: auto !important;
    }

    /* ---- text rendering: drop iOS-flaky wrapping hints ---- */
    .practice-explorer .practice-explorer__preview-title,
    .practice-explorer .practice-explorer__preview-copy {
        -webkit-hyphens: none !important;
        hyphens: none !important;
    }

    /* ---- THE ACTIONS BLOCK: flex column, divider via ::before ---- */
    .practice-explorer .practice-explorer__preview-actions,
    .practice-explorer[data-state="neutral"] .practice-explorer__preview-actions,
    .practice-explorer[data-state="active"] .practice-explorer__preview-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: var(--pp-actions-gap) !important;
        padding: 0 !important;
        border: 0 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    .practice-explorer .practice-explorer__preview-actions::before {
        content: "" !important;
        display: block !important;
        align-self: stretch !important;
        height: 1px !important;
        width: 100% !important;
        background: rgba(201, 212, 227, 0.18) !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    .practice-explorer .practice-explorer__preview-meta {
        margin: 0 !important;
    }
}

/* =========================================================
   Practice explorer helper text
   Desktop guidance sits above the selectable list. Mobile
   guidance sits directly underneath the preview panel.
   ========================================================= */
@media (min-width: 56.25em) {
    .practice-explorer__nav > .practice-explorer__helper--desktop {
        display: block !important;
        grid-column: 1 / -1;
        width: min(100%, calc(544px * var(--practice-scale, 1)));
        max-width: calc(544px * var(--practice-scale, 1));
        margin: 0;
        margin-bottom: calc(12px * var(--practice-scale, 1));
        padding-bottom: 0;
        font-size: calc(0.8125rem * var(--practice-scale, 1));
        line-height: 1.5;
    }

    .practice-explorer__helper--mobile {
        display: none !important;
    }
}

@media (max-width: 56.1875em) {
    .practice-explorer__helper--desktop {
        display: none !important;
    }

    .practice-explorer__preview-shell {
        display: flex;
        flex-direction: column;
        gap: calc(9px * var(--mobile-scale, 1));
    }

    .practice-explorer__preview-shell > .practice-explorer__helper--mobile {
        display: block !important;
        width: min(100%, var(--practice-stack-preview-max-width, 100%));
        max-width: var(--practice-stack-preview-max-width, 100%);
        margin-top: 0;
        padding-left: calc(9px * var(--mobile-scale, 1));
        border-left-width: calc(2px * var(--mobile-scale, 1));
        font-size: clamp(0.78125rem, calc(0.8125rem * var(--mobile-scale, 1)), 0.890625rem);
        line-height: 1.42;
        color: rgba(201, 212, 227, 0.68);
    }
}

/* =========================================================
   About media quote balance
   Keeps the semantic blockquote, prevents long-line clipping,
   and gives the curly quote marks their own side gutters.
   ========================================================= */
.about-oaken__media-quote .about-oaken__media-title {
    position: relative;
    display: block;
    grid-template-columns: none;
    box-sizing: border-box;
    width: 100%;
    padding-inline: clamp(54px, 6.25vw, 240px);
    overflow: visible;
}

.about-oaken__media-quote .about-oaken__media-quote-text {
    display: grid;
    gap: 0.08em;
    justify-items: center;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}

.about-oaken__media-quote .about-oaken__media-title-line {
    display: block;
    max-width: 100%;
    white-space: nowrap;
}

.about-oaken__media-quote .about-oaken__quote-mark {
    position: absolute;
    top: 50%;
    margin: 0;
    transform: translateY(-50%);
}

.about-oaken__media-quote .about-oaken__quote-mark--open {
    left: 0;
}

.about-oaken__media-quote .about-oaken__quote-mark--close {
    right: 0;
}

@media (max-width: 42.4375em) {
    .about-oaken__media-quote .about-oaken__media-title {
        padding-inline: 13cqw;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        font-size: 12.2808cqw;
    }
}

/* =========================================================
   About media quote tight quote-mark placement
   Keeps the quote marks close to the quote instead of pinning
   them to the far overlay edges.
   ========================================================= */
.about-oaken__media-quote .about-oaken__media-title {
    display: grid;
    grid-template-columns: auto minmax(0, max-content) auto;
    align-items: center;
    justify-content: center;
    column-gap: clamp(14px, 1.45vw, 28px);
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    padding-inline: 0;
    overflow: visible;
}

.about-oaken__media-quote .about-oaken__quote-mark {
    position: static;
    top: auto;
    margin: 0;
    align-self: center;
    transform: none;
}

.about-oaken__media-quote .about-oaken__quote-mark--open {
    left: auto;
    transform: translateY(-0.03em);
}

.about-oaken__media-quote .about-oaken__quote-mark--close {
    right: auto;
    transform: translateY(0.03em);
}

@media (max-width: 42.4375em) {
    .about-oaken__media-quote .about-oaken__media-title {
        column-gap: calc(10px * var(--mobile-scale));
        padding-inline: 0;
    }
}

/* =========================================================
   About media overlay feather correction — sub-900 only
   Keeps the desktop treatment intact. On tablet/mobile, the
   dark wash begins at the quote block instead of reaching
   high above the top rule, with a short feathered entrance.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken__media {
        --about-media-overlay-top: calc(
                100% - (
                var(--about-media-overlay-bottom-offset) +
                var(--about-media-overlay-box-height)
                )
        );
    }

    .about-oaken__media::before {
        background:
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 0%,
                        rgba(0, 0, 0, 0) calc(var(--about-media-overlay-top) - 0.45cqw),
                        rgba(0, 0, 0, 0.06) calc(var(--about-media-overlay-top) - 0.05cqw),
                        rgba(0, 0, 0, 0.42) calc(var(--about-media-overlay-top) + 1.2cqw),
                        rgba(0, 0, 0, 0.58) calc(100% - var(--about-media-overlay-bottom-offset) - 3.6cqw),
                        rgba(0, 0, 0, 0.58) calc(100% - var(--about-media-overlay-bottom-offset) - 0.8cqw),
                        rgba(0, 0, 0, 0.24) calc(100% - var(--about-media-overlay-bottom-offset)),
                        rgba(0, 0, 0, 0) 100%
                ),
                url("../images/background_images/about-firm-collaboration.webp") center 24% / cover no-repeat;
    }
}

@media (max-width: 42.4375em) {
    .about-oaken__media::before {
        background:
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 0%,
                        rgba(0, 0, 0, 0) calc(var(--about-media-overlay-top) - 0.25cqw),
                        rgba(0, 0, 0, 0.07) calc(var(--about-media-overlay-top) + 0.1cqw),
                        rgba(0, 0, 0, 0.44) calc(var(--about-media-overlay-top) + 1.35cqw),
                        rgba(0, 0, 0, 0.58) calc(100% - var(--about-media-overlay-bottom-offset) - 3.2cqw),
                        rgba(0, 0, 0, 0.58) calc(100% - var(--about-media-overlay-bottom-offset) - 0.7cqw),
                        rgba(0, 0, 0, 0.24) calc(100% - var(--about-media-overlay-bottom-offset)),
                        rgba(0, 0, 0, 0) 100%
                ),
                url("../images/background_images/about-firm-collaboration.webp") center 24% / cover no-repeat;
    }
}

/* =========================================================
   Final About quote-band correction — sub-900 only
   The earlier mobile/tablet wash was still coming from the
   photo pseudo-element and/or using a band that was too tall.
   Keep the photo clean, then paint a full-image-width support
   band that starts close to the quote block instead of high
   above the top rule.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken__media {
        --about-quote-band-bottom: 4.35cqw;
        --about-quote-band-height: 27.2cqw;
    }

    .about-oaken__media::before {
        background: url("../images/background_images/about-firm-collaboration.webp") center 24% / cover no-repeat !important;
    }

    .about-oaken__media::after {
        content: "";
        position: absolute;
        z-index: 0;
        left: 0;
        right: 0;
        bottom: var(--about-quote-band-bottom);
        height: var(--about-quote-band-height);
        pointer-events: none;
        background:
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 0%,
                        rgba(0, 0, 0, 0.18) 5%,
                        rgba(0, 0, 0, 0.56) 16%,
                        rgba(0, 0, 0, 0.60) 82%,
                        rgba(0, 0, 0, 0.28) 94%,
                        rgba(0, 0, 0, 0) 100%
                );
    }

    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        position: relative;
        z-index: 1;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media::before {
        background: url("../images/background_images/about-firm-collaboration.webp") center 31% / cover no-repeat !important;
    }
}

/* =========================================================
   About quote-band bottom reach correction — sub-900 only
   Keep the current top edge placement, but extend the full-width
   dark support band lower so it fills the bottom of the quote block.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken__media {
        --about-quote-band-bottom: 1.15cqw;
        --about-quote-band-height: 30.4cqw;
    }

    .about-oaken__media::after {
        background:
                linear-gradient(
                        180deg,
                        rgba(0, 0, 0, 0) 0%,
                        rgba(0, 0, 0, 0.12) 5%,
                        rgba(0, 0, 0, 0.42) 16%,
                        rgba(0, 0, 0, 0.46) 88%,
                        rgba(0, 0, 0, 0.30) 97%,
                        rgba(0, 0, 0, 0.12) 100%
                );
    }
}

@media (max-width: 42.4375em) {
    .about-oaken__media {
        --about-quote-band-bottom: 0.95cqw;
        --about-quote-band-height: 30.6cqw;
    }
}

/* =========================================================
   About quote-band width-specific top reach correction — sub-900 only
   636px was already balanced. The wider tablet crop and the tight
   phone crop need a taller support band so the dark field reaches the
   top rule of the quote block without changing the good mid-mobile state.
   ========================================================= */
@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media {
        --about-quote-band-bottom: 1.15cqw;
        --about-quote-band-height: 36.8cqw;
    }
}

@media (max-width: 30em) {
    .about-oaken__media {
        --about-quote-band-bottom: 0.95cqw;
        --about-quote-band-height: 40.5cqw;
    }
}

/* =========================================================
   Attorney heading line control — 632px to 679px
   Keeps the heading from breaking as "Who will / handle / your case".
   ========================================================= */
@media (min-width: 39.5em) and (max-width: 42.4375em) {
    .home-attorney-credentials__heading-line {
        display: block;
        white-space: nowrap;
    }
}

/* =========================================================
   About media quote gold accents
   Makes the quote marks and horizontal rules use the brand
   gold accent instead of white. Appended late to win the cascade.
   ========================================================= */
.about-oaken .about-oaken__media-line {
    background: rgba(196, 150, 60, 0.92);
}

.about-oaken .about-oaken__quote-mark {
    color: rgba(196, 150, 60, 0.96);
}


/* =========================================================
   PATCH — center phone action in mobile sticky bar
   Matches the practice-area sticky bar behavior: the phone
   action is centered within the left half instead of starting
   from the left padding edge.
   ========================================================= */
@media (max-width: 56.1875em) {
    .mobile-sticky-bar__half--phone {
        justify-content: center;
        padding-right: 0;
    }

    .mobile-sticky-bar__phone-link,
    .mobile-sticky-bar__phone-link:visited {
        justify-content: center;
        width: auto;
        max-width: 100%;
    }
}

/* =========================================================
   Final About portrait quote support correction — sub-900 only
   Keep the portrait clean and localize the dark support behind
   the quote instead of washing the full lower photo.
   ========================================================= */
@media (max-width: 56.1875em) {
    .about-oaken__media {
        --about-quote-support-bottom: 1.2cqw;
        --about-quote-support-height: 31.2cqw;
        --about-quote-support-width: 86%;
    }

    .about-oaken__media::before {
        background: url("../images/background_images/about-firm-collaboration.webp") center 24% / cover no-repeat !important;
    }

    .about-oaken__media::after {
        content: "";
        position: absolute;
        z-index: 0;
        left: 50% !important;
        right: auto !important;
        bottom: var(--about-quote-support-bottom) !important;
        width: var(--about-quote-support-width) !important;
        height: var(--about-quote-support-height) !important;
        transform: translateX(-50%);
        pointer-events: none;
        background:
                radial-gradient(
                        ellipse at center,
                        rgba(0, 0, 0, 0.58) 0%,
                        rgba(0, 0, 0, 0.52) 42%,
                        rgba(0, 0, 0, 0.34) 64%,
                        rgba(0, 0, 0, 0.14) 82%,
                        rgba(0, 0, 0, 0) 100%
                );
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media {
        --about-quote-support-bottom: 1.4cqw;
        --about-quote-support-height: 30.2cqw;
        --about-quote-support-width: 82%;
    }

    .about-oaken__media::before {
        background: url("../images/background_images/about-firm-collaboration.webp") center 31% / cover no-repeat !important;
    }
}

@media (max-width: 30em) {
    .about-oaken__media {
        --about-quote-support-bottom: 1.05cqw;
        --about-quote-support-height: 33.2cqw;
        --about-quote-support-width: 88%;
    }
}

/* =========================================================
   Final About portrait quote support — desktop + sub-900
   Localizes the dark support behind the quote and feathers the
   edges so the portrait does not get a hard lower wash.
   ========================================================= */
.about-oaken__media {
    --about-quote-support-bottom: clamp(46px, 5.15vw, 198px);
    --about-quote-support-height: clamp(190px, 14.7vw, 564px);
    --about-quote-support-width: 88%;
    --about-quote-support-blur: clamp(14px, 1.25vw, 48px);
}

.about-oaken__media::before {
    background: url("../images/background_images/about-firm-collaboration.webp") center 24% / cover no-repeat !important;
}

.about-oaken__media::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: var(--about-quote-support-bottom) !important;
    width: var(--about-quote-support-width) !important;
    height: var(--about-quote-support-height) !important;
    transform: translateX(-50%);
    pointer-events: none;
    border-radius: 999px;
    filter: blur(var(--about-quote-support-blur));
    background:
            radial-gradient(
                    ellipse at center,
                    rgba(5, 10, 17, 0.62) 0%,
                    rgba(5, 10, 17, 0.56) 32%,
                    rgba(5, 10, 17, 0.40) 52%,
                    rgba(5, 10, 17, 0.19) 72%,
                    rgba(5, 10, 17, 0.06) 86%,
                    rgba(5, 10, 17, 0) 100%
            );
}

@media (min-width: 56.25em) {
    .about-oaken__media {
        --about-quote-support-bottom: calc(88px * var(--about-scale, 1));
        --about-quote-support-height: calc(248px * var(--about-scale, 1));
        --about-quote-support-width: 90%;
        --about-quote-support-blur: calc(22px * var(--about-scale, 1));
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media {
        --about-quote-support-bottom: 1.35cqw;
        --about-quote-support-height: 32.8cqw;
        --about-quote-support-width: 88%;
        --about-quote-support-blur: 2.55cqw;
    }

    .about-oaken__media::before {
        background: url("../images/background_images/about-firm-collaboration.webp") center 31% / cover no-repeat !important;
    }
}

@media (max-width: 42.4375em) {
    .about-oaken__media {
        --about-quote-support-bottom: 0.95cqw;
        --about-quote-support-height: 34.2cqw;
        --about-quote-support-width: 92%;
        --about-quote-support-blur: 2.9cqw;
    }
}

@media (max-width: 30em) {
    .about-oaken__media {
        --about-quote-support-bottom: 0.75cqw;
        --about-quote-support-height: 37.4cqw;
        --about-quote-support-width: 94%;
        --about-quote-support-blur: 3.2cqw;
    }
}

/* =========================================================
   Final About portrait quote surface correction
   Keep the photo clean, remove the full-photo quote shadow,
   and confine the dark support to the exact quote block width.
   ========================================================= */
.about-oaken__media::after {
    content: none !important;
    display: none !important;
}

.about-oaken__media-link,
.about-oaken__media-link:visited {
    position: relative;
    z-index: 1;
}

.about-oaken__media-content {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.about-oaken__media-content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
            radial-gradient(
                    ellipse at center,
                    rgba(5, 10, 17, 0.66) 0%,
                    rgba(5, 10, 17, 0.60) 42%,
                    rgba(5, 10, 17, 0.42) 66%,
                    rgba(5, 10, 17, 0.18) 84%,
                    rgba(5, 10, 17, 0) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(5, 10, 17, 0.08) 0%,
                    rgba(5, 10, 17, 0.48) 26%,
                    rgba(5, 10, 17, 0.54) 72%,
                    rgba(5, 10, 17, 0.10) 100%
            );
}

.about-oaken__media-line,
.about-oaken__media-title {
    position: relative;
    z-index: 1;
}


/* =========================================================
   Final About portrait quote support edge correction
   Keep the quote support exactly inside the quote block: flush
   to the top/bottom rules, clipped by the rule width, and active
   across desktop, tablet, and mobile.
   ========================================================= */
.about-oaken__media-content {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.about-oaken__media-content::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
            linear-gradient(
                    90deg,
                    rgba(5, 10, 17, 0.04) 0%,
                    rgba(5, 10, 17, 0.46) 8%,
                    rgba(5, 10, 17, 0.62) 24%,
                    rgba(5, 10, 17, 0.64) 50%,
                    rgba(5, 10, 17, 0.62) 76%,
                    rgba(5, 10, 17, 0.46) 92%,
                    rgba(5, 10, 17, 0.04) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(5, 10, 17, 0.46) 0%,
                    rgba(5, 10, 17, 0.58) 22%,
                    rgba(5, 10, 17, 0.60) 50%,
                    rgba(5, 10, 17, 0.58) 78%,
                    rgba(5, 10, 17, 0.46) 100%
            );
}

.about-oaken__media-line,
.about-oaken__media-title {
    position: relative;
    z-index: 1;
}

/* =========================================================
   Final About portrait quote support flush correction
   The dark support now belongs to the full quote group, so it
   starts at the top rule and ends at the bottom rule without
   spilling past the rule width. The support is intentionally
   lighter than the prior text-block overlay.
   ========================================================= */
.about-oaken__media-content::before {
    content: none !important;
    display: none !important;
}

.about-oaken__media-quote {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
}

.about-oaken__media-quote::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
            radial-gradient(
                    ellipse at center,
                    rgba(5, 10, 17, 0.30) 0%,
                    rgba(5, 10, 17, 0.28) 48%,
                    rgba(5, 10, 17, 0.22) 70%,
                    rgba(5, 10, 17, 0.14) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(5, 10, 17, 0.16) 0%,
                    rgba(5, 10, 17, 0.30) 24%,
                    rgba(5, 10, 17, 0.34) 50%,
                    rgba(5, 10, 17, 0.30) 76%,
                    rgba(5, 10, 17, 0.16) 100%
            );
}

.about-oaken__media-quote > * {
    position: relative;
    z-index: 1;
}

/* =========================================================
   Patch — About portrait quote overlay feathering
   Keeps the support flush to the quote group while making the
   field read like a soft shadow band instead of a flat rectangle.
   ========================================================= */
.about-oaken__media-quote::before {
    background:
            radial-gradient(
                    ellipse at center,
                    rgba(5, 10, 17, 0.34) 0%,
                    rgba(5, 10, 17, 0.30) 42%,
                    rgba(5, 10, 17, 0.16) 72%,
                    rgba(5, 10, 17, 0) 100%
            ),
            linear-gradient(
                    90deg,
                    rgba(5, 10, 17, 0) 0%,
                    rgba(5, 10, 17, 0.24) 9%,
                    rgba(5, 10, 17, 0.36) 20%,
                    rgba(5, 10, 17, 0.40) 50%,
                    rgba(5, 10, 17, 0.36) 80%,
                    rgba(5, 10, 17, 0.24) 91%,
                    rgba(5, 10, 17, 0) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(5, 10, 17, 0.08) 0%,
                    rgba(5, 10, 17, 0.24) 18%,
                    rgba(5, 10, 17, 0.28) 50%,
                    rgba(5, 10, 17, 0.24) 82%,
                    rgba(5, 10, 17, 0.08) 100%
            ) !important;
}

.about-oaken__media-content {
    gap: clamp(18px, 1.62vw, 60px);
}

@media (max-width: 56.1875em) {
    .about-oaken__media-content {
        gap: calc(12px * var(--about-390-scale, var(--mobile-scale, 1))) !important;
    }
}

/* =========================================================
   Final About portrait quote overlay edge/desktop rule tuning
   Extends the desktop quote rules slightly and lightens the side
   feather while preserving the center support behind the quote text.
   ========================================================= */
@media (min-width: 56.25em) {
    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 88.5%) !important;
    }
}

.about-oaken__media-quote::before {
    background:
            radial-gradient(
                    ellipse at center,
                    rgba(5, 10, 17, 0.34) 0%,
                    rgba(5, 10, 17, 0.30) 38%,
                    rgba(5, 10, 17, 0.13) 64%,
                    rgba(5, 10, 17, 0.03) 82%,
                    rgba(5, 10, 17, 0) 100%
            ),
            linear-gradient(
                    90deg,
                    rgba(5, 10, 17, 0) 0%,
                    rgba(5, 10, 17, 0.10) 9%,
                    rgba(5, 10, 17, 0.24) 21%,
                    rgba(5, 10, 17, 0.40) 50%,
                    rgba(5, 10, 17, 0.24) 79%,
                    rgba(5, 10, 17, 0.10) 91%,
                    rgba(5, 10, 17, 0) 100%
            ),
            linear-gradient(
                    180deg,
                    rgba(5, 10, 17, 0.06) 0%,
                    rgba(5, 10, 17, 0.22) 18%,
                    rgba(5, 10, 17, 0.28) 50%,
                    rgba(5, 10, 17, 0.22) 82%,
                    rgba(5, 10, 17, 0.06) 100%
            ) !important;
}

/* =========================================================
   Patch — desktop About portrait quote side gutters
   Pulls the curly quote marks inward from the left/right edges
   of the quote block while preserving the extended rule length.
   ========================================================= */
@media (min-width: 56.25em) {
    .about-oaken__media-quote .about-oaken__media-title {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        align-items: center !important;
        justify-content: stretch !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        padding-inline: clamp(30px, 2.45vw, 94px) !important;
        column-gap: clamp(18px, 1.55vw, 56px) !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        justify-self: center !important;
        width: auto !important;
        max-width: min(100%, 26em) !important;
    }
}

/* =========================================================
   Patch — desktop About portrait quote centering
   Keeps the quote text centered while moving the curly marks
   inward from the block edges. This corrects the prior gutter
   rule that let the text column drift right.
   ========================================================= */
@media (min-width: 56.25em) {
    .about-oaken__media-quote .about-oaken__media-title {
        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: 0 !important;
        padding-inline: clamp(74px, 5.7vw, 218px) !important;
        text-align: center !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        margin-inline: auto !important;
        justify-self: auto !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        position: absolute !important;
        top: 50% !important;
        z-index: 2 !important;
        transform: translateY(-50%) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--open {
        left: clamp(28px, 2.15vw, 82px) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        right: clamp(28px, 2.15vw, 82px) !important;
    }
}

/* =========================================================
   Patch — About portrait quote desktop/tablet balance
   Restores the quote text as a centered group, pulls the curly
   quote marks back toward the text, and removes the oversized
   desktop side padding that pushed the quote off-center.
   ========================================================= */
@media (min-width: 42.5em) {
    .about-oaken__media-quote .about-oaken__media-title {
        position: relative !important;
        display: grid !important;
        grid-template-columns: auto max-content auto !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        width: auto !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        column-gap: clamp(12px, 1.05vw, 34px) !important;
        text-align: center !important;
        font-size: clamp(1.66rem, 1.82vw, 4.36rem) !important;
        line-height: 1.28 !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        display: grid !important;
        gap: 0.08em !important;
        justify-items: center !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .about-oaken__media-quote .about-oaken__media-title-line {
        display: block !important;
        max-width: none !important;
        white-space: nowrap !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        z-index: 2 !important;
        align-self: center !important;
        margin: 0 !important;
        font-size: clamp(3.55rem, 4.52vw, 10.85rem) !important;
        transform: translateY(-0.03em) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        transform: translateY(0.03em) !important;
    }
}

/* =========================================================
   PATCH — About portrait quote desktop/tablet mark spacing
   Keeps the title group inside the quote rules and brings the
   curly marks close to the text instead of creating wide side
   gutters or clipping the closing mark.
   ========================================================= */
@media (min-width: 42.5em) {
    .about-oaken__media-quote .about-oaken__media-title {
        display: grid !important;
        grid-template-columns: auto minmax(0, max-content) auto !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-inline: auto !important;
        padding-inline: clamp(10px, 0.9vw, 34px) !important;
        column-gap: clamp(4px, 0.45vw, 14px) !important;
        overflow: visible !important;
        text-align: center !important;
        font-size: clamp(1.5rem, 1.68vw, 4.05rem) !important;
        line-height: 1.28 !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        display: grid !important;
        gap: 0.08em !important;
        justify-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }

    .about-oaken__media-quote .about-oaken__media-title-line {
        display: block !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        z-index: 2 !important;
        display: inline-flex !important;
        align-self: center !important;
        justify-content: center !important;
        width: 0.42em !important;
        min-width: 0.42em !important;
        margin: 0 !important;
        font-size: clamp(3rem, 3.8vw, 9.1rem) !important;
        line-height: 0.72 !important;
        transform: translateY(-0.03em) !important;
        overflow: visible !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--open {
        justify-self: end !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        justify-self: start !important;
        transform: translateY(0.03em) !important;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media-quote .about-oaken__media-title {
        padding-inline: clamp(8px, 1.6cqw, 18px) !important;
        column-gap: clamp(3px, 0.9cqw, 10px) !important;
        font-size: clamp(1.36rem, 4.05cqw, 2.05rem) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        font-size: clamp(2.72rem, 8.6cqw, 4.4rem) !important;
    }
}

/* =========================================================
   PATCH — About portrait quote tablet/desktop final alignment
   Centers the quote text independently from the decorative marks,
   then positions the marks closer to the text without letting them
   push the text group off-center or clip outside the rule width.
   ========================================================= */
@media (min-width: 42.5em) {
    .about-oaken__media-quote .about-oaken__media-title {
        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-inline: clamp(42px, 6.2%, 82px) !important;
        overflow: visible !important;
        text-align: center !important;
        font-size: clamp(1.58rem, 1.76vw, 4.22rem) !important;
        line-height: 1.28 !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        display: grid !important;
        gap: 0.08em !important;
        justify-items: center !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 auto !important;
    }

    .about-oaken__media-quote .about-oaken__media-title-line {
        display: block !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        position: absolute !important;
        top: 50% !important;
        right: auto !important;
        left: auto !important;
        z-index: 2 !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        font-size: clamp(3.25rem, 4.15vw, 9.95rem) !important;
        line-height: 0.72 !important;
        overflow: visible !important;
        pointer-events: none !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--open {
        left: clamp(28px, 10.5%, 104px) !important;
        transform: translateY(-50%) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        right: clamp(28px, 10.5%, 104px) !important;
        transform: translateY(-50%) !important;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media-quote .about-oaken__media-title {
        padding-inline: clamp(32px, 7.8cqw, 58px) !important;
        font-size: clamp(1.36rem, 4.05cqw, 2.05rem) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        font-size: clamp(3.35rem, 10.75cqw, 5.35rem) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--open {
        left: clamp(22px, 10.8%, 48px) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        right: clamp(22px, 10.8%, 48px) !important;
    }
}


/* =========================================================
   FINAL PATCH — About portrait quote symmetric edge gutters
   Keep the quote copy centered independently, reserve equal
   left/right space for the decorative marks, and keep both
   marks visible inside the gold quote-rule width.
   ========================================================= */
@media (min-width: 42.5em) {
    .about-oaken__media-quote .about-oaken__media-title {
        --about-quote-edge-pad: clamp(16px, 3.4%, 48px);
        --about-quote-mark-size: clamp(3.2rem, 4.4vw, 10.6rem);
        --about-quote-text-reserve: calc(var(--about-quote-edge-pad) + (var(--about-quote-mark-size) * 0.52));

        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-inline: var(--about-quote-text-reserve) !important;
        overflow: visible !important;
        text-align: center !important;
        font-size: clamp(1.46rem, 1.62vw, 3.9rem) !important;
        line-height: 1.28 !important;
        letter-spacing: 0.08em !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        display: grid !important;
        gap: 0.08em !important;
        justify-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        text-align: center !important;
    }

    .about-oaken__media-quote .about-oaken__media-title-line {
        display: block !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        position: absolute !important;
        top: 50% !important;
        z-index: 2 !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        font-size: var(--about-quote-mark-size) !important;
        line-height: 0.72 !important;
        overflow: visible !important;
        pointer-events: none !important;
        color: #C4963C !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--open {
        left: var(--about-quote-edge-pad) !important;
        right: auto !important;
        transform: translateY(-50%) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        right: var(--about-quote-edge-pad) !important;
        left: auto !important;
        transform: translateY(-50%) !important;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media-quote .about-oaken__media-title {
        --about-quote-edge-pad: clamp(10px, 3cqw, 20px);
        --about-quote-mark-size: clamp(3.45rem, 11.6cqw, 5.8rem);
        --about-quote-text-reserve: calc(var(--about-quote-edge-pad) + (var(--about-quote-mark-size) * 0.54));

        padding-inline: var(--about-quote-text-reserve) !important;
        font-size: clamp(1.42rem, 4.18cqw, 2.14rem) !important;
    }
}

/* =========================================================
   FINAL PATCH — About portrait quote centered text + equal marks
   Use equal quote-mark cells so the copy remains mathematically
   centered while both decorative marks sit close to the copy and
   stay inside the quote-rule width on tablet and desktop.
   ========================================================= */
@media (min-width: 42.5em) {
    .about-oaken__media-quote .about-oaken__media-title {
        --about-quote-mark-size: clamp(3.25rem, 4.25vw, 10.2rem);
        --about-quote-mark-cell: calc(var(--about-quote-mark-size) * 0.48);

        position: relative !important;
        display: grid !important;
        grid-template-columns: var(--about-quote-mark-cell) minmax(0, max-content) var(--about-quote-mark-cell) !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding-inline: clamp(10px, 2.2%, 28px) !important;
        column-gap: clamp(8px, 0.72vw, 22px) !important;
        overflow: visible !important;
        text-align: center !important;
        font-size: clamp(1.46rem, 1.6vw, 3.84rem) !important;
        line-height: 1.28 !important;
        letter-spacing: 0.08em !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        display: grid !important;
        gap: 0.08em !important;
        justify-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: center !important;
    }

    .about-oaken__media-quote .about-oaken__media-title-line {
        display: block !important;
        max-width: 100% !important;
        white-space: nowrap !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        position: static !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        z-index: 2 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: var(--about-quote-mark-cell) !important;
        min-width: var(--about-quote-mark-cell) !important;
        margin: 0 !important;
        font-size: var(--about-quote-mark-size) !important;
        line-height: 0.72 !important;
        overflow: visible !important;
        pointer-events: none !important;
        color: #C4963C !important;
        transform: translateY(-0.03em) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--open {
        justify-self: end !important;
        transform: translateY(-0.03em) !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        justify-self: start !important;
        transform: translateY(0.03em) !important;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media-quote .about-oaken__media-title {
        --about-quote-mark-size: clamp(3.45rem, 11.6cqw, 5.8rem);
        --about-quote-mark-cell: calc(var(--about-quote-mark-size) * 0.46);

        padding-inline: clamp(6px, 1.6cqw, 14px) !important;
        column-gap: clamp(4px, 0.8cqw, 9px) !important;
        font-size: clamp(1.42rem, 4.18cqw, 2.14rem) !important;
    }
}

/* =========================================================
   FINAL PATCH — About portrait quote block width
   The previous fixes adjusted the internal quote gutters, but
   the quote group itself was still too narrow. Widen the rule /
   overlay block on tablet and desktop so the text and both quote
   marks fit without clipping or forcing the copy off-center.
   ========================================================= */
@media (min-width: 42.5em) {
    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 98%) !important;
        max-width: none !important;
    }

    .about-oaken__media-content,
    .about-oaken__media-quote {
        width: 100% !important;
        max-width: none !important;
    }

    .about-oaken__media-quote .about-oaken__media-title {
        --about-quote-mark-size: clamp(3.25rem, 4.25vw, 10.2rem);
        --about-quote-mark-cell: calc(var(--about-quote-mark-size) * 0.44);

        display: grid !important;
        grid-template-columns:
            var(--about-quote-mark-cell)
            minmax(0, max-content)
            var(--about-quote-mark-cell) !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-inline: auto !important;
        padding-inline: clamp(2px, 0.35vw, 12px) !important;
        column-gap: clamp(6px, 0.55vw, 18px) !important;
        overflow: visible !important;
        text-align: center !important;
    }

    .about-oaken__media-quote .about-oaken__media-quote-text {
        display: grid !important;
        justify-items: center !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        text-align: center !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark {
        width: var(--about-quote-mark-cell) !important;
        min-width: var(--about-quote-mark-cell) !important;
        justify-content: center !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--open {
        justify-self: end !important;
    }

    .about-oaken__media-quote .about-oaken__quote-mark--close {
        justify-self: start !important;
    }
}

@media (min-width: 42.5em) and (max-width: 56.1875em) {
    .about-oaken__media-link,
    .about-oaken__media-link:visited {
        width: min(100%, 98.5%) !important;
    }

    .about-oaken__media-quote .about-oaken__media-title {
        --about-quote-mark-size: clamp(3.45rem, 11.6cqw, 5.8rem);
        --about-quote-mark-cell: calc(var(--about-quote-mark-size) * 0.42);
        padding-inline: clamp(2px, 0.8cqw, 7px) !important;
        column-gap: clamp(3px, 0.55cqw, 7px) !important;
    }
}

/* =========================================================
   FINAL PATCH — About portrait quote rule weight
   Gives the top/bottom quote bars enough presence after the
   quote block was widened, without changing the quote layout.
   ========================================================= */
.about-oaken .about-oaken__media-line {
    height: clamp(2px, 0.16vw, 4px) !important;
    background: rgba(196, 150, 60, 0.96) !important;
}

@media (max-width: 56.1875em) {
    .about-oaken .about-oaken__media-line {
        height: clamp(1.5px, 0.44cqw, 2.5px) !important;
    }
}

/* =========================================================
   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: 56.1875em 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: 56.25em) {
    .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%;
    }
}

/* =========================================================
   Practice explorer — desktop short-height fallback
   ─────────────────────────────────────────────────────────
   On desktop widths the explorer fills the viewport height
   and centers its content beneath the sticky navbar (see
   the `min-height: 100svh` + `justify-content: safe center`
   rules in the desktop block earlier). When the viewport is
   too short for centering to look right — content would be
   cut off or the navbar/footer would be too close — these
   rules disable the fill+center model and revert to a top-
   anchored layout with minimum top and bottom padding so
   the intro stays readable. Tablet and phone widths are
   not affected because they never enter the fill+center
   model in the first place. Placed at end of file so they
   override the desktop rule in source order.
   ========================================================= */
@media (min-width: 56.25em) and (max-height: 760px) {
    .practice-explorer {
        min-height: 0;
        justify-content: flex-start;
        padding-top: calc(clamp(56px, 6svh, 96px) + var(--sticky-bar-overlap-height));
        padding-bottom: clamp(48px, 5svh, 80px);
    }
}

@media (min-width: 56.25em) and (max-height: 600px) {
    .practice-explorer {
        padding-top: calc(48px + var(--sticky-bar-overlap-height));
        padding-bottom: 44px;
    }
}

@media (min-width: 56.25em) and (max-height: 480px) {
    .practice-explorer {
        padding-top: calc(40px + var(--sticky-bar-overlap-height));
        padding-bottom: 36px;
    }
}

/* =========================================================
   About portrait frame draw
   Restores the gold outline drawing without re-enabling the
   removed text/photo reveal motion.
   ========================================================= */
.about-oaken.is-frame-draw-ready .about-oaken__media-frame {
    opacity: 0;
    transition: opacity 24ms linear 260ms;
}

.about-oaken.is-frame-draw-ready .about-oaken__media-frame::before,
.about-oaken.is-frame-draw-ready .about-oaken__media-frame::after {
    width: 0;
    height: 0;
}

.about-oaken.is-frame-draw-ready:not(.is-frame-reduced-motion) .about-oaken__media-frame::before {
    transition:
            width 620ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 260ms,
            height 620ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 880ms;
}

.about-oaken.is-frame-draw-ready:not(.is-frame-reduced-motion) .about-oaken__media-frame::after {
    transition:
            height 620ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 260ms,
            width 620ms cubic-bezier(0.25, 0.46, 0.45, 0.94) 880ms;
}

.about-oaken.is-frame-draw-ready.is-frame-drawn .about-oaken__media-frame,
.about-oaken.is-frame-reduced-motion .about-oaken__media-frame {
    opacity: 1;
}

.about-oaken.is-frame-draw-ready.is-frame-drawn .about-oaken__media-frame::before,
.about-oaken.is-frame-draw-ready.is-frame-drawn .about-oaken__media-frame::after,
.about-oaken.is-frame-reduced-motion .about-oaken__media-frame::before,
.about-oaken.is-frame-reduced-motion .about-oaken__media-frame::after {
    width: 100%;
    height: 100%;
}

.about-oaken.is-frame-reduced-motion .about-oaken__media-frame,
.about-oaken.is-frame-reduced-motion .about-oaken__media-frame::before,
.about-oaken.is-frame-reduced-motion .about-oaken__media-frame::after {
    transition: none;
}

/* =========================================================
   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: 56.1875em) {
    .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: 30em) {
    .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: 56.1875em) {
    .site-footer .footer-column--c2 {
        grid-column: 1;
        grid-row: 6;
        width: 100%;
        max-width: none;
        justify-self: stretch;
    }
}

@media (min-width: 47.5em) and (max-width: 56.1875em) {
    .site-footer .footer-column--c2 {
        grid-column: 2;
        grid-row: 2 / 6;
    }
}

@media (max-width: 56.1875em) {
    .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: 47.5em) and (max-width: 56.1875em) {
    .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;
    }
}
