/* ============================================================
   The Agency - Agent of Trust
   Consolidated, simplified stylesheet
   Desktop-first, with mobile overrides at the bottom.
   ============================================================ */

/* -----------------------------------------------------------
   1. Variables
   ----------------------------------------------------------- */
:root {
    --agency-black: #0a0a0a;
    --agency-black-soft: #121212;
    --agency-white: #ffffff;
    --agency-silver: #B0B0B0;
    --agency-silver-dark: #2B2B2B;
    --agency-gold: #C9A227;
    --agency-text: #333333;
    --agency-max-width: 1200px;
    --agency-radius: 12px;
}

/* -----------------------------------------------------------
   2. Base reset helpers
   ----------------------------------------------------------- */
html, body {
    margin: 0;
    padding: 0;
}

body {
    color: var(--agency-text);
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

#body-content-wrapper {
    position: relative;
    width: 100%;
}

#header-spacer {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    overflow: hidden !important;
}

@media screen and (max-width: 799px) {
    #header-spacer {
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
    }
}

img {
    max-width: 100%;
    height: auto;
}

/* -----------------------------------------------------------
   3. Header
   ----------------------------------------------------------- */
#header-main-fixed,
#header,
.site-header,
#main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--agency-black);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

#header-content-wrapper,
#header-main-fixed #header-content-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
    max-width: var(--agency-max-width);
    margin: 0 auto;
    padding: 12px 24px;
    width: 100%;
    box-sizing: border-box;
}

#site-identity {
    display: none;
}

#header-logo,
#header-main-fixed #header-logo {
    order: 2;
    flex: 0 0 auto;
    margin-left: 20px;
    margin-right: 0;
    display: flex;
    align-items: center;
    float: none;
    text-align: right;
}

#header-logo img.custom-logo,
#header-logo .custom-logo,
#header-logo a.custom-logo-link img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 120px;
    border-radius: var(--agency-radius);
    display: block;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.12), 0 8px 24px rgba(0, 0, 0, 0.35);
}

#header-logo img.custom-logo:hover,
#header-logo .custom-logo:hover {
    transform: scale(1.05);
}

/* Desktop nav */
@media screen and (min-width: 800px) {
    #navmain,
    #header-main-fixed #navmain {
        order: 1;
        flex: 1 1 auto;
        float: none;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    #navmain ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 8px;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    #navmain ul li {
        position: relative;
    }

    #navmain a,
    #navmain ul li a,
    #navmain ul li a:link,
    #navmain ul li a:visited,
    #navmain ul li a:hover,
    #navmain ul li.current-menu-item a,
    #navmain ul li.current_page_item a {
        color: var(--agency-white);
        font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
        font-weight: 500;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        font-size: 16px;
        text-decoration: none;
        display: block;
        padding: 6px 8px;
        white-space: nowrap;
    }

    #navmain a:hover,
    #navmain ul li.current-menu-item a,
    #navmain ul li.current_page_item a,
    body.home #navmain > div > ul > li:first-child > a,
    body.home #navmain > ul > li:first-child > a {
        color: var(--agency-silver);
    }

    #navmain > div > ul > li.current-menu-item > a::after,
    #navmain > div > ul > li.current_page_item > a::after,
    body.home #navmain > div > ul > li:first-child > a::after,
    #navmain > ul > li.current-menu-item > a::after,
    #navmain > ul > li.current_page_item > a::after,
    body.home #navmain > ul > li:first-child > a::after {
        content: '';
        position: absolute;
        bottom: -4px;
        left: 0;
        width: 100%;
        height: 2px;
        background: linear-gradient(90deg, var(--agency-silver-dark), var(--agency-silver), var(--agency-white), var(--agency-silver), var(--agency-silver-dark));
    }

    #navmain ul ul,
    #navmain .sub-menu,
    #navmain .children {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        background: var(--agency-black);
        border: 1px solid rgba(255, 255, 255, 0.12);
        border-top: 2px solid var(--agency-silver);
        min-width: 260px;
        padding: 8px 0;
        margin: 0;
        list-style: none;
        z-index: 10000;
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
        text-align: left;
    }

    #navmain ul li:hover > ul,
    #navmain ul li:focus-within > ul,
    #navmain ul li.focus > ul {
        display: block;
    }

    #navmain ul ul li,
    #navmain .sub-menu li,
    #navmain .children li {
        display: block;
        width: 100%;
        float: none;
        margin: 0;
        padding: 0;
    }

    #navmain ul ul li a,
    #navmain .sub-menu li a,
    #navmain .children li a {
        display: block;
        width: 100%;
        padding: 12px 22px;
        color: var(--agency-white);
        border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    }

    #navmain ul li.menu-item-has-children > a::after,
    #navmain ul li.page_item_has_children > a::after {
        display: inline-block;
        content: '';
        width: 0;
        height: 0;
        margin-left: 6px;
        border-left: 4px solid transparent;
        border-right: 4px solid transparent;
        border-top: 4px solid var(--agency-white);
        vertical-align: middle;
    }

    #navmain .sub-menu-item-toggle,
    #navmain .menu-toggle,
    #navmain .nav-toggle {
        display: none;
    }
}

/* -----------------------------------------------------------
   4. Hero
   ----------------------------------------------------------- */
.hero-section {
    position: relative;
    text-align: center;
    padding: 80px 24px 60px;
    background-size: cover;
    background-position: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
}

.hero-section .hero-content,
.hero-section .container {
    max-width: var(--agency-max-width);
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.hero-section h1,
.hero-section .hero-title {
    color: var(--agency-white);
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    font-size: clamp(36px, 5vw, 64px);
    line-height: 1.1;
    margin: 0 0 20px;
}

.hero-section h2,
.hero-section .hero-subtitle {
    color: var(--agency-silver);
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    font-size: clamp(18px, 2vw, 28px);
    line-height: 1.3;
    margin: 0 0 24px;
}

.hero-section p {
    color: #e0e0e0;
    text-align: center;
    max-width: 700px;
    margin: 0 auto 30px;
}

.hero-btn-primary,
.hero-btn-secondary,
.hero-section .button,
.hero-section a.button {
    display: inline-block;
    padding: 16px 36px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    border-radius: 0;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.hero-btn-primary,
.hero-section .button,
.hero-section a.button {
    background: var(--agency-black);
    color: var(--agency-white);
    border: 2px solid var(--agency-black);
}

.hero-btn-secondary {
    background: transparent;
    color: var(--agency-white);
    border: 2px solid var(--agency-white);
}

.hero-btn-primary:hover,
.hero-btn-secondary:hover,
.hero-section .button:hover {
    transform: translateY(-2px);
}

/* -----------------------------------------------------------
   5. Content & layout
   ----------------------------------------------------------- */
.container,
.content-area,
.site-content,
.entry-content {
    max-width: var(--agency-max-width);
    margin: 0 auto;
    padding: 60px 24px;
    box-sizing: border-box;
}

.row,
.grid,
.columns {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.col1a, .col2a, .col2b, .col3a, .col3b, .col3c,
.col4a, .col4b, .col4c, .col4d {
    box-sizing: border-box;
}

.col3a, .col3b, .col3c {
    flex: 1 1 30%;
    min-width: 280px;
}

.card,
.service-card,
.help-card,
.feature-box,
.info-box {
    background: var(--agency-black-soft);
    color: var(--agency-white);
    padding: 24px;
    border-radius: var(--agency-radius);
}

.card h2,
.card h3,
.service-card h2,
.service-card h3,
.help-card h2,
.help-card h3,
.feature-box h2,
.feature-box h3,
.info-box h2,
.info-box h3,
.card p,
.service-card p,
.help-card p,
.feature-box p,
.info-box p {
    color: var(--agency-white) !important;
}

.section-communities {
    color: var(--agency-white);
}

.section-communities h2,
.section-communities h3,
.section-communities p {
    color: var(--agency-white) !important;
}

.section-services {
    color: var(--agency-text);
}

.section-services h2,
.section-services h3,
.section-services p {
    color: var(--agency-text) !important;
}

.section-services .service-card,
.section-services .help-card,
.section-services .card {
    color: var(--agency-white);
    border: 2px solid var(--agency-white);
}

.section-services .service-card h2,
.section-services .service-card h3,
.section-services .help-card h2,
.section-services .help-card h3,
.section-services .card h2,
.section-services .card h3 {
    color: var(--agency-gold) !important;
}

.section-services .service-card p,
.section-services .help-card p,
.section-services .card p {
    color: var(--agency-white) !important;
}

/* Homepage service grid (inline HTML block) */
.services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: var(--agency-max-width);
    margin: 0 auto;
    text-align: left;
}

.services-grid .service-card {
    background: var(--agency-black);
    color: var(--agency-white);
    border: 2px solid var(--agency-white);
    border-radius: var(--agency-radius);
    padding: 30px;
    box-sizing: border-box;
}

.services-grid .service-card h3 {
    color: var(--agency-gold) !important;
    margin-top: 0;
}

.services-grid .service-card p {
    color: var(--agency-white) !important;
    margin-bottom: 0;
}

/* Homepage communities grid (inline HTML block) */
.communities-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
}

.community-btn {
    display: inline-block;
    padding: 12px 24px;
    border: 1px solid var(--agency-gold);
    border-radius: var(--agency-radius);
    color: var(--agency-gold);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    transition: background 0.3s ease, color 0.3s ease;
}

.community-btn:hover {
    background: var(--agency-gold);
    color: var(--agency-black);
}

@media screen and (max-width: 799px) {
    .services-grid {
        grid-template-columns: 1fr;
    }
}



h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.widget-title {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
    margin: 0 0 16px;
}

a {
    color: var(--agency-gold);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: var(--agency-black);
}

button,
.wp-block-button__link,
.tnp-submit,
input[type="submit"],
.btn,
.button {
    background: var(--agency-gold);
    color: var(--agency-black);
    border: none;
    padding: 14px 30px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
}

/* -----------------------------------------------------------
   6. Subscribe / newsletter
   ----------------------------------------------------------- */
.footer-subscribe,
#footer-content-area .tnp-widget-minimal {
    max-width: 600px;
    margin: 0 auto 40px;
    text-align: center;
}

.footer-subscribe form,
#footer-content-area .tnp-widget-minimal .tnp-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

#footer-content-area .footer-title {
    color: var(--agency-white);
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 20px;
}

.footer-subscribe input[type="email"],
#footer-content-area .tnp-widget-minimal .tnp-email {
    width: 100%;
    max-width: 500px;
    padding: 14px 16px;
    border: none;
    text-align: center;
    background: var(--agency-white);
    color: var(--agency-black);
    font-size: 14px;
}

.footer-subscribe button,
.footer-subscribe input[type="submit"],
#footer-content-area .tnp-widget-minimal .tnp-submit {
    width: 100%;
    max-width: 500px;
    padding: 14px 30px;
    background: linear-gradient(110deg, var(--agency-silver-dark) 0%, #6B6B6B 20%, var(--agency-silver) 40%, var(--agency-white) 50%, var(--agency-silver) 60%, #6B6B6B 80%, var(--agency-silver-dark) 100%);
    color: var(--agency-black);
    border: none;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
}

/* -----------------------------------------------------------
   7. Footer
   ----------------------------------------------------------- */
#footer-main,
#footer-bottom-area,
.site-footer,
.copyright,
.footer-credits,
.site-info {
    background: var(--agency-black);
    color: var(--agency-white);
    text-align: center;
}

#footer-main h2,
#footer-main .widget-title {
    color: var(--agency-white);
    text-align: center;
}

#footer-main a,
#footer-bottom-area a,
.site-footer a,
.copyright a {
    color: var(--agency-silver);
}

#footer-bottom-area,
#footer-bottom,
.copyright,
.site-info,
.footer-credits {
    color: rgba(255, 255, 255, 0.6);
    padding: 20px;
}

#footer-bottom-area p,
#footer-bottom p,
.copyright p,
.site-info p,
.footer-credits p {
    margin: 0 auto;
    text-align: center;
}

#footer-content-area .menu,
.footer-navigation ul,
#footer .menu {
    text-align: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

#footer-content-area .menu li,
.footer-navigation li,
#footer .menu li {
    display: inline-block;
}

#footer-content-area .menu a,
.footer-navigation a,
#footer .menu a {
    display: inline-block;
    padding: 6px 10px;
}

/* -----------------------------------------------------------
   8. Mobile overrides
   ----------------------------------------------------------- */
@media screen and (max-width: 799px) {
    #header-content-wrapper,
    #header-main-fixed #header-content-wrapper,
    #header-content-wrapper.clearfix,
    #header-main-fixed #header-content-wrapper.clearfix {
        padding: 10px 15px !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    #header-logo,
    #header-main-fixed #header-logo,
    #header-content-wrapper #header-logo,
    #header-main-fixed #header-content-wrapper #header-logo {
        order: 2 !important;
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: flex !important;
        align-items: center !important;
        float: none !important;
        text-align: right !important;
    }

    #header-logo img.custom-logo,
    #header-logo .custom-logo,
    #header-logo a.custom-logo-link img,
    #header-main-fixed #header-logo img.custom-logo {
        max-height: 60px !important;
        width: auto !important;
        height: auto !important;
    }

    #navmain,
    #header-main-fixed #navmain,
    #header-content-wrapper #navmain,
    #header-main-fixed #header-content-wrapper #navmain {
        order: 0 !important;
        flex: 0 0 auto !important;
        justify-content: flex-start !important;
        display: block !important;
        align-items: stretch !important;
        float: left !important;
        text-align: left !important;
        cursor: pointer !important;
    }

    #navmain div {
        position: relative;
    }

    #navmain div:first-of-type:before {
        font: 32px 'FontAwesome';
        content: "\f0c9";
        color: var(--agency-white);
        margin: 0;
        padding: 8px 10px;
        display: inline-block;
        text-shadow: none;
    }

    #navmain div.mobile-menu-expanded:before {
        content: "\f00d";
    }

    #navmain div > ul,
    #navmain div > ul.menu,
    #navmain div > ul:first-child {
        display: none !important;
        position: fixed;
        top: 80px;
        left: 0;
        width: 280px;
        max-width: calc(100vw - 24px);
        background: var(--agency-black) !important;
        border: 1px solid rgba(255, 255, 255, 0.12);
        border-radius: 0 0 8px 8px;
        padding: 0;
        margin: 0;
        list-style: none;
        z-index: 100000;
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.35);
    }

    #navmain div.mobile-menu-expanded > ul,
    #navmain div.mobile-menu-expanded > ul.menu,
    #navmain div.mobile-menu-expanded > ul:first-child {
        display: block !important;
    }

    #navmain ul.menu > li,
    #navmain div > ul > li,
    #navmain ul li,
    #navmain div > ul > li > ul.sub-menu > li,
    #navmain div > ul > li > ul > li,
    #navmain .sub-menu li {
        display: block !important;
        width: 100% !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
        background: var(--agency-black) !important;
        position: relative;
    }

    #navmain a,
    #navmain ul li a,
    #navmain ul li a:link,
    #navmain ul li a:visited,
    #navmain ul li.current-menu-item a,
    #navmain ul li.current_page_item a,
    #navmain div > ul > li > a,
    #navmain div > ul > li > ul.sub-menu > li > a,
    #navmain .sub-menu li a {
        display: block !important;
        width: 100%;
        box-sizing: border-box;
        white-space: nowrap;
        color: var(--agency-white) !important;
        font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
        font-size: 14px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        padding: 14px 20px !important;
        text-decoration: none;
        background: var(--agency-black) !important;
        border: none !important;
    }

    #navmain a:hover,
    #navmain ul li a:hover,
    #navmain ul li.current-menu-item a,
    #navmain ul li.current_page_item a,
    body.home #navmain div > ul > li:first-child > a,
    body.home #navmain > ul > li:first-child > a {
        color: var(--agency-silver) !important;
        background: rgba(255, 255, 255, 0.05) !important;
    }

    #navmain ul ul,
    #navmain .sub-menu,
    #navmain .children,
    #navmain div > ul > li > ul.sub-menu,
    #navmain div > ul > li > ul {
        display: none !important;
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
        background: var(--agency-black-soft) !important;
        border: none !important;
        border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
        padding: 0 !important;
        margin: 0 !important;
        box-shadow: none !important;
        min-width: 0 !important;
    }

    #navmain .sub-menu-item-toggle,
    #navmain .menu-toggle,
    #navmain .nav-toggle,
    .sub-menu-item-toggle,
    #header-main-fixed #navmain .sub-menu-item-toggle {
        display: inline-block !important;
        position: absolute;
        top: 0;
        right: 0;
        float: none !important;
        cursor: pointer !important;
        color: var(--agency-white) !important;
        order: 0 !important;
        padding: 10px 12px;
        z-index: 10;
        background: transparent !important;
    }

    #navmain .sub-menu-item-toggle:before,
    #navmain .menu-toggle:before,
    #navmain .nav-toggle:before {
        font: 16px 'FontAwesome';
        content: "\f067";
        width: 20px;
        height: 20px;
        display: inline-block;
        text-align: center;
    }

    #navmain .sub-menu-item-toggle-expanded:before,
    #navmain .menu-toggle-expanded:before,
    #navmain .nav-toggle-expanded:before {
        content: "\f068";
    }

    #navmain ul li.menu-item-expanded > ul,
    #navmain ul li.menu-item-focused > ul,
    #navmain ul li.focus > ul,
    #navmain ul li:hover > ul {
        display: block !important;
    }

    .hero-section {
        padding: 80px 15px 40px;
    }

    .hero-section h1,
    .hero-section .hero-title {
        font-size: clamp(28px, 8vw, 42px);
    }

    .hero-section h2,
    .hero-section .hero-subtitle,
    .hero-section h2.hero-subtitle,
    .hero-section .hero-content h2 {
        font-size: clamp(13px, 3.5vw, 16px) !important;
        letter-spacing: 1px !important;
        word-spacing: 0 !important;
        white-space: normal !important;
        overflow-wrap: normal !important;
    }

    .hero-btn-primary,
    .hero-btn-secondary,
    .hero-section .button,
    .hero-section a.button,
    .hero-section .wp-block-button,
    .hero-section .wp-block-button__link,
    .hero-section .button-primary,
    .hero-section .button-secondary,
    .hero-section .elementor-button,
    .hero-section .btn {
        width: 90% !important;
        max-width: 340px !important;
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        font-size: 14px !important;
        padding: 14px 20px !important;
        box-sizing: border-box !important;
        text-align: center !important;
        float: none !important;
    }

    .container,
    .content-area,
    .site-content,
    .entry-content {
        padding: 40px 15px;
    }

    .row,
    .grid,
    .columns,
    .col1a, .col2a, .col2b, .col3a, .col3b, .col3c,
    .col4a, .col4b, .col4c, .col4d {
        width: 100%;
        max-width: 100%;
        flex: none;
        float: none;
        display: block;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }

    #footer-content-wrapper,
    #footer-content-area,
    #footer-content-area .widget,
    #footer-content-area .widget-area,
    #footer-content-area .col1a,
    #footer-content-area .col2a,
    #footer-content-area .col2b,
    #footer-content-area .col3a,
    #footer-content-area .col3b,
    #footer-content-area .col3c,
    #footer-content-area .col4a,
    #footer-content-area .col4b,
    #footer-content-area .col4c,
    #footer-content-area .col4d {
        width: 100%;
        max-width: 100%;
        float: none;
        display: block;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        padding-left: 0;
        padding-right: 0;
    }

    #footer-content-area .footer-title,
    #footer-content-area h2,
    #footer-content-area .widget-title,
    #footer-content-area p,
    #footer-content-area .textwidget,
    #footer-content-area .widget,
    #footer-content-area .widget-area,
    #footer-content-area .tnp-widget,
    #footer-content-area .tnp-widget-minimal,
    #footer-content-area .tnp-form {
        text-align: center;
    }

    #footer-content-area .tnp-widget,
    #footer-content-area .tnp-widget-minimal,
    #footer-content-area .tnp-form {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    #footer-content-area .tnp-email,
    #footer-content-area .tnp-submit,
    #footer-content-area input[type="email"],
    #footer-content-area input[type="submit"],
    #footer-content-area button[type="submit"] {
        width: 90%;
        max-width: 360px;
        display: block;
        margin: 8px auto;
    }

    #footer .menu,
    .footer-navigation ul,
    #footer-content-area .menu ul {
        text-align: center;
        display: block;
        width: 100%;
    }

    #footer .menu li,
    .footer-navigation li,
    #footer-content-area .menu li {
        display: inline-block;
        float: none;
    }
}

/* ============================================================
   About page styles
   ============================================================ */
.page-hero-section {
    position: relative;
    background: linear-gradient(135deg, var(--agency-black) 0%, var(--agency-black-soft) 100%);
    color: var(--agency-white);
    text-align: center;
    padding: 40px 24px 60px;
    box-sizing: border-box;
    width: 100%;
}

.page-hero-section .container {
    max-width: 900px;
    margin: 0 auto;
}

.page-hero-title {
    color: var(--agency-white);
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: clamp(40px, 5vw, 72px);
    letter-spacing: 4px;
    margin: 0 0 20px;
    text-transform: uppercase;
    font-weight: 400;
}

.page-hero-line {
    width: 80px;
    height: 3px;
    background: var(--agency-gold);
    margin: 0 auto 24px;
}

.page-hero-subtitle {
    color: var(--agency-silver);
    font-size: clamp(14px, 2vw, 20px);
    letter-spacing: 3px;
    text-transform: uppercase;
    margin: 0;
}

.page-section {
    padding: 50px 24px;
    box-sizing: border-box;
    width: 100%;
}

.page-section-light {
    background: var(--agency-white);
    color: var(--agency-text);
}

.page-section-grey {
    background: #f8f8f8;
    color: var(--agency-text);
}

.page-section .container {
    max-width: var(--agency-max-width);
    margin: 0 auto;
    padding: 0;
}

.page-section-title {
    text-align: center;
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    margin: 0 0 16px;
    color: var(--agency-black);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 400;
}

.page-section-subtitle {
    text-align: center;
    font-size: 18px;
    color: var(--agency-text);
    max-width: 700px;
    margin: 0 auto 30px;
    line-height: 1.6;
}

.page-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
    max-width: var(--agency-max-width);
    margin: 0 auto;
}

.page-text {
    max-width: 680px;
}

.page-text p {
    font-size: 17px;
    line-height: 1.8;
    margin: 0 0 20px;
    color: var(--agency-text);
}

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

.page-text p strong {
    color: var(--agency-black);
    font-size: 19px;
    font-weight: 500;
}

.page-two-column img {
    border-radius: var(--agency-radius);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
    display: block;
    max-width: 100%;
}

.page-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: var(--agency-max-width);
    margin: 0 auto;
}

.page-card {
    background: var(--agency-white);
    padding: 30px;
    border-radius: var(--agency-radius);
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    border-top: 3px solid var(--agency-gold);
    box-sizing: border-box;
}

.page-card-accent {
    border-top: 3px solid var(--agency-gold);
}

.page-card h3 {
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 18px;
    margin: 0 0 14px;
    color: var(--agency-black);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
}

.page-card p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--agency-text);
    margin: 0;
}

.page-cta-section {
    background: var(--agency-black);
    color: var(--agency-white);
    text-align: center;
    padding: 60px 24px;
    box-sizing: border-box;
    width: 100%;
}

.page-cta-section .container {
    max-width: 800px;
    margin: 0 auto;
}

.page-cta-section h2 {
    color: var(--agency-white);
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    margin: 0 0 16px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 400;
}

.page-cta-section p {
    color: var(--agency-silver);
    max-width: 700px;
    margin: 0 auto 30px;
    font-size: 17px;
    line-height: 1.6;
}

.page-btn-primary,
.page-cta-section a.button,
.page-cta-section .wp-block-button__link {
    display: inline-block;
    background: var(--agency-gold);
    color: var(--agency-black);
    padding: 16px 36px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.page-btn-primary:hover,
.page-cta-section a.button:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    color: var(--agency-black);
}

.page-content-section.content-rich {
    background: var(--agency-white);
    color: var(--agency-text);
    padding: 50px 24px;
    box-sizing: border-box;
    width: 100%;
}

.page-content-section.content-rich .container,
.page-content-section.content-rich > h2,
.page-content-section.content-rich > h3,
.page-content-section.content-rich > p,
.page-content-section.content-rich > ul,
.page-content-section.content-rich > blockquote {
    max-width: var(--agency-max-width);
    margin-left: auto;
    margin-right: auto;
}

.page-content-section.content-rich > h2 {
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: clamp(28px, 3vw, 40px);
    color: var(--agency-black);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 400;
    margin-bottom: 24px;
    margin-top: 60px;
    border-bottom: 2px solid var(--agency-gold);
    padding-bottom: 16px;
    display: block;
    width: 100%;
}

.page-content-section.content-rich > h2:first-child {
    margin-top: 0;
}

.page-content-section.content-rich > h3 {
    font-family: 'Oswald', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-size: 20px;
    color: var(--agency-black);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 500;
    margin-top: 36px;
    margin-bottom: 14px;
}

.page-content-section.content-rich > p {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 20px;
    color: var(--agency-text);
}

.page-content-section.content-rich > ul {
    list-style: none;
    padding: 0;
    margin-bottom: 30px;
}

.page-content-section.content-rich > ul li {
    position: relative;
    padding-left: 28px;
    margin-bottom: 14px;
    font-size: 17px;
    line-height: 1.6;
    color: var(--agency-text);
}

.page-content-section.content-rich > ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: var(--agency-gold);
    border-radius: 50%;
}

.page-content-section.content-rich > blockquote {
    background: #f8f8f8;
    border-left: 4px solid var(--agency-gold);
    padding: 24px 30px;
    margin: 30px auto;
    border-radius: 0 var(--agency-radius) var(--agency-radius) 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}

.page-content-section.content-rich > blockquote p {
    font-size: 18px;
    line-height: 1.7;
    font-style: italic;
    color: var(--agency-text);
    margin: 0 0 16px;
}

.page-content-section.content-rich > blockquote cite {
    font-size: 15px;
    font-style: normal;
    color: var(--agency-silver);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.page-content-section.content-rich a {
    color: var(--agency-gold);
    text-decoration: underline;
    font-weight: 500;
}

.page-content-section.content-rich a:hover {
    color: var(--agency-black);
}

@media screen and (max-width: 799px) {
    .page-content-section.content-rich {
        padding: 50px 20px;
    }

    .page-content-section.content-rich > h2 {
        font-size: 26px;
    }

    .page-content-section.content-rich > h3 {
        font-size: 18px;
    }

    .page-content-section.content-rich > p,
    .page-content-section.content-rich > ul li {
        font-size: 16px;
    }
}

@media screen and (max-width: 799px) {
    .page-hero-section {
        padding: 50px 20px 60px;
    }

    .page-two-column {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .page-text {
        max-width: 100%;
    }

    .page-card-grid {
        grid-template-columns: 1fr;
    }

    .page-section {
        padding: 60px 20px;
    }

    .page-cta-section {
        padding: 70px 20px;
    }
}

/* Cookie banner overrides - move to bottom and brand */
#wpconsent-banner-holder.wpconsent-banner-holder,
#wpconsent-banner-holder,
.wpconsent-banner-holder.wpconsent-banner-long,
.wpconsent-banner-holder.wpconsent-banner-long-bottom,
.wpconsent-banner-holder,
dialog,
[role="dialog"],
.wpconsent-banner,
.wp-consent-banner,
.cookie-banner,
.gdpr-banner,
#cookie-notice,
#consent-banner,
.moove-gdpr-info-bar {
    position: fixed !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: var(--agency-black) !important;
    color: var(--agency-white) !important;
    border-top: 2px solid var(--agency-gold) !important;
    box-shadow: 0 -8px 24px rgba(0,0,0,0.3) !important;
    z-index: 99999 !important;
    padding: 16px 24px !important;
    box-sizing: border-box !important;
    transform: none !important;
}

/* Cookie banner inner layout fix */
#wpconsent-banner-holder .wpconsent-banner,
#wpconsent-banner-holder .wpconsent-banner-body,
.wpconsent-banner-holder .wpconsent-banner,
.wpconsent-banner-holder .wpconsent-banner-body {
    background: transparent !important;
    color: var(--agency-white) !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

#wpconsent-banner-holder .wpconsent-banner-message,
.wpconsent-banner-holder .wpconsent-banner-message {
    color: var(--agency-white) !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    margin: 0 0 10px !important;
}

dialog *,
[role="dialog"] *,
.wpconsent-banner *,
.wp-consent-banner *,
.cookie-banner *,
.gdpr-banner *,
#cookie-notice *,
#consent-banner *,
.moove-gdpr-info-bar * {
    color: var(--agency-white) !important;
}

dialog button,
[role="dialog"] button,
.wpconsent-banner button,
.wp-consent-banner button,
.cookie-banner button,
.gdpr-banner button,
#cookie-notice button,
#consent-banner button,
.moove-gdpr-info-bar button {
    background: var(--agency-gold) !important;
    color: var(--agency-black) !important;
    border: none !important;
    padding: 10px 20px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-size: 12px !important;
    cursor: pointer !important;
}

dialog a,
[role="dialog"] a,
.wpconsent-banner a,
.wp-consent-banner a,
.cookie-banner a,
.gdpr-banner a,
#cookie-notice a,
#consent-banner a,
.moove-gdpr-info-bar a {
    color: var(--agency-gold) !important;
}

/* Hide theme credit footer line */
.site-info,
.footer-credits,
.copyright,
#footer-bottom-area,
#footer-bottom,
.fRealEstate,
.frealestate-theme-credit,
.theme-credit,
.footer-copyright {
    display: none !important;
}

/* Hide footer powered by WordPress links */
footer a[href*="wordpress.org"],
footer a[href*="RealEstate"],
footer a[href*="frealestate"],
.site-info a,
.footer-credits a,
.copyright a {
    display: none !important;
}

/* Custom footer credit line */
#footer::after,
#footer-main::after,
footer::after {
    content: "© 2026 Michael Meyerovitch | The Agent of Trust. All rights reserved.";
    display: block;
    text-align: center;
    padding: 20px;
    color: var(--agency-silver);
    font-size: 13px;
    border-top: 1px solid #333;
    background: var(--agency-black);
}


/* Override inline padding from homepage content blocks for vertical efficiency */
.hero-section {
    padding: 80px 24px 60px !important;
}

.section-about,
.section-communities,
.section-services,
.section-cta {
    padding: 50px 24px !important;
}

@media screen and (max-width: 799px) {
    .hero-section {
        padding: 60px 20px 40px !important;
    }

    .section-about,
    .section-communities,
    .section-services,
    .section-cta {
        padding: 40px 20px !important;
    }
}

/* Contact page tighter spacing */
body.page-id-13 .page-hero-section { padding: 30px 24px !important; }
body.page-id-13 .page-section,
body.page-id-13 .page-section-grey,
body.page-id-13 .page-content-section { padding: 30px 24px !important; }
body.page-id-13 .page-section-title { margin-bottom: 20px !important; }
body.page-id-13 .page-section-subtitle { margin-bottom: 20px !important; }
body.page-id-13 .page-areas-grid { gap: 12px !important; }
body.page-id-13 .page-area-item { padding: 8px 12px !important; }


/* Contact page horizontal contact section */
body.page-id-13 .page-section.page-section-light { padding: 40px 24px !important; }
body.page-id-13 .page-section.page-section-light .page-two-column { display:flex; flex-direction:column; gap:30px; max-width:1200px; margin:0 auto; }
body.page-id-13 .page-section.page-section-light .page-text { display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap:18px; align-items:stretch; }
body.page-id-13 .page-section.page-section-light .page-text > h2,
body.page-id-13 .page-section.page-section-light .page-text > p { grid-column:1 / -1; text-align:center; margin-bottom:0 !important; }
body.page-id-13 .page-section.page-section-light .page-text > h2 { font-size:38px; margin-bottom:5px !important; letter-spacing:1px; }
body.page-id-13 .page-section.page-section-light .page-text > p { font-size:18px; color:#666; margin-bottom:25px !important; }

body.page-id-13 .page-contact-row { display:flex; flex-direction:column; align-items:center; text-align:center; padding:28px 18px !important; background:#ffffff; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,0.08); border-top:4px solid #C9A227; margin-bottom:0 !important; }
body.page-id-13 .page-contact-row .page-icon-circle { width:60px !important; height:60px !important; font-size:28px; line-height:60px; margin-bottom:16px !important; margin-right:0 !important; background:#f8f8f8; border-radius:50%; display:flex; align-items:center; justify-content:center; }
body.page-id-13 .page-contact-row h4 { font-size:12px; text-transform:uppercase; letter-spacing:1.5px; color:#888; margin-bottom:10px !important; font-weight:600; }
body.page-id-13 .page-contact-row p { font-size:16px; font-weight:500; color:#111; line-height:1.45; margin:0 !important; }
body.page-id-13 .page-contact-row p a { font-size:28px; font-weight:700; color:#C9A227; text-decoration:none; transition:color 0.2s ease; }
body.page-id-13 .page-contact-row p a:hover { color:#111; }
body.page-id-13 .page-contact-row:nth-of-type(1) p { font-size:14px; font-weight:400; color:#555; }

body.page-id-13 .page-hours-card { grid-column:1 / -1; text-align:center; padding:28px !important; background:#f9f9f9; border-radius:12px; margin-top:0 !important; margin-bottom:0 !important; }
body.page-id-13 .page-hours-card h3 { font-size:22px; margin-bottom:18px; }
body.page-id-13 .page-hours-card p { margin-bottom:6px !important; font-size:15px; }
body.page-id-13 .page-form-card { width:100%; max-width:700px; margin:0 auto !important; padding:32px !important; background:#fff; border-radius:12px; box-shadow:0 4px 20px rgba(0,0,0,0.08); }
body.page-id-13 .page-form-card h3 { text-align:center; font-size:26px; margin-bottom:10px; }
body.page-id-13 .page-form-card > p { text-align:center; color:#666; margin-bottom:22px !important; }

@media (max-width: 900px) {
    body.page-id-13 .page-section.page-section-light .page-text { grid-template-columns: repeat(2,1fr); }
    body.page-id-13 .page-contact-row p a { font-size:24px; }
}
@media (max-width: 520px) {
    body.page-id-13 .page-section.page-section-light .page-text { grid-template-columns:1fr; }
    body.page-id-13 .page-contact-row p a { font-size:26px; }
}
/* === Contact Page Redesign — force-wide, two-column layout === */
body.page-id-13 main {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    display: block !important;
}

body.page-id-13 .entry-content,
body.page-id-13 .page-content,
body.page-id-13 .site-content,
body.page-id-13 #content,
body.page-id-13 .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
}

body.page-id-13 .contact-wide {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
    box-sizing: border-box !important;
}

/* Hero */
body.page-id-13 .contact-hero {
    background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 100%);
    color: #fff;
    text-align: center;
    padding: 100px 24px 80px !important;
}

body.page-id-13 .contact-hero-inner {
    max-width: 900px;
    margin: 0 auto;
}

body.page-id-13 .contact-hero h1 {
    font-size: 52px;
    font-weight: 700;
    margin: 0 0 24px;
    letter-spacing: 1px;
    line-height: 1.1;
    color: #fff;
}

body.page-id-13 .contact-hero-sub {
    font-size: 20px;
    color: #d0d0d0;
    line-height: 1.6;
    margin: 0 0 16px;
}

body.page-id-13 .contact-hero-sub:last-child {
    margin-bottom: 0;
}

/* Section titles */
body.page-id-13 .contact-section-title {
    font-size: 38px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 40px;
    color: #111;
    letter-spacing: 0.5px;
}

body.page-id-13 .contact-section-title.left {
    text-align: left;
}

body.page-id-13 .contact-section-lead {
    text-align: center;
    font-size: 18px;
    color: #666;
    margin: -24px 0 40px;
}

/* Why reach out */
body.page-id-13 .contact-why-section {
    padding: 80px 0 !important;
    background: #ffffff;
}

body.page-id-13 .contact-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

body.page-id-13 .contact-why-card {
    background: #f9f9f9;
    border-radius: 12px;
    padding: 32px 24px;
    text-align: center;
    border-top: 4px solid #C9A227;
}

body.page-id-13 .contact-why-icon {
    font-size: 36px;
    margin-bottom: 16px;
}

body.page-id-13 .contact-why-card h3 {
    font-size: 20px;
    margin: 0 0 12px;
    color: #111;
}

body.page-id-13 .contact-why-card p {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    margin: 0;
}

/* Main two-column contact area */
body.page-id-13 .contact-main-section {
    padding: 80px 0 !important;
    background: #f5f5f5;
}

body.page-id-13 .contact-two-col {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: start;
}

body.page-id-13 .contact-left-lead {
    font-size: 18px;
    color: #555;
    margin: -24px 0 28px;
    line-height: 1.5;
}

body.page-id-13 .contact-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-bottom: 24px;
}

body.page-id-13 .contact-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    border-top: 4px solid #C9A227;
    text-align: center;
}

body.page-id-13 .contact-icon {
    font-size: 30px;
    margin-bottom: 12px;
}

body.page-id-13 .contact-card h4 {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: #888;
    margin: 0 0 8px;
    font-weight: 600;
}

body.page-id-13 .contact-card p {
    font-size: 15px;
    font-weight: 500;
    color: #111;
    line-height: 1.5;
    margin: 0;
}

body.page-id-13 .contact-card p a {
    font-size: 20px;
    font-weight: 700;
    color: #C9A227;
    text-decoration: none;
    transition: color 0.2s ease;
}

body.page-id-13 .contact-card p a:hover {
    color: #111;
}

body.page-id-13 .hours-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
    text-align: center;
}

body.page-id-13 .hours-card h3 {
    font-size: 22px;
    margin: 0 0 20px;
    color: #111;
}

body.page-id-13 .hours-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

body.page-id-13 .hours-grid div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 15px;
}

body.page-id-13 .hours-grid strong {
    color: #C9A227;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

body.page-id-13 .hours-note {
    font-size: 14px;
    color: #666;
    margin: 0;
}

body.page-id-13 .contact-right {
    position: sticky;
    top: 40px;
}

body.page-id-13 .contact-form-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 32px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.1);
    border-top: 4px solid #C9A227;
}

body.page-id-13 .contact-form-card h3 {
    text-align: center;
    font-size: 28px;
    margin: 0 0 8px;
    color: #111;
}

body.page-id-13 .contact-form-card .form-intro {
    text-align: center;
    color: #666;
    margin: 0 0 24px !important;
    font-size: 15px;
}

/* After submit steps */
body.page-id-13 .contact-after-section {
    padding: 80px 0 !important;
    background: #ffffff;
}

body.page-id-13 .after-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

body.page-id-13 .after-step {
    text-align: center;
    padding: 24px;
    background: #f9f9f9;
    border-radius: 12px;
}

body.page-id-13 .after-number {
    width: 50px;
    height: 50px;
    line-height: 50px;
    border-radius: 50%;
    background: #C9A227;
    color: #fff;
    font-weight: 700;
    font-size: 20px;
    margin: 0 auto 16px;
}

body.page-id-13 .after-step h4 {
    font-size: 18px;
    margin: 0 0 10px;
    color: #111;
}

body.page-id-13 .after-step p {
    font-size: 15px;
    color: #555;
    line-height: 1.5;
    margin: 0;
}

/* Areas */
body.page-id-13 .contact-areas-section {
    padding: 80px 0 !important;
    background: #f5f5f5;
}

body.page-id-13 .towns-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 14px;
}

body.page-id-13 .town-item {
    background: #ffffff;
    border-radius: 8px;
    padding: 14px 10px;
    text-align: center;
    font-weight: 500;
    font-size: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* FAQ */
body.page-id-13 .contact-faq-section {
    padding: 80px 0 !important;
    background: #ffffff;
}

body.page-id-13 .faq-list {
    max-width: 800px;
    margin: 0 auto;
}

body.page-id-13 .faq-list p {
    font-size: 16px;
    line-height: 1.6;
    color: #444;
    margin: 0 0 22px;
}

body.page-id-13 .faq-list p strong {
    color: #111;
    display: block;
    margin-bottom: 6px;
}

/* Responsive */
@media (max-width: 960px) {
    body.page-id-13 .contact-hero h1 { font-size: 40px; }
    body.page-id-13 .contact-why-grid,
    body.page-id-13 .after-steps { grid-template-columns: 1fr; }
    body.page-id-13 .contact-two-col { grid-template-columns: 1fr; }
    body.page-id-13 .contact-right { position: static; }
    body.page-id-13 .towns-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 600px) {
    body.page-id-13 .contact-hero { padding: 60px 20px 50px !important; }
    body.page-id-13 .contact-hero h1 { font-size: 32px; }
    body.page-id-13 .contact-hero-sub { font-size: 17px; }
    body.page-id-13 .contact-section-title { font-size: 30px; }
    body.page-id-13 .contact-cards,
    body.page-id-13 .hours-grid { grid-template-columns: 1fr; }
    body.page-id-13 .towns-grid { grid-template-columns: repeat(2, 1fr); }
    body.page-id-13 .contact-wide { padding: 0 16px !important; }
}
