.elementor-122 .elementor-element.elementor-element-17335624{--display:flex;--margin-top:-10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-122 .elementor-element.elementor-element-2d438495{--display:flex;}.elementor-122 .elementor-element.elementor-element-2508bf4{--display:flex;}/* Start custom CSS for container, class: .elementor-element-17335624 *//* locations */
.container {    max-width: 1280px;    margin: 0 auto;    padding: 0 5%;}
.locations-hero-section {    position: relative;    padding: 48px 0 100px;    background:        radial-gradient(circle at top left, rgba(214, 198, 176, 0.18), transparent 34%),        linear-gradient(180deg, #f8f5f0 0%, #f5f1ea 100%);    overflow: hidden;}
.locations-hero-shell {    background: rgba(255, 255, 255, 0.72);    border: 1px solid rgba(60, 44, 28, 0.08);    box-shadow: 0 24px 60px rgba(41, 31, 21, 0.06);    padding: 42px 42px 46px;}
.breadcrumbs {    margin: 0 0 22px;    font-size: 0.9rem;    letter-spacing: 0.08em;    text-transform: uppercase;    color: #7a7268;}
.breadcrumb-home {    color: #7a7268;    text-decoration: none;    transition: color 0.25s ease;}
.breadcrumb-home:hover {    color: #2a241d;}
.breadcrumb-separator {    margin: 0 10px;    color: #aca396;}
.breadcrumb-current {    color: #2a241d;    font-weight: 600;}
.hero-heading-block {    max-width: 820px;    margin: 0 0 42px;}
.section-kicker {    display: inline-block;    margin-bottom: 16px;    padding: 8px 14px;    border-radius: 999px;    background: rgba(138, 105, 70, 0.10);    color: #7a5a3b;    font-size: 0.78rem;    font-weight: 600;    letter-spacing: 0.12em;    text-transform: uppercase;}
.page-title {    font-family: "Libre Baskerville", Georgia, serif;    font-size: clamp(1.5rem, 3vw, 2rem);    font-weight: 700;    line-height: 1.08;    letter-spacing: -0.035em;    color: #1e1813;    margin: 0 0 18px;}
.hero-lead {    max-width: 760px;    margin: 0;    font-size: 1.18rem;    line-height: 1.8;    color: #534b42;}
.locations-grid {    display: grid;    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);    gap: 46px;    align-items: start;}
.map-column,.text-column {    min-width: 0;}
.map-frame {    position: relative;    padding: 18px;    background: linear-gradient(180deg, #f7f3ed 0%, #efe8de 100%);    border: 1px solid rgba(60, 44, 28, 0.10);    box-shadow: 0 16px 38px rgba(49, 36, 24, 0.08);}
.locations-map {    display: block;    width: 100%;    height: auto;    background: #fff;    border: 1px solid rgba(0, 0, 0, 0.08);}
.coverage-panel {    margin-top: 24px;    padding: 26px 26px 22px;    background: rgba(255, 255, 255, 0.92);    border: 1px solid rgba(60, 44, 28, 0.08);    box-shadow: 0 12px 28px rgba(49, 36, 24, 0.05);}
.coverage-header {    margin-bottom: 20px;}
.coverage-header h2 {    margin: 0 0 8px;    font-family: "Libre Baskerville", Georgia, serif;    font-size: 1.45rem;    font-weight: 700;    color: #241d17;}
.coverage-header p {    margin: 0;    font-size: 1rem;    line-height: 1.7;    color: #5b534a;}
.areas-list {    display: grid;    grid-template-columns: repeat(3, minmax(0, 1fr));    gap: 18px 28px;}
.areas-column ul {    margin: 0;    padding: 0;    list-style: none;}
.areas-column li {    position: relative;    padding: 0 0 0 18px;    margin: 0 0 10px;    font-size: 1rem;    line-height: 1.7;    color: #403830;}
.areas-column li::before {    content: "";    position: absolute;    left: 0;    top: 0.78em;    width: 6px;    height: 6px;    border-radius: 50%;    background: #8a6946;    transform: translateY(-50%);}
.content-card {    padding: 34px 32px;    background: linear-gradient(180deg, rgba(255,255,255,0.98) 0%, rgba(248,244,238,0.98) 100%);    border: 1px solid rgba(60, 44, 28, 0.08);    box-shadow: 0 18px 40px rgba(49, 36, 24, 0.07);}
.intro-text {    margin: 0 0 22px;    font-size: 1.28rem;    line-height: 1.75;    color: #2d261f;}
.main-text {    margin: 0 0 22px;    font-size: 1.05rem;    line-height: 1.9;    color: #4f473e;}
.contact-panel {    margin-top: 34px;    padding-top: 26px;    border-top: 1px solid rgba(60, 44, 28, 0.10);}
.contact-panel h3,.company-details h3 {    margin: 0 0 12px;    font-family: "Libre Baskerville", Georgia, serif;    font-size: 1.2rem;    font-weight: 700;    color: #241d17;}
.contact-text {    margin: 0;    font-size: 1.04rem;    line-height: 1.85;    color: #4f473e;}
.contact-text a {    color: #2a241d;    text-decoration: underline;    text-decoration-thickness: 1px;    text-underline-offset: 3px;}
.company-details {    margin-top: 30px;    padding-top: 24px;    border-top: 1px solid rgba(60, 44, 28, 0.10);}
.company-details p {    margin: 0 0 14px;    font-size: 1rem;    line-height: 1.85;    color: #4f473e;}
@media (max-width: 1100px) {    .locations-grid {        grid-template-columns: 1fr;        gap: 34px;    }    .hero-heading-block {        margin-bottom: 34px;    }}
@media (max-width: 820px) {    .locations-hero-section {        padding: 38px 0 80px;    }    .locations-hero-shell {        padding: 28px 22px 30px;    }    .areas-list {        grid-template-columns: 1fr 1fr;    }    .content-card {        padding: 28px 22px;    }    .intro-text {        font-size: 1.16rem;    }    .hero-lead {        font-size: 1.08rem;    }}
@media (max-width: 560px) {    .breadcrumbs {        margin-bottom: 18px;        font-size: 0.82rem;    }    .locations-hero-shell {        padding: 22px 16px 24px;    }    .map-frame {        padding: 10px;    }    .coverage-panel {        padding: 20px 18px 16px;    }    .areas-list {        grid-template-columns: 1fr;        gap: 2px;    }    .content-card {        padding: 22px 18px;    }    .page-title {        font-size: 2.2rem;    }    .hero-lead,    .intro-text,    .main-text,    .contact-text,    .company-details p {        line-height: 1.75;    }}
/* Consultation */.consultation-intro {    max-width: 1280px;    margin: 104px auto 84px;    padding: 0 24px;    text-align: center;    /* base text colour */    color: #171411;}
.consultation-eyebrow {    display: inline-block;    margin: 0 0 16px;    padding-left: 16px;    font-size: 0.72rem;    font-weight: 700;    letter-spacing: 0.18em;    text-transform: uppercase;    color: #6f563d;    position: relative;}
.consultation-eyebrow::before {    content: "";    position: absolute;    left: 0;    top: 0.1em;    bottom: 0.1em;    width: 2px;    background: linear-gradient(180deg, #bc9468 0%, #8a6946 100%);}
/* FORCE TITLE BLACK */.consultation-intro h2 {    font-family: "Libre Baskerville", serif;    font-size: clamp(2.1rem, 4.8vw, 3rem);    font-weight: 700;    line-height: 1.08;    letter-spacing: -0.036em;    margin: 0;    color: #171411 !important;    text-wrap: balance;}
.consultation-rule {    width: 64px;    height: 1px;    margin: 20px auto 22px;    background: rgba(63,49,35,0.24);}
/* BODY TEXT – DARK, NOT GREY */.consultation-intro p {    margin: 0 auto;    max-width: 720px;    font-family: "Libre Baskerville", serif;    font-size: clamp(1.02rem, 1.8vw, 1.1rem);    line-height: 1.82;    letter-spacing: 0.002em;    color: #2f251d !important;    opacity: 1 !important;}
.consultation-intro p strong {    color: #171411 !important;    font-weight: 700;}
/* spacing harmony with form below */.consultation-intro + * {    margin-top: 0;}
/* Responsive */@media (max-width: 768px) {    .consultation-intro {        margin: 84px auto 64px;        padding: 0 18px;    }    .consultation-intro h2 {        font-size: clamp(1.85rem, 7vw, 2.4rem);    }    .consultation-rule {        width: 52px;        margin: 18px auto 20px;    }    .consultation-intro p {        font-size: 0.98rem;        line-height: 1.74;    }}
@media (max-width: 480px) {    .consultation-intro {        margin: 72px auto 56px;        padding: 0 14px;    }    .consultation-eyebrow {        font-size: 0.68rem;        margin-bottom: 12px;    }}
/* Contact Card */.contact-grid-wrapper {    position: relative;    max-width: 920px;    margin: 0 auto 82px auto;    padding: 38px 36px;    background:        linear-gradient(180deg, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0.06) 100%),        rgba(247,242,234,0.72);    border: 1px solid rgba(91,68,45,0.10);    box-shadow:        0 18px 42px rgba(0,0,0,0.08),        inset 0 1px 0 rgba(255,255,255,0.34);    overflow: hidden;}
.contact-grid-wrapper::before {    content: "";    position: absolute;    inset: 0 auto 0 0;    width: 5px;    background: linear-gradient(180deg, #bc9468 0%, var(--wood) 100%);}
.contact-items {    display: grid;    grid-template-columns: 1fr 1fr;    gap: 30px 42px;    align-items: start;}
.contact-item {    display: flex;    align-items: flex-start;    gap: 16px;    text-align: left;}
.contact-icon {    width: 42px;    height: 42px;    background: linear-gradient(180deg, #9a7650 0%, #7d5d3e 100%);    flex-shrink: 0;    display: flex;    align-items: center;    justify-content: center;    box-shadow: 0 10px 22px rgba(123,91,61,0.18);    transition: transform 0.3s ease, box-shadow 0.3s ease;}
.contact-item:hover .contact-icon {    transform: translateY(-2px);    box-shadow: 0 14px 28px rgba(123,91,61,0.24);}
.contact-icon svg {    width: 20px;    height: 20px;    fill: #fffaf3;}
.contact-content h3 {    font-family: "Libre Baskerville", serif;    font-size: 1.08rem;    margin: 0 0 6px;    color: var(--ink);    font-weight: 700;    letter-spacing: -0.015em;    line-height: 1.25;}
.contact-content p,.contact-content a {    font-size: 0.96rem;    margin: 0;    color: #3f342b;    line-height: 1.72;}
.contact-content a {    color: var(--wood);    text-decoration: none;    font-weight: 700;    transition: color 0.28s ease, opacity 0.28s ease;}
.contact-content a:hover {    color: var(--wood-deep);    opacity: 1;}
/* Responsive */@media (max-width: 960px) {    .contact-grid-wrapper {        padding: 34px 30px;        margin: 0 auto 72px auto;    }    .contact-items {        gap: 28px 34px;    }}
@media (max-width: 640px) {    .contact-grid-wrapper {        padding: 28px 20px;        margin: 0 auto 54px auto;    }    .contact-items {        grid-template-columns: 1fr;        gap: 24px;    }    .contact-item {        gap: 14px;    }    .contact-icon {        width: 40px;        height: 40px;    }    .contact-icon svg {        width: 18px;        height: 18px;    }    .contact-content h3 {        font-size: 1rem;        margin-bottom: 5px;    }    .contact-content p,    .contact-content a {        font-size: 0.93rem;        line-height: 1.68;    }}
@media (max-width: 380px) {    .contact-grid-wrapper {        padding: 24px 16px;    }    .contact-icon {        width: 38px;        height: 38px;    }    .contact-icon svg {        width: 17px;        height: 17px;    }}/* End custom CSS */