/*
 Theme Name:   Picostrap5 Divorce Child
 Theme URI:    http://divorce-credibility.local
 Description:  Child theme for Divorce Real Estate Guide site. Built on Picostrap5 with LiveCanvas.
 Author:       Artificial Automation House
 Author URI:   https://artificialautomation.house
 Template:     picostrap5
 Version:      2.0.0
 License:      GPL-2.0+
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  picostrap5-divorce-child
*/

/* ==========================================================================
   CSS Custom Properties — Warm Divorce Palette
   ========================================================================== */

:root, [data-bs-theme=light] {
    /* =====================================================================
       Bootstrap Variable Mappings — enables interchangeable headers/footers
       ===================================================================== */
    --bs-primary: #4A6B8A !important;
    --bs-primary-rgb: 74, 107, 138 !important;
    --bs-secondary: #5A8E7D !important;
    --bs-secondary-rgb: 90, 142, 125 !important;
    --bs-success: #5A8E7D !important;
    --bs-info: #B8A9C9 !important;
    --bs-info-rgb: 184, 169, 201 !important;
    --bs-warning: #D67C43 !important;
    --bs-warning-rgb: 214, 124, 67 !important;
    --bs-danger: #A06558 !important;
    --bs-dark: #3A5570 !important;
    --bs-dark-rgb: 58, 85, 112 !important;
    --bs-light: #FFF8F0 !important;
    --bs-body-bg: #FFFFFF !important;
    --bs-body-color: #2D3436 !important;
    --bs-link-color: #9C574A !important;
    --bs-link-hover-color: var(--bs-danger) !important;

    /* Backward-compatible aliases — page content still uses these */
    --divorce-slate: var(--bs-primary);
    --divorce-slate-dark: var(--bs-dark);
    --divorce-sage: var(--bs-secondary);
    --divorce-copper: var(--bs-warning);
    --divorce-copper-hover: var(--bs-danger);
    --divorce-lavender: var(--bs-info);
    --divorce-lavender-light: rgba(var(--bs-info-rgb), 0.1);
    --divorce-cream: var(--bs-light);
    --divorce-light-bg: var(--bs-light);
    --divorce-white: #FFFFFF;
    --divorce-dark-text: var(--bs-body-color);
    --divorce-border-muted: #E0D8CC;

    /* Footer-specific (used by LiveCanvas footer partial) */
    --divorce-footer-text: #E0E0E0;
    --divorce-footer-muted: #999999;
    --divorce-footer-copyright-bg: var(--bs-dark);

    /* Typography */
    --font-display: "Playfair Display", Georgia, "Times New Roman", serif;
    --font-heading: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

    /* Shadows */
    --shadow-card: 0 4px 20px rgba(var(--bs-primary-rgb), 0.08);
    --shadow-card-hover: 0 8px 30px rgba(var(--bs-primary-rgb), 0.12);
    --shadow-elevated: 0 12px 40px rgba(var(--bs-primary-rgb), 0.15);

    /* Radii */
    --radius-card: 16px;
    --radius-pill: 50px;
    --radius-image: 20px;

    /* Transitions */
    --transition-base: 0.3s ease;
    --transition-fast: 0.2s ease;
}

/* 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(--divorce-dark-text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3 {
    font-family: var(--font-display);
    color: var(--divorce-slate-dark);
    line-height: 1.3;
    letter-spacing: -0.01em;
}

h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--divorce-slate-dark);
    font-weight: 600;
    line-height: 1.4;
}

h1 { font-size: 2.75rem; font-weight: 700; }
h2 { font-size: 2.1rem; font-weight: 600; }
h3 { font-size: 1.65rem; font-weight: 600; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 0.95rem; text-transform: uppercase; letter-spacing: 0.05em; }

p {
    margin-bottom: 1.25rem;
    color: var(--divorce-dark-text);
}

a {
    color: var(--divorce-sage);
    text-decoration: underline;
    text-decoration-color: rgba(var(--bs-secondary-rgb), 0.3);
    text-underline-offset: 3px;
    transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

a:hover {
    color: var(--divorce-copper);
    text-decoration-color: var(--divorce-copper);
}

/* Client revision 2026-07-21 (GLOBAL fix 4): visited links must look identical to
   unvisited. Previously `a:visited` (specificity 0,1,1) out-specified every component
   colour rule (.nav-link, .dropdown-item, .btn-rose, .btn-outline-sage/lavender at
   0,1,0), so visited nav items and CTA labels changed colour, and `opacity:.85` faded
   them. Wrapping the pseudo-class in :where() drops its specificity to 0,0,1 (same as
   the plain `a` rule above), so content links still get the sage link colour while
   components keep their own. Do not re-add the opacity. */
a:where(:visited) {
    color: var(--divorce-sage);
}

/* Keyboard-only focus ring — mouse clicks (e.g. nav dropdown toggles) no longer
   draw a hard copper rectangle, but keyboard users keep a visible, accessible ring. */
a:focus-visible {
    outline: 2px solid var(--divorce-copper);
    outline-offset: 2px;
}

a:active {
    color: var(--divorce-copper-hover);
}

/* ==========================================================================
   Header navigation — hover underline + active-page state
   Live header is the Bootstrap navbar `.bs-hdr-bs`. It is static HTML (not a
   wp_nav_menu), so the `.active` / `.current-parent` classes are set by
   assets/nav-active.js matching the current URL. `::before` is used for the
   underline so it never collides with Bootstrap's `.dropdown-toggle::after` caret.
   ========================================================================== */
.bs-hdr-bs .nav-link { position: relative; }
.bs-hdr-bs .nav-link::before {
    content: "";
    position: absolute;
    left: 0.7rem;
    right: 0.7rem;
    bottom: 0.28rem;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    opacity: 0;
    transform: scaleX(0.35);
    transform-origin: center;
    transition: opacity 0.18s ease, transform 0.18s ease;
    pointer-events: none;
}
.bs-hdr-bs .nav-link:hover::before,
.bs-hdr-bs .nav-link:focus-visible::before {
    opacity: 0.5;
    transform: scaleX(1);
}
.bs-hdr-bs .nav-link.active,
.bs-hdr-bs .nav-item.current-parent > .nav-link { color: #fff !important; }
.bs-hdr-bs .nav-link.active::before,
.bs-hdr-bs .nav-item.current-parent > .nav-link::before {
    opacity: 1;
    transform: scaleX(1);
    height: 2.5px;
    background: var(--divorce-copper, #B8766A);
}
.bs-hdr-bs .dropdown-item.active {
    color: var(--divorce-copper, #B8766A);
    font-weight: 600;
    background: transparent;
}

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

.divorce-skip-link {
    position: fixed;
    top: -100px;
    left: 10px;
    z-index: 100000;
    padding: 12px 24px;
    background: var(--divorce-sage);
    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(--divorce-slate);
    outline-offset: 2px;
    transition: top var(--transition-fast);
}

.divorce-skip-link:focus {
    top: 10px;
}

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

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

/* ==========================================================================
   DESIGN SYSTEM — Hero Section
   ========================================================================== */

.hero-section {
    position: relative;
    background: linear-gradient(160deg, var(--divorce-slate), var(--divorce-slate-dark));
    color: #fff;
    overflow: hidden;
    padding: 5rem 0 6rem;
}

.hero-section .hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
}

@media (min-width: 992px) {
    .hero-section .hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }
}

.hero-section .hero-text {
    text-align: left;
}

.hero-section .hero-text h1 {
    font-family: var(--font-display);
    color: #fff;
    font-size: 2.75rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1.25rem;
}

.hero-section .hero-text p {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.15rem;
    line-height: 1.7;
    margin-bottom: 2rem;
}

.hero-section .hero-visual {
    position: relative;
    min-height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-section .hero-visual::before {
    content: "";
    position: absolute;
    width: 320px;
    height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(var(--bs-info-rgb), 0.2) 0%, transparent 70%);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.hero-section .hero-visual::after {
    content: "";
    position: absolute;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 248, 240, 0.12) 0%, transparent 70%);
    top: 30%;
    left: 60%;
    transform: translate(-50%, -50%);
}

/* Inner-page hero: faint, slowly-panning texture built from the hero's OWN featured
   photo — the same background treatment as the homepage hero. The layer is inserted
   per page by assets/hero-bg.js (which reads the hero-visual image). */
.hero-section .hero-tex {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: grayscale(1) contrast(1.06);
    opacity: 0.12;
    mix-blend-mode: soft-light;
    animation: dvHeroTexPan 46s ease-in-out infinite alternate;
}
.hero-section .hero-grid { position: relative; z-index: 1; }
@keyframes dvHeroTexPan {
    from { transform: scale(1.06) translate(0, 0); }
    to   { transform: scale(1.15) translate(-2.5%, -1.5%); }
}
@media (prefers-reduced-motion: reduce) {
    .hero-section .hero-tex { animation: none; }
}

/* Hero wave bottom divider */
.hero-section > .wave-divider-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    overflow: hidden;
    line-height: 0;
}

.hero-section > .wave-divider-bottom::after {
    content: "";
    display: block;
    width: 100%;
    height: 60px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,80 Q600,0 1200,80 L1200,120 L0,120 Z' fill='%23FFF8F0'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
}

/* ==========================================================================
   DESIGN SYSTEM — Wave Dividers (Reusable)
   ========================================================================== */

.wave-divider-top {
    position: relative;
}

.wave-divider-top::before {
    content: "";
    display: block;
    width: 100%;
    height: 60px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,40 Q600,120 1200,40 L1200,0 L0,0 Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.wave-divider-bottom {
    position: relative;
}

.wave-divider-bottom::after {
    content: "";
    display: block;
    width: 100%;
    height: 60px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,80 Q600,0 1200,80 L1200,120 L0,120 Z' fill='%23FFFFFF'/%3E%3C/svg%3E");
    background-size: cover;
    background-position: center;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

/* Cream-to-white variant */
.wave-divider-top.wave-cream::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,40 Q600,120 1200,40 L1200,0 L0,0 Z' fill='%23FFF8F0'/%3E%3C/svg%3E");
}

.wave-divider-bottom.wave-cream::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,80 Q600,0 1200,80 L1200,120 L0,120 Z' fill='%23FFF8F0'/%3E%3C/svg%3E");
}

/* ==========================================================================
   DESIGN SYSTEM — Section Ornament (replaces old "Two Paths" dividers)
   ========================================================================== */

.section-ornament {
    text-align: center;
    padding: 1.5rem 0;
}
.section-ornament span {
    display: inline-block;
    color: var(--divorce-lavender);
    font-size: 1.2rem;
    position: relative;
}
.section-ornament span::before,
.section-ornament span::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 60px;
    height: 1px;
    background: var(--divorce-lavender);
}
.section-ornament span::before { right: 100%; margin-right: 12px; }
.section-ornament span::after { left: 100%; margin-left: 12px; }

/* ==========================================================================
   DESIGN SYSTEM — Cards
   ========================================================================== */

.divorce-card {
    background: var(--divorce-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 2rem;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
    border: 1px solid transparent;
}

.divorce-card:hover {
    transform: scale(1.02);
    box-shadow: var(--shadow-card-hover);
}

.divorce-card h3,
.divorce-card h4 {
    margin-bottom: 0.75rem;
}

.divorce-card p:last-child {
    margin-bottom: 0;
}

/* Card with top image */
.divorce-card .card-image {
    border-radius: var(--radius-card) var(--radius-card) 0 0;
    overflow: hidden;
    margin: -2rem -2rem 1.5rem;
}

.divorce-card .card-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* Imaged icon-cards (POC): a photo banner with the icon floating over its bottom-centre */
.divorce-card--imaged {
    padding: 0;
    overflow: hidden;
    text-align: center;
}

.divorce-card--imaged .card-media {
    position: relative;
    height: 170px;
    background-size: cover;
    background-position: center;
}

.divorce-card--imaged .card-media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 55%, rgba(0, 0, 0, 0.30));
}

.divorce-card--imaged .icon-circle {
    position: absolute;
    left: 50%;
    margin-left: -27px;   /* centre a 54px bubble without using transform (freed for the float) */
    bottom: -27px;
    z-index: 2;
    width: 54px;
    height: 54px;
    min-width: 54px;
    background: rgba(255, 255, 255, 0.55);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.16);
    --float-dist: -10px;
    animation: dvFloat 6.5s ease-in-out infinite;
}

/* stagger the three value-card bubbles so they float independently */
.card-grid-3 .divorce-card--imaged:nth-child(2) .icon-circle {
    animation-duration: 7.8s;
    animation-delay: -2.5s;
    --float-dist: -13px;
}

.card-grid-3 .divorce-card--imaged:nth-child(3) .icon-circle {
    animation-duration: 9.2s;
    animation-delay: -4.5s;
    --float-dist: -8px;
}

.divorce-card--imaged .card-body {
    padding: 3.25rem 1.75rem 2rem;
}

/* ==========================================================================
   DESIGN SYSTEM — Horizontal Cards
   ========================================================================== */

.card-horizontal {
    display: flex;
    gap: 1.5rem;
    align-items: flex-start;
    background: var(--divorce-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 2rem;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.card-horizontal:hover {
    transform: scale(1.02);
    box-shadow: var(--shadow-card-hover);
}

.card-horizontal .card-horizontal-body {
    flex: 1;
}

.card-horizontal .card-horizontal-body h4 {
    margin-bottom: 0.5rem;
}

.card-horizontal .card-horizontal-body p:last-child {
    margin-bottom: 0;
}

@media (max-width: 575.98px) {
    .card-horizontal {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
}

/* ==========================================================================
   DESIGN SYSTEM — Icon Circles
   ========================================================================== */

.icon-circle {
    background: var(--divorce-lavender-light);
    border: 1px solid rgba(255, 255, 255, 0.55);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border-radius: 50%;
    width: 60px;
    height: 60px;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    color: var(--divorce-slate-dark);
    text-shadow: 0 1px 3px rgba(255, 255, 255, 0.65);
    box-shadow: 0 10px 22px rgba(var(--bs-info-rgb), 0.16);
    transition: background var(--transition-fast);
    --float-dist: -8px;
    animation: dvFloat 7s ease-in-out infinite;
}

/* desync the floating icon bubbles across a grid so they don't bob in unison */
.divorce-card:nth-child(2) .icon-circle,
.card-horizontal:nth-child(2) .icon-circle {
    animation-duration: 8.6s;
    animation-delay: -2.4s;
    --float-dist: -6px;
}

.divorce-card:nth-child(3) .icon-circle,
.card-horizontal:nth-child(3) .icon-circle {
    animation-duration: 6.2s;
    animation-delay: -4.1s;
    --float-dist: -11px;
}

.divorce-card:nth-child(4) .icon-circle,
.card-horizontal:nth-child(4) .icon-circle {
    animation-duration: 9.4s;
    animation-delay: -1.3s;
    --float-dist: -8px;
}

.icon-circle:hover {
    background: rgba(var(--bs-info-rgb), 0.2);
}

.icon-circle.icon-circle-lg {
    width: 80px;
    height: 80px;
    min-width: 80px;
    font-size: 2rem;
}

.icon-circle.icon-circle-sm {
    width: 44px;
    height: 44px;
    min-width: 44px;
    font-size: 1.1rem;
}

/* ==========================================================================
   DESIGN SYSTEM — Zigzag Content Sections
   ========================================================================== */

.content-zigzag .zigzag-row {
    display: flex;
    gap: 3rem;
    align-items: center;
    margin-bottom: 3rem;
}

.content-zigzag .zigzag-row:last-child {
    margin-bottom: 0;
}

.content-zigzag .zigzag-row:nth-child(even) {
    flex-direction: row-reverse;
}

.content-zigzag .zigzag-text {
    flex: 1;
}

.content-zigzag .zigzag-image {
    flex: 1;
    border-radius: var(--radius-image);
    overflow: hidden;
    border: 2px solid var(--divorce-lavender-light);
    background: var(--divorce-lavender-light);
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content-zigzag .zigzag-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: calc(var(--radius-image) - 2px);
}

/* Zigzag media carrying a real photo + floating glass bubble
   (e.g. Resources "Working with Attorneys and Mediators") — drop the placeholder
   box chrome so the photo's own frame + overflowing bubble read cleanly. */
.content-zigzag .zigzag-image--photo,
.content-zigzag .zigzag-image--plain {
    border: none;
    background: none;
    overflow: visible;
    min-height: 0;
    display: block;
    border-radius: 0;
}
.content-zigzag .zigzag-image--photo .decorative-frame--photo { width: 100%; }

/* Independent float per row so the bubbles never bob in sync */
.content-zigzag .zigzag-row:nth-child(1) .frame-inner { --float-dist: -10px; animation-duration: 6.5s; animation-delay: -1.2s; }
.content-zigzag .zigzag-row:nth-child(2) .frame-inner { --float-dist: -14px; animation-duration: 8s;   animation-delay: -3s;  }
.content-zigzag .zigzag-row:nth-child(3) .frame-inner { --float-dist: -7px;  animation-duration: 7.3s; animation-delay: -0.4s; }

/* ==========================================================================
   ABOUT PAGE — tasteful agent portrait placeholder + Brand Engine contact card
   ========================================================================== */
.agent-portrait {
    position: relative;
    max-width: 16rem;
    margin: 0 auto;
    aspect-ratio: 4 / 5;
    border-radius: var(--radius-image);
    background: linear-gradient(160deg, var(--divorce-lavender-light), var(--bs-light));
    border: 1px solid rgba(var(--bs-info-rgb), 0.18);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.12);
    display: flex;
    align-items: center;
    justify-content: center;
}
.agent-portrait::after {
    content: "";
    position: absolute;
    inset: 12px;
    border: 1px solid rgba(var(--bs-info-rgb), 0.18);
    border-radius: calc(var(--radius-image) - 8px);
    pointer-events: none;
}
.agent-portrait-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
}
.agent-portrait-badge {
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.6);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.7);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
    color: var(--divorce-slate-dark);
    font-size: 2rem;
    --float-dist: -8px;
    animation: dvFloat 6.5s ease-in-out infinite;
}
.agent-portrait-label {
    font-family: var(--font-heading);
    font-size: 0.78rem;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--divorce-slate);
}

.agent-contact-card {
    max-width: 22rem;
    margin: 0 auto;
    background: #fff;
    border: 1px solid rgba(var(--bs-info-rgb), 0.15);
    border-radius: var(--radius-card);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.10);
    padding: 2rem 1.75rem;
    text-align: center;
}
.agent-contact-card .acc-avatar {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(160deg, var(--divorce-lavender-light), var(--bs-light));
    border: 1px solid rgba(var(--bs-info-rgb), 0.2);
    box-shadow: inset 0 0 0 4px #fff, 0 6px 16px rgba(0, 0, 0, 0.08);
    color: var(--divorce-slate-dark);
    font-size: 2.4rem;
}
.agent-contact-card .acc-name { margin: 0 0 0.15rem; font-size: 1.4rem; }
.agent-contact-card .acc-broker { color: var(--divorce-slate); font-size: 0.95rem; margin: 0 0 1.35rem; }
.agent-contact-card .acc-list {
    list-style: none;
    margin: 0 0 1.5rem;
    padding: 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
}
.agent-contact-card .acc-list li { display: flex; align-items: center; gap: 0.75rem; }
.agent-contact-card .acc-ic {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--divorce-lavender-light);
    color: var(--divorce-slate-dark);
    font-size: 1.02rem;
}
.agent-contact-card .acc-list a,
.agent-contact-card .acc-list address {
    color: var(--divorce-slate-dark);
    text-decoration: none;
    font-style: normal;
    margin: 0;
    display: inline;
    word-break: break-word;
}
.agent-contact-card .acc-list a:hover { text-decoration: underline; }
.agent-contact-card .acc-note { font-size: 0.82rem; color: var(--divorce-slate); margin: 0.25rem 0 0; line-height: 1.5; }

@media (max-width: 767.98px) {
    .content-zigzag .zigzag-row,
    .content-zigzag .zigzag-row:nth-child(even) {
        flex-direction: column;
        gap: 1.5rem;
    }
}

/* ==========================================================================
   DESIGN SYSTEM — FAQ Cards
   ========================================================================== */

.faq-card {
    background: var(--divorce-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    margin-bottom: 1rem;
    overflow: hidden;
    transition: border-color var(--transition-fast);
    border: 1px solid transparent;
    border-left: 3px solid transparent;
}

.faq-card.active {
    border-left-color: var(--divorce-lavender);
}

.faq-card .faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    cursor: pointer;
    user-select: none;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1rem;
    color: var(--divorce-slate-dark);
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    transition: color var(--transition-fast);
}

.faq-card .faq-question:hover {
    color: var(--divorce-sage);
}

.faq-card .faq-toggle-icon {
    font-size: 1.25rem;
    color: var(--divorce-lavender);
    transition: transform var(--transition-base);
    flex-shrink: 0;
}

.faq-card.active .faq-toggle-icon {
    transform: rotate(45deg);
}

.faq-card .faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease, padding 0.3s ease;
    padding: 0 1.5rem;
}

.faq-card.active .faq-answer {
    max-height: 500px;
    padding: 0 1.5rem 1.25rem;
}

.faq-card .faq-answer p {
    color: var(--divorce-dark-text);
    line-height: 1.7;
}

/* ==========================================================================
   DESIGN SYSTEM — CTA Sections
   ========================================================================== */

.cta-divorce {
    position: relative;
    background: linear-gradient(135deg, var(--divorce-lavender-light), var(--divorce-cream));
    padding: 4rem 0;
    text-align: center;
}

.cta-divorce h2,
.cta-divorce h3 {
    color: var(--divorce-slate-dark);
}

.cta-divorce p {
    color: var(--divorce-dark-text);
    font-size: 1.1rem;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
}

/* ==========================================================================
   DESIGN SYSTEM — Lead Magnet Section
   ========================================================================== */

.lead-magnet-section {
    background: linear-gradient(135deg, var(--divorce-lavender-light), var(--divorce-cream));
    padding: 4rem 0;
}

.lead-magnet-section .lead-magnet-card {
    background: var(--divorce-white);
    border: 1px solid rgba(var(--bs-info-rgb), 0.25);
    border-radius: var(--radius-card);
    padding: 2.5rem;
    max-width: 600px;
    margin: 0 auto;
    box-shadow: var(--shadow-card);
}

.lead-magnet-section .lead-magnet-card h3 {
    margin-bottom: 0.75rem;
}

.lead-magnet-section .lead-magnet-card p {
    margin-bottom: 1.5rem;
}

.lead-magnet-section input[type="email"],
.lead-magnet-section input[type="text"] {
    border: 1px solid var(--divorce-border-muted);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-family: var(--font-body);
    font-size: 1rem;
    width: 100%;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.lead-magnet-section input[type="email"]:focus,
.lead-magnet-section input[type="text"]:focus {
    border-color: var(--divorce-lavender);
    box-shadow: 0 0 0 3px rgba(var(--bs-info-rgb), 0.2);
    outline: none;
}

/* ==========================================================================
   DESIGN SYSTEM — Buttons
   ========================================================================== */

.btn-rose,
.btn-copper {
    display: inline-block;
    background: var(--divorce-copper);
    border-color: var(--divorce-copper);
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.75rem 2rem;
    border-radius: var(--radius-pill);
    border: none;
    text-decoration: none;
    cursor: pointer;
    transition: background var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);
    letter-spacing: 0.02em;
}

.btn-rose:hover,
.btn-rose:focus,
.btn-copper:hover,
.btn-copper:focus {
    background: var(--divorce-copper-hover);
    border-color: var(--divorce-copper-hover);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(var(--bs-warning-rgb), 0.35);
    text-decoration: none;
}

.btn-rose:active,
.btn-copper:active {
    transform: translateY(0);
}

.btn-outline-lavender {
    display: inline-block;
    background: transparent;
    color: var(--divorce-lavender);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.7rem 1.75rem;
    border-radius: var(--radius-pill);
    border: 2px solid var(--divorce-lavender);
    text-decoration: none;
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

.btn-outline-lavender:hover,
.btn-outline-lavender:focus {
    background: var(--divorce-lavender);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(var(--bs-info-rgb), 0.3);
}

.btn-outline-sage {
    display: inline-block;
    background: transparent;
    color: var(--divorce-sage);
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.7rem 1.75rem;
    border-radius: var(--radius-pill);
    border: 2px solid var(--divorce-sage);
    text-decoration: none;
    cursor: pointer;
    transition: background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);
}

.btn-outline-sage:hover,
.btn-outline-sage:focus {
    background: var(--divorce-sage);
    color: #fff;
    text-decoration: none;
    box-shadow: 0 4px 15px rgba(var(--bs-secondary-rgb), 0.3);
}

/* ==========================================================================
   DESIGN SYSTEM — Section Background Utilities
   ========================================================================== */

.section-cream {
    background-color: var(--divorce-cream);
}

.section-white {
    background-color: var(--divorce-white);
}

.section-slate {
    background-color: var(--divorce-slate);
    color: #fff;
}

.section-slate h1,
.section-slate h2,
.section-slate h3,
.section-slate h4,
.section-slate h5,
.section-slate h6 {
    color: #fff;
}

.section-slate p {
    color: rgba(255, 255, 255, 0.85);
}

.section-slate a {
    color: var(--divorce-lavender);
}

.section-slate a:hover {
    color: #fff;
}

/* Standard section spacing */
.section-padding {
    padding: 4.5rem 0;
}

.section-padding-sm {
    padding: 3rem 0;
}

@media (max-width: 767.98px) {
    .section-padding {
        padding: 3rem 0;
    }
    .section-padding-sm {
        padding: 2rem 0;
    }
}

/* ==========================================================================
   DESIGN SYSTEM — Testimonial / Quote Block
   ========================================================================== */

.divorce-quote {
    position: relative;
    background: var(--divorce-white);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
    padding: 2rem 2rem 2rem 3.5rem;
    margin: 1.5rem 0;
    border-left: 4px solid var(--divorce-lavender);
}

.divorce-quote::before {
    content: "\201C";
    position: absolute;
    top: 0.5rem;
    left: 1rem;
    font-family: var(--font-display);
    font-size: 3rem;
    color: var(--divorce-lavender);
    line-height: 1;
}

.divorce-quote p {
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.7;
    margin-bottom: 0.75rem;
}

.divorce-quote .quote-author {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--divorce-sage);
    font-style: normal;
}

/* ==========================================================================
   DESIGN SYSTEM — Stats / Numbers Row
   ========================================================================== */

.stats-row {
    display: flex;
    gap: 2rem;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    padding: 2rem 0;
}

.stat-item {
    flex: 1;
    min-width: 150px;
    max-width: 220px;
}

.stat-item .stat-number {
    font-family: var(--font-display);
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--divorce-sage);
    line-height: 1.2;
}

.stat-item .stat-label {
    font-family: var(--font-heading);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--divorce-slate);
    margin-top: 0.25rem;
}

/* ==========================================================================
   DESIGN SYSTEM — Badge / Tag
   ========================================================================== */

.divorce-badge {
    display: inline-block;
    font-family: var(--font-heading);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0.3rem 0.85rem;
    border-radius: var(--radius-pill);
    background: var(--divorce-lavender-light);
    color: var(--divorce-slate-dark);
}

.divorce-badge-sage {
    background: rgba(var(--bs-secondary-rgb), 0.12);
    color: var(--divorce-sage);
}

/* ==========================================================================
   DESIGN SYSTEM — Content Section Spacing for LiveCanvas
   ========================================================================== */

section {
    position: relative;
}

section + section {
    margin-top: 0;
}

/* LiveCanvas compatibility — ensure sections have proper z-index */
.lc-block {
    position: relative;
    z-index: 2;
}

/* ==========================================================================
   DESIGN SYSTEM — Card Grid Layouts
   ========================================================================== */

.card-grid {
    display: grid;
    gap: 1.5rem;
}

.card-grid-2 {
    grid-template-columns: repeat(1, 1fr);
}

.card-grid-3 {
    grid-template-columns: repeat(1, 1fr);
}

@media (min-width: 768px) {
    .card-grid-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .card-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 992px) {
    .card-grid-3 {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ==========================================================================
   DESIGN SYSTEM — Footer (Custom)
   ========================================================================== */

.divorce-footer {
    background: var(--divorce-slate-dark);
    color: rgba(255, 255, 255, 0.75);
    padding: 3rem 0 1.5rem;
    font-size: 0.9rem;
}

.divorce-footer h5,
.divorce-footer h6 {
    color: #fff;
    font-family: var(--font-display);
    margin-bottom: 1rem;
}

.divorce-footer a {
    color: rgba(255, 255, 255, 0.75);
    text-decoration: none;
    transition: color var(--transition-fast);
}

.divorce-footer a:hover {
    color: var(--divorce-lavender);
}

.divorce-footer .footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 2rem;
    padding-top: 1.5rem;
    text-align: center;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.5);
}

/* ==========================================================================
   DESIGN SYSTEM — List Styles (Checkmark, Arrow)
   ========================================================================== */

.list-check {
    list-style: none;
    padding-left: 0;
}

.list-check li {
    position: relative;
    padding-left: 2rem;
    margin-bottom: 0.75rem;
}

.list-check li::before {
    content: "\F272";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    top: 0.15em;
    color: var(--divorce-sage);
    font-size: 1rem;
}

.list-arrow {
    list-style: none;
    padding-left: 0;
}

.list-arrow li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.6rem;
}

.list-arrow li::before {
    content: "\F285";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    top: 0.15em;
    color: var(--divorce-copper);
    font-size: 0.85rem;
}

/* ==========================================================================
   DESIGN SYSTEM — Responsive Image Utility
   ========================================================================== */

.img-rounded {
    border-radius: var(--radius-image);
    overflow: hidden;
}

.img-bordered {
    border: 2px solid var(--divorce-border-muted);
    border-radius: var(--radius-image);
}

.img-shadow {
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-image);
}

/* ==========================================================================
   HOMEPAGE — Hero Content & Decorative
   ========================================================================== */

.hero-section .hero-content {
    text-align: left;
}

.hero-section .hero-title {
    font-family: var(--font-display);
    color: #fff;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1.25rem;
}

@media (min-width: 992px) {
    .hero-section .hero-title {
        font-size: 3rem;
    }
}

.hero-section .hero-subtitle {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.1rem;
    line-height: 1.75;
    margin-bottom: 2rem;
    max-width: 540px;
}

.hero-section .hero-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* Hero outline button override for white context */
.hero-section .btn-outline-lavender {
    color: rgba(255, 255, 255, 0.9);
    border-color: rgba(255, 255, 255, 0.5);
}

.hero-section .btn-outline-lavender:hover,
.hero-section .btn-outline-lavender:focus {
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.8);
}

/* Hero Decorative Panel */
.hero-decorative {
    position: relative;
    min-height: 320px;
    display: none;
}

@media (min-width: 992px) {
    .hero-decorative {
        display: block;
    }
}

.deco-circle {
    position: absolute;
    border-radius: 50%;
}

.deco-circle-1 {
    width: 260px;
    height: 260px;
    background: radial-gradient(circle, rgba(var(--bs-info-rgb), 0.2) 0%, transparent 70%);
    top: 10%;
    right: 5%;
}

.deco-circle-2 {
    width: 160px;
    height: 160px;
    background: radial-gradient(circle, rgba(255, 248, 240, 0.12) 0%, transparent 70%);
    bottom: 15%;
    right: 35%;
}

.deco-line {
    position: absolute;
    background: rgba(var(--bs-info-rgb), 0.3);
    border-radius: 2px;
}

.deco-line-1 {
    width: 2px;
    height: 100px;
    top: 20%;
    right: 40%;
    transform: rotate(15deg);
}

.deco-line-2 {
    width: 80px;
    height: 2px;
    bottom: 30%;
    right: 10%;
    transform: rotate(-10deg);
}

.deco-dot-grid {
    position: absolute;
    width: 80px;
    height: 80px;
    bottom: 10%;
    right: 50%;
    background-image: radial-gradient(rgba(255, 255, 255, 0.2) 2px, transparent 2px);
    background-size: 12px 12px;
}

/* Hero wave override — use inline SVG instead of pseudo-element */
.hero-section > .wave-divider-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 2;
}

.hero-section > .wave-divider-bottom::after {
    display: none;
}

.hero-section > .wave-divider-bottom svg {
    display: block;
    width: 100%;
    height: 80px;
}

/* ==========================================================================
   HOMEPAGE — Section Headers
   ========================================================================== */

.section-header {
    text-align: center;
    max-width: 680px;
    margin: 0 auto 3rem;
}

.section-header h2 {
    font-family: var(--font-display);
    font-size: 2rem;
    color: var(--divorce-slate-dark);
    margin-bottom: 1rem;
}

.section-header p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--divorce-dark-text);
}

/* ==========================================================================
   HOMEPAGE — Section Spacing (wave-aware)
   ========================================================================== */

.section-cream,
.section-white {
    position: relative;
    padding: 5rem 0;
}

/* Wave divider inside sections — inline SVG approach */
.section-cream > .wave-divider-bottom,
.section-white > .wave-divider-bottom,
.lead-magnet-section > .wave-divider-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 2;
}

.section-cream > .wave-divider-bottom::after,
.section-white > .wave-divider-bottom::after,
.lead-magnet-section > .wave-divider-bottom::after {
    display: none;
}

.section-cream > .wave-divider-bottom svg,
.section-white > .wave-divider-bottom svg,
.lead-magnet-section > .wave-divider-bottom svg {
    display: block;
    width: 100%;
    height: 80px;
}

/* ==========================================================================
   HOMEPAGE — Decorative Frames (zigzag media)
   ========================================================================== */

.zigzag-media {
    flex: 1;
    min-width: 0;
}

.decorative-frame {
    background: var(--divorce-lavender-light);
    border: 2px solid var(--divorce-lavender);
    border-radius: var(--radius-image);
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.decorative-frame-alt {
    border-color: var(--divorce-sage);
    background: rgba(var(--bs-secondary-rgb), 0.06);
}

.decorative-frame .frame-inner {
    text-align: center;
    color: var(--divorce-slate);
}

.decorative-frame .frame-inner i {
    font-size: 3rem;
    display: block;
    margin-bottom: 0.75rem;
    color: var(--divorce-lavender);
}

.decorative-frame-alt .frame-inner i {
    color: var(--divorce-sage);
}

.decorative-frame .frame-inner span {
    font-family: var(--font-heading);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--divorce-slate);
    opacity: 0.7;
}

/* Photo icon-box (POC): photo hero + smaller frosted-glass label card over a corner */
.decorative-frame--photo {
    display: block;
    background: none;
    border: none;
    overflow: visible;
    min-height: 0;
    position: relative;
    text-align: center;
}

.decorative-frame--photo .frame-photo-wrap {
    position: relative;
    display: block;
}

.decorative-frame--photo .frame-photo {
    display: block;
    width: 100%;
    height: auto;
    border-radius: var(--radius-image);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

/* round frosted-glass bubble holding just the (visible) icon, overlapping the corner */
.decorative-frame--photo .frame-inner {
    position: absolute;
    right: -1.25rem;
    bottom: -1.25rem;
    left: auto;
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.20);
    --float-dist: -12px;
    animation: dvFloat 6s ease-in-out infinite;
}

.decorative-frame--photo .frame-inner i {
    font-size: 2.1rem;
    margin: 0;
    color: var(--divorce-slate-dark);
    text-shadow: 0 1px 3px rgba(255, 255, 255, 0.65);
    opacity: 1;
}

.decorative-frame--photo .frame-caption {
    margin-top: 1.25rem;
    font-family: var(--font-heading);
    font-size: 1rem;
    font-weight: 600;
    color: var(--divorce-slate);
}

/* Gentle, INDEPENDENT floating — varied distance / duration / phase so bubbles never sync */
@keyframes dvFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(var(--float-dist, -12px)); }
}

/* Hero bubbles: distinct motion paths + periods so they never sync */
@keyframes dvDrift1 {
    0%   { transform: translate(0, 0); }
    50%  { transform: translate(9px, -24px); }
    100% { transform: translate(0, 0); }
}

@keyframes dvDrift2 {
    0%   { transform: translate(0, 0) scale(1); }
    30%  { transform: translate(-16px, 13px) scale(1.06); }
    65%  { transform: translate(11px, 22px) scale(0.97); }
    100% { transform: translate(0, 0) scale(1); }
}

.deco-circle-1 { animation: dvDrift1 8.5s ease-in-out infinite; }
.deco-circle-2 { animation: dvDrift2 12.5s ease-in-out -4s infinite; }

/* Subtle animated glow/shadow behind the hero slider */
@keyframes dvHeroGlow {
    from { filter: drop-shadow(0 16px 34px rgba(var(--bs-info-rgb), 0.20)); }
    to   { filter: drop-shadow(0 28px 58px rgba(var(--bs-info-rgb), 0.42)); }
}

.hero-section-divorce .hero-image-mask {
    animation: dvHeroGlow 9s ease-in-out infinite alternate;
}

/* Headings never leave a single orphaned word on the last line */
h1, h2, h3,
.hero-title,
.section-header h2 {
    text-wrap: balance;
}

@media (prefers-reduced-motion: reduce) {
    .icon-circle,
    .decorative-frame--photo .frame-inner,
    .divorce-card--imaged .icon-circle,
    .deco-circle-1,
    .deco-circle-2,
    .agent-portrait-badge,
    .hero-section-divorce .hero-image-mask {
        animation: none;
    }
}

/* ==========================================================================
   HOMEPAGE — Question List & Check List
   ========================================================================== */

.question-list {
    list-style: none;
    padding-left: 0;
    margin: 1.5rem 0;
}

.question-list li {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    padding: 0.6rem 0;
    border-bottom: 1px solid var(--divorce-border-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.question-list li:last-child {
    border-bottom: none;
}

.question-list li i {
    color: var(--divorce-copper);
    font-size: 0.9rem;
    flex-shrink: 0;
}

.zigzag-lead {
    font-weight: 600;
    font-family: var(--font-heading);
    color: var(--divorce-slate);
    font-size: 1.05rem;
    margin-bottom: 0.5rem;
}

.check-list {
    list-style: none;
    padding-left: 0;
    margin: 1.25rem 0 1.5rem;
}

.check-list li {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    padding: 0.5rem 0;
    font-size: 1rem;
    line-height: 1.6;
}

.check-list li i {
    color: var(--divorce-sage);
    font-size: 1.1rem;
    flex-shrink: 0;
}

/* ==========================================================================
   HOMEPAGE — Services Stack (Horizontal Cards)
   ========================================================================== */

.services-stack {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    max-width: 800px;
    margin: 0 auto;
}

.services-stack .card-horizontal {
    border-left: 3px solid var(--divorce-lavender);
}

.services-stack .card-horizontal:nth-child(even) {
    border-left-color: var(--divorce-sage);
}

.card-icon-circle {
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 50%;
    background: var(--divorce-lavender-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    color: var(--divorce-sage);
}

.services-stack .card-horizontal:nth-child(even) .card-icon-circle {
    background: rgba(var(--bs-secondary-rgb), 0.08);
    color: var(--divorce-sage);
}

.card-body-text {
    flex: 1;
}

.card-body-text h3 {
    font-family: var(--font-heading);
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--divorce-slate-dark);
    margin-bottom: 0.4rem;
}

.card-body-text p {
    font-size: 0.95rem;
    line-height: 1.7;
    color: var(--divorce-dark-text);
    margin-bottom: 0;
}

/* ==========================================================================
   HOMEPAGE — Lead Magnet (Centered)
   ========================================================================== */

.lead-magnet-section {
    position: relative;
    padding: 5rem 0;
}

/* Two-column lead magnet: content (left) + form (right) */
.lead-magnet-content {
    text-align: left;
}

.lead-magnet-content h2 {
    font-family: var(--font-display);
    font-size: 2rem;
    color: var(--divorce-slate-dark);
    margin-bottom: 1rem;
}

.lead-magnet-content .lead-magnet-intro {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--divorce-dark-text);
    margin-bottom: 1.25rem;
}

.lead-magnet-content .lead-magnet-list {
    list-style: disc;
    padding-left: 1.25rem;
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--divorce-dark-text);
}

.lead-magnet-content .lead-magnet-list li {
    margin-bottom: 0.6rem;
}

.lead-magnet-content .lead-magnet-list li:last-child {
    margin-bottom: 0;
}

.lead-magnet-form {
    background: var(--divorce-white);
    border: 1px solid var(--divorce-border-muted);
    border-radius: var(--radius-card);
    padding: 2rem;
    box-shadow: var(--shadow-card);
}

/* ==========================================================================
   HOMEPAGE — FAQ Cards (Bootstrap Collapse)
   ========================================================================== */

.faq-cards-container {
    max-width: 720px;
    margin: 0 auto;
}

.faq-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 1.25rem 1.5rem;
    background: none;
    border: none;
    cursor: pointer;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1rem;
    color: var(--divorce-slate-dark);
    text-align: left;
    transition: color var(--transition-fast);
}

.faq-card-header:hover {
    color: var(--divorce-sage);
}

.faq-card-header .faq-toggle-icon {
    font-size: 1.25rem;
    color: var(--divorce-lavender);
    flex-shrink: 0;
    transition: transform var(--transition-base);
}

.faq-card-body {
    padding: 0 1.5rem 1.25rem;
}

.faq-card-body p {
    color: var(--divorce-dark-text);
    line-height: 1.7;
    font-size: 0.95rem;
    margin-bottom: 0;
}

.faq-footer {
    text-align: center;
    margin-top: 2.5rem;
}

/* ==========================================================================
   HOMEPAGE — CTA Section (Override)
   ========================================================================== */

.cta-divorce {
    padding: 5rem 0;
}

.cta-divorce .section-ornament {
    margin-bottom: 1.5rem;
}

.cta-inner {
    text-align: center;
    max-width: 640px;
    margin: 0 auto;
}

.cta-inner h2 {
    font-family: var(--font-display);
    font-size: 2rem;
    color: var(--divorce-slate-dark);
    margin-bottom: 1rem;
}

.cta-inner p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--divorce-dark-text);
    margin-bottom: 2rem;
}

/* Zigzag reverse for section 4 */
.content-zigzag .zigzag-row.zigzag-reverse {
    flex-direction: row-reverse;
}

@media (max-width: 767.98px) {
    .content-zigzag .zigzag-row.zigzag-reverse {
        flex-direction: column;
    }
}

/* ==========================================================================
   Accessibility — Reduced Motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .divorce-card:hover,
    .card-horizontal:hover {
        transform: none;
    }

    .btn-rose:hover {
        transform: none;
    }

    .faq-card .faq-answer {
        transition: none;
    }

    .faq-card .faq-toggle-icon {
        transition: none;
    }
}

/* ==========================================================================
   Print Styles
   ========================================================================== */

@media print {
    .hero-section {
        background: #fff !important;
        color: #000 !important;
    }
    .hero-section .hero-visual {
        display: none;
    }
    .wave-divider-top::before,
    .wave-divider-bottom::after,
    .hero-section > .wave-divider-bottom::after {
        display: none;
    }
    .divorce-card,
    .card-horizontal {
        box-shadow: none;
        border: 1px solid #ccc;
    }
}

/* Links are now fully controlled by CSS variables above (a, a:hover, a:visited, a:focus, a:active).
   Theme Studio color picker changes propagate via --divorce-sage, --divorce-copper, etc. */

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

/* === ACTIVE FOOTER CSS (ID: 85, Footer - Dark Professional) === */
#lc-footer .fdp *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .fdp{background:var(--divorce-slate-dark, #2D4460);color:#E0E0E0;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(--divorce-copper, #B8766A)}
#lc-footer .fdp-tagline{font-size:.9rem;color:#999999;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(--divorce-copper, #B8766A)}
#lc-footer .fdp-social{display:flex;justify-content:center;gap:18px;margin-bottom:32px}
#lc-footer .fdp-social a{color:#999999;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(--divorce-copper, #B8766A)}
#lc-footer .fdp-divider{width:60px;height:2px;background:var(--divorce-copper, #B8766A);margin:0 auto 32px;border-radius:1px}
#lc-footer .fdp-copy{font-size:.78rem;color:#999999;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: 84, Footer - Magazine Style) === */
#lc-footer .fmag *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .fmag{background:var(--divorce-slate-dark, #2D4460);color:#E0E0E0;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(--divorce-copper, #B8766A)}
#lc-footer .fmag-tagline{font-size:.85rem;color:#999999;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:#E0E0E0;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(--divorce-copper, #B8766A);width:12px;height:12px;transition:transform .2s}
#lc-footer .fmag-links a:hover{color:var(--divorce-copper, #B8766A)}
#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:#E0E0E0;text-decoration:none;font-size:.88rem;transition:color .2s}
#lc-footer .fmag-feat a:hover{color:var(--divorce-copper, #B8766A)}
#lc-footer .fmag-feat .fmag-feat-cat{font-size:.7rem;text-transform:uppercase;color:var(--divorce-copper, #B8766A);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(--divorce-copper, #B8766A);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:#999999;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(--divorce-copper, #B8766A)}
#lc-footer .fmag-copy{text-align:center;font-size:.75rem;color:#999999;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: 83, Footer - CTA-Focused) === */
#lc-footer .fcta *{box-sizing:border-box;margin:0;padding:0}
#lc-footer .fcta-banner{background:var(--divorce-copper, #B8766A);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(--divorce-copper, #B8766A)!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(--divorce-copper, #B8766A)!important}
#lc-footer .fcta-info{background:var(--divorce-slate-dark, #2D4460);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(--divorce-copper, #B8766A)}
#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: 82, 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(--divorce-slate, #4A6B8A)}
#lc-footer .fms-brand a{color:inherit;text-decoration:none}
#lc-footer .fms-brand a:hover{color:var(--divorce-copper, #B8766A)}
#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(--divorce-copper, #B8766A)}
#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(--divorce-copper, #B8766A)}
#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(--divorce-border-muted, #E0D8CC)}
@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: 81, 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:#E0E0E0}
#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:#E0E0E0;text-decoration:none;font-size:.88rem;transition:color .2s,padding-left .2s}
#lc-footer .f4c-links a:hover{color:var(--divorce-copper, #B8766A);padding-left:4px}
#lc-footer .f4c-disc{font-size:.78rem;color:#999999;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(--divorce-copper, #B8766A);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(--divorce-copper, #B8766A);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:#999999}
@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: 80, Header - Bold Statement) === */
.lch-bs *{box-sizing:border-box;margin:0;padding:0}
.lch-bs-contact{background:var(--divorce-slate-dark, #2D4460);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(--divorce-copper, #B8766A)}
.lch-bs-contact .bs-cta-top{display:inline-block;background:var(--divorce-copper, #B8766A);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(--divorce-border-muted, #E0D8CC);font-family:"Montserrat",sans-serif}
.lch-bs-brand .bs-name{font-size:1.8rem;font-weight:700;color:var(--divorce-slate, #4A6B8A)}
.lch-bs-brand .bs-name a{color:inherit;text-decoration:none}
.lch-bs-brand .bs-name a:hover{color:var(--divorce-copper, #B8766A)}
.lch-bs-brand .bs-sub{font-size:.75rem;color:#999;margin-top:2px;font-family:"Open Sans",sans-serif}
.lch-bs-navbar{background:var(--divorce-slate, #4A6B8A);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(--divorce-copper, #B8766A)!important}
.lch-bs .bs-dd{display:none;position:absolute;top:100%;left:0;background:var(--divorce-slate, #4A6B8A);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(--divorce-copper, #B8766A)}
.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(--divorce-copper, #B8766A);color:var(--divorce-copper, #B8766A)}
@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: 79, 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(--divorce-copper, #B8766A)}
.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(--divorce-copper, #B8766A)!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(--divorce-copper, #B8766A)}
.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(--divorce-copper, #B8766A);border-color:var(--divorce-copper, #B8766A);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(--divorce-copper, #B8766A);color:var(--divorce-copper, #B8766A)}
@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: 78, 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(--divorce-border-muted, #E0D8CC);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(--divorce-slate, #4A6B8A)}
.lch-ms .ms-brand a{color:inherit;text-decoration:none}
.lch-ms .ms-brand a:hover{color:var(--divorce-copper, #B8766A)}
.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(--divorce-slate, #4A6B8A)!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(--divorce-copper, #B8766A)!important}
.lch-ms .ms-dd{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--divorce-border-muted, #E0D8CC);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(--divorce-cream, #FFF8F0);color:var(--divorce-copper, #B8766A)}
.lch-ms .ms-toggle{width:42px;height:42px;border:2px solid var(--divorce-slate, #4A6B8A);border-radius:8px;cursor:pointer;display:none;align-items:center;justify-content:center;background:0 0;color:var(--divorce-slate, #4A6B8A);line-height:0;transition:border-color .2s,color .2s}
.lch-ms .ms-toggle:hover{border-color:var(--divorce-copper, #B8766A);color:var(--divorce-copper, #B8766A)}
.lch-ms .ms-cta{display:inline-block;background:var(--divorce-copper, #B8766A);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(--divorce-slate-dark, #2D4460);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(--divorce-copper, #B8766A)}
.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(--divorce-copper, #B8766A)}
.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(--divorce-copper, #B8766A)}
.lch-ms .ms-drawer-cta{display:block;margin-top:24px;padding:14px 24px;background:var(--divorce-copper, #B8766A);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: 77, Header - Centered Brand) === */
.lch-cb *{box-sizing:border-box;margin:0;padding:0}
.lch-cb{background:#fff;border-bottom:1px solid var(--divorce-border-muted, #E0D8CC);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(--divorce-slate, #4A6B8A)}
.lch-cb .cb-logo a{color:inherit;text-decoration:none}
.lch-cb .cb-logo a:hover{color:var(--divorce-copper, #B8766A)}
.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(--divorce-slate, #4A6B8A);border-radius:4px;color:var(--divorce-slate, #4A6B8A);padding:4px 8px;cursor:pointer;margin:8px auto 0;line-height:0}
.lch-cb .cb-burger:hover{border-color:var(--divorce-copper, #B8766A);color:var(--divorce-copper, #B8766A)}
.lch-cb .cb-nav{display:flex;justify-content:center;align-items:center;padding:10px 0;flex-wrap:wrap}
.lch-cb .cb-link{color:var(--divorce-slate, #4A6B8A);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(--divorce-copper, #B8766A)}
.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(--divorce-border-muted, #E0D8CC);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(--divorce-cream, #FFF8F0);color:var(--divorce-copper, #B8766A)}
@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(--divorce-border-muted, #E0D8CC);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: 76, Header - Business Elite) === */
.lch-be *{box-sizing:border-box;margin:0;padding:0}
.lch-be-top{background:var(--divorce-slate-dark, #2D4460);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(--divorce-copper, #B8766A)}
.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(--divorce-slate, #4A6B8A);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(--divorce-copper, #B8766A)!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(--divorce-copper, #B8766A)!important}
.lch-be .be-dd{display:none;position:absolute;top:100%;left:0;background:var(--divorce-slate, #4A6B8A);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(--divorce-copper, #B8766A)}
.lch-be .be-cta{display:inline-block;background:var(--divorce-copper, #B8766A);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(--divorce-copper, #B8766A);color:var(--divorce-copper, #B8766A)}
@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: 61, Header - Minimal Clean) === */
.lch-mc{background:var(--divorce-slate, #4A6B8A);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(--divorce-copper, #B8766A)!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(--divorce-copper, #B8766A);color:var(--divorce-copper, #B8766A)}
.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(--divorce-copper, #B8766A)!important}
.lch-mc .mc-link svg{opacity:.7}
.lch-mc .mc-dd{display:none;position:absolute;top:100%;left:0;background:var(--divorce-slate, #4A6B8A);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(--divorce-copper, #B8766A)}
@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: 60, Footer - 3-Column Business) === */
#lc-footer{background-color:var(--divorce-slate-dark, #2D4460);color:#E0E0E0;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:#E0E0E0;text-decoration:none;transition:color .2s}
#lc-footer a:hover{color:var(--divorce-copper, #B8766A);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(--divorce-copper, #B8766A);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:#999999;margin-top:1rem;font-style:italic;line-height:1.5}
#lc-footer .f3c-cta{display:inline-block;background:var(--divorce-copper, #B8766A);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(--divorce-copper, #B8766A)}
#lc-footer .f3c-copy{background:var(--divorce-slate-dark, #3A5570);color:#999999;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 ===
   Appended block only. Nothing above was reordered or deleted, with the single
   documented exception of the `a:visited` rule near the top of this file.
   Every colour resolves through --bs-* (or an existing --divorce-* alias that
   itself points at --bs-*), so the Theme Studio / ATL customizer keeps working.
   ========================================================================== */

/* GLOBAL 4 — buttons: the visited state must be identical to the default state.
   Belt-and-braces after removing the two global a:visited overrides (one lived in
   this file, one in the Customizer "Additional CSS" stored in the database). */
.btn-rose:visited,
.btn-copper:visited { color: #fff; }
.btn-outline-lavender:visited { color: var(--divorce-lavender); }
.hero-section .btn-outline-lavender:visited { color: rgba(255, 255, 255, 0.9); }
.btn-outline-sage:visited { color: var(--divorce-sage); }

/* GLOBAL 4 — submenu: bundle.css ships stock Bootstrap
   --bs-dropdown-link-active-bg:#0d6efd, unrelated to this palette, which flashed
   blue while a submenu item was clicked/held. Retint to the site primary. */
#lc-header .dropdown-menu {
    --bs-dropdown-link-hover-bg: rgba(var(--bs-primary-rgb), 0.08);
    --bs-dropdown-link-hover-color: var(--bs-primary);
    --bs-dropdown-link-active-bg: rgba(var(--bs-primary-rgb), 0.14);
    --bs-dropdown-link-active-color: var(--bs-primary);
}

/* Gold .btn-warning CTAs — recolor with the palette accent, dark label (Bootstrap
   default) for WCAG-AA. Overrides the .text-white utility the markup forces on them. */
.btn-warning {
    --bs-btn-bg: var(--bs-warning) !important;
    --bs-btn-border-color: var(--bs-warning) !important;
    /* 95%, not 88%: the AA pass below lifted --bs-warning so the RESTING dark
       label clears 5.46:1, but an 88% darkening dropped the hover state to
       3.96:1 — and on that fill neither the dark label (3.96) nor white (3.90)
       passes, so the fill itself had to move. 95% keeps a visible hover
       darkening and takes the dark label to 4.56:1
       (gates/interaction-state-audit.cjs, 2026-09-16). Hover/focus only. */
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-warning) 95%, #000) !important;
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-warning) 95%, #000) !important;
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-warning) 82%, #000) !important;
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-warning) 82%, #000) !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: #212529 !important; }

/* home (ID 4) — "People going through divorce often ask me:" needed space above it
   and none below, so it reads as the label for the question list. */
.zigzag-lead {
    margin-top: 1.5rem;
    margin-bottom: 0;
}
.zigzag-lead + .question-list {
    margin-top: 0;
}

/* home (ID 4) — "Real conversations, real guidance" and "Two Paths, One Clear
   Direction" sat in a half-width flex column, leaving a large empty panel on wide
   screens. Cap the panel and hand the spare width to the copy column. */
@media (min-width: 992px) {
    .content-zigzag .zigzag-row > .zigzag-media {
        flex: 0 1 38%;
    }
    .content-zigzag .decorative-frame {
        max-width: 420px;
        min-height: 240px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* divorce-selling-home (ID 7) — the gap between "Property Preparation" (last
   heading of zigzag row 1) and "Showings and Access" (first heading of row 2) was
   the 3rem row gap PLUS the heading's own top margin, so it read as a much larger
   break than the other sub-section gaps. Drop the leading margin when an h3 opens
   a zigzag column. */
.content-zigzag .zigzag-text > h3:first-child {
    margin-top: 0;
}

/* divorce-contact (ID 12) — "Ready to Take the First Step?" had the tops of its
   ascenders clipped in Firefox: Playfair Display at line-height 1.3 leaves no room
   for the ascender in the first line box. */
.cta-divorce h2 {
    line-height: 1.4;
    padding-top: 0.08em;
    overflow: visible;
}

/* GLOBAL 8 — in-page anchor targets: keep the heading off the very top edge
   of the viewport after the jump. */
#process,
#prep-steps,
#options,
#property-value,
#contact-form {
    scroll-margin-top: 1.25rem;
}

/* divorce-real-estate-guide (ID 5) — the closing legal notice was rendered in the
   pull-quote component: white card, decorative quotation marks, and the words
   "Important Disclaimer" styled as a quote attribution. It is a legal notice, not
   a quote, so it gets plain unboxed treatment. */
.divorce-disclaimer {
    max-width: 760px;
    margin: 2.5rem auto 0;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
    font-size: 0.92rem;
    line-height: 1.65;
}
.divorce-disclaimer p {
    margin-bottom: 0;
    color: var(--divorce-dark-text);
    font-style: normal;
}

/* GLOBAL 5 / 6 — footer legal + compliance rows. */
#lc-footer .ft-legal {
    margin-top: 0.65rem;
}
#lc-footer .ft-legal a {
    text-decoration: none;
}
#lc-footer .ft-legal a:hover,
#lc-footer .ft-legal a:focus {
    text-decoration: underline;
}
#lc-footer .ft-compliance {
    margin-top: 0.75rem;
    line-height: 1.5;
}

/* GLOBAL 7 — WCAG AA (4.5:1) contrast on light backgrounds. Each fix darkens an
   existing palette colour with color-mix() so it stays on-hue AND keeps tracking
   the --bs-* variable the Theme Studio customizer drives (no frozen hex). Hero
   buttons, footer (white text on dark), and the decorative ✦ ornaments are NOT
   touched — those already pass or are aria-hidden flare.

   .btn-rose primary CTA: white on --divorce-copper #B8766A measured 3.6:1. */
.btn-rose,
.btn-copper {
    /* --divorce-copper is now the warmer, more orange #D67C43; mix ~28% black (72%) so the burnt-orange
       button reads clearly orange (not muddy brown) while the white label keeps AA (~5.5:1). Still tracks
       the palette var so the customizer recolours it. */
    background: color-mix(in srgb, var(--divorce-copper) 72%, #000);
    border-color: color-mix(in srgb, var(--divorce-copper) 72%, #000);
}
.btn-rose:hover, .btn-rose:focus,
.btn-copper:hover, .btn-copper:focus {
    /* darker shade of the SAME orange on hover (keeps the hue instead of shifting toward rose) */
    background: color-mix(in srgb, var(--divorce-copper) 52%, #000);
    border-color: color-mix(in srgb, var(--divorce-copper) 52%, #000);
}

/* Content links + sage outline-button text: --divorce-sage #5A8E7D on white
   measured 3.56-3.76:1. Excludes hover/focus/active (they keep the copper hover
   colour) and excludes buttons/nav/dropdown that manage their own colour. */
a:not(.btn):not(.btn-rose):not(.btn-copper):not(.btn-outline-lavender):not(.btn-outline-sage):not(.nav-link):not(.dropdown-item):not(.text-light):not(.divorce-skip-link):not(:hover):not(:focus):not(:active) {
    color: color-mix(in srgb, var(--divorce-sage) 78%, #000);
}
.btn-outline-sage {
    color: color-mix(in srgb, var(--divorce-sage) 78%, #000);
}

/* Lavender outline button (e.g. "View All Frequently Asked Questions",
   "Read the Divorce Property Guide") rendered pale --divorce-lavender #B8A9C9 on
   white at ~2.2:1. Darken the text everywhere; the hero's white-on-dark lavender
   buttons keep their own colour via the higher-specificity
   `.hero-section .btn-outline-lavender` rule above, which wins regardless of order. */
.btn-outline-lavender {
    color: color-mix(in srgb, var(--divorce-lavender) 55%, #000);
    border-color: color-mix(in srgb, var(--divorce-lavender) 72%, #000);
}
.btn-outline-lavender:hover,
.btn-outline-lavender:focus {
    /* The pass that darkened the RESTING label above left the hover state white
       on the pale brand lavender — 2.20:1, the worst interaction-state failure on
       the fleet (gates/interaction-state-audit.cjs, 2026-09-16). The hover FILL is
       the brand colour and is untouched; only the label moves, to 6.66:1.
       Reads --bs-info-text (this lavender aliases --bs-info, as the box-shadow on
       the base rule already assumes) so ts-preview-receiver.php supplies the right
       ink under any palette a buyer picks; the literal is what renders today.
       Hover/focus only — the resting page is unchanged. */
    color: var(--bs-info-text, #1A2940);
}

/* Header main nav: Bootstrap navbar-dark ships --bs-nav-link-color:
   rgba(255,255,255,.55), which is only ~2.9:1 on the --bs-primary bar. Raise to
   solid white (~5.6:1 on primary) for the resting state; hover keeps the light
   tint as an affordance but stays above AA. */
#lc-header .navbar .nav-link {
    --bs-nav-link-color: #fff;
    --bs-nav-link-hover-color: rgba(255, 255, 255, 0.85);
    color: #fff;
}
#lc-header .navbar .nav-link:hover,
#lc-header .navbar .nav-link:focus {
    color: rgba(255, 255, 255, 0.85);
}

/* Skip-to-content link is itself an a11y feature and should meet AA: white label
   on a darkened-sage background. (The blanket link rule above no longer recolours
   its text, but pin white here so it is never at the mercy of cascade order.) */
.divorce-skip-link {
    background: color-mix(in srgb, var(--divorce-sage) 76%, #000);
    color: #fff;
}


/* ── Forminator submit button — recolor with the palette ──────────────────
   Forminator ships its own button styling (stock blue #097BAA) which ignores
   the theme and matches no palette. Track --bs-primary so the submit button
   recolors with the customizer, exactly as probate-credibility already does. */
.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(--bs-primary) !important; color: #fff !important; border-color: var(--bs-primary) !important; }
html body button.forminator-button-submit span,
html body .forminator-button.forminator-button-submit span { color: #fff !important; }

/* ===== CredForge classic flare + AA layer (additive; keeps the original design) ===== */
/* Per-page masthead figure band — distinctive above-the-fold visual for media-less pages */
.dv-masthead{padding:clamp(1.6rem,4vw,2.6rem) 0;background:var(--bs-light);border-bottom:1px solid rgba(45,52,54,.08)}
.dv-masthead .container{max-width:1120px;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}
.dv-figure{margin:0}
.dv-figure--masthead{margin:0 auto;max-width:440px}
.dv-fig-svg{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 28px -20px rgba(74,107,138,.55));animation:dvRise .8s ease both}
@keyframes dvRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dv-fig-svg{animation:none}}
/* Home reassurance + testimonials band — real photograph + labeled illustrative quotes */
.dv-social{padding:clamp(2.6rem,5vw,4.2rem) 0;background:var(--bs-light)}
.dv-social .dv-inner{max-width:1120px;margin:0 auto;padding-inline:clamp(1rem,4vw,2rem)}
.dv-social .dv-shead{text-align:center;max-width:760px;margin:0 auto 1.75rem}
.dv-social .dv-eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--bs-primary)}
.dv-social h2{font-family:var(--font-display);color:var(--bs-body-color);font-size:clamp(1.6rem,3vw,2.1rem);margin:.4rem 0 0}
.dv-social .dv-figwrap{margin:0 0 1.75rem;border-radius:18px;overflow:hidden;box-shadow:0 26px 60px -34px rgba(45,52,54,.55)}
.dv-social .dv-figwrap img{display:block;width:100%;height:clamp(220px,34vw,360px);object-fit:cover}
.dv-tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:1.25rem}
.dv-tcard{background:#fff;border:1px solid rgba(45,52,54,.09);border-radius:14px;padding:1.5rem 1.5rem 1.35rem;box-shadow:0 18px 40px -30px rgba(45,52,54,.5)}
.dv-tcard blockquote{margin:0;font-family:var(--font-display);font-size:1.05rem;line-height:1.55;color:var(--bs-body-color)}
.dv-tcard cite{display:block;margin-top:.85rem;font-style:normal;font-weight:600;font-size:.92rem;color:var(--bs-primary)}
.dv-tlabel{text-align:center;font-size:.8rem;color:#5f6a72;margin-top:1.25rem}
/* Clay CTA -> AA: .btn-warning ("Request a Consultation") was a dark label on #B8766A (4.28:1).
   Lighten the fill toward white via color-mix so it still TRACKS var(--bs-warning) — it recolours
   for the customizer and stays AA under the cta-recolor light stress — while the dark label now
   clears AA (~5.9:1). --bs-warning itself is left untouched, so links / .btn-rose / .btn-copper
   (white-on-copper, tuned in the block above) keep passing. */
/* .btn-warning: --bs-warning was lifted to #C98A6F (an rgb value in :root) so the NATIVE
   var(--bs-warning) fill is light enough for a dark label to clear AA (5.46:1) at rest, recolours
   with the palette (customizer-assert), and stays a clean rgb the recolor gate parses (no color-mix
   color(srgb ...) that the gate misreads). Force the dark label even where .text-white is set. */
html body .btn-warning,html body a.btn-warning,html body button.btn-warning,html body .btn-warning.text-white,html body a.btn-warning.text-white,html body .btn.btn-warning.text-white,html body .btn-warning .text-white{color:#212529!important}
/* AA fix: decorative image-placeholder frame labels were sage / light-slate on cream (~2.8-3.5:1);
   darken to on-palette slate so they clear 4.5:1. These are template placeholder captions. */
.zigzag-image .text-center small,.zigzag-image .ratio small,
.decorative-frame,.decorative-frame span,.decorative-frame-alt,.decorative-frame-alt .frame-inner span{color:#3f5c78!important}
/* the placeholder-caption span carried opacity:0.7 which faded the dark text back below AA; restore full opacity */
.decorative-frame .frame-inner span,.decorative-frame-alt .frame-inner span{opacity:1!important}

/* Interaction-state AA (2026-09-16, gates/interaction-state-audit.cjs).
   `.btn-outline-sage` fills with the sage on hover/focus, and NO label passes on
   that sage: white is 3.75:1 and the darkest sensible ink only reaches 3.90:1.
   So the fill has to move — 84% toward black gives #507E6F, where white clears
   4.61:1. Hover/focus only; the resting outline button is untouched. */
html body .btn-outline-sage:hover,
html body .btn-outline-sage:focus,
html body .btn-outline-sage:focus-visible,
html body a.btn-outline-sage:hover,
html body a.btn-outline-sage:focus {
    background: color-mix(in srgb, var(--divorce-sage, #5A8E7D) 84%, #000) !important;
    border-color: color-mix(in srgb, var(--divorce-sage, #5A8E7D) 84%, #000) !important;
    color: #fff !important;
}
