/* ============================================================================
   LMH REAL ESTATE INVESTMENT — COMBINED SITE.CSS APPEND
   ----------------------------------------------------------------------------
   Paste this ENTIRE block at the END of the live site.css, then save +
   republish. Contains, in order:
     1. Header  (new-header-5)  — logo, nav, animated underline, dropdown
        caret, full-width mega-menu, premium CTA button
     2. Mobile sidenav (off-canvas)  — card rows, gold active, diamond submenu
     3. Footer  — dark luxury (charcoal + gold), social chips, contact icons
     4. Home page sections  — blog CTA, trust strip, feature+testimonial cards,
        newsletter/CTA band  (lmh-home-*)

   Brand gold #C2A24F · dark #1E1B16 · cream #FAF7F0.
   All selectors namespaced (.new-header-5 / #sidenav / #footer / .lmh-home-*).
   No inline styles, no wrapper overrides.
   ============================================================================ */


/* ############################################################################
   #1–3 · HEADER + SIDENAV + FOOTER
   ############################################################################ */

/* =========================================================
   NEW HEADER 5 — LMH Real Estate Investment
   Append to site.css. All theme colors pulled from settings.
   Locked wrapper classes are NOT restyled or restructured.
   ========================================================= */

/* --- Shell --- */
.new-header-5.logo-section {
    min-height: 200px;
    align-items: center;
}

.new-header-5.new-header-5 {
    position: relative;
    transition: box-shadow .3s ease, background .3s ease;
}

/* Subtle gold underline accent on the whole header */
.new-header-5.new-header-5::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 2px;
    background: linear-gradient(90deg,
        #C2A24F 0%,
        #E6DFCF 50%,
        #C2A24F 100%);
    opacity: .9;
}

/* --- Logo --- */
.new-header-5 .logo-container {
    display: flex;
    align-items: center;
    padding-top: .75rem;
    padding-bottom: .75rem;
}

.new-header-5 .logo-container img {
    max-height: 172px;
    width: auto;
    transition: transform .35s ease, opacity .35s ease;
}

.new-header-5 .logo-container a:hover img {
    transform: scale(1.04);
    opacity: .92;
}

.new-header-5 .text-logo {
    line-height: 1.1;
    letter-spacing: .5px;
    transition: opacity .3s ease;
}

.new-header-5 .logo-container a:hover .text-logo {
    opacity: .85;
}

/* --- Top-right utility row (phone + CTA) --- */
.new-header-5 .menu.align-right {
    align-items: center;
}

.new-header-5 .cta.sitePhoneNumber {
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .3px;
    display: inline-flex;
    align-items: center;
    padding: .5rem .9rem;
    border-radius: 5px;
    transition: color .25s ease, background .25s ease;
}

.new-header-5 .cta.sitePhoneNumber i {
    color: #C2A24F;
    margin-right: 8px;
    font-size: 1.05em;
    transition: transform .25s ease;
}

.new-header-5 .cta.sitePhoneNumber:hover {
    color: #C2A24F;
}

.new-header-5 .cta.sitePhoneNumber:hover i {
    transform: translateX(-2px) scaleX(-1);
    color: #C2A24F;
}

/* CTA button refinement (inherits header button colors from base site.css)
   — premium interactive: lift + gold glow + a light shine that sweeps
   across the button on hover. */
.new-header-5 .menu .button {
    position: relative;
    overflow: hidden;
    margin: 0 0 0 .5rem;
    padding: .7rem 1.6rem;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .4px;
    line-height: 1.4;
    box-shadow: 0 2px 6px rgba(0,0,0,.08);
    transition: transform .28s cubic-bezier(.2,.7,.3,1),
                box-shadow .28s cubic-bezier(.2,.7,.3,1);
}

/* the shine: a soft diagonal light band parked off the left edge */
.new-header-5 .menu .button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, .45) 50%,
        rgba(255, 255, 255, 0) 100%);
    transform: skewX(-20deg);
    transition: left .6s cubic-bezier(.2,.7,.3,1);
    pointer-events: none;
    z-index: 1;
}

/* keep the label above the shine layer */
.new-header-5 .menu .button > * {
    position: relative;
    z-index: 2;
}

.new-header-5 .menu .button:hover,
.new-header-5 .menu .button:focus {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 12px 26px rgba(194, 162, 79, .42),
                0 4px 10px rgba(0, 0, 0, .12);
}

/* slide the shine across on hover */
.new-header-5 .menu .button:hover::before,
.new-header-5 .menu .button:focus::before {
    left: 140%;
}

/* quick press feedback */
.new-header-5 .menu .button:active {
    transform: translateY(-1px) scale(.99);
    box-shadow: 0 6px 14px rgba(194, 162, 79, .35);
}

/* --- Primary navigation --- */
.new-header-5 .menu-container {
    margin-top: 8px;
}

.new-header-5 .dropdown.menu.level-1 > li > a:not(.button) {
    position: relative;
    padding: .7rem 1.1rem;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: .3px;
    color: #1E1B16;
    transition: color .25s ease;
}

/* Animated underline on hover / active — left-to-right grow, brand gold.
   NOTE: colour hardcoded to brand gold by explicit request — the theme
   setting top_navigation_active_link_background_color was unset/transparent,
   so the line animated but stayed invisible. If brand gold changes in
   settings, update this hex too. */
.new-header-5 .dropdown.menu.level-1 > li > a:not(.button)::before {
    content: "";
    position: absolute;
    left: 1.1rem;
    right: 1.1rem;
    bottom: .35rem;
    height: 2px;
    background: #c2a24f;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .35s cubic-bezier(.2,.7,.3,1);
}

.new-header-5 .dropdown.menu.level-1 > li:hover > a:not(.button)::before,
.new-header-5 .dropdown.menu.level-1 > li.active > a:not(.button)::before,
.new-header-5 .dropdown.menu.level-1 > li.is-active > a:not(.button)::before {
    transform: scaleX(1);
}

/* Keep active item from getting a heavy background pill in this layout */
.new-header-5 .dropdown.menu.level-1 > li.active > a:not(.button),
.new-header-5 .dropdown.menu.level-1 > li > a:not(.button):hover {
    background: transparent;
    color: #C2A24F;
}

/* Base site.css turns active/hover <span> white for the pill layouts:
   .new-header ul.dropdown.menu > li.active > a:not(.button) span { color:#FFF }
   That base selector is (0,6,4). This layout has a transparent pill, so
   white = invisible on a light header. We double the .new-header-5 class
   to push specificity above the base rule WITHOUT relying on id="header"
   (this header element has no such id). */
.new-header-5.new-header-5 ul.dropdown.menu > li > a:not(.button) span {
    color: #1E1B16;
}

/* NOTE: hardcoded brand gold by explicit request (not settings-driven).
   If the brand gold ever changes in theme settings, update this hex too. */
.new-header-5.new-header-5 ul.dropdown.menu > li.active > a:not(.button) span,
.new-header-5.new-header-5 ul.dropdown.menu > li.is-active > a:not(.button) span,
.new-header-5.new-header-5 ul.dropdown.menu > li:hover > a:not(.button) span {
    color: #c2a24f;
}

/* --- Dropdown caret ---
   Base site.css paints the parent caret with a WHITE inline-SVG chevron
   sized for dark headers, so on this light header it's invisible.
   We override (high specificity) with a gold CSS-drawn caret that shows
   on a light background and rotates when the menu is open/hovered. */
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a:not(.button) {
    padding-right: 2.1rem;
    /* establish a known box: the caret aligns to the FIRST text line, not
       the link's full (mega-menu-stretched) height */
    position: relative;
}

.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent > a:not(.button)::after {
    content: "\f078";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    background-image: none;
    border: 0;
    width: auto;
    height: auto;
    font-size: 11px;
    line-height: 1;
    color: #c2a24f;
    /* The link box stretches BELOW the text (it doubles as the mega-menu
       hover/trigger area), so top:50% drifts above the label. We instead
       anchor the caret to the TOP of the link and push it down by half the
       nav line-height (~0.9em of the 15px label) so it lines up with the
       text's optical centre and stays put when the box grows. */
    position: absolute;
    right: 16px;
    left: auto;
    top: 0.95em;
    transform: translateY(-50%) rotate(0deg);
    transform-origin: center;
    transition: transform .3s cubic-bezier(.2,.7,.3,1), color .25s ease;
}

.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent:hover > a:not(.button)::after,
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent.is-active > a:not(.button)::after {
    transform: translateY(-50%) rotate(180deg);
    color: #C2A24F;
}

/* --- Submenu / mega-menu panel ---
   NOTE: real markup uses ul.is-dropdown-submenu (NOT .submenu). The
   Services menu has 11 items. Per request this is a FULL-WIDTH panel
   with 3 columns per row. Foundation positions the submenu absolutely
   against its parent <li> AND writes inline left/width via JS, which
   throws it off-screen. Fix: make the parent <li> position:static so the
   submenu anchors to the relative .menu-container instead, then pin
   left/right/top ourselves and override the JS inline values. */
.new-header-5.new-header-5 .menu-container,
.new-header-5.new-header-5 .dropdown.menu.level-1 {
    position: relative;
}

.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent {
    position: static;
}

.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu,
.new-header-5.new-header-5 .dropdown.menu li ul.submenu {
    background: #FFFFFF;
    border: 1px solid #E6DFCF;
    border-top: 3px solid #c2a24f;
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(0,0,0,.18);
    padding: .75rem;

    /* HIDDEN by default — only opens when the parent <li> is hovered/active.
       (Without this the panel stays permanently visible.) */
    display: none;

    /* full-width, pinned under the nav bar */
    position: absolute;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    margin-top: 10px;
    z-index: 200;
}

/* Show the mega-menu only on hover of the parent item (or when Foundation
   marks it active). Lay items out in a wrapping 3-column row. */
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent:hover > ul.is-dropdown-submenu,
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent.is-active > ul.is-dropdown-submenu,
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent:hover > ul.submenu,
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.is-dropdown-submenu-parent.is-active > ul.submenu {
    display: flex !important;
    flex-direction: row;
    flex-wrap: wrap !important;
    /* generous, even spacing on all sides — clean resting grid, no dividers */
    gap: 8px 14px;
    padding: 1rem 1.1rem;
    /* sequence counter for the gold numbers on each item */
    counter-reset: ww-svc;
}

/* Foundation floats/100%-widths submenu <li>; force them to thirds.
   Width is calc(33.333% - gap share) so exactly 3 fit per row WITH the
   16px column gap between them. No border dividers — the gap does the
   separating, which reads cleaner at rest. */
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li,
.new-header-5.new-header-5 .dropdown.menu li ul.submenu > li {
    flex: 0 0 calc(33.3333% - 12px) !important;
    width: calc(33.3333% - 12px) !important;
    max-width: calc(33.3333% - 12px) !important;
    min-width: 0 !important;
    float: none !important;
    box-sizing: border-box;
    padding: 0;
}

.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li > a:not(.button),
.new-header-5.new-header-5 .dropdown.menu li ul.submenu > li > a:not(.button) {
    position: relative;
    display: flex;
    align-items: center;
    counter-increment: ww-svc;
    padding: .85rem 1rem .85rem 3.4rem;
    margin: 0;
    border: 1px solid #EFE9DA;
    border-radius: 10px;
    background: #FCFAF4;
    color: #1E1B16;
    font-weight: 500;
    font-size: .92em;
    line-height: 1.35;
    white-space: normal;
    min-height: 52px;
    box-shadow: 0 1px 2px rgba(30,27,22,.04);
    transform: translateY(0);
    transition: background .28s cubic-bezier(.2,.7,.3,1),
                color .2s ease,
                border-color .28s ease,
                transform .28s cubic-bezier(.2,.7,.3,1),
                box-shadow .28s cubic-bezier(.2,.7,.3,1);
}

/* Gold icon chip seated on the left of each tile (FontAwesome 5 Pro) */
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li > a:not(.button)::before,
.new-header-5.new-header-5 .dropdown.menu li ul.submenu > li > a:not(.button)::before {
    content: "\f219";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    position: absolute;
    left: .85rem;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #F3EAD0;
    color: #9C7E32;
    font-size: .82em;
    transition: background .28s cubic-bezier(.2,.7,.3,1),
                color .28s ease,
                transform .28s cubic-bezier(.2,.7,.3,1);
}

.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li > a:not(.button):hover,
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li.active > a:not(.button),
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li.is-active > a:not(.button),
.new-header-5.new-header-5 .dropdown.menu li ul.submenu > li > a:not(.button):hover,
.new-header-5.new-header-5 .dropdown.menu li ul.submenu > li.active > a:not(.button) {
    background: #FFFFFF;
    border-color: #C2A24F;
    color: #1E1B16;
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(194,162,79,.28);
}

/* Hover: fill the number circle with solid gold + white text */
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li > a:not(.button):hover::before,
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li.active > a:not(.button)::before,
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu > li.is-active > a:not(.button)::before,
.new-header-5.new-header-5 .dropdown.menu li ul.submenu > li > a:not(.button):hover::before,
.new-header-5.new-header-5 .dropdown.menu li ul.submenu > li.active > a:not(.button)::before {
    background: #C2A24F;
    color: #FFFFFF;
    transform: translateY(-50%) scale(1.08);
}

/* span inside submenu links can inherit the base white rule — keep readable */
.new-header-5.new-header-5 .dropdown.menu li ul.is-dropdown-submenu li a:not(.button) span,
.new-header-5.new-header-5 .dropdown.menu li ul.submenu li a:not(.button) span {
    color: inherit;
}

/* --- Sticky state --- */
.new-header-5.new-header-5 .with-nav.is-stuck,
.new-header-5.new-header-5.is-stuck {
    background: #FFFFFF;
    box-shadow: 0 4px 16px rgba(0,0,0,.12);
    border-bottom: 1px solid #E6DFCF;
}

/* --- Mobile hamburger --- */
.new-header-5 .sidenav-container {
    margin-left: auto;
    /* base site.css gives this a solid gold background; make it transparent */
    background-color: transparent;
    background: transparent;
}

.new-header-5 .openMenu {
    background: #C2A24F;
    color: #1E1B16;
    height: 44px;
    width: 44px;
    border-radius: 50%;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .25s ease, box-shadow .25s ease;
}

.new-header-5 .openMenu i {
    color: #1E1B16;
    font-size: 1.25em;
}

.new-header-5 .openMenu:hover,
.new-header-5 .openMenu:focus {
    transform: scale(1.06);
    box-shadow: 0 4px 12px rgba(0,0,0,.2);
}

/* =========================================================
   MOBILE ( < 1024px )
   ========================================================= */
@media screen and (max-width: 63.9375em) {

    .new-header-5 .logo-container {
        min-height: 0;
        padding-top: .5rem;
        padding-bottom: .5rem;
        text-align: center;
        display: flex;
        justify-content: center;
    }

    /* Hide the gold gradient bottom-border on mobile */
    .new-header-5.new-header-5::after {
        display: none;
    }

    /* Stacked contact + CTA bars below the logo row */
    .new-header-5 .mobile-contact-number-section,
    .new-header-5 .mobile-contact-button-section {
        border-top: 1px solid #E6DFCF;
        text-align: center;
        line-height: 1.5;
        padding: 12px 16px;
    }

    .new-header-5 .mobile-contact-number-section .cta.sitePhoneNumber {
        justify-content: center;
        font-size: 1.05em;
    }

    .new-header-5 .mobile-contact-button-section .button {
        margin: 4px 0;
        width: 100%;
        max-width: 320px;
        padding: .85rem 1.5rem;
    }
}

/* =========================================================
   MOBILE SIDENAV (off-canvas hamburger menu)
   Styled to match the desktop nav: gold accents, card-style
   rows, diamond submenu icons, animated active state.
   NOTE: #sidenav lives in <body>, OUTSIDE the header element,
   so .new-header-5 prefixes do NOT reach it. We scope to
   #sidenav / .sidenav directly. Doubled selectors raise
   specificity over base site.css without relying on !important
   where avoidable. Brand gold #c2a24f is hardcoded by request.
   ========================================================= */

/* Panel shell */
#sidenav.sidenav {
    background: #FAF7F0;
    box-shadow: -6px 0 28px rgba(30, 27, 22, .18);
    padding: 1.25rem 1rem 2rem;
}

/* The menu list */
#sidenav .vertical.menu.accordion-menu {
    border: 0;
    margin: 0;
}

/* Every row link — turn into a clean card */
#sidenav .accordion-menu li > a:not(.button) {
    position: relative;
    display: block;
    padding: .85rem 1rem;
    margin-bottom: .5rem;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .3px;
    color: #1E1B16;
    background: #FFFFFF;
    border: 1px solid #EFE9DA;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(30, 27, 22, .05);
    transition: background .25s cubic-bezier(.2,.7,.3,1),
                border-color .25s ease,
                color .25s ease,
                box-shadow .25s ease,
                transform .2s cubic-bezier(.2,.7,.3,1);
}

#sidenav .accordion-menu li > a:not(.button) span {
    color: inherit;
}

/* Hover / focus on a row */
#sidenav .accordion-menu li > a:not(.button):hover,
#sidenav .accordion-menu li > a:not(.button):focus {
    background: #FCFAF4;
    border-color: #C2A24F;
    color: #9C7E32;
    box-shadow: 0 6px 16px rgba(194, 162, 79, .22);
    transform: translateX(3px);
}

/* Active top-level item ("old Home") — solid gold accent */
#sidenav .accordion-menu > li.active > a:not(.button) {
    background: #C2A24F;
    border-color: #C2A24F;
    color: #FFFFFF;
    box-shadow: 0 8px 20px rgba(194, 162, 79, .38);
}

#sidenav .accordion-menu > li.active > a:not(.button) span {
    color: #FFFFFF;
}

/* --- Services parent: caret on the right ---
   Foundation's accordion paints its OWN arrow as a CSS-border triangle on
   the same ::after, and adds list borders that clash with our card edge.
   We fully reset those: border:0 + background:none kills the triangle, and
   we neutralise the base item border so only our rounded card shows. */
#sidenav .accordion-menu li.is-accordion-submenu-parent > a:not(.button) {
    padding-right: 2.6rem;
    border: 1px solid #EFE9DA;
}

#sidenav .accordion-menu li.is-accordion-submenu-parent > a:not(.button)::after {
    content: "\f078";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: 11px;
    line-height: 1;
    color: #C2A24F;
    /* hard-reset Foundation's border-triangle arrow */
    border: 0 !important;
    background: none !important;
    width: auto;
    height: auto;
    margin: 0;
    position: absolute;
    right: 1rem;
    left: auto;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transform-origin: center;
    transition: transform .3s cubic-bezier(.2,.7,.3,1), color .25s ease;
}

/* caret flips when the accordion is expanded */
#sidenav .accordion-menu li.is-accordion-submenu-parent[aria-expanded="true"] > a:not(.button)::after {
    transform: translateY(-50%) rotate(180deg);
}

/* hover on parent: keep caret readable on the hover bg */
#sidenav .accordion-menu li.is-accordion-submenu-parent > a:not(.button):hover::after {
    color: #9C7E32;
}

/* kill any base list border/background on the accordion <li> wrappers so
   only our card border (on the <a>) defines each row's edges */
#sidenav .accordion-menu li,
#sidenav .accordion-menu li.is-accordion-submenu-parent {
    border: 0;
    background: transparent;
}

/* --- Submenu (Services children) --- */
#sidenav .accordion-menu .is-accordion-submenu {
    margin: 0 0 .5rem 0;
    padding: .25rem 0 .25rem .75rem;
    border-left: 2px solid #E3D2A0;
}

/* submenu rows: lighter cards with a diamond icon */
#sidenav .accordion-menu .is-accordion-submenu li > a:not(.button) {
    padding: .7rem .9rem .7rem 2.6rem;
    margin-bottom: .4rem;
    font-size: 14px;
    font-weight: 400;
    background: #FCFAF4;
    border: 1px solid #EFE9DA;
}

/* override the inherited padding-left-1 utility on submenu spans
   so our icon-seat padding controls the layout */
#sidenav .accordion-menu .is-accordion-submenu li > a:not(.button) span.padding-left-1 {
    padding-left: 0 !important;
}

/* diamond icon chip on submenu rows */
#sidenav .accordion-menu .is-accordion-submenu li > a:not(.button)::before {
    content: "\f219";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: .72em;
    position: absolute;
    left: .8rem;
    top: 50%;
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #F3EAD0;
    color: #9C7E32;
    transition: background .28s cubic-bezier(.2,.7,.3,1),
                color .28s ease,
                transform .28s cubic-bezier(.2,.7,.3,1);
}

/* submenu row hover: fill the chip gold */
#sidenav .accordion-menu .is-accordion-submenu li > a:not(.button):hover {
    background: #FFFFFF;
    border-color: #C2A24F;
    color: #1E1B16;
    transform: translateX(3px);
}

#sidenav .accordion-menu .is-accordion-submenu li > a:not(.button):hover::before {
    background: #C2A24F;
    color: #FFFFFF;
    transform: translateY(-50%) scale(1.08);
}

/* =========================================================
   FOOTER — dark luxury (charcoal + gold)
   Scoped to #footer (this element HAS an id, unlike the header).
   Brand gold #C2A24F hardcoded by request; charcoal #1E1B16.
   ========================================================= */

/* Shell */
#footer {
    background: #1E1B16;
    background:
        radial-gradient(1200px 400px at 50% -10%, rgba(194,162,79,.10), transparent 60%),
        #1E1B16;
    color: #C9C2B4;
    margin-top: 0;
    padding: 0 0 1.25rem;
    position: relative;
}

/* a thin gold top accent line across the whole footer */
#footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg,
        rgba(194,162,79,0) 0%,
        #C2A24F 25%,
        #E3D2A0 50%,
        #C2A24F 75%,
        rgba(194,162,79,0) 100%);
}

/* kill the default <hr> separators — we use our own spacing/borders */
#footer hr {
    border: 0;
    border-top: 1px solid rgba(194,162,79,.18);
    opacity: 1;
}

/* Column wrappers */
#footer .footer2 {
    padding-left: 1rem;
    padding-right: 1rem;
}

#footer .column-container {
    padding: .5rem 0;
}

/* Section headings — gold, uppercase, with a short underline accent */
#footer h4 {
    position: relative;
    color: #FFFFFF;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: .8px;
    text-transform: uppercase;
    margin: 0 0 1.4rem;
    padding-bottom: .65rem;
}

#footer h4::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 2px;
    background: #C2A24F;
}

/* centered layout class is on the footer, but we left-align footer content
   on mobile (cleaner with icons), so the underline sits under the heading */
#footer .text-center h4::after {
    left: 0;
    transform: none;
}

/* --- Links column --- */
#footer .links-section ul.no-bullet {
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer .links-section ul.no-bullet li {
    margin: 0 0 .15rem;
}

#footer .links-section ul.no-bullet li a {
    position: relative;
    display: inline-block;
    padding: .35rem 0 .35rem 1rem;
    color: #C9C2B4;
    font-size: .95rem;
    text-decoration: none;
    transition: color .25s ease, transform .25s cubic-bezier(.2,.7,.3,1);
}

/* gold ">" marker before each link */
#footer .links-section ul.no-bullet li a::before {
    content: "\f054";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: .6rem;
    color: #C2A24F;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform .25s cubic-bezier(.2,.7,.3,1);
}

#footer .links-section ul.no-bullet li a:hover {
    color: #FFFFFF;
    transform: translateX(4px);
}

#footer .links-section ul.no-bullet li a:hover::before {
    color: #E3D2A0;
}

/* --- Social icons column --- */
#footer .social-media-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

#footer .text-center .social-media-icons,
#footer .media-section .social-media-icons {
    justify-content: flex-start;
}

#footer .social-media-icons li {
    margin: 0;
}

#footer .social-media-icons li a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(194,162,79,.12);
    border: 1px solid rgba(194,162,79,.35);
    color: #E3D2A0;
    transition: background .28s cubic-bezier(.2,.7,.3,1),
                color .28s ease,
                border-color .28s ease,
                transform .28s cubic-bezier(.2,.7,.3,1),
                box-shadow .28s ease;
}

#footer .social-media-icons li a i,
#footer .social-media-icons li a svg {
    font-size: 1.05rem;
    color: inherit;
    fill: currentColor;
}

#footer .social-media-icons li a:hover {
    background: #C2A24F;
    border-color: #C2A24F;
    color: #1E1B16;
    transform: translateY(-3px);
    box-shadow: 0 8px 18px rgba(194,162,79,.4);
}

/* --- Subscribe column / button --- */
#footer .newsletter .button,
#footer .newsletter-section .button {
    position: relative;
    overflow: hidden;
    display: inline-block;
    margin-top: .25rem;
    padding: .8rem 1.7rem;
    background: #C2A24F;
    color: #1E1B16;
    font-weight: 600;
    font-size: .95rem;
    letter-spacing: .4px;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,.3);
    transition: transform .28s cubic-bezier(.2,.7,.3,1),
                box-shadow .28s cubic-bezier(.2,.7,.3,1),
                background .28s ease;
}

/* shine sweep on the subscribe button */
#footer .newsletter .button::before,
#footer .newsletter-section .button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    width: 80%;
    height: 100%;
    background: linear-gradient(120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.5) 50%,
        rgba(255,255,255,0) 100%);
    transform: skewX(-20deg);
    transition: left .6s cubic-bezier(.2,.7,.3,1);
    pointer-events: none;
}

#footer .newsletter .button:hover,
#footer .newsletter-section .button:hover {
    background: #D4B45F;
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(194,162,79,.45);
}

#footer .newsletter .button:hover::before,
#footer .newsletter-section .button:hover::before {
    left: 140%;
}

/* --- Contact column --- */
#footer .contact-section a {
    color: #C9C2B4;
    text-decoration: none;
    transition: color .25s ease;
}

#footer .contact-section .address-container {
    position: relative;
    padding-left: 1.8rem;
    margin: 0 0 .9rem;
    font-size: .95rem;
    line-height: 1.6;
}

#footer .contact-section .contact-number,
#footer .contact-section .contact-email {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: .6rem;
    font-size: .95rem;
}

/* gold icons for address / phone / email */
#footer .contact-section .address-container::before,
#footer .contact-section .contact-number::before,
#footer .contact-section .contact-email::before {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    color: #C2A24F;
    position: absolute;
    left: 0;
    top: .15rem;
    font-size: .95rem;
}

#footer .contact-section .address-container::before { content: "\f3c5"; }   /* map-marker-alt */
#footer .contact-section .contact-number::before    { content: "\f879"; }   /* phone-alt */
#footer .contact-section .contact-email::before      { content: "\f0e0"; }   /* envelope */

#footer .contact-section a:hover,
#footer .contact-section .contact-number a:hover,
#footer .contact-section .contact-email a:hover {
    color: #E3D2A0;
}

/* on centered mobile, pull icon-padded blocks back to centre */
#footer .text-center .contact-section .address-container,
#footer .text-center .contact-section .contact-number,
#footer .text-center .contact-section .contact-email {
    display: inline-block;
    text-align: left;
}

/* --- Copyright bar --- */
#footer .copyright {
    color: #8A8372;
    font-size: .85rem;
    line-height: 1.7;
    margin: 0;
    letter-spacing: .3px;
}

#footer .copyright a {
    color: #C2A24F;
    text-decoration: none;
    transition: color .25s ease;
}

#footer .copyright a:hover {
    color: #E3D2A0;
}

/* MOBILE: centre every footer element cleanly. Contact rows use
   inline-block so the gold icon + text stay together while the block
   itself is centred (avoids the scattered look of plain text-align). */
@media screen and (max-width: 63.9375em) {
    #footer .footer2 .cell {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
        text-align: center;
    }

    /* headings + underline centred */
    #footer h4,
    #footer .text-center h4 {
        text-align: center;
    }
    #footer h4::after,
    #footer .text-center h4::after {
        left: 50%;
        transform: translateX(-50%);
    }

    /* links centred */
    #footer .links-section ul.no-bullet {
        text-align: center;
    }
    #footer .links-section ul.no-bullet li a {
        justify-content: center;
    }

    /* social icons centred */
    #footer .social-media-icons,
    #footer .text-center .social-media-icons {
        justify-content: center;
    }

    /* contact: each row is a FULL-WIDTH block (stacked one-per-row like
       desktop), centred. Symmetric padding balances the absolute gold icon
       so the icon+text pair sits centred together. */
    #footer .contact-section,
    #footer .text-center .contact-section {
        text-align: center;
    }
    #footer .text-center .contact-section .address-container,
    #footer .text-center .contact-section .contact-number,
    #footer .text-center .contact-section .contact-email {
        display: block;
        width: 100%;
        text-align: center;
        padding-left: 1.8rem;
        padding-right: 1.8rem;
    }
    /* re-anchor the absolute icon next to the centred text */
    #footer .text-center .contact-section .address-container::before,
    #footer .text-center .contact-section .contact-number::before,
    #footer .text-center .contact-section .contact-email::before {
        left: auto;
        position: static;
        display: inline;
        margin-right: .5rem;
    }

    /* copyright centred */
    #footer .copyright {
        text-align: center;
    }
}


/* ############################################################################
   #4 · HOME PAGE SECTIONS
   ############################################################################ */


/* ============================================================
   OLD AI PAGES — 3-LEVEL NESTED DROPDOWN FIX
   The mega-menu CSS hides any submenu nested inside a submenu
   (level-3). This turns ".handle-old-ai-pages" into a classic
   vertical dropdown whose "Old Services" row flies its level-3
   submenu out to the LEFT (opens-left). Scoped by handle class,
   so the main Services mega-menu is untouched. CSS-only (hover
   / .is-active) — Webware safe.
   ============================================================ */

/* anchor this item's panels to itself (not the full-width nav bar) */
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.handle-old-ai-pages.is-dropdown-submenu-parent {
    position: relative;
}

/* LEVEL-2 panel: narrow vertical column, right-aligned (opens-left) */
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu {
    left: auto !important;
    right: 0 !important;
    width: 252px !important;
    min-width: 252px;
}

/* every nested row here is full-width (kill the 1/3 mega-menu thirds) */
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu > li {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* LEVEL-2 open state -> vertical list (override row/thirds flex) */
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.handle-old-ai-pages.is-dropdown-submenu-parent:hover > ul.is-dropdown-submenu,
.new-header-5.new-header-5 .dropdown.menu.level-1 > li.handle-old-ai-pages.is-dropdown-submenu-parent.is-active > ul.is-dropdown-submenu {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    padding: .55rem !important;
}

/* the "Old Services" row anchors its own flyout + shows a ‹ hint */
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu li.is-dropdown-submenu-parent {
    position: relative;
}
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu li.is-dropdown-submenu-parent > a:not(.button)::after {
    content: "‹";
    margin-left: auto;
    padding-left: .6rem;
    color: #c2a24f;
    font-size: 1rem;
    line-height: 1;
}

/* LEVEL-3 flyout — hidden, opens to the LEFT of its row */
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu li.is-dropdown-submenu-parent > ul.is-dropdown-submenu {
    display: none;
    position: absolute !important;
    top: -.55rem !important;
    right: 100% !important;
    left: auto !important;
    width: 272px !important;
    min-width: 272px;
    margin-right: -4px !important;   /* tiny overlap -> no hover dead-zone */
    margin-top: 0 !important;
    max-height: 78vh;
    overflow-y: auto;
}

/* reveal LEVEL-3 on hover / active of the "Old Services" row */
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu li.is-dropdown-submenu-parent:hover > ul.is-dropdown-submenu,
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu li.is-dropdown-submenu-parent.is-active > ul.is-dropdown-submenu {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 2px !important;
    padding: .55rem !important;
}

/* LEVEL-3 rows full width too */
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu li.is-dropdown-submenu-parent > ul.is-dropdown-submenu > li {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* plain vertical list -> drop the gold mega-menu number on this menu */
.new-header-5.new-header-5 .dropdown.menu li.handle-old-ai-pages ul.is-dropdown-submenu > li > a:not(.button)::before {
    display: none !important;
}


/* ============================================================
   LMH REAL ESTATE — HOME PAGE SECTIONS  (append to site.css)
   Sections: 0 Hero · 1 Blog CTA · 2 Trust · 3-5 Features
             6 Service Area (radar + region cards) · 7 CTA
   All section backgrounds asserted via `.is-wrapper > div.X`
   to beat the base `.is-wrapper > div { background:transparent }`.
   ============================================================ */

/* ============================================================
   SHARED TOKENS
   ============================================================ */
.lmh-home-eyebrow {
    display: inline-block; position: relative;
    padding-left: 42px;
    font: 600 .8rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .18em; text-transform: uppercase;
    color: #9C7E32;
}
.lmh-home-eyebrow::before {
    content: ""; position: absolute; left: 0; top: 50%;
    width: 30px; height: 2px; background: #C2A24F;
    transform: translateY(-50%);
}
.lmh-home-eyebrow--light { color: #E3D2A0; }

.lmh-home-h2 {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.9rem, 3.4vw, 2.9rem);
    line-height: 1.18; font-weight: 700;
    color: #1E1B16; margin: 1rem 0 0;
    letter-spacing: -.3px; text-wrap: balance;
}

.lmh-home-lead {
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    line-height: 1.75; color: #4A453C;
    margin: 1.1rem 0 0; max-width: 60ch;
}

/* base button (gold sheen on hover) */
/* Works on <a>, <button> AND <input type="submit"/"button">.
   Shimmer animates the element's own background-position (no pseudo-element),
   so it renders on input buttons too. */
.lmh-home-btn {
    position: relative;
    display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
    padding: 1rem 2rem;
    font: 600 1rem/1 "Inter", Arial, sans-serif;
    border: 0; border-radius: 50px;
    text-align: center; text-decoration: none; cursor: pointer;
    -webkit-appearance: none; appearance: none;
    background-repeat: no-repeat;
    transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease,
                background-color .3s ease, color .3s ease, border-color .3s ease,
                background-position .6s ease;
}
.lmh-home-btn i { transition: transform .3s cubic-bezier(.2,.7,.3,1); }
.lmh-home-btn:hover i { transform: translateX(4px); }

/* ---- Auto-apply to Webware FORM / INPUT submit buttons inside any LMH
   section (no manual class needed). Scoped to .lmh-home-* wrappers so it
   never touches header/footer/global buttons. Works on:
   input[type=submit|button|reset], <button>, .button, .btn, .is-btn. ---- */
[class*="lmh-home-"] .ww-form-container input[type="submit"],
[class*="lmh-home-"] .ww-form-container input[type="button"],
[class*="lmh-home-"] .ww-form-container input[type="reset"],
[class*="lmh-home-"] .ww-form-container button[type="submit"],
[class*="lmh-home-"] .ww-form-container .button,
[class*="lmh-home-"] .ww-form-container .btn,
[class*="lmh-home-"] .ww-form-container .is-btn,
[class*="lmh-home-"] form input[type="submit"],
[class*="lmh-home-"] form input[type="button"],
[class*="lmh-home-"] form button[type="submit"] {
    position: relative;
    display: inline-flex; align-items: center; justify-content: center;
    width: auto; min-height: 0;
    padding: 1rem 2.4rem;
    font: 600 1rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .2px;
    border: 0; border-radius: 50px;
    text-align: center; text-decoration: none; cursor: pointer;
    -webkit-appearance: none; appearance: none;
    background-repeat: no-repeat;
    color: #1E1B16;
    background-color: #C2A24F;
    background-image:
        linear-gradient(100deg, transparent 0%, transparent 40%, rgba(255,255,255,.55) 50%, transparent 60%, transparent 100%),
        linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    background-size: 250% 100%, 100% 100%;
    background-position: 150% 0, 0 0;
    box-shadow: 0 14px 32px rgba(194,162,79,.34);
    transition: transform .3s cubic-bezier(.2,.7,.3,1), box-shadow .3s ease,
                background-color .3s ease, color .3s ease, border-color .3s ease,
                background-position .6s ease;
}
[class*="lmh-home-"] .ww-form-container input[type="submit"]:hover,
[class*="lmh-home-"] .ww-form-container input[type="button"]:hover,
[class*="lmh-home-"] .ww-form-container input[type="reset"]:hover,
[class*="lmh-home-"] .ww-form-container button[type="submit"]:hover,
[class*="lmh-home-"] .ww-form-container .button:hover,
[class*="lmh-home-"] .ww-form-container .btn:hover,
[class*="lmh-home-"] .ww-form-container .is-btn:hover,
[class*="lmh-home-"] form input[type="submit"]:hover,
[class*="lmh-home-"] form input[type="button"]:hover,
[class*="lmh-home-"] form button[type="submit"]:hover,
[class*="lmh-home-"] .ww-form-container input[type="submit"]:focus,
[class*="lmh-home-"] .ww-form-container button[type="submit"]:focus,
[class*="lmh-home-"] form input[type="submit"]:focus {
    transform: translateY(-3px);
    color: #181511;
    background-image:
        linear-gradient(100deg, transparent 0%, transparent 40%, rgba(255,255,255,.55) 50%, transparent 60%, transparent 100%),
        linear-gradient(135deg, #F0E4BE, #D6B65E 55%, #B68F38);
    background-position: -150% 0, 0 0;
    box-shadow: 0 18px 40px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.28) inset;
    outline: none;
}

.lmh-home-btn--solid {
    color: #fff;
    background-color: #1E1B16;
    background-image: linear-gradient(100deg, transparent 0%, transparent 40%, rgba(255,255,255,.28) 50%, transparent 60%, transparent 100%);
    background-size: 250% 100%; background-position: 150% 0;
}
.lmh-home-btn--solid:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(30,27,22,.3);
    background-position: -150% 0;
}

.lmh-home-btn--gold {
    color: #1E1B16;
    background-color: #C2A24F;
    background-image:
        linear-gradient(100deg, transparent 0%, transparent 40%, rgba(255,255,255,.55) 50%, transparent 60%, transparent 100%),
        linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    background-size: 250% 100%, 100% 100%;
    background-position: 150% 0, 0 0;
    box-shadow: 0 14px 32px rgba(194,162,79,.34);
}
.lmh-home-btn--gold:hover {
    transform: translateY(-3px);
    color: #181511;
    background-image:
        linear-gradient(100deg, transparent 0%, transparent 40%, rgba(255,255,255,.55) 50%, transparent 60%, transparent 100%),
        linear-gradient(135deg, #F0E4BE, #D6B65E 55%, #B68F38);
    background-position: -150% 0, 0 0;
    box-shadow: 0 18px 40px rgba(0,0,0,.32), 0 0 0 1px rgba(255,255,255,.28) inset;
}

.lmh-home-btn--ghost {
    color: #F4EDDC;
    background-color: transparent;
    background-image: linear-gradient(100deg, transparent 0%, transparent 40%, rgba(194,162,79,.35) 50%, transparent 60%, transparent 100%);
    background-size: 250% 100%; background-position: 150% 0;
    border: 1px solid rgba(194,162,79,.5); box-shadow: none;
}
.lmh-home-btn--ghost:hover {
    border-color: #C2A24F; color: #FFFFFF;
    background-color: rgba(194,162,79,.12);
    background-position: -150% 0;
}


/* ============================================================
   SECTION 0 — HERO (Webware HERO wrapper, re-themed)
   ============================================================ */
.is-wrapper > div.bnl-0 { background: #141109; }
.bnl-0 { position: relative; overflow: hidden; }
.bnl-0 .pos-rel-ban { position: relative; }

/* DESKTOP — content overlays the image */
.bnl-0 .pos-ab-ban {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 3;
}

/* banner image (tall for overlay) */
.bnl-0 .cell.full img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: clamp(460px, 64vh, 740px);
    object-fit: cover;
}

/* cinematic gold-dark scrim (behind text on desktop) */
.bnl-0 .bn-overlay {
    display: block;
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(90deg,
            rgba(13,12,9,.88) 0%,
            rgba(18,16,12,.62) 44%,
            rgba(18,16,12,.12) 100%),
        radial-gradient(720px 380px at 12% 84%, rgba(194,162,79,.34), transparent 60%),
        radial-gradient(620px 360px at 96% 4%,  rgba(194,162,79,.14), transparent 62%);
}

/* gold top accent line across the hero */
.bnl-0 .pos-rel-ban::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    z-index: 4;
    pointer-events: none;
    background: linear-gradient(90deg,
        #9C7E32, #E3D2A0 45%, #C2A24F 70%, rgba(194,162,79,0));
}

/* glass content panel (desktop) with gold corner brackets */
.bnl-0 .bn-content {
    position: relative;
    max-width: 720px;
    text-align: left;
    margin: 0 auto 0 0;
    padding: 2.8rem 2.8rem 2.6rem;
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(28,24,18,.62), rgba(20,17,13,.58));
    border: 1px solid rgba(194,162,79,.34);
    border-left: 3px solid #C2A24F;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    box-shadow: 0 36px 80px rgba(0,0,0,.5),
                inset 0 1px 0 rgba(255,255,255,.05);
    color: #FFFFFF;
    overflow: visible;
}
.bnl-0 .bn-content::before {
    content: "";
    position: absolute;
    top: 14px; right: 14px;
    width: 46px; height: 46px;
    border-top: 2px solid rgba(194,162,79,.70);
    border-right: 2px solid rgba(194,162,79,.70);
    border-top-right-radius: 10px;
    pointer-events: none;
}
.bnl-0 .bn-content::after {
    content: "";
    position: absolute;
    bottom: 14px; left: 14px;
    width: 46px; height: 46px;
    border-bottom: 2px solid rgba(194,162,79,.45);
    border-left: 2px solid rgba(194,162,79,.45);
    border-bottom-left-radius: 10px;
    pointer-events: none;
}

/* kicker / eyebrow pill */
.bnl-0-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    color: #E3D2A0;
    margin-bottom: 1.1rem;
    padding: .45rem .9rem;
    border-radius: 50px;
    background: rgba(194,162,79,.12);
    border: 1px solid rgba(194,162,79,.34);
}
.bnl-0-kicker i { color: #C2A24F; font-size: .9rem; }

.bnl-0 .banner-main-heading {
    font-family: "Playfair Display", Georgia, serif;
    color: #FFFFFF; font-weight: 700;
    font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.12;
    letter-spacing: -.5px; margin: 1.15rem 0 0; text-wrap: balance;
    overflow-wrap: normal; word-break: normal; hyphens: none;
}
.bnl-0-accent {
    background: linear-gradient(120deg, #E3D2A0, #C2A24F 60%, #9C7E32);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: #C2A24F;
}
.bnl-0-sub {
    color: #D8D2C6; font-size: clamp(1rem, 1.5vw, 1.18rem);
    line-height: 1.7; margin: 1.2rem 0 0; max-width: 600px;
}
.bnl-0-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 2rem; }

.bnl-0 .bnl-0-btn-primary, .bnl-0 .bnl-0-btn-ghost {
    display: inline-flex; align-items: center; gap: .6rem;
    padding: 1rem 2rem; border-radius: 50px;
    font: 600 1rem/1 "Inter", Arial, sans-serif;
    text-decoration: none; cursor: pointer; border: 1px solid transparent;
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease,
                border-color .3s ease, color .3s ease;
}
.bnl-0 .bnl-0-btn-primary i, .bnl-0 .bnl-0-btn-ghost i { transition: transform .3s ease; }
.bnl-0 .bnl-0-btn-primary:hover i { transform: translateX(4px); }
.bnl-0 .bnl-0-btn-primary {
    color: #1E1B16;
    background: linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    box-shadow: 0 16px 36px rgba(194,162,79,.4);
}
.bnl-0 .bnl-0-btn-primary:hover { transform: translateY(-3px); box-shadow: 0 22px 46px rgba(194,162,79,.5); color: #1E1B16; }
.bnl-0 .bnl-0-btn-ghost {
    color: #F4EDDC; background: rgba(255,255,255,.06);
    border-color: rgba(244,237,220,.5);
}
.bnl-0 .bnl-0-btn-ghost:hover { transform: translateY(-3px); border-color: #fff; background: rgba(255,255,255,.14); color: #fff; }


/* ============================================================
   SECTION 1 — BLOG CTA  (cream + dark premium card)
   ============================================================ */
.is-wrapper > div.lmh-home-blogcta { background: #FBF8F1; }

.lmh-home-blogcta__accent {
    background: linear-gradient(120deg, #C2A24F, #9C7E32);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: #9C7E32;
}
.lmh-home-blogcta__chips {
    list-style: none; margin: 1.6rem 0 0; padding: 0;
    display: flex; flex-wrap: wrap; gap: .7rem;
}
.lmh-home-blogcta__chips li {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .55rem 1rem; border-radius: 50px;
    background: #FFFFFF; border: 1px solid #EFE9DA; color: #4A453C;
    font: 600 .9rem/1 "Inter", Arial, sans-serif;
    box-shadow: 0 4px 12px rgba(30,27,22,.05);
}
.lmh-home-blogcta__chips li i { color: #C2A24F; }

.lmh-home-blogcta__action { display: flex; justify-content: flex-end; }
.lmh-home-blogcta__card {
    position: relative; overflow: hidden;
    max-width: 420px; width: 100%; padding: 2.4rem 2rem;
    border-radius: 20px; color: #F4EDDC;
    background:
        radial-gradient(520px 320px at 100% 0%, rgba(194,162,79,.20), transparent 60%),
        linear-gradient(160deg, #241F18, #16130E);
    box-shadow: 0 30px 60px rgba(30,27,22,.28);
}
.lmh-home-blogcta__card::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, #9C7E32, #E3D2A0, #9C7E32);
}
.lmh-home-blogcta__badge {
    display: inline-flex; align-items: center; gap: .5rem;
    padding: .4rem .9rem; border-radius: 50px;
    background: rgba(194,162,79,.16); border: 1px solid rgba(194,162,79,.4);
    color: #E3D2A0; font: 600 .72rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .1em; text-transform: uppercase;
}
.lmh-home-blogcta__icon {
    width: 64px; height: 64px; margin-top: 1.2rem; border-radius: 16px;
    display: grid; place-items: center;
    background: linear-gradient(135deg, #C2A24F, #9C7E32);
    color: #1E1B16; font-size: 1.6rem;
    box-shadow: 0 10px 24px rgba(194,162,79,.4);
}
.lmh-home-blogcta__cardtitle {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 1.5rem; line-height: 1.25; color: #FFFFFF;
    margin: 1.1rem 0 0; text-wrap: balance;
}
.lmh-home-blogcta__cardtext {
    color: #C9C2B4; font-size: .98rem; line-height: 1.7;
    margin: .7rem 0 1.4rem;
}
.lmh-home-blogcta__cardbtn {
    color: #1E1B16;
    background: linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    box-shadow: 0 12px 28px rgba(194,162,79,.34);
}
.lmh-home-blogcta__cardbtn:hover { transform: translateY(-3px); box-shadow: 0 18px 38px rgba(194,162,79,.46); }


/* ============================================================
   SECTION 2 — TRUST STRIP  (dark, CSS marquee)
   ============================================================ */
.is-wrapper > div.lmh-home-trust { background: #1E1B16; }
.lmh-home-trust .is-container { margin-top: 48px; margin-bottom: 48px; }

.lmh-home-trust__inner {
    display: flex; align-items: center; justify-content: center;
    gap: 1.2rem; text-align: center;
}
.lmh-home-trust__rule {
    flex: 1; max-width: 120px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(194,162,79,.5));
}
.lmh-home-trust__rule:last-child {
    background: linear-gradient(90deg, rgba(194,162,79,.5), transparent);
}
.lmh-home-trust__title {
    margin: 0; color: #C9C2B4;
    font: 600 .85rem/1.4 "Inter", Arial, sans-serif;
    letter-spacing: .14em; text-transform: uppercase;
}
.lmh-home-trust__logos {
    margin-top: 2rem; overflow: hidden;
    -webkit-mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
            mask: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.lmh-home-trust__track {
    display: flex; width: max-content; align-items: center;
    will-change: transform;
    animation: lmhMarquee 32s linear infinite;
}
.lmh-home-trust__logos:hover .lmh-home-trust__track { animation-play-state: paused; }
.lmh-home-trust__logo { flex: 0 0 auto; padding: 0 2.6rem; }
.lmh-home-trust__logo img {
    display: block; max-height: 40px; width: auto;
    opacity: .5; filter: grayscale(1) brightness(1.7);
    transition: opacity .3s ease, filter .3s ease;
}
.lmh-home-trust__logo img:hover { opacity: 1; filter: grayscale(0) brightness(1); }
@keyframes lmhMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }


/* ============================================================
   SECTION 3-5 — FEATURES  (full-bleed, zig-zag)
   ============================================================ */
.is-wrapper > div.lmh-home-feat--a { background: #FFFFFF; }
.is-wrapper > div.lmh-home-feat--c { background: #FFFFFF; }
.is-wrapper > div.lmh-home-feat--b { background: #FAF7F0; }

.lmh-feat-media {
    position: relative; overflow: hidden; min-height: 440px;
}
.lmh-feat-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.lmh-feat-media__scrim {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, rgba(20,17,13,.05), rgba(20,17,13,.35));
    pointer-events: none;
}
.lmh-feat-media__badge {
    position: absolute; left: 1.6rem; bottom: 1.2rem; z-index: 2;
    font-family: "Playfair Display", Georgia, serif; font-weight: 700;
    font-size: clamp(3rem, 6vw, 5rem); line-height: 1;
    color: rgba(255,255,255,.92);
    text-shadow: 0 8px 30px rgba(0,0,0,.4);
}
.lmh-feat-media__badge::after {
    content: ""; display: block; width: 54px; height: 3px; margin-top: .4rem;
    background: #C2A24F;
}

.lmh-feat-text { display: flex; align-items: center; justify-content: center; }
.lmh-feat-text__inner {
    padding: clamp(2.6rem, 5vw, 5rem) clamp(1.6rem, 5vw, 4.2rem);
    max-width: 720px;
}
.lmh-home-feat__title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(1.7rem, 3vw, 2.5rem); line-height: 1.2; font-weight: 700;
    color: #1E1B16; margin: 1rem 0 0; letter-spacing: -.3px; text-wrap: balance;
}
.lmh-home-feat__body {
    font-size: 1.04rem; line-height: 1.8; color: #4A453C; margin: 1.1rem 0 0;
}
.lmh-home-quote {
    position: relative; margin: 1.8rem 0 0; padding: 1.2rem 1.4rem;
    background: rgba(194,162,79,.07); border-left: 3px solid #C2A24F;
    border-radius: 0 12px 12px 0;
}
.lmh-home-quote__mark { color: #C2A24F; font-size: 1.2rem; }
.lmh-home-quote__text { font-style: italic; color: #4A453C; line-height: 1.7; margin: .5rem 0 0; }
.lmh-home-quote__cite { display: block; margin-top: .7rem; font-style: normal; font-weight: 700; color: #9C7E32; }

/* zig-zag: B = text left / art right (text stays centered in its half) */
.lmh-home-feat--b .lmh-feat-media { order: 2; }
.lmh-home-feat--b .lmh-feat-text  { order: 1; }


/* ============================================================
   SECTION 6 — SERVICE AREA  (radar dashboard + region cards)
   ============================================================ */
.is-wrapper > div.lmh-home-area { background: #FBF8F1; }
.lmh-area6 { text-align: center; }
.lmh-area6 .lmh-home-eyebrow { padding-left: 0; }
.lmh-area6 .lmh-home-eyebrow::before { display: none; }
.lmh-area6 .lmh-home-h2 { margin-top: .6rem; }
.lmh-area6__lead {
    color: #4A453C; font-size: clamp(1rem, 1.4vw, 1.1rem); line-height: 1.7;
    margin: 1rem auto 0; max-width: 620px;
}

.lmh-area6__card {
    display: flex; flex-wrap: wrap; position: relative; overflow: hidden;
    max-width: 1120px; margin: 2.6rem auto 0; text-align: left;
    background: #FFFFFF; border: 1px solid #EFE9DA; border-radius: 24px;
    box-shadow: 0 30px 70px rgba(30,27,22,.10);
}
.lmh-area6__card::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px; z-index: 2;
    background: linear-gradient(90deg, #9C7E32, #E3D2A0, #9C7E32);
}

/* LEFT — radar map */
.lmh-area6__map {
    flex: 0 0 42%; position: relative; overflow: hidden;
    min-height: 460px; padding: 2.2rem;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center;
    background: radial-gradient(120% 100% at 50% 0%, #2A2419, #181511 70%);
}
.lmh-area6__map::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(194,162,79,.16) 1px, transparent 1.5px);
    background-size: 22px 22px;
    -webkit-mask: radial-gradient(80% 80% at 50% 45%, #000, transparent 75%);
            mask: radial-gradient(80% 80% at 50% 45%, #000, transparent 75%);
    opacity: .5;
}
.lmh-area6__badge {
    position: absolute; top: 1.2rem; left: 1.2rem; z-index: 3;
    padding: .4rem .9rem; border-radius: 50px;
    background: rgba(194,162,79,.16); border: 1px solid rgba(194,162,79,.45);
    color: #E3D2A0; font: 600 .72rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .1em; text-transform: uppercase;
}
.lmh-area6__radar {
    position: relative; width: 240px; height: 240px; border-radius: 50%;
    background: repeating-radial-gradient(circle at center, rgba(194,162,79,.16) 0 1px, transparent 1px 40px);
    border: 1px solid rgba(194,162,79,.22);
}
.lmh-area6__sweep {
    position: absolute; inset: 0; border-radius: 50%;
    background: conic-gradient(from 0deg, rgba(194,162,79,.5), rgba(194,162,79,0) 65%);
    animation: lmhRadar 5.5s linear infinite;
}
@keyframes lmhRadar { to { transform: rotate(360deg); } }
.lmh-area6__pin {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); z-index: 2;
    font-size: 1.8rem;
}
.lmh-area6__pin i {
    background: linear-gradient(135deg, #E3D2A0, #9C7E32);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: #C2A24F;
}
.lmh-area6__pin::before, .lmh-area6__pin::after {
    content: ""; position: absolute; top: 50%; left: 50%;
    transform: translate(-50%,-50%); border-radius: 50%;
    border: 1px solid rgba(194,162,79,.5);
    animation: lmhPing 2.8s ease-out infinite;
}
.lmh-area6__pin::after { animation-delay: 1.4s; }
@keyframes lmhPing {
    0%   { width: 10px; height: 10px; opacity: .8; }
    100% { width: 92px; height: 92px; opacity: 0; }
}
.lmh-area6__region {
    font-family: "Playfair Display", Georgia, serif; color: #FFFFFF;
    font-size: 1.4rem; margin: 1.6rem 0 0;
}
.lmh-area6__sub {
    color: #8A8372; font: 600 .75rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .14em; text-transform: uppercase; margin: .4rem 0 0;
}

/* RIGHT — region cards */
.lmh-area6__panel { flex: 1 1 auto; padding: clamp(1.4rem, 2.5vw, 2.4rem); background: #FAF7F0; }
.lmh-area6__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; }
.lmh-area6__rcard {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; gap: .6rem; padding: 1.3rem 1rem;
    background: #FFFFFF; border: 1px solid #EFE9DA; border-radius: 14px;
    text-decoration: none; color: inherit; cursor: pointer;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.lmh-area6__rcard:last-child { grid-column: 1 / -1; }
.lmh-area6__rcard:hover { transform: translateY(-4px); border-color: #C2A24F; box-shadow: 0 14px 30px rgba(194,162,79,.18); }
.lmh-area6__ring {
    width: 48px; height: 48px; border-radius: 50%;
    display: grid; place-items: center;
    background: #FBF7EC; border: 1px solid rgba(194,162,79,.45); color: #C2A24F;
    font-size: 1.1rem; transition: background .25s ease, color .25s ease;
}
.lmh-area6__rcard:hover .lmh-area6__ring { background: linear-gradient(135deg, #C2A24F, #9C7E32); color: #fff; }
.lmh-area6__rname { font: 600 .95rem/1.3 "Inter", Arial, sans-serif; color: #1E1B16; }
.lmh-area6__rcard:hover .lmh-area6__rname { color: #9C7E32; }
.lmh-area6__rcard:focus-visible { outline: 2px solid #C2A24F; outline-offset: 3px; }


/* ============================================================
   SECTION 7 — NEWSLETTER + CTA (dark band, premium)
   ============================================================ */
.is-wrapper > div.lmh-home-cta {
    background:
        radial-gradient(680px 420px at 14% 0%, rgba(194,162,79,.20), transparent 60%),
        radial-gradient(720px 480px at 88% 110%, rgba(194,162,79,.15), transparent 62%),
        linear-gradient(160deg, #211E18 0%, #18140F 55%, #120F0B 100%);
}
.lmh-home-cta { position: relative; overflow: hidden; }
.lmh-home-cta::before {
    content: ""; position: absolute; inset: 0;
    background-image: radial-gradient(rgba(194,162,79,.16) 1px, transparent 1.5px);
    background-size: 26px 26px;
    -webkit-mask: radial-gradient(120% 100% at 50% 50%, #000 28%, transparent 78%);
            mask: radial-gradient(120% 100% at 50% 50%, #000 28%, transparent 78%);
    opacity: .4; pointer-events: none;
}
.lmh-home-cta::after {
    content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, rgba(194,162,79,0), #C2A24F 50%, rgba(194,162,79,0));
}
.lmh-home-cta .is-container { margin-top: 86px; margin-bottom: 86px; }

.lmh-home-cta__inner {
    position: relative; z-index: 1; text-align: center;
    max-width: 820px; margin: 0 auto;
}
.lmh-home-cta__orbit {
    position: absolute; top: 50%; left: 50%;
    width: 520px; height: 520px; transform: translate(-50%, -50%);
    border-radius: 50%; border: 1px solid rgba(194,162,79,.16);
    z-index: -1; pointer-events: none;
}
.lmh-home-cta__orbit::before {
    content: ""; position: absolute; inset: 64px; border-radius: 50%;
    border: 1px dashed rgba(194,162,79,.13);
    animation: lmhOrbit 44s linear infinite;
}
.lmh-home-cta__orbit::after {
    content: ""; position: absolute; top: -4px; left: 50%;
    width: 7px; height: 7px; margin-left: -3.5px; border-radius: 50%;
    background: #C2A24F; box-shadow: 0 0 12px rgba(194,162,79,.85);
    transform-origin: 3.5px 264px;
    animation: lmhOrbit 24s linear infinite;
}
@keyframes lmhOrbit { to { transform: rotate(360deg); } }

.lmh-home-cta__inner .lmh-home-eyebrow {
    display: inline-flex; align-items: center; gap: .7rem;
    padding-left: 0; color: #E3D2A0;
}
.lmh-home-cta__inner .lmh-home-eyebrow::before,
.lmh-home-cta__inner .lmh-home-eyebrow::after {
    content: ""; position: static; display: inline-block;
    width: 26px; height: 1px; transform: none;
    background: linear-gradient(90deg, rgba(194,162,79,0), #C2A24F);
}
.lmh-home-cta__inner .lmh-home-eyebrow::after {
    background: linear-gradient(90deg, #C2A24F, rgba(194,162,79,0));
}

.lmh-home-cta__title {
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2.15rem, 4.3vw, 3.4rem); line-height: 1.14; font-weight: 700;
    color: #FAF7F0; margin: 1.05rem 0 0; letter-spacing: -.3px; text-wrap: balance;
}
.lmh-home-cta__hl {
    background: linear-gradient(120deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: #C2A24F;
}
.lmh-home-cta__lead {
    font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.78; color: #C9C2B4;
    margin: 1.15rem auto 0; max-width: 600px;
}
.lmh-home-cta__btnwrap {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: 1rem; margin-top: 2.2rem;
}


/* ============================================================
   ENTRANCE ANIMATIONS (CSS-only, on load)
   ============================================================ */
@keyframes lmhFadeUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: translateY(0); } }
@keyframes lmhFadeIn { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: scale(1); } }
.lmh-home-blogcta__text,
.lmh-home-blogcta__action,
.lmh-home-trust__inner,
.lmh-feat-text__inner,
.lmh-area6,
.lmh-home-cta__inner {
    animation: lmhFadeUp .7s cubic-bezier(.2,.7,.3,1) both;
}
.lmh-feat-media { animation: lmhFadeIn .8s cubic-bezier(.2,.7,.3,1) both; }


/* ============================================================
   RESPONSIVE
   ============================================================ */
@media screen and (max-width: 63.9375em) {
    /* HERO — content stacks BELOW the image as a clean band (desktop glass overlay off) */
    .bnl-0 .pos-ab-ban { position: static; z-index: 2; }
    .bnl-0 .cell.full img { min-height: 0; height: auto; }
    .bnl-0 .bn-overlay { display: none; }
    .bnl-0 .bn-content {
        max-width: none; margin: 0;
        padding: 2rem 1.25rem 2.25rem;
        border: 0; border-radius: 0;
        background: transparent;
        -webkit-backdrop-filter: none; backdrop-filter: none;
        box-shadow: none;
    }
    .bnl-0 .bn-content::before,
    .bnl-0 .bn-content::after { display: none; }

    .lmh-home-blogcta .is-container,
    .lmh-home-area .is-container,
    .lmh-home-cta .is-container { margin-top: 54px; margin-bottom: 54px; }

    .lmh-home-blogcta__action { justify-content: flex-start; margin-top: 1.6rem; }
    .lmh-home-blogcta__card { max-width: none; }

    .lmh-home-trust__rule { display: none; }

    .lmh-feat-media { min-height: 340px; }

    .lmh-area6__card { flex-direction: column; }
    .lmh-area6__map { flex-basis: auto; min-height: 340px; }

    .lmh-home-btn { padding: .95rem 1.8rem; }
}

@media screen and (max-width: 39.9375em) {
    .lmh-home-btn { width: 100%; justify-content: center; }

    .bnl-0-actions { flex-direction: column; align-items: center; }
    .bnl-0 .bnl-0-btn-primary, .bnl-0 .bnl-0-btn-ghost { width: auto; justify-content: center; }

    .lmh-area6__map { min-height: 300px; padding: 1.6rem; }
    .lmh-area6__radar { width: 200px; height: 200px; }
    .lmh-area6__panel { padding: 1.1rem; }
    .lmh-area6__cards { gap: .6rem; }
    .lmh-area6__rcard { padding: 1.1rem .8rem; }

    .lmh-home-cta__orbit { width: 360px; height: 360px; }
    .lmh-home-cta__orbit::after { transform-origin: 3.5px 184px; }
}

@media screen and (max-width: 30em) {
    .lmh-area6__cards { grid-template-columns: 1fr; }
    .lmh-area6__rcard:last-child { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .lmh-area6__sweep,
    .lmh-area6__pin::before, .lmh-area6__pin::after,
    .lmh-home-cta__orbit::before, .lmh-home-cta__orbit::after,
    .lmh-home-blogcta__text, .lmh-home-blogcta__action,
    .lmh-home-trust__inner, .lmh-feat-text__inner,
    .lmh-area6, .lmh-home-cta__inner, .lmh-feat-media {
        animation: none !important;
    }
}


/* EDIT MODE — un-stick the banner content so it is visible/editable in the page builder */
.user-logged-in-and-clicked-edit-page .bnl-0 .pos-ab-ban {
    position: relative;
}


/* ############################################################################
   #5 · ABOUT PAGE  (append to site.css — global)
   LMH REAL ESTATE — About page sections
   Sections: 1 Intro/Mission · 2 Founder · 3 Strategy-Guide CTA
             4 Why Partner · 5 Testimonials · 6 Closing CTA
   Namespaced .lmh-about-* only. No wrapper targeting. No inline styles.
   ############################################################################ */

/* ── Shared: kicker pill ─────────────────────────────────────────── */
.lmh-about-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font: 600 .72rem/1 "Inter", Arial, sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #9C7E32;
    background: #F6EFDD;
    border: 1px solid #E6DCC2;
    padding: .5rem .9rem;
    border-radius: 50px;
}
.lmh-about-kicker i { color: #C2A24F; font-size: .85rem; }
.lmh-about-kicker--light {
    color: #E3D2A0;
    background: rgba(255,255,255,.08);
    border-color: rgba(226,210,160,.3);
}
.lmh-about-kicker--light i { color: #E3D2A0; }

/* ── Shared: section heading + gold accent ───────────────────────── */
.lmh-about-title {
    font-family: "Playfair Display", Georgia, serif;
    color: #1E1B16;
    font-weight: 700;
    font-size: clamp(1.9rem, 3.2vw, 2.6rem);
    line-height: 1.18;
    letter-spacing: -.3px;
    margin: 1rem 0 0;
    text-wrap: balance;
}
.lmh-about-accent { color: #C2A24F; }

/* ── Shared: buttons ─────────────────────────────────────────────── */
.lmh-about-btn {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .95rem 1.9rem;
    border-radius: 50px;
    font: 600 1rem/1 "Inter", Arial, sans-serif;
    text-decoration: none;
    cursor: pointer;
    border: 1px solid transparent;
    transition: transform .3s ease, box-shadow .3s ease, background .3s ease, color .3s ease, border-color .3s ease;
}
.lmh-about-btn i { font-size: .9rem; }
.lmh-about-btn--solid {
    color: #1E1B16;
    background: linear-gradient(135deg, #E3D2A0, #C2A24F);
    box-shadow: 0 12px 28px rgba(156,126,50,.32);
}
.lmh-about-btn--solid:hover,
.lmh-about-btn--solid:focus {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(156,126,50,.42);
    background: linear-gradient(135deg, #EBDCAE, #CDAE5A);
    color: #1E1B16;
}
.lmh-about-btn--ghost {
    color: #E3D2A0;
    border-color: rgba(226,210,160,.5);
    background: transparent;
}
.lmh-about-btn--ghost:hover,
.lmh-about-btn--ghost:focus {
    background: rgba(226,210,160,.12);
    border-color: #E3D2A0;
    color: #FFFFFF;
    transform: translateY(-3px);
}

/* ── 1 · INTRO / MISSION ─────────────────────────────────────────── */
.is-wrapper > div.lmh-about-intro { background: #FFFFFF; }
.lmh-about-intro__head { margin-bottom: .4rem; }
.lmh-about-intro__lead p {
    color: #4A453C;
    font: 400 1.03rem/1.8 "Inter", Arial, sans-serif;
    margin: 0 0 1.1rem;
}
.lmh-about-intro__lead p:last-child { margin-bottom: 0; }
.lmh-about-mission {
    background: linear-gradient(155deg, #1E1B16, #2A2419);
    border-left: 3px solid #C2A24F;
    border-radius: 14px;
    padding: 2rem 1.8rem;
    height: 100%;
    box-shadow: 0 18px 40px rgba(30,27,22,.16);
}
.lmh-about-mission__label {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    font: 700 .72rem/1 "Inter", Arial, sans-serif;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #E3D2A0;
}
.lmh-about-mission__label i { color: #C2A24F; }
.lmh-about-mission__text {
    color: #EDE6D6;
    font: 400 1.05rem/1.7 "Inter", Arial, sans-serif;
    margin: .9rem 0 0;
}

/* ── 2 · MEET THE FOUNDER ────────────────────────────────────────── */
.is-wrapper > div.lmh-about-founder { background: #FAF7F0; }
.lmh-about-founder__frame {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 24px 60px rgba(30,27,22,.2);
}
.lmh-about-founder__frame img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 5;
}
.lmh-about-founder__frame::after {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 16px;
    pointer-events: none;
}
.lmh-about-founder__badge {
    position: absolute;
    left: 1.1rem;
    right: 1.1rem;
    bottom: 1.1rem;
    background: rgba(20,17,11,.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(226,210,160,.25);
    border-left: 3px solid #C2A24F;
    border-radius: 12px;
    padding: .85rem 1.1rem;
}
.lmh-about-founder__badge-name {
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    color: #FFFFFF;
    font-size: 1.25rem;
    font-weight: 700;
}
.lmh-about-founder__badge-role {
    display: block;
    color: #C2A24F;
    font: 600 .72rem/1 "Inter", Arial, sans-serif;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin-top: .35rem;
}
.lmh-about-founder__text { padding-left: 1.5rem; }
.lmh-about-founder__text p {
    color: #4A453C;
    font: 400 1.02rem/1.8 "Inter", Arial, sans-serif;
    margin: 0 0 1.1rem;
}
.lmh-about-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 1.4rem;
}
.lmh-about-tags span {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font: 600 .8rem/1 "Inter", Arial, sans-serif;
    color: #5A5446;
    background: #FFFFFF;
    border: 1px solid #E6DFCF;
    padding: .55rem .85rem;
    border-radius: 50px;
}
.lmh-about-tags i { color: #C2A24F; font-size: .8rem; }

/* ── 3 · STRATEGY GUIDE CTA (light gold band) ────────────────────── */
.is-wrapper > div.lmh-about-guide {
    background: linear-gradient(135deg, #FBF6EA, #F4EAD2);
}
.lmh-about-guide__text { padding-right: 1rem; }
.lmh-about-guide__title {
    font-family: "Playfair Display", Georgia, serif;
    color: #1E1B16;
    font-weight: 700;
    font-size: clamp(1.7rem, 2.8vw, 2.3rem);
    line-height: 1.2;
    margin: .9rem 0 .9rem;
    text-wrap: balance;
}
.lmh-about-guide__text p {
    color: #5A5446;
    font: 400 1.02rem/1.7 "Inter", Arial, sans-serif;
    margin: 0;
}
.lmh-about-guide__action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

/* ── 4 · WHY PARTNER WITH US ─────────────────────────────────────── */
.is-wrapper > div.lmh-about-why { background: #FFFFFF; }
.lmh-about-why__head {
    text-align: center;
    max-width: 100%;
    margin: 0 auto;
}
.lmh-about-why__intro {
    color: #4A453C;
    font: 400 1.05rem/1.8 "Inter", Arial, sans-serif;
    margin: 1.1rem 0 0;
}
.lmh-about-card {
    background: #FCFAF4;
    border: 1px solid #EFE9DA;
    border-radius: 14px;
    padding: 2rem 1.7rem;
    height: 100%;
    transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.lmh-about-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 44px rgba(30,27,22,.12);
    border-color: #E3D2A0;
}
.lmh-about-card__icon {
    width: 54px;
    height: 54px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(145deg, #C2A24F, #9C7E32);
    color: #FFFFFF;
    font-size: 1.25rem;
    box-shadow: 0 8px 20px rgba(156,126,50,.3);
}
.lmh-about-card__title {
    font-family: "Playfair Display", Georgia, serif;
    color: #1E1B16;
    font-size: 1.3rem;
    font-weight: 700;
    margin: 1.1rem 0 .5rem;
}
.lmh-about-card__text {
    color: #5A5446;
    font: 400 .98rem/1.7 "Inter", Arial, sans-serif;
    margin: 0;
}

/* ── 5 · TESTIMONIALS ────────────────────────────────────────────── */
.is-wrapper > div.lmh-about-tmny { background: #FAF7F0; }
.lmh-about-tmny__head { text-align: center; }
.lmh-about-quote {
    background: #FFFFFF;
    border: 1px solid #EFE9DA;
    border-top: 3px solid #C2A24F;
    border-radius: 14px;
    padding: 2rem 1.7rem;
    height: 100%;
    transition: transform .3s ease, box-shadow .3s ease;
}
.lmh-about-quote:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 44px rgba(30,27,22,.12);
}
.lmh-about-quote__mark { color: #E3D2A0; font-size: 1.8rem; line-height: 1; }
.lmh-about-quote__stars {
    color: #C2A24F;
    font-size: .85rem;
    letter-spacing: 3px;
    margin: .6rem 0 .9rem;
}
.lmh-about-quote__text {
    color: #3A352D;
    font: 400 1.02rem/1.7 "Inter", Arial, sans-serif;
    font-style: italic;
    margin: 0 0 1.3rem;
}
.lmh-about-quote__who {
    display: flex;
    flex-direction: column;
    border-top: 1px solid #EFE9DA;
    padding-top: 1rem;
}
.lmh-about-quote__name {
    font-family: "Playfair Display", Georgia, serif;
    color: #1E1B16;
    font-size: 1.1rem;
    font-weight: 700;
}
.lmh-about-quote__role {
    color: #9C7E32;
    font: 600 .75rem/1 "Inter", Arial, sans-serif;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-top: .35rem;
}

/* ── 6 · CLOSING CTA (dark) ──────────────────────────────────────── */
.is-wrapper > div.lmh-about-cta {
    background: radial-gradient(circle at 20% 20%, #2A2419, #16130E 60%);
}
.lmh-about-cta__inner {
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}
.lmh-about-cta__title {
    font-family: "Playfair Display", Georgia, serif;
    color: #FFFFFF;
    font-weight: 700;
    font-size: clamp(1.9rem, 3.2vw, 2.7rem);
    line-height: 1.18;
    margin: 1.1rem 0 1rem;
    text-wrap: balance;
}
.lmh-about-cta__title .lmh-about-accent { color: #E3D2A0; }
.lmh-about-cta__text {
    color: #C9C2B4;
    font: 400 1.05rem/1.8 "Inter", Arial, sans-serif;
    margin: 0 auto 1.8rem;
    max-width: 680px;
}

/* ############################################################################
   ANIMATIONS
   • Section 1 (intro): on-load entrance — plays above the fold in every browser.
   • Sections 2-6: scroll-driven reveal via CSS animation-timeline (PURE CSS,
     no JS). Browsers without support OR users who prefer reduced motion simply
     see the content fully — it is NEVER left hidden.
   • Always-on polish: gold shine sweep on primary buttons + hover micro-moves.
   ############################################################################ */

/* --- on-load entrance for the first (above-fold) section --- */
@keyframes lmhAboutUp {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
    .lmh-about-intro__head  { animation: lmhAboutUp .6s ease both; }
    .lmh-about-intro__lead  { animation: lmhAboutUp .6s ease .12s both; }
    .lmh-about-intro__aside { animation: lmhAboutUp .6s ease .2s both; }
}

/* --- scroll-driven reveal for sections 2-6 (progressive enhancement) --- */
@keyframes lmhReveal      { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: none; } }
@keyframes lmhRevealLeft  { from { opacity: 0; transform: translateX(-38px); } to { opacity: 1; transform: none; } }
@keyframes lmhRevealRight { from { opacity: 0; transform: translateX(38px); }  to { opacity: 1; transform: none; } }
@keyframes lmhRevealZoom  { from { opacity: 0; transform: scale(.93); }        to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
        .lmh-reveal {
            opacity: 0;
            animation: lmhReveal linear both;
            animation-timeline: view();
            animation-range: entry 0% entry 42%;
        }
        .lmh-reveal--left  { animation-name: lmhRevealLeft; }
        .lmh-reveal--right { animation-name: lmhRevealRight; }
        .lmh-reveal--zoom  { animation-name: lmhRevealZoom; }
        /* gentle stagger for grouped cards / quotes */
        .lmh-reveal.is-d2 { animation-range: entry 7% entry 49%; }
        .lmh-reveal.is-d3 { animation-range: entry 13% entry 55%; }
    }
}

/* --- always-on shine sweep on the gold CTA buttons --- */
.lmh-about-btn--solid { position: relative; overflow: hidden; }
.lmh-about-btn--solid::after {
    content: "";
    position: absolute;
    top: 0;
    left: -130%;
    width: 55%;
    height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
    transform: skewX(-18deg);
    pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
    .lmh-about-btn--solid::after { animation: lmhShine 4.5s ease-in-out infinite; }
}
@keyframes lmhShine {
    0%, 20%   { left: -130%; }
    45%, 100% { left: 170%; }
}

/* --- hover micro-interactions --- */
.lmh-about-founder__frame img { transition: transform .6s cubic-bezier(.2,.7,.3,1); }
.lmh-about-founder__frame:hover img { transform: scale(1.05); }
.lmh-about-card__icon { transition: transform .3s ease, box-shadow .3s ease; }
.lmh-about-card:hover .lmh-about-card__icon {
    transform: translateY(-3px) scale(1.06) rotate(-4deg);
    box-shadow: 0 12px 26px rgba(156,126,50,.42);
}
.lmh-about-quote__mark { transition: transform .3s ease; }
.lmh-about-quote:hover .lmh-about-quote__mark { transform: scale(1.12) rotate(-6deg); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media screen and (max-width: 63.9375em) {
    .lmh-about-intro__aside { margin-top: 1.2rem; }
    .lmh-about-founder__text { padding-left: 0; margin-top: 1.5rem; }
    .lmh-about-founder__frame img { aspect-ratio: 16 / 10; }
    .lmh-about-guide__text { padding-right: 0; }
    .lmh-about-guide__action { justify-content: flex-start; margin-top: 1.3rem; }
}
@media screen and (max-width: 39.9375em) {
    .lmh-about-guide__action { justify-content: center; }
}


/* ############################################################################
   #6 · SERVICES PAGE
   Namespaced .lmh-serv-* . Reuses global utilities from the About block:
   .lmh-about-kicker / --light, .lmh-about-accent, .lmh-about-btn / --solid
   (gold button + shine), and the .lmh-reveal scroll-animation system
   (+ lmhAboutUp keyframe). Brand: gold #C2A24F/#9C7E32/#E3D2A0,
   charcoal #1E1B16, cream #FAF7F0, slate text. Playfair + Inter.
   ############################################################################ */

/* ── 1 · INTRO HEADER ──────────────────────────────────────────────── */
.is-wrapper > div.lmh-serv-intro { background: #FFFFFF; }

.lmh-serv-intro__inner {
    text-align: center;
    max-width: 880px;
    margin: 0 auto;
}
.lmh-serv-intro__title {
    font-family: "Playfair Display", Georgia, serif;
    color: #1E1B16;
    font-weight: 700;
    font-size: clamp(2.1rem, 4vw, 3rem);
    line-height: 1.15;
    letter-spacing: -.5px;
    margin: 0;
    text-wrap: balance;
}
.lmh-serv-intro__rule {
    display: block;
    width: 70px;
    height: 3px;
    margin: 1.8rem auto 0;
    background: linear-gradient(90deg, #E3D2A0, #C2A24F, #E3D2A0);
    background-size: 200% 100%;
    border-radius: 3px;
}
@media (prefers-reduced-motion: no-preference) {
    .lmh-serv-intro__rule {
        animation: lmhServRuleIn .7s .15s ease both, lmhServRuleShine 3.5s 1s ease-in-out infinite;
    }
}
@keyframes lmhServRuleIn {
    from { width: 0; opacity: 0; }
    to   { width: 70px; opacity: 1; }
}
@keyframes lmhServRuleShine {
    0%, 100% { background-position: 0% 50%; }
    50%      { background-position: 100% 50%; }
}

/* ── 2 · SERVICES — PREMIUM CARD GRID (image + gold) ── */
.is-wrapper > div.lmh-serv-list { background: #FCFAF4; }

.lmh-card-cell { display: flex; }   /* Foundation cell as flex wrapper so the card fills it (equal-height rows) */
.lmh-card-cell--last { margin-left: auto; margin-right: auto; }   /* centers the lone last card on a 3-col row (10 cards = 3+3+3+1) */

.lmh-card {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    background: #FFFFFF;
    border: 1px solid #ECE4D2;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 12px 34px rgba(30, 27, 22, .06);
    transition: transform .55s cubic-bezier(.22, 1, .36, 1), box-shadow .55s ease, border-color .55s ease;
}
.lmh-card::after {                 /* inset gold frame — draws inward on hover */
    content: "";
    position: absolute; inset: 18px; z-index: 4;
    border: 1px solid rgba(194, 162, 79, 0);
    border-radius: 7px;
    pointer-events: none;
    transition: inset .55s cubic-bezier(.22, 1, .36, 1), border-color .55s ease;
}

/* image header + overlay icon / index */
.lmh-card-media {
    position: relative;
    overflow: hidden;
    height: 230px;
    background: #1E1B16;
}
.lmh-card-img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .9s cubic-bezier(.22, 1, .36, 1), filter .6s ease;
}
.lmh-card-scrim {
    position: absolute; inset: 0; z-index: 1;
    background: linear-gradient(180deg, rgba(20, 17, 13, .10) 0%, rgba(20, 17, 13, 0) 40%, rgba(20, 17, 13, .62) 100%);
    pointer-events: none;
}
.lmh-card-media::before {          /* warm gold wash — fades in on hover */
    content: "";
    position: absolute; inset: 0; z-index: 2;
    background: linear-gradient(155deg, rgba(226, 210, 160, 0) 30%, rgba(194, 162, 79, .30) 100%);
    opacity: 0;
    transition: opacity .55s ease;
    pointer-events: none;
}
.lmh-card-icon {
    position: absolute; z-index: 3;
    left: 1.4rem; bottom: 1.1rem;
    width: 54px; height: 54px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1.5px solid rgba(228, 214, 170, .65);
    border-radius: 50%;
    background: rgba(22, 19, 14, .42);
    -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
    color: #E4D6AA;
    font-size: 1.32rem;
    transition: background .5s ease, color .5s ease, border-color .5s ease, transform .55s cubic-bezier(.34, 1.56, .64, 1);
}
.lmh-card-num {
    position: absolute; z-index: 3;
    right: 1.4rem; bottom: .85rem;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1;
    color: rgba(245, 238, 220, .92);
    text-shadow: 0 1px 12px rgba(0, 0, 0, .45);
    transition: color .5s ease;
}

.lmh-card-body { padding: 1.6rem 1.8rem 1.9rem; flex: 1 1 auto; display: flex; flex-direction: column; }

.lmh-card-title {
    position: relative;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 700;
    font-size: 1.32rem;
    line-height: 1.34;
    color: #1E1B16;
    margin: 0 0 .85rem;
    padding-bottom: .6rem;
    text-wrap: balance;
}
.lmh-card-title::after {           /* gold underline — extends on hover */
    content: "";
    position: absolute; left: 0; bottom: 0;
    width: 34px; height: 2px;
    background: linear-gradient(90deg, #C2A24F, #9C7E32);
    transition: width .5s cubic-bezier(.22, 1, .36, 1);
}

.lmh-card-text {
    font-family: "Inter", Arial, sans-serif;
    font-size: .96rem;
    line-height: 1.72;
    color: #5A5446;
    margin: 0 0 1.3rem;
}

.lmh-card-link { text-decoration: none; margin-top: auto; align-self: flex-start; }
.lmh-card-link span {
    display: inline-flex; align-items: center; gap: .5rem;
    font-family: "Inter", Arial, sans-serif;
    font-weight: 600; font-size: .9rem; letter-spacing: .2px;
    color: #9C7E32;
    transition: color .4s ease, gap .4s ease;
}
.lmh-card-link i { transition: transform .4s cubic-bezier(.22, 1, .36, 1); }

/* hover choreography — gold wash + frame draw + underline (no JS) */
.lmh-card:hover {
    box-shadow: 0 26px 54px rgba(30, 27, 22, .15);
    border-color: #E3D2A0;
    transform: scale(1.012);
}
.lmh-card:hover::after { inset: 11px; border-color: rgba(227, 210, 160, .85); }
.lmh-card:hover .lmh-card-img { transform: scale(1.06); filter: saturate(1.12) contrast(1.03); }
.lmh-card:hover .lmh-card-media::before { opacity: 1; }
.lmh-card:hover .lmh-card-icon {
    background: linear-gradient(135deg, #C2A24F, #9C7E32);
    border-color: transparent;
    color: #FFFFFF;
    transform: translateY(-4px) scale(1.06);
}
.lmh-card:hover .lmh-card-num { color: #FFFFFF; }
.lmh-card:hover .lmh-card-title::after { width: 64px; }
.lmh-card:hover .lmh-card-link span { color: #7E6526; gap: .75rem; }
.lmh-card:hover .lmh-card-link i { transform: translateX(5px); }
.lmh-card-link:focus-visible span { color: #7E6526; text-decoration: underline; text-underline-offset: 4px; }


/* ── 3 · WHY-CHOOSE CTA ────────────────────────────────────────────── */
.is-wrapper > div.lmh-serv-cta {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 80% 20%, #2A2419, #16130E 62%);
}
/* one soft, static gold glow for subtle depth (no motion) */
.is-wrapper > div.lmh-serv-cta::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: -20%;
    right: -10%;
    width: 55vw;
    height: 55vw;
    max-width: 680px;
    max-height: 680px;
    background: radial-gradient(circle, rgba(194,162,79,.16), rgba(194,162,79,0) 60%);
    pointer-events: none;
}
.lmh-serv-cta__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 820px;
    margin: 0 auto;
}
.lmh-serv-cta__title {
    font-family: "Playfair Display", Georgia, serif;
    color: #FFFFFF;
    font-weight: 700;
    font-size: clamp(1.9rem, 3.2vw, 2.6rem);
    line-height: 1.18;
    margin: 1.1rem 0 1rem;
    text-wrap: balance;
}
.lmh-serv-cta__title .lmh-about-accent { color: #E3D2A0; }
.lmh-serv-cta__text {
    color: #C9C2B4;
    font: 400 1.05rem/1.8 "Inter", Arial, sans-serif;
    max-width: 680px;
    margin: 0 auto 1.8rem;
}

/* ── on-load entrance for the above-fold intro (reuse global keyframe) ─ */
@media (prefers-reduced-motion: no-preference) {
    .lmh-serv-intro__inner { animation: lmhAboutUp .6s ease both; }
}

/* ── responsive ─────────────────── */
@media screen and (max-width: 63.9375em) {
    .lmh-card-media { height: 210px; }
    .lmh-card-body { padding: 1.4rem 1.5rem 1.7rem; }
}
@media screen and (max-width: 39.9375em) {
    .lmh-card-media { height: 200px; }
    .lmh-card-icon { width: 50px; height: 50px; font-size: 1.25rem; left: 1.1rem; bottom: 1rem; }
    .lmh-card-num { font-size: 2.1rem; right: 1.1rem; }
    .lmh-card-body { padding: 1.4rem 1.4rem 1.6rem; }
    .lmh-card-title { font-size: 1.24rem; }
}

/* ============================================================
   LMH — SERVICE DETAIL PAGES — shared component (Real Estate / Custom Home / Investment Property) service page
   Self-contained: brand tokens + components (Playfair + Inter,
   gold #C2A24F, charcoal #1E1B16, cream). All classes prefixed
   .lmh-svc-  so nothing collides with other pages. Locked Webware
   wrappers are never targeted for layout overrides.
   ============================================================ */

/* ---- section backgrounds (scoped, never touch locked classes) ---- */
.is-wrapper > div.lmh-svc-intro    { background:linear-gradient(180deg,#221D16 0%,#16130E 100%); border-top:1px solid rgba(194,162,79,.22); }
.is-wrapper > div.lmh-svc-benefits { background:#FCFAF4; }
.is-wrapper > div.lmh-why          { background:#F2ECDD; border-top:1px solid #E6DCC2; }
.is-wrapper > div.lmh-svc-feat--a  { background:#FFFFFF; }
.is-wrapper > div.lmh-svc-feat--b  { background:#FAF7F0; }
.is-wrapper > div.lmh-svc-feat--c  { background:#FFFFFF; }
.is-wrapper > div.lmh-svc-faqsec   { background:#FAF7F0; }
.is-wrapper > div.lmh-svc-news     { background:#1E1B16; }
.is-wrapper > div.lmh-svc-cta      { background:#FCFAF4; }

/* ---- eyebrow / kicker ---- */
.lmh-svc-kicker{ display:inline-flex; align-items:center; gap:.7rem; margin:0 0 1.1rem;
  font:600 .72rem/1 "Inter",Arial,sans-serif; letter-spacing:.32em; text-transform:uppercase; color:#9C7E32; }
.lmh-svc-kicker::before{ content:""; width:34px; height:2px; background:#C2A24F; display:inline-block; }
.lmh-svc-kicker--light{ color:#E3D2A0; }

/* ---- titles ---- */
.lmh-svc-title{ font-family:"Playfair Display",Georgia,serif; font-weight:700; line-height:1.14; color:#1E1B16;
  font-size:clamp(1.9rem,3.6vw,2.85rem); margin:0 0 1.1rem; text-wrap:balance; }
.lmh-svc-title--light{ color:#FFFDF8; }
.lmh-svc-title--hero{ font-size:clamp(2.3rem,5vw,3.6rem); margin-bottom:1.4rem; }
.lmh-svc-accent{ color:#C2A24F; }
.lmh-svc-rule{ width:64px; height:3px; background:#C2A24F; border:0; margin:0 0 1.6rem; }
.lmh-svc-rule--center{ margin-left:auto; margin-right:auto; }

/* ---- body copy ---- */
.lmh-svc-body{ color:#5A5446; font:400 1.04rem/1.8 "Inter",Arial,sans-serif; margin:0 0 1.15rem; }
.lmh-svc-body:last-child{ margin-bottom:0; }
.lmh-svc-body--light{ color:#D7CFBF; }
.lmh-svc-body--lead{ font-size:clamp(1.08rem,1.6vw,1.24rem); line-height:1.7; color:#4A453C; }
.lmh-svc-body--lead.lmh-svc-body--light{ color:#EFE7D6; }

/* ---- buttons ---- */
.lmh-svc-btn{ display:inline-flex; align-items:center; gap:.6rem; cursor:pointer; text-decoration:none;
  font:600 .82rem/1 "Inter",Arial,sans-serif; letter-spacing:.12em; text-transform:uppercase;
  padding:1.05rem 2.3rem; border-radius:2px; border:2px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease; }
.lmh-svc-btn__arrow{ transition:transform .25s ease; }
.lmh-svc-btn:hover .lmh-svc-btn__arrow{ transform:translateX(4px); }
.lmh-svc-btn--solid{ background:#C2A24F; color:#1E1B16; }
.lmh-svc-btn--solid:hover{ background:#9C7E32; color:#FFFDF8; transform:translateY(-2px); box-shadow:0 14px 32px rgba(30,27,22,.28); }
.lmh-svc-btn--ghost-light{ background:transparent; color:#FFFDF8; border-color:rgba(227,210,160,.55); }
.lmh-svc-btn--ghost-light:hover{ background:#C2A24F; color:#1E1B16; border-color:#C2A24F; transform:translateY(-2px); }

/* ---- INTRO (supporting copy + CTAs) ---- */
.lmh-svc-intro__inner{ max-width:900px; margin:0 auto; text-align:center; }
.lmh-svc-intro__body{ color:#E7DECE; font:400 1.12rem/1.85 "Inter",Arial,sans-serif; margin:0; }
.lmh-svc-intro__actions{ display:flex; flex-wrap:wrap; gap:1rem; justify-content:center; margin-top:2.2rem; }
.lmh-svc-btn--ghost{ background:transparent; color:#1E1B16; border-color:#1E1B16; }
.lmh-svc-btn--ghost:hover{ background:#1E1B16; color:#FFFDF8; border-color:#1E1B16; transform:translateY(-2px); }

/* ---- section header block ---- */
.lmh-svc-head{ text-align:center; max-width:760px; margin:0 auto 3rem; }
.lmh-svc-lead{ max-width:720px; margin:1.25rem auto 0; font-family:'Inter',Arial,sans-serif; font-size:1.0625rem; line-height:1.85; color:#5A5446; text-align:center; }

/* ---- icon chip (replaces index numbers) ---- */
.lmh-svc-card__icon{ display:inline-flex; align-items:center; justify-content:center; width:58px; height:58px;
  border-radius:14px; background:linear-gradient(135deg,#1E1B16,#2E2920); color:#C2A24F; font-size:1.45rem; margin:0 0 1.3rem; }

/* ---- benefit cards ---- */
.lmh-svc-card-cell{ margin-bottom:1.6rem; }
.lmh-svc-card{ height:100%; background:#FFFFFF; border:1px solid #ECE4D2; border-radius:10px;
  padding:2.2rem 1.8rem; position:relative; overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.lmh-svc-card::before{ content:""; position:absolute; left:0; top:0; width:100%; height:3px;
  background:linear-gradient(90deg,#C2A24F,#E3D2A0); transform:scaleX(0); transform-origin:left; transition:transform .35s ease; }
.lmh-svc-card:hover{ transform:translateY(-6px); box-shadow:0 24px 52px rgba(30,27,22,.12); border-color:#E3D2A0; }
.lmh-svc-card:hover::before{ transform:scaleX(1); }
.lmh-svc-card__title{ font-family:"Playfair Display",Georgia,serif; font-weight:700; font-size:1.18rem;
  line-height:1.32; color:#1E1B16; margin:0 0 .75rem; text-wrap:balance; }
.lmh-svc-card__body{ color:#5A5446; font:400 .96rem/1.7 "Inter",Arial,sans-serif; margin:0; }

/* ---- feature rows (image + text + checklist) ---- */
.lmh-svc-feat-media{ position:relative; overflow:hidden; 
  border-radius:8px; box-shadow:0 24px 60px rgba(30,27,22,.14); }
.lmh-svc-feat-img{  inset:0; width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.lmh-svc-feat-media:hover .lmh-svc-feat-img{ transform:scale(1.06); }
.lmh-svc-feat-text{ display:flex; flex-direction:column; justify-content:center; height:100%;
  padding:1rem clamp(0rem,2.2vw,1.6rem); }
.lmh-svc-feat--b .lmh-svc-feat-media-cell{ order:2; }
.lmh-svc-feat--b .lmh-svc-feat-text-cell{ order:1; }

/* feature reveal on scroll (CSS scroll-timeline; fallback = fully visible) */
@keyframes lmhSvcFeatRise{ from{ opacity:0; transform:translateY(46px); } to{ opacity:1; transform:none; } }
@keyframes lmhSvcFeatInL { from{ opacity:0; transform:translateX(-54px); } to{ opacity:1; transform:none; } }
@keyframes lmhSvcFeatInR { from{ opacity:0; transform:translateX(54px); }  to{ opacity:1; transform:none; } }
@supports (animation-timeline: view()){
  .lmh-svc-feat-media{ animation:lmhSvcFeatInL both; animation-timeline:view(); animation-range:entry 0% cover 34%; }
  .lmh-svc-feat--b .lmh-svc-feat-media{ animation-name:lmhSvcFeatInR; }
  .lmh-svc-feat-text{ animation:lmhSvcFeatRise both; animation-timeline:view(); animation-range:entry 4% cover 42%; }
}

/* ---- checklist ---- */
.lmh-svc-check{ list-style:none; margin:1.7rem 0 0; padding:0; display:grid; gap:.75rem; }
.lmh-svc-check li{ position:relative; padding-left:2.1rem; color:#3A352D; font:500 .98rem/1.5 "Inter",Arial,sans-serif; }
.lmh-svc-check li::before{ content:"✓"; position:absolute; left:0; top:.05rem; width:1.4rem; height:1.4rem;
  display:flex; align-items:center; justify-content:center; background:rgba(194,162,79,.16);
  color:#9C7E32; border-radius:50%; font-size:.74rem; font-weight:700; }

/* ---- FAQ accordion (native <details>, no JS) ---- */
.lmh-svc-faq-wrap{ max-width:860px; margin:0 auto; }
.lmh-svc-faq{ border:1px solid #ECE4D2; border-radius:8px; background:#FFFFFF; margin:0 0 .9rem; overflow:hidden;
  transition:box-shadow .25s ease, border-color .25s ease; }
.lmh-svc-faq[open]{ box-shadow:0 16px 40px rgba(30,27,22,.08); border-color:#E3D2A0; }
.lmh-svc-faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; gap:1rem;
  padding:1.25rem 1.5rem; font-family:"Playfair Display",Georgia,serif; font-weight:700; font-size:1.08rem; color:#1E1B16; }
.lmh-svc-faq summary::-webkit-details-marker{ display:none; }
.lmh-svc-faq__q{ flex:1; }
.lmh-svc-faq summary::after{ content:"+"; flex:0 0 auto; font:400 1.7rem/1 "Inter",Arial,sans-serif; color:#C2A24F; transition:transform .25s ease; }
.lmh-svc-faq[open] summary::after{ content:"\2212"; }
.lmh-svc-faq__body{ padding:0 1.5rem 1.45rem; }
.lmh-svc-faq__body p{ margin:0; color:#5A5446; font:400 1rem/1.75 "Inter",Arial,sans-serif; }

/* ---- newsletter band ---- */
.lmh-svc-news__inner{ max-width:780px; margin:0 auto; text-align:center; }
.lmh-svc-news__cta{ margin-top:1.9rem; }

/* ---- final CTA band ---- */
.lmh-svc-cta__inner{ max-width:820px; margin:0 auto; text-align:center; }
.lmh-svc-cta__inner .lmh-svc-rule{ margin-bottom:1.8rem; }
.lmh-svc-cta__btn{ margin-top:1.9rem; }

/* ---- gentle on-load reveal (no scroll dependency) ---- */
.lmh-svc-head,.lmh-svc-card,.lmh-svc-feat-text,.lmh-svc-feat-media,
.lmh-svc-faq-wrap,.lmh-svc-news__inner,.lmh-svc-cta__inner{ animation:lmhSvcUp .7s ease both; }
@keyframes lmhSvcUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }

/* ---- responsive ---- */
@media (max-width:1023.5px){

  .lmh-svc-feat--b .lmh-svc-feat-media-cell{ order:0; }
  .lmh-svc-feat--b .lmh-svc-feat-text-cell{ order:0; }
  .lmh-svc-feat-text{ padding:1.7rem 0 0; }
}
@media (max-width:639.5px){
  .lmh-svc-btn{ width:100%; justify-content:center; }
  .lmh-svc-intro__actions{ flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; transition:none !important; } }

/* final CTA supporting paragraph */
.lmh-svc-cta__body{ max-width:760px; margin:1.4rem auto 2.1rem; color:#574F43; }


/* ============ WHY-CHOOSE reason tiles (parchment band) ============ */
.lmh-why-cell{ margin-top:1.5rem; }
.lmh-why-item{
  position:relative; height:100%; display:flex; gap:1.15rem; align-items:flex-start;
  background:#FFFFFF; border:1px solid #ECE4D2; border-radius:12px;
  padding:1.6rem 1.7rem; box-shadow:0 1px 2px rgba(40,33,18,.04);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.lmh-why-item:hover{ transform:translateY(-4px); border-color:#D9C48A; box-shadow:0 18px 40px rgba(40,33,18,.12); }
.lmh-why-num{
  flex:0 0 auto; width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:1.15rem;
  color:#7E6526; background:#F6EFDD; border:1px solid #E6D4A6;
}
.lmh-why-text{
  margin:0; padding-top:.5rem; font-family:'Inter',Arial,sans-serif;
  font-size:1.0125rem; line-height:1.8; color:#4A453C;
}
.lmh-why-item--wide{ background:linear-gradient(135deg,#FFFDF8 0%,#FBF3DF 100%); border-color:#E6D4A6; }
.lmh-why-item--wide .lmh-why-num{ background:#C2A24F; color:#FFFFFF; border-color:#9C7E32; }
@media (max-width:1023px){ .lmh-why-item{ padding:1.35rem 1.4rem; } .lmh-why-num{ width:42px; height:42px; font-size:1.05rem; } }


/* =====================================================================
   LMH Real Estate Investment — BLOG LISTING (.new-blog-page-type)
   Premium, on-brand styling. Scoped to .new-blog-page-type so it
   overrides the generic platform blog styles (this block is appended
   last in site.css, so equal-specificity rules win by source order).
   Webware rule: external site.css only — no inline styles, no style block.
   Locked Foundation wrappers (grid-container / grid-x / grid-padding-x /
   cell) are NOT styled here; only blog content classes are.
   Palette: Gold #C2A24F / Dark #9C7E32-#7E6526 / Parchment #F2ECDD-#FFFDF8
   / Charcoal #241F18 / Slate #4A453C-#5A5446 / Cream #FCFAF4 / hairline #E6DCC2
   Type: Playfair Display (headings) + Inter (body)
   ===================================================================== */

/* ---------- Page canvas ---------- */
.new-blog-page-type{
    background:#FCFAF4;
    font-family:'Inter',Arial,sans-serif;
}
.new-blog-page-type .main-blog-widget{
    padding-top:1rem;
}
.new-blog-page-type a:focus-visible,
.new-blog-page-type button:focus-visible,
.new-blog-page-type #search-input-blog:focus-visible{
    outline:2px solid #C2A24F;
    outline-offset:2px;
    border-radius:8px;
}

/* ---------- Search ---------- */
.new-blog-page-type .blog-search-container{
    max-width:640px;
    margin:3.25rem auto 0;
}
.new-blog-page-type .blog-search-container .position-relative{
    position:relative;
}
.new-blog-page-type .blog-search-container #search-input-blog{
    width:100%;
    height:60px;
    margin-top:0;
    margin-bottom:0;
    padding:.5rem 1.25rem .5rem 3.5rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.05rem;
    color:#3A352D;
    background:#FFFFFF;
    border:1px solid #E6DCC2;
    border-radius:14px;
    box-shadow:0 6px 18px rgba(30,27,22,.05);
    -webkit-appearance:none;
    appearance:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.new-blog-page-type .blog-search-container #search-input-blog::-webkit-search-decoration,
.new-blog-page-type .blog-search-container #search-input-blog::-webkit-search-cancel-button{
    -webkit-appearance:none;
}
.new-blog-page-type .blog-search-container #search-input-blog::placeholder{
    color:#9A9384;
}
.new-blog-page-type .blog-search-container #search-input-blog:focus{
    outline:none;
    border-color:#C2A24F;
    box-shadow:0 0 0 4px rgba(194,162,79,.18), 0 6px 18px rgba(30,27,22,.06);
}
.new-blog-page-type .blog-search-container .blog-search-button{
    position:absolute;
    left:18px;
    top:50%;
    transform:translateY(-50%);
    padding:0;
    margin:0;
    background:transparent;
    border:0;
    line-height:0;
    cursor:pointer;
}
.new-blog-page-type .blog-search-container .blog-search-button svg{
    display:block;
    width:20px;
    height:20px;
}
.new-blog-page-type .blog-search-container .blog-search-button svg path{
    fill:#9C7E32;
    transition:fill .2s ease;
}
.new-blog-page-type .blog-search-container .blog-search-button:hover svg path{
    fill:#C2A24F;
}

/* ---------- Two-column spacing ---------- */
.new-blog-page-type .blog-articles{
    margin-top:3.5rem;
    padding-right:1rem;
}
.new-blog-page-type .blog-sidebar{
    margin-top:3.5rem;
}
@media (min-width:1024px){
    .new-blog-page-type .blog-sidebar .articles-filter-container.show-for-large{
        position:sticky;
        top:96px;
    }
}

/* ---------- Categories card + pills ---------- */
.new-blog-page-type .articles-filter-container.show-for-large{
    background:#FFFFFF;
    border:1px solid #ECE4D2;
    border-radius:16px;
    padding:1.75rem 1.75rem 1.4rem;
    box-shadow:0 12px 30px rgba(30,27,22,.05);
}
.new-blog-page-type .articles-filter-container .filter-h2{
    position:relative;
    margin:0 0 1.25rem;
    padding:0 0 .75rem;
    font-family:'Playfair Display',Georgia,serif;
    font-size:1.5rem;
    font-weight:700;
    line-height:1.2;
    color:#241F18;
}
.new-blog-page-type .articles-filter-container .filter-h2::after{
    content:'';
    position:absolute;
    left:0;
    bottom:0;
    width:48px;
    height:3px;
    border-radius:3px;
    background:linear-gradient(90deg,#C2A24F,#9C7E32);
}
.new-blog-page-type .ps-blog-category{
    display:flex;
    flex-wrap:wrap;
    gap:.55rem;
    list-style:none;
    margin:0;
    padding:0;
}
.new-blog-page-type .ps-blog-category li{
    display:inline-block;
    margin:0;
}
.new-blog-page-type .ps-blog-category li a{
    display:inline-block;
    padding:.5rem 1rem;
    margin:0;
    font-family:'Inter',Arial,sans-serif;
    font-size:.85rem !important;
    font-weight:600;
    line-height:1.2;
    color:#5A5446;
    background:#FAF7F0;
    border:1px solid #E6DCC2;
    border-radius:999px;
    text-decoration:none;
    transition:color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.new-blog-page-type .ps-blog-category li a:hover{
    color:#7E6526;
    background:#F6EFDD;
    border-color:#D9C48A;
    transform:translateY(-1px);
}
.new-blog-page-type .ps-blog-category li.active a,
.new-blog-page-type .ps-blog-category li a.all-blogs{
    color:#FFFFFF;
    background:linear-gradient(135deg,#C2A24F,#9C7E32);
    border-color:#9C7E32;
    border-radius:999px;
}
.new-blog-page-type .ps-blog-category li.active a:hover,
.new-blog-page-type .ps-blog-category li a.all-blogs:hover{
    color:#FFFFFF;
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(156,126,50,.28);
}

/* ---------- Article cards ---------- */
.new-blog-page-type .blog-ul{
    display:grid;
    grid-template-columns:1fr;
    gap:1.75rem;
    list-style:none;
    margin:0;
    padding:0;
}
.new-blog-page-type .blog-li{
    margin:0;
}
.new-blog-page-type .blog-li .row{
    margin:0;
    max-width:none;
}
.new-blog-page-type .blog-li .blog-article{
    position:relative;
    overflow:hidden;
    width:100%;
    float:none;
    padding:2rem 2.25rem;
    background:#FFFFFF;
    border:1px solid #ECE4D2;
    border-radius:16px;
    box-shadow:0 10px 30px rgba(30,27,22,.05);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.new-blog-page-type .blog-li .blog-article::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:4px;
    background:linear-gradient(180deg,#C2A24F,#9C7E32);
    transform:scaleY(0);
    transform-origin:top;
    transition:transform .3s ease;
}
.new-blog-page-type .blog-li .blog-article:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 44px rgba(30,27,22,.10);
    border-color:#D9C48A;
}
.new-blog-page-type .blog-li .blog-article:hover::before{
    transform:scaleY(1);
}

/* category eyebrow */
.new-blog-page-type .article-category{
    margin:0 0 .85rem;
    line-height:1.6;
}
.new-blog-page-type .article-category .categories_text{
    font-family:'Inter',Arial,sans-serif;
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#A79B82;
}
.new-blog-page-type .article-category span{
    font-size:.78rem;
    font-weight:500;
    color:#5A5446;
}
.new-blog-page-type .article-category a{
    font-family:'Inter',Arial,sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#9C7E32;
    text-decoration:none;
    transition:color .18s ease;
}
.new-blog-page-type .article-category a:hover{
    color:#C2A24F;
}

/* title */
.new-blog-page-type .article-title{
    margin:.1rem 0 .85rem;
    font-family:'Playfair Display',Georgia,serif;
    font-size:clamp(1.4rem, 1.1rem + 1vw, 1.85rem);
    font-weight:700;
    line-height:1.25;
    color:#241F18;
}
.new-blog-page-type .blog-ul .article-title a{
    font-size:inherit;
    font-weight:inherit;
    color:inherit;
    text-decoration:none;
    transition:color .2s ease;
}
.new-blog-page-type .blog-ul .article-title a:hover{
    color:#9C7E32;
}

/* excerpt */
.new-blog-page-type .article-body,
.new-blog-page-type .article-body p{
    margin:0;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.0625rem;
    font-weight:400;
    line-height:1.8;
    color:#5A5446;
}
.new-blog-page-type .blog-ul .article-body p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* read more */
.new-blog-page-type .blog-li p.pb-0{
    margin-top:1.15rem;
}
.new-blog-page-type .blog-read-more{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:.92rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#9C7E32;
    text-decoration:none;
    transition:color .2s ease;
}
.new-blog-page-type .blog-read-more::after{
    content:'\2192';
    font-size:1.05em;
    line-height:1;
    transition:transform .2s ease;
}
.new-blog-page-type .blog-read-more:hover{
    color:#C2A24F;
}
.new-blog-page-type .blog-read-more:hover::after{
    transform:translateX(4px);
}

/* ---------- Pagination ---------- */
.new-blog-page-type .ps-pagination-bar{
    margin-top:3rem;
}
.new-blog-page-type .ps-pagination-bar p{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:.4rem;
    margin:0;
}
.new-blog-page-type .ps-pagination-bar p:empty{
    display:none;
}
.new-blog-page-type .ps-pagination-bar span{
    display:inline-flex;
    justify-content:center;
    min-width:42px;
    margin:0;
    overflow:hidden;
    font-family:'Inter',Arial,sans-serif;
    font-size:.95rem;
    font-weight:600;
    color:#5A5446;
    background:#FFFFFF;
    border:1px solid #E6DCC2;
    border-radius:10px;
    transition:color .18s ease, background-color .18s ease, border-color .18s ease;
}
.new-blog-page-type .ps-pagination-bar span a{
    display:block;
    padding:.6rem .85rem;
    color:inherit;
    text-decoration:none;
}
.new-blog-page-type .ps-pagination-bar span.current{
    padding:.6rem .85rem;
}
.new-blog-page-type .ps-pagination-bar span:hover{
    color:#7E6526;
    background:#F6EFDD;
    border-color:#D9C48A;
}
.new-blog-page-type .ps-pagination-bar span.current,
.new-blog-page-type .ps-pagination-bar span.next,
.new-blog-page-type .ps-pagination-bar span.prev{
    border:1px solid #9C7E32;
}
.new-blog-page-type .ps-pagination-bar span.current{
    color:#FFFFFF;
    background:linear-gradient(135deg,#C2A24F,#9C7E32);
    border-color:#9C7E32;
}

/* ---------- Featured (hidden by platform, styled if enabled) ---------- */
.new-blog-page-type .featured-articles{
    padding:2.25rem;
    background:#FFFDF8;
    border:1px solid #E6D4A6;
    border-radius:16px;
    box-shadow:0 12px 30px rgba(30,27,22,.05);
}
.new-blog-page-type .featured-articles h5{
    margin:0 0 1rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#9C7E32;
}
.new-blog-page-type .featured-articles h2{
    font-family:'Playfair Display',Georgia,serif;
    font-size:1.6rem;
    font-weight:700;
    line-height:1.3;
    color:#241F18;
}
.new-blog-page-type .featured-articles p{
    font-family:'Inter',Arial,sans-serif;
    font-size:1.0625rem;
    line-height:1.8;
    color:#5A5446;
}
.new-blog-page-type .featured-articles-slider{
    list-style:none;
    margin:0;
    padding:0;
}

/* ---------- Responsive ---------- */
@media (max-width:1023px){
    .new-blog-page-type .articles-filter-container.hide-for-large{
        margin-top:2.5rem;
        padding:0 15px;
    }
    .new-blog-page-type .ps-blog-category{
        gap:.5rem;
    }
    .new-blog-page-type .ps-blog-category li{
        width:auto;
    }
    .new-blog-page-type .ps-blog-category li a{
        width:auto;
        display:inline-block;
        text-align:center;
        padding:.5rem 1rem;
        color:#5A5446;
        background:#FAF7F0;
        border:1px solid #E6DCC2;
        border-radius:999px;
    }
    .new-blog-page-type .ps-blog-category li.active a,
    .new-blog-page-type .ps-blog-category li a.all-blogs{
        color:#FFFFFF;
        background:linear-gradient(135deg,#C2A24F,#9C7E32);
        border-color:#9C7E32;
    }
}
@media (max-width:640px){
    .new-blog-page-type .blog-articles{
        padding-right:0;
    }
    .new-blog-page-type .blog-li .blog-article{
        padding:1.5rem 1.4rem;
    }
    .new-blog-page-type .blog-search-container #search-input-blog{
        height:54px;
    }
}


/* =====================================================================
   SINGLE BLOG POST — featured-image HERO
   1:1 match to the site-wide bnl-0 hero: glass content panel + kicker
   pill + gold radial-glow scrim + gold top accent line. Mapped onto the
   blog banner's own classes; content wrapper = .lmh-blog-hero__panel.
   ===================================================================== */
.lmh-blog-hero{
    position:relative;
    overflow:hidden;
    background:#141109;
}
.lmh-blog-hero::after{
    content:"";
    position:absolute;
    top:0; left:0; right:0;
    height:3px;
    z-index:4;
    pointer-events:none;
    background:linear-gradient(90deg,#9C7E32,#E3D2A0 45%,#C2A24F 70%,rgba(194,162,79,0));
}
.lmh-blog-hero__media{
    position:relative;   /* in-flow: the image gives the hero its height (like bnl-0) */
    margin:0;
    z-index:0;
}
.lmh-blog-hero__media picture{
    display:block;
    width:100%;
    height:100%;
}
.lmh-blog-hero__media img{
    display:block;
    width:100%;
    height:100%;
    min-height:clamp(460px, 64vh, 740px);
    object-fit:cover;
}
.lmh-blog-hero__overlay{
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(90deg, rgba(13,12,9,.88) 0%, rgba(18,16,12,.62) 44%, rgba(18,16,12,.12) 100%),
        radial-gradient(720px 380px at 12% 84%, rgba(194,162,79,.34), transparent 60%),
        radial-gradient(620px 360px at 96% 4%, rgba(194,162,79,.14), transparent 62%);
}
.lmh-blog-hero .inner-banner.blog-banner{
    z-index:3;
}
/* the platform overlay band is display:flex; its inner container has
   margin:0 auto and would shrink-wrap+centre inside flex. Make that inner
   container fill the band so the panel's margin-right:auto can left-align it. */
.lmh-blog-hero .inner-banner.blog-banner > *{
    width:100%;
}
.lmh-blog-hero__panel{
    position:relative;
    max-width:720px;
    margin:0 auto 0 0;
    padding:2.8rem 2.8rem 2.6rem;
    border-radius:18px;
    color:#FFFFFF;
    background:linear-gradient(180deg, rgba(28,24,18,.62), rgba(20,17,13,.58));
    border:1px solid rgba(194,162,79,.34);
    border-left:3px solid #C2A24F;
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
    box-shadow:0 36px 80px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);
    overflow:visible;
}
.lmh-blog-hero__panel::before{
    content:"";
    position:absolute;
    top:14px; right:14px;
    width:46px; height:46px;
    border-top:2px solid rgba(194,162,79,.70);
    border-right:2px solid rgba(194,162,79,.70);
    border-top-right-radius:10px;
    pointer-events:none;
}
.lmh-blog-hero__panel::after{
    content:"";
    position:absolute;
    bottom:14px; left:14px;
    width:46px; height:46px;
    border-bottom:2px solid rgba(194,162,79,.45);
    border-left:2px solid rgba(194,162,79,.45);
    border-bottom-left-radius:10px;
    pointer-events:none;
}
.lmh-blog-hero__kicker{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    margin-bottom:1.1rem;
    padding:.45rem .9rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:2.5px;
    text-transform:uppercase;
    color:#E3D2A0;
    background:rgba(194,162,79,.12);
    border:1px solid rgba(194,162,79,.34);
    border-radius:50px;
}
.lmh-blog-hero__kicker i{
    color:#C2A24F;
    font-size:.9rem;
}
.lmh-blog-hero .banner-main-heading,
.lmh-blog-hero__title{
    margin:1.15rem 0 0;
    font-family:'Playfair Display',Georgia,serif;
    font-size:clamp(2rem, 3.4vw, 3rem);
    font-weight:700;
    line-height:1.12;
    letter-spacing:-.5px;
    color:#FFFFFF;
    text-wrap:balance;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
}
.lmh-blog-hero__sub{
    margin:1.2rem 0 0;
    max-width:600px;
    font-family:'Inter',Arial,sans-serif;
    font-size:clamp(1rem, 1.5vw, 1.18rem);
    line-height:1.7;
    color:#D8D2C6;
}

/* MOBILE — content stacks BELOW the image as a dark band (matches bnl-0 mobile) */
@media screen and (max-width:63.9375em){
    .lmh-blog-hero__media img{
        min-height:0;
        height:auto;
    }
    .lmh-blog-hero__overlay{
        display:none;
    }
    .lmh-blog-hero .inner-banner.blog-banner{
        position:static;
        display:block;
        max-width:none;
        height:auto;
        margin:0;
        padding:0;
    }
    .lmh-blog-hero__panel{
        max-width:none;
        margin:0;
        padding:2rem 1.25rem 2.25rem;
        border:0;
        border-radius:0;
        background:transparent;          /* .lmh-blog-hero #141109 shows through as the dark band */
        -webkit-backdrop-filter:none;
        backdrop-filter:none;
        box-shadow:none;
    }
    .lmh-blog-hero__panel::before,
    .lmh-blog-hero__panel::after{
        display:none;
    }
}
@media screen and (max-width:39.9375em){
    .lmh-blog-hero__panel{
        padding:1.7rem 1.1rem 1.9rem;
    }
}


/* ============================================================
   BLOG — ARTICLE (single post) : premium reading experience
   scope: .new-blog-page-type.article-page-type
   (double class => single-post only; overrides the listing
    rules above by specificity, without touching them)
   ============================================================ */
.new-blog-page-type.article-page-type{ background:#FCFAF4; }

/* center the post as one elegant column */
.new-blog-page-type.article-page-type .blog-article-content > *{
    margin-left:auto;
    margin-right:auto;
}

/* ---------- Title ---------- */
.new-blog-page-type.article-page-type .article-title.banner-main-heading{
    margin:.2rem auto .9rem;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:clamp(2rem, 1.3rem + 2.6vw, 3.1rem);
    line-height:1.16;
    letter-spacing:-.5px;
    color:#1E1B16;
}
.new-blog-page-type.article-page-type .article-title.banner-main-heading::after{
    content:"";
    display:block;
    width:66px;
    height:3px;
    margin:1.25rem 0 0;
    border-radius:2px;
    background:linear-gradient(90deg,#9C7E32,#E3D2A0 45%,#C2A24F 72%);
}

/* ---------- Author / meta bar ---------- */
.new-blog-page-type.article-page-type .blog-article-content .grid-x.align-middle{
    margin:0 auto;
}
.new-blog-page-type.article-page-type .blog-article-content .cell.large-4{
    width:100%;
    flex:0 0 100%;
}
.new-blog-page-type.article-page-type .blog-author{ margin:.4rem 0 0; }
.new-blog-page-type.article-page-type .lab-ul{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:.5rem .9rem;
    margin:0;
    padding:0 0 1.6rem;
    list-style:none;
    border-bottom:1px solid #ECE4D2;
    font:500 .92rem/1.6 'Inter',Arial,sans-serif;
    color:#5A5446;
}
.new-blog-page-type.article-page-type .lab-ul > li{
    margin:0;
    display:inline-flex;
    align-items:center;
}
.new-blog-page-type.article-page-type .lab-ul .author_name{
    color:#1E1B16;
    font-weight:600;
}
.new-blog-page-type.article-page-type .lab-ul .author_name::before{
    content:"\f007";
    font-family:"Font Awesome 5 Pro","Font Awesome 5 Free";
    font-weight:900;
    font-size:.82em;
    color:#C2A24F;
    margin-right:.5rem;
}
.new-blog-page-type.article-page-type .lab-ul time{ color:#5A5446; }
.new-blog-page-type.article-page-type .lab-ul time::before{
    content:"\f073";
    font-family:"Font Awesome 5 Pro","Font Awesome 5 Free";
    font-weight:900;
    font-size:.8em;
    color:#C2A24F;
    margin-right:.45rem;
}
/* category pills (article meta) */
.new-blog-page-type.article-page-type .lab-ul span a{
    display:inline-block;
    padding:.2rem .68rem;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#7E6526;
    text-decoration:none;
    background:rgba(194,162,79,.1);
    border:1px solid rgba(194,162,79,.32);
    border-radius:50px;
    transition:all .2s ease;
}
.new-blog-page-type.article-page-type .lab-ul span a:hover{
    background:#C2A24F;
    color:#FFFFFF;
    border-color:#C2A24F;
}
/* hide the comma separators between pills */
.new-blog-page-type.article-page-type .lab-ul span:not(:has(a)){ display:none; }

/* ---------- Article body ---------- */
.new-blog-page-type.article-page-type .article-body{
    margin:2.4rem auto 0;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.08rem;
    line-height:1.85;
    color:#43403A;
}
.new-blog-page-type.article-page-type .article-body > p{
    margin:0 0 1.45rem;
    font-size:1.08rem;
    line-height:1.85;
    color:#43403A;
}
/* lead paragraph + editorial drop cap */
.new-blog-page-type.article-page-type .article-body > p:first-of-type{ color:#2E2920; }
.new-blog-page-type.article-page-type .article-body > p:first-of-type::first-letter{
    float:left;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:3.6rem;
    line-height:.82;
    margin:.35rem .6rem 0 0;
    color:#9C7E32;
}
/* H2 — section heads with gold bar */
.new-blog-page-type.article-page-type .article-body h2{
    position:relative;
    margin:2.9rem 0 1rem;
    padding-left:1.05rem;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:clamp(1.5rem, 1.2rem + 1.2vw, 2rem);
    line-height:1.25;
    color:#1E1B16;
    text-wrap:balance;
}
.new-blog-page-type.article-page-type .article-body h2::before{
    content:"";
    position:absolute;
    left:0;
    top:.5rem;
    bottom:.4rem;
    width:4px;
    border-radius:3px;
    background:linear-gradient(180deg,#C2A24F,#9C7E32);
}
/* H3 — numbered subsections */
.new-blog-page-type.article-page-type .article-body h3{
    margin:2rem 0 .7rem;
    font-family:'Inter',Arial,sans-serif;
    font-weight:700;
    font-size:1.22rem;
    line-height:1.4;
    color:#221D16;
    letter-spacing:-.2px;
}
/* lists with gold check discs */
.new-blog-page-type.article-page-type .article-body ul{
    margin:0 0 1.6rem;
    padding:0;
    list-style:none;
}
.new-blog-page-type.article-page-type .article-body ul li{
    position:relative;
    margin:0 0 .75rem;
    padding-left:2.1rem;
    font-size:1.06rem;
    line-height:1.7;
    color:#43403A;
}
.new-blog-page-type.article-page-type .article-body ul li::before{
    content:"\f00c";
    font-family:"Font Awesome 5 Pro","Font Awesome 5 Free";
    font-weight:900;
    font-size:.66rem;
    color:#9C7E32;
    position:absolute;
    left:0;
    top:.2rem;
    width:1.35rem;
    height:1.35rem;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(194,162,79,.14);
    border-radius:50%;
}
.new-blog-page-type.article-page-type .article-body strong{
    color:#1E1B16;
    font-weight:700;
}
/* inline links */
.new-blog-page-type.article-page-type .article-body a{
    color:#9C7E32;
    font-weight:600;
    text-decoration:underline;
    text-underline-offset:3px;
    text-decoration-color:rgba(194,162,79,.45);
    transition:color .2s ease;
}
.new-blog-page-type.article-page-type .article-body a:hover{
    color:#C2A24F;
    text-decoration-color:#C2A24F;
}
/* closing consultation paragraph -> gold callout */
.new-blog-page-type.article-page-type .article-body > p:last-child{
    margin-top:2.2rem;
    padding:1.5rem 1.6rem;
    border:1px solid #E6DCC2;
    border-left:4px solid #C2A24F;
    border-radius:14px;
    background:linear-gradient(180deg,#FBF7EC,#FAF7F0);
    font-size:1.05rem;
    color:#3A352D;
}
.new-blog-page-type.article-page-type .article-body > p:last-child::first-letter{
    float:none;
    font-size:inherit;
    margin:0;
    color:inherit;
    font-family:inherit;
}

/* ---------- Recent Posts (full-width, below article) ---------- */
.new-blog-page-type.article-page-type .blog-sidebar{
    margin:3.2rem auto 0;
}
.new-blog-page-type.article-page-type .blog-sidebar-widget{
    padding:clamp(1.5rem, 1rem + 2vw, 2.4rem);
    background:#FFFFFF;
    border:1px solid #ECE4D2;
    border-radius:18px;
    box-shadow:0 22px 60px rgba(30,27,22,.07);
}
.new-blog-page-type.article-page-type .blog-sidebar-h2{
    position:relative;
    margin:0 0 1.6rem;
    padding-bottom:.85rem;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:1.6rem;
    color:#1E1B16;
}
.new-blog-page-type.article-page-type .blog-sidebar-h2::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:50px;
    height:3px;
    border-radius:2px;
    background:linear-gradient(90deg,#C2A24F,#9C7E32);
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:1.4rem;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts > li{
    margin:0;
    padding:1.3rem 1.4rem;
    background:#FCFAF4;
    border:1px solid #EFE9DA;
    border-radius:14px;
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts > li:hover{
    transform:translateY(-3px);
    border-color:#E3D2A0;
    box-shadow:0 16px 40px rgba(30,27,22,.08);
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category{
    margin:0 0 .6rem;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.4rem;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .categories_text{
    font:700 .72rem/1.4 'Inter',Arial,sans-serif;
    letter-spacing:.05em;
    text-transform:uppercase;
    color:#A79B82;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category span a{
    display:inline-block;
    padding:.16rem .6rem;
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#7E6526;
    text-decoration:none;
    background:rgba(194,162,79,.1);
    border:1px solid rgba(194,162,79,.3);
    border-radius:50px;
    transition:all .2s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-category span a:hover{
    background:#C2A24F;
    color:#FFFFFF;
    border-color:#C2A24F;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-title{
    margin:0 0 .5rem;
    font-family:'Playfair Display',Georgia,serif;
    font-size:1.18rem;
    font-weight:700;
    line-height:1.3;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-title a{
    color:#241F18;
    text-decoration:none;
    transition:color .2s ease;
}
.new-blog-page-type.article-page-type .ps-blog-recent-posts .article-title a:hover{ color:#9C7E32; }
.new-blog-page-type.article-page-type .ps-blog-recent-posts .item-body p{
    margin:0 0 .9rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:.96rem;
    line-height:1.7;
    color:#5A5446;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* ---------- Mobile ---------- */
@media (max-width:39.9375em){
    .new-blog-page-type.article-page-type .article-body{ margin-top:2rem; }
    .new-blog-page-type.article-page-type .article-body > p:first-of-type::first-letter{ font-size:3rem; }
    .new-blog-page-type.article-page-type .lab-ul{ gap:.4rem .7rem; }
    .new-blog-page-type.article-page-type .article-body > p:last-child{ padding:1.25rem 1.2rem; }
}
/* ===== end ARTICLE (single post) ===== */


/* ============================================================
   LMH — CONTACT PAGE
   S1 dark intro (left) | S2 contact details (3-up cards) | S3 map showcase
   ============================================================ */

/* shared eyebrow */
.lmh-contact-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#C2A24F;
    margin:0 0 1rem;
}
.lmh-contact-eyebrow i{ font-size:.95rem; color:#C2A24F; }
.lmh-contact-eyebrow--dark{ color:#9C7E32; }
.lmh-contact-eyebrow--dark i{ color:#9C7E32; }

/* ---------------- S1: dark intro ---------------- */
.is-wrapper > div.lmh-contact-intro,
.lmh-contact-intro{
    background:linear-gradient(160deg,#221D16 0%,#16130E 100%);
    border-top:3px solid #C2A24F;
}
.lmh-contact-intro .lmh-contact-intro__col{ text-align:left; }
.lmh-contact-intro .lmh-contact-title{
    margin:0 0 1.1rem;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:clamp(2rem, 1.3rem + 2.6vw, 3.1rem);
    line-height:1.14;
    letter-spacing:-.5px;
    color:#FFFDF8;
}
.lmh-contact-intro .lmh-contact-sub{
    margin:0;
    max-width:760px;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.08rem;
    line-height:1.75;
    color:#D7CFBF;
}

/* ---------------- S2: contact details ---------------- */
.is-wrapper > div.lmh-contact-main,
.lmh-contact-main{ background:#FCFAF4; }

.lmh-contact-main .lmh-contact-info{ text-align:left; }
.lmh-contact-main .lmh-contact-h2{
    margin:0 0 .8rem;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem);
    line-height:1.18;
    color:#1E1B16;
}
.lmh-contact-main .lmh-contact-lead{
    margin:0;
    max-width:680px;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.04rem;
    line-height:1.7;
    color:#5A5446;
}

/* contact cards (stacked in left column) */
.lmh-contact-cards{
    display:flex;
    flex-direction:column;
    gap:1rem;
    margin-top:1.6rem;
}
.lmh-contact-card{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:flex-start;
    gap:1.05rem;
    padding:1.4rem 1.4rem 1.4rem 1.55rem;
    background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF8 100%);
    border:1px solid #ECE4D2;
    border-radius:16px;
    text-decoration:none;
    box-shadow:0 1px 0 rgba(30,27,22,.02);
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.lmh-contact-card::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:linear-gradient(180deg,#C2A24F,#9C7E32);
    transform:scaleY(0);
    transform-origin:top center;
    transition:transform .3s ease;
}
.lmh-contact-card:hover{
    transform:translateY(-4px);
    border-color:#E3D2A0;
    box-shadow:0 22px 50px rgba(30,27,22,.12);
}
.lmh-contact-card:hover::before{ transform:scaleY(1); }

.lmh-contact-card__icon{
    flex:0 0 auto;
    width:52px;
    height:52px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(194,162,79,.12);
    box-shadow:inset 0 0 0 1px rgba(194,162,79,.22);
    color:#9C7E32;
    font-size:1.25rem;
    transition:background .28s ease, color .28s ease, transform .28s ease, box-shadow .28s ease;
}
.lmh-contact-card:hover .lmh-contact-card__icon{
    background:linear-gradient(135deg,#C2A24F,#9C7E32);
    box-shadow:0 10px 22px rgba(156,126,50,.32);
    color:#1E1B16;
    transform:scale(1.06);
}
.lmh-contact-card__body{
    display:flex;
    flex-direction:column;
    gap:.22rem;
    min-width:0;
}
.lmh-contact-card__label{
    font-family:'Inter',Arial,sans-serif;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#A79B82;
}
.lmh-contact-card__value{
    font-family:'Inter',Arial,sans-serif;
    font-size:1.04rem;
    font-weight:600;
    line-height:1.4;
    color:#1E1B16;
    word-break:break-word;
}
.lmh-contact-card__action{
    margin-top:.55rem;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:#9C7E32;
}
.lmh-contact-card__action i{ font-size:.72rem; transition:transform .25s ease; }
.lmh-contact-card:hover .lmh-contact-card__action i{ transform:translateX(5px); }

/* CTA button */
.lmh-contact-btn.is-btn,
.lmh-contact-btn{
    margin-top:1.2rem;
    display:inline-block;
    padding:.95rem 2.1rem;
    border-radius:50px;
    background:linear-gradient(90deg,#C2A24F,#9C7E32);
    color:#1E1B16 !important;
    border:0;
    font-family:'Inter',Arial,sans-serif;
    font-weight:700;
    letter-spacing:.02em;
    text-transform:none;
    text-decoration:none;
    transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.lmh-contact-btn:hover{
    transform:translateY(-2px);
    filter:brightness(1.04);
    box-shadow:0 14px 34px rgba(156,126,50,.32);
}

/* ---------------- right column: contact FORM (Webware template 3) ---------------- */
.lmh-contact-formcol{ display:block; }
.lmh-contact-formcol .lmh-form-head{ text-align:left; margin-bottom:1.4rem; }
.lmh-contact-formcol .lmh-form-h2{
    margin:0 0 .8rem;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem);
    line-height:1.18;
    color:#1E1B16;
}
.lmh-contact-formcol .lmh-form-lead{
    margin:0;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.04rem;
    line-height:1.7;
    color:#5A5446;
}

/* the form rendered as a premium card */
.lmh-contact-formcol .ww-form-container-3{
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:linear-gradient(180deg,#FFFFFF 0%,#FAF7F0 100%);
    border:1px solid #ECE4D2;
    box-shadow:0 24px 60px rgba(30,27,22,.10);
    padding:clamp(1.5rem, 1rem + 1.6vw, 2.4rem);
}
.lmh-contact-formcol .ww-form-container-3::before{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:4px;
    background:linear-gradient(90deg,#C2A24F,#9C7E32);
}
.lmh-contact-formcol .ww-form-container-3 form{
    border:0;
    padding:0;
    margin:0;
    background:transparent;
}

/* fields grid: name fields side-by-side on desktop, rest full width */
.lmh-contact-formcol .ww-form-container-3 fieldset{
    border:0;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:1rem;
}
.lmh-contact-formcol .ww-form-container-3 form fieldset > div{
    flex:1 1 100%;
    width:100%;
    min-width:0;
    margin:0;
}
@media (min-width:560px){
    .lmh-contact-formcol .ww-form-container-3 form fieldset > .first_name_wrap,
    .lmh-contact-formcol .ww-form-container-3 form fieldset > .last_name_wrap{
        flex:1 1 calc(50% - .5rem);
        width:calc(50% - .5rem);
    }
}

/* labels */
.lmh-contact-formcol .ww-form-container-3 form label{
    display:block;
    margin:0 0 .4rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:.78rem;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#4A453C;
}
.lmh-contact-formcol .ww-form-container-3 .required{ color:#C2A24F; margin-left:2px; }

/* inputs + textarea + phone field */
.lmh-contact-formcol .ww-form-container-3 form input[type="text"],
.lmh-contact-formcol .ww-form-container-3 form input[type="email"],
.lmh-contact-formcol .ww-form-container-3 form input[type="tel"],
.lmh-contact-formcol .ww-form-container-3 form textarea,
.lmh-contact-formcol .ww-form-container-3 form .phone_number{
    width:100%;
    box-sizing:border-box;
    margin:0;
    background:#FFFFFF;
    border:1px solid #E6DCC2;
    border-radius:10px;
    padding:.85rem 1rem;
    min-height:48px;
    font-family:'Inter',Arial,sans-serif;
    font-size:1rem;
    line-height:1.5;
    color:#1E1B16;
    box-shadow:none;
    -webkit-appearance:none;
    appearance:none;
    transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.lmh-contact-formcol .ww-form-container-3 form textarea{
    min-height:130px;
    resize:vertical;
    line-height:1.6;
}
.lmh-contact-formcol .ww-form-container-3 form input:focus,
.lmh-contact-formcol .ww-form-container-3 form textarea:focus{
    outline:0;
    border-color:#C2A24F;
    box-shadow:0 0 0 3px rgba(194,162,79,.18);
    background:#FFFDF8;
}
.lmh-contact-formcol .ww-form-container-3 form input::placeholder,
.lmh-contact-formcol .ww-form-container-3 form textarea::placeholder{ color:#A79B82; }

/* intl-tel-input phone widget — beat the platform ID rule */
.lmh-contact-formcol .ww-form-container-3 .iti{ display:block; width:100%; }
.lmh-contact-formcol .ww-form-container-3 #mob_phone_phone_number_tel{
    width:100%;
    box-sizing:border-box;
    margin:0;
    background:#FFFFFF;
    border:1px solid #E6DCC2;
    border-radius:10px;
    min-height:48px;
    padding:.85rem 1rem .85rem 52px;
    font-family:'Inter',Arial,sans-serif;
    font-size:1rem;
    color:#1E1B16;
}
.lmh-contact-formcol .ww-form-container-3 .iti__selected-flag{ border-radius:10px 0 0 10px; }

/* errors / hidden / valid */
.lmh-contact-formcol .ww-form-container-3 .error{
    display:block;
    margin-top:.35rem;
    font-family:'Inter',Arial,sans-serif;
    font-size:.8rem;
    color:#C0392B;
}
.lmh-contact-formcol .ww-form-container-3 .hide{ display:none !important; }

/* captcha + submit row */
.lmh-contact-formcol .ww-form-container-3 .form-container{
    width:100%;
    max-width:100%;
    margin:1rem 0 0;
    padding:0;
}
.lmh-contact-formcol .ww-form-container-3 .recaptcha-block{
    border:0;
    background:transparent;
    padding:0;
}
.lmh-contact-formcol .ww-form-container-3 .submit_wrap{ margin-top:.4rem; }
.lmh-contact-formcol .ww-form-container-3 form input[type="submit"],
.lmh-contact-formcol .ww-form-container-3 form .button.input{
    width:100%;
    cursor:pointer;
    border:0;
    margin:0;
    padding:1rem 2rem;
    border-radius:50px;
    background:linear-gradient(90deg,#C2A24F,#9C7E32);
    color:#1E1B16 !important;
    font-family:'Inter',Arial,sans-serif;
    font-size:1rem;
    font-weight:700;
    letter-spacing:.02em;
    text-transform:none;
    -webkit-appearance:none;
    appearance:none;
    transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.lmh-contact-formcol .ww-form-container-3 form input[type="submit"]:hover,
.lmh-contact-formcol .ww-form-container-3 form .button.input:hover{
    transform:translateY(-2px);
    filter:brightness(1.04);
    box-shadow:0 14px 34px rgba(156,126,50,.32);
}

/* ---------------- S3: MAP showcase (standalone) ---------------- */
.is-wrapper > div.lmh-map-sec,
.lmh-map-sec{
    background:linear-gradient(160deg,#221D16 0%,#16130E 100%);
    border-top:3px solid #C2A24F;
}
.lmh-map-sec .lmh-map-head{ text-align:center; margin-bottom:.4rem; }
.lmh-map-sec .lmh-map-eyebrow{ justify-content:center; color:#E0CF9B; }
.lmh-map-sec .lmh-map-eyebrow i{ color:#E0CF9B; }
.lmh-map-sec .lmh-map-title{
    margin:0 0 .7rem;
    font-family:'Playfair Display',Georgia,serif;
    font-weight:700;
    font-size:clamp(1.7rem, 1.2rem + 1.6vw, 2.4rem);
    line-height:1.18;
    color:#FFFDF8;
}
.lmh-map-sec .lmh-map-sub{
    margin:0 auto;
    max-width:620px;
    font-family:'Inter',Arial,sans-serif;
    font-size:1.02rem;
    line-height:1.7;
    color:#D7CFBF;
}

/* gold-framed map */
.lmh-map-frame{
    position:relative;
    margin-top:2rem;
    padding:10px;
    border-radius:22px;
    background:linear-gradient(135deg, rgba(194,162,79,.55), rgba(156,126,50,.12));
    box-shadow:0 40px 90px rgba(0,0,0,.45);
}
.lmh-map-embed{
    position:relative;
    border-radius:16px;
    overflow:hidden;
    min-height:clamp(380px, 46vw, 560px);
    background:#EAE4D6;
}
.lmh-map-embed iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    display:block;
}

/* floating location chip */
.lmh-map-chip{
    position:absolute;
    left:24px;
    bottom:24px;
    z-index:2;
    display:flex;
    align-items:center;
    gap:.9rem;
    max-width:min(440px, calc(100% - 48px));
    padding:1rem 1.1rem;
    background:rgba(255,253,248,.96);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    border:1px solid #ECE4D2;
    border-radius:16px;
    box-shadow:0 22px 50px rgba(0,0,0,.30);
}
.lmh-map-chip__icon{
    flex:0 0 auto;
    width:46px;
    height:46px;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(135deg,#C2A24F,#9C7E32);
    color:#1E1B16;
    font-size:1.2rem;
}
.lmh-map-chip__text{
    display:flex;
    flex-direction:column;
    gap:.15rem;
    min-width:0;
}
.lmh-map-chip__name{
    font-family:'Inter',Arial,sans-serif;
    font-size:.98rem;
    font-weight:700;
    line-height:1.3;
    color:#1E1B16;
}
.lmh-map-chip__addr{
    font-family:'Inter',Arial,sans-serif;
    font-size:.85rem;
    font-weight:500;
    line-height:1.3;
    color:#5A5446;
}
.lmh-map-chip__btn{
    flex:0 0 auto;
    margin-left:.25rem;
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    padding:.62rem 1rem;
    border-radius:50px;
    background:#1E1B16;
    color:#FFFDF8 !important;
    font-family:'Inter',Arial,sans-serif;
    font-size:.76rem;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-decoration:none;
    white-space:nowrap;
    transition:background .25s ease, transform .25s ease;
}
.lmh-map-chip__btn i{ transition:transform .25s ease; }
.lmh-map-chip__btn:hover{ background:#9C7E32; transform:translateY(-1px); }
.lmh-map-chip__btn:hover i{ transform:translateX(4px); }

/* ---------------- responsive ---------------- */
@media (max-width:1023px){
    .lmh-map-embed{ min-height:380px; }
}
@media (max-width:39.9375em){
    .lmh-contact-intro .lmh-contact-sub{ font-size:1rem; }
    .lmh-contact-card__value{ font-size:.98rem; }
    .lmh-map-frame{ padding:6px; border-radius:16px; }
    .lmh-map-embed{ min-height:320px; }
    .lmh-map-chip{
        position:static;
        max-width:100%;
        margin-top:12px;
        flex-wrap:wrap;
    }
    .lmh-map-chip__btn{ margin-left:auto; }
}



/* ============================================================================
   LMH REAL ESTATE — CONTACT FORM  ·  SELF-CONTAINED SNIPPET CSS
   ----------------------------------------------------------------------------
   Styles the Webware contact form (form template 3 → .ww-form-container-3)
   into a premium gold/charcoal card. Self-contained: every token it needs is
   bundled here, so it renders correctly even dropped on a page on its own.

   Scope: targets the form's OWN markup (.ww-form-container-3, form template 3)
   directly — NO changes to the form HTML required. .lmh-formsec is only an
   OPTIONAL heading-section wrapper; the form styling applies wherever the
   Webware contact form renders.
   Webware-safe: external CSS only, no inline styles, no wrapper overrides.
   Palette: gold #C2A24F / #9C7E32 · charcoal #1E1B16 · cream #FAF7F0 ·
            hairline #E6DCC2 · slate #5A5446. Type: Playfair Display + Inter.
   ============================================================================ */

/* ---- section shell (assert bg over .is-wrapper>div transparency) ---- */
.is-wrapper > div.lmh-formsec,
.lmh-formsec { background: #FCFAF4; }

/* ---- heading block ---- */
.lmh-formsec__head {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 2.4rem;
}
.lmh-formsec__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin: 0 0 1rem;
    font: 700 .75rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #9C7E32;
    background: #F6EFDD;
    border: 1px solid #E6D4A6;
    padding: .5rem .95rem;
    border-radius: 50px;
}
.lmh-formsec__eyebrow i { color: #C2A24F; font-size: .9rem; }
.lmh-formsec__title {
    margin: 0 0 .85rem;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 700;
    font-size: clamp(1.9rem, 1.3rem + 2.2vw, 2.7rem);
    line-height: 1.16;
    letter-spacing: -.4px;
    color: #1E1B16;
    text-wrap: balance;
}
.lmh-formsec__lead {
    margin: 0;
    font: 400 1.05rem/1.75 "Inter", Arial, sans-serif;
    color: #5A5446;
}

/* ============================================================
   THE FORM CARD
   ============================================================ */
.ww-form-container-3 {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FAF7F0 100%);
    border: 1px solid #ECE4D2;
    box-shadow: 0 26px 64px rgba(30, 27, 22, .10);
    padding: clamp(1.6rem, 1rem + 2vw, 2.8rem);
}
/* gold top accent bar */
.ww-form-container-3::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 4px;
    background: linear-gradient(90deg, #C2A24F, #E3D2A0 50%, #9C7E32);
}
/* faint corner bracket for depth */
.ww-form-container-3::after {
    content: "";
    position: absolute;
    top: 18px; right: 18px;
    width: 46px; height: 46px;
    border-top: 2px solid rgba(194, 162, 79, .35);
    border-right: 2px solid rgba(194, 162, 79, .35);
    border-top-right-radius: 10px;
    pointer-events: none;
}

.ww-form-container-3 form {
    border: 0;
    margin: 0;
    padding: 0;
    background: transparent;
    position: relative;
    z-index: 1;
}

/* hide the platform's intro placeholder paragraph */
.ww-form-container-3 .hide,
.ww-form-container-3 p.hide { display: none !important; }

/* ---- fieldset = responsive grid ---- */
.ww-form-container-3 fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1.15rem;
}
/* every field wrap full-width by default */
.ww-form-container-3 form fieldset > div {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    margin: 0;
}
/* first + last name share a row on wider screens */
@media (min-width: 560px) {
    .ww-form-container-3 form fieldset > .first_name_wrap,
    .ww-form-container-3 form fieldset > .last_name_wrap {
        flex: 1 1 calc(50% - .575rem);
        width: calc(50% - .575rem);
    }
}
/* extra breathing room after the Email field and after the Message field
   (gap handles the base rhythm; this adds a little more separation) */
.ww-form-container-3 form fieldset > .email_wrap,
.ww-form-container-3 form fieldset > .field_33531_wrap {
    margin-bottom: 1rem;
}

/* ---- labels ---- */
.ww-form-container-3 form label {
    display: block;
    margin: 0 0 .45rem;
    font: 700 .78rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #4A453C;
}
.ww-form-container-3 .required {
    color: #C2A24F;
    margin-left: 3px;
}

/* ---- inputs / textarea / phone ---- */
.ww-form-container-3 form input[type="text"],
.ww-form-container-3 form input[type="email"],
.ww-form-container-3 form input[type="tel"],
.ww-form-container-3 form textarea,
.ww-form-container-3 form .phone_number {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    background: #FFFFFF;
    border: 1px solid #E6DCC2;
    border-radius: 11px;
    padding: .9rem 1.05rem;
    min-height: 50px;
    font: 400 1rem/1.5 "Inter", Arial, sans-serif;
    color: #1E1B16;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ww-form-container-3 form textarea {
    min-height: 140px;
    line-height: 1.6;
    resize: vertical;
}
.ww-form-container-3 form input:focus,
.ww-form-container-3 form textarea:focus {
    outline: 0;
    border-color: #C2A24F;
    box-shadow: 0 0 0 3px rgba(194, 162, 79, .18);
    background: #FFFDF8;
}
.ww-form-container-3 form input::placeholder,
.ww-form-container-3 form textarea::placeholder {
    color: #A79B82;
}

/* ---- intl-tel-input phone widget (beat platform #id rule) ---- */
.ww-form-container-3 .iti {
    display: block;
    width: 100%;
}
.ww-form-container-3 #mob_phone_phone_number_tel {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    background: #FFFFFF;
    border: 1px solid #E6DCC2;
    border-radius: 11px;
    min-height: 50px;
    padding: .9rem 1.05rem .9rem 52px;
    font: 400 1rem/1.5 "Inter", Arial, sans-serif;
    color: #1E1B16;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ww-form-container-3 #mob_phone_phone_number_tel:focus {
    outline: 0;
    border-color: #C2A24F;
    box-shadow: 0 0 0 3px rgba(194, 162, 79, .18);
    background: #FFFDF8;
}
.ww-form-container-3 .iti__selected-flag {
    border-radius: 11px 0 0 11px;
    background: #FBF7EC;
    border-right: 1px solid #E6DCC2;
}
.ww-form-container-3 .iti__country-list {
    border-radius: 8px;
    box-shadow: 0 16px 40px rgba(30, 27, 22, .18);
}
/* "✓ Valid" pill */
.ww-form-container-3 #mob_phone_phone_number_valid {
    display: inline-block;
    margin-top: .4rem;
    font: 600 .78rem/1 "Inter", Arial, sans-serif;
    color: #2E7D32 !important;
}

/* ---- errors ---- */
.ww-form-container-3 .error {
    display: block;
    margin-top: .35rem;
    font: 500 .8rem/1.4 "Inter", Arial, sans-serif;
    color: #C0392B;
}

/* ---- captcha + submit container ---- */
.ww-form-container-3 .form-container {
    width: 100%;
    max-width: 100%;
    margin: 1.2rem 0 0;
    padding: 0;
}
.ww-form-container-3 .captcha_wrap { margin: 0; }
.ww-form-container-3 .recaptcha-block {
    border: 0;
    background: transparent;
    padding: 0;
}

/* ---- submit button — matches the site's standard gold button
   (.lmh-contact-btn / contact-page submit): 90deg gold gradient,
   brightness lift on hover, consistent shadow + transition) ---- */
.ww-form-container-3 .submit_wrap { margin-top: 1.2rem; }
.ww-form-container-3 form input[type="submit"],
.ww-form-container-3 form .button.input {
    width: 100%;
    cursor: pointer;
    border: 0;
    margin: 0;
    padding: 1rem 2rem;
    border-radius: 50px;
    background: linear-gradient(90deg, #C2A24F, #9C7E32);
    color: #1E1B16 !important;
    font: 700 1rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .02em;
    text-transform: none;
    text-decoration: none;
    -webkit-appearance: none;
    appearance: none;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.ww-form-container-3 form input[type="submit"]:hover,
.ww-form-container-3 form .button.input:hover,
.ww-form-container-3 form input[type="submit"]:focus,
.ww-form-container-3 form .button.input:focus {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 14px 34px rgba(156, 126, 50, .32);
    outline: none;
}

/* ---- on-load entrance ---- */
@media (prefers-reduced-motion: no-preference) {
    .lmh-formsec__head { animation: lmhFormUp .6s ease both; }
    .ww-form-container-3 { animation: lmhFormUp .6s ease .12s both; }
}
@keyframes lmhFormUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: none; }
}

/* ---- responsive ---- */
@media (max-width: 39.9375em) {
    .lmh-formsec__lead { font-size: 1rem; }
    .ww-form-container-3::after { display: none; }
}



/* ============================================================================
   LMH REAL ESTATE — LEAD-MAGNET / NEWSLETTER FORM · SELF-CONTAINED SNIPPET CSS
   ----------------------------------------------------------------------------
   Styles the Webware lead-magnet form (#lead-magnet-form, .ww-form-container)
   into a premium gold/charcoal card with a heading band. Self-contained: every
   token it needs is bundled here, so it renders correctly even dropped on a
   page on its own.

   NOTE: this form uses the STANDARD container .ww-form-container (NOT template
   3's .ww-form-container-3), and lives inside #lead-magnet-form — so the whole
   block is scoped to #lead-magnet-form to avoid colliding with the contact
   form styles. Targets the form's OWN markup directly — NO HTML changes needed.
   Webware-safe: external CSS only, no inline styles, no wrapper overrides.
   Palette: gold #C2A24F / #9C7E32 · charcoal #1E1B16 · cream #FAF7F0 ·
            hairline #E6DCC2 · slate #5A5446. Type: Playfair Display + Inter.
   ============================================================================ */

/* ---- center the form column, give it breathing room ---- */
#lead-magnet-form {
    font-family: "Inter", Arial, sans-serif;
}
#lead-magnet-form .ww-form-container {
    max-width: 100%;
    margin: 0 auto;
}

/* ============================================================
   THE FORM CARD
   ============================================================ */
#lead-magnet-form form {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(180deg, #FFFFFF 0%, #FAF7F0 100%);
    border: 1px solid #ECE4D2;
    box-shadow: 0 26px 64px rgba(30, 27, 22, .10);
    padding: clamp(1.8rem, 1.1rem + 2.4vw, 3rem);
}
/* gold top accent bar */
#lead-magnet-form form::before {
    content: "";
    position: absolute;
    left: 0; right: 0; top: 0;
    height: 4px;
    background: linear-gradient(90deg, #C2A24F, #E3D2A0 50%, #9C7E32);
}
/* faint corner bracket for depth */
#lead-magnet-form form::after {
    content: "";
    position: absolute;
    top: 18px; right: 18px;
    width: 46px; height: 46px;
    border-top: 2px solid rgba(194, 162, 79, .35);
    border-right: 2px solid rgba(194, 162, 79, .35);
    border-top-right-radius: 10px;
    pointer-events: none;
}

/* ---- heading block (the two <h2> + intro <p> at the top of the form) ---- */
#lead-magnet-form form h2 {
    position: relative;
    z-index: 1;
    margin: 0 0 .6rem;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 700;
    font-size: clamp(1.7rem, 1.2rem + 2vw, 2.5rem);
    line-height: 1.16;
    letter-spacing: -.4px;
    color: #1E1B16;
    text-align: center;
    text-wrap: balance;
}
/* the empty spacer <h2>&nbsp;</h2> in the markup — collapse it */
#lead-magnet-form form h2:empty,
#lead-magnet-form form h2 + h2 {
    margin: 0;
    min-height: 0;
    line-height: 0;
}
#lead-magnet-form form > p {
    position: relative;
    z-index: 1;
    margin: 0 auto 2rem;
    max-width: 60ch;
    font: 400 1.05rem/1.75 "Inter", Arial, sans-serif;
    color: #5A5446;
    text-align: center;
}

/* ---- inner grid wrappers from the markup stay full-width & clean ---- */
#lead-magnet-form form .grid-x.align-center {
    position: relative;
    z-index: 1;
    margin: 0;
}

/* ---- field wraps: name + email full width, comfortable rhythm ---- */
#lead-magnet-form .first_name_wrap,
#lead-magnet-form .email_wrap {
    margin: 0 0 1.15rem;
}

/* ---- labels ---- */
#lead-magnet-form form label {
    display: block;
    margin: 0 0 .45rem;
    font: 700 .78rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #4A453C;
}
#lead-magnet-form .required {
    color: #C2A24F;
    margin-left: 3px;
}

/* ---- inputs ---- */
#lead-magnet-form .ww-form-container input[type="text"],
#lead-magnet-form .ww-form-container input[type="email"],
#lead-magnet-form .ww-form-container input.input {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    background: #FFFFFF;
    border: 1px solid #E6DCC2;
    border-radius: 11px;
    padding: .9rem 1.05rem;
    min-height: 50px;
    font: 400 1rem/1.5 "Inter", Arial, sans-serif;
    color: #1E1B16;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
#lead-magnet-form .ww-form-container input[type="text"]:focus,
#lead-magnet-form .ww-form-container input[type="email"]:focus,
#lead-magnet-form .ww-form-container input.input:focus {
    outline: 0;
    border-color: #C2A24F;
    box-shadow: 0 0 0 3px rgba(194, 162, 79, .18);
    background: #FFFDF8;
}
#lead-magnet-form .ww-form-container input::placeholder {
    color: #A79B82;
}

/* ---- errors ---- */
#lead-magnet-form .ww-form-container span.error,
#lead-magnet-form .ww-form-container span.errorMargin {
    display: block;
    margin: .35rem 0 0;
    font: 500 .8rem/1.4 "Inter", Arial, sans-serif;
    color: #C0392B;
}

/* ---- captcha block ---- */
#lead-magnet-form .captcha_wrap {
    margin: .25rem 0 0;
}
#lead-magnet-form .recaptcha-block {
    border: 0;
    background: transparent;
    padding: 0;
}

/* ---- submit button — site-standard gold gradient (matches the contact
   form / .lmh-contact-btn): 90deg gold, brightness lift + shadow on hover ---- */
#lead-magnet-form .submit_wrap {
    margin: 1.3rem 0 0;
}
#lead-magnet-form .ww-form-container input[type="submit"],
#lead-magnet-form .ww-form-container .button.input,
#lead-magnet-form .ww-form-container .button {
    width: 100%;
    cursor: pointer;
    border: 0;
    margin: 0;
    padding: 1.05rem 2rem;
    border-radius: 50px;
    background: linear-gradient(90deg, #C2A24F, #9C7E32);
    color: #1E1B16 !important;
    font: 700 1rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .02em;
    text-transform: none;
    text-decoration: none;
    -webkit-appearance: none;
    appearance: none;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
#lead-magnet-form .ww-form-container input[type="submit"]:hover,
#lead-magnet-form .ww-form-container .button.input:hover,
#lead-magnet-form .ww-form-container .button:hover,
#lead-magnet-form .ww-form-container input[type="submit"]:focus,
#lead-magnet-form .ww-form-container .button.input:focus,
#lead-magnet-form .ww-form-container .button:focus {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 14px 34px rgba(156, 126, 50, .32);
    outline: none;
}

/* ---- on-load entrance ---- */
@media (prefers-reduced-motion: no-preference) {
    #lead-magnet-form form { animation: lmhLeadUp .6s ease .08s both; }
}
@keyframes lmhLeadUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: none; }
}

/* ---- responsive ---- */
@media (max-width: 39.9375em) {
    #lead-magnet-form form > p { font-size: 1rem; }
    #lead-magnet-form form::after { display: none; }
}


/* ============================================================================
   LMH REAL ESTATE — GENERIC BUTTON SYSTEM  ·  SELF-CONTAINED SNIPPET CSS
   ----------------------------------------------------------------------------
   Two reusable, GLOBAL button classes (no page scope) — drop on any <a>,
   <button>, or <input type="submit"/"button"> anywhere on the site.

     .lmh-btn        → primary button for LIGHT / cream / white backgrounds.
                       Gold gradient fill + animated shine-sweep + lift on hover.
     .lmh-btn-dark   → MODIFIER for use on DARK / charcoal sections. Stays
                       visible (never merges into the background): solid gold
                       fill with a bright outline + glow so it pops on dark.
                       Use as:  class="lmh-btn lmh-btn-dark"
                       (or on its own — it carries the full base styling too).

   Optional helper:
     .lmh-btn-ghost  → outline-only variant (transparent + gold border, fills
                       gold on hover). Pairs well on dark sections as a
                       secondary action next to a solid .lmh-btn-dark.

   Webware-safe: external CSS only, no inline styles, no wrapper overrides.
   Palette: gold #C2A24F / #E3D2A0 / #9C7E32 · charcoal #1E1B16. Type: Inter.
   ============================================================================ */

/* ---- shared base ---- */
.is-wrapper .lmh-btn,
.is-wrapper a.lmh-btn,
.is-wrapper button.lmh-btn,
.is-wrapper input.lmh-btn{
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6rem;
    padding: 1rem 2.2rem;
    font: 600 1rem/1 "Inter", Arial, sans-serif;
    letter-spacing: .02em;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    border: 2px solid #C2A24F;
    border-radius: 10px;
    -webkit-appearance: none;
    appearance: none;
    /* default = LIGHT-bg look: gold gradient fill */
    color: #1E1B16;
    background: linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    box-shadow: 0 12px 28px rgba(194, 162, 79, .30);
    transition: transform .28s cubic-bezier(.2,.7,.3,1),
                box-shadow .28s cubic-bezier(.2,.7,.3,1),
                background .28s ease,
                color .28s ease,
                border-color .28s ease;
}

/* keep label/icon above the shine layer */
.is-wrapper .lmh-btn > *{ position: relative; z-index: 2; }

/* arrow / icon nudge on hover (works if button contains an <i>) */
.is-wrapper .lmh-btn i{ transition: transform .28s cubic-bezier(.2,.7,.3,1); }
.is-wrapper .lmh-btn:hover i,
.is-wrapper .lmh-btn:focus i{ transform: translateX(4px); }

/* ---- the AWESOME hover effect: a soft diagonal light band sweeps across ---- */
.is-wrapper .lmh-btn::before{
    content: "";
    position: absolute;
    top: 0;
    left: -130%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, .55) 50%,
        rgba(255, 255, 255, 0) 100%);
    transform: skewX(-20deg);
    transition: left .6s cubic-bezier(.2,.7,.3,1);
    pointer-events: none;
    z-index: 1;
}

.is-wrapper .lmh-btn:hover,
.is-wrapper .lmh-btn:focus{
    transform: translateY(-3px);
    color: #181511;
    background: linear-gradient(135deg, #F0E4BE, #D6B65E 55%, #B68F38);
    box-shadow: 0 18px 40px rgba(194, 162, 79, .45);
    outline: none;
}

/* slide the shine across on hover */
.is-wrapper .lmh-btn:hover::before,
.is-wrapper .lmh-btn:focus::before{ left: 140%; }

/* quick press feedback */
.is-wrapper .lmh-btn:active{
    transform: translateY(-1px) scale(.99);
    box-shadow: 0 8px 18px rgba(194, 162, 79, .4);
}

.is-wrapper .lmh-btn:focus-visible{
    outline: 2px solid #C2A24F;
    outline-offset: 3px;
}


/* ============================================================
   .lmh-btn-dark  →  for DARK / charcoal backgrounds
   Solid gold fill + bright gold outline + glow so it never
   blends into a dark section. Use:  class="lmh-btn lmh-btn-dark"
   ============================================================ */
.is-wrapper .lmh-btn-dark,
.is-wrapper a.lmh-btn-dark,
.is-wrapper button.lmh-btn-dark,
.is-wrapper input.lmh-btn-dark{
    color: #1E1B16;
    background: linear-gradient(135deg, #E8D9AC, #C2A24F 55%, #9C7E32);
    /* the separation from a dark bg: a luminous ring + halo */
    border-color: rgba(233, 214, 160, .65);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .45),
                0 0 0 1px rgba(233, 214, 160, .25),
                0 0 24px rgba(194, 162, 79, .35);
}

.is-wrapper .lmh-btn-dark:hover,
.is-wrapper .lmh-btn-dark:focus{
    color: #181511;
    background: linear-gradient(135deg, #F3E7BE, #D6B65E 55%, #B68F38);
    border-color: #F0E4BE;
    box-shadow: 0 20px 46px rgba(0, 0, 0, .5),
                0 0 0 1px rgba(255, 255, 255, .4),
                0 0 34px rgba(214, 182, 94, .55);
}


/* ============================================================
   .lmh-btn-ghost  →  optional outline-only variant
   Transparent + gold border; fills gold on hover. Good as a
   SECONDARY action (pairs nicely beside .lmh-btn-dark on dark
   sections, or beside .lmh-btn on light ones).
   ============================================================ */
.is-wrapper .lmh-btn-ghost,
.is-wrapper a.lmh-btn-ghost,
.is-wrapper button.lmh-btn-ghost,
.is-wrapper input.lmh-btn-ghost{
    color: #9C7E32;
    background: transparent;
    border-color: #C2A24F;
    box-shadow: none;
}
.is-wrapper .lmh-btn-ghost:hover,
.is-wrapper .lmh-btn-ghost:focus{
    color: #1E1B16;
    background: linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    border-color: #C2A24F;
    box-shadow: 0 14px 32px rgba(194, 162, 79, .34);
}

/* ghost ON dark sections — light text + gold border so it stays visible */
.is-wrapper .lmh-btn-ghost.lmh-btn-dark,
.is-wrapper .lmh-btn-dark.lmh-btn-ghost{
    color: #F4EDDC;
    background: transparent;
    border-color: rgba(233, 214, 160, .55);
    box-shadow: none;
}
.is-wrapper .lmh-btn-ghost.lmh-btn-dark:hover,
.is-wrapper .lmh-btn-dark.lmh-btn-ghost:hover{
    color: #1E1B16;
    background: linear-gradient(135deg, #E8D9AC, #C2A24F 55%, #9C7E32);
    border-color: #F0E4BE;
    box-shadow: 0 0 26px rgba(194, 162, 79, .4);
}


/* ---- size + width helpers (optional) ---- */
.is-wrapper .lmh-btn-sm{ padding: .7rem 1.5rem; font-size: .9rem; }
.is-wrapper .lmh-btn-lg{ padding: 1.15rem 2.7rem; font-size: 1.08rem; }
.is-wrapper .lmh-btn-block{ display: flex; width: 100%; }


/* ============================================================
   INPUT BUTTONS  (<input type="submit" | "button" | "reset">)
   ----------------------------------------------------------------------------
   Inputs can't hold child nodes, so flex `gap`, the <i> icon nudge, and the
   ::before shine layer do NOT apply to them. To get the SAME look + a real
   shine on inputs, we move the sweep onto the element's own `background`
   (an animated highlight band layered over the gold gradient) and animate
   `background-position`. This makes .lmh-btn / .lmh-btn-dark / .lmh-btn-ghost
   fully functional on input buttons too — no markup change needed.
   ============================================================ */

/* base (light bg) input button */
.is-wrapper input.lmh-btn[type="submit"],
.is-wrapper input.lmh-btn[type="button"],
.is-wrapper input.lmh-btn[type="reset"]{
    display: inline-block;          /* flex gap is irrelevant on inputs */
    color: #1E1B16;
    /* layer 1 = moving white highlight band · layer 2 = gold gradient */
    background-image:
        linear-gradient(120deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 38%,
            rgba(255,255,255,.55) 50%,
            rgba(255,255,255,0) 62%,
            rgba(255,255,255,0) 100%),
        linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    background-repeat: no-repeat, no-repeat;
    background-size: 250% 100%, 100% 100%;
    background-position: 150% 0, 0 0;   /* shine parked off to the right */
    box-shadow: 0 12px 28px rgba(194,162,79,.30);
    transition: transform .28s cubic-bezier(.2,.7,.3,1),
                box-shadow .28s cubic-bezier(.2,.7,.3,1),
                color .28s ease,
                border-color .28s ease,
                background-position .6s cubic-bezier(.2,.7,.3,1);
}
.is-wrapper input.lmh-btn[type="submit"]:hover,
.is-wrapper input.lmh-btn[type="button"]:hover,
.is-wrapper input.lmh-btn[type="reset"]:hover,
.is-wrapper input.lmh-btn[type="submit"]:focus,
.is-wrapper input.lmh-btn[type="button"]:focus,
.is-wrapper input.lmh-btn[type="reset"]:focus{
    transform: translateY(-3px);
    color: #181511;
    background-image:
        linear-gradient(120deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 38%,
            rgba(255,255,255,.55) 50%,
            rgba(255,255,255,0) 62%,
            rgba(255,255,255,0) 100%),
        linear-gradient(135deg, #F0E4BE, #D6B65E 55%, #B68F38);
    background-position: -150% 0, 0 0;   /* sweep the shine across */
    box-shadow: 0 18px 40px rgba(194,162,79,.45);
    outline: none;
}
.is-wrapper input.lmh-btn[type="submit"]:active,
.is-wrapper input.lmh-btn[type="button"]:active,
.is-wrapper input.lmh-btn[type="reset"]:active{
    transform: translateY(-1px) scale(.99);
    box-shadow: 0 8px 18px rgba(194,162,79,.4);
}

/* dark-bg input button — gold fill + luminous ring + halo */
.is-wrapper input.lmh-btn-dark[type="submit"],
.is-wrapper input.lmh-btn-dark[type="button"],
.is-wrapper input.lmh-btn-dark[type="reset"]{
    color: #1E1B16;
    background-image:
        linear-gradient(120deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 38%,
            rgba(255,255,255,.5) 50%,
            rgba(255,255,255,0) 62%,
            rgba(255,255,255,0) 100%),
        linear-gradient(135deg, #E8D9AC, #C2A24F 55%, #9C7E32);
    background-size: 250% 100%, 100% 100%;
    background-position: 150% 0, 0 0;
    border-color: rgba(233,214,160,.65);
    box-shadow: 0 14px 34px rgba(0,0,0,.45),
                0 0 0 1px rgba(233,214,160,.25),
                0 0 24px rgba(194,162,79,.35);
}
.is-wrapper input.lmh-btn-dark[type="submit"]:hover,
.is-wrapper input.lmh-btn-dark[type="button"]:hover,
.is-wrapper input.lmh-btn-dark[type="reset"]:hover,
.is-wrapper input.lmh-btn-dark[type="submit"]:focus,
.is-wrapper input.lmh-btn-dark[type="button"]:focus,
.is-wrapper input.lmh-btn-dark[type="reset"]:focus{
    color: #181511;
    background-image:
        linear-gradient(120deg,
            rgba(255,255,255,0) 0%,
            rgba(255,255,255,0) 38%,
            rgba(255,255,255,.5) 50%,
            rgba(255,255,255,0) 62%,
            rgba(255,255,255,0) 100%),
        linear-gradient(135deg, #F3E7BE, #D6B65E 55%, #B68F38);
    background-position: -150% 0, 0 0;
    border-color: #F0E4BE;
    box-shadow: 0 20px 46px rgba(0,0,0,.5),
                0 0 0 1px rgba(255,255,255,.4),
                0 0 34px rgba(214,182,94,.55);
}

/* ghost input button (light bg): transparent + gold border, fills on hover */
.is-wrapper input.lmh-btn-ghost[type="submit"],
.is-wrapper input.lmh-btn-ghost[type="button"],
.is-wrapper input.lmh-btn-ghost[type="reset"]{
    color: #9C7E32;
    background-image: none;
    background-color: transparent;
    border-color: #C2A24F;
    box-shadow: none;
}
.is-wrapper input.lmh-btn-ghost[type="submit"]:hover,
.is-wrapper input.lmh-btn-ghost[type="button"]:hover,
.is-wrapper input.lmh-btn-ghost[type="reset"]:hover,
.is-wrapper input.lmh-btn-ghost[type="submit"]:focus,
.is-wrapper input.lmh-btn-ghost[type="button"]:focus,
.is-wrapper input.lmh-btn-ghost[type="reset"]:focus{
    color: #1E1B16;
    background-image: linear-gradient(135deg, #E3D2A0, #C2A24F 55%, #9C7E32);
    border-color: #C2A24F;
    box-shadow: 0 14px 32px rgba(194,162,79,.34);
}

/* ghost input button ON dark sections: light text + visible gold border */
.is-wrapper input.lmh-btn-ghost.lmh-btn-dark[type="submit"],
.is-wrapper input.lmh-btn-ghost.lmh-btn-dark[type="button"],
.is-wrapper input.lmh-btn-ghost.lmh-btn-dark[type="reset"]{
    color: #F4EDDC;
    background-image: none;
    background-color: transparent;
    border-color: rgba(233,214,160,.55);
    box-shadow: none;
}
.is-wrapper input.lmh-btn-ghost.lmh-btn-dark[type="submit"]:hover,
.is-wrapper input.lmh-btn-ghost.lmh-btn-dark[type="button"]:hover,
.is-wrapper input.lmh-btn-ghost.lmh-btn-dark[type="reset"]:hover{
    color: #1E1B16;
    background-image: linear-gradient(135deg, #E8D9AC, #C2A24F 55%, #9C7E32);
    border-color: #F0E4BE;
    box-shadow: 0 0 26px rgba(194,162,79,.4);
}


/* ---- respect reduced-motion: kill the sweep + lift (links + inputs) ---- */
@media (prefers-reduced-motion: reduce) {
    .is-wrapper .lmh-btn,
    .is-wrapper .lmh-btn::before,
    .is-wrapper .lmh-btn i,
    .is-wrapper input.lmh-btn[type="submit"],
    .is-wrapper input.lmh-btn[type="button"],
    .is-wrapper input.lmh-btn[type="reset"]{
        transition: none !important;
    }
    .is-wrapper .lmh-btn:hover,
    .is-wrapper .lmh-btn:focus,
    .is-wrapper input.lmh-btn[type="submit"]:hover,
    .is-wrapper input.lmh-btn[type="button"]:hover,
    .is-wrapper input.lmh-btn[type="reset"]:hover{ transform: none; }
    .is-wrapper .lmh-btn::before{ display: none; }
}

input#Submit {
    border-radius: 6px !important;
}


#sidenav .accordion-menu li.is-accordion-submenu-parent.active > a:not(.button)::after {
    color: #FFF;
}

.no-aspect-ratio img{
    aspect-ratio: unset;
}
