/* ATR 0.5 — screenshot-led panoramic layout; native WordPress navigation. */
:root {
    --charcoal:#272727;
    --charcoal-deep:#191b1c;
    --ink:#252728;
    --muted:#5a5e60;
    --gold:#b89a50;
    --gold-bright:#d1b876;
    --gold-deep:#78612b;
    --on-gold:#20221f;
    --white:#fff;
    --sand:#f6f4ef;
    --line:rgba(255,255,255,.15);
    --font-head:"Barlow","Helvetica Neue",Arial,sans-serif;
    --font-body:"Barlow","Segoe UI",Arial,sans-serif;
    --header-h:112px;
    --header-h-mobile:80px;
    --transition:180ms ease
}
*,*::before,*::after {
    box-sizing:border-box
}
html {
    -webkit-text-size-adjust:100%;
    scroll-padding-top:135px
}
[hidden] {
    display:none!important
}
body {
    margin:0;
    font-family:var(--font-body);
    font-size:18px;
    line-height:1.65;
    color:var(--ink);
    background:#fff
}
img {
    display:block;
    max-width:100%;
    height:auto
}
a {
    color:var(--gold-deep);
    text-underline-offset:4px
}
a:hover {
    color:var(--ink)
}
button,input,select,textarea {
    font:inherit
}
h1,h2,h3,h4 {
    font-family:var(--font-head);
    font-weight:700;
    line-height:1.12;
    margin:0 0 .65em;
    letter-spacing:-.02em
}
h1 {
    font-size:clamp(2.35rem,4.3vw,4rem)
}
h2 {
    font-size:clamp(1.9rem,2.7vw,2.8rem)
}
h3 {
    font-size:clamp(1.25rem,1.5vw,1.55rem)
}
p {
    margin:0 0 1.15em
}
svg {
    max-width:100%
}
.site {
    width:100%;
    background:#fff
}
.section-inner {
    width:min(1320px,calc(100% - 80px));
    margin-inline:auto
}
.screen-reader-text {
    position:absolute!important;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
    border:0
}
.skip-link:focus {
    position:fixed!important;
    top:8px;
    left:8px;
    width:auto;
    height:auto;
    clip:auto;
    clip-path:none;
    z-index:300;
    background:#fff;
    color:#202020;
    padding:14px 22px
}
:focus-visible {
    outline:3px solid #9b772f;
    outline-offset:4px
}
.site-header :focus-visible,.site-footer :focus-visible,.hero :focus-visible {
    outline-color:#f0d89d
}
.section-title {
    text-align:center;
    font-size:clamp(1.55rem,2.25vw,2.1rem);
    text-transform:uppercase;
    letter-spacing:.01em
}
.eyebrow {
    font-size:.78rem;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.18em;
    color:var(--gold-deep);
    margin:0 0 16px
}
/* Actions use dark text on gold for legible contrast. */
.btn,.wp-block-button__link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid transparent;
    padding:13px 24px;
    border-radius:2px;
    font-weight:600;
    font-size:.93rem;
    line-height:1.35;
    text-decoration:none;
    transition:background var(--transition),color var(--transition);
    cursor:pointer
}
.btn--gold,.wp-block-button__link {
    background:var(--gold-bright);
    color:#20221f;
    border-color:var(--gold)
}
.btn--gold:hover,.wp-block-button__link:hover {
    background:#e0c68b;
    color:#161715
}
.btn--lg {
    padding:16px 29px;
    font-size:1rem
}
.btn--block {
    width:100%
}
.btn--ghost {
    color:#fff;
    border-color:rgba(255,255,255,.65);
    background:transparent
}
.btn--ghost:hover {
    background:#fff;
    color:#232323
}
.atr-phone {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:inherit;
    text-decoration:none;
    white-space:nowrap;
    font-weight:600
}
.atr-phone__icon {
    display:inline-flex;
    width:18px;
    height:18px;
    flex-shrink:0
}
.atr-phone__icon svg {
    width:100%;
    height:100%
}
.atr-phone:hover {
    color:var(--gold-bright)
}
/* A prominent white brand panel, gold diagonal and centered charcoal navigation. */
.site-header {
    position:sticky;
    top:0;
    z-index:100;
    background:var(--charcoal);
    box-shadow:0 2px 12px #0002
}
.site-header.is-scrolled {
    box-shadow:0 5px 20px #0003
}
.site-header__inner {
    display:flex;
    align-items:stretch;
    min-height:var(--header-h);
    max-width:1800px;
    margin-inline:auto
}
.site-branding {
    position:relative;
    flex:0 0 260px;
    background:var(--gold);
    clip-path:polygon(0 0,100% 0,calc(100% - 42px) 100%,0 100%);
    display:flex;
    align-items:stretch
}
.site-branding__link {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    width:100%;
    background:#fff;
    clip-path:polygon(0 0,calc(100% - 8px) 0,calc(100% - 50px) 100%,0 100%);
    padding:12px 52px 13px 24px;
    text-decoration:none
}
.site-branding__link img {
    max-height:82px;
    max-width:190px;
    width:auto
}
.site-branding__link .custom-logo-link {
    display:block
}
.site-branding__mark {
    display:inline-flex;
    align-items:flex-end;
    gap:5px;
    width:46px;
    height:30px;
    flex-shrink:0
}
.site-branding__bar {
    display:block;
    width:8px;
    background:var(--ink);
    transform:skewX(-20deg)
}
.site-branding__bar--1 {
    height:55%
}
.site-branding__bar--2 {
    height:75%
}
.site-branding__bar--3 {
    height:95%
}
.site-branding__bar--gold {
    height:100%;
    background:var(--gold);
    width:6px
}
.site-branding__wordmark {
    display:flex;
    flex-direction:column;
    line-height:1.08;
    text-align:center
}
.site-branding__name {
    font-size:1.19rem;
    font-weight:700;
    text-transform:uppercase;
    white-space:nowrap;
    color:#17191a
}
.site-branding__tag {
    font-size:.56rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#333;
    white-space:nowrap
}
.site-header__right {
    display:flex;
    flex-direction:column;
    justify-content:center;
    flex:1;
    min-width:0;
    padding:7px 28px 10px 14px;
    gap:7px
}
.site-header__utility {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px
}
.site-header__call-label {
    font-size:.69rem;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#d9d7cf
}
.site-header__utility .atr-phone {
    font-size:1rem;
    color:var(--gold-bright);
    font-weight:600
}
.site-header__utility .atr-phone:hover {
    color:#fff
}
.site-header__bar {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    min-width:0
}
.primary-nav {
    margin-inline:auto
}
.site-header__cta {
    padding:12px 17px;
    font-size:.82rem;
    white-space:nowrap
}
.site-header__mobile-actions {
    display:none;
    align-items:center;
    gap:5px;
    margin-left:auto;
    padding-right:12px;
    color:#fff
}
/* ---------- Primary nav (desktop) ---------- */
.primary-nav  {
    min-width: 0;
}
.primary-nav ul  {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}
.primary-nav .menu-item  {
    position: relative;
}
.primary-nav .menu-item > a  {
    display: block;
    padding: 10px clamp(5px, 0.55vw, 9px);
    color: var(--white);
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 0.84rem;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--transition);
}
.primary-nav .menu-item > a:hover  {
    color: var(--gold-bright);
}
/* parent indicator */
.primary-nav .menu-item-has-children > a::after  {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 6px;
    border-right: 2px solid var(--gold-bright);
    border-bottom: 2px solid var(--gold-bright);
    transform: rotate(45deg) translateY(-2px);
    transition: transform var(--transition);
}
.primary-nav:not(.is-enhanced) .menu-item-has-children:hover > a::after, .primary-nav .menu-item-has-children.is-open > a::after, .primary-nav:not(.is-enhanced) .menu-item-has-children:focus-within > a::after  {
    transform: rotate(225deg) translateY(-2px);
}
/* dropdown */
.primary-nav .sub-menu  {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 230px;
    background: var(--charcoal-deep);
    border-top: 3px solid var(--gold);
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.45);
    flex-direction: column;
    align-items: stretch;
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    /* Visibility changes immediately so keyboard focus can enter on this event. */
    transition: opacity var(--transition), transform var(--transition);
    z-index: 60;
}
.primary-nav:not(.is-enhanced) .menu-item-has-children:hover > .sub-menu, .primary-nav:not(.is-enhanced) .menu-item-has-children:focus-within > .sub-menu, .primary-nav .menu-item-has-children.is-open > .sub-menu  {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.primary-nav .sub-menu .menu-item > a  {
    padding: 11px 18px;
    font-size: 0.84rem;
    white-space: normal;
}
.primary-nav .sub-menu .menu-item > a:hover  {
    background: rgba(184, 154, 80, 0.14);
    color: var(--gold-bright);
}
/* submenu toggle button is injected by JS for touch/keyboard; hidden on desktop */
.submenu-toggle  {
    display: none;
}
.site-header__cta  {
    white-space: nowrap;
    flex: 0 0 auto;
}
/* ---------- Mobile header controls ---------- */
.site-header__mobile-actions  {
    display: none;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    padding-right: 8px;
}
.nav-toggle  {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    background: transparent;
    border: 0;
    color: var(--white);
    cursor: pointer;
}
.nav-toggle:hover  {
    color: var(--gold-bright);
}
.nav-toggle__icon  {
    width: 26px;
    height: 26px;
    display: inline-flex;
}
.nav-toggle__icon svg  {
    width: 100%;
    height: 100%;
}
.nav-toggle__icon--close  {
    display: none;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon--open  {
    display: none;
}
.nav-toggle[aria-expanded="true"] .nav-toggle__icon--close  {
    display: inline-flex;
}
/* ---------- Mobile nav panel ---------- */
.mobile-nav  {
    position: fixed;
    top: var(--header-h-mobile);
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    background: var(--charcoal-deep);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    border-top: 3px solid var(--gold);
    animation: atr-nav-in 200ms ease-out;
}
@keyframes atr-nav-in  {
    from  {
        opacity: 0;
        transform: translateY(-10px);
    }
    to  {
        opacity: 1;
        transform: translateY(0);
    }
}
.mobile-nav__inner  {
    padding: 14px 20px 40px;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}
.mobile-nav ul  {
    list-style: none;
    margin: 0;
    padding: 0;
}
.mobile-nav .menu-item  {
    border-bottom: 1px solid var(--line);
}
.mobile-nav .menu-item > a, .mobile-nav .menu-item-row > a  {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    padding: 15px 6px;
    color: var(--white);
    font-family: var(--font-head);
    font-weight: 600;
    font-size: 1.12rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    text-decoration: none;
}
.mobile-nav .menu-item > a:hover, .mobile-nav .menu-item-row > a:hover  {
    color: var(--gold-bright);
}
/* row with link + submenu toggle */
.mobile-nav .menu-item-has-children > .menu-item-row  {
    display: flex;
    align-items: center;
}
.mobile-nav .submenu-toggle  {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-left: auto;
    background: transparent;
    border: 0;
    color: var(--gold-bright);
    cursor: pointer;
}
.mobile-nav .submenu-toggle svg  {
    width: 20px;
    height: 20px;
    transition: transform var(--transition);
}
.mobile-nav .submenu-toggle[aria-expanded="true"] svg  {
    transform: rotate(180deg);
}
.mobile-nav .sub-menu  {
    visibility: hidden;
    overflow: hidden;
    max-height: 0;
    transition: max-height 240ms ease-in-out;
    background: rgba(255, 255, 255, 0.03);
}
.mobile-nav .menu-item-has-children.is-open > .sub-menu  {
    visibility: visible;
    max-height: 500px;
}
.mobile-nav .sub-menu .menu-item  {
    border-bottom: 0;
}
.mobile-nav .sub-menu .menu-item > a  {
    padding: 12px 6px 12px 24px;
    font-size: 0.98rem;
    color: rgba(255, 255, 255, 0.85);
}
.mobile-nav__actions  {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.mobile-nav__phone  {
    justify-content: center;
    font-size: 1.15rem;
}
body.nav-open  {
    overflow: hidden;
}
/* Restored panoramic composition. The desktop crop preserves all three buildings. */
.hero {
    position:relative;
    width:100%;
    display:grid;
    place-items:center;
    isolation:isolate;
    aspect-ratio:3/1;
    min-height:410px;
    max-height:850px;
    background:var(--charcoal-deep)
}
.hero__media {
    position:absolute;
    inset:0;
    z-index:-1;
    overflow:hidden
}
.hero__img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center
}
.hero__overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#0001,rgba(0,0,0,.45) 34%,rgba(0,0,0,.45) 65%,#0001),linear-gradient(0deg,#0002,#0002)
}
.hero__inner {
    position:relative;
    text-align:center;
    padding-block:42px
}
.hero__content {
    max-width:980px;
    margin:auto
}
.hero__title {
    font-size:clamp(2rem,3.05vw,3.6rem);
    line-height:1.08;
    letter-spacing:.008em;
    text-transform:uppercase;
    color:#fff;
    text-shadow:0 2px 5px #000b;
    margin:0 0 18px
}
.hero__line {
    display:block
}
.hero__kicker {
    font-size:clamp(.88rem,1.3vw,1.15rem);
    color:#fff;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin:0 0 24px;
    text-shadow:0 1px 3px #000
}
.hero__actions {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
    flex-wrap:wrap
}
.hero__call {
    font-size:.97rem;
    color:#fff;
    padding:14px 12px;
    background:transparent;
    border:0
}
.hero__call:hover {
    background:transparent;
    color:var(--gold-bright)
}
/* Four editorial illustrations, no photo-card substitution. */
.services {
    background:#fff;
    padding:58px 0 64px;
    border-bottom:1px solid #e9e6df
}
.services__grid {
    list-style:none;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:36px;
    margin:36px 0 0;
    padding:0
}
.service-card {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center
}
.service-card__media {
    width:190px;
    max-width:100%;
    margin:0 auto 13px
}
.service-card__img {
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:contain
}
.service-card__body {
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:center
}
.service-card__title {
    font-size:1.05rem;
    text-transform:uppercase;
    letter-spacing:.025em;
    margin-bottom:10px
}
.service-card__text {
    color:var(--muted);
    font-size:1rem;
    line-height:1.5;
    max-width:240px;
    margin-bottom:18px
}
.service-card__link {
    display:inline-flex;
    gap:8px;
    align-items:center;
    margin-top:auto;
    font-size:.82rem;
    font-weight:700;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--ink);
    text-decoration:none;
    border-bottom:1px solid var(--gold);
    padding-bottom:4px
}
.service-card__link svg {
    width:16px;
    height:16px
}
.service-card__link:hover {
    color:var(--gold-deep)
}
/* Every interior page has a native title/excerpt and an optional Featured Image. */
.page-hero {
    position:relative;
    isolation:isolate;
    background:var(--charcoal);
    color:#fff;
    padding:64px 0 68px;
    overflow:hidden
}
.page-hero--image {
    min-height:420px;
    display:flex;
    align-items:center;
    padding:65px 0
}
.page-hero__media,.page-hero__scrim {
    position:absolute;
    inset:0;
    z-index:-1
}
.page-hero__img {
    height:100%;
    width:100%;
    object-fit:cover;
    object-position:50% 48%
}
.page-hero__scrim {
    background:linear-gradient(90deg,rgba(16,20,20,.9),rgba(16,20,20,.73) 44%,rgba(16,20,20,.08))
}
.page-hero__inner {
    position:relative
}
.page-hero .eyebrow {
    color:#e1c888;
    font-size:.74rem
}
.page-hero__title {
    max-width:920px;
    margin-bottom:18px;
    line-height:1.02
}
.page-hero__intro {
    font-size:clamp(1.05rem,1.5vw,1.18rem);
    line-height:1.65;
    max-width:710px;
    color:#f1f1ec;
    margin:0
}
.content-area {
    padding-block:64px 80px
}
.quote-form__notice {
    margin:24px auto;
    padding:20px;
    max-width:900px;
    background:#fff2d2;
    color:#282821;
    border-left:4px solid var(--gold)
}
/* Footer supports native footer + dedicated service menus. */
.site-footer {
    background:#202324;
    color:#d8dbd9;
    padding-top:62px
}
.site-footer__inner {
    width:min(1320px,calc(100% - 80px));
    margin:auto;
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr 1.2fr;
    gap:45px;
    padding-bottom:48px
}
.site-footer__name {
    font-size:1.38rem;
    font-weight:700;
    line-height:1.2;
    color:#fff;
    max-width:270px;
    margin-bottom:14px
}
.site-footer__tag {
    font-size:.96rem;
    max-width:280px;
    color:#c3c7c4
}
.site-footer__heading {
    font-size:.75rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    color:var(--gold-bright);
    margin-bottom:18px
}
.site-footer nav ul {
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    gap:8px
}
.site-footer nav a {
    color:#d8dbd9;
    font-size:.94rem;
    text-decoration:none
}
.site-footer nav a:hover {
    color:#fff;
    text-decoration:underline
}
.site-footer__contact {
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:20px
}
.site-footer__phone {
    font-size:1.3rem;
    color:#fff
}
.site-footer__bottom {
    border-top:1px solid #ffffff20;
    width:min(1320px,calc(100% - 80px));
    margin:auto;
    padding:22px 0;
    display:flex;
    justify-content:space-between;
    gap:20px;
    font-size:.8rem;
    color:#c3c7c4
}
.site-footer__bottom p {
    margin:0
}
.site-footer__bottom a {
    color:inherit
}
@media(min-width:1800px) {
    .site-header:before {
        content:"";
        position:absolute;
        inset:0 auto 0 0;
        width:calc((100% - 1800px)/2 + 2px);
        background:#fff
    }
    .site-header__bar {
        gap:30px
    }
    .primary-nav .menu-item>a {
        font-size:.91rem;
        padding-inline:13px
    }
}
@media(max-width:1350px) and (min-width:1200px) {
    .site-branding {
        flex-basis:220px
    }
    .site-branding__name {
        font-size:1.05rem
    }
    .site-header__right {
        padding-inline:7px 16px
    }
    .site-header__bar {
        gap:8px
    }
    .site-header__cta {
        font-size:.75rem;
        padding-inline:11px
    }
    .primary-nav .menu-item>a {
        font-size:.77rem;
        padding-inline:5px
    }
}
@media(max-width:1199px) {
    .site-header__inner {
        min-height:var(--header-h-mobile)
    }
    .site-branding {
        flex-basis:246px
    }
    .site-branding__link {
        flex-direction:row;
        gap:10px;
        padding:12px 46px 12px 20px
    }
    .site-branding__mark {
        width:33px;
        height:29px;
        gap:3px
    }
    .site-branding__bar {
        width:6px
    }
    .site-branding__wordmark {
        text-align:left
    }
    .site-branding__name {
        font-size:.94rem
    }
    .site-branding__tag {
        font-size:.46rem;
        letter-spacing:.1em
    }
    .site-header__right {
        display:none
    }
    .site-header__mobile-actions {
        display:flex
    }
    .site-header__phone--mobile {
        color:#fff;
        font-size:1rem;
        margin-right:13px
    }
    .site-branding__link img {
        max-height:57px;
        max-width:155px
    }
    .site-header__mobile-actions {
        padding-right:18px
    }
    .site-footer__inner {
        grid-template-columns:1.4fr 1fr 1fr
    }
    .site-footer__contact {
        grid-column:1/-1;
        flex-direction:row;
        align-items:center;
        justify-content:space-between
    }
    .services__grid {
        gap:22px
    }
    .section-inner {
        width:calc(100% - 64px)
    }
}
@media(max-width:899px) {
    .hero {
        display:block;
        aspect-ratio:auto;
        max-height:none;
        min-height:0
    }
    .hero__media {
        position:relative;
        z-index:0;
        width:100%;
        aspect-ratio:3/1;
        min-height:215px
    }
    .hero__img {
        object-position:48% center
    }
    .hero__overlay {
        background:linear-gradient(0deg,#0003,transparent 50%)
    }
    .hero__inner {
        padding:34px 0 40px
    }
    .hero__title {
        font-size:clamp(1.9rem,4.5vw,2.65rem);
        line-height:1.12;
        margin-bottom:18px
    }
    .hero__kicker {
        font-size:.85rem
    }
    .hero__call {
        font-size:.95rem
    }
    .services {
        padding-block:46px
    }
    .services__grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:40px 24px
    }
    .service-card__media {
        width:168px
    }
    .service-card__text {
        max-width:260px
    }
    .page-hero--image {
        min-height:380px
    }
    .page-hero__scrim {
        background:rgba(20,25,24,.72)
    }
    .page-hero__intro {
        max-width:640px
    }
    .page-hero__title {
        font-size:clamp(2.3rem,6vw,3.2rem)
    }
    .site-footer__inner {
        grid-template-columns:1fr 1fr;
        gap:32px
    }
    .site-footer__brand {
        grid-column:1/-1
    }
    .site-footer__name,.site-footer__tag {
        max-width:550px
    }
    .site-footer__bottom {
        flex-direction:column;
        gap:9px
    }
}
@media(max-width:599px) {
    body {
        font-size:17px
    }
    .section-inner {
        width:calc(100% - 40px)
    }
    .site-branding {
        flex-basis:204px;
        clip-path:polygon(0 0,100% 0,calc(100% - 25px) 100%,0 100%)
    }
    .site-branding__link {
        padding:10px 28px 10px 12px;
        clip-path:polygon(0 0,calc(100% - 6px) 0,calc(100% - 31px) 100%,0 100%);
        gap:7px
    }
    .site-branding__name {
        font-size:.84rem
    }
    .site-branding__tag {
        font-size:.42rem
    }
    .site-branding__mark {
        width:27px;
        height:27px
    }
    .site-branding__bar {
        width:5px
    }
    .site-header__mobile-actions {
        gap:0;
        padding-right:4px
    }
    .site-header__phone--mobile {
        font-size:.81rem;
        margin-right:0;
        gap:4px
    }
    .site-header__phone--mobile .atr-phone__icon {
        display:none
    }
    .nav-toggle {
        width:43px;
        height:48px
    }
    .site-branding__link img {
        max-width:136px
    }
    .hero__media {
        min-height:210px
    }
    .hero__inner {
        width:calc(100% - 34px);
        padding:31px 0 33px
    }
    .hero__title {
        font-size:1.88rem;
        letter-spacing:-.015em
    }
    .hero__line {
        display:block
    }
    .hero__kicker {
        font-size:.78rem;
        letter-spacing:.07em
    }
    .hero__actions {
        gap:8px
    }
    .hero__actions .btn--gold {
        width:100%;
        max-width:300px
    }
    .hero__call {
        padding:10px 12px
    }
    .services {
        padding-block:38px 42px
    }
    .section-title {
        font-size:1.4rem;
        max-width:320px;
        margin-inline:auto
    }
    .services__grid {
        gap:34px 16px;
        margin-top:28px
    }
    .service-card__media {
        width:140px
    }
    .service-card__title {
        font-size:.9rem;
        line-height:1.2
    }
    .service-card__text {
        font-size:.91rem;
        line-height:1.45
    }
    .service-card__link {
        font-size:.69rem;
        gap:5px
    }
    .page-hero {
        padding:42px 0
    }
    .page-hero--image {
        min-height:400px
    }
    .page-hero__title {
        font-size:2.45rem;
        overflow-wrap:break-word
    }
    .page-hero__intro {
        font-size:1.02rem;
        line-height:1.6
    }
    .page-hero .eyebrow {
        font-size:.66rem;
        letter-spacing:.11em
    }
    .content-area {
        padding-block:42px 55px
    }
    .site-footer {
        padding-top:42px
    }
    .site-footer__inner,.site-footer__bottom {
        width:calc(100% - 40px)
    }
    .site-footer__inner {
        gap:28px 18px
    }
    .site-footer__contact {
        flex-direction:column;
        align-items:flex-start;
        gap:15px
    }
    .mobile-nav__inner {
        padding-inline:20px
    }
    .mobile-nav .menu-item>a,.mobile-nav .menu-item-row>a {
        font-size:1rem
    }
}
@media(max-width:359px) {
    .site-branding {
        flex-basis:180px
    }
    .site-branding__name {
        font-size:.74rem
    }
    .site-branding__mark {
        width:24px
    }
    .site-header__phone--mobile {
        font-size:.74rem
    }
    .site-branding__link {
        padding-left:8px
    }
}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after {
        animation-duration:.01ms!important;
        transition-duration:.01ms!important;
        scroll-behavior:auto!important
    }
}
body.admin-bar .site-header {
    top:32px
}
body.admin-bar .mobile-nav {
    top:calc(var(--header-h-mobile) + 32px)
}
@media(max-width:782px) {
    body.admin-bar .site-header {
        top:46px
    }
    body.admin-bar .mobile-nav {
        top:calc(var(--header-h-mobile) + 46px)
    }
}
@media print {
    .site-header,.site-footer,.hero__media,.page-hero__media,.page-hero__scrim {
        display:none
    }
    .page-hero,.hero {
        background:#fff;
        color:#000
    }
    .page-hero *,.hero * {
        color:#000!important
    }
    a {
        color:#000
    }
    .hero {
        aspect-ratio:auto
    }
    .hero__inner {
        padding:20px
    }
}
