/*
 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: #0042AA !important;
    --bs-primary-rgb: 0, 66, 170 !important;
    --bs-secondary: #00307A !important;
    --bs-secondary-rgb: 0, 48, 122 !important;
    --bs-success: #00307A !important;
    --bs-info: #00307A !important;
    --bs-warning: #FFFFFF !important; /* the CTA uses a DARK label, so the amber is lifted to #CC8A38 where dark-on-amber clears AA (5.39:1); recolours via var and dark label survives the light-accent stress */
    --bs-danger: #00234F !important;
    --bs-danger-rgb: 0, 35, 79 !important;
    --bs-warning-rgb: 255, 255, 255 !important;
    --bs-success-rgb: 0, 48, 122 !important;
    --bs-info-rgb: 0, 48, 122 !important;
    --bs-dark: #00204F !important;
    --bs-dark-rgb: 0, 32, 79 !important;
    --bs-light: #F8F9FA !important;
    --bs-light-rgb: 248, 249, 250 !important;
    --bs-body-bg: #FFFFFF !important;
    --bs-body-color: #333333 !important;
    --bs-link-color: #0042AA !important;
    --bs-link-hover-color: #00307A !important;

    /* 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(31, 122, 111, 0.3); 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-amber, #C07B2A)}
#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-amber, #C07B2A)}
#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-amber, #C07B2A)}
#lc-footer .fdp-divider{width:60px;height:2px;background:var(--probate-amber, #C07B2A);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-amber, #C07B2A)}
#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-amber, #C07B2A);width:12px;height:12px;transition:transform .2s}
#lc-footer .fmag-links a:hover{color:var(--probate-amber, #C07B2A)}
#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-amber, #C07B2A)}
#lc-footer .fmag-feat .fmag-feat-cat{font-size:.7rem;text-transform:uppercase;color:var(--probate-amber, #C07B2A);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-amber, #C07B2A);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-amber, #C07B2A)}
#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-amber, #C07B2A);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-amber, #C07B2A)!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-amber, #C07B2A)!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-amber, #C07B2A)}
#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-amber, #C07B2A)}
#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-amber, #C07B2A)}
#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-amber, #C07B2A)}
#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-amber, #C07B2A);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-amber, #C07B2A);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-amber, #C07B2A);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-amber, #C07B2A)}
.lch-bs-contact .bs-cta-top{display:inline-block;background:var(--probate-amber, #C07B2A);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-amber, #C07B2A)}
.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-amber, #C07B2A)!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-amber, #C07B2A)}
.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-amber, #C07B2A);color:var(--probate-amber, #C07B2A)}
@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-amber, #C07B2A)}
.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-amber, #C07B2A)!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-amber, #C07B2A)}
.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-amber, #C07B2A);border-color:var(--probate-amber, #C07B2A);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-amber, #C07B2A);color:var(--probate-amber, #C07B2A)}
@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-amber, #C07B2A)}
.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-amber, #C07B2A)!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-amber, #C07B2A)}
.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-amber, #C07B2A);color:var(--probate-amber, #C07B2A)}
.lch-ms .ms-cta{display:inline-block;background:var(--probate-amber, #C07B2A);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-amber, #C07B2A)}
.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-amber, #C07B2A)}
.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-amber, #C07B2A)}
.lch-ms .ms-drawer-cta{display:block;margin-top:24px;padding:14px 24px;background:var(--probate-amber, #C07B2A);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-amber, #C07B2A)}
.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-amber, #C07B2A);color:var(--probate-amber, #C07B2A)}
.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-amber, #C07B2A)}
.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-amber, #C07B2A)}
@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-amber, #C07B2A)}
.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-amber, #C07B2A)!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-amber, #C07B2A)!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-amber, #C07B2A)}
.lch-be .be-cta{display:inline-block;background:var(--probate-amber, #C07B2A);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-amber, #C07B2A);color:var(--probate-amber, #C07B2A)}
@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-amber, #C07B2A)!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-amber, #C07B2A);color:var(--probate-amber, #C07B2A)}
.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-amber, #C07B2A)!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-amber, #C07B2A)}
@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-amber, #C07B2A);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-amber, #C07B2A);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-amber, #C07B2A);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-amber, #C07B2A)}
#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 amber CTAs: .btn-amber and .btn-warning both use the light amber (#CC8A38, 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; }

/* ── Forminator "flat" inputs: give the field a visible edge ──────────────────
   Forminator's flat design sets `border-width:0; border-style:none` on
   .forminator-input and relies on a grey fill for definition. Where the form's
   own generated stylesheet makes that fill white (Jackson + Karamanoukian's
   attorney-referral form) the field has no visible boundary at all and you
   cannot tell where to click.

   A 2px bottom border is the affordance. Colour comes from the Bootstrap custom
   properties — including the `-rgb` companions the ATL theme customizer sets —
   so recolouring the site recolours these and no brand hex is hardcoded. The
   .55 alpha clears WCAG 1.4.11 Non-text Contrast (3:1) against BOTH white and
   Forminator's #EDEDED flat fill.

   SPECIFICITY: the rule being overridden is
     .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-input
   in forminator-form-flat.base.min.css — (0,4,0), and it loads after the child
   theme. So this reuses Forminator's own selector and adds the `body` type
   selector to reach (0,4,1). No !important, and no invented classes.

   `--material` forms (contact, cash-offer, hero) draw their own underline and
   are deliberately NOT matched. The focus ring is added to, never replaced, so
   keyboard focus is unaffected. */
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-input,
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-textarea {
  /* 1px, not 2px: the resting line reads much lighter this way. The COLOUR
     cannot be lightened instead — .55 alpha is already at the WCAG 1.4.11 floor
     (3.43:1 against Forminator's #EDEDED fill, the worst case in the fleet) and
     .50 drops to 2.71:1. Thickness carries no contrast minimum, so thinning is
     the compliant way to reduce weight. Focus goes back up to 2px, which makes
     the width change part of the focus cue; box-sizing is border-box here, so
     that costs no layout shift. */
  border-bottom: 1px solid rgba(var(--bs-body-color-rgb, 33, 37, 41), .55);
  border-radius: 4px 4px 0 0;
  transition: border-color .18s ease-in-out, border-width .18s ease-in-out;
}
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-input:hover,
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-textarea:hover {
  border-bottom-color: rgba(var(--bs-primary-rgb, 13, 110, 253), .7);
}
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-input:focus,
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-textarea:focus {
  border-bottom-color: var(--bs-primary, #0d6efd);
  border-bottom-width: 2px;
  /* Forminator strips the focus outline to `none` with no box-shadow of its own,
     so before this the only focus cue was the border recolouring — 1.76:1 against
     the resting border on Jackson, under the 3:1 WCAG 2.4.11 wants. The halo adds
     newly-painted pixels at 3.3:1+ against the page, which is unambiguous for
     keyboard users. .75 alpha is the floor that clears 3:1 for the weakest
     primary in the fleet (Jackson's teal). */
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb, 13, 110, 253), .75);
}

/* Same root cause as the inputs above: on this form the radio/checkbox controls
   are drawn by Forminator as a bordered <span>, and the per-form generated
   stylesheet leaves that border at 0 with a transparent fill — so the Yes/No
   circles were completely invisible and you could not see which was selected.
   The native input is a 1x1 visually-hidden element, so there was no fallback.
   Ring weight and colour match the input underline; the checked state uses
   --bs-primary so the theme customizer keeps control. */
/* NOTE the .forminator-radio / .forminator-checkbox in the middle: Forminator's
   own rule is
     .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-radio .forminator-radio-bullet
   at (0,5,0). Without the parent class this rule sits at (0,4,1) and loses the
   width/style longhands while still winning the colour — which renders as a
   correctly-coloured but zero-width (invisible) ring. Matching their depth and
   adding `body` gives (0,5,1) and avoids !important. */
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-radio .forminator-radio-bullet,
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-checkbox .forminator-checkbox-box {
  border: 1px solid rgba(var(--bs-body-color-rgb, 33, 37, 41), .55);
  background-color: var(--bs-body-bg, #fff);
  transition: border-color .15s ease-in-out, background-color .15s ease-in-out;
}
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-radio:hover .forminator-radio-bullet,
body .forminator-ui.forminator-custom-form[data-design="flat"] .forminator-checkbox:hover .forminator-checkbox-box {
  border-color: rgba(var(--bs-primary-rgb, 13, 110, 253), .7);
}
body .forminator-ui.forminator-custom-form[data-design="flat"] input:checked + .forminator-radio-bullet,
body .forminator-ui.forminator-custom-form[data-design="flat"] input:checked + .forminator-checkbox-box {
  border-color: var(--bs-primary, #0d6efd);
}
body .forminator-ui.forminator-custom-form[data-design="flat"] input:checked + .forminator-radio-bullet::before,
body .forminator-ui.forminator-custom-form[data-design="flat"] input:checked + .forminator-checkbox-box::before {
  background-color: var(--bs-primary, #0d6efd);
}
/* keyboard focus: the native input is visually hidden, so the ring has to carry it */
body .forminator-ui.forminator-custom-form[data-design="flat"] input:focus-visible + .forminator-radio-bullet,
body .forminator-ui.forminator-custom-form[data-design="flat"] input:focus-visible + .forminator-checkbox-box {
  box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb, 13, 110, 253), .75);
}

/* Winston's headshot replaces the dashed "Agent Photo" placeholder on /about/.
   Inherits the placeholder's own geometry (4:5, rounded) so the bio row keeps
   the layout it was designed for. */
.about-agent-photo {
    display: block;
    /* The client's headshot is natively 512x643 after the letterboxing is cropped
       off, and the source CDN only fakes anything larger (detail is flat from 512
       to 3200px, so the bigger files are upscales). Capping the rendered width at
       320px keeps it at roughly native density on a 2x display instead of being
       stretched to 512 CSS px and looking soft. */
    width: 100%;
    max-width: 320px;
    height: auto;
    aspect-ratio: 512 / 643;      /* the real crop ratio - no re-cropping needed */
    object-fit: cover;
    object-position: center top;
    border-radius: .75rem;
    image-rendering: auto;
}
@media (max-width: 767.98px) {
    .about-agent-photo { max-width: 260px; margin-inline: auto; }
}

/* ═══════════════════════════════════════════════════════════════════════════════════════════════
   CONSENT / FORM LEGIBILITY + COHESION  —  2026-09-24
   Measured with a WCAG relative-luminance audit that checks <input>, <textarea> and ::placeholder
   EXPLICITLY, not just text nodes. axe-core's color-contrast rule skips an empty <input> (it has no
   child text node), which is why a field whose typed value is #333 on a navy panel passed every
   a11y gate on this build. Ratios below are measured, per element, at 1280x900 and 390x844.
   Nothing here hard-codes a colour onto an element that appears on more than one surface: the
   SURFACE declares its ink, and the consent text inherits it.
   ═══════════════════════════════════════════════════════════════════════════════════════════════ */

/* ── 1. A light card inside a dark section owns its ink ───────────────────────────────────────
   .pb-hero-form is a white card dropped into the navy hero. Individual descendants had been
   patched one at a time (labels, inputs, placeholders), so anything added LATER inherited the
   hero's white body colour. mu-plugins/atl-consent-toggle.php paints .atl-consent-note with
   color:var(--bs-body-color), which resolves to white inside the hero — the entire TCPA
   disclosure rendered white-on-white at 1:1 and was invisible to every visitor. Declaring the ink
   on the card fixes that class of defect once instead of per element. */
.pb-hero-form { color: #2b3946; }
.pb-hero-form .atl-consent-note { color: inherit; opacity: .92; }

/* ── 2. Consent + disclosure type size ───────────────────────────────────────────────────────
   A TCPA disclosure at 11.5px is technically present and practically unread. 13px is the floor,
   and 13px is already in this page's type set so the token count does not grow. */
.atl-consent-note,
.pb-hero-form .atl-consent-note,
.pb-hero-form .forminator-field-html,
.pb-hero-form .forminator-field-html p,
.pb-hero-form .forminator-merge-tags p,
.pb-hero-form .forminator-checkbox-label,
.pb-hero-form .forminator-field-checkbox label,
.pb-hero-form .forminator-field-checkbox .forminator-checkbox-label { font-size: 13px !important; }

/* ── 3. Links inside consent copy follow their surface ────────────────────────────────────────
   These links sit on a white card on /contact/ and on a translucent navy panel on the home page.
   A fixed link colour cannot serve both: #333 measured 12.63:1 on the card and 1.41:1 on the
   panel, where "Privacy Policy" and "Terms of Use" were invisible. Inheriting the surrounding ink
   keeps them legible on either surface; the underline carries the affordance. */
.atl-consent-note a,
.forminator-field-html a,
.forminator-checkbox-label a,
.forminator-field-consent a,
label.forminator-checkbox a { color: inherit !important; text-decoration: underline !important; text-underline-offset: 2px; }

/* ── 4. Dark panel forms: the fields were unstyled UA defaults on navy ────────────────────────
   .form-wrapper is rgba(255,255,255,.1) over the navy .lead-magnet-section. Every field inside it
   inherited color:#333 with a transparent background — measured 1.41:1, so anything a visitor
   typed into the home page's primary conversion form was unreadable. The site's field language is
   "transparent field + underline", so the panel supplies light ink rather than a white fill.
   Measured after: value #fff on the blended panel = 8.2:1, placeholder = 5.4:1,
   underline = 3.4:1 (WCAG 1.4.11 needs 3:1 for a control boundary). */
.lead-magnet-section .form-wrapper { color: #fff; }
.lead-magnet-section .form-wrapper .forminator-label,
.lead-magnet-section .form-wrapper .forminator-description,
.lead-magnet-section .form-wrapper .atl-consent-note,
.lead-magnet-section .form-wrapper .forminator-checkbox-label,
.lead-magnet-section .form-wrapper label { color: #fff !important; }
.lead-magnet-section .form-wrapper .forminator-input,
.lead-magnet-section .form-wrapper .forminator-textarea,
.lead-magnet-section .form-wrapper input[type=text],
.lead-magnet-section .form-wrapper input[type=email],
.lead-magnet-section .form-wrapper input[type=tel],
.lead-magnet-section .form-wrapper textarea,
.lead-magnet-section .form-wrapper select {
  color: #fff !important; background-color: transparent !important;
  border: 0 !important; border-bottom: 1px solid rgba(255, 255, 255, .6) !important; border-radius: 0 !important;
}
.lead-magnet-section .form-wrapper ::placeholder { color: rgba(255, 255, 255, .78) !important; opacity: 1; }
.lead-magnet-section .form-wrapper .forminator-input:focus,
.lead-magnet-section .form-wrapper .forminator-textarea:focus,
.lead-magnet-section .form-wrapper textarea:focus {
  border-bottom-color: #fff !important; box-shadow: 0 1px 0 0 #fff !important; outline: 2px solid rgba(255,255,255,.55); outline-offset: 2px;
}
/* WCAG 1.4.11: the submit button's navy fill (#1B365D) against this navy panel (#324A6D) is
   1.41:1, so the control had no discernible boundary — only its white label read. A light edge
   gives the button an outline at 4.0:1 without moving the brand colour. */
.lead-magnet-section .form-wrapper .forminator-button-submit,
.lead-magnet-section .form-wrapper button.forminator-button-submit {
  border: 1px solid rgba(255, 255, 255, .78) !important;
}

/* ── 5. Field language cohesion: the checklist form was the only filled-box form on the site ──
   Every other form (home hero, home consultation panel, contact) uses a transparent field with an
   underline; /executor-resources/ used #EAEAEA filled boxes. Same component, two visual languages. */
.wpforms-container .forminator-input,
.wpforms-container .forminator-textarea,
.wpforms-container input[type=text],
.wpforms-container input[type=email],
.wpforms-container input[type=tel],
.wpforms-container textarea {
  background-color: transparent !important; color: #1a2530 !important;
  border: 0 !important; border-bottom: 1px solid rgba(15, 31, 56, .32) !important; border-radius: 0 !important;
}
.wpforms-container ::placeholder { color: #5c6874 !important; opacity: 1; }   /* 4.9:1 on white */

/* ── 6. About headshot framing (desktop) ─────────────────────────────────────────────────────
   A 4/5 aspect box over a 512x700 (≈0.73) source leaves the image shorter than its frame at wide
   column widths, so a flat band showed above the photo inside the rounded corner while
   object-position:center 22% pushed the crop down onto the top of his head. height:100% makes the
   image fill the frame at every width and 'center top' keeps headroom without clipping the crown. */
/*      The supplied headshot is LETTERBOXED inside its own canvas: measured 63px of white across
        the top and 62px across the bottom of a 512x768 file, full-bleed left/right. object-fit
        could never remove that - it is image content, not framing - which is why a flat band sat
        inside the rounded corner while the crop pushed the top of his head to the edge. The frame
        clips to the photo's real content box (y 63..705, 643px tall, ratio 0.796 against the 4/5
        frame), so the whole portrait is shown with no white band and no crown clipping.
        Numbers are measured from the file, not estimated - re-derive them if the asset is replaced. */
/*  SUPERSEDED 2026-09-25: the asset WAS replaced, exactly as the note above says to check for.
    The letterboxing is now cropped out of the file itself (512x643, no white bands), so the
    -9.6% offset that used to hide it was pulling the portrait up and leaving a white band at
    the TOP of the frame instead. The frame now simply matches the file's real ratio and the
    image sits in it with no offset. The display width is capped in .about-agent-photo above,
    because the source is natively 512px and the CDN only fakes anything larger. */
.about-agent-photo-frame {
  display: block; position: relative; width: 100%; max-width: 320px;
  aspect-ratio: 512 / 643; overflow: hidden; border-radius: .75rem;
}
.about-agent-photo-frame .about-agent-photo {
  position: static; top: auto; left: auto;
  width: 100%; height: 100%; max-width: none;
  aspect-ratio: auto; object-fit: cover; object-position: center top;
  border-radius: 0;
}
@media (max-width: 767.98px) {
  .about-agent-photo-frame { max-width: 260px; margin-inline: auto; }
}

/* ── 7. Bootstrap row gutter must not exceed its container's padding ──────────────────────────
   At <576px .container pads 12px per side while a .g-5 row pulls -24px, so the row BOX ran 12px
   past the viewport on each side. documentElement.scrollWidth stayed 390 (the column padding put
   the content back inside) which is why every overflow gate passed, but a full-page capture sized
   itself to the row box (402px) and every full-bleed band read as 12px short of the right edge
   with a bare strip beside it. Matching the gutter to the container padding removes the spill at
   source — no overflow-x:hidden mask. */
@media (max-width: 575.98px) {
  .container > .row.g-5, .container > * > .row.g-5,
  .container > .row.gx-5, .container > * > .row.gx-5 { --bs-gutter-x: 1.5rem; }
}

/* ── 8. Six-node process roadmap: scaled instead of stacking on a phone ──────────────────────
   The SVG figure kept its 6-across layout and shrank to fit 390px, taking the step labels to ~5px.
   Letting it scroll horizontally at its own legible width keeps every label readable. */
@media (max-width: 767.98px) {
  .cf-graphic--roadmap, .cf-graphic--timeline { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cf-graphic--roadmap > svg, .cf-graphic--timeline > svg { min-width: 620px; }
}

/* ── 9. One accordion treatment, not three ───────────────────────────────────────────────────
   /probate-faq/ and /probate-real-estate-services/ ship a bare .accordion and fall through to the
   framework default (#333 questions, teal active state); the home page carries .faq-accordion and
   renders navy questions with a teal chevron. Extending the site treatment to any in-content
   accordion unifies the component without touching page markup. */
main .accordion .accordion-item, .accordion .accordion-item {
  border: 1px solid var(--border-muted); border-radius: 8px !important; margin-bottom: 1rem;
  overflow: hidden; box-shadow: 0 2px 15px rgba(0, 0, 0, .08);
}
main .accordion .accordion-button, .accordion .accordion-button {
  font-family: var(--font-heading, 'Montserrat', sans-serif); font-weight: 600; font-size: 1.05rem;
  color: var(--primary-navy); padding: 1.25rem 1.5rem; background-color: var(--white);
}
main .accordion .accordion-button:not(.collapsed), .accordion .accordion-button:not(.collapsed) {
  background-color: var(--white); color: var(--primary-navy); box-shadow: none;
}
main .accordion .accordion-button::after, .accordion .accordion-button::after { filter: none; color: var(--accent-teal); }
main .accordion .accordion-body, .accordion .accordion-body {
  font-size: 1rem; line-height: 1.8; color: #555555; padding: .5rem 1.5rem 1.5rem;
}

/* ── 10. Two more elements painting invisible / sub-AA (full-site sweep, 2026-09-24) ──────────
   Found by a whole-page sweep that resolves a surface painted by a background-IMAGE (gradient) as
   well as background-color. That distinction matters: this theme paints the navbar and the hero
   with gradients over a transparent background-color, which is why axe returns "incomplete"
   instead of a violation there — a11y gates were structurally blind to anything on those surfaces.

   (a) .pb-hero-form__eyebrow inherited .hero-section p's white and rendered white-on-white (1:1)
       on the card. `.hero-section p` (0,1,1) beat plain inheritance from the card, so the card's
       ink has to be stated at matching-or-greater specificity rather than relied on. */
.hero-section .pb-hero-form p,
.hero-section .pb-hero-form .pb-hero-form__eyebrow { color: #2b3946; }
.hero-section .pb-hero-form .pb-hero-form__eyebrow { color: var(--bs-primary); }   /* 8.6:1 on the white card */

/*  (b) The required-field asterisk was #E56969: 3.2:1 on white and 2.8:1 on the navy panel. It is
        the only indicator that a field is mandatory, so it has to clear 4.5:1 on both surfaces. */
/*      Forminator prints its per-form design CSS in an inline <style> in the page body, i.e. AFTER
        this stylesheet, so a same-specificity rule here loses. !important is the override, not
        specificity escalation. */
.forminator-ui .forminator-required,
.forminator-required { color: #B3261E !important; }                                  /* 6.0:1 on white */
.lead-magnet-section .form-wrapper .forminator-ui .forminator-required,
.lead-magnet-section .form-wrapper .forminator-required { color: #FFC9C4 !important; } /* 6.5:1 on the navy panel */

/* ── 11. Trust cards replace the removed sample-testimonial quotes ────────────────────────────
   .pb-tcard was styled only for blockquote + cite. The three cards in that band now carry a
   heading and a paragraph of briefed fact instead of fabricated quotes, so they need the same
   typographic treatment the quotes had. */
.pb-tcard__h {
  font-family: var(--font-display, Montserrat, sans-serif); font-size: 1.05rem; font-weight: 700;
  color: var(--primary-navy); margin: 0 0 .5rem;
}
.pb-tcard__p { margin: 0; font-size: .95rem; line-height: 1.6; color: #4a5560; }   /* 7.9:1 on white */
/*      Keyboard users need to see where that scrollable figure is when it takes focus. */
.cf-graphic--roadmap:focus-visible, .cf-graphic--timeline:focus-visible {
  outline: 2px solid var(--bs-primary); outline-offset: 3px; border-radius: 6px;
}

/* ── 12. Hidden-by-design consent rows must not reserve space ─────────────────────────────────
   tools/consent-provision.py provisions two .forminator-field-consent rows hidden and optional on
   every form, plus Forminator emits an empty row. Each still carried the form's row margin, which
   is the unexplained ~85-100px gap between the consent paragraph and the submit button on the
   contact and checklist forms. Collapsing only rows that render nothing leaves the rhythm intact
   the moment a consent row is switched on. */
.forminator-row:empty,
.forminator-row:has(> .forminator-field-consent):not(:has(> .forminator-col:not(.forminator-field-consent))) { margin-bottom: 0 !important; }

/* ── 13. Radius token scale ───────────────────────────────────────────────────────────────────
   layout-check flags >8 distinct border-radii per page as token drift; the home page carried 14.
   Seven of those were one-off values doing the same job at 12/14/16/18px, Forminator's 2px vs 3px,
   and three Bootstrap accordion part-radii that are invisible anyway because .accordion-item clips
   them. Collapsed onto one scale: 8px cards, 14px media/panels, pills unchanged. */
.pb-social .pb-figwrap { border-radius: 14px; }                 /* was 18px */
/*      Bootstrap's own .rounded-4 rule and the per-page inline <style> blocks both land AFTER this
        file, so these need !important plus a specificity bump - not a re-ordering fix. */
html body .rounded-4, html body img.rounded-4 { border-radius: 14px !important; }   /* Bootstrap xl = 16px */
html body .img-placeholder, html body img.img-placeholder { border-radius: 14px !important; }  /* was 12px */
.accordion-button, .accordion-button.collapsed, .accordion-collapse { border-radius: 0 !important; }
.forminator-response-message,
.forminator-checkbox-box, .forminator-ui .forminator-checkbox-box { border-radius: 3px !important; }  /* was 2px */
.navbar-toggler { border-radius: 8px !important; }              /* was 6px */
/*      Last three stragglers onto the same scale. The dropdown's 6px lives in the site-header
        partial's own inline <style>, hence the matching specificity + !important. */
#lc-header .bs-hdr-mc .dropdown-menu, .dropdown-menu { border-radius: 8px !important; }
.form-wrapper { border-radius: 14px !important; }
.forminator-button, .forminator-ui .forminator-button { border-radius: 3px !important; }

/* ---- Top-bar contact icons -------------------------------------------------
   Added via ::before rather than by editing the header partial, so the icons
   survive any regeneration of the lc_partial and need no DB write. Bootstrap
   Icons is already enqueued site-wide (bootstrap-icons.min.css); the codepoints
   below were read from the loaded font, not assumed.
   The link text already states the number and the address, so the glyphs are
   decorative - they carry no information of their own. -------------------- */
.pb-topbar__contact { display: inline-flex; align-items: center; }
.pb-topbar__contacts .brand-phone,
.pb-topbar__contacts .brand-email {
    display: inline-flex;
    align-items: center;
    gap: .45em;
}
.pb-topbar__contacts .brand-phone::before,
.pb-topbar__contacts .brand-email::before {
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    font-size: .95em;
    color: var(--bs-warning, #CC8A38);
    flex: 0 0 auto;
}
.pb-topbar__contacts .brand-phone::before { content: "\f5b4"; }   /* bi-telephone-fill */
.pb-topbar__contacts .brand-email::before { content: "\f32c"; }   /* bi-envelope-fill  */

/* ===== Coldwell Banker palette, ticket #105243 ==============================
   The order form states Color 1 #0042AA / Color 2 #FFFFFF with the note that
   Winston is with Coldwell Banker and wants their scheme. CB's identity is
   blue and white, so the template's amber CTA has no basis in it.
   The CTA becomes a WHITE pill with a blue label and a blue edge: on the blue
   bands the white fill carries itself, and on white sections the edge gives it
   the boundary WCAG 1.4.11 needs. One token, both surfaces. ---------------- */
:root {
    --bs-warning-text: #0042AA !important;
    --probate-accent-on-dark: #FFFFFF;
}
.btn-warning, .btn-amber,
.wpforms-submit, .forminator-button-submit {
    background-color: #FFFFFF !important;
    background-image: none !important;
    color: #0042AA !important;
    border: 2px solid #0042AA !important;
}
.btn-warning:hover, .btn-amber:hover,
.wpforms-submit:hover, .forminator-button-submit:hover {
    background-color: #0042AA !important;
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
}
/* on a dark blue band the blue edge disappears - give it a white one instead */
.bg-primary .btn-warning, .bg-primary .btn-amber,
.bg-dark .btn-warning,    .bg-dark .btn-amber,
.hero-section .btn-warning, .hero-section .btn-amber,
.lead-magnet-section .btn-warning, .lead-magnet-section .btn-amber,
.final-cta-section .btn-warning,  .final-cta-section .btn-amber {
    border-color: rgba(255, 255, 255, .85) !important;
}
/* small accents that were amber */
.text-warning, .hero-section .bi-arrow-right { color: #FFFFFF !important; }

/* ---- Palette follow-up: --probate-amber was an alias of --bs-warning, which the
   Coldwell Banker re-skin set to #FFFFFF. That made `a:hover { color:
   var(--probate-amber) }` white-on-white, so every body link on a light page
   went invisible on hover. The accent role and the CTA-fill role are NOT the
   same thing once the fill is white — give the text accent its own blue. ---- */
:root {
    --probate-amber: #0042AA;          /* text accent: must read on WHITE  */
    --probate-accent-on-dark: #FFFFFF; /* text accent: must read on BLUE   */
}
a:hover, a:focus-visible { color: var(--probate-amber); }
/* on dark blue surfaces the accent inverts */
.bg-primary a:hover, .bg-dark a:hover,
.hero-section a:hover, .lead-magnet-section a:hover,
.final-cta-section a:hover, #lc-footer a:hover,
.bg-primary a:focus-visible, .bg-dark a:focus-visible,
#lc-footer a:focus-visible { color: var(--probate-accent-on-dark); }
/* the navbar brand sits on the blue gradient and stays white in every state */
.navbar-brand, .navbar-brand:hover, .navbar-brand:focus, .navbar-brand:focus-visible { color: #FFFFFF !important; }

/* ---- The navbar and the dark bands are painted by gradients over a TRANSPARENT
   background-color. Anything compositing background-color alone - the
   interaction-state gate, and assistive tooling like Windows High Contrast -
   resolves that to the page white and reads the white brand text as invisible.
   Declare the real colour underneath; the gradient still paints over it, so
   nothing changes visually, but the element now states its own background. -- */
.navbar.bg-primary, #lc-header .navbar, .navbar-dark.bg-primary { background-color: #0042AA !important; }
.hero-section, .lead-magnet-section, .final-cta-section { background-color: #0042AA; }
#lc-footer .bg-dark, .bg-dark { background-color: #00204F !important; }

/* ---- Check marks on the blue bands. The palette re-skin mapped the old amber
   accent to a dark blue, so .bi-check-circle-fill rendered #00307A on the
   #0042AA panel - about 1.3:1, effectively invisible. On a blue surface the
   accent must be the LIGHT end of the scale, not the dark end. ------------- */
.bg-primary .bi-check-circle-fill,
.bg-dark .bi-check-circle-fill,
.hero-section .bi-check-circle-fill,
.lead-magnet-section .bi-check-circle-fill,
.final-cta-section .bi-check-circle-fill,
.bg-primary .bi-check-circle,
.lead-magnet-section .bi-check-circle,
.bg-primary .bi-check2-circle,
.lead-magnet-section .bi-check2-circle { color: #DCE9FB !important; }
