/* Shared native block composition, also loaded by the WordPress editor. */
/* Classic themes receive this extra presentational Group wrapper from core.
   Let the same native child blocks participate in our grid/flex layouts. */
.wp-block-group[class*="atr-"] > .wp-block-group__inner-container {
    display:contents
}
.entry-content>:first-child {
    margin-top:0
}
.entry-content>:last-child {
    margin-bottom:0
}
.entry-content>p,.entry-content>ul,.entry-content>ol {
    max-width:780px
}
.entry-content h2 {
    scroll-margin-top:135px
}
.entry-content .lead {
    font-size:1.22rem;
    line-height:1.7;
    color:#4e5455
}
.entry-content .eyebrow {
    font-size:.76rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#78612b;
    font-weight:600
}
.atr-section {
    padding:clamp(52px,6vw,88px) 0;
    margin:0!important
}
.atr-section--sand {
    background:#f6f4ef
}
.atr-section--dark {
    background:#242929;
    color:#fff
}
.atr-section--dark .eyebrow {
    color:#dfc685
}
.atr-section--dark p {
    color:#e0e4e0
}
.atr-section--dark a:not(.wp-block-button__link) {
    color:#e8d18f
}
.atr-wrap {
    width:min(1320px,calc(100% - 80px));
    margin-inline:auto!important
}
.atr-heading-row {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:28px;
    margin-bottom:36px
}
.atr-heading-row h2 {
    max-width:650px;
    margin-bottom:0
}
.atr-heading-row p {
    max-width:430px;
    margin:0;
    color:#555c5c
}
.atr-split {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:clamp(32px,5vw,80px);
    align-items:center;
    margin:0!important
}
.atr-split>*,.atr-split>.wp-block-group__inner-container>* {
    min-width:0
}
.atr-split p:last-child {
    margin-bottom:0
}
.atr-split h2 {
    max-width:600px
}
.atr-image {
    margin:0!important;
    position:relative
}
.atr-image img {
    width:100%;
    height:auto;
    aspect-ratio:4/3;
    object-fit:cover
}
.atr-image figcaption {
    margin-top:9px;
    font-size:.76rem;
    line-height:1.45;
    color:#626969;
    text-align:left
}
.atr-section--dark figcaption {
    color:#c0c6c2
}
.atr-split--reverse .atr-image {
    order:2
}
.atr-section .wp-block-buttons {
    margin-top:26px
}
.atr-service-links {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 40px;
    margin:0
}
.atr-service-links .wp-block-group {
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px 18px;
    border-top:1px solid #cacbc4;
    padding:22px 0;
    margin:0
}
.atr-service-links h3 {
    font-size:1.35rem;
    margin:0;
    grid-column:1/-1
}
.atr-service-links h3 a {
    color:#252b29;
    text-decoration:none
}
.atr-service-links h3 a:hover {
    text-decoration:underline;
    text-decoration-color:#b89a50
}
.atr-service-links p {
    font-size:1rem;
    margin:0;
    color:#59615e;
    grid-column:1/-1
}
.atr-service-links h3 a::after {
    content:'↗';
    display:inline-block;
    margin-left:12px;
    font-weight:400;
    color:#78612b
}
.atr-steps {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:38px;
    margin-top:38px
}
.atr-steps .atr-step {
    border-top:1px solid #b7a879;
    padding-top:24px
}
.atr-step-number {
    font-size:.85rem;
    letter-spacing:.1em;
    color:#78612b;
    font-weight:600;
    margin-bottom:18px
}
.atr-steps h3 {
    font-size:1.45rem
}
.atr-steps p {
    font-size:1.02rem
}
.atr-proof {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:32px;
    margin-top:32px
}
.atr-proof .wp-block-group {
    padding-left:24px;
    border-left:2px solid #b89a50
}
.atr-proof h3 {
    font-size:1.25rem
}
.atr-proof p {
    font-size:.97rem;
    margin-bottom:0
}
.atr-faq {
    max-width:920px;
    margin-inline:auto!important
}
.atr-faq h2 {
    margin-bottom:30px
}
.atr-faq details {
    border-top:1px solid #d5d6ce;
    padding:0;
    margin:0
}
.atr-faq details:last-child {
    border-bottom:1px solid #d5d6ce
}
.atr-faq summary {
    padding:22px 35px 22px 0;
    font-size:1.14rem;
    line-height:1.4;
    font-weight:600;
    cursor:pointer;
    position:relative;
    list-style:none
}
.atr-faq summary::-webkit-details-marker {
    display:none
}
.atr-faq summary::after {
    content:'+';
    position:absolute;
    right:3px;
    top:18px;
    font-size:1.65rem;
    color:#78612b;
    font-weight:400
}
.atr-faq details[open] summary::after {
    content:'−'
}
.atr-faq details>p {
    padding-right:30px;
    max-width:800px;
    font-size:1.02rem
}
.atr-closing .atr-wrap {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px
}
.atr-closing h2 {
    font-size:clamp(2rem,3vw,3rem);
    margin-bottom:12px;
    max-width:760px
}
.atr-closing p {
    margin-bottom:0;
    max-width:700px
}
.atr-closing .wp-block-buttons {
    flex:0 0 auto;
    margin:0
}
.atr-service-section {
    padding:50px 0;
    border-bottom:1px solid #e2e3dc
}
.atr-service-section:first-child {
    padding-top:0
}
.atr-service-section:last-child {
    border-bottom:0
}
.atr-service-section h2 {
    font-size:clamp(1.75rem,2.25vw,2.3rem);
    max-width:750px
}
.atr-service-section p {
    max-width:820px
}
.atr-service-section ul {
    max-width:820px;
    padding-left:22px
}
.atr-service-section li {
    padding-left:5px;
    margin:9px 0
}
.atr-service-section .atr-split {
    align-items:start;
    gap:50px
}
.atr-service-section .atr-split h2 {
    font-size:clamp(1.7rem,2.2vw,2.25rem)
}
.atr-service-section .atr-split p {
    font-size:1.03rem
}
.atr-note {
    padding:24px 28px;
    background:#f6f4ef;
    border-left:3px solid #b89a50;
    margin:28px 0
}
.atr-note p {
    margin:0
}
.atr-related {
    background:#f6f4ef;
    padding:32px;
    margin-top:48px
}
.atr-related h2 {
    font-size:1.65rem
}
.atr-related .wp-block-buttons {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:22px
}
.atr-related .wp-block-button__link {
    background:#fff;
    border-color:#cac6ba;
    font-size:.89rem
}
.atr-related .wp-block-button__link:hover {
    background:#e8e1cc
}
.atr-contact-grid {
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:70px
}
.atr-call-panel {
    background:#252b29;
    color:#fff;
    padding:40px
}
.atr-call-panel a {
    color:#e5cc89;
    font-size:clamp(1.7rem,2.5vw,2.5rem);
    text-decoration:none;
    font-weight:600
}
.atr-call-panel .wp-block-button__link {
    color:#20221f
}
.atr-call-panel p {
    color:#e1e4df
}
.atr-mini-directory {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:28px
}
.atr-directory-card {
    border:1px solid #dfdfd6;
    padding:28px
}
.atr-directory-card h2 {
    font-size:1.45rem
}
.atr-directory-card p {
    font-size:1rem
}
.atr-directory-card .wp-block-button__link {
    padding:0;
    border:0;
    background:none;
    color:#705721;
    text-decoration:underline;
    text-underline-offset:5px
}
.atr-body-copy {
    max-width:860px
}
.atr-body-copy h2 {
    font-size:1.75rem;
    margin-top:35px
}
.wp-block-buttons {
    gap:12px
}
.wp-block-button__link {
    box-shadow:none
}
figure.wp-block-image {
    margin-bottom:24px
}
.entry-content .wp-block-image img {
    height:auto
}
.homepage-content {
    padding:0
}
.homepage-content .entry-content {
    max-width:none
}
@media(max-width:1000px) {
    .atr-wrap {
        width:calc(100% - 64px)
    }
    .atr-split {
        gap:32px
    }
    .atr-steps {
        gap:25px
    }
    .atr-heading-row {
        display:block
    }
    .atr-heading-row p {
        margin-top:18px;
        max-width:650px
    }
    .atr-contact-grid {
        gap:32px
    }
    .atr-mini-directory {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .atr-closing .atr-wrap {
        display:block
    }
    .atr-closing .wp-block-buttons {
        margin-top:25px
    }
}
@media(max-width:767px) {
    .atr-wrap {
        width:calc(100% - 40px)
    }
    .atr-section {
        padding-block:46px
    }
    .atr-split,.atr-contact-grid {
        grid-template-columns:1fr;
        gap:28px
    }
    .atr-split--reverse .atr-image {
        order:0
    }
    .atr-split .atr-image {
        max-width:100%
    }
    .atr-split h2 {
        font-size:2rem
    }
    .atr-steps,.atr-proof {
        grid-template-columns:1fr;
        gap:24px
    }
    .atr-steps {
        margin-top:26px
    }
    .atr-step-number {
        margin-bottom:10px
    }
    .atr-proof .wp-block-group {
        padding-left:20px
    }
    .atr-service-links {
        gap:0 24px
    }
    .atr-service-section {
        padding-block:35px
    }
    .atr-service-section .atr-split {
        gap:22px
    }
    .atr-service-section .atr-split .atr-image {
        order:2
    }
    .atr-service-section .atr-split p {
        font-size:1rem
    }
    .atr-faq summary {
        font-size:1.03rem;
        padding-block:20px
    }
    .atr-faq details>p {
        font-size:.98rem
    }
    .atr-related {
        padding:25px;
        margin-top:34px
    }
    .atr-contact-grid {
        gap:30px
    }
    .atr-call-panel {
        padding:28px
    }
    .atr-mini-directory {
        gap:18px
    }
    .atr-directory-card {
        padding:22px
    }
}
@media(max-width:479px) {
    .atr-service-links,.atr-mini-directory {
        grid-template-columns:1fr
    }
    .atr-service-links .wp-block-group {
        padding-block:20px
    }
    .atr-image img {
        aspect-ratio:4/3
    }
    .atr-service-links h3 {
        font-size:1.25rem
    }
    .atr-related .wp-block-buttons {
        display:grid
    }
    .atr-related .wp-block-button__link {
        width:100%
    }
    .atr-section h2 {
        font-size:1.9rem
    }
}
