/* ============ INDUSTRY TERMS GLOSSARY — REDESIGN ============ */

/* HERO — The Codex Cover: dark with architectural grid + green edge rule */
.gl-hero {
    position: relative;
    overflow: hidden;
    background:
        repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(232, 237, 229, 0.025) 79px, rgba(232, 237, 229, 0.025) 80px),
        linear-gradient(175deg, var(--charcoal-deep) 0%, #0f1a13 100%);
    color: var(--white);
    padding: clamp(120px, 13vw, 160px) 0 clamp(70px, 8vw, 100px);
    border-left: 4px solid var(--forest);
}

.gl-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 65% at 50% 35%, rgba(74, 124, 63, 0.14) 0%, transparent 60%),
        radial-gradient(ellipse 40% 55% at 85% 80%, rgba(0, 76, 151, 0.08) 0%, transparent 60%);
}

.gl-hero .container {
    max-width: 820px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.gl-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border: 1px solid rgba(74, 124, 63, 0.55);
    border-radius: 2px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #9BD08E;
    background: rgba(74, 124, 63, 0.08);
    margin-bottom: 24px;
}

.gl-hero-eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--forest-light);
    box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.18);
}

.gl-hero h1 {
    font-size: clamp(38px, 5.4vw, 72px);
    line-height: 1.05;
    color: var(--white);
    margin-bottom: 18px;
}

.gl-hero h1 em {
    font-style: italic;
    color: #9BD08E;
    font-family: var(--font-display);
}

.gl-hero-sub {
    font-size: clamp(16px, 1.8vw, 20px);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.72);
    max-width: 680px;
    margin: 0 auto clamp(28px, 3vw, 36px);
    line-height: 1.6;
}

.gl-search {
    display: flex;
    gap: 10px;
    max-width: 620px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px;
    padding: 6px 6px 6px 24px;
    backdrop-filter: blur(6px);
}

.gl-search input {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--white);
    font-size: 16px;
    font-family: var(--font-body);
    outline: none;
    padding: 14px 0;
}

.gl-search input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.gl-search .gl-search-icon {
    color: rgba(255, 255, 255, 0.55);
    padding: 12px 14px 12px 0;
}

.gl-hero-stats {
    display: flex;
    justify-content: center;
    gap: clamp(20px, 4vw, 56px);
    margin-top: clamp(32px, 4vw, 48px);
    padding-top: clamp(24px, 3vw, 36px);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.gl-hero-stat .n {
    font-family: var(--font-display);
    font-size: clamp(26px, 3vw, 40px);
    color: #9BD08E;
    line-height: 1;
}

.gl-hero-stat .l {
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 6px;
}

/* STICKY RAIL — sharp chips */
.gl-rail {
    position: sticky;
    top: 0;
    z-index: 50;
    background: var(--white);
    border-bottom: 2px solid var(--charcoal-deep);
    padding: 14px 0;
}

.gl-rail-inner {
    display: flex;
    align-items: center;
    gap: clamp(18px, 3vw, 36px);
    flex-wrap: wrap;
}

.gl-rail-letters {
    display: flex;
    gap: 2px;
    flex-wrap: wrap;
    flex: 1;
}

.gl-letter {
    width: 28px;
    height: 28px;
    border-radius: 2px;
    display: grid;
    place-items: center;
    font-size: 11px;
    font-weight: 700;
    color: var(--charcoal);
    font-family: var(--font-display);
    transition: all 0.2s;
}

.gl-letter.active {
    color: var(--forest);
    background: var(--forest-pale);
}

.gl-letter.active:hover {
    background: var(--forest);
    color: var(--white);
}

.gl-letter.inactive {
    color: var(--charcoal-12);
    cursor: default;
}

.gl-rail-filters {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.gl-chip {
    padding: 7px 14px;
    border-radius: 2px;
    border: 1px solid var(--charcoal-12);
    background: var(--white);
    font-size: 11px;
    font-weight: 700;
    color: var(--charcoal);
    cursor: pointer;
    transition: all 0.2s;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.gl-chip:hover {
    border-color: var(--forest);
    color: var(--forest);
}

.gl-chip.is-active {
    background: var(--charcoal-deep);
    color: var(--white);
    border-color: var(--charcoal-deep);
}

@media (max-width: 820px) {
    .gl-rail-letters {
        justify-content: center;
    }

    .gl-rail-filters {
        justify-content: center;
        width: 100%;
    }
}

/* BODY — The Reference Stacks: sage with sharp-edged term cards */
.gl-body {
    background: var(--sage);
    padding: clamp(60px, 7vw, 100px) 0;
}

.gl-letter-section {
    max-width: 860px;
    margin: 0 auto clamp(50px, 5vw, 80px);
}

.gl-letter-big {
    font-family: var(--font-display);
    font-size: clamp(80px, 10vw, 140px);
    line-height: 0.8;
    color: var(--forest);
    margin-bottom: 24px;
    letter-spacing: -0.04em;
    font-style: italic;
    padding-bottom: 18px;
    border-bottom: 2px solid var(--forest);
}

.gl-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: 2px;
    overflow: hidden;
    margin-bottom: 16px;
    scroll-margin-top: 100px;
    transition: box-shadow 0.3s, border-color 0.3s;
    border-top: 3px solid var(--charcoal-deep);
}

.gl-card:hover {
    border-color: var(--forest-12);
    box-shadow: 6px 6px 0 -2px var(--cloud), 6px 6px 0 0 var(--forest-12);
}

.gl-card.is-hidden {
    display: none;
}

.gl-card-head {
    padding: clamp(24px, 2.6vw, 34px) clamp(24px, 2.6vw, 36px);
    position: relative;
}

.gl-tags {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.gl-tag {
    font-size: 10px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
    font-weight: 700;
    padding: 4px 10px;
    background: var(--forest-pale);
    border-radius: 2px;
}

.gl-tag--legal {
    color: var(--blue);
    background: var(--blue-light);
}

.gl-tag--financial {
    color: var(--charcoal);
    background: var(--charcoal-05);
}

.gl-card dt {
    font-family: var(--font-display);
    font-size: clamp(26px, 3vw, 38px);
    color: var(--charcoal-deep);
    line-height: 1.15;
    margin-bottom: 10px;
    display: inline-block;
}

.gl-card .gl-quick {
    font-size: clamp(15px, 1.6vw, 18px);
    color: var(--charcoal-deep);
    font-weight: 500;
    line-height: 1.55;
    margin-bottom: 16px;
    border-left: 2px solid var(--forest);
    padding-left: 14px;
}

.gl-card dd {
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.75;
    margin: 0;
}

.gl-card dd p {
    margin-bottom: 14px;
}

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

.gl-card details {
    margin-top: 6px;
}

.gl-card details summary {
    list-style: none;
    cursor: pointer;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 0;
}

.gl-card details summary::-webkit-details-marker {
    display: none;
}

.gl-card details summary::after {
    content: '+';
    font-size: 18px;
    font-weight: 300;
}

.gl-card details[open] summary::after {
    content: '\2013';
}

.gl-card details>*:not(summary) {
    padding-top: 10px;
}

.gl-seealso {
    padding: 14px clamp(24px, 2.6vw, 36px);
    background: var(--charcoal-deep);
    border-top: none;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    font-size: 13px;
}

.gl-seealso-lbl {
    color: #9BD08E;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    font-size: 10px;
}

.gl-seealso a {
    padding: 5px 12px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px;
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
    font-size: 12px;
    transition: all 0.2s;
}

.gl-seealso a:hover {
    background: var(--forest);
    color: var(--white);
    border-color: var(--forest);
}

/* SUGGEST — The Submission Box: white with sharp form */
.gl-suggest {
    background: var(--white);
    padding: clamp(80px, 9vw, 120px) 0;
}

.gl-suggest .container {
    max-width: 780px;
    text-align: center;
}

.gl-suggest h2 {
    font-size: clamp(30px, 3.8vw, 48px);
    color: var(--charcoal-deep);
    margin-bottom: 12px;
}

.gl-suggest p {
    color: var(--charcoal-72);
    font-size: 16px;
    max-width: 620px;
    margin: 0 auto clamp(28px, 3vw, 40px);
    line-height: 1.7;
}

.gl-suggest-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    max-width: 620px;
    margin: 0 auto;
}

.gl-suggest-form input,
.gl-suggest-form textarea {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid var(--charcoal-12);
    border-radius: 2px;
    font-size: 15px;
    font-family: var(--font-body);
    background: var(--cloud);
    transition: border-color 0.25s, box-shadow 0.25s;
}

.gl-suggest-form textarea {
    min-height: 110px;
    resize: vertical;
    grid-column: 1 / -1;
}

.gl-suggest-form input:focus,
.gl-suggest-form textarea:focus {
    outline: none;
    border-color: var(--forest);
    background: var(--white);
    box-shadow: 0 0 0 3px var(--forest-pale);
}

.gl-suggest-form button {
    grid-column: 1 / -1;
    padding: 18px;
    background: var(--charcoal-deep);
    color: var(--white);
    border-radius: 2px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.25s;
}

.gl-suggest-form button:hover {
    background: var(--forest);
}

@media (max-width: 560px) {
    .gl-suggest-form {
        grid-template-columns: 1fr;
    }
}

/* RELATED — The Cross-Reference: dark charcoal with white cards */
.gl-related {
    background: var(--charcoal-deep);
    padding: clamp(80px, 9vw, 120px) 0;
    border-top: none;
}

.gl-related .section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(38px, 4vw, 54px);
}

.gl-related .eyebrow {
    color: #9BD08E;
}

.gl-related h2 {
    font-size: clamp(30px, 3.6vw, 46px);
    color: var(--white);
    margin-bottom: 12px;
}

.gl-related-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(18px, 2.2vw, 28px);
}

.gl-related-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: 2px;
    padding: clamp(26px, 3vw, 36px);
    transition: transform 0.4s, box-shadow 0.4s;
    border-top: 3px solid var(--forest);
}

.gl-related-card:hover {
    transform: translateY(-3px);
    box-shadow: 6px 6px 0 -2px var(--sage), 6px 6px 0 0 rgba(74, 124, 63, 0.2);
}

.gl-related-icon {
    width: 44px;
    height: 44px;
    border-radius: 2px;
    background: var(--charcoal-deep);
    color: var(--white);
    display: grid;
    place-items: center;
    margin-bottom: 18px;
}

.gl-related-card h3 {
    font-size: clamp(20px, 2vw, 24px);
    color: var(--charcoal-deep);
    margin-bottom: 10px;
    line-height: 1.2;
}

.gl-related-card p {
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.6;
    margin-bottom: 16px;
}

.gl-related-card a {
    display: inline-flex;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--forest);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

@media (max-width: 860px) {
    .gl-related-grid {
        grid-template-columns: 1fr;
    }
}

/* Empty state */
.gl-empty {
    display: none;
    text-align: center;
    padding: 60px 20px;
    color: var(--charcoal-72);
}

.gl-empty.is-visible {
    display: block;
}

.gl-empty h3 {
    font-family: var(--font-display);
    font-size: 28px;
    color: var(--charcoal-deep);
    margin-bottom: 10px;
}

/* ============ TEAM PAGE — DESIGN AUDIT v9 ============ */

/* ─── HERO — "The Roster" masthead ─── */
.team-hero {
    background: var(--charcoal-deep);
    position: relative;
    overflow: hidden;
    isolation: isolate;
    padding: clamp(96px, 11vw, 148px) 0 0;
}

.team-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 70% 55% at 50% 25%, rgba(255, 255, 255, 0.04) 0%, transparent 70%),
        radial-gradient(ellipse 42% 60% at 92% 82%, rgba(74, 124, 63, 0.12) 0%, transparent 60%);
}

.team-hero .container {
    position: relative;
    z-index: 2;
    text-align: left;
    max-width: 1180px;
}

.team-hero-dateline {
    display: flex;
    align-items: center;
    gap: 14px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: clamp(36px, 4.5vw, 64px);
}

.team-hero-dateline .thd-dot {
    color: rgba(255, 255, 255, 0.3);
}

.team-hero-dateline .thd-rule {
    flex: 1;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin-left: 8px;
}

.team-hero-masthead {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    align-items: end;
    gap: clamp(40px, 5vw, 96px);
    padding-bottom: clamp(56px, 7vw, 96px);
}

.team-hero-words {
    min-width: 0;
}

.team-hero h1 {
    font-size: clamp(38px, 5.4vw, 76px);
    color: var(--white);
    line-height: 1.04;
    letter-spacing: -0.005em;
    margin: 0 0 clamp(20px, 2vw, 28px);
}

.team-hero h1 em {
    font-style: italic;
    color: var(--forest-light);
}

.team-hero-sub {
    font-family: var(--font-body);
    font-size: clamp(15px, 1.55vw, 18px);
    color: rgba(255, 255, 255, 0.68);
    font-weight: 300;
    line-height: 1.7;
    max-width: 52ch;
}

.team-hero-emblem {
    justify-self: end;
    align-self: center;
}

.team-hero-emblem img {
    width: clamp(120px, 15vw, 210px);
    height: auto;
    opacity: 0.92;
    filter: drop-shadow(0 8px 28px rgba(0, 0, 0, 0.35));
}

.team-hero-ribbon {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(20px, 3.4vw, 56px);
    flex-wrap: wrap;
    padding: clamp(20px, 2.4vw, 30px) clamp(24px, 4vw, 48px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.02);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.thr-item {
    display: inline-flex;
    align-items: baseline;
    gap: 10px;
}

.thr-key {
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(17px, 1.8vw, 22px);
    color: var(--white);
}

.thr-val {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

.thr-div {
    width: 1px;
    height: 26px;
    background: rgba(255, 255, 255, 0.15);
}

@keyframes th-rise {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.team-hero-dateline,
.team-hero h1,
.team-hero-sub,
.team-hero-emblem,
.team-hero-ribbon {
    animation: th-rise 700ms cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

.team-hero-dateline {
    animation-delay: 0ms;
}

.team-hero h1 {
    animation-delay: 120ms;
}

.team-hero-sub {
    animation-delay: 240ms;
}

.team-hero-emblem {
    animation-delay: 400ms;
    animation-duration: 900ms;
}

.team-hero-ribbon {
    animation-delay: 550ms;
}

@media (prefers-reduced-motion: reduce) {

    .team-hero-dateline,
    .team-hero h1,
    .team-hero-sub,
    .team-hero-emblem,
    .team-hero-ribbon {
        animation: none;
    }
}

/* ─── PROFILE SECTIONS — "The Dossier" system ─── */
.profile-section {
    background: var(--white);
    position: relative;
    overflow: hidden;
}

.profile-section--alt {
    background: var(--cloud);
}

.profile-section--dark {
    background: var(--charcoal-deep);
    color: var(--white);
}

.profile-block {
    display: grid;
    grid-template-columns: clamp(300px, 30vw, 420px) 1fr;
    gap: clamp(48px, 6vw, 96px);
    align-items: start;
    max-width: 1180px;
    margin: 0 auto;
}

.profile-block--reverse {
    grid-template-columns: 1fr clamp(300px, 30vw, 420px);
}

.profile-block--reverse .profile-media {
    order: 2;
}

.profile-media {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.profile-media-frame {
    position: relative;
}

.profile-photo {
    width: clamp(240px, 28vw, 340px);
    height: clamp(240px, 28vw, 340px);
    border-radius: 50%;
    overflow: hidden;
    background: linear-gradient(135deg, var(--charcoal), var(--charcoal-deep));
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-xl);
    position: relative;
    margin: 0 auto;
}

.profile-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    filter: grayscale(15%);
    transition: filter 0.6s var(--ease-out), transform 0.6s var(--ease-out);
}

.profile-photo:hover img {
    filter: grayscale(0%);
    transform: scale(1.02);
}

.profile-photo::after {
    content: '';
    position: absolute;
    inset: 0;
    box-shadow: inset 0 0 0 1px rgba(29, 40, 48, 0.1);
    pointer-events: none;
}

.profile-photo--placeholder::after {
    content: 'Photo coming soon';
    position: absolute;
    bottom: 14px;
    left: 0;
    right: 0;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    text-align: center;
    box-shadow: none;
}

.profile-media-rule {
    position: absolute;
    bottom: -16px;
    left: 0;
    width: 48px;
    height: 3px;
    background: var(--forest);
}

.profile-block--reverse .profile-media-rule {
    left: auto;
    right: 0;
}

.profile-expertise {
    margin: 0;
    padding: clamp(20px, 2.4vw, 28px) clamp(22px, 2.6vw, 28px);
    background: var(--cloud);
    border-left: 3px solid var(--forest);
}

.profile-section--alt .profile-expertise {
    background: var(--white);
}

.profile-section--dark .profile-expertise {
    background: rgba(255, 255, 255, 0.04);
    border-left-color: var(--forest-light);
}

.profile-expertise-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--forest);
    margin-bottom: 14px;
}

.profile-section--dark .profile-expertise-label {
    color: var(--forest-light);
}

.profile-expertise ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.profile-expertise li {
    font-size: 13px;
    color: var(--charcoal-deep);
    line-height: 1.5;
    padding: 11px 0 11px 30px;
    position: relative;
    border-top: 1px solid rgba(31, 41, 51, 0.09);
}

.profile-expertise li:first-child {
    border-top: none;
    padding-top: 2px;
}

.profile-expertise li:last-child {
    padding-bottom: 2px;
}

.profile-section--dark .profile-expertise li {
    color: rgba(255, 255, 255, 0.72);
    border-top-color: rgba(255, 255, 255, 0.12);
}

/* Forest checkmark marker rendered from a rotated border */
.profile-expertise li::before {
    content: '';
    position: absolute;
    left: 6px;
    top: 15px;
    width: 6px;
    height: 11px;
    border: solid var(--forest);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.profile-expertise li:first-child::before {
    top: 6px;
}

.profile-section--dark .profile-expertise li::before {
    border-color: var(--forest-light);
}

.profile-contacts {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.profile-contact {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    color: var(--charcoal-deep);
    font-size: 13px;
    font-weight: 600;
    transition: all var(--duration-fast) ease;
}

.profile-section--alt .profile-contact {
    background: var(--white);
}

.profile-section--dark .profile-contact {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: var(--white);
}

.profile-contact:hover {
    background: var(--forest);
    color: var(--white);
    border-color: var(--forest);
    transform: translateY(-1px);
}

.profile-contact svg {
    width: 15px;
    height: 15px;
}

/* Profile content */
.profile-content {
    position: relative;
}

.profile-content .eyebrow {
    color: var(--forest);
    margin-bottom: 10px;
}

.profile-section--dark .profile-content .eyebrow {
    color: var(--forest-light);
}

.profile-content h2 {
    font-size: clamp(34px, 4.2vw, 58px);
    line-height: 1.04;
    margin-bottom: 8px;
    color: var(--charcoal-deep);
}

.profile-section--dark .profile-content h2 {
    color: var(--white);
}

.profile-title {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--forest);
    margin-bottom: clamp(20px, 2.4vw, 28px);
    padding-bottom: clamp(20px, 2.4vw, 28px);
    border-bottom: 1px solid var(--charcoal-12);
}

.profile-section--dark .profile-title {
    color: var(--forest-light);
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 24px;
}

.profile-tag {
    display: inline-block;
    padding: 5px 13px;
    background: transparent;
    color: var(--forest);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    border: 1px solid var(--forest-12);
}

.profile-section--dark .profile-tag {
    color: var(--forest-light);
    border-color: rgba(74, 124, 63, 0.3);
}

.profile-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin-bottom: 28px;
}

.profile-stat {
    text-align: left;
    padding: clamp(16px, 2vw, 22px) clamp(14px, 1.6vw, 20px);
    background: var(--cloud);
    position: relative;
}

.profile-section--alt .profile-stat {
    background: var(--white);
}

.profile-section--dark .profile-stat {
    background: rgba(255, 255, 255, 0.04);
}

.profile-stat:not(:last-child)::after {
    content: '';
    position: absolute;
    right: 0;
    top: 20%;
    bottom: 20%;
    width: 1px;
    background: var(--charcoal-12);
}

.profile-section--dark .profile-stat:not(:last-child)::after {
    background: rgba(255, 255, 255, 0.08);
}

.profile-stat-num {
    font-family: var(--font-display);
    font-size: clamp(22px, 2.6vw, 32px);
    color: var(--forest);
    line-height: 1;
    margin-bottom: 6px;
}

.profile-section--dark .profile-stat-num {
    color: var(--forest-light);
}

.profile-stat-label {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

.profile-section--dark .profile-stat-label {
    color: rgba(255, 255, 255, 0.4);
}

.profile-bio p {
    font-size: clamp(15px, 1.5vw, 17px);
    color: var(--charcoal-72);
    line-height: 1.85;
    margin-bottom: 18px;
}

.profile-section--dark .profile-bio p {
    color: rgba(255, 255, 255, 0.65);
}

/* Founder profile: drop cap on first bio paragraph */
#david-fairley .profile-bio p:first-child::first-letter {
    font-family: var(--font-display);
    font-style: italic;
    float: left;
    font-size: 3.4em;
    line-height: 0.82;
    margin: 0.06em 0.12em 0 -0.02em;
    color: var(--charcoal-deep);
}

/* Section ordinal — decorative position number */
.profile-ordinal {
    position: absolute;
    top: clamp(60px, 8vw, 100px);
    right: 0;
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(120px, 14vw, 200px);
    line-height: 1;
    color: var(--charcoal-05);
    pointer-events: none;
    transform: translateX(15%);
}

.profile-section--alt .profile-ordinal {
    color: rgba(54, 69, 79, 0.04);
}

.profile-section--dark .profile-ordinal {
    color: rgba(255, 255, 255, 0.03);
}

/* ─── SENIOR BAND — "The Manifesto" ─── */
.senior-band {
    background: var(--sage);
    color: var(--charcoal-deep);
    position: relative;
    overflow: hidden;
}

.senior-band::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 60% 80% at 20% 20%, rgba(74, 124, 63, 0.06) 0%, transparent 55%),
        radial-gradient(ellipse 50% 60% at 80% 80%, rgba(255, 255, 255, 0.4) 0%, transparent 55%);
}

.senior-header {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(48px, 6vw, 72px);
    position: relative;
    z-index: 1;
}

.senior-header .eyebrow {
    color: var(--forest);
}

.senior-header h2 {
    font-size: clamp(28px, 3.4vw, 44px);
    color: var(--charcoal-deep);
    margin-bottom: 14px;
    line-height: 1.15;
}

.senior-header p {
    font-size: clamp(15px, 1.6vw, 18px);
    color: var(--charcoal-72);
    line-height: 1.7;
}

.senior-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    position: relative;
    z-index: 1;
}

.senior-card {
    padding: clamp(36px, 4vw, 52px) clamp(28px, 3.2vw, 40px);
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    position: relative;
    transition: transform var(--duration-base) var(--ease-out),
        box-shadow var(--duration-base) var(--ease-out);
}

.senior-card:first-child {
    border-right: none;
}

.senior-card:last-child {
    border-left: none;
}

.senior-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
    z-index: 2;
}

.senior-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--forest);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s var(--ease-out);
}

.senior-card:hover::before {
    transform: scaleX(1);
}

.senior-ordinal {
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(56px, 6vw, 80px);
    line-height: 1;
    color: var(--charcoal-05);
    margin-bottom: clamp(20px, 2.4vw, 28px);
}

.senior-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--forest-pale);
    border: 1px solid var(--forest-12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--forest);
    margin-bottom: 18px;
}

.senior-card h3 {
    font-size: clamp(20px, 2.2vw, 26px);
    color: var(--charcoal-deep);
    margin-bottom: 12px;
}

.senior-card p {
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.75;
}

/* ─── CREDENTIALS — "The Colophon" ─── */
.credentials-strip {
    background: var(--charcoal-deep);
    padding: clamp(48px, 6vw, 72px) 0;
    position: relative;
    overflow: hidden;
    text-align: center;
}

.credentials-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 60% 80% at 50% 100%, rgba(74, 124, 63, 0.05) 0%, transparent 60%);
}

.credentials-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    position: relative;
    z-index: 1;
}

.colophon-fleuron {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2vw, 24px);
    margin-bottom: clamp(24px, 3vw, 36px);
}

.colophon-fleuron-rule {
    width: clamp(40px, 5vw, 64px);
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
}

.colophon-fleuron-mark {
    width: 8px;
    height: 8px;
    border: 1px solid rgba(74, 124, 63, 0.5);
    transform: rotate(45deg);
    position: relative;
}

.colophon-fleuron-mark::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    right: 1px;
    bottom: 1px;
    background: var(--forest);
    opacity: 0.4;
}

.colophon-imprint {
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(18px, 2.2vw, 26px);
    color: var(--white);
    margin-bottom: 6px;
}

.colophon-founding {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.35);
    margin-bottom: clamp(20px, 2.4vw, 32px);
}

.colophon-details {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(18px, 2.6vw, 36px);
    flex-wrap: wrap;
}

.credential-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    text-align: center;
}

.credential-label {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(74, 124, 63, 0.65);
}

.credential-value {
    font-family: var(--font-body);
    font-size: clamp(13px, 1.3vw, 15px);
    color: rgba(255, 255, 255, 0.65);
    font-weight: 400;
}

.credential-value a {
    color: rgba(255, 255, 255, 0.65);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
    transition: color 0.2s, border-color 0.2s;
}

.credential-value a:hover {
    color: var(--forest-light);
    border-color: var(--forest-light);
}

.credential-divider {
    width: 1px;
    height: 28px;
    background: rgba(255, 255, 255, 0.08);
}

/* ─── CTA — "The Invitation" ─── */
.team-cta {
    background: var(--cloud);
    padding: clamp(72px, 9vw, 120px) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.team-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 50% 60% at 20% 30%, rgba(74, 124, 63, 0.05) 0%, transparent 55%),
        radial-gradient(ellipse 40% 50% at 80% 70%, rgba(0, 76, 151, 0.03) 0%, transparent 55%);
}

.team-cta .container {
    position: relative;
    z-index: 2;
    max-width: 740px;
}

.team-cta-fleuron {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 1.6vw, 20px);
    margin-bottom: clamp(28px, 3.5vw, 44px);
}

.team-cta-fleuron-rule {
    width: clamp(40px, 5vw, 64px);
    height: 1px;
    background: var(--charcoal-12);
}

.team-cta-fleuron-mark {
    width: 6px;
    height: 6px;
    background: var(--forest);
    border-radius: 50%;
    opacity: 0.5;
}

.team-cta h3 {
    font-size: clamp(30px, 3.8vw, 48px);
    font-style: italic;
    color: var(--charcoal-deep);
    margin-bottom: clamp(14px, 1.6vw, 22px);
    line-height: 1.12;
}

.team-cta p {
    font-size: clamp(15px, 1.6vw, 18px);
    color: var(--charcoal-72);
    max-width: 600px;
    margin: 0 auto clamp(28px, 3.2vw, 40px);
    line-height: 1.75;
}

.team-cta p a {
    color: var(--forest);
    border-bottom: 1px solid var(--forest-12);
    transition: border-color 0.2s;
}

.team-cta p a:hover {
    border-color: var(--forest);
}

.team-cta .btn-primary {
    background: var(--forest);
    color: var(--white);
    border-color: var(--forest);
}

.team-cta .btn-primary:hover {
    background: var(--forest-light);
    border-color: var(--forest-light);
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(74, 124, 63, 0.25);
}

.team-cta-secondary {
    display: block;
    margin-top: 18px;
    color: var(--charcoal-42);
    font-size: 14px;
}

.team-cta-secondary a {
    color: var(--charcoal-deep);
    font-weight: 600;
    border-bottom: 1px solid var(--charcoal-20);
}

.team-cta-secondary a:hover {
    color: var(--forest);
    border-color: var(--forest);
}

/* ─── RESPONSIVE ─── */
@media (max-width: 960px) {
    .team-hero-masthead {
        grid-template-columns: 1fr;
    }

    .team-hero-emblem {
        justify-self: start;
    }

    .team-hero-emblem img {
        width: clamp(96px, 22vw, 140px);
    }

    .profile-block,
    .profile-block--reverse {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .profile-block--reverse .profile-media {
        order: 0;
    }

    .profile-media {
        max-width: 400px;
        margin: 0 auto;
    }

    .profile-ordinal {
        display: none;
    }

    .senior-grid {
        grid-template-columns: 1fr;
    }

    .senior-card {
        border: 1px solid var(--charcoal-12) !important;
    }

    .senior-card:not(:last-child) {
        margin-bottom: -1px;
    }
}

@media (max-width: 640px) {
    .profile-stats {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .profile-stat:not(:last-child)::after {
        right: 20%;
        left: 20%;
        top: auto;
        bottom: 0;
        width: auto;
        height: 1px;
    }

    .credential-divider {
        display: none;
    }

    .colophon-details {
        flex-direction: column;
        gap: 20px;
    }

    .team-hero-ribbon {
        gap: 12px;
    }

    .thr-div {
        display: none;
    }
}


/* ============ BUY ONLINE BUSINESS — PAGE STYLES ============ */

/* HERO */
.buy-hero {
    background: linear-gradient(160deg, var(--charcoal-deep) 0%, var(--charcoal) 50%, #2a3d47 100%);
    position: relative;
    overflow: hidden;
    padding: clamp(110px, 13vw, 170px) 0 clamp(70px, 8vw, 110px);
}

.buy-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 60% at 8% 35%, rgba(74, 124, 63, 0.18) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 92% 65%, rgba(0, 76, 151, 0.10) 0%, transparent 60%);
    pointer-events: none;
}

.buy-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 40%, transparent 85%);
    -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 50%, black 40%, transparent 85%);
    pointer-events: none;
}

.buy-hero .container {
    position: relative;
    z-index: 2;
    max-width: 1000px;
    text-align: center;
}

.buy-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-radius: 100px;
    background: rgba(91, 154, 79, 0.12);
    border: 1px solid rgba(91, 154, 79, 0.28);
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest-light);
    margin-bottom: clamp(20px, 2.4vw, 32px);
}

.buy-hero-eyebrow::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--forest-light);
    box-shadow: 0 0 12px var(--forest-light);
}

.buy-hero h1 {
    font-size: clamp(38px, 5.5vw, 76px);
    color: var(--white);
    line-height: 1.05;
    margin-bottom: clamp(16px, 1.8vw, 24px);
    letter-spacing: -0.01em;
}

.buy-hero h1 em {
    font-style: italic;
    color: var(--forest-light);
}

.buy-hero-sub {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.6vw, 20px);
    color: rgba(255, 255, 255, 0.68);
    font-weight: 300;
    line-height: 1.6;
    max-width: 760px;
    margin: 0 auto clamp(32px, 4vw, 44px);
}

.buy-hero-actions {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: clamp(44px, 5vw, 64px);
}

.buy-hero-actions .btn-ghost {
    color: var(--white);
    border-color: rgba(255, 255, 255, 0.28);
}

.buy-hero-actions .btn-ghost:hover {
    background: rgba(255, 255, 255, 0.08);
}

.buy-hero-tertiary {
    display: block;
    margin-top: 14px;
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.55);
}

.buy-hero-tertiary a {
    color: var(--forest-light);
    text-decoration: none;
    border-bottom: 1px solid rgba(91, 154, 79, 0.4);
}

/* Hero stat strip */
.buy-hero-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 36px);
    padding-top: clamp(28px, 3.5vw, 44px);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.buy-hero-stat {
    text-align: center;
}

.buy-hero-stat-value {
    font-family: var(--font-display);
    font-size: clamp(26px, 3.2vw, 40px);
    color: var(--white);
    line-height: 1;
    margin-bottom: 6px;
}

.buy-hero-stat-value em {
    font-style: italic;
    color: var(--forest-light);
}

.buy-hero-stat-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

/* POSITIONING INTRO */
.buy-position {
    background: var(--white);
}

.buy-position .container {
    max-width: 880px;
}

.buy-position-lede {
    font-family: var(--font-display);
    font-size: clamp(22px, 2.6vw, 34px);
    color: var(--charcoal-deep);
    line-height: 1.35;
    margin-bottom: clamp(20px, 2vw, 28px);
    text-wrap: balance;
}

.buy-position-lede em {
    color: var(--forest);
    font-style: italic;
}

.buy-position p {
    font-size: clamp(16px, 1.5vw, 18px);
    color: var(--charcoal-72);
    line-height: 1.75;
    margin-bottom: 16px;
}

.buy-position-rule {
    display: flex;
    gap: 6px;
    margin: clamp(32px, 4vw, 48px) auto 0;
    width: 120px;
}

.buy-position-rule span {
    flex: 1;
    height: 3px;
    border-radius: 2px;
}

.buy-position-rule span:nth-child(1) {
    background: var(--forest);
}

.buy-position-rule span:nth-child(2) {
    background: var(--blue);
}

.buy-position-rule span:nth-child(3) {
    background: var(--charcoal);
}

/* VERTICALS (What We List) */
.buy-verticals {
    background: var(--cloud);
    position: relative;
    overflow: hidden;
}

.buy-verticals::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 40% 60% at 0% 100%, var(--forest-pale) 0%, transparent 60%);
    pointer-events: none;
}

.buy-verticals .container {
    position: relative;
    z-index: 1;
}

.buy-vert-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(18px, 2vw, 26px);
    margin-top: clamp(32px, 4vw, 48px);
}

.buy-vert-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(24px, 2.8vw, 34px);
    position: relative;
    overflow: hidden;
    transition: transform 0.35s var(--ease-out), box-shadow 0.35s, border-color 0.35s;
}

.buy-vert-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--forest), var(--forest-light));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s var(--ease-out);
}

.buy-vert-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
    border-color: var(--forest-12);
}

.buy-vert-card:hover::before {
    transform: scaleX(1);
}

.buy-vert-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--forest-pale);
    border: 1px solid var(--forest-12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--forest);
    margin-bottom: 18px;
}

.buy-vert-card h3 {
    font-size: clamp(20px, 2vw, 24px);
    margin-bottom: 10px;
    color: var(--charcoal-deep);
}

.buy-vert-card p {
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.6;
    margin-bottom: 16px;
}

.buy-vert-meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 14px;
    border-top: 1px solid var(--charcoal-12);
    font-family: var(--font-body);
    font-size: 12px;
}

.buy-vert-meta-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.buy-vert-meta-label {
    color: var(--charcoal-42);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}

.buy-vert-meta-value {
    color: var(--charcoal-deep);
    font-weight: 600;
}

/* Also browse — inline strip below the 6-vertical grid */
.buy-also {
    max-width: 1180px;
    margin: clamp(28px, 3vw, 40px) auto 0;
    padding: clamp(16px, 1.8vw, 22px) clamp(20px, 2.4vw, 28px);
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-md);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 22px;
    font-family: var(--font-body);
}

.buy-also__label {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--charcoal-72);
}

.buy-also__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--forest);
    text-decoration: none;
    border-bottom: 2px solid var(--forest-12);
    padding-bottom: 2px;
    transition: border-color var(--duration-fast) var(--ease-out);
}

.buy-also__link:hover {
    border-bottom-color: var(--forest);
}

/* UNDERWRITING (Vetting story) */
.buy-underwriting {
    background: var(--cloud);
    position: relative;
    overflow: hidden;
}

.buy-underwriting::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(ellipse 40% 50% at 0% 30%, rgba(91, 154, 79, 0.07) 0%, transparent 60%),
        repeating-linear-gradient(0deg, transparent 0 39px, rgba(54, 69, 79, 0.025) 39px 40px);
    pointer-events: none;
}

.buy-underwriting>.container {
    position: relative;
    z-index: 1;
}

.buy-underwriting .buy-uw-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    box-shadow: 0 4px 14px rgba(20, 30, 40, 0.04);
}

.buy-underwriting .buy-uw-num {
    color: var(--forest);
}

.buy-uw-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-top: clamp(40px, 5vw, 60px);
}

.buy-uw-card {
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(26px, 3vw, 36px);
    position: relative;
    transition: transform 0.35s var(--ease-out), box-shadow 0.35s;
}

.buy-uw-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
}

.buy-uw-num {
    font-family: var(--font-display);
    font-size: 48px;
    color: var(--forest);
    line-height: 1;
    opacity: 0.4;
    position: absolute;
    top: 20px;
    right: 24px;
}

.buy-uw-icon {
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: var(--white);
    border: 1px solid var(--forest-12);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--forest);
    margin-bottom: 18px;
    position: relative;
    z-index: 1;
}

.buy-uw-card h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: var(--charcoal-deep);
    position: relative;
    z-index: 1;
}

.buy-uw-card p {
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.65;
    position: relative;
    z-index: 1;
}

/* PROCESS STRIP */
.buy-process {
    background: linear-gradient(180deg, var(--charcoal-deep) 0%, var(--charcoal) 100%);
    color: var(--white);
    position: relative;
    overflow: hidden;
}

.buy-process::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 50% 70% at 50% 0%, rgba(74, 124, 63, 0.12) 0%, transparent 60%);
    pointer-events: none;
}

.buy-process .container {
    position: relative;
    z-index: 1;
}

.buy-process .section-header h2 {
    color: var(--white);
}

.buy-process .section-header p {
    color: rgba(255, 255, 255, 0.6);
}

.buy-process .eyebrow {
    color: var(--forest-light);
}

.buy-process-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: clamp(12px, 1.4vw, 18px);
    margin-top: clamp(40px, 5vw, 60px);
    position: relative;
}

@media (max-width: 1100px) {
    .buy-process-grid {
        grid-template-columns: repeat(3, 1fr);
        row-gap: 32px;
    }
}

@media (max-width: 600px) {
    .buy-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.buy-process-grid::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, transparent, rgba(91, 154, 79, 0.4), transparent);
    z-index: 0;
}

.buy-process-step {
    position: relative;
    z-index: 1;
    text-align: center;
}

.buy-process-num {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--forest) 0%, var(--forest-light) 100%);
    border: 3px solid var(--charcoal-deep);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 24px;
    color: var(--white);
    margin: 0 auto 18px;
    box-shadow: 0 0 30px rgba(91, 154, 79, 0.3);
}

.buy-process-step h4 {
    font-family: var(--font-display);
    font-size: 18px;
    color: var(--white);
    margin-bottom: 8px;
}

.buy-process-days {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest-light);
    margin-bottom: 10px;
    padding: 4px 10px;
    background: rgba(91, 154, 79, 0.1);
    border: 1px solid rgba(91, 154, 79, 0.25);
    border-radius: 100px;
}

.buy-process-step p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.62);
    line-height: 1.6;
}

/* FEATURED LISTINGS */
.buy-listings {
    background: var(--white);
}

.buy-listings-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(18px, 2vw, 24px);
    margin-top: clamp(40px, 5vw, 56px);
}

.buy-list-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(22px, 2.5vw, 28px);
    position: relative;
    display: flex;
    flex-direction: column;
    transition: transform 0.35s var(--ease-out), box-shadow 0.35s, border-color 0.35s;
}

.buy-list-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--forest-12);
}

.buy-list-badge {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
    background: var(--forest-pale);
    padding: 5px 10px;
    border-radius: 4px;
    border: 1px solid var(--forest-12);
    align-self: flex-start;
    margin-bottom: 14px;
}

.buy-list-card h3 {
    font-family: var(--font-display);
    font-size: 17px;
    color: var(--charcoal-deep);
    line-height: 1.3;
    margin-bottom: 14px;
    min-height: 44px;
}

.buy-list-price {
    font-family: var(--font-display);
    font-size: 28px;
    color: var(--forest);
    line-height: 1;
    margin-bottom: 3px;
}

.buy-list-price-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--charcoal-42);
    margin-bottom: 14px;
}

.buy-list-stats {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 0;
    border-top: 1px solid var(--charcoal-12);
    border-bottom: 1px solid var(--charcoal-12);
    margin-bottom: 16px;
}

.buy-list-stat {
    text-align: center;
    flex: 1;
}

.buy-list-stat-value {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--charcoal-deep);
    display: block;
}

.buy-list-stat-label {
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

.buy-list-nda {
    display: block;
    text-align: center;
    padding: 10px 16px;
    background: var(--charcoal-deep);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--radius-md);
    margin-top: auto;
    transition: background 0.3s;
}

.buy-list-nda:hover {
    background: var(--forest);
}

.buy-listings-footer {
    text-align: center;
    margin-top: clamp(32px, 4vw, 48px);
}

.buy-listings-footer a {
    color: var(--forest);
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 16px;
    border-bottom: 2px solid var(--forest-12);
    padding-bottom: 3px;
    transition: border-color 0.3s;
}

.buy-listings-footer a:hover {
    border-bottom-color: var(--forest);
}

/* BUYER ALERT CTA */
.buyer-cta {
    background: linear-gradient(135deg, var(--forest) 0%, #3a6a31 50%, var(--charcoal-deep) 130%);
    padding: clamp(56px, 7vw, 96px) 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.buyer-cta::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.06) 0%, transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(0, 76, 151, 0.15) 0%, transparent 40%);
    pointer-events: none;
}

.buyer-cta .container {
    position: relative;
    z-index: 1;
    max-width: 760px;
}

.buyer-cta-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.75);
    margin-bottom: 16px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 100px;
}

.buyer-cta h3 {
    font-size: clamp(28px, 3.6vw, 44px);
    font-style: italic;
    color: var(--white);
    margin-bottom: clamp(12px, 1.4vw, 20px);
    line-height: 1.15;
}

.buyer-cta p {
    font-size: clamp(15px, 1.4vw, 17px);
    color: rgba(255, 255, 255, 0.78);
    line-height: 1.7;
    margin-bottom: clamp(24px, 3vw, 32px);
}

.buyer-cta .btn-primary {
    background: var(--white);
    color: var(--forest);
    border-color: var(--white);
}

/* FAQ SECTION */
.faq-section {
    background: var(--cloud);
}

.faq-header {
    text-align: center;
    margin-bottom: clamp(32px, 4vw, 56px);
}

.faq-list {
    max-width: 860px;
    margin: 0 auto;
}

.faq-list details {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    margin-bottom: 12px;
    overflow: hidden;
    transition: box-shadow 0.3s, border-color 0.3s;
}

.faq-list details:hover {
    box-shadow: var(--shadow-md);
}

.faq-list details[open] {
    box-shadow: var(--shadow-md);
    border-color: var(--forest-12);
}

.faq-list summary {
    padding: clamp(18px, 2vw, 24px) clamp(22px, 2.5vw, 30px);
    font-family: var(--font-display);
    font-size: clamp(17px, 1.8vw, 21px);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--charcoal-deep);
    gap: 20px;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary::after {
    content: '+';
    font-family: var(--font-body);
    font-size: 26px;
    font-weight: 300;
    color: var(--forest);
    transition: transform 0.3s;
    flex-shrink: 0;
}

.faq-list details[open] summary::after {
    transform: rotate(45deg);
}

.faq-list .faq-answer {
    padding: 0 clamp(22px, 2.5vw, 30px) clamp(18px, 2vw, 24px);
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.75;
}

/* FINAL CTA STRIP */
.buy-final {
    background: var(--charcoal-deep);
    color: var(--white);
    padding: clamp(64px, 8vw, 110px) 0;
}

.buy-final .container {
    max-width: 1000px;
    text-align: center;
}

.buy-final .eyebrow {
    color: var(--forest-light);
}

.buy-final h2 {
    font-size: clamp(32px, 4vw, 54px);
    color: var(--white);
    margin-bottom: 16px;
}

.buy-final p {
    font-size: 17px;
    color: rgba(255, 255, 255, 0.6);
    max-width: 620px;
    margin: 0 auto clamp(36px, 4.5vw, 52px);
}

.buy-final-tiles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

.buy-final-tile {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    padding: clamp(28px, 3vw, 36px);
    text-align: left;
    transition: background 0.35s, border-color 0.35s, transform 0.35s;
}

.buy-final-tile:hover {
    background: rgba(91, 154, 79, 0.08);
    border-color: rgba(91, 154, 79, 0.3);
    transform: translateY(-4px);
}

.buy-final-tile-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
    background: rgba(91, 154, 79, 0.12);
    border: 1px solid rgba(91, 154, 79, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--forest-light);
    margin-bottom: 18px;
}

.buy-final-tile h4 {
    font-family: var(--font-display);
    font-size: 22px;
    color: var(--white);
    margin-bottom: 8px;
}

.buy-final-tile p {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.6;
    margin: 0 0 16px;
}

.buy-final-tile a {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--forest-light);
    letter-spacing: 0.04em;
}

.buy-final-tile a::after {
    content: ' →';
    transition: margin 0.3s;
    display: inline-block;
}

.buy-final-tile:hover a::after {
    margin-left: 4px;
}

/* CONTACT INFO */
.contact-info-section {
    background: var(--white);
}

.contact-info-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: clamp(20px, 2.5vw, 32px);
    max-width: 1000px;
    margin: 0 auto;
}

.contact-info-item {
    text-align: center;
}

.contact-info-item h4 {
    font-size: 11px;
    font-family: var(--font-body);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: var(--charcoal-42);
    margin-bottom: 10px;
}

.contact-info-item p {
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.6;
}

.contact-info-item a {
    color: var(--forest);
    text-decoration: none;
}

.contact-info-item a:hover {
    text-decoration: underline;
}

/* Responsive */
@media (max-width: 1120px) {

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

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

    .buy-process-grid {
        grid-template-columns: repeat(5, 1fr);
        gap: 12px;
    }
}

@media (max-width: 820px) {
    .buy-hero-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }

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

    .buy-process-grid::before {
        display: none;
    }

    .buy-final-tiles {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {

    .buy-vert-grid,
    .buy-uw-grid,
    .buy-listings-grid {
        grid-template-columns: 1fr;
    }
}

/* WHY ACQUIRE — up-market financial case */
.buy-why {
    background: var(--white);
}

.buy-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(20px, 2.4vw, 32px);
    margin-top: clamp(40px, 5vw, 60px);
}

.buy-why-card {
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(28px, 3vw, 40px);
    border-left: 4px solid var(--forest);
    transition: transform 0.35s var(--ease-out), box-shadow 0.35s, border-left-color 0.35s;
}

.buy-why-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-left-color: var(--forest-light);
}

.buy-why-card h3 {
    font-size: clamp(20px, 2vw, 26px);
    margin-bottom: 12px;
    color: var(--charcoal-deep);
}

.buy-why-card p {
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.7;
    margin: 0;
}

.buy-lifestyle {
    margin-top: clamp(48px, 6vw, 72px);
    padding-top: clamp(32px, 4vw, 48px);
    border-top: 1px solid var(--charcoal-12);
    text-align: center;
}

.buy-lifestyle-pre {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--charcoal-42);
    margin: 0 0 clamp(20px, 2vw, 28px);
}

.buy-lifestyle-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(16px, 2vw, 28px);
    max-width: 880px;
    margin: 0 auto;
}

.buy-lifestyle-tile {
    padding: clamp(18px, 2vw, 24px) clamp(14px, 1.6vw, 20px);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-md);
    background: var(--white);
}

.buy-lifestyle-tile h4 {
    font-family: var(--font-display);
    font-size: 17px;
    color: var(--charcoal-deep);
    margin: 0 0 6px;
}

.buy-lifestyle-tile p {
    font-size: 13px;
    color: var(--charcoal-72);
    line-height: 1.55;
    margin: 0;
}

/* WORKING WITH WP — 4-pillar broker value */
.buy-working {
    background: var(--cloud);
}

.buy-working-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(16px, 2vw, 24px);
    margin-top: clamp(40px, 5vw, 56px);
}

.buy-working-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(24px, 2.8vw, 32px);
    transition: transform 0.35s, box-shadow 0.35s, border-color 0.35s;
}

.buy-working-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-md);
    border-color: var(--forest-12);
}

.buy-working-num {
    font-family: var(--font-display);
    font-size: 36px;
    color: var(--forest);
    line-height: 1;
    opacity: 0.5;
    margin-bottom: 14px;
}

.buy-working-card h3 {
    font-size: 17px;
    margin-bottom: 10px;
    color: var(--charcoal-deep);
    line-height: 1.3;
}

.buy-working-card p {
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.65;
    margin: 0;
}

/* MID-PAGE BUYER ALERT STRIP */
.buyer-alert-strip {
    background: linear-gradient(135deg, var(--forest) 0%, #3a6a31 50%, var(--charcoal-deep) 130%);
    padding: clamp(56px, 7vw, 88px) 0;
    position: relative;
    overflow: hidden;
}

.buyer-alert-strip::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 18% 30%, rgba(255, 255, 255, 0.08) 0%, transparent 40%),
        radial-gradient(circle at 82% 70%, rgba(0, 76, 151, 0.18) 0%, transparent 40%);
    pointer-events: none;
}

.buyer-alert-strip .container {
    position: relative;
    z-index: 1;
    max-width: 1180px;
}

.buyer-alert-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: clamp(36px, 4vw, 64px);
    align-items: start;
}

@media (max-width: 980px) {
    .buyer-alert-grid {
        grid-template-columns: 1fr;
    }
}

.buyer-alert-copy {
    color: var(--white);
}

.buyer-alert-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.78);
    margin-bottom: 16px;
    padding: 6px 14px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 100px;
}

.buyer-alert-strip h3 {
    font-family: var(--font-display);
    font-size: clamp(28px, 3.4vw, 44px);
    color: var(--white);
    margin: 0 0 clamp(14px, 1.6vw, 22px);
    line-height: 1.1;
    font-weight: 400;
    letter-spacing: -0.01em;
}

.buyer-alert-strip h3 em {
    font-style: italic;
    color: rgba(255, 255, 255, 0.92);
}

.buyer-alert-strip .buyer-alert-copy p {
    font-family: var(--font-body);
    font-size: clamp(15px, 1.4vw, 17px);
    color: rgba(255, 255, 255, 0.82);
    line-height: 1.7;
    margin: 0 0 22px;
}

.buyer-alert-bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.buyer-alert-bullets li {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 12px;
    align-items: start;
    font-family: var(--font-body);
    font-size: 14.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.85);
}

.buyer-alert-bullets strong {
    color: var(--white);
    font-weight: 600;
}

.buyer-alert-check {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--white);
    color: var(--forest);
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 700;
    margin-top: 2px;
}

.buyer-alert-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: clamp(28px, 3vw, 36px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.buyer-alert-card-pre {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--forest);
}

.buyer-alert-card-h {
    font-family: var(--font-display);
    font-size: clamp(22px, 2.4vw, 28px);
    color: var(--charcoal-deep);
    font-weight: 400;
    margin: 0;
    letter-spacing: -0.01em;
}

.buyer-alert-card-p {
    font-family: var(--font-body);
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--charcoal-72);
    margin: 0 0 6px;
}

.buyer-alert-card-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 22px;
    background: var(--forest);
    color: var(--white);
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, transform 0.2s;
}

.buyer-alert-card-btn:hover {
    background: var(--forest-light);
    transform: translateY(-1px);
}

.buyer-alert-card-link {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--forest);
    text-decoration: none;
    text-align: center;
    padding-top: 4px;
    border-top: 1px solid var(--charcoal-12);
    margin-top: 4px;
    padding-top: 14px;
}

.buyer-alert-card-link:hover {
    text-decoration: underline;
}

/* CROSS-CTA — selling? */
.buy-cross-cta {
    background: var(--white);
    padding: clamp(56px, 7vw, 88px) 0;
    border-top: 1px solid var(--charcoal-12);
}

.buy-cross-cta-grid {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: clamp(24px, 3vw, 48px);
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
}

.buy-cross-cta-grid .eyebrow {
    color: var(--charcoal-42);
    font-size: 11px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 8px;
}

.buy-cross-cta-grid h3 {
    font-family: var(--font-display);
    font-size: clamp(24px, 2.6vw, 32px);
    color: var(--charcoal-deep);
    margin: 0 0 6px;
    line-height: 1.2;
}

.buy-cross-cta-grid p {
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.6;
    margin: 0;
}

/* Responsive additions for new sections */
@media (max-width: 1120px) {
    .buy-working-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 820px) {

    .buy-why-grid,
    .buy-lifestyle-grid {
        grid-template-columns: 1fr;
    }

    .buy-cross-cta-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

@media (max-width: 580px) {
    .buy-working-grid {
        grid-template-columns: 1fr;
    }
}

/* ============ V3 POLISH PASS — distinct visual languages per section ============ */

/* POSITIONING — declarative brief, asymmetric two-col */
.buy-position {
    background: var(--white);
    padding: clamp(80px, 10vw, 130px) 0;
}

.buy-position-grid {
    display: grid;
    grid-template-columns: 1fr 1.4fr;
    gap: clamp(48px, 6vw, 96px);
    align-items: start;
}

.buy-position-anchor {
    position: sticky;
    top: 100px;
}

.buy-position-anchor .eyebrow {
    font-size: 11px;
    letter-spacing: 0.32em;
    text-transform: uppercase;
    font-weight: 700;
    margin: 0 0 18px;
}

.buy-position-title {
    font-family: var(--font-display);
    font-size: clamp(32px, 4.2vw, 54px);
    line-height: 1.05;
    letter-spacing: -0.018em;
    color: var(--charcoal-deep);
    margin: 0;
}

.buy-position-title em {
    font-style: italic;
    color: var(--forest);
}

.buy-position-body p {
    font-size: clamp(16px, 1.5vw, 18px);
    color: var(--charcoal-72);
    line-height: 1.75;
    margin: 0 0 20px;
}

.buy-position-bullets {
    list-style: none;
    padding: clamp(24px, 3vw, 32px) 0 0;
    margin: clamp(24px, 3vw, 32px) 0 0;
    border-top: 1px solid var(--charcoal-12);
    display: grid;
    gap: 14px;
}

.buy-position-bullets li {
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.55;
    padding-left: 28px;
    position: relative;
}

.buy-position-bullets li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 1px;
    color: var(--forest);
    font-weight: 700;
}

.buy-position-bullets strong {
    color: var(--charcoal-deep);
    font-weight: 600;
}

/* VERSUS — Build-vs-buy comparison */
.buy-versus {
    background: var(--white);
    padding: clamp(80px, 10vw, 130px) 0;
}

.buy-versus-table {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: clamp(20px, 2.5vw, 48px);
    align-items: stretch;
    margin-top: clamp(48px, 6vw, 72px);
}

.buy-versus-col {
    border-radius: var(--radius-lg);
    padding: clamp(32px, 3.4vw, 44px);
}

.buy-versus-col--build {
    background: rgba(54, 69, 79, 0.04);
    border: 1px solid var(--charcoal-12);
}

.buy-versus-col--buy {
    background: var(--white);
    border: 1px solid var(--forest-12);
    border-top: 4px solid var(--forest);
    box-shadow: var(--shadow-md);
}

.buy-versus-tag {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    margin-bottom: clamp(20px, 2vw, 28px);
    padding: 6px 14px;
    border-radius: 100px;
}

.buy-versus-col--build .buy-versus-tag {
    color: var(--charcoal-72);
    background: rgba(54, 69, 79, 0.06);
    border: 1px solid var(--charcoal-12);
}

.buy-versus-col--buy .buy-versus-tag {
    color: var(--forest);
    background: var(--forest-pale);
    border: 1px solid var(--forest-12);
}

.buy-versus-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: clamp(12px, 1.4vw, 16px);
}

.buy-versus-list li {
    font-size: clamp(14px, 1.4vw, 16px);
    line-height: 1.5;
    padding-left: 30px;
    position: relative;
}

.buy-versus-col--build .buy-versus-list li {
    color: var(--charcoal-72);
    text-decoration: line-through;
    text-decoration-color: rgba(54, 69, 79, 0.3);
    text-decoration-thickness: 1px;
}

.buy-versus-col--build .buy-versus-list li::before {
    content: '\2715';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--charcoal-42);
    font-weight: 700;
    text-decoration: none;
    display: inline-block;
}

.buy-versus-col--buy .buy-versus-list li {
    color: var(--charcoal-deep);
}

.buy-versus-col--buy .buy-versus-list li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--forest);
    font-weight: 700;
}

.buy-versus-divider {
    display: flex;
    align-items: center;
    justify-content: center;
}

.buy-versus-divider span {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--charcoal-deep);
    color: var(--white);
    display: grid;
    place-items: center;
    font-family: var(--font-display);
    font-style: italic;
    font-size: 18px;
}

.buy-versus-lifestyle {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    justify-content: center;
    margin-top: clamp(40px, 5vw, 56px);
    padding-top: clamp(28px, 3vw, 40px);
    border-top: 1px solid var(--charcoal-12);
}

.buy-versus-lifestyle-pre {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--charcoal-42);
    margin-right: 8px;
}

.buy-versus-lifestyle-pill {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--charcoal-deep);
    padding: 7px 14px;
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: 100px;
}

/* COMMITMENTS — values pattern (different from underwriting cards) */
/* COMMITMENTS — DARK editorial step-up */
.buy-commitments {
    background: var(--charcoal-deep);
    color: var(--white);
    padding: clamp(96px, 11vw, 140px) 0;
    position: relative;
    overflow: hidden;
}

.buy-commit__bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 60% 60% at 88% 12%, rgba(91, 154, 79, 0.16) 0%, transparent 60%),
        radial-gradient(ellipse 50% 50% at 12% 88%, rgba(0, 76, 151, 0.10) 0%, transparent 60%);
    pointer-events: none;
}

.buy-commitments .container {
    position: relative;
    z-index: 1;
}

.buy-commit__head {
    max-width: 760px;
    margin: 0 auto clamp(56px, 6vw, 80px);
    text-align: center;
    padding: 0 var(--gutter);
}

.eyebrow--light {
    color: var(--forest-light);
}

.buy-commit__title {
    font-family: var(--font-display);
    font-size: clamp(32px, 4vw, 56px);
    line-height: 1.05;
    color: var(--white);
    margin: 12px 0 16px;
    font-weight: 400;
    letter-spacing: -0.015em;
}

.buy-commit__title em {
    font-style: italic;
    color: var(--forest-light);
}

.buy-commit__lede {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.7;
    color: rgba(232, 237, 229, 0.78);
    margin: 0;
}

.buy-commit-list {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 1080px;
    padding: 0 var(--gutter);
    display: flex;
    flex-direction: column;
    gap: 0;
}

.buy-commit-row {
    display: grid;
    grid-template-columns: 140px 1fr auto;
    gap: clamp(24px, 3vw, 40px);
    align-items: center;
    padding: clamp(32px, 4vw, 48px) 0;
    border-top: 1px solid rgba(232, 237, 229, 0.10);
}

.buy-commit-row:first-child {
    border-top: 0;
}

.buy-commit-num {
    font-family: var(--font-display);
    font-size: clamp(64px, 8vw, 120px);
    line-height: 0.9;
    color: var(--forest-light);
    font-weight: 400;
    letter-spacing: -0.04em;
    text-align: center;
    font-style: normal;
    opacity: 1;
}

.buy-commit-body {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.buy-commit-h {
    font-family: var(--font-display);
    font-size: clamp(22px, 2.6vw, 32px);
    line-height: 1.15;
    color: var(--white);
    font-weight: 400;
    margin: 0;
    letter-spacing: -0.01em;
}

.buy-commit-p {
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.7;
    color: rgba(232, 237, 229, 0.78);
    margin: 0;
}

.buy-commit-tag {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--forest-light);
    padding: 8px 14px;
    border: 1px solid rgba(91, 154, 79, 0.32);
    border-radius: 100px;
    white-space: nowrap;
}

@media (max-width: 880px) {
    .buy-commit-row {
        grid-template-columns: 1fr;
        gap: 14px;
        padding: 28px 0;
    }

    .buy-commit-num {
        text-align: left;
        font-size: 56px;
    }

    .buy-commit-tag {
        align-self: flex-start;
    }
}

/* BUYER ALERT — upgraded primary lead capture */
.buyer-alert-cta {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 20px 38px;
    background: var(--white);
    color: var(--forest);
    border-radius: var(--radius-md);
    text-decoration: none;
    font-family: var(--font-body);
    transition: transform 0.3s, box-shadow 0.3s;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18);
}

.buyer-alert-cta:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.26);
}

.buyer-alert-cta-main {
    font-size: 17px;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.buyer-alert-cta-meta {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

/* CROSS — slim WP-blue accent band, differentiates from charcoal closing below */
.buy-cross {
    background: linear-gradient(135deg, #1e4e8c 0%, #143866 70%, #0c2848 100%);
    color: var(--white);
    padding: clamp(36px, 4.5vw, 56px) 0;
    position: relative;
    overflow: hidden;
}

.buy-cross::before {
    content: '';
    position: absolute;
    inset: 0;
    background: repeating-linear-gradient(135deg, transparent 0 80px, rgba(255, 255, 255, 0.05) 80px 81px);
    pointer-events: none;
}

.buy-cross .container {
    position: relative;
    z-index: 1;
}

.buy-cross-grid {
    display: grid;
    grid-template-columns: 1.6fr auto;
    gap: clamp(20px, 3vw, 40px);
    align-items: center;
}

.buy-cross-eyebrow {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.85);
    padding: 4px 10px;
    background: rgba(255, 255, 255, 0.14);
    border-radius: 100px;
    margin-bottom: 10px;
}

.buy-cross-title {
    font-family: var(--font-display);
    font-style: normal;
    font-size: clamp(20px, 2.4vw, 28px);
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--white);
    margin: 0 0 6px;
    max-width: 60ch;
    font-weight: 400;
}

.buy-cross-copy p {
    font-size: 14.5px;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.85);
    margin: 0;
    max-width: 60ch;
}

.buy-cross-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    background: var(--white);
    color: #143866;
    border-radius: var(--radius-md);
    text-decoration: none;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: transform 0.3s, gap 0.3s;
    white-space: nowrap;
}

.buy-cross-btn:hover {
    transform: translateY(-2px);
    gap: 14px;
}

/* Responsive for v3 */
@media (max-width: 980px) {
    .buy-position-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .buy-position-anchor {
        position: static;
    }

    .buy-versus-table {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .buy-versus-divider span {
        width: 44px;
        height: 44px;
        font-size: 16px;
    }

    .buy-cross-grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 820px) {
    .buy-commit-list {
        grid-template-columns: 1fr;
    }
}

/* ============ V5 DESIGN AUDIT — section-by-section redesign ============ */

/* === 1. BUY-HERO: THE DEAL ROOM ENTRANCE === */
.buy-hero {
    background:
        radial-gradient(ellipse 45% 55% at 5% 20%, rgba(74, 124, 63, 0.16) 0%, transparent 60%),
        radial-gradient(ellipse 40% 50% at 95% 85%, rgba(0, 76, 151, 0.08) 0%, transparent 60%),
        linear-gradient(170deg, var(--charcoal-deep) 0%, #11181f 50%, #0c1218 100%);
    padding: clamp(110px, 13vw, 180px) 0 clamp(56px, 6vw, 96px);
}

.buy-hero::before {
    background:
        repeating-linear-gradient(0deg, transparent 0 59px, rgba(232, 237, 229, 0.018) 59px 60px),
        repeating-linear-gradient(90deg, transparent 0 59px, rgba(232, 237, 229, 0.018) 59px 60px);
    mask-image: none;
    -webkit-mask-image: none;
}

.buy-hero::after {
    display: none;
}

.buy-hero__foil {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent 0%, var(--forest) 20%, var(--forest-light) 50%, var(--forest) 80%, transparent 100%);
    z-index: 3;
}

.buy-hero .container {
    max-width: var(--container-max);
    text-align: left;
}

.buy-hero__grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: clamp(40px, 5vw, 72px);
    align-items: center;
    margin-bottom: clamp(48px, 6vw, 72px);
}

.buy-hero__copy {
    text-align: left;
}

.buy-hero h1 {
    text-align: left;
}

.buy-hero-sub {
    text-align: left;
    margin-left: 0;
}

.buy-hero-actions {
    justify-content: flex-start;
}

.buy-hero-actions .btn-ghost {
    color: rgba(232, 237, 229, 0.75);
    border-color: rgba(232, 237, 229, 0.20);
}

.buy-hero-actions .btn-ghost:hover {
    color: var(--white);
    border-color: rgba(232, 237, 229, 0.45);
    background: rgba(255, 255, 255, 0.06);
}

.buy-hero__pipeline {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(232, 237, 229, 0.08);
    border-radius: var(--radius-lg);
    padding: clamp(24px, 2.6vw, 30px) clamp(22px, 2.4vw, 28px);
    font-family: var(--font-body);
}

.buy-hero__pipeline-label {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: var(--forest-light);
    margin-bottom: 26px;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(232, 237, 229, 0.08);
}

.buy-hero__steps {
    list-style: none;
    margin: 0;
    padding: 0;
}

.buy-hero__step {
    position: relative;
    display: grid;
    grid-template-columns: 30px 1fr;
    align-items: center;
    gap: 14px;
    padding-bottom: 26px;
}

.buy-hero__step:last-child {
    padding-bottom: 0;
}

/* connecting line between nodes */
.buy-hero__step:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 14px;
    top: 30px;
    bottom: 0;
    width: 1.5px;
    background: linear-gradient(180deg, rgba(91, 154, 79, 0.55), rgba(232, 237, 229, 0.10));
}

.buy-hero__step-node {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.04);
    border: 1.5px solid rgba(232, 237, 229, 0.20);
    color: var(--forest-light);
    position: relative;
    z-index: 2;
}

.buy-hero__step-node svg {
    width: 14px;
    height: 14px;
}

.buy-hero__step-text {
    display: flex;
    flex-direction: column;
}

.buy-hero__step-title {
    font-size: 13.5px;
    font-weight: 600;
    color: rgba(232, 237, 229, 0.90);
    letter-spacing: 0.01em;
}

.buy-hero__step-meta {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(232, 237, 229, 0.42);
    margin-top: 3px;
}

.buy-hero__step--final .buy-hero__step-node {
    background: var(--forest);
    border-color: var(--forest-light);
    color: var(--white);
    box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.15);
}

.buy-hero__step--final .buy-hero__step-title {
    color: var(--white);
}

.buy-hero-stats {
    border-top: 1px solid rgba(232, 237, 229, 0.08);
    border-bottom: 1px solid rgba(232, 237, 229, 0.08);
    padding: clamp(20px, 2.4vw, 28px) 0;
    max-width: none;
    gap: 0;
}

.buy-hero-stat {
    border-right: 1px solid rgba(232, 237, 229, 0.08);
    padding: 4px clamp(12px, 1.5vw, 24px);
}

.buy-hero-stat:last-child {
    border-right: none;
}

.buy-hero-stat-value {
    color: var(--white);
}

@media (max-width: 980px) {
    .buy-hero__grid {
        grid-template-columns: 1fr;
    }

    .buy-hero__pipeline {
        display: none;
    }

    .buy-hero .container {
        text-align: center;
    }

    .buy-hero__copy {
        text-align: center;
    }

    .buy-hero h1 {
        text-align: center;
    }

    .buy-hero-sub {
        text-align: center;
        margin: 0 auto clamp(32px, 4vw, 44px);
    }

    .buy-hero-actions {
        justify-content: center;
    }
}

@media (max-width: 820px) {
    .buy-hero-stats {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .buy-hero-stat {
        border-right: 1px solid rgba(232, 237, 229, 0.08);
    }
}

/* === 2. BUY-VERSUS: THE SCALES === */
.buy-versus {
    background: var(--sage);
    padding: clamp(88px, 11vw, 140px) 0;
}

.buy-versus-col--build {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    box-shadow: none;
}

.buy-versus-col--buy {
    background: var(--charcoal-deep);
    color: var(--white);
    border: 1px solid rgba(91, 154, 79, 0.30);
    border-top: 3px solid var(--forest-light);
    box-shadow: 0 20px 48px -16px rgba(29, 40, 48, 0.30);
}

.buy-versus-col--buy .buy-versus-tag {
    color: var(--charcoal-deep);
    background: var(--forest-light);
    border-color: var(--forest-light);
    font-weight: 800;
}

.buy-versus-col--buy .buy-versus-list li {
    color: rgba(232, 237, 229, 0.88);
}

.buy-versus-col--buy .buy-versus-list li::before {
    color: var(--forest-light);
}

.buy-versus-divider span {
    background: var(--forest);
    box-shadow: 0 0 0 8px var(--sage);
}

.buy-versus-lifestyle {
    border-top-color: rgba(54, 69, 79, 0.12);
}

.buy-versus-lifestyle-pill {
    background: var(--white);
}

.buy-also {
    background: var(--white);
    border-color: rgba(54, 69, 79, 0.08);
}

/* === 3. BUY-UNDERWRITING: THE DOSSIER === */
.buy-underwriting {
    background: var(--white);
    padding: clamp(88px, 11vw, 140px) 0;
}

.buy-underwriting::before {
    background: none;
}

.buy-uw-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 960px;
    margin: clamp(40px, 5vw, 60px) auto 0;
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--cloud);
    box-shadow: var(--shadow-md);
}

.buy-uw-card {
    display: grid;
    grid-template-columns: 72px 1fr;
    gap: 0 clamp(16px, 2vw, 24px);
    align-items: start;
    padding: clamp(24px, 2.8vw, 32px) clamp(24px, 2.8vw, 32px);
    border-bottom: 1px solid var(--charcoal-12);
    border-radius: 0;
    background: var(--white);
    border: none;
    box-shadow: none;
    transition: background 0.2s;
}

.buy-uw-card:last-child {
    border-bottom: none;
}

.buy-uw-card:hover {
    transform: none;
    box-shadow: none;
    background: var(--forest-pale);
}

.buy-uw-num {
    position: static;
    font-size: clamp(28px, 2.8vw, 36px);
    color: var(--charcoal-20);
    opacity: 1;
    grid-row: 1 / span 2;
    display: flex;
    align-items: flex-start;
    padding-top: 2px;
}

.buy-uw-card:hover .buy-uw-num {
    color: var(--forest);
}

.buy-uw-icon {
    display: none;
}

.buy-uw-card h3 {
    font-size: clamp(17px, 1.8vw, 20px);
    margin-bottom: 6px;
}

.buy-uw-card p {
    font-size: 14px;
    line-height: 1.6;
}

@media (max-width: 1120px) {
    .buy-uw-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 580px) {
    .buy-uw-grid {
        grid-template-columns: 1fr;
    }

    .buy-uw-card {
        grid-template-columns: 56px 1fr;
    }
}

/* === 5. BUY-PROCESS: THE COUNTDOWN === */
.buy-process {
    background: var(--cloud);
    color: var(--charcoal-deep);
    padding: clamp(88px, 11vw, 140px) 0;
}

.buy-process::before {
    background: none;
}

.buy-process .section-header h2 {
    color: var(--charcoal-deep);
}

.buy-process .section-header p {
    color: var(--charcoal-72);
}

.buy-process .eyebrow {
    color: var(--forest);
}

.buy-process-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0;
    margin-top: clamp(48px, 6vw, 72px);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--white);
    box-shadow: var(--shadow-sm);
}

.buy-process-grid::before {
    display: none;
}

.buy-process-step {
    text-align: center;
    padding: clamp(24px, 2.8vw, 36px) clamp(14px, 1.6vw, 22px);
    border-right: 1px solid var(--charcoal-12);
    transition: background 0.2s;
}

.buy-process-step:last-child {
    border-right: none;
}

.buy-process-step:hover {
    background: var(--forest-pale);
}

.buy-process-num {
    width: 48px;
    height: 48px;
    background: transparent;
    border: 2px solid var(--forest);
    color: var(--forest);
    font-size: 20px;
    box-shadow: none;
    margin: 0 auto 14px;
    transition: background 0.25s, color 0.25s;
}

.buy-process-step:hover .buy-process-num {
    background: var(--forest);
    color: var(--white);
}

.buy-process-step:last-child .buy-process-num {
    background: var(--forest);
    color: var(--white);
    box-shadow: 0 0 20px rgba(91, 154, 79, 0.25);
}

.buy-process-days {
    color: var(--charcoal-42);
    background: rgba(54, 69, 79, 0.04);
    border-color: var(--charcoal-12);
}

.buy-process-step h4 {
    color: var(--charcoal-deep);
    font-size: 16px;
}

.buy-process-step p {
    color: var(--charcoal-72);
    font-size: 12.5px;
}

@media (max-width: 1100px) {
    .buy-process-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .buy-process-step:nth-child(3) {
        border-right: none;
    }

    .buy-process-step:nth-child(3)~.buy-process-step {
        border-top: 1px solid var(--charcoal-12);
    }
}

@media (max-width: 600px) {
    .buy-process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .buy-process-step {
        border-right: 1px solid var(--charcoal-12);
    }

    .buy-process-step:nth-child(even) {
        border-right: none;
    }

    .buy-process-step:nth-child(n+3) {
        border-top: 1px solid var(--charcoal-12);
    }
}

/* === 7. QANDA: already strong — minor refinement === */
.qanda {
    background: var(--white);
    overflow: visible;
}

/* === 8. BUY-CROSS: THE ASIDE — already distinct, minor polish === */
.buy-cross {
    background: linear-gradient(135deg, #1a4a82 0%, #12345c 70%, #0b2648 100%);
}

/* === 9. CLOSING: THE SEAL — shared pattern, minor EE context === */

/* ============ RESOURCES PAGE — REDESIGN ============ */

/* HERO — The Card Catalogue: dark with architectural grid overlay */
.rs-hero {
    position: relative;
    overflow: hidden;
    background:
        repeating-linear-gradient(0deg, transparent, transparent 59px, rgba(232, 237, 229, 0.03) 59px, rgba(232, 237, 229, 0.03) 60px),
        repeating-linear-gradient(90deg, transparent, transparent 59px, rgba(232, 237, 229, 0.03) 59px, rgba(232, 237, 229, 0.03) 60px),
        linear-gradient(175deg, var(--charcoal-deep) 0%, #0f1a13 100%);
    color: var(--white);
    padding: clamp(130px, 14vw, 180px) 0 clamp(80px, 9vw, 120px);
}

.rs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 55% 65% at 18% 35%, rgba(74, 124, 63, 0.16) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 82% 75%, rgba(0, 76, 151, 0.10) 0%, transparent 60%);
}

.rs-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.35fr 1fr;
    gap: clamp(40px, 5vw, 80px);
    align-items: center;
}

.rs-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border: 1px solid rgba(74, 124, 63, 0.55);
    border-radius: 2px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #9BD08E;
    background: rgba(74, 124, 63, 0.08);
    margin-bottom: 24px;
}

.rs-hero-eyebrow::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--forest-light);
    box-shadow: 0 0 0 4px rgba(91, 154, 79, 0.18);
}

.rs-hero h1 {
    font-size: clamp(38px, 5.3vw, 74px);
    line-height: 1.05;
    color: var(--white);
    margin-bottom: 22px;
}

.rs-hero h1 em {
    font-style: italic;
    color: #9BD08E;
    font-family: var(--font-display);
}

.rs-hero-sub {
    font-size: clamp(16px, 1.7vw, 20px);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.55;
    max-width: 640px;
    margin-bottom: 32px;
    border-left: 2px solid var(--forest);
    padding-left: 18px;
}

.rs-search {
    display: flex;
    gap: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px;
    padding: 6px 6px 6px 22px;
    max-width: 560px;
    backdrop-filter: blur(6px);
}

.rs-search input {
    flex: 1;
    background: transparent;
    border: none;
    color: var(--white);
    font-size: 15px;
    font-family: var(--font-body);
    outline: none;
    padding: 12px 0;
}

.rs-search input::placeholder {
    color: rgba(255, 255, 255, 0.55);
}

.rs-search button {
    background: var(--forest);
    color: var(--white);
    padding: 12px 24px;
    border-radius: 2px;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.25s;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rs-search button:hover {
    background: var(--forest-light);
}

/* Hero collage — sharp file-tab cards */
.rs-hero-collage {
    position: relative;
    height: 420px;
}

.rs-collage-card {
    position: absolute;
    width: 230px;
    padding: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(12px);
    border-radius: 2px;
    transition: transform 0.6s ease;
}

.rs-collage-card:hover {
    transform: translateY(-6px) rotate(0deg) !important;
}

.rs-collage-card--a {
    top: 20px;
    left: 0;
    transform: rotate(-6deg);
}

.rs-collage-card--b {
    top: 80px;
    right: 10px;
    transform: rotate(5deg);
}

.rs-collage-card--c {
    bottom: 20px;
    left: 60px;
    transform: rotate(-2deg);
}

.rs-collage-eyebrow {
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: #9BD08E;
    font-weight: 600;
    margin-bottom: 10px;
}

.rs-collage-card h4 {
    font-size: 17px;
    color: var(--white);
    line-height: 1.2;
    font-family: var(--font-display);
    margin-bottom: 8px;
}

.rs-collage-card p {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.6);
}

.rs-collage-card--a::before {
    content: '';
    display: block;
    height: 80px;
    margin-bottom: 14px;
    background: linear-gradient(135deg, var(--forest), #2a3a2e);
    border-radius: 2px;
}

.rs-collage-card--b::before {
    content: 'A';
    display: grid;
    place-items: center;
    height: 80px;
    margin-bottom: 14px;
    background: linear-gradient(135deg, var(--charcoal-deep), var(--blue));
    border-radius: 2px;
    font-family: var(--font-display);
    font-size: 42px;
    color: var(--white);
    font-style: italic;
}

.rs-collage-card--c::before {
    content: '$';
    display: grid;
    place-items: center;
    height: 80px;
    margin-bottom: 14px;
    background: linear-gradient(135deg, #3c6834, var(--forest-light));
    border-radius: 2px;
    font-family: var(--font-display);
    font-size: 48px;
    color: var(--white);
}

@media (max-width: 960px) {
    .rs-hero-inner {
        grid-template-columns: 1fr;
    }

    .rs-hero-collage {
        display: none;
    }
}

/* CARDS — The File Cabinet: sage ground, sharp drawers with offset shadows */
.rs-cards {
    background: var(--sage);
    padding: clamp(90px, 10vw, 140px) 0;
    position: relative;
}

.rs-cards::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--forest), var(--forest-light), var(--forest));
}

.rs-cards .section-head {
    max-width: 760px;
    margin: 0 auto clamp(48px, 5vw, 68px);
    text-align: center;
}

.rs-cards h2 {
    font-size: clamp(34px, 4.2vw, 56px);
    color: var(--charcoal-deep);
    margin-bottom: 14px;
}

.rs-cards .section-head p {
    color: var(--charcoal-72);
    font-size: 17px;
}

.rs-card-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
}

.rs-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: 2px;
    overflow: hidden;
    transition: transform 0.4s, box-shadow 0.4s, border-color 0.4s;
    display: flex;
    flex-direction: column;
}

.rs-card:hover {
    transform: translateY(-4px);
    border-color: var(--forest);
    box-shadow: 6px 6px 0 -2px var(--cloud), 6px 6px 0 0 var(--forest-12);
}

.rs-card-thumb {
    aspect-ratio: 16/9;
    display: grid;
    place-items: center;
    color: var(--white);
    position: relative;
    overflow: hidden;
}

.rs-card-thumb::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 60%, rgba(0, 0, 0, 0.35));
}

.rs-card-thumb svg {
    position: relative;
    z-index: 2;
}

.rs-card--blog .rs-card-thumb {
    background: linear-gradient(135deg, var(--forest) 0%, #2f5429 100%);
}

.rs-card--faq .rs-card-thumb {
    background: linear-gradient(135deg, var(--blue) 0%, #003571 100%);
}

.rs-card--glossary .rs-card-thumb {
    background: linear-gradient(135deg, var(--charcoal-deep) 0%, var(--charcoal) 100%);
}

.rs-card--valuation .rs-card-thumb {
    background: linear-gradient(135deg, var(--forest-light) 0%, var(--forest) 100%);
}

.rs-card--cases .rs-card-thumb {
    background: linear-gradient(135deg, #2a3a2e 0%, var(--blue) 100%);
}

.rs-card--testimonials .rs-card-thumb {
    background: linear-gradient(135deg, var(--forest-light) 0%, var(--blue) 100%);
}

.rs-card-body {
    padding: clamp(24px, 2.5vw, 32px);
    flex: 1;
    display: flex;
    flex-direction: column;
}

.rs-card-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 10px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--forest);
    font-weight: 700;
    padding: 5px 10px;
    background: var(--forest-pale);
    border-radius: 2px;
    align-self: flex-start;
    margin-bottom: 14px;
}

.rs-card h3 {
    font-size: clamp(22px, 2.3vw, 28px);
    color: var(--charcoal-deep);
    margin-bottom: 10px;
    line-height: 1.2;
}

.rs-card p {
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.6;
    margin-bottom: 22px;
    flex: 1;
}

.rs-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    font-weight: 700;
    color: var(--forest);
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

.rs-card-link::after {
    content: '';
    width: 18px;
    height: 2px;
    background: var(--forest);
    transition: width 0.3s;
}

.rs-card:hover .rs-card-link::after {
    width: 28px;
}

@media (max-width: 960px) {
    .rs-card-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 620px) {
    .rs-card-grid {
        grid-template-columns: 1fr;
    }
}

/* BLOG FEED — The Wire Service: white ground, dark-topped cards */
.rs-blog {
    background: var(--white);
    padding: clamp(90px, 10vw, 140px) 0;
}

.rs-blog-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: clamp(40px, 4.5vw, 60px);
    padding-bottom: clamp(16px, 2vw, 24px);
    border-bottom: 2px solid var(--charcoal-deep);
}

.rs-blog-head h2 {
    font-size: clamp(32px, 4vw, 52px);
    color: var(--charcoal-deep);
}

.rs-blog-head p {
    color: var(--charcoal-72);
    font-size: 16px;
    margin-top: 6px;
}

.rs-blog-head-meta {
    flex: 1;
    min-width: 300px;
}

.rs-blog-head a {
    font-size: 12px;
    font-weight: 700;
    color: var(--forest);
    text-transform: uppercase;
    letter-spacing: 0.14em;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rs-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
}

.rs-blog-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: 2px;
    overflow: hidden;
    transition: transform 0.4s, box-shadow 0.4s;
}

.rs-blog-card:hover {
    transform: translateY(-3px);
    box-shadow: 6px 6px 0 -2px var(--sage), 6px 6px 0 0 rgba(54, 69, 79, 0.15);
}

.rs-blog-thumb {
    aspect-ratio: 16/9;
    position: relative;
    display: grid;
    place-items: center;
    color: var(--white);
}

.rs-blog-card:nth-child(1) .rs-blog-thumb {
    background: linear-gradient(135deg, var(--forest), var(--charcoal-deep));
}

.rs-blog-card:nth-child(2) .rs-blog-thumb {
    background: linear-gradient(135deg, var(--blue), var(--charcoal-deep));
}

.rs-blog-card:nth-child(3) .rs-blog-thumb {
    background: linear-gradient(135deg, var(--charcoal), var(--forest));
}

.rs-blog-thumb svg {
    position: relative;
    z-index: 2;
    opacity: 0.9;
}

.rs-blog-body {
    padding: clamp(22px, 2.5vw, 30px);
}

.rs-blog-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 12px;
    color: var(--charcoal-42);
    margin-bottom: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
}

.rs-blog-meta .cat {
    color: var(--forest);
}

.rs-blog-body h3 {
    font-size: clamp(18px, 1.9vw, 22px);
    color: var(--charcoal-deep);
    line-height: 1.25;
    margin-bottom: 10px;
}

.rs-blog-body p {
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.6;
}

@media (max-width: 900px) {
    .rs-blog-grid {
        grid-template-columns: 1fr;
    }
}

/* GLOSSARY PILLS — The Lexicon Wall: dark ceremonial with engraved terms */
.rs-glossary {
    background: var(--charcoal-deep);
    padding: clamp(90px, 10vw, 140px) 0;
    position: relative;
}

.rs-glossary::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(ellipse 60% 50% at 50% 40%, rgba(74, 124, 63, 0.10) 0%, transparent 65%);
}

.rs-glossary .container {
    max-width: 1000px;
    text-align: center;
    position: relative;
    z-index: 2;
}

.rs-glossary h2 {
    font-size: clamp(32px, 4vw, 52px);
    color: var(--white);
    margin-bottom: 12px;
}

.rs-glossary .eyebrow {
    color: #9BD08E;
}

.rs-glossary p.lead {
    color: rgba(255, 255, 255, 0.65);
    font-size: 17px;
    max-width: 640px;
    margin: 0 auto clamp(32px, 3.5vw, 48px);
}

.rs-pill-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-bottom: 36px;
}

.rs-pill {
    padding: 12px 22px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px;
    font-size: 15px;
    color: var(--white);
    font-weight: 500;
    transition: all 0.25s;
    cursor: pointer;
    font-family: var(--font-display);
    font-style: italic;
}

.rs-pill:hover {
    background: var(--forest);
    color: var(--white);
    border-color: var(--forest);
    transform: translateY(-2px);
}

.rs-pill-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 700;
    color: #9BD08E;
    text-transform: uppercase;
    letter-spacing: 0.14em;
}

/* NEWSLETTER — The Dispatch: sage quiet room */
.rs-newsletter {
    background: var(--sage);
    padding: clamp(80px, 9vw, 120px) 0;
    border-top: none;
    border-bottom: none;
}

.rs-newsletter .container {
    max-width: 820px;
    text-align: center;
}

.rs-newsletter h2 {
    font-size: clamp(30px, 3.6vw, 46px);
    color: var(--charcoal-deep);
    margin-bottom: 12px;
}

.rs-newsletter p {
    color: var(--charcoal-72);
    font-size: 17px;
    max-width: 620px;
    margin: 0 auto clamp(24px, 3vw, 36px);
}

.rs-nl-form {
    display: flex;
    gap: 10px;
    max-width: 520px;
    margin: 0 auto;
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: 2px;
    padding: 6px 6px 6px 22px;
}

.rs-nl-form input {
    flex: 1;
    border: none;
    background: transparent;
    font-size: 15px;
    font-family: var(--font-body);
    color: var(--charcoal-deep);
    outline: none;
    padding: 12px 0;
}

.rs-nl-form button {
    background: var(--forest);
    color: var(--white);
    padding: 12px 26px;
    border-radius: 2px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.25s;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.rs-nl-form button:hover {
    background: var(--forest-light);
}

.rs-nl-fine {
    font-size: 12px;
    color: var(--charcoal-42);
    margin-top: 14px;
}


/* ============ CO-BROKER PAGE — v7 "The Deal Memo" ============ */
/* Each section = a different page of a partnership agreement.
    Masthead > Ticker > Term Sheet > Dossier > Pipeline >
    Ledger > Wire Confirmation > Partner Card > Introduction >
    Counsel > Closing */

/* ——— 1. HERO: THE MASTHEAD ———
    Asymmetric. Dateline rule across top. Left-aligned H1.
    Oversized ghosted "$650M+" watermark on the right. */
.cb-hero {
    position: relative;
    overflow: hidden;
    background: var(--charcoal-deep);
    padding: clamp(130px, 15vw, 200px) 0 clamp(80px, 10vw, 130px);
    color: var(--white);
}

.cb-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(ellipse 50% 60% at 8% 25%, rgba(74, 124, 63, 0.16) 0%, transparent 55%),
        radial-gradient(ellipse 35% 45% at 92% 75%, rgba(0, 76, 151, 0.07) 0%, transparent 50%);
}

.cb-hero::after {
    content: '$650M+';
    position: absolute;
    right: -3%;
    top: 50%;
    transform: translateY(-55%);
    font-family: var(--font-display);
    font-size: clamp(140px, 22vw, 340px);
    color: rgba(155, 208, 142, 0.035);
    line-height: 0.85;
    font-style: italic;
    white-space: nowrap;
    pointer-events: none;
    letter-spacing: -0.04em;
}

.cb-hero .container {
    position: relative;
    z-index: 2;
    max-width: var(--container-max);
}

.cb-hero-dateline {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 28px;
    margin-bottom: 36px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
}

.cb-hero-dateline::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--forest-light);
    box-shadow: 0 0 12px var(--forest-light), 0 0 24px rgba(91, 154, 79, 0.3);
    flex-shrink: 0;
}

.cb-hero-dateline span {
    color: rgba(155, 208, 142, 0.7);
}

.cb-hero h1 {
    font-size: clamp(40px, 5.5vw, 74px);
    line-height: 1.04;
    margin-bottom: 28px;
    color: var(--white);
    max-width: 780px;
}

.cb-hero h1 em {
    font-style: italic;
    color: #9BD08E;
    font-family: var(--font-display);
}

.cb-hero-sub {
    font-size: clamp(16px, 1.7vw, 20px);
    font-weight: 300;
    color: rgba(255, 255, 255, 0.60);
    max-width: 680px;
    line-height: 1.6;
    margin-bottom: 44px;
}

.cb-hero-ctas {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.cb-hero .btn-primary,
.cb-hero .btn-ghost {
    padding: 16px 32px;
    font-weight: 500;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    transition: all var(--duration-base) var(--ease-out);
    text-decoration: none;
    border-radius: 4px;
}

.cb-hero .btn-primary {
    background: var(--forest);
    color: var(--white);
}

.cb-hero .btn-primary:hover {
    background: var(--forest-light);
    transform: translateY(-2px);
}

.cb-hero .btn-ghost {
    border: 1px solid rgba(255, 255, 255, 0.20);
    color: rgba(255, 255, 255, 0.85);
}

.cb-hero .btn-ghost:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.35);
}

/* ——— 2. CRED: THE TICKER ———
    Sage background. Inline stats with dot separators. */
.cb-cred {
    background: var(--sage);
    color: var(--charcoal-deep);
    padding: clamp(24px, 3vw, 40px) 0;
    border-bottom: 1px solid rgba(74, 124, 63, 0.10);
}

.cb-cred-row {
    display: flex;
    justify-content: center;
    align-items: baseline;
    gap: clamp(24px, 4vw, 56px);
    flex-wrap: wrap;
}

.cb-cred-cell {
    display: flex;
    align-items: baseline;
    gap: 10px;
    text-align: left;
    border-right: none;
    padding: 0;
}

.cb-cred-num {
    font-family: var(--font-display);
    font-size: clamp(26px, 2.8vw, 38px);
    line-height: 1;
    color: var(--charcoal-deep);
}

.cb-cred-num em {
    font-style: italic;
    color: var(--forest);
}

.cb-cred-lbl {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

.cb-cred-cell+.cb-cred-cell::before {
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--forest);
    display: inline-block;
    margin-right: 10px;
    position: relative;
    top: -2px;
}

@media (max-width: 700px) {
    .cb-cred-row {
        gap: 16px 28px;
        justify-content: flex-start;
        padding-left: var(--gutter);
    }

    .cb-cred-cell+.cb-cred-cell::before {
        display: none;
    }
}


/* ——— 4. PILLARS: THE DOSSIER ———
    Charcoal-deep. Sage left-border accent. Ghosted Roman ordinals. */
.cb-pillars {
    background: var(--charcoal-deep);
    color: var(--white);
    padding: clamp(90px, 10vw, 150px) 0;
    position: relative;
}

.cb-pillars .section-head {
    max-width: 760px;
    margin: 0 auto clamp(52px, 6vw, 80px);
    text-align: left;
}

.cb-pillars .section-head .eyebrow {
    color: #9BD08E;
}

.cb-pillars h2 {
    font-size: clamp(32px, 3.8vw, 50px);
    color: var(--white);
    margin-bottom: 14px;
}

.cb-pillars .section-head p {
    color: rgba(255, 255, 255, 0.50);
    font-size: 17px;
}

.cb-pillars-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(16px, 2vw, 24px);
}

.cb-pillar {
    background: rgba(255, 255, 255, 0.025);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-left: 3px solid var(--forest);
    padding: clamp(32px, 3.5vw, 48px);
    position: relative;
    overflow: hidden;
    border-radius: 0;
    transition: background var(--duration-base) var(--ease-out), border-color var(--duration-base) var(--ease-out);
}

.cb-pillar:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.10);
    border-left-color: var(--forest-light);
}

.cb-pillar-ordinal {
    position: absolute;
    top: -8px;
    right: 16px;
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(80px, 9vw, 120px);
    line-height: 1;
    color: rgba(155, 208, 142, 0.05);
    pointer-events: none;
}

.cb-pillar-icon {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(74, 124, 63, 0.15);
    color: #9BD08E;
    display: grid;
    place-items: center;
    margin-bottom: 20px;
}

.cb-pillar h3 {
    font-size: clamp(20px, 2vw, 25px);
    color: var(--white);
    margin-bottom: 12px;
    line-height: 1.25;
    position: relative;
}

.cb-pillar p {
    color: rgba(255, 255, 255, 0.50);
    font-size: 15px;
    line-height: 1.7;
    position: relative;
}

@media (max-width: 780px) {
    .cb-pillars-grid {
        grid-template-columns: 1fr;
    }
}

/* ——— 5. STEPS: THE PIPELINE ———
    Horizontal workflow with connecting line. */
.cb-steps {
    background: var(--white);
    padding: clamp(90px, 10vw, 150px) 0;
}

.cb-steps .section-head {
    max-width: 780px;
    margin: 0 auto clamp(52px, 6vw, 80px);
    text-align: center;
}

.cb-steps h2 {
    font-size: clamp(32px, 3.8vw, 50px);
    color: var(--charcoal-deep);
    margin-bottom: 14px;
}

.cb-steps .section-head p {
    color: var(--charcoal-72);
    font-size: 17px;
}

.cb-steps-track {
    position: relative;
}

.cb-steps-track::before {
    content: '';
    position: absolute;
    top: 32px;
    left: 6%;
    right: 6%;
    height: 2px;
    background: linear-gradient(90deg, var(--forest), var(--charcoal-20));
    z-index: 0;
}

.cb-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 3vw, 40px);
    position: relative;
    z-index: 1;
}

.cb-step {
    text-align: center;
    position: relative;
    padding: 0 clamp(8px, 1vw, 16px);
    background: transparent;
    border-top: none;
    border-radius: 0;
}

.cb-step-node {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--white);
    border: 3px solid var(--forest);
    display: grid;
    place-items: center;
    margin: 0 auto 24px;
    box-shadow: 0 4px 20px rgba(74, 124, 63, 0.15);
}

.cb-step-num {
    font-family: var(--font-display);
    font-size: 26px;
    color: var(--forest);
    line-height: 1;
    position: static;
    width: auto;
    height: auto;
    background: none;
    border-radius: 0;
    box-shadow: none;
    display: block;
    margin: 0;
}

.cb-step-time {
    display: inline-block;
    font-size: 11px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--forest);
    font-weight: 600;
    margin-bottom: 8px;
}

.cb-step h3 {
    font-size: clamp(22px, 2.3vw, 28px);
    color: var(--charcoal-deep);
    margin-bottom: 12px;
    line-height: 1.2;
}

.cb-step p {
    color: var(--charcoal-72);
    font-size: 15px;
    line-height: 1.7;
    text-align: left;
}

@media (max-width: 820px) {
    .cb-steps-grid {
        grid-template-columns: 1fr;
        max-width: 520px;
        margin: 0 auto;
    }

    .cb-steps-track::before {
        display: none;
    }
}

/* ——— 6. FIT: THE LEDGER ———
    Two-column balance sheet. Sharp edges. */
.cb-fit {
    background: var(--sage);
    padding: clamp(90px, 10vw, 150px) 0;
}

.cb-fit .section-head {
    max-width: 760px;
    margin: 0 auto clamp(48px, 5vw, 72px);
    text-align: center;
}

.cb-fit h2 {
    font-size: clamp(32px, 3.8vw, 50px);
    color: var(--charcoal-deep);
    margin-bottom: 14px;
}

.cb-fit .section-head p {
    color: var(--charcoal-72);
    font-size: 16px;
}

.cb-fit-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    max-width: 1060px;
    margin: 0 auto;
    border: 1px solid var(--charcoal-12);
    overflow: hidden;
}

.cb-fit-col {
    padding: clamp(32px, 4vw, 48px);
}

.cb-fit-col--yes {
    background: var(--white);
    border-right: 1px solid var(--charcoal-12);
}

.cb-fit-col--no {
    background: rgba(255, 255, 255, 0.55);
}

.cb-fit-col h3 {
    font-size: clamp(18px, 1.8vw, 23px);
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--charcoal-deep);
    padding-bottom: 18px;
}

.cb-fit-col--yes h3 {
    border-bottom: 2px solid var(--forest);
}

.cb-fit-col--no h3 {
    border-bottom: 2px solid var(--charcoal-42);
}

.cb-fit-col h3 .icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.cb-fit-col--yes .icon {
    background: var(--forest);
    color: var(--white);
}

.cb-fit-col--no .icon {
    background: var(--charcoal-42);
    color: var(--white);
}

.cb-fit-col ul {
    list-style: none;
    padding: 0;
}

.cb-fit-col li {
    padding: 14px 0 14px 24px;
    position: relative;
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.6;
    border-bottom: 1px solid rgba(54, 69, 79, 0.06);
}

.cb-fit-col li:last-child {
    border-bottom: none;
}

.cb-fit-col--yes li::before {
    content: '\2713';
    position: absolute;
    left: 0;
    top: 15px;
    color: var(--forest);
    font-weight: 700;
    font-size: 14px;
}

.cb-fit-col--no li::before {
    content: '\2715';
    position: absolute;
    left: 0;
    top: 15px;
    color: var(--charcoal-42);
    font-weight: 700;
    font-size: 12px;
}

.cb-fit-col--no li {
    color: var(--charcoal-42);
}

@media (max-width: 780px) {
    .cb-fit-grid {
        grid-template-columns: 1fr;
    }

    .cb-fit-col--yes {
        border-right: none;
        border-bottom: 1px solid var(--charcoal-12);
    }
}

/* ——— 7. TESTIMONIAL: THE WIRE CONFIRMATION ———
    Dark charcoal-deep. Left-aligned. Vertical sage rule. Ghosted watermark. */
.cb-testimonial {
    background: var(--charcoal-deep);
    color: var(--white);
    padding: clamp(80px, 9vw, 130px) 0;
    position: relative;
    overflow: hidden;
}

.cb-testimonial::before {
    content: 'CONFIRMED';
    position: absolute;
    font-family: var(--font-body);
    font-size: clamp(80px, 12vw, 180px);
    font-weight: 800;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.015);
    line-height: 1;
    right: -2%;
    bottom: 10%;
    pointer-events: none;
    text-transform: uppercase;
}

.cb-testimonial .container {
    max-width: 880px;
    position: relative;
    display: grid;
    grid-template-columns: 4px 1fr;
    gap: clamp(24px, 3vw, 40px);
    align-items: start;
}

.cb-testimonial-rule {
    width: 4px;
    background: var(--forest);
    border-radius: 2px;
    align-self: stretch;
}

.cb-testimonial blockquote {
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(22px, 2.6vw, 34px);
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.88);
    margin-bottom: 28px;
}

.cb-testimonial cite {
    font-style: normal;
    display: block;
    font-size: 13px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.40);
    font-weight: 500;
}

/* ——— 8. FORM: THE INTRODUCTION ———
    Cloud background. Elevated white form card with green top stripe. */
.cb-form-sec {
    background: var(--cloud);
    padding: clamp(90px, 10vw, 150px) 0;
}

.cb-form-sec .section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto clamp(36px, 4vw, 56px);
}

.cb-form-sec h2 {
    font-size: clamp(32px, 3.8vw, 50px);
    color: var(--charcoal-deep);
    margin-bottom: 12px;
}

.cb-form-sec .section-head p {
    color: var(--charcoal-72);
    font-size: 16px;
}

.cb-form-sec .section-head p a {
    color: var(--forest);
    font-weight: 500;
}

.cb-form {
    max-width: 760px;
    margin: 0 auto;
    background: var(--white);
    padding: clamp(36px, 4.5vw, 60px);
    border: 1px solid var(--charcoal-12);
    box-shadow: var(--shadow-lg);
    position: relative;
    border-radius: 0;
}

.cb-form::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--forest), var(--charcoal-42));
}

.cb-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
}

.cb-form-row--full {
    grid-template-columns: 1fr;
}

.cb-form label {
    display: block;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--charcoal);
    font-weight: 600;
    margin-bottom: 8px;
}

.cb-form input,
.cb-form select,
.cb-form textarea {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    border: 1px solid var(--charcoal-12);
    border-radius: 0;
    font-family: var(--font-body);
    background: var(--cloud);
    color: var(--charcoal-deep);
    transition: border-color var(--duration-fast), box-shadow var(--duration-fast);
}

.cb-form input:focus,
.cb-form select:focus,
.cb-form textarea:focus {
    outline: none;
    border-color: var(--forest);
    box-shadow: 0 0 0 3px var(--forest-pale);
    background: var(--white);
}

.cb-form textarea {
    min-height: 130px;
    resize: vertical;
}

.cb-form-check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    font-size: 14px;
    color: var(--charcoal);
    margin-bottom: 24px;
}

.cb-form-check input {
    width: auto;
    margin-top: 3px;
}

.cb-form-submit {
    width: 100%;
    padding: 18px;
    background: var(--forest);
    color: var(--white);
    font-size: 15px;
    font-weight: 600;
    border-radius: 0;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: background var(--duration-fast);
    border: none;
    font-family: var(--font-body);
    text-transform: uppercase;
}

.cb-form-submit:hover {
    background: var(--forest-light);
}

@media (max-width: 620px) {
    .cb-form-row {
        grid-template-columns: 1fr;
    }
}

/* ——— 10. FAQ: THE COUNSEL ———
    Two-column: sticky header left, questions right. Numbered ordinals. */
.cb-faq {
    background: var(--white);
    padding: clamp(90px, 10vw, 150px) 0;
}

.cb-faq .container {
    max-width: 1100px;
}

.cb-faq-layout {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: clamp(40px, 5vw, 80px);
    align-items: start;
}

.cb-faq .section-head {
    text-align: left;
    max-width: none;
    margin: 0;
    position: sticky;
    top: 120px;
}

.cb-faq h2 {
    font-size: clamp(28px, 3.2vw, 42px);
    color: var(--charcoal-deep);
    margin-bottom: 12px;
}

.cb-faq .section-head p {
    color: var(--charcoal-72);
    font-size: 15px;
    line-height: 1.6;
}

.cb-faq-list {
    max-width: none;
    margin: 0;
}

.cb-faq details {
    border-bottom: 1px solid var(--charcoal-12);
    transition: background var(--duration-fast);
    background: transparent;
    margin-bottom: 0;
    border-radius: 0;
}

.cb-faq details[open] {
    background: var(--cloud);
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 20px;
    padding-right: 20px;
    box-shadow: none;
    border-color: transparent;
}

.cb-faq summary {
    padding: 22px 0;
    font-family: var(--font-display);
    font-size: clamp(16px, 1.6vw, 19px);
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: baseline;
    gap: 16px;
    color: var(--charcoal-deep);
    font-weight: 400;
}

.cb-faq summary::-webkit-details-marker {
    display: none;
}

.cb-faq-num {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 700;
    color: var(--forest);
    letter-spacing: 0.05em;
    flex-shrink: 0;
    min-width: 28px;
}

.cb-faq summary::after {
    content: '+';
    font-size: 22px;
    font-weight: 300;
    color: var(--charcoal-42);
    flex-shrink: 0;
    margin-left: auto;
    transition: transform var(--duration-fast);
}

.cb-faq details[open] summary::after {
    content: '\2013';
    color: var(--forest);
}

.cb-faq-ans {
    padding: 0 0 24px 44px;
    font-size: 15px;
    color: var(--charcoal-72);
    line-height: 1.7;
}

.cb-faq-ans a {
    color: var(--forest);
    font-weight: 500;
}

@media (max-width: 860px) {
    .cb-faq-layout {
        grid-template-columns: 1fr;
    }

    .cb-faq .section-head {
        position: static;
        text-align: center;
        margin-bottom: 32px;
    }
}


/* ============ V5 DESIGN AUDIT — Domains page ============ */

/* === PREMIUM-DEFN: THE CRITERIA — convert 6-card grid to 2-col ledger === */
.premium-defn {
    background: var(--sage);
}

.premium-defn__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    max-width: 960px;
    margin: clamp(40px, 5vw, 56px) auto 0;
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--white);
    box-shadow: var(--shadow-md);
}

.pdefn-card {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: clamp(22px, 2.6vw, 30px) clamp(24px, 2.8vw, 32px);
    border-bottom: 1px solid var(--charcoal-12);
    border-right: 1px solid var(--charcoal-12);
    background: var(--white);
    border-radius: 0;
    box-shadow: none;
    transition: background 0.2s;
}

.pdefn-card:nth-child(even) {
    border-right: none;
}

.pdefn-card:nth-last-child(-n+2) {
    border-bottom: none;
}

.pdefn-card:hover {
    background: var(--forest-pale);
}

.pdefn-icon {
    display: none;
}

.pdefn-card h3 {
    font-size: clamp(17px, 1.8vw, 20px);
    margin-bottom: 8px;
}

.pdefn-card p {
    font-size: 14px;
    line-height: 1.6;
}

@media (max-width: 700px) {
    .premium-defn__grid {
        grid-template-columns: 1fr;
    }

    .pdefn-card {
        border-right: none !important;
    }

    .pdefn-card:last-child {
        border-bottom: none;
    }
}

/* Cohesion: center the criteria heading to match the centered ledger grid */
.premium-defn .section-header {
    text-align: center;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}



/* Fix: 'Website Properties' header cell was dark-on-dark (a later equal-specificity
    rule overrode the head cell). Force solid forest + white so it reads. */
.broker-table__row--head>div.wp-col {
    background: var(--forest);
    color: var(--white);
    font-weight: 700;
}

/* === FAQ — elevated ledger styling to match the criteria section === */
#faq {
    background: var(--sage);
}

#faq .faq-grid {
    max-width: 960px;
    margin: clamp(40px, 5vw, 56px) auto 0;
    gap: 0;
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--white);
    box-shadow: var(--shadow-md);
}

#faq .faq-item {
    border: none;
    border-bottom: 1px solid var(--charcoal-12);
    border-radius: 0;
    background: var(--white);
    transition: background 0.2s;
}

#faq .faq-item:last-child {
    border-bottom: none;
}

#faq .faq-item summary {
    padding: clamp(18px, 2.2vw, 24px) clamp(24px, 2.8vw, 32px);
    font-size: clamp(16px, 1.7vw, 19px);
    font-weight: 600;
    color: var(--charcoal-deep);
}

#faq .faq-item[open] {
    background: var(--forest-pale);
}

#faq .faq-item[open] summary {
    color: var(--forest);
}

#faq .faq-item summary::after {
    color: var(--forest);
    font-size: 24px;
}

#faq .faq-item .faq-answer {
    padding: 0 clamp(24px, 2.8vw, 32px);
}

#faq .faq-item[open] .faq-answer {
    padding: 0 clamp(24px, 2.8vw, 32px) clamp(18px, 2.2vw, 24px);
}

#faq .faq-item .faq-answer>div {
    font-size: 14.5px;
}


/* Cohesion: center the criteria heading to match the centered ledger grid */
.premium-defn .section-header {
    text-align: center;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

/* Fix: 'Website Properties' header cell was dark-on-dark (a later equal-specificity
       rule overrode the head cell). Force solid forest + white so it reads. */
.broker-table__row--head>div.wp-col {
    background: var(--forest);
    color: var(--white);
    font-weight: 700;
}

/* === FAQ — elevated ledger styling to match the criteria section === */
#faq {
    background: var(--sage);
}

#faq .faq-grid {
    max-width: 960px;
    margin: clamp(40px, 5vw, 56px) auto 0;
    gap: 0;
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--white);
    box-shadow: var(--shadow-md);
}

#faq .faq-item {
    border: none;
    border-bottom: 1px solid var(--charcoal-12);
    border-radius: 0;
    background: var(--white);
    transition: background 0.2s;
}

#faq .faq-item:last-child {
    border-bottom: none;
}

#faq .faq-item summary {
    padding: clamp(18px, 2.2vw, 24px) clamp(24px, 2.8vw, 32px);
    font-size: clamp(16px, 1.7vw, 19px);
    font-weight: 600;
    color: var(--charcoal-deep);
}

#faq .faq-item[open] {
    background: var(--forest-pale);
}

#faq .faq-item[open] summary {
    color: var(--forest);
}

#faq .faq-item summary::after {
    color: var(--forest);
    font-size: 24px;
}

#faq .faq-item .faq-answer {
    padding: 0 clamp(24px, 2.8vw, 32px);
}

#faq .faq-item[open] .faq-answer {
    padding: 0 clamp(24px, 2.8vw, 32px) clamp(18px, 2.2vw, 24px);
}

#faq .faq-item .faq-answer>div {
    font-size: 14.5px;
}



/* ============ BLOG INDEX — simple WordPress-overlay template ============ */

/* Simple header (no hero) */
.blogx-head {
    background: var(--cloud, #f3f5f1);
    border-bottom: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12));
    padding: clamp(28px, 4vw, 52px) 0;
}

.blogx-crumb {
    font-family: var(--font-body);
    font-size: 12px;
    letter-spacing: 0.04em;
    color: rgba(31, 41, 51, 0.5);
    margin-bottom: 14px;
}

.blogx-crumb a {
    color: var(--forest);
    text-decoration: none;
}

.blogx-crumb a:hover {
    text-decoration: underline;
}

.blogx-crumb span {
    margin: 0 8px;
    color: rgba(31, 41, 51, 0.3);
}

.blogx-head h1 {
    font-family: var(--font-display);
    font-size: clamp(32px, 4.4vw, 52px);
    line-height: 1.05;
    letter-spacing: -0.015em;
    color: var(--charcoal-deep);
    margin: 0;
}

.blogx-head__sub {
    font-family: var(--font-body);
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 1.55;
    color: var(--charcoal, #475247);
    max-width: 60ch;
    margin: 12px 0 0;
}

/* Two-column body */
.blogx-body {
    padding: clamp(40px, 5vw, 72px) 0 clamp(56px, 7vw, 96px);
    background: var(--white);
}

.blogx-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: clamp(36px, 5vw, 72px);
    align-items: start;
}

/* Post list */
.blogx-list {
    min-width: 0;
}

.blogx-post {
    padding: clamp(24px, 3vw, 34px) 0;
    border-bottom: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12));
}

.blogx-post:first-child {
    padding-top: 0;
}

.blogx-post__title {
    font-family: var(--font-display);
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 0 0 14px;
}

.blogx-post__title a {
    color: var(--charcoal-deep);
    text-decoration: none;
    transition: color 0.2s;
}

.blogx-post__title a:hover {
    color: var(--forest);
}

.blogx-post__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    font-family: var(--font-body);
    font-size: 12.5px;
    margin-bottom: 14px;
}

.blogx-post__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: rgba(31, 41, 51, 0.55);
}

.blogx-post__meta-item svg {
    width: 14px;
    height: 14px;
    color: var(--forest);
    flex-shrink: 0;
}

.blogx-post__author {
    font-weight: 600;
    color: var(--charcoal-deep);
}

.blogx-post__tags {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 4px;
}

.blogx-post__tags a {
    color: var(--forest);
    text-decoration: none;
}

.blogx-post__tags a:hover {
    text-decoration: underline;
}

.blogx-post__tags a:not(:last-child)::after {
    content: ',';
    color: rgba(31, 41, 51, 0.4);
}

.blogx-post__excerpt {
    font-family: var(--font-body);
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--charcoal, #475247);
    margin: 0;
    max-width: 68ch;
}

/* Pagination */
.blogx-pagination {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: clamp(28px, 3.5vw, 44px);
}

.blogx-page {
    min-width: 38px;
    height: 38px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--charcoal-deep);
    text-decoration: none;
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12));
    border-radius: var(--radius-sm, 6px);
    transition: all 0.2s;
}

.blogx-page:hover {
    border-color: var(--forest);
    color: var(--forest);
}

.blogx-page.is-active {
    background: var(--forest);
    border-color: var(--forest);
    color: #fff;
}

.blogx-page--dots {
    border: none;
    pointer-events: none;
    color: rgba(31, 41, 51, 0.4);
}

/* Sidebar valuation form */
.blogx-sidebar {
    position: sticky;
    top: 92px;
}

.blogx-form {
    background: var(--cloud, #f3f5f1);
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12));
    border-radius: var(--radius-lg, 14px);
    padding: clamp(22px, 2.4vw, 30px);
}

.blogx-form__eyebrow {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--forest);
    display: block;
    margin-bottom: 10px;
}

.blogx-form__title {
    font-family: var(--font-display);
    font-size: clamp(22px, 2vw, 27px);
    line-height: 1.1;
    color: var(--charcoal-deep);
    margin: 0 0 8px;
}

.blogx-form__sub {
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.55;
    color: var(--charcoal, #475247);
    margin: 0 0 20px;
}

.blogx-field {
    margin-bottom: 14px;
}

.blogx-field label {
    display: block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--charcoal-deep);
    margin-bottom: 6px;
}

.blogx-field label .req {
    color: var(--forest);
}

.blogx-field input,
.blogx-field select,
.blogx-field textarea {
    width: 100%;
    box-sizing: border-box;
    font-family: var(--font-body);
    font-size: 14px;
    padding: 10px 12px;
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.16));
    border-radius: var(--radius-sm, 6px);
    background: #fff;
    color: var(--charcoal-deep);
    transition: border-color 0.2s;
}

.blogx-field input:focus,
.blogx-field select:focus,
.blogx-field textarea:focus {
    outline: none;
    border-color: var(--forest);
}

.blogx-field textarea {
    min-height: 80px;
    resize: vertical;
}

.blogx-field--row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.blogx-form__submit {
    width: 100%;
    margin-top: 6px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    padding: 12px;
    border: none;
    border-radius: var(--radius-sm, 6px);
    background: var(--forest);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s;
}

.blogx-form__submit:hover {
    background: var(--charcoal-deep);
}

.blogx-form__note {
    font-family: var(--font-body);
    font-size: 11px;
    color: rgba(31, 41, 51, 0.5);
    margin: 12px 0 0;
    text-align: center;
}

/* Sidebar Widget Card Styling matching single.php */
.blogx-sidebar .widget,
.blogx-sidebar .blogx-form {
    background: var(--cloud, #f3f5f1);
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12));
    border-radius: var(--radius-lg, 14px);
    padding: clamp(22px, 2.4vw, 30px);
    margin-bottom: 24px;
    box-sizing: border-box;
}

.blogx-sidebar .blogx-form .widget {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 16px;
}

.blogx-sidebar .widget-title {
    font-family: var(--font-display);
    font-size: clamp(20px, 1.8vw, 24px);
    line-height: 1.15;
    color: var(--charcoal-deep);
    margin: 0 0 16px;
}

/* Sidebar Form Input Styling */
.blogx-sidebar input[type="text"],
.blogx-sidebar input[type="email"],
.blogx-sidebar input[type="tel"],
.blogx-sidebar input[type="number"],
.blogx-sidebar input[type="url"],
.blogx-sidebar select,
.blogx-sidebar textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.16)) !important;
    border-radius: var(--radius-sm, 6px) !important;
    background: #fff !important;
    color: var(--charcoal-deep) !important;
    margin-bottom: 14px !important;
    transition: border-color 0.2s !important;
}

.blogx-sidebar input[type="text"]:focus,
.blogx-sidebar input[type="email"]:focus,
.blogx-sidebar input[type="tel"]:focus,
.blogx-sidebar input[type="number"]:focus,
.blogx-sidebar input[type="url"]:focus,
.blogx-sidebar select:focus,
.blogx-sidebar textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
    box-shadow: 0 0 0 2px rgba(46, 110, 80, 0.12) !important;
}

.blogx-sidebar label,
.blogx-sidebar .frm_primary_label {
    display: block !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--charcoal-deep) !important;
    margin-bottom: 6px !important;
}

.blogx-sidebar .frm_form_field {
    margin-bottom: 14px !important;
}

.blogx-sidebar .frm_submit input[type="submit"],
.blogx-sidebar .frm_submit button,
.blogx-sidebar button[type="submit"],
.blogx-sidebar input[type="submit"] {
    width: 100% !important;
    margin-top: 6px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 12px !important;
    border: none !important;
    border-radius: var(--radius-sm, 6px) !important;
    background: var(--forest) !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.blogx-sidebar .frm_submit input[type="submit"]:hover,
.blogx-sidebar .frm_submit button:hover,
.blogx-sidebar button[type="submit"]:hover,
.blogx-sidebar input[type="submit"]:hover {
    background: var(--charcoal-deep) !important;
}

/* List items layout and styling for listing description and post content */
.blogx-post-content ul,
.blogx-post-content ol,
.blogx-list ul,
.blogx-list ol {
    margin: 16px 0 24px 0;
    padding-left: 28px;
}

.blogx-post-content ul,
.blogx-list ul {
    list-style-type: disc;
    list-style-position: outside;
}

.blogx-post-content ol,
.blogx-list ol {
    list-style-type: decimal;
    list-style-position: outside;
}

.blogx-post-content li,
.blogx-list li {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--charcoal-72);
    margin-bottom: 10px;
    padding-left: 6px;
}

.blogx-post-content li:last-child,
.blogx-list li:last-child {
    margin-bottom: 0;
}

/* Responsive — stack: list first, form below */
@media (max-width: 900px) {
    .blogx-layout {
        grid-template-columns: 1fr;
    }

    .blogx-sidebar {
        position: static;
        max-width: 480px;
    }
}

@media (max-width: 480px) {
    .blogx-field--row {
        grid-template-columns: 1fr;
    }
}

/* CSS Styles specific to the Website Listing Detail Page */
.listing-price-banner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: 24px;
    margin-bottom: 36px;
}

@media (max-width: 600px) {
    .listing-price-banner {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

.price-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.price-item:not(:last-child) {
    border-right: 1px solid var(--charcoal-12);
}

@media (max-width: 600px) {
    .price-item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid var(--charcoal-12);
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
}

.price-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--charcoal-42);
    margin-bottom: 6px;
}

.price-value {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 500;
    color: var(--charcoal-deep);
}

.listing-price-banner .price-item:first-child .price-value {
    color: var(--forest);
    font-weight: 600;
}

.listing-data-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 24px 0 36px;
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.listing-data-table th,
.listing-data-table td {
    padding: 14px 20px;
    text-align: left;
    border-bottom: 1px solid var(--charcoal-12);
    font-family: var(--font-body);
}

.listing-data-table tr:last-child th,
.listing-data-table tr:last-child td {
    border-bottom: none;
}

.listing-data-table th {
    background: var(--cloud);
    color: var(--charcoal-deep);
    font-weight: 600;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    width: 220px;
}

@media (max-width: 600px) {
    .listing-data-table th {
        width: 140px;
    }
}

.listing-data-table td {
    color: var(--charcoal);
    font-size: 15px;
}

.listing-contact-form-wrap {
    background: var(--white);
    border-top: 4px solid var(--forest);
    border-radius: var(--radius-lg);
    border-left: 1px solid var(--charcoal-12);
    border-right: 1px solid var(--charcoal-12);
    border-bottom: 1px solid var(--charcoal-12);
    box-shadow: 0 12px 40px -12px rgba(0, 0, 0, 0.06);
    padding: clamp(24px, 4vw, 44px);
    margin-top: 48px;
}

.listing-contact-form-wrap h3 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(22px, 2.5vw, 28px);
    color: var(--charcoal-deep);
    margin: 0 0 8px;
}

.listing-contact-form-wrap p.form-sub {
    font-family: var(--font-body);
    font-size: 14.5px;
    color: var(--charcoal-72);
    margin: 0 0 24px;
    line-height: 1.5;
}

.listing-contact-form-wrap .frm_form_field {
    margin-bottom: 20px;
}

.listing-contact-form-wrap .frm_form_field label,
.listing-contact-form-wrap .frm_primary_label {
    display: block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--charcoal);
    margin-bottom: 7px !important;
}

.listing-contact-form-wrap input[type="text"],
.listing-contact-form-wrap input[type="email"],
.listing-contact-form-wrap input[type="tel"],
.listing-contact-form-wrap select,
.listing-contact-form-wrap textarea {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid var(--charcoal-20) !important;
    border-radius: 6px !important;
    background: var(--white) !important;
    color: var(--charcoal-deep) !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out) !important;
}

.listing-contact-form-wrap input:focus,
.listing-contact-form-wrap select:focus,
.listing-contact-form-wrap textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
    box-shadow: 0 0 0 3px var(--forest-12) !important;
}

.listing-contact-form-wrap .frm_submit {
    margin-top: 12px;
}

.listing-contact-form-wrap .frm_submit input[type="submit"],
.listing-contact-form-wrap .frm_submit button {
    display: inline-block;
    padding: 13px 28px !important;
    background: var(--forest) !important;
    color: var(--white) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    cursor: pointer !important;
    transition: background 0.25s, transform 0.25s !important;
}

.listing-contact-form-wrap .frm_submit input[type="submit"]:hover,
.listing-contact-form-wrap .frm_submit button:hover {
    background: var(--forest-light) !important;
}

/* Sidebar Widget Card Styling matching single.php */
.blogx-sidebar .widget,
.blogx-sidebar .blogx-form {
    background: var(--cloud, #f3f5f1);
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12));
    border-radius: var(--radius-lg, 14px);
    padding: clamp(22px, 2.4vw, 30px);
    margin-bottom: 24px;
    box-sizing: border-box;
}

.blogx-sidebar .blogx-form .widget {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 16px;
}

.blogx-sidebar .widget-title {
    font-family: var(--font-display);
    font-size: clamp(20px, 1.8vw, 24px);
    line-height: 1.15;
    color: var(--charcoal-deep);
    margin: 0 0 16px;
}

/* Sidebar Form Input Styling */
.blogx-sidebar input[type="text"],
.blogx-sidebar input[type="email"],
.blogx-sidebar input[type="tel"],
.blogx-sidebar input[type="number"],
.blogx-sidebar input[type="url"],
.blogx-sidebar select,
.blogx-sidebar textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.16)) !important;
    border-radius: var(--radius-sm, 6px) !important;
    background: #fff !important;
    color: var(--charcoal-deep) !important;
    margin-bottom: 14px !important;
    transition: border-color 0.2s !important;
}

.blogx-sidebar input[type="text"]:focus,
.blogx-sidebar input[type="email"]:focus,
.blogx-sidebar input[type="tel"]:focus,
.blogx-sidebar input[type="number"]:focus,
.blogx-sidebar input[type="url"]:focus,
.blogx-sidebar select:focus,
.blogx-sidebar textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
    box-shadow: 0 0 0 2px rgba(46, 110, 80, 0.12) !important;
}

.blogx-sidebar label,
.blogx-sidebar .frm_primary_label {
    display: block !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--charcoal-deep) !important;
    margin-bottom: 6px !important;
}

.blogx-sidebar .frm_form_field {
    margin-bottom: 14px !important;
}

.blogx-sidebar .frm_submit input[type="submit"],
.blogx-sidebar .frm_submit button,
.blogx-sidebar button[type="submit"],
.blogx-sidebar input[type="submit"] {
    width: 100% !important;
    margin-top: 6px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 12px !important;
    border: none !important;
    border-radius: var(--radius-sm, 6px) !important;
    background: var(--forest) !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.blogx-sidebar .frm_submit input[type="submit"]:hover,
.blogx-sidebar .frm_submit button:hover,
.blogx-sidebar button[type="submit"]:hover,
.blogx-sidebar input[type="submit"]:hover {
    background: var(--charcoal-deep) !important;
}

/* List items layout and styling for listing description and post content */
.blogx-post-content ul,
.blogx-post-content ol,
.blogx-list ul,
.blogx-list ol {
    margin: 16px 0 24px 0;
    padding-left: 28px;
}

.blogx-post-content ul,
.blogx-list ul {
    list-style-type: disc;
    list-style-position: outside;
}

.blogx-post-content ol,
.blogx-list ol {
    list-style-type: decimal;
    list-style-position: outside;
}

.blogx-post-content li,
.blogx-list li {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--charcoal-72);
    margin-bottom: 10px;
    padding-left: 6px;
}

.blogx-post-content li:last-child,
.blogx-list li:last-child {
    margin-bottom: 0;
}



/* CSS Styles specific to the Website Listing Detail Page */
.listing-price-banner {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: 24px;
    margin-bottom: 36px;
}

@media (max-width: 600px) {
    .listing-price-banner {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

.price-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.price-item:not(:last-child) {
    border-right: 1px solid var(--charcoal-12);
}

@media (max-width: 600px) {
    .price-item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid var(--charcoal-12);
        padding-bottom: 12px;
        margin-bottom: 12px;
    }
}

.price-label {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--charcoal-42);
    margin-bottom: 6px;
}

.price-value {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 500;
    color: var(--charcoal-deep);
}

.listing-price-banner .price-item:first-child .price-value {
    color: var(--forest);
    font-weight: 600;
}

/* Complete Box Table Styling */
.listing-data-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    margin: 24px 0 36px !important;
    background: var(--white) !important;
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12)) !important;
    border-radius: var(--radius-md, 8px) !important;
    overflow: hidden !important;
}

.listing-data-table th,
.listing-data-table td {
    padding: 14px 20px !important;
    text-align: left !important;
    border-bottom: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12)) !important;
    border-right: none !important;
    border-left: none !important;
    font-family: var(--font-body) !important;
}

.listing-data-table tr:last-child th,
.listing-data-table tr:last-child td {
    border-bottom: none !important;
}

.listing-data-table th {
    background: var(--cloud) !important;
    color: var(--charcoal-deep) !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    width: 220px !important;
}

@media (max-width: 600px) {
    .listing-data-table th {
        width: 140px !important;
    }
}

.listing-data-table td {
    color: var(--charcoal) !important;
    font-size: 15px !important;
}

.listing-contact-form-wrap {
    background: var(--white);
    border-top: 4px solid var(--forest);
    border-radius: var(--radius-lg);
    border-left: 1px solid var(--charcoal-12);
    border-right: 1px solid var(--charcoal-12);
    border-bottom: 1px solid var(--charcoal-12);
    box-shadow: 0 12px 40px -12px rgba(0, 0, 0, 0.06);
    padding: clamp(24px, 4vw, 44px);
    margin-top: 48px;
}

.listing-contact-form-wrap h3 {
    font-family: var(--font-display);
    font-weight: 400;
    font-size: clamp(22px, 2.5vw, 28px);
    color: var(--charcoal-deep);
    margin: 0 0 8px;
}

.listing-contact-form-wrap p.form-sub {
    font-family: var(--font-body);
    font-size: 14.5px;
    color: var(--charcoal-72);
    margin: 0 0 24px;
    line-height: 1.5;
}

.listing-contact-form-wrap .frm_form_field {
    margin-bottom: 20px;
}

.listing-contact-form-wrap .frm_form_field label,
.listing-contact-form-wrap .frm_primary_label {
    display: block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--charcoal);
    margin-bottom: 7px !important;
}

.listing-contact-form-wrap input[type="text"],
.listing-contact-form-wrap input[type="email"],
.listing-contact-form-wrap input[type="tel"],
.listing-contact-form-wrap select,
.listing-contact-form-wrap textarea {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid var(--charcoal-20) !important;
    border-radius: 6px !important;
    background: var(--white) !important;
    color: var(--charcoal-deep) !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    transition: border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out) !important;
}

.listing-contact-form-wrap input:focus,
.listing-contact-form-wrap select:focus,
.listing-contact-form-wrap textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
    box-shadow: 0 0 0 3px var(--forest-12) !important;
}

.listing-contact-form-wrap .frm_submit {
    margin-top: 12px;
}

.listing-contact-form-wrap .frm_submit input[type="submit"],
.listing-contact-form-wrap .frm_submit button {
    display: inline-block;
    padding: 13px 28px !important;
    background: var(--forest) !important;
    color: var(--white) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    cursor: pointer !important;
    transition: background 0.25s, transform 0.25s !important;
}

.listing-contact-form-wrap .frm_submit input[type="submit"]:hover,
.listing-contact-form-wrap .frm_submit button:hover {
    background: var(--forest-light) !important;
}

/* Sidebar Widget Card Styling matching single.php */
.blogx-sidebar .widget,
.blogx-sidebar .blogx-form {
    background: var(--cloud, #f3f5f1) !important;
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.12)) !important;
    border-radius: var(--radius-lg, 14px) !important;
    padding: clamp(22px, 2.4vw, 30px) !important;
    margin-bottom: 24px !important;
    box-sizing: border-box !important;
}

.blogx-sidebar .blogx-form .widget {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
}

.blogx-sidebar .widget-title {
    font-family: var(--font-display) !important;
    font-size: clamp(20px, 1.8vw, 24px) !important;
    line-height: 1.15 !important;
    color: var(--charcoal-deep) !important;
    margin: 0 0 16px !important;
}

/* Sidebar Form Input Styling */
.blogx-sidebar input[type="text"],
.blogx-sidebar input[type="email"],
.blogx-sidebar input[type="tel"],
.blogx-sidebar input[type="number"],
.blogx-sidebar input[type="url"],
.blogx-sidebar select,
.blogx-sidebar textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--charcoal-12, rgba(31, 41, 51, 0.16)) !important;
    border-radius: var(--radius-sm, 6px) !important;
    background: #fff !important;
    color: var(--charcoal-deep) !important;
    margin-bottom: 14px !important;
    transition: border-color 0.2s !important;
}

.blogx-sidebar input[type="text"]:focus,
.blogx-sidebar input[type="email"]:focus,
.blogx-sidebar input[type="tel"]:focus,
.blogx-sidebar input[type="number"]:focus,
.blogx-sidebar input[type="url"]:focus,
.blogx-sidebar select:focus,
.blogx-sidebar textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
    box-shadow: 0 0 0 2px rgba(46, 110, 80, 0.12) !important;
}

.blogx-sidebar label,
.blogx-sidebar .frm_primary_label {
    display: block !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    color: var(--charcoal-deep) !important;
    margin-bottom: 6px !important;
}

.blogx-sidebar .frm_form_field {
    margin-bottom: 14px !important;
}

.blogx-sidebar .frm_submit input[type="submit"],
.blogx-sidebar .frm_submit button,
.blogx-sidebar button[type="submit"],
.blogx-sidebar input[type="submit"] {
    width: 100% !important;
    margin-top: 6px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 12px !important;
    border: none !important;
    border-radius: var(--radius-md) !important;
    background: var(--forest) !important;
    color: #fff !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.blogx-sidebar .frm_submit input[type="submit"]:hover,
.blogx-sidebar .frm_submit button:hover,
.blogx-sidebar button[type="submit"]:hover,
.blogx-sidebar input[type="submit"]:hover {
    background: var(--forest-light) !important;
}

/* List items layout and styling for listing description and post content */
.blogx-post-content ul,
.blogx-post-content ol,
.blogx-list ul,
.blogx-list ol {
    margin: 16px 0 24px 0;
    padding-left: 28px;
}

.blogx-post-content ul,
.blogx-list ul {
    list-style-type: disc;
    list-style-position: outside;
}

.blogx-post-content ol,
.blogx-list ol {
    list-style-type: decimal;
    list-style-position: outside;
}

.blogx-post-content li,
.blogx-list li {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.7;
    color: var(--charcoal-72);
    margin-bottom: 10px;
    padding-left: 6px;
}

.blogx-post-content li:last-child,
.blogx-list li:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Formidable Form custom styling overrides to match theme templates
   ========================================================================== */

/* Co-Broker Form (id=26) integration styling */
.cb-form .frm_forms {
    max-width: 100% !important;
    font-family: var(--font-body) !important;
}

.cb-form label,
.cb-form .frm_primary_label {
    display: block !important;
    font-size: 12px !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    color: var(--charcoal) !important;
    font-weight: 600 !important;
    margin-bottom: 8px !important;
    font-family: var(--font-body) !important;
}

.cb-form input[type="text"],
.cb-form input[type="email"],
.cb-form input[type="tel"],
.cb-form input[type="number"],
.cb-form input[type="url"],
.cb-form select,
.cb-form textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    border: 1px solid var(--charcoal-12) !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    background: var(--cloud) !important;
    color: var(--charcoal-deep) !important;
    transition: border-color var(--duration-fast), box-shadow var(--duration-fast) !important;
    box-sizing: border-box !important;
}

.cb-form input[type="text"]::placeholder,
.cb-form input[type="email"]::placeholder,
.cb-form input[type="tel"]::placeholder,
.cb-form input[type="number"]::placeholder,
.cb-form input[type="url"]::placeholder,
.cb-form textarea::placeholder {
    font-family: var(--font-body) !important;
}

.cb-form select option {
    font-family: var(--font-body) !important;
}

.cb-form input[type="text"]:focus,
.cb-form input[type="email"]:focus,
.cb-form input[type="tel"]:focus,
.cb-form input[type="number"]:focus,
.cb-form input[type="url"]:focus,
.cb-form select:focus,
.cb-form textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
    box-shadow: 0 0 0 3px var(--forest-pale) !important;
    background: var(--white) !important;
}

.cb-form textarea {
    min-height: 130px !important;
    resize: vertical !important;
}

.cb-form .frm_form_field {
    margin-bottom: 20px !important;
}

.cb-form .frm_checkbox label,
.cb-form .frm_checkbox .frm_opt_container {
    display: flex !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 16px !important;
    background: var(--cloud) !important;
    border: 1px solid var(--charcoal-12) !important;
    font-size: 14px !important;
    color: var(--charcoal) !important;
    margin-bottom: 24px !important;
    text-transform: none !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    font-family: var(--font-body) !important;
}

.cb-form .frm_checkbox input[type="checkbox"] {
    width: auto !important;
    margin-top: 3px !important;
}

.cb-form .frm_submit {
    margin-top: 24px !important;
}

.cb-form .frm_submit input[type="submit"],
.cb-form .frm_submit button,
.cb-form button[type="submit"] {
    width: 100% !important;
    padding: 18px !important;
    background: var(--forest) !important;
    color: var(--white) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: var(--radius-md);
    letter-spacing: 0.06em !important;
    cursor: pointer !important;
    transition: background var(--duration-fast) !important;
    border: none !important;
    font-family: var(--font-body) !important;
    text-transform: uppercase !important;
}

.cb-form .frm_submit input[type="submit"]:hover,
.cb-form .frm_submit button:hover,
.cb-form button[type="submit"]:hover {
    background: var(--forest-light) !important;
}

.cb-form .frm_description,
.cb-form .frm_error {
    font-family: var(--font-body) !important;
}


/* Newsletter Subscribe Form (id=25) integration styling */
.rs-nl-form-wrap {
    max-width: 640px !important;
    margin: 0 auto !important;
    background: var(--white) !important;
    padding: clamp(30px, 4.5vw, 50px) !important;
    border: 1px solid var(--charcoal-12) !important;
    box-shadow: var(--shadow-lg) !important;
    position: relative !important;
    border-radius: 0 !important;
    text-align: left !important;
    box-sizing: border-box !important;
}

.rs-nl-form-wrap::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, var(--forest), var(--charcoal-42)) !important;
}

.rs-nl-form-wrap form,
.rs-nl-form-wrap .frm_forms {
    max-width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
}

.rs-nl-form-wrap .frm_fields_container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 20px !important;
    max-width: 100% !important;
}

.rs-nl-form-wrap .frm_form_fields {
    width: 100% !important;
}

.rs-nl-form-wrap .frm_form_field {
    grid-column: span 1 !important;
    /* All input fields span 1 to sit side-by-side in pairs */
    margin-bottom: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.rs-nl-form-wrap .frm_primary_label,
.rs-nl-form-wrap label {
    display: none !important;
    /* Hide labels since placeholders are used */
}

.rs-nl-form-wrap input[type="text"],
.rs-nl-form-wrap input[type="email"],
.rs-nl-form-wrap input[type="tel"],
.rs-nl-form-wrap input[type="number"],
.rs-nl-form-wrap input[type="url"],
.rs-nl-form-wrap select,
.rs-nl-form-wrap textarea {
    width: 100% !important;
    padding: 14px 18px !important;
    font-size: 15px !important;
    border: 1px solid var(--charcoal-12) !important;
    border-radius: 4px !important;
    font-family: var(--font-body) !important;
    background: var(--white) !important;
    color: var(--charcoal-deep) !important;
    transition: border-color var(--duration-fast), box-shadow var(--duration-fast) !important;
    box-sizing: border-box !important;
    height: 54px !important;
}

.rs-nl-form-wrap input[type="text"]:focus,
.rs-nl-form-wrap input[type="email"]:focus,
.rs-nl-form-wrap input[type="tel"]:focus,
.rs-nl-form-wrap input[type="number"]:focus,
.rs-nl-form-wrap input[type="url"]:focus,
.rs-nl-form-wrap select:focus,
.rs-nl-form-wrap textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
    box-shadow: 0 0 0 3px var(--forest-pale) !important;
}

/* Captcha container positioning */
.rs-nl-form-wrap #frm_field_328_container,
.rs-nl-form-wrap .frm_form_field:has(.g-recaptcha),
.rs-nl-form-wrap .frm_type_captcha,
.rs-nl-form-wrap .frm_captcha {
    grid-column: span 2 !important;
    /* Span full width */
    display: flex !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    width: 100% !important;
}

/* Submit button container styling */
.rs-nl-form-wrap #frm_field_1429_container,
.rs-nl-form-wrap .frm_form_field:has(.frm_submit),
.rs-nl-form-wrap .frm_submit {
    grid-column: span 2 !important;
    /* Span full width */
    margin-top: 0px !important;
    width: 100% !important;
}

.rs-nl-form-wrap .frm_submit input[type="submit"],
.rs-nl-form-wrap .frm_submit button,
.rs-nl-form-wrap button[type="submit"],
.rs-nl-form-wrap button.frm_button_submit,
.rs-nl-form-wrap .frm_form_field:has(.frm_submit) button {
    width: 100% !important;
    padding: 14px 28px !important;
    background: var(--forest) !important;
    color: var(--white) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    letter-spacing: 0.05em !important;
    cursor: pointer !important;
    transition: background var(--duration-fast) !important;
    border: none !important;
    font-family: var(--font-body) !important;
    text-transform: uppercase !important;
    height: 54px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.rs-nl-form-wrap .frm_submit input[type="submit"]:hover,
.rs-nl-form-wrap .frm_submit button:hover,
.rs-nl-form-wrap button[type="submit"]:hover,
.rs-nl-form-wrap button.frm_button_submit:hover,
.rs-nl-form-wrap .frm_form_field:has(.frm_submit) button:hover {
    background: var(--forest-light) !important;
}

@media (max-width: 580px) {
    .rs-nl-form-wrap .frm_fields_container {
        grid-template-columns: 1fr !important;
    }

    .rs-nl-form-wrap .frm_form_field {
        grid-column: span 2 !important;
    }
}

/* ============ WEBSITES FOR SALE — LISTINGS INDEX (v5, live-structure mirror) ============ */

/* ---- COMPACT HERO ---- */
.wfs-hero {
    background: linear-gradient(160deg, var(--charcoal-deep) 0%, var(--charcoal) 55%, #2a3d47 100%);
    position: relative;
    overflow: hidden;
    padding: clamp(90px, 10vw, 130px) 0 clamp(50px, 6vw, 80px);
}

.wfs-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse 55% 60% at 12% 40%, rgba(74, 124, 63, 0.18) 0%, transparent 60%),
        radial-gradient(ellipse 45% 55% at 90% 60%, rgba(0, 76, 151, 0.10) 0%, transparent 60%);
    pointer-events: none;
}

.wfs-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 40%, transparent 90%);
    -webkit-mask-image: radial-gradient(ellipse 70% 80% at 50% 50%, black 40%, transparent 90%);
    pointer-events: none;
}

.wfs-hero .container {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: clamp(32px, 5vw, 64px);
    align-items: start;
}

.wfs-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 7px 14px;
    border-radius: 100px;
    background: rgba(91, 154, 79, 0.12);
    border: 1px solid rgba(91, 154, 79, 0.28);
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--forest-light);
    margin-bottom: 22px;
}

.wfs-hero-eyebrow::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--forest-light);
    box-shadow: 0 0 12px var(--forest-light);
    animation: wfs-pulse 2s ease-in-out infinite;
}

@keyframes wfs-pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.wfs-hero h1 {
    font-size: clamp(38px, 5vw, 68px);
    color: var(--white);
    line-height: 1.05;
    margin-bottom: 18px;
    letter-spacing: -0.01em;
}

.wfs-hero h1 em {
    font-style: italic;
    color: var(--forest-light);
}

.wfs-hero p {
    font-family: var(--font-body);
    font-size: clamp(15px, 1.5vw, 18px);
    color: rgba(255, 255, 255, 0.7);
    font-weight: 300;
    line-height: 1.65;
    max-width: 560px;
}

.wfs-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(14px, 1.8vw, 20px);
}

.wfs-hero-stat {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius-lg);
    padding: clamp(18px, 2vw, 24px);
    transition: background 0.3s, border-color 0.3s;
}

.wfs-hero-stat:hover {
    background: rgba(91, 154, 79, 0.08);
    border-color: rgba(91, 154, 79, 0.3);
}

.wfs-hero-stat-value {
    font-family: var(--font-display);
    font-size: clamp(26px, 3vw, 36px);
    color: var(--white);
    line-height: 1;
    margin-bottom: 6px;
}

.wfs-hero-stat-value em {
    font-style: italic;
    color: var(--forest-light);
    font-size: 0.62em;
}

.wfs-hero-stat-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

/* ---- Buyer List (PBA) sign-up card — emphasized top-right (Set 1A) ---- */
.wfs-hero-left {
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3vw, 36px);
}

.wfs-pba {
    background: var(--white);
    border-radius: var(--radius-lg);
    padding: clamp(22px, 2.4vw, 30px);
    box-shadow: var(--shadow-md);
}

.wfs-pba__eyebrow {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--forest);
    display: block;
    margin-bottom: 10px;
}

.wfs-pba__title {
    font-family: var(--font-display);
    font-size: clamp(22px, 2.2vw, 28px);
    line-height: 1.12;
    color: var(--charcoal-deep);
    margin: 0 0 8px;
}

.wfs-pba .wfs-pba__sub {
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.55;
    color: var(--charcoal);
    margin: 0 0 18px;
    max-width: none;
}

.wfs-pba__form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wfs-pba__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.wfs-pba__form input {
    width: 100%;
    box-sizing: border-box;
    font-family: var(--font-body);
    font-size: 14px;
    padding: 11px 13px;
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--charcoal-deep);
}

.wfs-pba__form input:focus {
    outline: none;
    border-color: var(--forest);
}

.wfs-pba__form button {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    padding: 12px;
    border: none;
    border-radius: var(--radius-sm);
    background: var(--forest);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s;
}

.wfs-pba__form button:hover {
    background: var(--charcoal-deep);
}

.wfs-pba .wfs-pba__fine {
    font-family: var(--font-body);
    font-size: 11px;
    color: var(--charcoal-42);
    margin: 12px 0 0;
    text-align: center;
}

/* ---- Light header (replaces the dark hero) ---- */
.wfs-head {
    background: var(--white);
    padding: clamp(28px, 4vw, 52px) 0 clamp(20px, 2.5vw, 32px);
}

.wfs-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
    margin-bottom: 18px;
}

.wfs-breadcrumb a {
    color: var(--charcoal-72);
    text-decoration: none;
}

.wfs-breadcrumb a:hover {
    color: var(--forest);
}

.wfs-breadcrumb__sep {
    color: var(--charcoal-72);
    font-size: 16px;
    line-height: 1;
}

.wfs-breadcrumb__current {
    color: var(--charcoal-deep);
    font-weight: 500;
}

.wfs-head h1 {
    font-family: var(--font-display);
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--charcoal-deep);
    margin: 0 0 12px;
}

.wfs-head h1 em {
    font-style: italic;
    color: var(--forest);
}

.wfs-head p {
    font-family: var(--font-body);
    font-size: clamp(15px, 1.4vw, 17px);
    line-height: 1.6;
    color: var(--charcoal-72);
    max-width: 640px;
    margin: 0;
}

/* ---- 2-column listings + sidebar ---- */
.wfs-layout {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--gutter);
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(300px, 26vw, 340px);
    gap: clamp(24px, 3vw, 40px);
    align-items: start;
}

.wfs-list {
    max-width: none;
    padding: 0;
}

.wfs-sidebar {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 2vw, 22px);
    position: sticky;
    top: 90px;
}

.wfs-side-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(18px, 2vw, 24px);
}

.wfs-side-card__eyebrow {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--forest);
    display: block;
    margin-bottom: 14px;
}

.wfs-testi {
    margin: 0 0 14px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--charcoal-05);
}

.wfs-testi:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.wfs-testi p {
    font-family: var(--font-body);
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--charcoal-72);
    font-style: italic;
    margin: 0 0 8px;
}

.wfs-testi cite {
    font-family: var(--font-body);
    font-size: 12px;
    font-style: normal;
    color: var(--charcoal-deep);
    font-weight: 600;
}

.wfs-testi cite span {
    display: block;
    color: var(--charcoal-42);
    font-weight: 400;
}

.wfs-side-more {
    display: inline-block;
    margin-top: 14px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--forest);
    text-decoration: none;
}

.wfs-side-more:hover {
    text-decoration: underline;
}

@media (max-width: 900px) {
    .wfs-layout {
        grid-template-columns: 1fr;
    }
}

/* ---- SEARCH + SORT TOOLBAR ---- */
.wfs-toolbar-wrap {
    position: sticky;
    top: 0;
    z-index: 40;
    background: var(--white);
    border-bottom: 1px solid var(--charcoal-12);
    box-shadow: 0 4px 20px rgba(29, 40, 48, 0.04);
}

.wfs-toolbar {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: clamp(14px, 1.8vw, 20px) var(--gutter);
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px;
    align-items: center;
    justify-content: space-between;
}

.wfs-search {
    display: flex;
    flex: 1 1 320px;
    max-width: 440px;
    position: relative;
}

.wfs-search input[type="search"] {
    flex: 1;
    width: 100%;
    padding: 12px 48px 12px 16px;
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-md);
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--charcoal-deep);
    transition: border-color 0.25s, background 0.25s;
}

.wfs-search input[type="search"]::placeholder {
    color: var(--charcoal-42);
}

.wfs-search input[type="search"]:focus {
    outline: none;
    border-color: var(--forest);
    background: var(--white);
}

.wfs-search button {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: var(--radius-sm);
    background: var(--forest);
    color: var(--white);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background 0.25s;
}

.wfs-search button:hover {
    background: #3a6a31;
}

.wfs-sort {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 18px;
}

.wfs-sort-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

.wfs-sort a {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 500;
    color: var(--charcoal-72);
    padding-bottom: 3px;
    border-bottom: 2px solid transparent;
    transition: color 0.25s, border-color 0.25s;
}

.wfs-sort a:hover {
    color: var(--forest);
}

.wfs-sort a[aria-current="true"] {
    color: var(--charcoal-deep);
    font-weight: 600;
    border-bottom-color: var(--forest);
}

/* ---- LISTINGS ---- */
.wfs-list-section {
    background: var(--cloud);
    padding: clamp(40px, 5vw, 64px) 0 clamp(56px, 7vw, 88px);
}

.wfs-list {
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--gutter);
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 2vw, 24px);
}

.wfs-listing {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) clamp(210px, 21vw, 250px);
    transition: transform 0.3s var(--ease-out), box-shadow 0.3s, border-color 0.3s;
}

.wfs-listing:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
    border-color: var(--forest-12);
}

.wfs-listing-main {
    padding: clamp(22px, 2.6vw, 32px);
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.wfs-flag {
    display: inline-block;
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    padding: 5px 11px;
    border-radius: var(--radius-sm);
    margin-bottom: 12px;
}

.wfs-flag--pending {
    background: rgba(218, 145, 0, 0.10);
    color: #8f5d00;
    border: 1px solid rgba(218, 145, 0, 0.30);
}

.wfs-flag--current {
    background: rgba(91, 154, 79, 0.12);
    color: var(--forest);
    border: 1px solid rgba(91, 154, 79, 0.30);
}

.wfs-flag--archived {
    background: var(--charcoal-05);
    color: var(--charcoal-42);
    border: 1px solid var(--charcoal-12);
}

.wfs-listing-title {
    font-family: var(--font-display);
    font-size: clamp(20px, 2vw, 26px);
    line-height: 1.25;
    margin-bottom: 8px;
}

.wfs-listing-title a {
    color: var(--charcoal-deep);
    transition: color 0.25s;
}

.wfs-listing-title a:hover {
    color: var(--forest);
}

.wfs-listing-cat {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
    margin-bottom: 14px;
}

.wfs-badges {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
    padding: 0;
}

.wfs-badges li {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-body);
    font-size: 11.5px;
    font-weight: 600;
    color: var(--charcoal);
    background: var(--sage);
    border: 1px solid var(--charcoal-12);
    border-radius: 100px;
    padding: 4px 12px;
}

.wfs-badges li::before {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--forest);
    flex-shrink: 0;
}

.wfs-teaser {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--charcoal-72);
    line-height: 1.65;
    margin-bottom: 18px;
    max-width: 72ch;
}

.wfs-more {
    color: var(--forest);
    font-weight: 600;
    white-space: nowrap;
}

.wfs-more:hover {
    text-decoration: underline;
}

.wfs-listing-meta {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 24px;
    font-family: var(--font-body);
    font-size: 12.5px;
    color: var(--charcoal-72);
}

.wfs-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.wfs-meta-item svg {
    flex-shrink: 0;
    color: var(--forest);
}

.wfs-meta-item strong {
    color: var(--charcoal-deep);
    font-weight: 600;
}

.wfs-listing-fin {
    padding: clamp(22px, 2.6vw, 32px) clamp(22px, 2.6vw, 32px) clamp(22px, 2.6vw, 32px) clamp(6px, 1vw, 12px);
    display: flex;
    flex-direction: column;
}

.wfs-fin-list {
    margin: 0 0 14px;
}

.wfs-fin-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    padding: 7px 0;
    border-bottom: 1px solid var(--charcoal-12);
}

.wfs-fin-row dt {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

.wfs-fin-row dd {
    font-family: var(--font-display);
    font-size: 15px;
    color: var(--charcoal-deep);
    margin: 0;
    text-align: right;
}

.wfs-fin-row--ask {
    border-bottom: none;
    padding-top: 14px;
}

.wfs-fin-row--ask dd {
    font-size: clamp(18px, 1.7vw, 21px);
    color: var(--forest);
}

.wfs-details {
    margin-top: auto;
    display: block;
    text-align: center;
    padding: 12px 18px;
    background: var(--charcoal-deep);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--radius-md);
    transition: background 0.3s;
}

.wfs-details:hover {
    background: var(--forest);
    color: var(--white);
}

/* ---- PAGINATION ---- */
.wfs-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: clamp(36px, 4.5vw, 56px);
}

.wfs-page {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    color: var(--charcoal-72);
    transition: all 0.25s;
}

a.wfs-page:hover {
    border-color: var(--forest);
    color: var(--forest);
}

.wfs-page.is-current {
    background: var(--forest);
    border-color: var(--forest);
    color: var(--white);
}

/* ---- SELLER STRIP ---- */
.wfs-sell-strip {
    background: linear-gradient(120deg, var(--forest) 0%, #3a6a31 100%);
    padding: clamp(30px, 4vw, 44px) 0;
}

.wfs-sell-strip .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 18px 32px;
}

.wfs-sell-strip h2 {
    font-family: var(--font-display);
    font-style: italic;
    font-size: clamp(22px, 2.6vw, 30px);
    color: var(--white);
    margin-bottom: 4px;
    line-height: 1.2;
}

.wfs-sell-strip p {
    font-family: var(--font-body);
    font-size: 14.5px;
    color: rgba(255, 255, 255, 0.8);
    margin: 0;
}

.wfs-sell-btn {
    display: inline-block;
    padding: 13px 26px;
    background: var(--white);
    color: var(--forest);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    border-radius: var(--radius-md);
    white-space: nowrap;
    transition: transform 0.25s, box-shadow 0.25s;
}

.wfs-sell-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(29, 40, 48, 0.22);
    color: var(--forest);
}

/* ---- RESPONSIVE ---- */
@media (max-width: 1120px) {
    .wfs-hero .container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 860px) {
    .wfs-listing {
        grid-template-columns: 1fr;
    }

    /* Stacked card: financial strip's left padding must match the body text
         (desktop uses a slim left pad because the strip sits in its own column) */
    .wfs-listing-fin {
        border-left: none;
        border-top: 1px solid var(--charcoal-12);
        padding-left: clamp(22px, 2.6vw, 32px);
    }

    .wfs-details {
        margin-top: 4px;
    }

    .wfs-toolbar {
        justify-content: flex-start;
    }
}

@media (max-width: 580px) {
    .wfs-hero-stats {
        grid-template-columns: repeat(2, 1fr);
    }

    .wfs-sort {
        gap: 6px 14px;
    }
}

/* Tighter gap between the closing CTA and the footer on this page */
.closing {
    padding-bottom: clamp(48px, 6vw, 80px);
}

/* ============ BUSINESS-FOR-SALE LISTING TEMPLATE ============ */

/* --- Breadcrumb --- */
.lst-breadcrumb {
    background: var(--white);
    border-bottom: 1px solid var(--charcoal-05);
}

.lst-breadcrumb__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
}

.lst-breadcrumb a {
    color: var(--charcoal-72);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-out);
}

.lst-breadcrumb a:hover {
    color: var(--forest);
}

.lst-breadcrumb__sep {
    color: var(--charcoal-72);
    font-size: 16px;
    line-height: 1;
}

.lst-breadcrumb__current {
    color: var(--charcoal-deep);
    font-weight: 500;
}

/* --- Layout --- */
.lst-wrap {
    padding: clamp(32px, 4vw, 56px) 0 var(--space-section);
}

.lst-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: clamp(40px, 5vw, 72px);
    align-items: start;
}

@media (max-width: 940px) {
    .lst-grid {
        grid-template-columns: 1fr;
    }

    .lst-rail {
        position: static;
    }
}

/* --- Status + header --- */
.lst-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    padding: 6px 13px;
    border-radius: 999px;
    margin-bottom: var(--space-sm);
    background: rgba(180, 120, 30, 0.12);
    color: #9a6a16;
}

.lst-status::before {
    content: '';
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.lst-status--forsale {
    background: var(--forest-pale, rgba(45, 74, 52, 0.1));
    color: var(--forest);
}

.lst-status--sold {
    background: var(--charcoal-05);
    color: var(--charcoal-42);
}

.lst-title {
    font-family: var(--font-display);
    font-size: clamp(30px, 3.6vw, 46px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--charcoal-deep);
    margin: 0 0 var(--space-sm);
}

.lst-metaline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--charcoal-12);
}

.lst-metaline span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.lst-metaline svg {
    width: 14px;
    height: 14px;
    color: var(--forest);
}

.lst-price {
    display: inline-flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
    margin: var(--space-md) 0 var(--space-sm);
    padding: 14px 24px;
    background: var(--forest-pale, rgba(45, 74, 52, 0.07));
    border: 1px solid var(--forest-12, rgba(45, 74, 52, 0.18));
    border-radius: var(--radius-md);
}

.lst-price__label {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

.lst-price__value {
    font-family: var(--font-display);
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1;
    color: var(--forest);
}

/* --- Prose --- */
.lst-section-h {
    font-family: var(--font-display);
    font-size: var(--display-sm);
    color: var(--charcoal-deep);
    margin: clamp(34px, 3.5vw, 48px) 0 var(--space-sm);
}

.lst-subh {
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--charcoal-deep);
    margin: var(--space-md) 0 var(--space-xs);
}

.lst-prose p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.75;
    color: var(--charcoal-72);
    margin: 0 0 var(--space-md);
}

.lst-prose ul {
    list-style: none;
    padding: 0;
    margin: var(--space-sm) 0 var(--space-md);
}

.lst-prose ul li {
    padding: 9px 0 9px 24px;
    position: relative;
    border-bottom: 1px solid var(--charcoal-05);
    font-family: var(--font-body);
    font-size: 15px;
    line-height: 1.6;
    color: var(--charcoal-72);
}

.lst-prose ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--forest);
}

.lst-finsummary {
    margin: var(--space-md) 0;
}

/* Key Benefits gets the green shading */
.lst-keybenefits {
    background: var(--forest-pale, rgba(45, 74, 52, 0.07));
    border: 1px solid var(--forest-12, rgba(45, 74, 52, 0.18));
    border-radius: var(--radius-md);
    padding: clamp(6px, 1.4vw, 14px) clamp(18px, 2vw, 26px);
    margin: var(--space-sm) 0 var(--space-md);
}

.lst-keybenefits ul {
    margin: 0;
}

.lst-keybenefits li:last-child {
    border-bottom: none;
}

/* Cohesive CTAs used in the sidebar AND at the bottom */
.lst-cta-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    box-sizing: border-box;
    padding: 13px 20px;
    background: var(--forest);
    color: #fff;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: background .2s;
}

.lst-cta-primary:hover {
    background: var(--charcoal-deep);
}

.lst-cta-primary svg {
    width: 15px;
    height: 15px;
}

.lst-cta-ghost {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    box-sizing: border-box;
    padding: 11px 18px;
    background: transparent;
    color: var(--forest);
    border: 1px solid var(--forest-12, rgba(45, 74, 52, 0.3));
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all .2s;
}

.lst-cta-ghost:hover {
    background: var(--forest);
    color: #fff;
    border-color: var(--forest);
}

.lst-side-cta {
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(20px, 2.2vw, 26px);
}

.lst-side-cta__q {
    font-family: var(--font-display);
    font-size: clamp(18px, 1.8vw, 22px);
    color: var(--charcoal-deep);
    line-height: 1.25;
    margin: 0 0 14px;
}

.lst-side-cta .lst-cta-ghost {
    margin-top: 10px;
}

.lst-join {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2vw, 20px);
    flex-wrap: wrap;
    margin: var(--space-lg) 0 0;
    padding: clamp(18px, 2vw, 22px) clamp(18px, 2.2vw, 26px);
    background: var(--forest-pale, rgba(45, 74, 52, 0.07));
    border: 1px solid var(--forest-12, rgba(45, 74, 52, 0.18));
    border-radius: var(--radius-md);
}

.lst-join__icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--forest);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.lst-join__icon svg {
    width: 20px;
    height: 20px;
}

.lst-join__text {
    flex: 1 1 260px;
    min-width: 0;
}

.lst-join__title {
    font-family: var(--font-display);
    font-size: clamp(17px, 1.7vw, 20px);
    color: var(--charcoal-deep);
    margin: 0 0 3px;
    line-height: 1.2;
}

.lst-join__sub {
    font-family: var(--font-body);
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--charcoal-72);
    margin: 0;
}

.lst-join .lst-cta-ghost {
    width: auto;
    flex-shrink: 0;
}

#inquiry {
    scroll-margin-top: 90px;
}

.lst-finsummary__row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    font-family: var(--font-body);
    font-size: 15px;
    padding: 6px 0;
    color: var(--charcoal-72);
}

.lst-finsummary__row strong {
    color: var(--charcoal-deep);
    font-weight: 600;
}

.lst-finsummary__note {
    font-family: var(--font-body);
    font-size: 12px;
    color: var(--charcoal-42);
    line-height: 1.5;
    margin: 10px 0 0;
    font-style: italic;
}

/* --- Data tables --- */
.lst-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-md);
    overflow: hidden;
    margin: var(--space-sm) 0 var(--space-md);
}

.lst-table tr {
    border-bottom: 1px solid var(--charcoal-12);
}

.lst-table tr:last-child {
    border-bottom: none;
}

.lst-table th,
.lst-table td {
    text-align: left;
    padding: 13px clamp(14px, 1.6vw, 20px);
    font-family: var(--font-body);
    font-size: 14px;
    vertical-align: top;
}

.lst-table th {
    width: 42%;
    font-weight: 600;
    color: var(--charcoal-deep);
    background: var(--cloud);
}

.lst-table td {
    color: var(--charcoal-72);
}

/* --- Forms (shared) --- */
.lst-form {
    background: var(--cloud);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(22px, 2.4vw, 30px);
    margin-top: var(--space-lg);
}

.lst-form__eyebrow {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--forest);
    display: block;
    margin-bottom: 10px;
}

.lst-form__title {
    font-family: var(--font-display);
    font-size: clamp(21px, 2vw, 27px);
    line-height: 1.12;
    color: var(--charcoal-deep);
    margin: 0 0 8px;
}

.lst-form__sub {
    font-family: var(--font-body);
    font-size: 13px;
    line-height: 1.55;
    color: var(--charcoal);
    margin: 0 0 18px;
}

.lst-field {
    margin-bottom: 14px;
}

.lst-field label {
    display: block;
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: var(--charcoal-deep);
    margin-bottom: 6px;
}

.lst-field label .req {
    color: var(--forest);
}

.lst-field input,
.lst-field textarea {
    width: 100%;
    box-sizing: border-box;
    font-family: var(--font-body);
    font-size: 14px;
    padding: 10px 12px;
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--charcoal-deep);
    transition: border-color 0.2s;
}

.lst-field input:focus,
.lst-field textarea:focus {
    outline: none;
    border-color: var(--forest);
}

.lst-field textarea {
    min-height: 90px;
    resize: vertical;
}

.lst-field--row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.lst-form__submit {
    width: 100%;
    margin-top: 6px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    padding: 12px;
    border: none;
    border-radius: var(--radius-sm);
    background: var(--forest);
    color: #fff;
    cursor: pointer;
    transition: background 0.2s;
}

.lst-form__submit:hover {
    background: var(--charcoal-deep);
}

.lst-form__note {
    font-family: var(--font-body);
    font-size: 11px;
    color: rgba(31, 41, 51, 0.5);
    margin: 12px 0 0;
    text-align: center;
}

/* sidebar scrolls normally (a second form lives at the bottom of the article) */
.lst-rail {
    position: sticky;
    top: 90px;
}

.lst-rail>*+* {
    margin-top: var(--space-lg);
}

/* --- Sidebar widgets: testimonials + suggested listings --- */
.lst-side-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-lg);
    padding: clamp(20px, 2.2vw, 26px);
}

.lst-side-card__eyebrow {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--forest);
    display: block;
    margin-bottom: 14px;
}

.lst-testi {
    margin: 0 0 16px;
    padding: 0 0 16px;
    border-bottom: 1px solid var(--charcoal-05);
}

.lst-testi:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.lst-testi__quote {
    font-family: var(--font-body);
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--charcoal-72);
    margin: 0 0 8px;
    font-style: italic;
}

.lst-testi__cite {
    font-family: var(--font-body);
    font-size: 12px;
    font-style: normal;
    color: var(--charcoal-deep);
    font-weight: 600;
}

.lst-testi__cite span {
    display: block;
    color: var(--charcoal-42);
    font-weight: 400;
}

.lst-side-more {
    display: inline-block;
    margin-top: 14px;
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    color: var(--forest);
    text-decoration: none;
}

.lst-side-more:hover {
    text-decoration: underline;
}

.lst-side-listing {
    display: block;
    text-decoration: none;
    padding: 12px 0;
    border-bottom: 1px solid var(--charcoal-05);
    transition: opacity var(--duration-fast) var(--ease-out);
}

.lst-side-listing:first-of-type {
    padding-top: 0;
}

.lst-side-listing:hover {
    opacity: 0.7;
}

.lst-side-listing__status {
    font-family: var(--font-body);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
}

.lst-side-listing__title {
    font-family: var(--font-display);
    font-size: 15px;
    line-height: 1.25;
    color: var(--charcoal-deep);
    margin: 3px 0 2px;
}

.lst-side-listing__price {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    color: var(--charcoal-72);
}

/* Ensure Formidable Forms styled within single listing details */
.lst-prose .frm_forms,
.lst-prose .frm_forms form,
.lst-prose .frm_form_fields,
.lst-prose .frm_form_fields>fieldset,
.lst-prose .frm_fields_container {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.lst-prose .with_frm_style .frm_form_fields>fieldset,
.lst-prose .frm_form_fields>fieldset,
.lst-prose .frm_fields_container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.lst-prose .frm_form_field {
    width: 100% !important;
    flex: 1 1 100% !important;
    margin: 0 0 8px 0 !important;
}

.lst-prose .frm_form_field.frm_half,
.lst-prose .frm_form_field.frm_first_half,
.lst-prose .frm_form_field.frm_last_half {
    width: calc(50% - 6px) !important;
    flex: 0 0 calc(50% - 6px) !important;
}

@media (max-width: 600px) {

    .lst-prose .frm_form_field.frm_half,
    .lst-prose .frm_form_field.frm_first_half,
    .lst-prose .frm_form_field.frm_last_half {
        width: 100% !important;
        flex: 1 1 100% !important;
    }
}

/* Formidable Label Overrides to match standard sans-serif and casing */
.lst-prose .frm_forms label.frm_primary_label,
.lst-prose .frm_forms label,
.lst-prose .frm_forms .frm_primary_label {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: var(--charcoal-deep) !important;
    margin: 0 0 6px 0 !important;
    display: inline-block !important;
}

.lst-prose .frm_forms .frm_required,
.lst-prose .frm_forms label .req {
    color: var(--error, #d93025) !important;
    font-weight: 600 !important;
}

/* Hide hidden fields completely to prevent extra gaps/margins in flex container */
.lst-prose .frm_form_field.frm_hidden,
.lst-prose .frm_form_field.frm_none_container,
.lst-prose .frm_form_field:has(input[type="hidden"]):not(:has(input[type="text"])):not(:has(input[type="email"])):not(:has(input[type="tel"])):not(:has(textarea)):not(:has(select)) {
    display: none !important;
}

/* Input & Textarea Styling */
.lst-prose .frm_forms input[type="text"],
.lst-prose .frm_forms input[type="email"],
.lst-prose .frm_forms input[type="tel"],
.lst-prose .frm_forms textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--charcoal-12) !important;
    border-radius: var(--radius-sm) !important;
    background: #fff !important;
    color: var(--charcoal-deep) !important;
    transition: border-color 0.2s !important;
}

.lst-prose .frm_forms input[type="text"]:focus,
.lst-prose .frm_forms input[type="email"]:focus,
.lst-prose .frm_forms input[type="tel"]:focus,
.lst-prose .frm_forms textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
}

/* Submit Button Override */
.lst-prose .frm_submit button,
.lst-prose .frm_submit input[type="submit"],
.lst-prose .frm_submit input[type="button"] {
    width: 100% !important;
    background: var(--forest) !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    padding: 12px !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    font-size: 14px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
}

.lst-prose .frm_submit button:hover,
.lst-prose .frm_submit input[type="submit"]:hover,
.lst-prose .frm_submit input[type="button"]:hover {
    background: var(--charcoal-deep) !important;
}

/* ============ CONFIRMATION / THANK-YOU TEMPLATE ============ */
.cnf-wrap {
    padding: clamp(72px, 9vw, 100px) 0 clamp(56px, 7vw, 100px);
    text-align: center;
}

.cnf-inner {
    max-width: 660px;
    margin: 0 auto;
}

/* --- Success checkmark --- */
.cnf-check {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: var(--forest-pale, rgba(74, 124, 63, 0.10));
    border: 1px solid var(--forest-12, rgba(45, 74, 52, 0.18));
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-lg);
    color: var(--forest);
}

.cnf-check svg {
    width: 34px;
    height: 34px;
}

/* --- Headline + confirmation copy --- */
.cnf-title {
    font-family: var(--font-display);
    font-size: var(--display-md);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--charcoal-deep);
    margin: 0 0 clamp(12px, 1.5vw, 18px);
}

.cnf-title em {
    font-style: italic;
    color: var(--forest);
}

.cnf-lede {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    line-height: 1.6;
    font-weight: 300;
    color: var(--charcoal-72);
    max-width: 560px;
    margin: 0 auto;
}

/* --- Content rendered by the_content() inside confirmation page --- */
.cnf-content {
    max-width: 100%;
    margin: 0 auto;
}

/* Strip extra top margin and padding from the first element inside the_content */
.cnf-content>*:first-child,
.cnf-content .wp-block-group>*:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Strip extra bottom margin and padding from the last element inside the_content */
.cnf-content>*:last-child,
.cnf-content .wp-block-group>*:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Ensure any paragraphs rendered in the_content style cleanly without excess margin */
.cnf-content>p,
.cnf-content .wp-block-group>p {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    line-height: 1.6;
    font-weight: 300;
    color: var(--charcoal-72);
    max-width: 560px;
    margin: 0 auto 20px;
}

/* Hide empty paragraphs and spacers generated by Gutenberg or wpautop breaks */
.cnf-content p:empty,
.cnf-content .wp-block-spacer {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* --- "What happens next" list --- */
.cnf-next {
    max-width: 520px;
    margin: clamp(20px, 2.5vw, 28px) auto 0;
    text-align: left;
    list-style: none;
    padding: 0;
    border-top: 1px solid var(--charcoal-12);
}

.cnf-next__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: clamp(16px, 2vw, 22px) 0;
    border-bottom: 1px solid var(--charcoal-12);
}

.cnf-next__num {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--forest);
    color: var(--white);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cnf-next__text {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.6;
    color: var(--charcoal-72);
    padding-top: 3px;
}

.cnf-next__text strong {
    color: var(--charcoal-deep);
    font-weight: 600;
}

/* --- CTA row --- */
.cnf-ctas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin-top: clamp(20px, 2.5vw, 28px);
}

.cnf-btn {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    padding: 13px 26px;
    border-radius: var(--radius-sm, 6px);
    text-decoration: none;
    transition: background var(--duration-base) var(--ease-out),
        color var(--duration-base) var(--ease-out),
        border-color var(--duration-base) var(--ease-out),
        transform var(--duration-base) var(--ease-out);
}

.cnf-btn--primary {
    background: var(--forest);
    color: var(--white);
    border: 1px solid var(--forest);
}

.cnf-btn--primary:hover {
    background: var(--charcoal-deep);
    border-color: var(--charcoal-deep);
    transform: translateY(-2px);
}

.cnf-btn--ghost {
    background: transparent;
    color: var(--charcoal-deep);
    border: 1px solid var(--charcoal-12);
}

.cnf-btn--ghost:hover {
    border-color: var(--forest);
    color: var(--forest);
    transform: translateY(-2px);
}

/* --- Blog Archive Breadcrumb --- */
.arx-breadcrumb {
    background: var(--white);
    border-bottom: 1px solid var(--charcoal-05);
}

.arx-breadcrumb__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
}

.arx-breadcrumb a {
    color: var(--charcoal-72);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-out);
}

.arx-breadcrumb a:hover {
    color: var(--forest);
}

.arx-breadcrumb__sep {
    color: var(--charcoal-72);
    font-size: 16px;
    line-height: 1;
}

.arx-breadcrumb__current {
    color: var(--charcoal-deep);
    font-weight: 500;
}

/* ============ BLOG POST TEMPLATE ============ */

/* --- Breadcrumb --- */
.post-breadcrumb {
    background: var(--white);
    border-bottom: 1px solid var(--charcoal-05);
}

.post-breadcrumb__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
}

.post-breadcrumb a {
    color: var(--charcoal-72);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-out);
}

.post-breadcrumb a:hover {
    color: var(--forest);
}

.post-breadcrumb__sep {
    color: var(--charcoal-72);
    font-size: 16px;
    line-height: 1;
}

.post-breadcrumb__current {
    color: var(--charcoal-deep);
    font-weight: 500;
}

/* --- Layout: article + sticky form rail --- */
.post-wrap {
    padding: clamp(36px, 5vw, 64px) 0 clamp(28px, 3vw, 40px);
}

.post-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: clamp(40px, 5vw, 72px);
    align-items: start;
}

@media (max-width: 940px) {
    .post-grid {
        grid-template-columns: 1fr;
    }
}

/* --- Post header --- */
.post-title {
    font-family: var(--font-display);
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--charcoal-deep);
    margin: 0 0 var(--space-md);
}

.post-title em {
    font-style: italic;
    color: var(--forest);
}

.post-byline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--charcoal-12);
    margin-bottom: var(--space-lg);
}

.post-byline__avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--charcoal-deep);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 16px;
    flex-shrink: 0;
}

.post-byline__author {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 600;
    color: var(--charcoal-deep);
}

.post-byline__meta {
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
}

.post-byline__cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: auto;
}

.post-byline__cat {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--forest);
    text-decoration: none;
    padding: 4px 10px;
    border: 1px solid var(--forest-12, rgba(45, 74, 52, 0.2));
    border-radius: 999px;
    transition: all var(--duration-fast) var(--ease-out);
}

.post-byline__cat:hover {
    background: var(--forest);
    color: var(--white);
}

/* --- Featured image --- */
.post-featured {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: var(--space-lg);
    border: 1px solid var(--charcoal-12);
    aspect-ratio: 16 / 9;
    background: var(--cloud);
}

.post-featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.post-featured__note {
    position: absolute;
    left: 12px;
    bottom: 12px;
    font-family: var(--font-body);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--white);
    background: rgba(31, 41, 51, 0.6);
    padding: 4px 10px;
    border-radius: 4px;
}

.post-lede {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    line-height: 1.6;
    color: var(--charcoal-72);
    font-weight: 300;
    margin: 0 0 var(--space-lg);
}

/* --- Prose --- */
.post-prose h2 {
    font-family: var(--font-display);
    font-size: var(--display-sm);
    color: var(--charcoal-deep);
    margin: clamp(36px, 4vw, 52px) 0 var(--space-sm);
    line-height: 1.15;
}

.post-prose h2 em {
    font-style: italic;
    color: var(--forest);
}

.post-prose p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.8;
    color: var(--charcoal-72);
    margin: 0 0 var(--space-md);
}

.post-prose p strong {
    color: var(--charcoal-deep);
}

.post-prose a {
    color: var(--forest);
    text-decoration: none;
    border-bottom: 1px solid var(--forest-12, rgba(45, 74, 52, 0.3));
}

.post-prose a:hover {
    border-bottom-color: var(--forest);
}

.post-prose blockquote {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-style: italic;
    color: var(--charcoal-deep);
    border-left: 3px solid var(--forest);
    padding: var(--space-sm) 0 var(--space-sm) var(--space-lg);
    margin: var(--space-lg) 0;
    line-height: 1.45;
}

.post-prose ul {
    list-style: none;
    padding: 0;
    margin: var(--space-md) 0;
}

.post-prose ul li {
    padding: 12px 0 12px 24px;
    position: relative;
    border-bottom: 1px solid var(--charcoal-05);
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.7;
    color: var(--charcoal-72);
}

.post-prose ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 20px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--forest);
}

.post-prose ul li strong {
    color: var(--charcoal-deep);
}

/* --- Share row --- */
.post-share {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin: var(--space-xl) 0 0;
    padding-top: var(--space-lg);
    border-top: 1px solid var(--charcoal-12);
}

.post-share__label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--charcoal-42);
}

.post-share__links {
    display: flex;
    gap: 10px;
}

.post-share__btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--charcoal-12);
    color: var(--charcoal-deep);
    transition: all var(--duration-fast) var(--ease-out);
}

.post-share__btn:hover {
    background: var(--forest);
    border-color: var(--forest);
    color: var(--white);
    transform: translateY(-2px);
}

.post-share__btn svg {
    width: 17px;
    height: 17px;
}

/* --- Sticky valuation form (ported from blog index) --- */
.post-rail {
    position: sticky;
    top: 92px;
}

/* --- Related / You may also like cards --- */
.post-cards-section {
    background: var(--cloud);
    border-top: 1px solid var(--charcoal-12);
    padding: clamp(40px, 4.5vw, 60px) 0 clamp(48px, 6vw, 80px);
}

.post-cards-section__pre {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--forest);
    margin-bottom: 10px;
}

.post-cards-section__title {
    font-family: var(--font-display);
    font-size: var(--display-sm);
    color: var(--charcoal-deep);
    margin: 0 0 var(--space-lg);
}

.post-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(20px, 2.5vw, 32px);
}

@media (max-width: 800px) {
    .post-cards {
        grid-template-columns: 1fr;
    }
}

.post-card {
    background: var(--white);
    border: 1px solid var(--charcoal-12);
    border-radius: var(--radius-md);
    padding: clamp(20px, 2vw, 26px);
    text-decoration: none;
    display: block;
    transition: transform var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);
}

.post-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-md);
}

.post-card__cat {
    font-family: var(--font-body);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--forest);
    display: block;
    margin-bottom: 10px;
}

.post-card__title {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    line-height: 1.2;
    color: var(--charcoal-deep);
    margin: 0 0 10px;
}

.post-card__excerpt {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    color: var(--charcoal-72);
    margin: 0 0 14px;
}

.post-card__more {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--forest);
}

/* ============ LEGAL / POLICY PAGE TEMPLATE ============ */

/* --- Breadcrumb (matches listing-example .lst-breadcrumb) --- */
.lgl-breadcrumb {
    background: var(--white);
    border-bottom: 1px solid var(--charcoal-05);
}

.lgl-breadcrumb__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
}

.lgl-breadcrumb a {
    color: var(--charcoal-72);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-out);
}

.lgl-breadcrumb a:hover {
    color: var(--forest);
}

.lgl-breadcrumb__sep {
    color: var(--charcoal-72);
    font-size: 16px;
    line-height: 1;
}

.lgl-breadcrumb__current {
    color: var(--charcoal-deep);
    font-weight: 500;
}

/* --- Layout: single readable column --- */
.lgl-wrap {
    padding: clamp(40px, 5vw, 72px) 0 var(--space-section);
}

.lgl-prose {
    max-width: 720px;
}

/* --- Header --- */
.lgl-prose__updated {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--charcoal-42);
    margin: 0 0 var(--space-sm);
}

.lgl-prose h1 {
    font-family: var(--font-display);
    font-size: var(--display-md);
    color: var(--charcoal-deep);
    line-height: 1.1;
    margin: 0 0 var(--space-lg);
    padding-bottom: var(--space-md);
    border-bottom: 2px solid var(--charcoal-deep);
}

/* --- Section headings (used when a policy page is divided into sections) --- */
.lgl-prose h2 {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    color: var(--charcoal-deep);
    margin: clamp(32px, 4vw, 48px) 0 var(--space-sm);
    padding-top: var(--space-md);
    border-top: 1px solid var(--charcoal-12);
}

/* --- Body copy --- */
.lgl-prose p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.8;
    color: var(--charcoal-72);
    margin: 0 0 var(--space-md);
}

.lgl-prose p strong {
    color: var(--charcoal-deep);
}

.lgl-prose a {
    color: var(--forest);
    text-decoration: none;
    border-bottom: 1px solid var(--forest-12, rgba(45, 74, 52, 0.3));
}

.lgl-prose a:hover {
    border-bottom-color: var(--forest);
}

.lgl-prose ul {
    list-style: none;
    padding: 0;
    margin: var(--space-sm) 0 var(--space-md);
}

.lgl-prose ul li {
    padding: 9px 0 9px 24px;
    position: relative;
    border-bottom: 1px solid var(--charcoal-05);
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.6;
    color: var(--charcoal-72);
}

.lgl-prose ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--forest);
}

/* --- Sign-off line --- */
.lgl-prose__signoff {
    margin-top: clamp(40px, 5vw, 64px);
    padding-top: clamp(20px, 2vw, 28px);
    border-top: 1px solid var(--charcoal-12);
    color: var(--charcoal-42);
    font-size: 13px;
}

/* ============ IN-THE-NEWS / PRESS FEATURE TEMPLATE ============ */

/* --- Breadcrumb (matches listing-example .lst-breadcrumb conventions) --- */
.pf-breadcrumb {
    background: var(--white);
    border-bottom: 1px solid var(--charcoal-05);
}

.pf-breadcrumb__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 18px 0;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
}

.pf-breadcrumb a {
    color: var(--charcoal-72);
    text-decoration: none;
    transition: color var(--duration-fast) var(--ease-out);
}

.pf-breadcrumb a:hover {
    color: var(--forest);
}

.pf-breadcrumb__sep {
    color: var(--charcoal-72);
    font-size: 16px;
    line-height: 1;
}

.pf-breadcrumb__current {
    color: var(--charcoal-deep);
    font-weight: 500;
}

/* --- Layout: single column, centered measure --- */
.pf-wrap {
    padding: clamp(36px, 5vw, 64px) 0 clamp(28px, 3vw, 40px);
}

.pf-col {
    max-width: 760px;
    margin: 0 auto;
}

/* --- Header --- */
.pf-title {
    font-family: var(--font-display);
    font-size: clamp(32px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: var(--charcoal-deep);
    margin: 0 0 var(--space-md);
}

.pf-title em {
    font-style: italic;
    color: var(--forest);
}

.pf-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--charcoal-12);
    margin-bottom: var(--space-lg);
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--charcoal-42);
}

.pf-meta__badge {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--forest);
    text-decoration: none;
    padding: 4px 11px;
    border: 1px solid var(--forest-12, rgba(45, 74, 52, 0.2));
    border-radius: 999px;
    transition: all var(--duration-fast) var(--ease-out);
}

.pf-meta__badge:hover {
    background: var(--forest);
    color: var(--white);
}

.pf-meta__pub {
    font-family: var(--font-display);
    font-style: italic;
    font-size: 17px;
    color: var(--charcoal-deep);
}

.pf-meta__date {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.pf-meta__date svg {
    width: 14px;
    height: 14px;
    color: var(--forest);
}

/* --- Featured image (matches blog-post-example .post-featured) --- */
.pf-featured {
    position: relative;
    border-radius: var(--radius-md);
    overflow: hidden;
    margin-bottom: var(--space-lg);
    border: 1px solid var(--charcoal-12);
    aspect-ratio: 16 / 9;
    background: var(--cloud);
}

.pf-featured img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pf-featured__note {
    position: absolute;
    left: 12px;
    bottom: 12px;
    font-family: var(--font-body);
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--white);
    background: rgba(31, 41, 51, 0.6);
    padding: 4px 10px;
    border-radius: 4px;
}

.pf-lede {
    font-family: var(--font-body);
    font-size: var(--text-lg);
    line-height: 1.6;
    color: var(--charcoal-72);
    font-weight: 300;
    margin: 0 0 var(--space-lg);
}

/* --- Prose --- */
.pf-prose h2 {
    font-family: var(--font-display);
    font-size: var(--display-sm);
    color: var(--charcoal-deep);
    margin: clamp(36px, 4vw, 52px) 0 var(--space-sm);
    line-height: 1.15;
}

.pf-prose h2 em {
    font-style: italic;
    color: var(--forest);
}

.pf-prose p {
    font-family: var(--font-body);
    font-size: var(--text-base);
    line-height: 1.8;
    color: var(--charcoal-72);
    margin: 0 0 var(--space-md);
}

.pf-prose p strong {
    color: var(--charcoal-deep);
}

.pf-prose a {
    color: var(--forest);
    text-decoration: none;
    border-bottom: 1px solid var(--forest-12, rgba(45, 74, 52, 0.3));
}

.pf-prose a:hover {
    border-bottom-color: var(--forest);
}

.pf-prose blockquote {
    font-family: var(--font-display);
    font-size: var(--text-xl);
    font-style: italic;
    color: var(--charcoal-deep);
    border-left: 3px solid var(--forest);
    padding: var(--space-sm) 0 var(--space-sm) var(--space-lg);
    margin: var(--space-lg) 0;
    line-height: 1.45;
}

/* --- Source link-out --- */
.pf-source {
    margin: var(--space-xl) 0 0;
    padding-top: var(--space-lg);
    border-top: 1px solid var(--charcoal-12);
}

.pf-source__label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--charcoal-42);
    margin: 0 0 10px;
}

.pf-source__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-display);
    font-size: var(--text-lg);
    color: var(--forest);
    text-decoration: none;
    transition: gap var(--duration-fast) var(--ease-out);
}

.pf-source__link:hover {
    gap: 12px;
}

.pf-source__link svg {
    width: 18px;
    height: 18px;
}

.hide-conf-sec {
    display: none;
}

/* ============ PROSPECTUS SINGLE TEMPLATE OVERRIDES ============ */
.prospectus-single-wrap {
    background-color: var(--white);
}

.prospectus-single-container {
    max-width: 840px !important;
    margin: 0 auto !important;
    padding: clamp(32px, 4vw, 56px) 20px var(--space-section) !important;
}

.prospectus-eyebrow {
    color: var(--forest) !important;
    font-family: var(--font-body) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    display: block !important;
    margin-bottom: 12px !important;
}

.prospectus-title {
    font-family: var(--font-display) !important;
    font-size: clamp(36px, 5vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    color: var(--charcoal-deep) !important;
    margin: 0 0 12px !important;
}

.prospectus-subtitle {
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    color: var(--charcoal-72) !important;
    margin: 0 0 28px !important;
}

.prospectus-meta-divider-top {
    border: 0 !important;
    border-top: 1px solid var(--charcoal-12) !important;
    margin: 24px 0 16px !important;
}

.prospectus-meta-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px !important;
    margin-bottom: 16px !important;
    font-family: var(--font-body) !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}

.prospectus-meta-grid strong {
    color: var(--charcoal-deep) !important;
    display: block !important;
    margin-bottom: 4px !important;
}

.prospectus-meta-grid span {
    color: var(--charcoal-72) !important;
}

.prospectus-meta-grid a {
    color: var(--forest) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.prospectus-meta-grid a:hover {
    text-decoration: underline !important;
}

.prospectus-meta-grid .advisor-label {
    color: var(--charcoal-42) !important;
    font-weight: 400 !important;
}

.prospectus-meta-grid>div:last-child {
    text-align: right !important;
}

.prospectus-meta-divider-bottom {
    border: 0 !important;
    border-top: 2px solid var(--charcoal-deep) !important;
    margin: 16px 0 32px !important;
}

@media (max-width: 600px) {
    .prospectus-meta-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .prospectus-meta-grid>div:last-child {
        text-align: left !important;
    }
}

/* Confidentiality Notice Box */
.prospectus-notice-box {
    background: #f4f8f5 !important;
    border: 1px solid #e1ebe5 !important;
    border-left: 4px solid var(--forest) !important;
    border-radius: var(--radius-sm) !important;
    padding: clamp(18px, 2.5vw, 24px) !important;
    margin-bottom: 40px !important;
}

.prospectus-notice-box h2 {
    font-family: var(--font-display) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--charcoal-deep) !important;
    margin: 0 0 10px !important;
    border: none !important;
    padding: 0 !important;
}

.prospectus-notice-box h2::after {
    display: none !important;
}

.prospectus-notice-box p {
    font-family: var(--font-body) !important;
    font-size: 13.5px !important;
    line-height: 1.6 !important;
    color: var(--charcoal-72) !important;
    margin: 0 !important;
}

/* Headings in Post Content */
.prospectus-single-container h2 {
    font-family: var(--font-display) !important;
    font-size: clamp(24px, 3.5vw, 32px) !important;
    color: var(--charcoal-deep) !important;
    position: relative !important;
    padding-bottom: 8px !important;
    margin-top: 48px !important;
    margin-bottom: 24px !important;
    border-bottom: 1px solid var(--charcoal-12) !important;
}

.prospectus-single-container h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 48px !important;
    height: 2px !important;
    background-color: var(--forest) !important;
}

/* Table of Contents Styling */
.prospectus-single-container #ez-toc-container {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 40px 0 !important;
    max-width: 100% !important;
}

.prospectus-single-container #ez-toc-container .ez-toc-title-container {
    display: block !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 16px 0 !important;
}

.prospectus-single-container #ez-toc-container p.ez-toc-title,
.prospectus-single-container #ez-toc-container .ez-toc-title {
    font-family: var(--font-display) !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--charcoal-deep) !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    border: none !important;
}

.prospectus-single-container #ez-toc-container p.ez-toc-title::after,
.prospectus-single-container #ez-toc-container .ez-toc-title::after {
    display: none !important;
}

.prospectus-single-container #ez-toc-container .ez-toc-title-toggle {
    display: none !important;
}

.prospectus-single-container .ez-toc-list {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 40px !important;
    row-gap: 12px !important;
    padding-left: 0 !important;
    list-style: none !important;
    counter-reset: toc-counter !important;
}

@media (max-width: 640px) {
    .prospectus-single-container .ez-toc-list {
        grid-template-columns: 1fr !important;
        column-gap: 0 !important;
    }
}

.prospectus-single-container .ez-toc-list>li {
    border-bottom: 1px solid var(--charcoal-05) !important;
    padding-bottom: 8px !important;
    margin-bottom: 0 !important;
    list-style: none !important;
    counter-increment: toc-counter !important;
    display: flex !important;
    align-items: center !important;
}

.prospectus-single-container .ez-toc-list>li::before {
    content: counter(toc-counter, decimal-leading-zero) !important;
    color: var(--forest) !important;
    font-weight: 700 !important;
    margin-right: 12px !important;
    font-family: var(--font-body) !important;
    display: inline-block !important;
    font-size: 14px !important;
}

.prospectus-single-container .ez-toc-list>li a {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: var(--charcoal-72) !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    transition: color var(--duration-fast) var(--ease-out) !important;
}

.prospectus-single-container .ez-toc-list>li a:hover {
    color: var(--forest) !important;
}

.prospectus-single-container .ez-toc-section-number {
    display: none !important;
}

/* Inquiry Form Section & Card */
.prospectus-inquiry-section {
    margin-top: 56px !important;
    padding-top: 24px !important;
}

.prospectus-inquiry-section h2 {
    font-family: var(--font-display) !important;
    font-size: clamp(24px, 3.5vw, 32px) !important;
    color: var(--charcoal-deep) !important;
    position: relative !important;
    padding-bottom: 8px !important;
    margin-top: 0 !important;
    margin-bottom: 32px !important;
    border-bottom: 1px solid var(--charcoal-12) !important;
}

.prospectus-inquiry-section h2::after {
    content: "" !important;
    position: absolute !important;
    bottom: -1px !important;
    left: 0 !important;
    width: 48px !important;
    height: 2px !important;
    background-color: var(--forest) !important;
}

.prospectus-inquiry-form-card {
    background: #f4f8f5 !important;
    border: 1px solid #e1ebe5 !important;
    border-radius: var(--radius-lg) !important;
    padding: clamp(24px, 3.5vw, 40px) !important;
    box-sizing: border-box !important;
}

.prospectus-inquiry-desc {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    color: var(--charcoal-72) !important;
    margin: 0 0 24px !important;
}

.prospectus-inquiry-form-card .frm_forms,
.prospectus-inquiry-form-card .frm_forms form,
.prospectus-inquiry-form-card .frm_form_fields,
.prospectus-inquiry-form-card .frm_form_fields>fieldset,
.prospectus-inquiry-form-card .frm_fields_container {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
}

.prospectus-inquiry-form-card .frm_form_fields>fieldset,
.prospectus-inquiry-form-card .frm_fields_container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.prospectus-inquiry-form-card .frm_form_field {
    width: 100% !important;
    flex: 1 1 100% !important;
    margin: 0 0 16px 0 !important;
}

.prospectus-inquiry-form-card .frm_form_field.frm_half,
.prospectus-inquiry-form-card .frm_form_field.frm_first_half,
.prospectus-inquiry-form-card .frm_form_field.frm_last_half {
    width: calc(50% - 8px) !important;
    flex: 0 0 calc(50% - 8px) !important;
}

@media (max-width: 600px) {

    .prospectus-inquiry-form-card .frm_form_field.frm_half,
    .prospectus-inquiry-form-card .frm_form_field.frm_first_half,
    .prospectus-inquiry-form-card .frm_form_field.frm_last_half {
        width: 100% !important;
        flex: 1 1 100% !important;
    }
}

.prospectus-inquiry-form-card .frm_forms label.frm_primary_label,
.prospectus-inquiry-form-card .frm_forms label,
.prospectus-inquiry-form-card .frm_forms .frm_primary_label {
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    color: var(--charcoal-deep) !important;
    margin: 0 0 8px 0 !important;
    display: inline-block !important;
}

.prospectus-inquiry-form-card .frm_forms .frm_required,
.prospectus-inquiry-form-card .frm_forms label .req {
    color: var(--forest) !important;
    font-weight: 600 !important;
}

.prospectus-inquiry-form-card .frm_forms input[type="text"],
.prospectus-inquiry-form-card .frm_forms input[type="email"],
.prospectus-inquiry-form-card .frm_forms input[type="tel"],
.prospectus-inquiry-form-card .frm_forms input[type="number"],
.prospectus-inquiry-form-card .frm_forms select,
.prospectus-inquiry-form-card .frm_forms textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    padding: 12px 14px !important;
    border: 1px solid var(--charcoal-12) !important;
    border-radius: var(--radius-sm) !important;
    background: #fff !important;
    color: var(--charcoal-deep) !important;
    transition: border-color 0.2s !important;
    min-height: 48px !important;
}

.prospectus-inquiry-form-card .frm_forms select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23424242' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    background-size: 16px !important;
    padding-right: 40px !important;
}

.prospectus-inquiry-form-card .frm_forms textarea {
    min-height: 120px !important;
}

.prospectus-inquiry-form-card .frm_forms input[type="text"]:focus,
.prospectus-inquiry-form-card .frm_forms input[type="email"]:focus,
.prospectus-inquiry-form-card .frm_forms input[type="tel"]:focus,
.prospectus-inquiry-form-card .frm_forms input[type="number"]:focus,
.prospectus-inquiry-form-card .frm_forms select:focus,
.prospectus-inquiry-form-card .frm_forms textarea:focus {
    outline: none !important;
    border-color: var(--forest) !important;
}

/* Submit Button Left Aligned & Auto Width */
.prospectus-inquiry-form-card .frm_submit {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.prospectus-inquiry-form-card .frm_submit button,
.prospectus-inquiry-form-card .frm_submit input[type="submit"],
.prospectus-inquiry-form-card .frm_submit input[type="button"] {
    /* width: auto !important; */
    /* min-width: 140px !important; */
    width: 100% !important;
    background: var(--forest) !important;
    color: #fff !important;
    font-family: var(--font-body) !important;
    font-weight: 600 !important;
    padding: 12px 28px !important;
    border-radius: var(--radius-sm) !important;
    border: none !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
    font-size: 14px !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    margin-top: 8px !important;
    display: inline-block !important;
}

.prospectus-inquiry-form-card .frm_submit button:hover,
.prospectus-inquiry-form-card .frm_submit input[type="submit"]:hover,
.prospectus-inquiry-form-card .frm_submit input[type="button"]:hover {
    background: var(--charcoal-deep) !important;
}

/* ============ 404 ERROR PAGE REDESIGN ============ */
.err-wrap {
    padding: clamp(60px, 8vw, 100px) 0;
    background: var(--cloud);
    text-align: center;
}

.err-inner {
    max-width: 680px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.err-visual {
    margin-bottom: 30px;
    max-width: 480px;
    width: 100%;
}

.err-img {
    width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
    box-shadow: 0 10px 30px -10px rgba(29, 40, 48, 0.15);
}

.err-title {
    font-family: var(--font-display);
    font-size: clamp(28px, 3.6vw, 42px);
    line-height: 1.15;
    color: var(--charcoal-deep);
    margin-bottom: 12px;
    font-weight: 400;
}

.err-desc {
    font-family: var(--font-body);
    font-size: clamp(14px, 1.6vw, 16px);
    line-height: 1.6;
    color: var(--charcoal-72);
    margin-bottom: 24px;
    max-width: 580px;
}

/* Search Box styling in 404 to match theme */
.err-search {
    width: 100%;
    max-width: 440px;
    margin-bottom: 32px;
}

.err-search form {
    display: flex !important;
    align-items: stretch !important;
    width: 100% !important;
    background: var(--white) !important;
    border: 1px solid var(--charcoal-20) !important;
    border-radius: var(--radius-sm) !important;
    overflow: hidden !important;
    height: 48px !important;
    transition: border-color var(--duration-fast) !important;
    position: relative !important;
}

.err-search form:focus-within {
    border-color: var(--forest) !important;
}

.err-search label {
    flex: 1 !important;
    margin: 0 !important;
    display: block !important;
    height: 100% !important;
}

.err-search input[type="search"],
.err-search input[type="text"] {
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 16px !important;
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    color: var(--charcoal-deep) !important;
    outline: none !important;
    box-sizing: border-box !important;
}

.err-search button,
.err-search input[type="submit"] {
    flex: 0 0 auto !important;
    background: var(--forest) !important;
    color: var(--white) !important;
    border: none !important;
    padding: 0 24px !important;
    font-family: var(--font-body) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background var(--duration-fast) !important;
    text-transform: uppercase !important;
    height: 100% !important;
    letter-spacing: 0.05em !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.err-search button:hover,
.err-search input[type="submit"]:hover {
    background: var(--charcoal-deep) !important;
}

.err-search .screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    border: 0 !important;
}

.err-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}

.err-actions .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--forest);
    color: var(--white);
    padding: 12px 24px;
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-weight: 600;
    text-decoration: none;
    transition: background var(--duration-fast);
    font-size: 14px;
    height: 48px;
    box-sizing: border-box;
}

.err-actions .btn-primary:hover {
    background: var(--charcoal-deep);
}

.err-actions .btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--charcoal-20);
    background: transparent;
    color: var(--charcoal-deep);
    padding: 12px 24px;
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-weight: 600;
    text-decoration: none;
    transition: border-color var(--duration-fast), background var(--duration-fast);
    font-size: 14px;
    height: 48px;
    box-sizing: border-box;
}

.err-actions .btn-ghost:hover {
    border-color: var(--charcoal-deep);
    background: var(--charcoal-04);
}