/*
 Theme Name:   Picostrap5 Probate Child
 Theme URI:    https://probate-credibility.local
 Description:  Child theme for the Probate Real Estate Guide credibility site. Built on Picostrap5 + LiveCanvas.
 Author:       Probate Real Estate Guide
 Author URI:   https://probate-credibility.local
 Template:     picostrap5
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  https://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  picostrap5-probate-child
*/

/* ==========================================================================
   CSS Custom Properties — Brand Palette
   ========================================================================== */

:root {
    /* =====================================================================
       Bootstrap Variable Mappings — enables interchangeable headers/footers
       ===================================================================== */
    /* !important required: child style.css loads BEFORE bundle.css, so without it
       bundle's stock Bootstrap :root (#0d6efd etc.) wins and the brand palette is dead.
       Matches the divorce/divorce-neutral/life-transit pattern; the receiver's inline
       !important still overrides these in ?ts_mode=preview. */
    --bs-primary: #002868!important;
    --bs-primary-rgb: 0, 40, 104!important;
    --bs-secondary: #2C4F82!important;
    --bs-secondary-rgb: 44, 79, 130!important;
    --bs-success: #2C4F82!important;
    --bs-info: #2C4F82!important;
    --bs-warning: #B31942!important; /* Edwin White Realty accent = ticket Color 2 #B31942. This accent is DARK, so --bs-warning-text is #FFFFFF (white-on-crimson = 6.70:1 AA). Do not reinstate a dark label here: dark-on-crimson is 2.61:1 and fails. */
    --bs-danger: #8E1434!important;
    --bs-danger-rgb: 142, 20, 52!important;
    --bs-warning-rgb: 179, 25, 66!important;
    --bs-success-rgb: 44, 79, 130!important;
    --bs-info-rgb: 44, 79, 130!important;
    --bs-dark: #0B1B33!important;
    --bs-dark-rgb: 11, 27, 51!important;
    --bs-light: #F4F6F9!important;
    --bs-light-rgb: 244, 246, 249!important;
    --bs-body-bg: #FFFFFF !important;
    --bs-body-color: #2A2A2E!important;
    --bs-link-color: #2C4F82!important;
    --bs-link-hover-color: #B31942!important;
    --bs-warning-text: #FFFFFF !important;
    --bs-link-color-rgb: 44, 79, 130 !important;
    --bs-link-hover-color-rgb: 179, 25, 66 !important;
    --probate-accent-on-dark: #E8788F;

    /* Backward-compatible aliases — page content still uses these */
    --probate-navy: var(--bs-primary);
    --probate-navy-dark: var(--bs-dark);
    --probate-teal: var(--bs-secondary);
    --probate-teal-light: rgba(var(--bs-secondary-rgb), 0.1);
    --probate-amber: var(--bs-warning);
    --probate-amber-hover: var(--bs-danger);
    --probate-light-bg: var(--bs-light);
    --probate-white: #FFFFFF;
    --probate-text: var(--bs-body-color);
    --probate-text-muted: #6C757D;
    --probate-border: #DEE2E6;
    --font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* LiveCanvas partial reset — ensure header/footer start flush */
#lc-header { margin: 0 !important; padding: 0 !important; }
#lc-footer { margin: 0 !important; }
body.lc-custom-header { padding-top: 0 !important; margin-top: 0 !important; }

/* ==========================================================================
   Base Typography
   ========================================================================== */

body {
    font-family: var(--font-body);
    color: var(--probate-text);
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--probate-navy);
}

/* ==========================================================================
   Skip-to-Content Link
   ========================================================================== */

.skip-link.visually-hidden-focusable:focus {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 100000;
    padding: 12px 24px;
    background: var(--probate-amber);
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    outline: 3px solid var(--probate-navy);
    outline-offset: 2px;
}

/* ==========================================================================
   Picostrap Footer / Colophon — Hide Default
   ========================================================================== */

.site-footer .colophon,
#colophon,
#wrapper-footer-colophon {
    display: none !important;
}

/* --- Link States (Theme Studio responsive) --- */
a { color: var(--probate-teal); text-decoration: underline; text-decoration-color: rgba(var(--bs-secondary-rgb), 0.35); text-underline-offset: 3px; transition: color 0.2s ease; }
a:hover { color: var(--probate-amber); text-decoration-color: var(--probate-amber); }
a:visited { color: var(--probate-teal); opacity: 1; }
.nav-link:visited, .dropdown-item:visited, a[class*="btn"]:visited { color: inherit; opacity: 1; }
a:focus { outline: 2px solid var(--probate-amber); outline-offset: 2px; }
a:active:not([class*="btn"]):not(.nav-link):not(.dropdown-item) { color: var(--probate-amber-hover); }

/* --- Button Variants (Theme Studio responsive) --- */
.btn-amber { background: var(--probate-amber); border-color: var(--probate-amber); color: #fff; }
.btn-amber:hover { background: var(--probate-amber-hover); border-color: var(--probate-amber-hover); }
.btn-outline-teal { color: var(--probate-teal); border-color: var(--probate-teal); }
.btn-outline-teal:hover { background: var(--probate-teal); color: #fff; }
.btn-outline-white { color: #fff; border-color: #fff; }
.btn-outline-white:hover { background: #fff; color: var(--probate-navy); }

/* =============================================
   LiveCanvas Partial CSS Backup
   (duplicated from partial inline styles for
   environments that may strip <style> from
   partial content)
   ============================================= */

/* === ACTIVE FOOTER CSS (ID: 95, Footer - Dark Professional) === */
#lc-footer .fdp *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .fdp{background:var(--probate-navy-dark, #132845);color:#C8CDD3;font-family:"Open Sans",sans-serif;padding:60px 20px 0;text-align:center}
#lc-footer .fdp-logo{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.6rem;color:#fff;margin-bottom:8px}
#lc-footer .fdp-logo a{color:inherit;text-decoration:none}
#lc-footer .fdp-logo a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fdp-tagline{font-size:.9rem;color:#8B95A1;max-width:500px;margin:0 auto 28px;font-style:italic;line-height:1.6}
#lc-footer .fdp-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin-bottom:28px}
#lc-footer .fdp-nav a{color:rgba(255,255,255,.8);text-decoration:none;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:6px 14px;transition:color .2s}
#lc-footer .fdp-nav a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fdp-social{display:flex;justify-content:center;gap:18px;margin-bottom:32px}
#lc-footer .fdp-social a{color:#8B95A1;text-decoration:none;transition:color .2s;display:flex;align-items:center}
#lc-footer .fdp-social a svg{width:20px;height:20px}
#lc-footer .fdp-social a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fdp-divider{width:60px;height:2px;background:var(--probate-accent-on-dark, #E8788F);margin:0 auto 32px;border-radius:1px}
#lc-footer .fdp-copy{font-size:.78rem;color:#8B95A1;padding:20px 0;border-top:1px solid rgba(255,255,255,.06);max-width:600px;margin:0 auto}
@media(max-width:575.98px){#lc-footer .fdp{padding:40px 20px 0}#lc-footer .fdp-logo{font-size:1.3rem}}

/* === ACTIVE FOOTER CSS (ID: 94, Footer - Magazine Style) === */
#lc-footer .fmag *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .fmag{background:var(--probate-navy-dark, #132845);color:#C8CDD3;font-family:"Open Sans",sans-serif;padding:0}
#lc-footer .fmag-header{max-width:1200px;margin:0 auto;padding:48px 20px 0;text-align:center;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:0;padding-bottom:24px}
#lc-footer .fmag-logo{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.5rem;color:#fff;margin-bottom:4px}
#lc-footer .fmag-logo a{color:inherit;text-decoration:none}
#lc-footer .fmag-logo a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fmag-tagline{font-size:.85rem;color:#8B95A1;font-style:italic}
#lc-footer .fmag-cols{max-width:1200px;margin:0 auto;padding:32px 20px;display:grid;grid-template-columns:1.3fr .9fr .8fr 1fr;gap:32px}
#lc-footer .fmag h4{font-family:"Montserrat",sans-serif;font-weight:700;font-size:.95rem;color:#fff;margin-bottom:14px;text-transform:uppercase;letter-spacing:.04em}
#lc-footer .fmag p{font-size:.88rem;line-height:1.7;margin-bottom:8px}
#lc-footer .fmag-links{list-style:none;padding:0;margin:0}
#lc-footer .fmag-links li{margin-bottom:6px}
#lc-footer .fmag-links a{color:#C8CDD3;text-decoration:none;font-size:.88rem;display:inline-flex;align-items:center;gap:6px;transition:color .2s}
#lc-footer .fmag-links a svg{color:var(--probate-accent-on-dark, #E8788F);width:12px;height:12px;transition:transform .2s}
#lc-footer .fmag-links a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fmag-links a:hover svg{transform:translateX(3px)}
#lc-footer .fmag-feat{list-style:none;padding:0;margin:0}
#lc-footer .fmag-feat li{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}
#lc-footer .fmag-feat a{color:#C8CDD3;text-decoration:none;font-size:.88rem;transition:color .2s}
#lc-footer .fmag-feat a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fmag-feat .fmag-feat-cat{font-size:.7rem;text-transform:uppercase;color:var(--probate-accent-on-dark, #E8788F);font-weight:600;letter-spacing:.06em;display:block;margin-bottom:2px}
#lc-footer .fmag-nl input[type=email]{width:100%;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:rgba(255,255,255,.06);color:#fff;font-size:.88rem;margin-bottom:8px}
#lc-footer .fmag-nl input::placeholder{color:rgba(255,255,255,.4)}
#lc-footer .fmag-nl button{display:inline-block;background:var(--probate-accent-on-dark, #E8788F);color:#fff;border:none;padding:10px 22px;border-radius:4px;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;transition:filter .2s,transform .15s}
#lc-footer .fmag-nl button:hover{filter:brightness(.85);transform:translateY(-1px)}
#lc-footer .fmag-social{max-width:1200px;margin:0 auto;padding:20px;display:flex;justify-content:center;gap:16px;border-top:1px solid rgba(255,255,255,.08)}
#lc-footer .fmag-social a{color:#8B95A1;text-decoration:none;transition:color .2s;display:flex;align-items:center}
#lc-footer .fmag-social a svg{width:18px;height:18px}
#lc-footer .fmag-social a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fmag-copy{text-align:center;font-size:.75rem;color:#8B95A1;padding:0 20px 20px}
@media(max-width:991.98px){#lc-footer .fmag-cols{grid-template-columns:1fr 1fr;gap:24px}}
@media(max-width:575.98px){#lc-footer .fmag-cols{grid-template-columns:1fr;gap:20px}#lc-footer .fmag-header{padding:32px 20px 16px}}

/* === ACTIVE FOOTER CSS (ID: 93, Footer - CTA-Focused) === */
#lc-footer .fcta *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .fcta-banner{background:var(--probate-accent-on-dark, #E8788F);padding:48px 20px;text-align:center;font-family:"Montserrat",sans-serif}
#lc-footer .fcta-banner h2{color:#fff;font-size:1.6rem;font-weight:700;margin-bottom:10px}
#lc-footer .fcta-banner p{color:rgba(255,255,255,.9);font-size:1rem;font-family:"Open Sans",sans-serif;margin-bottom:20px;max-width:600px;margin-left:auto;margin-right:auto}
#lc-footer .fcta-btn{display:inline-block;background:#fff;color:var(--probate-accent-on-dark, #E8788F)!important;font-family:"Montserrat",sans-serif;font-weight:700;font-size:.95rem;padding:14px 36px;border-radius:50px;text-decoration:none;transition:transform .2s,box-shadow .2s}
#lc-footer .fcta-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2);color:var(--probate-accent-on-dark, #E8788F)!important}
#lc-footer .fcta-info{background:var(--probate-navy-dark, #132845);padding:20px;font-family:"Open Sans",sans-serif}
#lc-footer .fcta-info-wrap{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
#lc-footer .fcta-info-brand{color:#fff;font-family:"Montserrat",sans-serif;font-weight:700;font-size:.95rem}
#lc-footer .fcta-info-links{font-size:.82rem;display:flex;flex-wrap:wrap;gap:0;align-items:center}
#lc-footer .fcta-info-links a{color:rgba(255,255,255,.65);text-decoration:none;transition:color .2s;padding:2px 6px}
#lc-footer .fcta-info-links a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fcta-info-links .fcta-sep{color:rgba(255,255,255,.25);font-size:.6rem}
#lc-footer .fcta-copy{color:rgba(255,255,255,.45);font-size:.75rem}
@media(max-width:767.98px){
#lc-footer .fcta-banner{padding:36px 20px}
#lc-footer .fcta-banner h2{font-size:1.3rem}
#lc-footer .fcta-info-wrap{flex-direction:column;text-align:center}
#lc-footer .fcta-info-links{justify-content:center}
}

/* === ACTIVE FOOTER CSS (ID: 92, Footer - Minimal Strip) === */
#lc-footer .fms *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .fms{background:#f5f5f5;padding:24px 20px;font-family:"Open Sans",sans-serif}
#lc-footer .fms-wrap{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
#lc-footer .fms-brand{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1rem;color:var(--probate-navy, #1A3A5C)}
#lc-footer .fms-brand a{color:inherit;text-decoration:none}
#lc-footer .fms-brand a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fms-links{font-size:.85rem;display:flex;flex-wrap:wrap;gap:0;align-items:center}
#lc-footer .fms-links a{color:#555;text-decoration:none;transition:color .2s;padding:2px 8px}
#lc-footer .fms-links a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fms-links .fms-sep{color:#ccc;font-size:.75rem}
#lc-footer .fms-social{display:flex;gap:12px;align-items:center}
#lc-footer .fms-social a{color:#888;text-decoration:none;transition:color .2s;display:flex;align-items:center}
#lc-footer .fms-social a svg{width:16px;height:16px}
#lc-footer .fms-social a:hover{color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .fms-copy{max-width:1200px;margin:0 auto;padding:12px 20px 0;text-align:center;font-size:.75rem;color:#aaa;border-top:1px solid var(--probate-border, #DCD5C8)}
@media(max-width:767.98px){
#lc-footer .fms-wrap{flex-direction:column;text-align:center}
#lc-footer .fms-links{justify-content:center}
#lc-footer .fms-social{justify-content:center}
}

/* === ACTIVE FOOTER CSS (ID: 91, Footer - 4-Column Extended) === */
#lc-footer .f4c *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .f4c{max-width:1200px;margin:0 auto;padding:50px 20px 30px;display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:30px;font-family:"Open Sans",sans-serif;color:#C8CDD3}
#lc-footer .f4c h3{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.05rem;color:#fff;margin-bottom:14px}
#lc-footer .f4c p{font-size:.88rem;line-height:1.65;margin-bottom:10px}
#lc-footer .f4c-links{list-style:none;padding:0;margin:0}
#lc-footer .f4c-links li{margin-bottom:6px}
#lc-footer .f4c-links a{color:#C8CDD3;text-decoration:none;font-size:.88rem;transition:color .2s,padding-left .2s}
#lc-footer .f4c-links a:hover{color:var(--probate-accent-on-dark, #E8788F);padding-left:4px}
#lc-footer .f4c-disc{font-size:.78rem;color:#8B95A1;font-style:italic;margin-top:10px;line-height:1.5}
#lc-footer .f4c-contact{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.88rem}
#lc-footer .f4c-contact svg{width:14px;height:14px;color:var(--probate-accent-on-dark, #E8788F);flex-shrink:0}
#lc-footer .f4c-nl input[type=email]{width:100%;padding:10px 14px;border:1px solid rgba(255,255,255,.15);border-radius:4px;background:rgba(255,255,255,.06);color:#fff;font-size:.88rem;margin-bottom:8px}
#lc-footer .f4c-nl input[type=email]::placeholder{color:rgba(255,255,255,.4)}
#lc-footer .f4c-nl button{display:inline-block;background:var(--probate-accent-on-dark, #E8788F);color:#fff;border:none;padding:10px 22px;border-radius:4px;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;transition:filter .2s,transform .15s}
#lc-footer .f4c-nl button:hover{filter:brightness(.85);transform:translateY(-1px)}
#lc-footer .f4c-copy{max-width:1200px;margin:0 auto;padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-size:.78rem;color:#8B95A1}
@media(max-width:991.98px){#lc-footer .f4c{grid-template-columns:1fr 1fr}}
@media(max-width:575.98px){#lc-footer .f4c{grid-template-columns:1fr}}

/* === ACTIVE HEADER CSS (ID: 90, Header - Bold Statement) === */
.lch-bs *{box-sizing:border-box;margin:0;padding:0}
.lch-bs-contact{background:var(--probate-navy-dark, #132845);padding:6px 0;font-family:"Open Sans",sans-serif;font-size:.75rem;color:rgba(255,255,255,.8)}
.lch-bs-contact .bs-wrap{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}
.lch-bs-contact .bs-info{display:flex;gap:20px;align-items:center}
.lch-bs-contact .bs-info-item{display:flex;align-items:center;gap:5px}
.lch-bs-contact .bs-info-item svg{width:12px;height:12px;color:var(--probate-accent-on-dark, #E8788F)}
.lch-bs-contact .bs-cta-top{display:inline-block;background:var(--probate-accent-on-dark, #E8788F);color:#fff!important;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.7rem;padding:5px 16px;border-radius:3px;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:filter .2s}
.lch-bs-contact .bs-cta-top:hover{filter:brightness(.85);color:#fff!important}
.lch-bs-brand{background:#fff;padding:16px 0;text-align:center;border-bottom:1px solid var(--probate-border, #DCD5C8);font-family:"Montserrat",sans-serif}
.lch-bs-brand .bs-name{font-size:1.8rem;font-weight:700;color:var(--probate-navy, #1A3A5C)}
.lch-bs-brand .bs-name a{color:inherit;text-decoration:none}
.lch-bs-brand .bs-name a:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-bs-brand .bs-sub{font-size:.75rem;color:#999;margin-top:2px;font-family:"Open Sans",sans-serif}
.lch-bs-navbar{background:var(--probate-navy, #1A3A5C);padding:0}
.lch-bs-navbar .bs-wrap{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;align-items:center;justify-content:center;position:relative;min-height:44px}
.lch-bs .bs-nav{display:flex;list-style:none;align-items:center;justify-content:center}
.lch-bs .bs-item{position:relative}
.lch-bs .bs-link{color:rgba(255,255,255,.92)!important;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;padding:12px 14px;text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:color .2s}
.lch-bs .bs-link:hover{color:var(--probate-accent-on-dark, #E8788F)!important}
.lch-bs .bs-dd{display:none;position:absolute;top:100%;left:0;background:var(--probate-navy, #1A3A5C);border:1px solid rgba(255,255,255,.1);border-radius:6px;box-shadow:0 8px 25px rgba(0,0,0,.25);min-width:210px;padding:6px 0;z-index:1031;list-style:none;margin:0}
.lch-bs .bs-has-dd.open .bs-dd,.lch-bs .bs-has-dd:hover .bs-dd{display:block}
.lch-bs .bs-dd a{color:rgba(255,255,255,.85);font-size:.85rem;padding:8px 18px;display:block;text-decoration:none;font-weight:500;transition:background .2s,color .2s}
.lch-bs .bs-dd a:hover{background:rgba(255,255,255,.1);color:var(--probate-accent-on-dark, #E8788F)}
.lch-bs .bs-burger{display:none;position:absolute;right:20px;top:50%;transform:translateY(-50%);background:0 0;border:2px solid rgba(255,255,255,.5);border-radius:4px;color:#fff;padding:4px 8px;cursor:pointer;line-height:0}
.lch-bs .bs-burger:hover{border-color:var(--probate-accent-on-dark, #E8788F);color:var(--probate-accent-on-dark, #E8788F)}
@media(max-width:991.98px){
.lch-bs .bs-burger{display:flex}
.lch-bs .bs-nav{display:none;flex-direction:column;width:100%}
.lch-bs .bs-nav.show{display:flex}
.lch-bs .bs-link{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);width:100%;justify-content:flex-start}
.lch-bs .bs-dd{position:static;box-shadow:none;border:none;background:rgba(0,0,0,.15);border-radius:0}
.lch-bs .bs-has-dd:hover .bs-dd{display:none}
.lch-bs .bs-has-dd.open .bs-dd{display:block}
.lch-bs-brand .bs-name{font-size:1.4rem}
}
@media(max-width:575.98px){
.lch-bs-contact .bs-wrap{flex-direction:column;gap:6px;text-align:center}
.lch-bs-contact .bs-info{flex-wrap:wrap;justify-content:center}
}

/* === ACTIVE HEADER CSS (ID: 89, Header - Transparent Overlay) === */
.lch-to *{box-sizing:border-box;margin:0;padding:0}
.lch-to{background:transparent;position:absolute;top:0;left:0;right:0;z-index:1030;padding:0;font-family:"Montserrat",sans-serif}
.lch-to .to-wrap{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;flex-wrap:wrap}
.lch-to .to-brand{font-weight:300;font-size:1.4rem;color:#fff;text-decoration:none;letter-spacing:.02em}
.lch-to .to-brand:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-to .to-nav{display:flex;list-style:none;align-items:center;gap:0}
.lch-to .to-item{position:relative}
.lch-to .to-link{color:rgba(255,255,255,.92)!important;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;padding:10px 14px;text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:color .2s}
.lch-to .to-link:hover{color:var(--probate-accent-on-dark, #E8788F)!important}
.lch-to .to-dd{display:none;position:absolute;top:100%;left:0;background:rgba(0,0,0,.85);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,.3);min-width:210px;padding:6px 0;z-index:1031;list-style:none;margin:0}
.lch-to .to-has-dd.open .to-dd,.lch-to .to-has-dd:hover .to-dd{display:block}
.lch-to .to-dd a{color:rgba(255,255,255,.85);font-size:.85rem;padding:10px 18px;display:block;text-decoration:none;font-weight:500;transition:background .2s,color .2s}
.lch-to .to-dd a:hover{background:rgba(255,255,255,.08);color:var(--probate-accent-on-dark, #E8788F)}
.lch-to .to-cta{display:inline-block;border:2px solid rgba(255,255,255,.6);color:#fff!important;font-weight:600;font-size:.8rem;padding:8px 22px;border-radius:50px;text-decoration:none;transition:all .2s;letter-spacing:.04em}
.lch-to .to-cta:hover{background:var(--probate-accent-on-dark, #E8788F);border-color:var(--probate-accent-on-dark, #E8788F);color:#fff!important}
.lch-to .to-burger{display:none;background:0 0;border:2px solid rgba(255,255,255,.5);border-radius:4px;color:#fff;padding:5px 8px;cursor:pointer;line-height:0}
.lch-to .to-burger:hover{border-color:var(--probate-accent-on-dark, #E8788F);color:var(--probate-accent-on-dark, #E8788F)}
@media(max-width:991.98px){
.lch-to .to-burger{display:flex}
.lch-to .to-nav,.lch-to .to-cta{display:none}
.lch-to .to-nav.show{display:flex;flex-direction:column;width:100%;background:rgba(0,0,0,.9);backdrop-filter:blur(12px);border-radius:8px;margin-top:12px;padding:8px 0}
.lch-to .to-link{padding:12px 18px;border-bottom:1px solid rgba(255,255,255,.06);width:100%}
.lch-to .to-dd{position:static;box-shadow:none;border:none;background:rgba(255,255,255,.05);backdrop-filter:none;border-radius:0}
.lch-to .to-has-dd:hover .to-dd{display:none}
.lch-to .to-has-dd.open .to-dd{display:block}
}

/* === ACTIVE HEADER CSS (ID: 88, Header - Modern Split) === */
.lch-ms *{box-sizing:border-box;margin:0;padding:0}
.lch-ms-bar{display:flex;justify-content:space-between;align-items:center;padding:0 24px;background:#fff;border-bottom:1px solid var(--probate-border, #DCD5C8);font-family:"Montserrat",sans-serif;min-height:56px}
.lch-ms .ms-left{display:flex;align-items:center;gap:24px}
.lch-ms .ms-brand{font-weight:700;font-size:1.2rem;color:var(--probate-navy, #1A3A5C)}
.lch-ms .ms-brand a{color:inherit;text-decoration:none}
.lch-ms .ms-brand a:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-ms .ms-desk-nav{display:flex;list-style:none;align-items:center}
.lch-ms .ms-item{position:relative}
.lch-ms .ms-link{color:var(--probate-navy, #1A3A5C)!important;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;padding:16px 10px;text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:color .2s}
.lch-ms .ms-link:hover{color:var(--probate-accent-on-dark, #E8788F)!important}
.lch-ms .ms-dd{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--probate-border, #DCD5C8);border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.1);min-width:200px;padding:6px 0;z-index:1031;list-style:none;margin:0}
.lch-ms .ms-has-dd.open .ms-dd,.lch-ms .ms-has-dd:hover .ms-dd{display:block}
.lch-ms .ms-dd a{color:#333;font-size:.85rem;padding:8px 18px;display:block;text-decoration:none;font-weight:500;transition:background .2s,color .2s}
.lch-ms .ms-dd a:hover{background:var(--probate-cream, #FAF7F2);color:var(--probate-accent-on-dark, #E8788F)}
.lch-ms .ms-toggle{width:42px;height:42px;border:2px solid var(--probate-navy, #1A3A5C);border-radius:8px;cursor:pointer;display:none;align-items:center;justify-content:center;background:0 0;color:var(--probate-navy, #1A3A5C);line-height:0;transition:border-color .2s,color .2s}
.lch-ms .ms-toggle:hover{border-color:var(--probate-accent-on-dark, #E8788F);color:var(--probate-accent-on-dark, #E8788F)}
.lch-ms .ms-cta{display:inline-block;background:var(--probate-accent-on-dark, #E8788F);color:#fff!important;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.8rem;padding:8px 18px;border-radius:4px;text-decoration:none;white-space:nowrap;transition:filter .2s,transform .15s}
.lch-ms .ms-cta:hover{filter:brightness(.85);transform:translateY(-1px);color:#fff!important}
.lch-ms-drawer{position:fixed;top:0;right:-340px;width:320px;height:100vh;background:var(--probate-navy-dark, #132845);color:#fff;z-index:9999;transition:right .3s ease;padding:60px 30px 30px;overflow-y:auto;font-family:"Montserrat",sans-serif}
.lch-ms-drawer.open{right:0}
.lch-ms-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9998}
.lch-ms-overlay.open{display:block}
.lch-ms .ms-close{position:absolute;top:16px;right:16px;background:0 0;border:none;color:#fff;cursor:pointer;padding:4px;line-height:0}
.lch-ms .ms-close:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-ms .ms-drawer-link{display:block;padding:14px 0;color:#fff;text-decoration:none;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.1);transition:padding-left .2s}
.lch-ms .ms-drawer-link:hover{padding-left:6px;color:var(--probate-accent-on-dark, #E8788F)}
.lch-ms .ms-drawer-sub{display:block;padding:10px 0 10px 20px;color:rgba(255,255,255,.7);text-decoration:none;font-size:.9rem;border-bottom:1px solid rgba(255,255,255,.05)}
.lch-ms .ms-drawer-sub:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-ms .ms-drawer-cta{display:block;margin-top:24px;padding:14px 24px;background:var(--probate-accent-on-dark, #E8788F);color:#fff!important;text-align:center;border-radius:6px;text-decoration:none;font-weight:600;font-size:.95rem;transition:filter .2s,transform .15s}
.lch-ms .ms-drawer-cta:hover{filter:brightness(.85);transform:translateY(-1px);color:#fff!important}
@media(max-width:991.98px){
.lch-ms .ms-desk-nav,.lch-ms .ms-cta{display:none!important}
.lch-ms .ms-toggle{display:flex}
}

/* === ACTIVE HEADER CSS (ID: 87, Header - Centered Brand) === */
.lch-cb *{box-sizing:border-box;margin:0;padding:0}
.lch-cb{background:#fff;border-bottom:1px solid var(--probate-border, #DCD5C8);text-align:center;padding:14px 0 0;font-family:"Montserrat",sans-serif}
.lch-cb .cb-logo{font-size:1.5rem;font-weight:700;color:var(--probate-navy, #1A3A5C)}
.lch-cb .cb-logo a{color:inherit;text-decoration:none}
.lch-cb .cb-logo a:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-cb .cb-tagline{font-size:.75rem;color:#999;margin-top:2px;font-family:"Open Sans",sans-serif;font-style:italic}
.lch-cb .cb-burger{display:none;background:0 0;border:2px solid var(--probate-navy, #1A3A5C);border-radius:4px;color:var(--probate-navy, #1A3A5C);padding:4px 8px;cursor:pointer;margin:8px auto 0;line-height:0}
.lch-cb .cb-burger:hover{border-color:var(--probate-accent-on-dark, #E8788F);color:var(--probate-accent-on-dark, #E8788F)}
.lch-cb .cb-nav{display:flex;justify-content:center;align-items:center;padding:10px 0;flex-wrap:wrap}
.lch-cb .cb-link{color:var(--probate-navy, #1A3A5C);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;padding:6px 14px;text-decoration:none;transition:color .2s;display:inline-flex;align-items:center;gap:4px}
.lch-cb .cb-link:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-cb .cb-dd-wrap{position:relative;display:inline-block}
.lch-cb .cb-dd{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);background:#fff;border:1px solid var(--probate-border, #DCD5C8);border-radius:6px;box-shadow:0 8px 20px rgba(0,0,0,.1);min-width:200px;padding:6px 0;z-index:1031;text-align:left}
.lch-cb .cb-dd-wrap.open .cb-dd,.lch-cb .cb-dd-wrap:hover .cb-dd{display:block}
.lch-cb .cb-dd a{display:block;padding:8px 18px;color:#333;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s}
.lch-cb .cb-dd a:hover{background:var(--probate-cream, #FAF7F2);color:var(--probate-accent-on-dark, #E8788F)}
@media(max-width:767.98px){
.lch-cb .cb-nav{display:none;flex-direction:column}
.lch-cb .cb-nav.show{display:flex}
.lch-cb .cb-burger{display:flex;justify-content:center}
.lch-cb .cb-link{padding:10px 16px;border-bottom:1px solid var(--probate-border, #DCD5C8);width:100%}
.lch-cb .cb-dd{position:static;transform:none;box-shadow:none;border:none;border-radius:0}
.lch-cb .cb-dd-wrap.open .cb-dd{display:block}
.lch-cb .cb-dd-wrap:hover .cb-dd{display:none}
}

/* === ACTIVE HEADER CSS (ID: 86, Header - Business Elite) === */
.lch-be *{box-sizing:border-box;margin:0;padding:0}
.lch-be-top{background:var(--probate-navy-dark, #132845);padding:5px 0;font-size:.75rem;font-family:"Open Sans",sans-serif;color:rgba(255,255,255,.8)}
.lch-be-top .be-wrap{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}
.lch-be-top a{color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s}
.lch-be-top a:hover{color:var(--probate-accent-on-dark, #E8788F)}
.lch-be-top .be-contact{display:flex;gap:16px;align-items:center}
.lch-be-top .be-contact-item{display:flex;align-items:center;gap:5px}
.lch-be-top .be-contact-item svg{width:12px;height:12px}
.lch-be-top .be-socials{display:flex;gap:10px;align-items:center}
.lch-be-top .be-socials a{display:flex;align-items:center}
.lch-be-top .be-socials svg{width:14px;height:14px}
.lch-be-main{background:var(--probate-navy, #1A3A5C);padding:0}
.lch-be-main .be-wrap{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;min-height:54px}
.lch-be .be-brand{font-family:"Montserrat",sans-serif;font-weight:700;font-size:1.3rem;color:#fff!important;text-decoration:none;white-space:nowrap}
.lch-be .be-brand:hover{color:var(--probate-accent-on-dark, #E8788F)!important}
.lch-be .be-nav{display:flex;list-style:none;align-items:center}
.lch-be .be-item{position:relative}
.lch-be .be-link{color:rgba(255,255,255,.9)!important;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;padding:16px 12px;text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:color .2s}
.lch-be .be-link:hover{color:var(--probate-accent-on-dark, #E8788F)!important}
.lch-be .be-dd{display:none;position:absolute;top:100%;left:0;background:var(--probate-navy, #1A3A5C);border:1px solid rgba(255,255,255,.1);border-radius:6px;box-shadow:0 8px 25px rgba(0,0,0,.25);min-width:210px;padding:6px 0;z-index:1031;list-style:none;margin:0}
.lch-be .be-has-dd.open .be-dd,.lch-be .be-has-dd:hover .be-dd{display:block}
.lch-be .be-dd a{color:rgba(255,255,255,.85);font-size:.85rem;padding:8px 18px;display:block;text-decoration:none;font-weight:500;transition:background .2s,color .2s}
.lch-be .be-dd a:hover{background:rgba(255,255,255,.1);color:var(--probate-accent-on-dark, #E8788F)}
.lch-be .be-cta{display:inline-block;background:var(--probate-accent-on-dark, #E8788F);color:#fff!important;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.8rem;padding:8px 20px;border-radius:4px;text-decoration:none;white-space:nowrap;transition:filter .2s,transform .15s}
.lch-be .be-cta:hover{filter:brightness(.85);transform:translateY(-1px);color:#fff!important}
.lch-be .be-hamburger{display:none;background:0 0;border:2px solid rgba(255,255,255,.5);border-radius:4px;color:#fff;padding:5px 8px;cursor:pointer;line-height:0}
.lch-be .be-hamburger:hover{border-color:var(--probate-accent-on-dark, #E8788F);color:var(--probate-accent-on-dark, #E8788F)}
@media(max-width:991.98px){
.lch-be .be-hamburger{display:flex}
.lch-be .be-nav{display:none;flex-direction:column;width:100%;order:10;padding-top:8px}
.lch-be .be-nav.show{display:flex}
.lch-be .be-cta{display:none}
.lch-be .be-link{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.08);width:100%}
.lch-be .be-dd{position:static;box-shadow:none;border:none;background:rgba(0,0,0,.15);border-radius:0}
.lch-be .be-has-dd:hover .be-dd{display:none}
.lch-be .be-has-dd.open .be-dd{display:block}
.lch-be-main .be-wrap{flex-wrap:wrap}
}
@media(max-width:575.98px){
.lch-be-top .be-wrap{flex-direction:column;gap:4px;text-align:center}
.lch-be-top .be-socials{justify-content:center}
}

/* === ACTIVE HEADER CSS (ID: 74, Header - Minimal Clean) === */
.lch-mc{background:var(--probate-navy, #1A3A5C);padding:0;font-family:"Montserrat",-apple-system,BlinkMacSystemFont,sans-serif;position:sticky;top:0;z-index:1030;box-shadow:0 2px 10px rgba(0,0,0,.15)}
.lch-mc .mc-wrap{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:0 1rem;min-height:52px}
.lch-mc .mc-brand{font-weight:700;font-size:1.1rem;color:#fff!important;text-decoration:none;white-space:nowrap}
.lch-mc .mc-brand:hover{color:var(--probate-accent-on-dark, #E8788F)!important}
.lch-mc .mc-toggle{display:none;background:0 0;border:2px solid rgba(255,255,255,.5);border-radius:4px;padding:6px 8px;cursor:pointer;color:rgba(255,255,255,.9);line-height:0}
.lch-mc .mc-toggle:hover{border-color:var(--probate-accent-on-dark, #E8788F);color:var(--probate-accent-on-dark, #E8788F)}
.lch-mc .mc-nav{display:flex;list-style:none;margin:0;padding:0;align-items:center}
.lch-mc .mc-item{position:relative}
.lch-mc .mc-link{color:rgba(255,255,255,.88)!important;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;padding:16px 10px;text-decoration:none;display:flex;align-items:center;gap:4px;white-space:nowrap;transition:color .2s}
.lch-mc .mc-link:hover{color:var(--probate-accent-on-dark, #E8788F)!important}
.lch-mc .mc-link svg{opacity:.7}
.lch-mc .mc-dd{display:none;position:absolute;top:100%;left:0;background:var(--probate-navy, #1A3A5C);border:1px solid rgba(255,255,255,.1);border-radius:6px;box-shadow:0 8px 25px rgba(0,0,0,.2);min-width:200px;padding:6px 0;z-index:1031;list-style:none;margin:0}
.lch-mc .mc-has-dd.open .mc-dd,.lch-mc .mc-has-dd:hover .mc-dd{display:block}
.lch-mc .mc-dd a{color:rgba(255,255,255,.85);font-size:.85rem;padding:8px 18px;display:block;text-decoration:none;font-weight:500;transition:background .2s,color .2s}
.lch-mc .mc-dd a:hover{background:rgba(255,255,255,.1);color:var(--probate-accent-on-dark, #E8788F)}
@media(max-width:1199.98px){
.lch-mc .mc-toggle{display:flex}
.lch-mc .mc-nav{display:none;flex-direction:column;width:100%;padding:8px 0}
.lch-mc .mc-nav.show{display:flex}
.lch-mc .mc-link{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);width:100%}
.lch-mc .mc-item:last-child .mc-link{border-bottom:0}
.lch-mc .mc-dd{position:static;box-shadow:none;border:none;background:rgba(0,0,0,.15);border-radius:0}
.lch-mc .mc-has-dd:hover .mc-dd{display:none}
.lch-mc .mc-has-dd.open .mc-dd{display:block}
}

/* === ACTIVE FOOTER CSS (ID: 73, Footer - 3-Column Business) === */
#lc-footer{background-color:var(--probate-navy-dark, #132845);color:#C8CDD3;font-family:"Open Sans",-apple-system,BlinkMacSystemFont,sans-serif;padding:3rem 0 0;margin:0;line-height:1.7}
#lc-footer *,#lc-footer *::before,#lc-footer *::after{box-sizing:border-box}
#lc-footer a{color:#C8CDD3;text-decoration:none;transition:color .2s}
#lc-footer a:hover{color:var(--probate-accent-on-dark, #E8788F);text-decoration:underline}
#lc-footer .f3c-wrap{max-width:1140px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:2.5rem}
#lc-footer h3{font-family:"Montserrat",-apple-system,BlinkMacSystemFont,sans-serif;font-weight:700;font-size:1.125rem;color:#FFFFFF;margin-bottom:1rem;letter-spacing:-.01em}
#lc-footer p{font-size:.9rem;margin-bottom:.75rem}
#lc-footer .f3c-links{list-style:none;padding:0;margin:0}
#lc-footer .f3c-links li{margin-bottom:.5rem}
#lc-footer .f3c-links a{font-size:.9rem;display:inline-flex;align-items:center;gap:6px;padding:2px 0;text-decoration:none}
#lc-footer .f3c-links a svg{color:var(--probate-accent-on-dark, #E8788F);transition:transform .2s}
#lc-footer .f3c-links a:hover svg{transform:translateX(3px)}
#lc-footer .f3c-links a:hover{text-decoration:none}
#lc-footer .f3c-disc{font-size:.8rem;color:#8B95A1;margin-top:1rem;font-style:italic;line-height:1.5}
#lc-footer .f3c-cta{display:inline-block;background:var(--probate-accent-on-dark, #E8788F);color:#FFFFFF!important;font-family:"Montserrat",sans-serif;font-weight:600;font-size:.9rem;padding:.625rem 1.5rem;border-radius:.375rem;text-decoration:none!important;transition:filter .2s,transform .15s;margin-top:.75rem}
#lc-footer .f3c-cta:hover{filter:brightness(.85);transform:translateY(-1px);text-decoration:none!important;color:#FFFFFF!important}
#lc-footer .f3c-contact{display:flex;align-items:flex-start;gap:8px;margin-bottom:.5rem;font-size:.9rem}
#lc-footer .f3c-contact svg{flex-shrink:0;width:16px;height:16px;margin-top:3px;color:var(--probate-accent-on-dark, #E8788F)}
#lc-footer .f3c-copy{background:var(--probate-navy-dark, #0E1F35);color:#8B95A1;font-size:.8rem;text-align:center;padding:1rem;margin-top:2.5rem;line-height:1.5}
@media(max-width:991.98px){#lc-footer .f3c-wrap{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:575.98px){#lc-footer .f3c-wrap{grid-template-columns:1fr;gap:1.5rem}#lc-footer{padding:2rem 0 0}}


/* === customizer-aligned buttons (2026-07-08) — .btn-primary/.btn-secondary track --bs-* at runtime. !important because child style.css loads BEFORE bundle.css. See brain/20-system-frameworks/atl-theme-customizer-mechanism.md === */
.btn-primary{--bs-btn-bg:var(--bs-primary)!important;--bs-btn-border-color:var(--bs-primary)!important;--bs-btn-hover-bg:var(--bs-dark)!important;--bs-btn-hover-border-color:var(--bs-dark)!important;--bs-btn-active-bg:var(--bs-dark)!important;--bs-btn-active-border-color:var(--bs-dark)!important;--bs-btn-disabled-bg:var(--bs-primary)!important;--bs-btn-disabled-border-color:var(--bs-primary)!important;}
.btn-secondary{--bs-btn-bg:var(--bs-secondary)!important;--bs-btn-border-color:var(--bs-secondary)!important;--bs-btn-hover-bg:var(--bs-dark)!important;--bs-btn-hover-border-color:var(--bs-dark)!important;--bs-btn-active-bg:var(--bs-dark)!important;--bs-btn-active-border-color:var(--bs-dark)!important;}

/* === Client revision fixes 2026-07-21 (Becky review) === */
/* Submenu: no navy/blue background flash on click; subtle teal instead (reviewer) */
.dropdown-menu .dropdown-item:active,
.dropdown-menu .dropdown-item.active,
.dropdown-menu .dropdown-item:focus { background-color: var(--probate-teal-light) !important; color: var(--probate-navy) !important; }
/* Forminator: submit was white-on-light-gray -> navy/white; larger field labels (reviewer) */
.forminator-ui.forminator-custom-form button.forminator-button-submit,
.forminator-ui .forminator-button.forminator-button-submit,
button.forminator-button-submit,
.forminator-button-submit { background-color: var(--probate-navy) !important; color: #fff !important; border-color: var(--probate-navy) !important; }
.forminator-ui .forminator-label,
.forminator-ui .forminator-field > label,
.forminator-ui label.forminator-label { font-size: 1rem !important; font-weight: 600; }
/* Home: remove slight mobile horizontal scroll (reviewer) */
html, body { overflow-x: clip; }
/* Firefox: footer contact icons + list bullet icons align with their text (reviewer) */
#lc-footer i[class^="bi-"], #lc-footer i[class*=" bi-"], #lc-footer svg { vertical-align: middle; }
#lc-content li i[class*="bi-"], #lc-content li .teal-check, #lc-content li svg { vertical-align: middle; }
/* Forminator submit: force white text on navy (beat Forminator's own color rule + inner span) */
html body button.forminator-button-submit,
html body button.forminator-button-submit span,
html body .forminator-button.forminator-button-submit,
html body .forminator-button.forminator-button-submit span { color:#fff !important; }


/* Gold .btn-warning CTAs — recolor with the palette accent. Label is ADAPTIVE: it reads the
   Brand Engine emitter's --bs-warning-text (white on a dark accent, ink on a light one) so a
   dark client accent (e.g. a navy-derived gold) never ships a dark-on-dark label. Fallback
   #212529 is the correct ink for the LIGHT template amber when no Brand Engine is present.
   Overrides the .text-white utility the markup forces on these buttons. */
.btn-warning {
    --bs-btn-bg: var(--bs-warning) !important;
    --bs-btn-border-color: var(--bs-warning) !important;
    /* Hover and active LIGHTEN, they do not darken — the same rule the .btn-amber
       block further down already follows, which this block was contradicting.
       These CTAs carry a DARK label (--bs-warning-text, #212529), so darkening the
       fill closes the gap instead of opening it: 88% toward black measured 4.20:1
       on /blog/ and /inheritance-advance/ and failed AA, against a resting 5.33:1.
       Lightening instead gives 6.14:1 on hover and 6.58:1 on active.
       (gates/interaction-state-audit.cjs multi-page run, 2026-09-16.) */
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-warning) 88%, #fff) !important;
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-warning) 88%, #fff) !important;
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-warning) 82%, #fff) !important;
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-warning) 82%, #fff) !important;
}
html body .btn.btn-warning,
html body a.btn.btn-warning,
html body button.btn.btn-warning,
html body .btn.btn-warning span {
    color: var(--bs-warning-text, #212529) !important;
    -webkit-text-fill-color: var(--bs-warning-text, #212529) !important;
}

/* ===== CredForge classic flare + AA layer (additive; keeps the original navy/teal/amber design) ===== */
.pb-masthead{padding:clamp(1.6rem,4vw,2.6rem) 0;background:var(--bs-light,#f5efe4);border-bottom:1px solid rgba(27,54,93,.08)}
.pb-masthead .container{max-width:1120px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.pb-figure{margin:0}
.pb-figure--masthead{margin:0 auto;max-width:440px}
.pb-fig-svg{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 28px -20px rgba(27,54,93,.55));animation:pbRise .8s ease both}
@keyframes pbRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pb-fig-svg{animation:none}}
.pb-social{padding:clamp(2.6rem,5vw,4.2rem) 0;background:var(--bs-light,#f5efe4)}
.pb-social .pb-inner{max-width:1120px;margin:0 auto;padding-inline:clamp(1rem,4vw,2rem)}
.pb-social .pb-shead{text-align:center;max-width:760px;margin:0 auto 1.75rem}
.pb-social .pb-eyebrow{font-family:var(--font-body,'Open Sans',sans-serif);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--bs-primary)}
.pb-social h2{font-family:var(--font-display,Montserrat,sans-serif);color:var(--bs-body-color,#22303c);font-size:clamp(1.6rem,3vw,2.1rem);margin:.4rem 0 0}
.pb-social .pb-figwrap{margin:0 0 1.75rem;border-radius:18px;overflow:hidden;box-shadow:0 26px 60px -34px rgba(27,54,93,.55)}
.pb-social .pb-figwrap img{display:block;width:100%;height:clamp(220px,34vw,360px);object-fit:cover}
.pb-tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1.25rem}
.pb-tcard{background:#fff;border:1px solid rgba(27,54,93,.09);border-radius:14px;padding:1.5rem 1.5rem 1.35rem;box-shadow:0 18px 40px -30px rgba(27,54,93,.5)}
.pb-tcard blockquote{margin:0;font-family:var(--font-display,Montserrat,sans-serif);font-size:1.05rem;line-height:1.55;color:var(--bs-body-color,#22303c)}
.pb-tcard cite{display:block;margin-top:.85rem;font-style:normal;font-weight:600;font-size:.92rem;color:var(--bs-primary)}
.pb-tlabel{text-align:center;font-size:.8rem;color:#5a6570;margin-top:1.25rem}
/* contact mobile: long email/label must wrap so it never spills the viewport */
.info-content,.info-value,.info-label{min-width:0!important;overflow-wrap:anywhere!important;word-break:break-word!important}
/* Unify accent CTAs: .btn-amber and .btn-warning both use the brand accent (--bs-warning #B31942, native rgb var
   -> recolours + the recolor gate parses it) with a DARK label, so dark-on-amber clears AA (5.39:1)
   at rest and stays AA under the light-accent stress. (Some buttons carry both classes.) */
html body .btn-amber,html body a.btn-amber,html body button.btn-amber{background:var(--bs-warning)!important;border-color:var(--bs-warning)!important;color:var(--bs-warning-text,#212529)!important}
/* Hover LIGHTENS, it does not darken. These amber CTAs carry a DARK label, so
   darkening the fill reduces contrast: 90% toward black took the label to 4.38:1
   and failed AA (gates/interaction-state-audit.cjs, 2026-09-16), while the
   resting amber is a comfortable 5.33:1. site-design.css already intended a
   lighten (`88%, #fff`); this rule's !important was overriding its own theme's
   intent. Aligned to match it — 6.01:1, and the hover is still visibly distinct.
   Resting button unchanged. */
html body .btn-amber:hover,html body .btn-amber:focus{background:color-mix(in srgb, var(--bs-warning) 90%, #fff)!important;border-color:color-mix(in srgb, var(--bs-warning) 90%, #fff)!important;color:var(--bs-warning-text,#212529)!important}
/* muted disclaimer text (#6c757d on near-white) measured 4.44:1; nudge darker to clear AA */
.disclaimer-text,.text-muted.disclaimer-text{color:#5f676e!important}

/* ==========================================================================
   Top bar (ported from reverse-mortgage-v3) — phone/email/socials above the nav.
   Renders via [pb_topbar]; self-hides when Brand Engine has no contact data.
   ========================================================================== */
.pb-topbar { background: var(--bs-dark); border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.pb-topbar__inner {
    display: flex; align-items: center; justify-content: space-between;
    gap: 1rem 1.25rem; padding: 0.4rem 0; flex-wrap: wrap;
}
.pb-topbar__contacts { display: flex; align-items: center; gap: 0.75rem 1.25rem; flex-wrap: wrap; }
.pb-topbar__contact a,
.pb-topbar__contact .brand-phone,
.pb-topbar__contact .brand-email {
    color: rgba(255, 255, 255, 0.9); font-size: 0.9rem; font-weight: 600; text-decoration: none;
}
.pb-topbar__contact a:hover { color: #fff; }
.pb-topbar .brand-social { gap: 0.45rem; }
.pb-topbar .brand-social-link {
    width: 1.95rem; height: 1.95rem; font-size: 0.95rem; background: rgba(255, 255, 255, 0.13);
}
.pb-topbar .brand-social-link:hover { background: var(--bs-primary); }
@media (max-width: 575.98px) {
    .pb-topbar__inner { justify-content: center; }
    .pb-topbar__contacts { justify-content: center; }
}

/* ==========================================================================
   Site navbar — a RADIAL wash (bright primary in the centre easing to dark at
   the ends) rather than a top->bottom linear gradient, which read as a 3D
   bevel. The drop shadow + thin bottom edge still separate the header from the
   same-blue hero below. On small phones the brand title is shrunk (and the
   logo trimmed) so it no longer wraps and bumps the hamburger onto a 2nd line.
   All colours resolve through --bs-* so the runtime Customizer / Brand Engine
   palette still drives it.
   ========================================================================== */
.navbar.bg-primary {
    background: radial-gradient(ellipse 65% 220% at 50% 50%, var(--bs-primary) 0%, var(--bs-dark) 100%) !important;
    box-shadow: 0 10px 26px -6px rgba(0, 0, 0, 0.7) !important;   /* beat Picostrap's default navbar shadow */
    border-bottom: 1px solid rgba(0, 0, 0, 0.28) !important;
}
@media (max-width: 575.98px) {
    .navbar-brand { font-size: 0.95rem !important; }
    .navbar-brand .site-logo { height: 32px !important; }
}

/* ==========================================================================
   Hero lead-form card — upgraded to the reverse-mortgage-v3 card language
   (eyebrow + note + refined inputs + themed submit + consent).
   ========================================================================== */
.pb-hero-form {
    background: rgba(var(--bs-light-rgb), 0.96);
    border: 1px solid rgba(var(--bs-dark-rgb), 0.08);
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
    padding: 1.75rem 1.75rem 1.6rem;
}
.pb-hero-form__eyebrow {
    font-family: "Montserrat", sans-serif; font-weight: 700; font-size: 0.72rem;
    letter-spacing: 0.16em; text-transform: uppercase;
    color: var(--bs-primary); margin: 0 0 0.35rem;
}
.pb-hero-form-title { margin: 0 0 0.4rem; font-size: 1.35rem; line-height: 1.25; }
.pb-hero-form__note { color: rgba(var(--bs-dark-rgb), 0.72); font-size: 0.95rem; margin: 0 0 1.1rem; }
.pb-hero-form input:not([type="submit"]),
.pb-hero-form textarea,
.pb-hero-form select {
    border-color: rgba(var(--bs-dark-rgb), 0.16) !important;
    background-color: rgba(255, 255, 255, 0.9) !important;
    border-radius: 3px !important;
}
.pb-hero-form input:not([type="submit"]):focus,
.pb-hero-form textarea:focus,
.pb-hero-form select:focus {
    border-color: rgba(var(--bs-primary-rgb), 0.65) !important;
    box-shadow: 0 0 0 0.18rem rgba(var(--bs-primary-rgb), 0.16) !important;
}
.pb-hero-form .forminator-button-submit {
    margin-top: 1.1rem !important;
    font-family: "Montserrat", sans-serif !important; font-weight: 600 !important;
    font-size: 1rem !important; border-radius: 3px !important; padding: 0.72rem 1.5rem !important;
    border: 1.5px solid var(--bs-primary) !important;
    background: var(--bs-primary) !important; color: #fff !important;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.pb-hero-form .forminator-button-submit:hover,
.pb-hero-form .forminator-button-submit:focus {
    background: color-mix(in srgb, var(--bs-primary) 84%, #000) !important;
    border-color: color-mix(in srgb, var(--bs-primary) 84%, #000) !important; color: #fff !important;
}
.pb-form-consent { color: rgba(var(--bs-dark-rgb), 0.6); line-height: 1.5; }
.pb-form-consent a { color: var(--bs-primary); }

/* ==========================================================================
   Hero-form legibility hardening (2026-08). Two contrast bugs the fresh CSS
   exposed once the stale style.css cache was busted:
   1) Forminator's material base CSS paints the submit label #333 with enough
      specificity to beat the .pb-hero-form submit rule -> #333 on the primary
      fill measured 1.42:1. Force white with html-body scope + span + webkit fill.
   2) The intro note inherited the hero's white text -> white-on-white card.
      Pull it dark; solid fallback first in case --bs-dark-rgb is ever unset.
   ========================================================================== */
html body .pb-hero-form .forminator-button-submit,
html body .pb-hero-form .forminator-button-submit span,
html body .pb-hero-form button.forminator-button-submit,
html body .pb-hero-form button.forminator-button-submit span {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}
html body .pb-hero-form .pb-hero-form__note {
    color: #48525d !important;                          /* solid fallback */
    color: rgba(var(--bs-dark-rgb), 0.72) !important;   /* palette-aware when present */
}

/* Headings: balance the line breaks so a single word never orphans onto the last line (the
   "Why Probate Real Estate Is / Different" case). text-wrap:balance is a one-line, responsive fix —
   the browser evenly distributes words across lines at every width and caps the work to short
   blocks, which headings always are. Unsupported browsers simply fall back to normal wrapping. */
h1, h2, h3, h4, h5, h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.section-heading, .pb-hero-form-title {
    text-wrap: balance;
}

/* reCAPTCHA badge — reparented to <body> in functions.php (the hero's cf-reveal transform traps
   position:fixed otherwise). Google renders this invisible badge UN-positioned and at its full
   256px "protected by reCAPTCHA" width; it does not self-collapse in this context. So we pin it
   bottom-right and clamp it to the ~53px logo square (overflow:hidden hides the wordmark), then
   slide the full badge back on hover/focus — which is Google's standard corner behaviour and keeps
   the required branding reachable. Collapse the now-empty inline captcha slot too. */
.forminator-field-captcha { margin: 0 !important; padding: 0 !important; }
body > .grecaptcha-badge {
    position: fixed !important; bottom: 14px !important; right: 14px !important; left: auto !important;
    width: 70px !important; min-width: 0 !important; overflow: hidden !important;   /* 70px shows the full logo tile; 53 cropped it */
    visibility: visible !important;   /* Google idles this invisible v3 badge to hidden; keep the logo shown */
    transition: width 0.25s ease !important; z-index: 2147483000 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25) !important; border-radius: 6px !important;
}
body > .grecaptcha-badge:hover,
body > .grecaptcha-badge:focus-within { width: 256px !important; }

/* 2026-09-04: [brand_owner] emits bare <span>s, and site-design.css paints every span the dark
   body text colour. Inside the dark footer that put the agent name and title at 1.12:1 — dark
   navy on dark navy, effectively invisible. Let the Brand Engine spans inherit the surface they
   sit on instead of taking the page default. */
#lc-footer .brand-owner,
#lc-footer .brand-owner-name,
#lc-footer .brand-owner-title,
#lc-footer .brand-address,
footer .brand-owner,
footer .brand-owner-name,
footer .brand-owner-title,
footer .brand-address { color: inherit; }

/* --------------------------------------------------------------------------
   Hero form card: text-colour reset.
   .hero-section sets color:#fff for the dark navy hero. .pb-hero-form paints a
   WHITE card inside it but never resets `color`, so every descendant without an
   explicit colour inherits white-on-white (eyebrow, consent disclosure and the
   consent checkbox labels were invisible at 1:1). Reset on the card so any
   future child inherits legible ink rather than the hero's white.
   -------------------------------------------------------------------------- */
.pb-hero-form { color: var(--bs-body-color) !important; }
.pb-hero-form .pb-hero-form__eyebrow { color: var(--bs-warning) !important; }   /* brand accent, 6.70:1 on white */
.pb-hero-form .forminator-checkbox__label,
.pb-hero-form .forminator-consent__label { color: var(--bs-body-color) !important; }
/* .atl-consent-note is deliberately NOT colour-forced here: atl-consent-toggle.php owns
   consent styling (size + colour) so it stays consistent and a client toggling consent on
   never gets a theme rule fighting the plugin. It only needs rescuing from the hero's
   inherited white, which .pb-hero-form's own colour reset above already does. */
.pb-hero-form a { color: var(--bs-link-color) !important; }

/* Top bar: client asked for the contact block on the RIGHT. `__inner` is
   space-between, so with no social block the contacts render flush left.
   margin-left:auto pushes them right and still behaves if socials return. */
.pb-topbar__inner > .pb-topbar__contacts { margin-left: auto; }
@media (max-width: 575.98px) {
    .pb-topbar__inner > .pb-topbar__contacts { margin-left: 0; }   /* keep centred on phones */
}

/* ==========================================================================
   Navbar focus / hover indicator.
   The global `a:focus{outline:2px solid var(--probate-amber)}` drew a hard
   crimson BOX around nav items. Replaced in the navbar only with a sliding
   underline. Kept accessible on purpose: the bar is 2.5px and uses
   --probate-accent-on-dark (#E8788F = 6.17:1 on the navy bar), well over the
   3:1 that a non-text focus indicator needs, and it is driven by
   :focus-visible so mouse clicks stay clean while keyboard focus is obvious.
   Focus rings OUTSIDE the navbar are untouched.
   ========================================================================== */
.navbar .nav-link,
.navbar .dropdown-item { position: relative; }

@media (min-width: 1200px) {
    /* The bar is DECLARED only at xl+, not merely hidden below it. Below the
       navbar-expand-xl breakpoint the collapsed nav-link is BLOCK level, so a
       left/right-inset bar stretches the full ~696px row instead of the ~42px
       label. `display:none` is NOT sufficient: computed `content`, `height`,
       `position` and `background` all survive it, and CredForge's
       responsive-header gate reads exactly those — so the rule must not exist
       at that width at all. */
    .navbar .nav-link::after {
        content: ""; position: absolute; left: .55rem; right: .55rem; bottom: .28rem;
        height: 2.5px; border-radius: 2px;
        background: var(--probate-accent-on-dark, #E8788F);
        transform: scaleX(0); transform-origin: center;
        transition: transform .22s cubic-bezier(.4, 0, .2, 1);
        pointer-events: none;
    }
    .navbar .nav-link:hover::after,
    .navbar .nav-link:focus-visible::after,
    .navbar .nav-link.active::after,
    .navbar .nav-item.active > .nav-link::after { transform: scaleX(1); }
}
/* collapsed menu: an inset leading bar reads correctly on a full-width block row */
@media (max-width: 1199.98px) {
    .navbar .navbar-collapse .nav-link:hover,
    .navbar .navbar-collapse .nav-link:focus-visible {
        box-shadow: inset 3px 0 0 0 var(--probate-accent-on-dark, #E8788F);
        background: rgba(255, 255, 255, .06);
    }
}

/* kill the legacy box on navbar items only */
.navbar .nav-link:focus,
.navbar .nav-link:focus-visible,
.navbar .navbar-brand:focus,
.navbar .navbar-brand:focus-visible,
.navbar .dropdown-item:focus,
.navbar .dropdown-item:focus-visible { outline: none !important; box-shadow: none !important; }

/* brand + dropdown items still need a visible keyboard indicator */
.navbar .navbar-brand:focus-visible {
    outline: 2px solid var(--probate-accent-on-dark, #E8788F) !important;
    outline-offset: 4px; border-radius: 3px;
}
.navbar .dropdown-item:focus-visible {
    background: rgba(var(--bs-primary-rgb), .08) !important;
    box-shadow: inset 3px 0 0 0 var(--bs-warning) !important;   /* crimson sits on the WHITE menu: 6.70:1 */
}
@media (prefers-reduced-motion: reduce) and (min-width: 1200px) {
    .navbar .nav-link::after { transition: none; }
}

/* ==========================================================================
   Forms on DARK section backgrounds (the lead-magnet band, .form-wrapper).
   site-design.css sets `input, textarea, select { color: var(--dark-text) }`
   globally, so the LABEL and placeholder render light on the dark band while the
   value the visitor types stays near-black — 1.36:1, effectively invisible.
   Contrast audits that walk text nodes never catch this: an <input>'s value is
   not a text node. Scope the light ink to the dark container only; the hero card
   and the Contact page form sit on white and must keep dark ink.
   ========================================================================== */
.form-wrapper input:not([type="submit"]):not([type="button"]),
.form-wrapper textarea,
.form-wrapper select {
    color: #F4F4F4 !important;
    caret-color: #F4F4F4;
}
.form-wrapper input::placeholder,
.form-wrapper textarea::placeholder { color: rgba(244, 244, 244, .72) !important; }

/* native dropdown menu paints on the browser's own light surface */
.form-wrapper select option { color: #2A2A2E !important; background: #FFFFFF; }

/* Chrome autofill repaints its own bg+ink; force it back to the dark surface */
.form-wrapper input:-webkit-autofill,
.form-wrapper input:-webkit-autofill:hover,
.form-wrapper input:-webkit-autofill:focus {
    -webkit-text-fill-color: #F4F4F4 !important;
    caret-color: #F4F4F4;
    transition: background-color 9999s ease-in-out 0s;   /* defeat the yellow wash */
}

/* ==========================================================================
   Forminator placeholder contrast.
   Forminator's PER-FORM generated stylesheet (style-<id>.css) sets
   `.forminator-input::placeholder{color:#888}` against its flat #EDEDED field
   = 3.03:1, under the 4.5:1 placeholder text needs. Those files are regenerated
   by the plugin, so the fix belongs here, not in them. The second block re-asserts
   the light placeholder inside the dark band (higher specificity wins there).
   ========================================================================== */
form.forminator-ui .forminator-input::placeholder,
form.forminator-ui textarea::placeholder,
form.forminator-ui input::placeholder { color: #5F5F5F !important; }

.form-wrapper form.forminator-ui .forminator-input::placeholder,
.form-wrapper form.forminator-ui textarea::placeholder,
.form-wrapper form.forminator-ui input::placeholder { color: rgba(244, 244, 244, .72) !important; }

/* ── Hero form card: the hero's white-text rule must stop at the card edge ────
   `.hero-section h1, .hero-section p, .hero-section span … { color:#fff }` is meant for
   copy sitting on the hero photograph. `.pb-hero-form` is a WHITE card inside that same
   section, so every <p> in the form inherited white-on-white — the consent disclosure was
   rendering at 1.00:1 and only its links were legible. `.hero-section p` also sets
   font-size:1.2rem and outranks `.atl-consent-note{font-size:.85rem}` (0,1,1 vs 0,1,0),
   which is why the note rendered at 19.2px instead of 13.6px like every other site.
   Scoped to the card so the hero's own copy is untouched. */
.hero-section .pb-hero-form p,
.hero-section .pb-hero-form li,
.hero-section .pb-hero-form span:not(.forminator-required) {
  color: var(--dark-text, #2A2A2E);
}
.hero-section .pb-hero-form .atl-consent-note {
  color: var(--dark-text, #2A2A2E);
  font-size: .85rem;
  line-height: 1.5;
}
.hero-section .pb-hero-form .atl-consent-note a { color: inherit; text-decoration: underline; }

/* ── Service Hub (legacy layout) — brand colours ─────────────────────────────
   The legacy page ships hardcoded hexes from the original Divi build: #3f7dae blue,
   #41535C slate ring, #CE0000 red, #f4f4f4 surface. These are recoloured HERE, in the
   stylesheet, rather than in the page content, because the deploy bridge's update_post
   runs KSES and STRIPS <svg> — editing that page through the bridge silently destroys its
   two section dividers. Keeping the colour in CSS means the page content never has to be
   rewritten, and the brand palette still flows from the theme customizer's --bs-* tokens. */
#lc-main .sh-fullservice-card,
#lc-main .sh-bubble                 { background: var(--bs-primary, #002868) !important; }
#lc-main .sh-bubble                 { border-color: var(--bs-secondary, #2C4F82) !important; }
#lc-main .sh-hero h2,
#lc-main .sh-steps h2               { color: var(--bs-warning, #B31942) !important; }
#lc-main .sh-wheel                  { border-color: var(--bs-warning, #B31942) !important; }
#lc-main .sh-wheelsec               { background: var(--bs-light, #F4F6F9) !important; }
/* Dark-surface text. site-design.css carries a blanket
   `p, li, a, span, label, … { color: var(--dark-text) }` which beats the cards' own
   `color:#fff` for any NESTED element, so paragraphs inside these navy panels rendered
   #2A2A2E on #002868 — 1.02:1, invisible. It was already failing at ~2.3:1 on the legacy
   #3f7dae; darkening the panel to the brand navy made it total. Same bug as the hero form's
   consent note: a global element selector reaching into a container that sets its own ink. */
#lc-main .sh-fullservice-card,
#lc-main .sh-fullservice-card *,
#lc-main .sh-bubble,
#lc-main .sh-bubble * {
  color: #fff;
}
#lc-main .sh-fullservice-card a,
#lc-main .sh-bubble a { color: #fff; text-decoration: underline; }

/* The dividers are inline <svg> with a fill ATTRIBUTE, which CSS fill overrides. */
#lc-main .sh-wheelsec svg g,
#lc-main section > svg g,
#lc-main svg g[fill]                { fill: var(--bs-primary, #002868) !important; }
