:root {
    --bg: #f5f1e9;
    --panel: rgba(255, 255, 255, 0.86);
    --panel-strong: #fffdf8;
    --ink: #1d2a32;
    --muted: #64737b;
    --line: rgba(33, 50, 60, 0.1);
    --brand: #0f5c56;
    --brand-2: #c98644;
    --danger: #a94442;
    --success: #275d38;
    --warning: #7a5411;
    --shadow: 0 28px 65px rgba(23, 31, 37, 0.08);
    --shadow-soft: 0 14px 30px rgba(23, 31, 37, 0.05);
}

/* Site-wide refinement pass: tighter content sizing and alignment */
body.marketing-body .page-hero:not(.home-hero) {
    grid-template-columns: minmax(0, 1.45fr) minmax(285px, 0.55fr);
    align-items: stretch;
}
body.marketing-body .page-hero:not(.home-hero) .page-hero-copy { padding: clamp(1.6rem, 3vw, 2.6rem); }
body.marketing-body .page-hero:not(.home-hero) .page-hero-copy h1 { font-size: clamp(2.8rem, 5vw, 5rem); }
body.marketing-body .page-hero:not(.home-hero) .page-hero-aside { padding: 1.4rem; }
body.marketing-body .wayfinder-card,
body.marketing-body .spacious-card,
body.marketing-body .timeline-item { padding: 1.35rem; }
body.marketing-body .wayfinder-card { min-height: 0; }
.contact-page-hero .hero-aside-stack { min-width: 0; }
.contact-page-hero .contact-point-grid { grid-template-columns: 1fr; gap: 0; }
.contact-page-hero .contact-point-card { min-height: 0; padding: 0.75rem 1rem; border-radius: 0; box-shadow: none; }
.contact-page-hero .contact-point-card + .contact-point-card { border-top: 0; }
.contact-page-hero .contact-point-card p { margin: 0.2rem 0 0; }
.auth-card { max-width: 540px; padding: 1.6rem; }

.portal-body main > section,
.portal-body main > form,
.portal-body main > nav { min-width: 0; }
.portal-body .portal-grid > *,
.portal-body .portal-main,
.portal-body .portal-sidebar,
.portal-body form,
.portal-body label { min-width: 0; }
.portal-body input,
.portal-body select,
.portal-body textarea { min-width: 0; max-width: 100%; }

.support-matter-list-header { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding-block: 1.2rem !important; }
.support-matter-list-header h1 { margin-bottom: 0.2rem; font-size: clamp(2rem, 3vw, 3rem) !important; }
.support-matter-list-header .lead { margin: 0; font-size: 0.92rem; }
.matter-list-summary { display: flex; align-items: center; gap: 0.8rem; }
.matter-list-summary > div { min-width: 105px; padding: 0.62rem 0.8rem; border: 1px solid var(--line); background: #e8f0f1; }
.matter-list-summary strong,
.matter-list-summary span { display: block; }
.matter-list-summary strong { color: var(--brand-strong); }
.matter-list-summary span { color: var(--muted); font-size: 0.62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.matter-list-panel { overflow: hidden; border: 1px solid rgba(0,41,60,.18); border-radius: 5px; background: #fff; box-shadow: 0 7px 18px rgba(0,41,60,.05); }
.matter-list-panel > header { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.matter-list-panel > header h2 { margin: 0; font-family: "Manrope", sans-serif; font-size: 1rem; }
.matter-list-panel > header span { color: var(--muted); font-size: .75rem; }
.matter-list-head,
.matter-list-row { display: grid; grid-template-columns: minmax(190px,1.3fr) minmax(120px,.8fr) 90px minmax(105px,.7fr) minmax(105px,.7fr) 88px 52px; gap: .65rem; align-items: center; }
.matter-list-head { padding: .5rem .85rem; background: #e8f0f1; color: var(--muted); font-size: .59rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.matter-list-row { padding: .72rem .85rem; border-top: 1px solid rgba(0,41,60,.1); color: var(--muted); font-size: .75rem; }
.matter-list-row:first-child { border-top: 0; }
.matter-list-row:hover { background: #f8faf9; }
.matter-list-row > span { display: grid; min-width: 0; }
.matter-list-row > span strong { color: var(--brand-strong); }
.matter-list-row small { color: var(--muted); font-size: .66rem; }
.matter-list-title { display: grid; min-width: 0; }
.matter-list-title strong { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.matter-list-row > a { color: var(--brand); font-weight: 800; }

.lawyer-matter-top { align-items: start; }
.lawyer-matter-intro { min-height: 0; padding: 1.45rem 1.6rem; }
.lawyer-matter-facts { align-self: start; grid-template-columns: 1fr; }
.lawyer-matter-facts > div { min-height: 0; padding: .65rem .8rem; border-top: 1px solid var(--line); border-left: 0; }
.lawyer-matter-facts > div:first-child { border-top: 0; }
.lawyer-matter-facts > div:nth-child(2) { border-top: 1px solid var(--line); }

.client-inline-disclosure { overflow: hidden; border: 1px solid var(--line); border-radius: 4px; background: #f7f9f9; }
.client-inline-disclosure > summary { padding: .72rem .85rem; color: var(--brand); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.client-inline-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.client-inline-disclosure form { padding: .85rem; }
.client-inline-disclosure .button { width: 100%; }

@media (max-width: 1050px) {
    .matter-list-head { display: none; }
    .matter-list-row { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 960px) {
    body.marketing-body .page-hero:not(.home-hero) { grid-template-columns: 1fr; }
    .support-matter-list-header { align-items: stretch; flex-direction: column; }
    .matter-list-summary { justify-content: space-between; }
}
@media (max-width: 680px) {
    .matter-list-row { grid-template-columns: 1fr; gap: .3rem; }
    .matter-list-title strong { white-space: normal; }
    .matter-list-summary { align-items: stretch; flex-direction: column; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background:
        radial-gradient(circle at top left, rgba(201, 134, 68, 0.08), transparent 26%),
        linear-gradient(180deg, #fbf7f0 0%, #eef5f1 48%, #f7f3eb 100%);
    font-family: "Manrope", sans-serif;
}

a { color: inherit; text-decoration: none; }
p { line-height: 1.75; color: var(--muted); }
h1, h2, h3 { margin: 0 0 0.8rem; line-height: 1.08; }
h1, h2 { font-family: "Newsreader", serif; font-weight: 700; }

.site-bg {
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at top left, rgba(201, 134, 68, 0.1), transparent 34%),
        radial-gradient(circle at top right, rgba(15, 92, 86, 0.11), transparent 30%);
    pointer-events: none;
}

.shell { width: min(1280px, calc(100% - 2rem)); margin: 0 auto; position: relative; z-index: 1; }
.page-space { padding: 1.6rem 0 4rem; display: grid; gap: 1.5rem; }
.topbar, .card, .metric-card, .notice {
    backdrop-filter: blur(18px);
    background: var(--panel);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
}

.topbar {
    margin-top: 1rem;
    border-radius: 28px;
    padding: 0.95rem 1.15rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    position: sticky;
    top: 1rem;
    z-index: 30;
}

.brand { display: flex; align-items: center; gap: 0.95rem; min-width: 0; }
.brand-mark {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, var(--brand), #173947);
    color: white;
    font-weight: 800;
    box-shadow: var(--shadow-soft);
}
.brand strong { display: block; font-size: 1.02rem; }
.brand small { display: block; color: var(--muted); }

.nav-links { display: flex; align-items: center; flex-wrap: wrap; gap: 0.7rem; }
.nav-links-primary { margin-left: auto; }
.nav-links-secondary { justify-content: flex-end; }
.nav-links a, .nav-links button {
    padding: 0.72rem 1rem;
    border-radius: 999px;
    border: none;
    background: transparent;
    font: inherit;
    cursor: pointer;
}
.nav-links .active { background: rgba(15, 92, 86, 0.1); color: var(--brand); }

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.88rem 1.12rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 700;
    cursor: pointer;
    transition: transform 150ms ease, box-shadow 150ms ease, background 150ms ease;
}
.button-primary { background: var(--brand); color: #fff; }
.button-secondary { background: rgba(14, 90, 83, 0.08); color: var(--brand); border-color: rgba(14, 90, 83, 0.12); }
.button-ghost { background: transparent; border-color: var(--line); }
.button-row { display: flex; flex-wrap: wrap; gap: 1rem; }
.button:hover { transform: translateY(-1px); box-shadow: var(--shadow-soft); }
.card > .button,
.card > .button-row {
    margin-top: 0.9rem;
}

.hero-panel, .feature-split, .cards, .form-grid, .meta-grid {
    display: grid;
    gap: 1.25rem;
}
.hero-panel { grid-template-columns: 1.35fr 1fr; align-items: stretch; min-height: 39rem; }
.hero-copy, .hero-card-grid, .card, .auth-card { padding: 1.7rem; border-radius: 28px; }
.hero-copy { display: grid; align-content: center; }
.hero-copy h1 { font-size: clamp(3.35rem, 5vw, 5.9rem); max-width: 11.5ch; letter-spacing: -0.03em; }
.lead { font-size: 1.12rem; max-width: 58ch; }
.hero-card-grid, .stack { display: grid; gap: 1rem; }
.hero-card-grid {
    align-content: center;
    justify-self: end;
    width: min(100%, 17rem);
}

.eyebrow {
    display: inline-flex;
    width: fit-content;
    padding: 0.45rem 0.75rem;
    margin-bottom: 1.1rem;
    border-radius: 999px;
    background: rgba(201, 134, 68, 0.14);
    color: #7f4b12;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 800;
}

.metric-card {
    border-radius: 24px;
    padding: 0.95rem 1rem;
    display: grid;
    gap: 0.15rem;
    align-content: start;
}
.metric-card strong { display: block; font-size: 1.9rem; margin-bottom: 0.3rem; }
.metric-card p { margin: 0; }

.section-grid, .page-header { display: grid; gap: 1.15rem; }
.cards.three-up { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cards.two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cards.four-up { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.accent-card { background: linear-gradient(135deg, rgba(213, 137, 54, 0.17), rgba(255, 255, 255, 0.82)); }
.dark-card { background: linear-gradient(135deg, rgba(14, 90, 83, 0.92), rgba(18, 56, 66, 0.95)); color: #fff; }
.dark-card p, .dark-card li { color: rgba(255, 255, 255, 0.85); }
.dark-card .section-kicker,
.dark-card .eyebrow,
.dark-card h1,
.dark-card h2,
.dark-card h3,
.dark-card strong {
    color: #fff;
}
.dark-card .button-secondary,
.testimonial-card .button-secondary {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.2);
    color: #fff;
}
.subdued-card { background: linear-gradient(180deg, rgba(255, 252, 246, 0.9), rgba(247, 243, 235, 0.86)); }

.timeline { display: grid; gap: 1rem; }
.timeline-item {
    display: grid;
    grid-template-columns: 5rem 1fr;
    gap: 1.5rem;
    padding: 1.65rem 1.95rem;
    border-radius: 28px;
    background: rgba(255, 250, 242, 0.8);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
}
.timeline-item > span {
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--brand);
}

.list, .error-list { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.8rem; color: var(--muted); }
.pill-grid { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.pill {
    padding: 0.82rem 1rem;
    border-radius: 999px;
    background: rgba(14, 90, 83, 0.08);
    color: var(--brand);
    font-weight: 700;
}

.card-header, .detail-row-header {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
}
.meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.meta-grid span, label span, .subtle { color: var(--muted); }
.meta-grid strong { display: block; margin-top: 0.3rem; }

form { display: grid; gap: 0.85rem; }
label { display: grid; gap: 0.45rem; }
input, select, textarea {
    width: 100%;
    border: 1px solid rgba(29, 42, 50, 0.12);
    border-radius: 16px;
    padding: 0.9rem 1rem;
    font: inherit;
    color: var(--ink);
    background: rgba(255, 255, 255, 0.94);
}
textarea { resize: vertical; }
.form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.full-width { grid-column: 1 / -1; }
.checkbox-row { grid-template-columns: auto 1fr; align-items: center; }

.auth-shell { display: grid; place-items: center; min-height: 70vh; }
.auth-card { width: min(36rem, 100%); }

.notice {
    border-radius: 24px;
    padding: 0.95rem 1.1rem;
}
.notice-success { color: var(--success); }
.notice-warning { color: var(--warning); }
.notice-error { color: var(--danger); }

.compact { gap: 0.75rem; }
.detail-row {
    padding: 0.85rem 0.95rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(29, 42, 50, 0.08);
}
.list-link {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.85rem 0.95rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(29, 42, 50, 0.08);
}

.footer {
    display: grid;
    grid-template-columns: 1.6fr 0.8fr 0.95fr;
    gap: 1.25rem;
    padding: 1rem 0 2.4rem;
    color: var(--muted);
}

.footer-brand,
.footer-links,
.footer-contact {
    display: grid;
    align-content: start;
    gap: 0.7rem;
}

.footer-links a {
    color: var(--muted);
}

.footer-extension {
    grid-column: 1 / -1;
    margin-bottom: 0.25rem;
}

.footer-expand {
    padding: 1rem 1.15rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-soft);
}

.footer-expand summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    cursor: pointer;
    list-style: none;
}

.footer-expand summary::-webkit-details-marker {
    display: none;
}

.footer-expand p {
    margin: 0.9rem 0 0;
}

.footer-expand-hint {
    color: var(--brand);
    font-weight: 700;
}

.footer-city-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.9rem;
}

.footer-city-pill {
    padding: 0.35rem 0.55rem;
    border-radius: 999px;
    background: rgba(15, 92, 86, 0.08);
    color: var(--brand);
    font-size: 0.83rem;
    font-weight: 700;
    line-height: 1.1;
}

.button-tight { padding: 0.58rem 0.82rem; font-size: 0.92rem; }
.dense-card { padding: 1.1rem; }
.compact-top { margin-top: 0.55rem; }
.slim-row p { margin: 0.25rem 0 0; }
.legal-disclaimer p { margin: 0.25rem 0 0; color: inherit; }

.home-hero {
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.18), transparent 26%),
        linear-gradient(135deg, rgba(18, 71, 103, 0.96), rgba(74, 149, 177, 0.58)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.05));
}

.home-hero .hero-copy h1 {
    color: #fff;
    max-width: 13ch;
}

.home-hero .lead {
    color: rgba(255, 255, 255, 0.86);
}

.home-hero .eyebrow {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.section-heading {
    display: grid;
    gap: 0.55rem;
    max-width: 62rem;
}

.industry-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.industry-card {
    text-align: center;
    min-height: 120px;
    display: grid;
    align-items: center;
}

.testimonials-wrap {
    display: grid;
    gap: 1rem;
}

.testimonials-heading {
    justify-items: start;
}

.testimonial-card {
    background: linear-gradient(180deg, rgba(50, 95, 132, 0.92), rgba(91, 132, 168, 0.86));
    color: #fff;
}

.testimonial-card p,
.testimonial-card strong {
    color: #fff;
}

.testimonial-card .eyebrow,
.testimonial-card .section-kicker {
    color: #fff;
}

.testimonial-mark {
    font-size: 3rem;
    line-height: 1;
    font-weight: 800;
    opacity: 0.78;
}

.service-areas-card {
    display: grid;
    gap: 1rem;
}

.quote-card {
    display: grid;
    align-content: start;
    gap: 0.6rem;
}

.spacious-card {
    padding: 1.9rem;
}

.wayfinder-card {
    min-height: 100%;
    display: grid;
    align-content: start;
    gap: 0.75rem;
}

.practice-overview-card {
    display: grid;
    align-content: start;
    gap: 1rem;
    grid-template-rows: auto auto auto;
}

.practice-card-top {
    display: grid;
    gap: 0.35rem;
}

.practice-overview-card .list {
    margin: 0;
    padding-left: 1.1rem;
}

.practice-overview-card .button {
    margin-top: 0.5rem;
    align-self: end;
}

.journey-list {
    display: grid;
    gap: 1rem;
}

.journey-item {
    display: grid;
    grid-template-columns: 3.2rem 1fr;
    gap: 0.95rem;
    padding: 1rem 0;
    border-top: 1px solid var(--line);
}

.journey-item:first-child {
    border-top: none;
    padding-top: 0;
}

.journey-item strong {
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: rgba(15, 92, 86, 0.1);
    color: var(--brand);
}

.testimonial-stack {
    display: grid;
    gap: 1rem;
}

.testimonial-quote {
    padding: 1rem 0;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.testimonial-quote:first-child {
    border-top: none;
    padding-top: 0;
}

.feature-split-wide {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
}

.content-block p + p {
    margin-top: 0.95rem;
}

.about-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.75fr);
    gap: 1rem;
    align-items: start;
}

.about-main,
.about-sidebar {
    display: grid;
    gap: 1rem;
}

.practice-hero {
    min-height: 25rem;
}

.practice-area-layout {
    align-items: start;
}

.contact-hero {
    min-height: 30rem;
}

.contact-hero-stack {
    display: grid;
    gap: 1rem;
}

.contact-point-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-point-card {
    min-height: 100%;
    display: grid;
    gap: 0.45rem;
}

.contact-point-card strong {
    font-size: 1rem;
}

.contact-page-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.82fr);
    gap: 1.25rem;
    align-items: start;
}

.contact-intake-card {
    display: grid;
    gap: 1.2rem;
    padding: 1.7rem;
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(18, 56, 66, 0.95), rgba(50, 95, 132, 0.9)),
        linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02));
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--shadow);
}

.contact-intake-card h2,
.contact-intake-card p,
.contact-intake-card label span,
.contact-intake-card .eyebrow {
    color: #fff;
}

.contact-form-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.contact-form-meta {
    display: grid;
    gap: 0.5rem;
    min-width: 180px;
}

.contact-form-meta span {
    display: inline-flex;
    justify-content: center;
    padding: 0.55rem 0.75rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-size: 0.83rem;
    font-weight: 800;
}

.contact-intake-card input,
.contact-intake-card select,
.contact-intake-card textarea {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(255, 255, 255, 0.18);
}

.contact-submit-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-top: 0.25rem;
}

.contact-submit-row p {
    margin: 0;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.92rem;
}

.contact-sidebar {
    display: grid;
    gap: 1rem;
}

.practice-sidebar-card {
    display: grid;
    gap: 0.9rem;
}

.practice-sidebar-list {
    display: grid;
    gap: 0.7rem;
}

.practice-sidebar-list a {
    display: grid;
    gap: 0.3rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.56);
    border: 1px solid rgba(29, 42, 50, 0.08);
}

.practice-sidebar-list a span {
    color: var(--muted);
    font-size: 0.93rem;
}

.practice-sidebar-list a.active {
    background: rgba(14, 90, 83, 0.1);
    border-color: rgba(14, 90, 83, 0.14);
}

.list-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.1rem;
}

.portal-hero {
    display: grid;
    grid-template-columns: 1.6fr 0.9fr;
    gap: 1rem;
    padding: 1.3rem 1.4rem;
    border-radius: 26px;
    background: linear-gradient(135deg, rgba(14, 90, 83, 0.92), rgba(18, 56, 66, 0.95));
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: var(--shadow);
}

.portal-hero p,
.portal-hero .subtle { color: rgba(255, 255, 255, 0.82); }

.portal-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1rem;
}

.section-chip {
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.14);
    font-weight: 700;
    font-size: 0.9rem;
}

.hero-metric-stack {
    display: grid;
    gap: 0.8rem;
}

.compact-metric {
    background: rgba(255, 255, 255, 0.09);
    border-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.compact-metric p { color: rgba(255, 255, 255, 0.78); }

.portal-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.95fr);
    gap: 1rem;
    align-items: start;
}

.matter-portal-grid {
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.95fr);
}

.portal-main,
.portal-sidebar {
    display: grid;
    gap: 1rem;
}

.widget-card { padding: 1.05rem; }

.section-title-row {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0.8rem;
    margin-bottom: 0.8rem;
}

.section-kicker {
    display: inline-block;
    margin-bottom: 0.2rem;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--brand);
}

.matter-list {
    display: grid;
    gap: 0.8rem;
}

.matter-row {
    padding: 0.95rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(29, 42, 50, 0.08);
}

.matter-row-top {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 0.8rem;
}

.mini-ref {
    display: inline-flex;
    margin-bottom: 0.35rem;
    font-size: 0.78rem;
    font-weight: 800;
    color: var(--brand);
}

.matter-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.75rem;
    margin-top: 0.55rem;
    color: var(--muted);
    font-size: 0.92rem;
}

.matter-summary {
    margin: 0.55rem 0 0;
    font-size: 0.95rem;
}

.status-pill {
    display: inline-flex;
    padding: 0.28rem 0.55rem;
    border-radius: 999px;
    background: rgba(14, 90, 83, 0.1);
    color: var(--brand);
    font-weight: 800;
}

.portal-section-list,
.info-stack {
    display: grid;
    gap: 0.65rem;
}

.portal-section-item,
.info-row {
    padding: 0.75rem 0.85rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.56);
    border: 1px solid rgba(29, 42, 50, 0.08);
}

.portal-section-item p {
    margin: 0.25rem 0 0;
    font-size: 0.92rem;
}

.info-row {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    color: var(--muted);
}

.info-row strong { color: var(--ink); }

.calendar-widget {
    display: grid;
    gap: 0.6rem;
}

.calendar-weekdays,
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0.4rem;
}

.calendar-weekdays span {
    text-align: center;
    font-size: 0.78rem;
    color: var(--muted);
    font-weight: 800;
    text-transform: uppercase;
}

.calendar-day {
    min-height: 76px;
    padding: 0.45rem;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.58);
    border: 1px solid rgba(29, 42, 50, 0.08);
    display: grid;
    align-content: start;
    gap: 0.22rem;
}

.calendar-day.is-muted {
    opacity: 0.45;
}

.calendar-day.is-today {
    border-color: rgba(14, 90, 83, 0.35);
    box-shadow: inset 0 0 0 1px rgba(14, 90, 83, 0.18);
}

.calendar-day-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.25rem;
}

.calendar-day strong {
    font-size: 0.86rem;
}

.calendar-count {
    display: inline-flex;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.25rem;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: rgba(213, 137, 54, 0.16);
    color: #7f4b12;
    font-size: 0.72rem;
    font-weight: 800;
}

.calendar-badge {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 0.18rem 0.35rem;
    border-radius: 999px;
    background: rgba(14, 90, 83, 0.08);
    color: var(--brand);
    font-size: 0.72rem;
    font-weight: 700;
}

.assistant-mode-toggle {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.mode-chip input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.mode-chip span {
    display: inline-flex;
    padding: 0.52rem 0.8rem;
    border-radius: 999px;
    background: rgba(14, 90, 83, 0.08);
    border: 1px solid rgba(14, 90, 83, 0.12);
    color: var(--brand);
    font-weight: 800;
    cursor: pointer;
}

.mode-chip input:checked + span {
    background: var(--brand);
    color: #fff;
}

.compact-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

@media (max-width: 960px) {
    .hero-panel,
    .cards.three-up,
    .cards.two-up,
    .cards.four-up,
    .feature-split,
    .feature-split-wide,
    .form-grid,
    .footer,
    .portal-hero,
    .portal-grid,
    .matter-portal-grid,
    .compact-form-grid,
    .industry-grid,
    .about-grid,
    .contact-page-grid,
    .contact-point-grid { grid-template-columns: 1fr; }

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

    .topbar, .card-header, .detail-row-header, .list-link, .matter-row-top, .section-title-row, .info-row, .contact-form-header, .contact-submit-row, .footer-expand summary { flex-direction: column; }
    .nav-links-primary { margin-left: 0; }
    .hero-copy h1 { max-width: none; }
    .hero-card-grid {
        justify-self: stretch;
        width: 100%;
    }
}

/* 2026 coastal redesign overrides */
:root {
    --bg: #eef5f2;
    --panel: rgba(255, 255, 255, 0.84);
    --panel-strong: #ffffff;
    --ink: #16303b;
    --muted: #54717d;
    --line: rgba(22, 48, 59, 0.1);
    --brand: #0e6a6e;
    --brand-strong: #0a5155;
    --brand-2: #d6a46a;
    --brand-3: #8fd0d4;
    --shadow: 0 30px 70px rgba(16, 44, 55, 0.08);
    --shadow-soft: 0 18px 36px rgba(16, 44, 55, 0.05);
}

body {
    color: var(--ink);
    background:
        radial-gradient(circle at top left, rgba(214, 164, 106, 0.18), transparent 24%),
        radial-gradient(circle at top right, rgba(143, 208, 212, 0.24), transparent 28%),
        linear-gradient(180deg, #f7fbfa 0%, #edf6f4 48%, #f7f3eb 100%);
}

body.marketing-body .page-space {
    padding: 2rem 0 5rem;
    gap: 2rem;
}

.site-bg {
    background:
        radial-gradient(circle at 8% 12%, rgba(214, 164, 106, 0.16), transparent 22%),
        radial-gradient(circle at 92% 8%, rgba(110, 184, 195, 0.2), transparent 24%),
        radial-gradient(circle at 80% 72%, rgba(14, 106, 110, 0.08), transparent 22%);
}

.shell {
    width: min(1280px, calc(100% - 2.5rem));
}

.shell-header {
    padding-top: 1rem;
}

.topbar,
.card,
.metric-card,
.notice,
.timeline-item {
    background: var(--panel);
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow: var(--shadow);
}

.topbar {
    margin-top: 0;
    padding: 1rem 1.2rem;
    gap: 1.1rem;
    border-radius: 30px;
    backdrop-filter: blur(24px);
}

.brand {
    gap: 1rem;
}

.brand-mark {
    width: 56px;
    height: 56px;
    border-radius: 20px;
    background:
        linear-gradient(145deg, rgba(14, 106, 110, 1), rgba(12, 70, 87, 1));
}

.brand strong {
    font-size: 1.04rem;
}

.brand small {
    max-width: 26ch;
    line-height: 1.45;
}

.nav-links {
    gap: 0.55rem;
}

.nav-links-primary {
    margin-left: auto;
    padding: 0.25rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.56);
    border: 1px solid rgba(14, 106, 110, 0.08);
}

.nav-links-secondary {
    gap: 0.6rem;
}

.nav-links a,
.nav-links button {
    padding: 0.8rem 1rem;
    font-weight: 700;
    color: var(--muted);
}

.nav-links .active {
    background: linear-gradient(135deg, rgba(14, 106, 110, 0.14), rgba(143, 208, 212, 0.18));
    color: var(--brand-strong);
}

.button {
    padding: 0.92rem 1.18rem;
    box-shadow: none;
}

.button-primary {
    background: linear-gradient(135deg, var(--brand), var(--brand-strong));
}

.button-secondary {
    background: rgba(14, 106, 110, 0.09);
    border-color: rgba(14, 106, 110, 0.14);
    color: var(--brand-strong);
}

.button-ghost {
    border-color: rgba(22, 48, 59, 0.12);
    color: var(--ink);
}

.hero-panel,
.page-hero {
    grid-template-columns: minmax(0, 1.22fr) minmax(320px, 0.92fr);
    gap: 1.5rem;
    align-items: stretch;
}

.hero-panel {
    min-height: 0;
}

.hero-copy,
.page-hero-copy,
.page-hero-aside,
.hero-guide-card,
.contact-intake-card,
.spacious-card {
    padding: 2rem;
}

.hero-copy,
.page-hero-copy {
    position: relative;
    overflow: hidden;
}

.hero-copy h1,
.page-hero-copy h1 {
    max-width: 12ch;
    letter-spacing: -0.04em;
    font-size: clamp(3rem, 5vw, 5.3rem);
    line-height: 0.98;
}

.hero-copy .lead,
.page-hero-copy .lead {
    max-width: 60ch;
    font-size: 1.1rem;
}

.modern-hero,
.page-hero,
.contact-page-hero {
    padding: 0;
    border-radius: 34px;
}

.home-hero,
.page-hero,
.contact-page-hero {
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 28%),
        linear-gradient(135deg, rgba(11, 66, 90, 0.96), rgba(34, 118, 138, 0.82) 52%, rgba(120, 188, 191, 0.7) 100%);
}

.page-hero-soft {
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0.24)),
        linear-gradient(135deg, rgba(132, 194, 197, 0.16), rgba(214, 164, 106, 0.16));
    border: 1px solid rgba(255, 255, 255, 0.55);
    box-shadow: var(--shadow);
}

.page-hero-soft .page-hero-copy {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.06));
    border-radius: 34px;
}

.page-hero-soft .page-hero-copy h1,
.page-hero-soft .page-hero-copy .lead,
.page-hero-soft .page-hero-copy .eyebrow {
    color: var(--ink);
}

.home-hero .hero-copy h1,
.contact-page-hero .page-hero-copy h1 {
    color: #fff;
    max-width: 13ch;
}

.home-hero .lead,
.contact-page-hero .page-hero-copy .lead {
    color: rgba(255, 255, 255, 0.88);
}

.home-hero .eyebrow,
.contact-page-hero .eyebrow {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}

.hero-aside-stack,
.page-hero-aside {
    display: grid;
    gap: 1rem;
}

.page-hero-aside,
.hero-guide-card,
.contact-point-card,
.metric-card {
    border-radius: 28px;
}

.page-hero-aside,
.hero-guide-card {
    background: rgba(255, 255, 255, 0.84);
}

.page-hero-aside h2,
.hero-guide-card h2 {
    font-size: clamp(1.6rem, 2vw, 2.2rem);
    line-height: 1.05;
}

.hero-guide-list {
    display: grid;
    gap: 0.9rem;
}

.hero-guide-item {
    display: grid;
    gap: 0.3rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(22, 48, 59, 0.08);
}

.hero-guide-item:first-child {
    border-top: none;
    padding-top: 0;
}

.hero-guide-item p,
.hero-guide-item strong {
    margin: 0;
}

.compact-guide-list .hero-guide-item {
    gap: 0.22rem;
}

.hero-card-grid {
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-self: stretch;
    align-content: start;
}

.metric-card {
    min-height: 0;
    padding: 1rem 1.1rem;
    gap: 0.2rem;
    background: rgba(255, 255, 255, 0.88);
}

.metric-card strong {
    font-size: 2rem;
}

.eyebrow,
.section-kicker {
    letter-spacing: 0.12em;
}

.eyebrow {
    background: rgba(214, 164, 106, 0.16);
    color: #885923;
}

.section-heading {
    gap: 0.7rem;
    max-width: 50rem;
}

.section-heading h2 {
    font-size: clamp(2rem, 3vw, 3.1rem);
    line-height: 1.02;
    max-width: 16ch;
}

.section-heading p {
    max-width: 60ch;
}

.cards,
.feature-split,
.about-grid,
.contact-page-grid,
.timeline {
    gap: 1.5rem;
}

.card {
    border-radius: 30px;
}

.spacious-card {
    padding: 2rem;
}

.wayfinder-card,
.practice-overview-card,
.contact-point-card,
.content-block {
    min-height: 100%;
}

.wayfinder-card,
.practice-overview-card {
    gap: 1rem;
}

.accent-card {
    background:
        linear-gradient(180deg, rgba(255, 248, 238, 0.92), rgba(255, 255, 255, 0.82)),
        linear-gradient(135deg, rgba(214, 164, 106, 0.22), rgba(143, 208, 212, 0.12));
}

.subdued-card {
    background:
        linear-gradient(180deg, rgba(250, 254, 253, 0.94), rgba(244, 250, 248, 0.86));
}

.dark-card {
    background:
        linear-gradient(160deg, rgba(10, 66, 75, 0.96), rgba(16, 83, 95, 0.92) 52%, rgba(45, 121, 138, 0.84));
    color: #fff;
}

.dark-card p,
.dark-card li,
.dark-card a:not(.button) {
    color: rgba(255, 255, 255, 0.86);
}

.practice-overview-card {
    grid-template-rows: auto 1fr auto;
}

.practice-card-top {
    gap: 0.45rem;
}

.service-card .list {
    gap: 0.65rem;
}

.compact-actions {
    gap: 0.7rem;
}

.pill-grid {
    gap: 0.8rem;
}

.pill {
    padding: 0.86rem 1rem;
    background: rgba(14, 106, 110, 0.08);
    color: var(--brand-strong);
    border: 1px solid rgba(14, 106, 110, 0.08);
}

.journey-list {
    gap: 0.25rem;
}

.journey-item {
    padding: 1.1rem 0;
}

.journey-item strong {
    width: 3.15rem;
    height: 3.15rem;
    background: rgba(14, 106, 110, 0.1);
}

.timeline-item {
    grid-template-columns: 5.2rem 1fr;
    padding: 1.9rem 2rem;
    border-radius: 30px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(247, 252, 251, 0.82));
}

.timeline-item > span {
    width: 4rem;
    height: 4rem;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(14, 106, 110, 0.12), rgba(143, 208, 212, 0.2));
    color: var(--brand-strong);
}

.about-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
}

.practice-sidebar-list {
    gap: 0.8rem;
}

.practice-sidebar-list a {
    padding: 1rem 1.05rem;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.66);
    transition: transform 150ms ease, box-shadow 150ms ease, border-color 150ms ease;
}

.practice-sidebar-list a:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-soft);
    border-color: rgba(14, 106, 110, 0.16);
}

.practice-sidebar-list a.active {
    background: rgba(14, 106, 110, 0.11);
    border-color: rgba(14, 106, 110, 0.18);
}

.contact-page-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.82fr);
}

.contact-intake-card {
    border-radius: 34px;
    background:
        radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 24%),
        linear-gradient(160deg, rgba(10, 66, 75, 0.98), rgba(20, 95, 108, 0.92) 54%, rgba(58, 142, 157, 0.78));
}

.contact-form-meta span {
    background: rgba(255, 255, 255, 0.14);
}

.contact-point-grid {
    gap: 0.9rem;
}

.contact-point-card {
    padding: 1.1rem;
    background: rgba(255, 255, 255, 0.86);
}

.contact-point-card strong {
    color: var(--ink);
    line-height: 1.35;
}

.notice {
    border-radius: 26px;
    padding: 1rem 1.15rem;
}

.notice-warning {
    background: rgba(255, 250, 238, 0.9);
}

.footer {
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(180px, 0.72fr)) minmax(220px, 0.95fr);
    gap: 1.4rem;
    padding: 1.2rem 0 3rem;
}

.footer-brand,
.footer-links,
.footer-contact {
    padding: 1.4rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.58);
    box-shadow: var(--shadow-soft);
}

.footer-links h3,
.footer-contact h3,
.footer-brand h3 {
    margin-bottom: 0.35rem;
}

.footer-links a {
    color: var(--ink);
    font-weight: 600;
}

.footer-links a:hover {
    color: var(--brand-strong);
}

.footer-expand {
    padding: 1.1rem 1.2rem;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.78);
}

.footer-expand strong {
    color: var(--ink);
}

.footer-expand[open] .footer-expand-hint {
    color: var(--brand-strong);
}

.footer-city-grid {
    gap: 0.5rem;
}

.footer-city-pill {
    padding: 0.38rem 0.62rem;
    background: rgba(14, 106, 110, 0.08);
    color: var(--brand-strong);
}

.portal-hero,
.widget-card,
.matter-row,
.portal-section-item,
.info-row,
.calendar-day,
.list-link,
.detail-row {
    box-shadow: var(--shadow-soft);
}

@media (max-width: 1200px) {
    .topbar {
        flex-wrap: wrap;
        justify-content: center;
    }

    .brand {
        width: 100%;
        justify-content: center;
    }

    .nav-links-primary,
    .nav-links-secondary {
        justify-content: center;
        width: 100%;
    }

    .hero-card-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 960px) {
    body.marketing-body .page-space {
        padding: 1.5rem 0 4rem;
    }

    .shell {
        width: min(100%, calc(100% - 1.3rem));
    }

    .hero-copy,
    .page-hero-copy,
    .page-hero-aside,
    .hero-guide-card,
    .contact-intake-card,
    .spacious-card {
        padding: 1.45rem;
    }

    .hero-copy h1,
    .page-hero-copy h1 {
        font-size: clamp(2.5rem, 12vw, 4rem);
        max-width: none;
    }

    .nav-links-primary {
        background: transparent;
        border: none;
        padding: 0;
    }

    .footer-brand,
    .footer-links,
    .footer-contact {
        padding: 1.15rem;
    }
}

.page-hero {
    display: grid;
}

.page-hero-copy {
    display: grid;
    align-content: center;
}

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

/* 2026 free-flowing marketing page refinements */
body.marketing-body .notice {
    box-shadow: none;
    border-color: rgba(22, 48, 59, 0.08);
}

body.marketing-body .wayfinder-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
body.marketing-body .practice-overview-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
body.marketing-body .feature-split > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
body.marketing-body .about-main > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
body.marketing-body .about-sidebar > .card:not(.accent-card):not(.dark-card):not(.subdued-card) {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding: 1.15rem 0 0;
    border-top: 1px solid rgba(22, 48, 59, 0.1);
}

body.marketing-body .wayfinder-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card) .button,
body.marketing-body .practice-overview-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card) .button,
body.marketing-body .feature-split > .card:not(.accent-card):not(.dark-card):not(.subdued-card) .button,
body.marketing-body .about-main > .card:not(.accent-card):not(.dark-card):not(.subdued-card) .button,
body.marketing-body .about-sidebar > .card:not(.accent-card):not(.dark-card):not(.subdued-card) .button {
    margin-top: 0.95rem;
}

body.marketing-body .wayfinder-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card) p,
body.marketing-body .practice-overview-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card) p,
body.marketing-body .feature-split > .card:not(.accent-card):not(.dark-card):not(.subdued-card) p,
body.marketing-body .about-main > .card:not(.accent-card):not(.dark-card):not(.subdued-card) p,
body.marketing-body .about-sidebar > .card:not(.accent-card):not(.dark-card):not(.subdued-card) p {
    max-width: 62ch;
}

body.marketing-body .accent-card {
    background: linear-gradient(180deg, rgba(255, 249, 241, 0.88), rgba(255, 255, 255, 0.76));
    border-color: rgba(214, 164, 106, 0.22);
    box-shadow: 0 18px 34px rgba(163, 118, 59, 0.08);
    border-radius: 24px;
}

body.marketing-body .subdued-card {
    background: linear-gradient(180deg, rgba(14, 106, 110, 0.03), rgba(255, 255, 255, 0));
    border: none;
    box-shadow: none;
    border-radius: 0;
    padding-left: 0;
    padding-right: 0;
    border-top: 1px solid rgba(22, 48, 59, 0.1);
}

body.marketing-body .subdued-card h2,
body.marketing-body .subdued-card h3,
body.marketing-body .subdued-card strong,
body.marketing-body .subdued-card .section-kicker,
body.marketing-body .subdued-card .eyebrow,
body.marketing-body .page-hero-soft .page-hero-copy,
body.marketing-body .page-hero-soft .page-hero-aside,
body.marketing-body .page-hero-soft .page-hero-aside h2,
body.marketing-body .page-hero-soft .page-hero-aside p,
body.marketing-body .contact-point-card,
body.marketing-body .contact-point-card strong,
body.marketing-body .contact-point-card p,
body.marketing-body .footer-expand,
body.marketing-body .footer-expand strong,
body.marketing-body .footer-expand p,
body.marketing-body .footer-brand,
body.marketing-body .footer-links,
body.marketing-body .footer-contact {
    color: var(--ink);
}

body.marketing-body .page-hero-soft .page-hero-copy .lead,
body.marketing-body .page-hero-soft .page-hero-aside p,
body.marketing-body .contact-point-card p,
body.marketing-body .footer-brand p,
body.marketing-body .footer-contact p {
    color: var(--muted);
}

body.marketing-body .testimonial-card,
body.marketing-body .dark-card,
body.marketing-body .contact-intake-card {
    border-radius: 24px;
}

body.marketing-body .hero-guide-card,
body.marketing-body .page-hero-aside,
body.marketing-body .contact-point-card,
body.marketing-body .metric-card,
body.marketing-body .footer-expand {
    border-radius: 22px;
}

body.marketing-body .footer {
    padding-top: 1.75rem;
    border-top: 1px solid rgba(22, 48, 59, 0.08);
}

body.marketing-body .footer-brand,
body.marketing-body .footer-links,
body.marketing-body .footer-contact {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
    border-radius: 0;
}

body.marketing-body .footer-links a {
    color: var(--muted);
}

body.marketing-body .footer-links a:hover,
body.marketing-body .footer-contact a:hover {
    color: var(--brand-strong);
}

body.marketing-body .practice-overview-grid,
body.marketing-body .wayfinder-grid,
body.marketing-body .feature-split,
body.marketing-body .cards.two-up,
body.marketing-body .cards.three-up,
body.marketing-body .about-grid,
body.marketing-body .contact-page-grid {
    align-items: start;
}

body.marketing-body .section-heading h2,
body.marketing-body .page-hero-copy h1,
body.marketing-body .hero-copy h1 {
    color: var(--ink);
}

body.marketing-body .home-hero .hero-copy h1,
body.marketing-body .contact-page-hero .page-hero-copy h1 {
    color: #fff;
}

body.marketing-body .wayfinder-grid > .dark-card h2,
body.marketing-body .wayfinder-grid > .dark-card h3,
body.marketing-body .dark-card .eyebrow,
body.marketing-body .dark-card .section-kicker,
body.marketing-body .dark-card strong,
body.marketing-body .testimonial-card .eyebrow,
body.marketing-body .testimonial-card .section-kicker,
body.marketing-body .testimonial-card strong,
body.marketing-body .testimonial-card h2,
body.marketing-body .contact-intake-card h2,
body.marketing-body .contact-intake-card .eyebrow,
body.marketing-body .contact-intake-card label span,
body.marketing-body .contact-intake-card strong {
    color: #fff;
}

body.marketing-body .dark-card p,
body.marketing-body .dark-card li,
body.marketing-body .testimonial-card p,
body.marketing-body .contact-intake-card p,
body.marketing-body .contact-submit-row p {
    color: rgba(255, 255, 255, 0.88);
}

/* 2026 nautical brand system: shared header and footer */
:root {
    --bg: #f4f6f3;
    --panel: rgba(255, 255, 255, 0.94);
    --panel-strong: #ffffff;
    --ink: #00293c;
    --muted: #52666f;
    --line: rgba(0, 41, 60, 0.16);
    --brand: #1e656d;
    --brand-strong: #00293c;
    --brand-2: #f62a00;
    --brand-3: #c8d9d4;
    --shadow: 0 22px 55px rgba(0, 41, 60, 0.09);
    --shadow-soft: 0 10px 25px rgba(0, 41, 60, 0.07);
}

body {
    background: linear-gradient(180deg, #ffffff 0%, #f1f6f6 55%, #e9f0f1 100%);
    overflow-x: clip;
}

.site-bg {
    background: linear-gradient(135deg, rgba(30, 101, 109, 0.08), transparent 38%);
}

.shell-header {
    padding-top: 1rem;
}

body.marketing-body:has(.home-v2) .shell-header {
    width: min(1440px, 100%);
}

.topbar {
    margin-top: 0;
    top: 0;
    padding: 0.9rem 1.15rem;
    border: 1px solid rgba(18, 58, 99, 0.34);
    border-bottom: 2px solid #0b1f3a;
    border-radius: 4px;
    background: #cbd7e0;
    box-shadow: 0 7px 18px rgba(11, 31, 58, 0.07);
    backdrop-filter: blur(16px);
}

.brand { gap: 0.75rem; }

.brand-mark {
    width: 44px;
    height: 44px;
    border-radius: 2px;
    background: var(--brand-strong);
    box-shadow: none;
    font-family: "Newsreader", serif;
    font-size: 1rem;
    letter-spacing: 0.08em;
}

.topbar .brand-mark {
    background: #0b1f3a;
    color: #ffffff;
}

.topbar .brand strong {
    color: #0b1f3a;
}

.topbar .brand small,
.topbar .nav-links a,
.topbar .nav-links button {
    color: #29475d;
}

.topbar .nav-links .active {
    color: #0b1f3a;
    box-shadow: inset 0 -2px 0 #e24a3b;
}

.topbar .nav-links a:hover,
.topbar .nav-links a:focus-visible,
.topbar .nav-links button:hover,
.topbar .nav-links button:focus-visible {
    color: #0b1f3a;
}

.brand-copy { display: grid; gap: 0.12rem; }
.brand strong { color: var(--brand-strong); font-family: "Newsreader", serif; font-size: 1.08rem; letter-spacing: 0.01em; }
.brand small { color: var(--muted); font-size: 0.72rem; letter-spacing: 0.08em; line-height: 1.2; text-transform: uppercase; }

.nav-links-primary {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.nav-links a,
.nav-links button {
    padding: 0.65rem 0.72rem;
    border-radius: 2px;
    font-size: 0.9rem;
}

.nav-links .active {
    color: var(--brand-strong);
    background: transparent;
    box-shadow: inset 0 -2px 0 var(--brand-2);
}

.button { border-radius: 3px; }
.button-primary { background: var(--brand-2); color: #fff; }
.button-primary:hover { background: #d92500; }
.button-secondary { background: transparent; border-color: var(--brand); color: var(--brand-strong); }

.footer {
    grid-template-columns: minmax(280px, 1.4fr) minmax(150px, 0.65fr) minmax(150px, 0.65fr) minmax(220px, 0.9fr);
    gap: 2.5rem;
    margin-top: 1rem;
    padding: 3rem 0 1.5rem;
    border-top: 4px solid var(--brand);
    color: #dce5e6;
}

.footer::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--brand-strong);
    box-shadow: 0 0 0 100vmax var(--brand-strong);
    clip-path: inset(0 -100vmax);
}

body.marketing-body .footer {
    margin-top: 0;
    border-top: 0;
    padding-top: 3rem;
}
body.marketing-body .footer-brand,
body.marketing-body .footer-links,
body.marketing-body .footer-contact,
.footer-brand,
.footer-links,
.footer-contact { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }

.footer-wordmark {
    color: #fff;
    font-family: "Newsreader", serif;
    font-size: 1.55rem;
    font-weight: 700;
}

.footer-wordmark span { color: var(--brand-3); }
.footer h3 { color: #fff; font-family: "Manrope", sans-serif; font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; }
.footer p, body.marketing-body .footer-brand p, body.marketing-body .footer-contact p { margin: 0; color: #b9c8cb; line-height: 1.65; }
.footer-links { gap: 0.85rem; }
.footer-links a, body.marketing-body .footer-links a { color: #dce5e6; font-weight: 500; }
.footer-links a:hover, body.marketing-body .footer-links a:hover { color: var(--brand-3); }

.footer-primary-action { width: fit-content; margin-top: 0.35rem; }
.footer-text-link { width: fit-content; color: var(--brand-3); font-weight: 700; border-bottom: 1px solid rgba(200, 217, 212, 0.45); }
.footer-text-link span { color: var(--brand-2); }

.footer-legal {
    grid-column: 1 / -1;
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.75rem;
    padding-top: 1.15rem;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    color: #9fb1b5;
    font-size: 0.78rem;
}

@media (max-width: 1200px) {
    .brand { width: auto; justify-content: flex-start; }
}

@media (max-width: 960px) {
    .topbar { align-items: stretch; }
    .brand { width: 100%; }
    .nav-links-primary, .nav-links-secondary { justify-content: flex-start; }
    .footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer-brand, .footer-contact { grid-column: span 2; }
}

@media (max-width: 600px) {
    .shell { width: min(100% - 1.25rem, 1280px); }
    .brand small { display: none; }
    .nav-links { gap: 0.2rem; }
    .nav-links a, .nav-links button { padding: 0.55rem 0.5rem; font-size: 0.82rem; }
    .footer { grid-template-columns: 1fr; gap: 2rem; }
    .footer-brand, .footer-contact { grid-column: auto; }
    .footer-legal { flex-direction: column; }
}

/* Professional support matter workspace */
.matter-command-bar {
    display: grid;
    grid-template-columns: 0.85fr 0.85fr 1.15fr 1fr;
    overflow: hidden;
    border: 1px solid rgba(0, 41, 60, 0.2);
    border-radius: 5px;
    background: linear-gradient(135deg, #edf4f5, #e5eef0);
    box-shadow: 0 8px 20px rgba(0, 41, 60, 0.06);
}

.matter-command-item {
    position: relative;
    min-width: 0;
    padding: 1.15rem 1.3rem;
    border-left: 1px solid rgba(0, 41, 60, 0.16);
}

.matter-command-item:first-child { border-left: 0; }
.matter-command-item strong {
    display: block;
    overflow-wrap: anywhere;
    color: var(--brand-strong);
    font-size: 1rem;
    line-height: 1.15;
}
.matter-command-item span {
    display: block;
    margin-top: 0.42rem;
    color: var(--muted);
    font-size: 0.72rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
.matter-command-item-icon::after {
    content: "→";
    position: absolute;
    top: 50%;
    right: 1rem;
    color: var(--brand);
    font-size: 1.35rem;
    transform: translateY(-50%);
}

.support-matter-workspace {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.support-matter-actions { display: contents; }
.support-update-card { grid-column: 1; grid-row: 1; }
.support-event-card { grid-column: 2; grid-row: 1; }
.support-matter-details { grid-column: 1 / -1; grid-row: 2; }
.support-upload-card { grid-column: 1 / -1; grid-row: 3; }

.support-action-card,
.support-matter-details {
    border: 1px solid rgba(0, 41, 60, 0.2);
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05);
}

.support-action-card h2,
.support-matter-details h2 {
    margin-bottom: 0.9rem;
    color: var(--brand-strong);
    font-family: "Manrope", sans-serif;
    font-size: 0.95rem;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.support-action-card label,
.support-matter-details label { gap: 0.3rem; }
.support-action-card label span,
.support-matter-details label span { color: var(--ink); font-size: 0.76rem; }

.support-action-card input,
.support-action-card select,
.support-action-card textarea,
.support-matter-details input,
.support-matter-details select,
.support-matter-details textarea {
    border-color: rgba(0, 41, 60, 0.28);
    border-radius: 4px;
    padding: 0.7rem 0.8rem;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(0, 41, 60, 0.04);
}

.support-action-card .button-primary,
.support-matter-details .button-primary {
    width: 100%;
    padding-block: 0.72rem;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    font-size: 0.8rem;
}

@media (max-width: 800px) {
    .matter-command-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .matter-command-item:nth-child(3) { border-left: 0; }
    .matter-command-item:nth-child(n + 3) { border-top: 1px solid rgba(0, 41, 60, 0.16); }
    .support-matter-workspace { grid-template-columns: 1fr; }
    .support-update-card,
    .support-event-card,
    .support-matter-details,
    .support-upload-card { grid-column: 1; grid-row: auto; }
}

/* Approved compact support dashboard */
.support-dashboard-top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(330px, 0.5fr); gap: 1rem; }
.support-dashboard-intro { display: grid; align-content: center; padding: 1.75rem; border-left: 4px solid var(--brand-2); background: #fff; }
.support-dashboard-intro h1 { max-width: 18ch; font-size: clamp(2.5rem, 4vw, 4.2rem); }
.support-dashboard-intro .lead { max-width: 65ch; margin-bottom: 0; }
.support-quick-nav { display: grid; overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.2); border-radius: 5px; background: linear-gradient(135deg, #edf4f5, #e5eef0); }
.support-quick-nav a { display: grid; grid-template-columns: 80px 1fr auto; gap: 0.75rem; align-items: center; padding: 0.75rem 0.85rem; border-top: 1px solid var(--line); }
.support-quick-nav a:first-child { border-top: 0; }
.support-quick-nav a:hover { background: rgba(255,255,255,0.5); }
.support-quick-nav span { color: var(--muted); font-size: 0.64rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.support-quick-nav strong { color: var(--ink); font-size: 0.85rem; }

.support-summary-bar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.2); border-radius: 5px; background: linear-gradient(135deg, #edf4f5, #e5eef0); }
.support-summary-bar > div { padding: 0.8rem 1rem; border-left: 1px solid var(--line); }
.support-summary-bar > div:first-child { border-left: 0; }
.support-summary-bar strong { display: block; color: var(--brand-strong); font-size: 1.05rem; }
.support-summary-bar span { color: var(--muted); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }

.support-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.support-queue-panel { overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.18); border-radius: 5px; background: #fff; box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05); }
.support-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.9rem 1rem; border-bottom: 1px solid var(--line); }
.support-panel-heading h2 { margin: 0; font-family: "Manrope", sans-serif; font-size: 1rem; }
.support-panel-heading a { color: var(--brand); font-size: 0.75rem; font-weight: 800; }
.support-queue-head,
.support-matter-queue-head,
.support-lead-queue-head { display: grid; gap: 0.65rem; padding: 0.48rem 0.85rem; background: #e8f0f1; color: var(--muted); font-size: 0.59rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.support-queue-head { grid-template-columns: minmax(160px, 1.2fr) 82px 100px 58px; }
.support-matter-queue-head { grid-template-columns: minmax(180px, 1.25fr) minmax(120px, 0.8fr) minmax(100px, 0.7fr); }
.support-lead-queue-head { grid-template-columns: minmax(170px, 1.15fr) minmax(150px, 1fr) 95px 75px 90px; }
.support-task-queue-row,
.support-matter-queue-row,
.support-lead-queue-row { display: grid; gap: 0.65rem; align-items: center; padding: 0.68rem 0.85rem; border-top: 1px solid rgba(0, 41, 60, 0.1); color: var(--muted); font-size: 0.76rem; }
.support-queue-list > :first-child { border-top: 0; }
.support-task-queue-row:hover,
.support-matter-queue-row:hover,
.support-lead-queue-row:hover { background: #f8faf9; }
.support-task-queue-row { grid-template-columns: minmax(160px, 1.2fr) 82px 100px 58px; }
.support-matter-queue-row { grid-template-columns: minmax(180px, 1.25fr) minmax(120px, 0.8fr) minmax(100px, 0.7fr); }
.support-lead-queue-row { grid-template-columns: minmax(170px, 1.15fr) minmax(150px, 1fr) 95px 75px 90px; }
.support-task-queue-row strong,
.support-matter-queue-row strong,
.support-lead-queue-row strong { color: var(--ink); }
.support-matter-queue-row div,
.support-lead-queue-row div { display: grid; min-width: 0; }
.support-matter-queue-row small,
.support-lead-queue-row small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.support-empty-row { margin: 0; padding: 0.85rem; font-size: 0.8rem; }

@media (max-width: 1000px) {
    .support-dashboard-top,
    .support-work-grid { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .support-summary-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .support-summary-bar > div:nth-child(3) { border-left: 0; }
    .support-summary-bar > div:nth-child(n+3) { border-top: 1px solid var(--line); }
    .support-queue-head,
    .support-matter-queue-head,
    .support-lead-queue-head { display: none; }
    .support-task-queue-row,
    .support-matter-queue-row,
    .support-lead-queue-row { grid-template-columns: 1fr; gap: 0.25rem; }
}

/* Shared portal return navigation */
.portal-back-nav {
    margin-bottom: -0.45rem;
}
.portal-back-nav a {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    width: fit-content;
    padding: 0.42rem 0.62rem;
    border: 1px solid rgba(0, 41, 60, 0.16);
    border-radius: 3px;
    background: rgba(232, 240, 241, 0.7);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
}
.portal-back-nav a span:first-child {
    color: var(--brand);
    font-size: 0.95rem;
    line-height: 1;
}
.portal-back-nav a:hover {
    border-color: rgba(30, 101, 109, 0.35);
    background: #e8f0f1;
    color: var(--brand-strong);
}

/* Approved compact lawyer portal */
.lawyer-dashboard-top,
.lawyer-matter-top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(330px, 0.5fr); gap: 1rem; }
.lawyer-dashboard-intro,
.lawyer-matter-intro { display: grid; align-content: center; padding: 1.75rem; border-left: 4px solid var(--brand-2); background: #fff; }
.lawyer-dashboard-intro h1,
.lawyer-matter-intro h1 { max-width: 18ch; font-size: clamp(2.5rem, 4vw, 4.2rem); }
.lawyer-dashboard-intro .lead,
.lawyer-matter-intro .lead { margin-bottom: 0; }
.lawyer-dashboard-focus,
.lawyer-matter-facts { display: grid; overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.2); border-radius: 5px; background: linear-gradient(135deg, #edf4f5, #e5eef0); }
.lawyer-matter-facts {
    border-color: rgba(82, 102, 111, 0.22);
    background: linear-gradient(135deg, #f3f4e8, #ecefe1);
    box-shadow: inset 4px 0 0 rgba(30, 101, 109, 0.38);
}
.lawyer-dashboard-focus > div { display: grid; grid-template-columns: 100px 1fr; gap: 0.75rem; align-items: center; padding: 0.75rem 0.85rem; border-top: 1px solid var(--line); }
.lawyer-dashboard-focus > div:first-child { border-top: 0; }
.lawyer-dashboard-focus span,
.lawyer-matter-facts span,
.lawyer-summary-bar span,
.lawyer-matter-summary span { color: var(--muted); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.lawyer-dashboard-focus strong,
.lawyer-matter-facts strong { color: var(--ink); font-size: 0.82rem; }
.lawyer-matter-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lawyer-matter-facts > div { display: grid; align-content: center; gap: 0.25rem; min-width: 0; padding: 0.75rem 0.85rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.lawyer-matter-facts > div:nth-child(-n+2) { border-top: 0; }
.lawyer-matter-facts > div:nth-child(odd) { border-left: 0; }

.lawyer-summary-bar,
.lawyer-matter-summary { display: grid; overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.2); border-radius: 5px; background: linear-gradient(135deg, #edf4f5, #e5eef0); }
.lawyer-summary-bar { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lawyer-matter-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.lawyer-summary-bar > div,
.lawyer-matter-summary > div { padding: 0.8rem 1rem; border-left: 1px solid var(--line); }
.lawyer-summary-bar > div:first-child,
.lawyer-matter-summary > div:first-child { border-left: 0; }
.lawyer-summary-bar strong,
.lawyer-matter-summary strong { display: block; margin-bottom: 0.25rem; color: var(--brand-strong); font-size: 0.9rem; }

.lawyer-worklist-panel,
.lawyer-action-disclosure,
.lawyer-record-panel { overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.18); border-radius: 5px; background: #fff; box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05); }
.lawyer-panel-heading,
.lawyer-record-panel > header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.9rem 1rem; border-bottom: 1px solid var(--line); }
.lawyer-panel-heading h2,
.lawyer-record-panel > header h2 { margin: 0; font-family: "Manrope", sans-serif; font-size: 1rem; }
.lawyer-panel-heading > span,
.lawyer-record-panel > header > span { color: var(--muted); font-size: 0.72rem; }
.lawyer-worklist-head,
.lawyer-worklist-row { display: grid; grid-template-columns: minmax(200px, 1.3fr) minmax(130px, 0.8fr) 75px 75px minmax(100px, 0.7fr) 90px 50px; gap: 0.65rem; align-items: center; }
.lawyer-worklist-head { padding: 0.5rem 0.85rem; background: #e8f0f1; color: var(--muted); font-size: 0.59rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.lawyer-worklist-row { padding: 0.7rem 0.85rem; border-top: 1px solid rgba(0, 41, 60, 0.1); color: var(--muted); font-size: 0.75rem; }
.lawyer-worklist-row:first-child { border-top: 0; }
.lawyer-worklist-row:hover { background: #f8faf9; }
.lawyer-worklist-row > div { display: grid; min-width: 0; }
.lawyer-worklist-row > div strong { overflow: hidden; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; }
.lawyer-worklist-row > a { color: var(--brand); font-weight: 800; }
.lawyer-status { color: var(--brand-strong); font-weight: 700; }
.lawyer-empty-row { margin: 0; padding: 0.85rem; font-size: 0.8rem; }

.lawyer-calendar-panel { overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.18); border-radius: 5px; background: #fff; box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05); }
.lawyer-calendar-panel > .calendar-weekdays,
.lawyer-calendar-panel > .calendar-grid { margin-inline: 0.85rem; }
.lawyer-calendar-panel > .calendar-grid { margin-bottom: 0.85rem; }
.lawyer-calendar-legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; padding: 0.65rem 0.85rem; border-bottom: 1px solid var(--line); }
.lawyer-calendar-legend span { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--muted); font-size: 0.68rem; font-weight: 700; }
.lawyer-calendar-legend i { width: 0.65rem; height: 0.65rem; border-radius: 2px; background: var(--matter-color); }
.lawyer-calendar-grid .calendar-day { min-height: 88px; border-radius: 4px; background: #fafbfa; }
.lawyer-calendar-item { display: block; overflow: hidden; padding: 0.18rem 0.28rem; border-left: 3px solid var(--matter-color); border-radius: 2px; background: color-mix(in srgb, var(--matter-color) 10%, white); color: var(--brand-strong); font-size: 0.62rem; font-weight: 700; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }

.lawyer-activity-panel { grid-column: 1 / -1; }
.lawyer-activity-window { max-height: 520px; overflow-y: auto; padding: 0.25rem 0.85rem 0.85rem; }
.lawyer-activity-entry { display: grid; grid-template-columns: 12px 1fr; gap: 0.65rem; padding: 0.75rem 0; border-top: 1px solid rgba(0, 41, 60, 0.1); }
.lawyer-activity-entry:first-child { border-top: 0; }
.lawyer-activity-marker { width: 8px; height: 8px; margin-top: 0.3rem; border-radius: 50%; background: var(--brand); }
.lawyer-activity-message .lawyer-activity-marker { background: var(--brand-2); }
.lawyer-activity-meta { display: flex; justify-content: space-between; gap: 1rem; }
.lawyer-activity-meta strong { color: var(--ink); font-size: 0.78rem; }
.lawyer-activity-meta span { color: var(--muted); font-size: 0.67rem; }
.lawyer-activity-entry h3 { margin: 0.2rem 0 0; font-family: "Manrope", sans-serif; font-size: 0.82rem; }
.lawyer-activity-entry p { margin: 0.25rem 0 0; font-size: 0.78rem; line-height: 1.5; }

/* Navigation interaction states */
.nav-links a:not(.button) {
    position: relative;
    transition: color 160ms ease;
}
.nav-links a:not(.button)::after {
    content: "";
    position: absolute;
    right: 0.72rem;
    bottom: 0.42rem;
    left: 0.72rem;
    height: 2px;
    background: var(--brand-2);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 180ms ease;
}
.nav-links a:not(.button):hover,
.nav-links a:not(.button):focus-visible {
    color: var(--brand-strong);
}
.nav-links a:not(.button):hover::after,
.nav-links a:not(.button):focus-visible::after,
.nav-links a:not(.button).active::after {
    transform: scaleX(1);
}
.nav-links a:not(.button):focus-visible,
.nav-links .button:focus-visible {
    outline: 2px solid rgba(30, 101, 109, 0.35);
    outline-offset: 2px;
}
.nav-links .button-primary,
.nav-links .button-primary:visited {
    background: var(--brand-2);
    color: #fff;
}
.nav-links .button-primary:hover,
.nav-links .button-primary:focus-visible {
    background: #c92200;
    color: #fff;
    box-shadow: 0 6px 16px rgba(0, 41, 60, 0.14);
}

/* Practice-area card alignment and contrast */
body.marketing-body .practice-overview-grid {
    align-items: stretch;
}
body.marketing-body .practice-overview-card {
    display: grid;
    grid-template-rows: auto 1fr auto;
    height: 100%;
    padding: 1.35rem !important;
    border: 1px solid rgba(0, 41, 60, 0.18) !important;
    border-radius: 12px !important;
    background: linear-gradient(155deg, #ffffff 0%, #f4f7f6 100%) !important;
    box-shadow: 0 13px 30px rgba(0, 41, 60, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}
body.marketing-body .practice-overview-card.accent-card {
    border-color: rgba(184, 87, 68, 0.22) !important;
    background: linear-gradient(155deg, #fffaf6 0%, #f7eee7 100%) !important;
}
body.marketing-body .practice-overview-card .button-row {
    align-self: end;
    margin-top: 1rem;
}
body.marketing-body .practice-overview-card .button-row .button {
    width: 100%;
}
body.marketing-body .practice-overview-card > .button {
    width: 100%;
    align-self: end;
    margin-top: 1rem;
}
body.marketing-body .practice-overview-card.dark-card {
    border-color: rgba(0, 41, 60, 0.28) !important;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.1), transparent 38%), linear-gradient(145deg, #00293c, #184f5a 62%, #1e656d) !important;
    color: #fff;
}
body.marketing-body .practice-overview-card.dark-card h3,
body.marketing-body .practice-overview-card.dark-card .section-kicker,
body.marketing-body .practice-overview-card.dark-card strong {
    color: #fff;
}
body.marketing-body .practice-overview-card.dark-card p,
body.marketing-body .practice-overview-card.dark-card li {
    color: rgba(255, 255, 255, 0.86);
}
body.marketing-body .practice-overview-card.dark-card .button-secondary {
    border-color: rgba(255, 255, 255, 0.52);
    background: transparent;
    color: #fff;
}
body.marketing-body .practice-overview-card.dark-card .button-secondary:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

body.marketing-body .wayfinder-grid .practice-fit-card {
    display: grid;
    grid-template-rows: auto auto 1fr;
    height: 100%;
    padding: 1.35rem !important;
    border: 1px solid rgba(0, 41, 60, 0.18) !important;
    border-radius: 12px !important;
    background: linear-gradient(155deg, #ffffff 0%, #f4f7f6 100%) !important;
    box-shadow: 0 13px 30px rgba(0, 41, 60, 0.09), inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}
body.marketing-body .wayfinder-grid .practice-fit-business {
    border-color: rgba(184, 87, 68, 0.22) !important;
    background: linear-gradient(155deg, #fffaf6 0%, #f7eee7 100%) !important;
}
body.marketing-body .wayfinder-grid .practice-fit-judgment {
    border-color: rgba(0, 41, 60, 0.28) !important;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.1), transparent 38%), linear-gradient(145deg, #00293c, #184f5a 62%, #1e656d) !important;
    color: #fff;
}
body.marketing-body .wayfinder-grid .practice-fit-judgment h2,
body.marketing-body .wayfinder-grid .practice-fit-judgment .section-kicker {
    color: #fff;
}
body.marketing-body .wayfinder-grid .practice-fit-judgment p {
    color: rgba(255, 255, 255, 0.86);
}

/* Temporary practice-area CTA comparison */
body.marketing-body .practice-overview-card > .practice-button-option {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.75rem;
    min-height: 52px;
    border-width: 3px;
    border-style: solid;
    border-radius: 6px;
    background: transparent;
    text-align: center;
}
.practice-button-option-label {
    padding-right: 0.75rem;
    border-right: 1px solid currentColor;
    font-size: 0.62rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}
body.marketing-body .practice-overview-card > .practice-button-option-1 {
    border-color: #b85744;
    background: transparent;
    color: #00293c;
}
body.marketing-body .practice-overview-card > .practice-button-option-1:hover {
    background: rgba(184, 87, 68, 0.08);
    color: #00293c;
}
body.marketing-body .practice-overview-card > .practice-button-option-2 {
    border-color: #00293c;
    background: transparent;
    color: #00293c;
}
body.marketing-body .practice-overview-card > .practice-button-option-2:hover {
    background: rgba(0, 41, 60, 0.06);
    color: #00293c;
}
body.marketing-body .practice-overview-card > .practice-button-option-3 {
    border-color: rgba(200, 217, 212, 0.8);
    background: transparent;
    color: #c8d9d4;
}
body.marketing-body .practice-overview-card > .practice-button-option-3 .practice-button-option-label {
    border-right-color: rgba(200, 217, 212, 0.45);
}
body.marketing-body .practice-overview-card > .practice-button-option-3:hover {
    border-color: #c8d9d4;
    background: rgba(200, 217, 212, 0.1);
    color: #fff;
}

body.marketing-body .firm-represents-card {
    padding: 2rem !important;
    border: 1px solid rgba(0, 41, 60, 0.32) !important;
    border-radius: 12px !important;
    background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.09), transparent 38%), linear-gradient(145deg, #00293c, #174f59 72%, #1e656d) !important;
    box-shadow: 0 13px 30px rgba(0, 41, 60, 0.13), inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}
body.marketing-body .firm-represents-card h2,
body.marketing-body .firm-represents-card .eyebrow {
    color: #fff;
}
body.marketing-body .firm-represents-card h2 {
    font-weight: 500;
}
body.marketing-body .firm-represents-card .pill {
    border-color: rgba(255, 255, 255, 0.24);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font-weight: 600;
}

body.marketing-body .feature-split:has(.firm-represents-card) {
    align-items: stretch;
}
body.marketing-body .feature-split:has(.firm-represents-card) > .firm-represents-card,
body.marketing-body .feature-split:has(.firm-represents-card) > .service-routing-card {
    height: 100%;
    min-height: 100%;
    padding: 2rem !important;
    border-radius: 12px !important;
}
body.marketing-body .service-routing-card {
    display: grid;
    grid-template-rows: auto auto 1fr auto;
    align-content: start;
}
body.marketing-body .service-routing-card > .button {
    align-self: end;
    width: fit-content;
}

body.marketing-body .page-hero-soft,
body.marketing-body .practice-overview-grid + .wayfinder-grid > .card {
    border-radius: 12px !important;
}

/* Homepage Version 2: modern editorial direction */
body.marketing-body:has(.home-v2) { background: #f4f8f9; }
body.marketing-body:has(.home-v2) .page-space { width: min(1440px, 100%); padding-top: 0; gap: 0; }
.home-v2 { color: #00293c; }
.home-v2 h1,
.home-v2 h2,
.home-v2 h3 { font-family: "Manrope", sans-serif; letter-spacing: -0.045em; }
.v2-overline,
.v2-section-label { color: #1e656d; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; }

.v2-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.45fr); min-height: min(760px, 78vh); background: linear-gradient(135deg, #f3f7f8, #e6eff1); }
.v2-hero-copy { display: grid; align-content: center; padding: clamp(3rem, 8vw, 8rem); }
.v2-hero-copy h1 { max-width: 9ch; margin: 1rem 0 1.5rem; font-size: clamp(4.5rem, 9vw, 9.5rem); font-weight: 500; line-height: 0.88; }
.v2-hero-copy > p { max-width: 690px; margin: 0; color: #52666f; font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.65; }
.v2-hero-actions { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; margin-top: 2.25rem; }
.v2-primary-link { display: inline-flex; justify-content: space-between; align-items: center; gap: 2rem; min-width: 250px; padding: 0.95rem 1.1rem; background: #f62a00; color: #fff; font-size: 0.83rem; font-weight: 800; }
.v2-primary-link:hover { background: #d92500; }
.v2-secondary-link,
.v2-text-link { width: fit-content; padding-bottom: 0.22rem; border-bottom: 1px solid rgba(0,41,60,.35); color: #00293c; font-size: 0.82rem; font-weight: 800; }
.v2-hero-aside { display: grid; grid-template-rows: 1fr auto auto auto; padding: 2rem; background: #00293c; color: #fff; }
.v2-hero-aside > span { max-width: 20ch; align-self: end; margin-bottom: 2rem; color: #d6e0df; font-size: 1.05rem; line-height: 1.55; }
.v2-hero-fact { padding: 1.25rem 0; border-top: 1px solid rgba(255,255,255,.18); }
.v2-hero-fact strong { display: block; font-size: 1.8rem; font-weight: 500; }
.v2-hero-fact span { color: #a9babc; font-size: 0.68rem; letter-spacing: .08em; text-transform: uppercase; }
.v2-hero-aside > a { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.18); color: #c8d9d4; font-size: .78rem; font-weight: 800; }

.v2-trust-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(0,41,60,.17); border-bottom: 1px solid rgba(0,41,60,.17); background: #fff; }
.v2-trust-strip span { padding: 1.15rem 1.5rem; border-left: 1px solid rgba(0,41,60,.17); color: #52666f; font-size: .67rem; font-weight: 800; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.v2-trust-strip span:first-child { border-left: 0; }

.v2-intro { display: grid; grid-template-columns: minmax(180px,.45fr) minmax(0,1.55fr); gap: 3rem; padding: clamp(5rem, 10vw, 10rem) clamp(2rem, 8vw, 8rem); }
.v2-intro-copy h2 { max-width: 13ch; margin-bottom: 1.5rem; font-size: clamp(3rem, 6vw, 6.5rem); font-weight: 500; line-height: .98; }
.v2-intro-copy p { max-width: 760px; font-size: 1.05rem; line-height: 1.8; }
.v2-intro-copy .v2-text-link { display: inline-block; margin-top: 1rem; }

.v2-practices { padding: clamp(4rem,8vw,8rem) clamp(2rem,8vw,8rem); background: #e4eef0; }
.v2-section-heading { display: grid; grid-template-columns: .45fr 1.55fr; gap: 3rem; margin-bottom: 3rem; }
.v2-section-heading h2 { max-width: 15ch; font-size: clamp(2.8rem,5vw,5.5rem); font-weight: 500; line-height: 1; }
.v2-section-heading > p { max-width: 600px; }
.v2-practice-list { border-top: 1px solid rgba(0,41,60,.25); }
.v2-practice-row { display: grid; grid-template-columns: 70px minmax(180px,.75fr) minmax(0,1.25fr) 35px; gap: 1.5rem; align-items: start; padding: 2rem 0; border-bottom: 1px solid rgba(0,41,60,.25); }
.v2-practice-row:hover { color: #1e656d; }
.v2-practice-number { color: #1e656d; font-size: .72rem; font-weight: 800; }
.v2-practice-row h3 { font-size: clamp(1.4rem,2.3vw,2.4rem); font-weight: 600; }
.v2-practice-row p { margin: 0; font-size: .92rem; line-height: 1.7; }
.v2-row-arrow { justify-self: end; font-size: 1.2rem; }

.v2-dark-section { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 5rem; padding: clamp(5rem,9vw,9rem) clamp(2rem,8vw,8rem); background: #00293c; color: #fff; }
.v2-dark-section .v2-section-label { color: #94b6b5; }
.v2-dark-heading h2 { max-width: 11ch; margin-top: 1.25rem; color: #fff; font-size: clamp(3rem,5.5vw,6rem); font-weight: 500; line-height: .98; }
.v2-reasons { border-top: 1px solid rgba(255,255,255,.22); }
.v2-reason { display: grid; grid-template-columns: 45px 1fr; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.v2-reason span { color: #8ea5aa; font-size: .68rem; }
.v2-reason p { margin: 0; color: #f4f6f2; line-height: 1.5; }

.v2-process { padding: clamp(5rem,9vw,9rem) clamp(2rem,8vw,8rem); }
.v2-process-grid { display: grid; grid-template-columns: repeat(4,1fr); margin: 3rem 0 2rem; border-top: 1px solid rgba(0,41,60,.22); border-bottom: 1px solid rgba(0,41,60,.22); }
.v2-process-grid article { min-height: 280px; padding: 1.5rem; border-left: 1px solid rgba(0,41,60,.22); }
.v2-process-grid article:first-child { border-left: 0; }
.v2-process-grid article > span { color: #1e656d; font-size: .7rem; font-weight: 800; }
.v2-process-grid h3 { margin-top: 4rem; font-size: 1.3rem; }
.v2-process-grid p { font-size: .83rem; line-height: 1.6; }

.v2-proof { display: grid; grid-template-columns: 1.25fr .75fr; background: linear-gradient(135deg, #dce9ea, #edf4f5); }
.v2-proof blockquote { margin: 0; padding: clamp(4rem,8vw,8rem); }
.v2-proof blockquote p { margin: 0; color: #00293c; font-family: "Newsreader", serif; font-size: clamp(2rem,4vw,4.25rem); line-height: 1.12; }
.v2-proof blockquote footer { margin-top: 2rem; font-size: .82rem; font-weight: 800; }
.v2-proof blockquote footer span { margin-left: .6rem; color: #52666f; font-weight: 500; }
.v2-proof-side { display: grid; align-content: center; padding: clamp(3rem,6vw,6rem); border-left: 1px solid rgba(0,41,60,.2); }
.v2-proof-side h2 { margin-top: 1rem; font-size: clamp(2rem,3.5vw,3.7rem); font-weight: 500; }

.v2-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; padding: clamp(5rem,9vw,9rem) clamp(2rem,8vw,8rem); background: #1e656d; color: #fff; }
.v2-cta .v2-section-label { color: #c8d9d4; }
.v2-cta h2 { margin-top: 1rem; color: #fff; font-size: clamp(3.5rem,6vw,6.5rem); font-weight: 500; }
.v2-cta p { max-width: 560px; color: #e2ece8; font-size: 1.05rem; }
.v2-cta .v2-primary-link { margin-top: 1.5rem; }
.v2-disclaimer { display: grid; grid-template-columns: 180px 1fr; gap: 1.5rem; padding: 1rem clamp(2rem,8vw,8rem); background: #e2ebed; }
.v2-disclaimer strong { color: #52666f; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.v2-disclaimer p { margin: 0; font-size: .7rem; line-height: 1.5; }

@media (max-width: 900px) {
    .v2-hero { grid-template-columns: 1fr; }
    .v2-hero-copy { min-height: 650px; }
    .v2-hero-aside { grid-template-columns: repeat(2,1fr); grid-template-rows: auto; gap: 0 1.5rem; }
    .v2-hero-aside > span,
    .v2-hero-aside > a { grid-column: 1 / -1; }
    .v2-dark-section,
    .v2-proof,
    .v2-cta { grid-template-columns: 1fr; gap: 3rem; }
    .v2-proof-side { border-top: 1px solid rgba(0,41,60,.2); border-left: 0; }
    .v2-process-grid { grid-template-columns: repeat(2,1fr); }
    .v2-process-grid article:nth-child(3) { border-top: 1px solid rgba(0,41,60,.22); border-left: 0; }
    .v2-process-grid article:nth-child(4) { border-top: 1px solid rgba(0,41,60,.22); }
}

@media (max-width: 650px) {
    .v2-hero-copy { min-height: 560px; padding: 3rem 1.25rem; }
    .v2-hero-copy h1 { font-size: clamp(3.5rem,17vw,5.5rem); }
    .v2-trust-strip { grid-template-columns: repeat(2,1fr); }
    .v2-trust-strip span:nth-child(3) { border-top: 1px solid rgba(0,41,60,.17); border-left: 0; }
    .v2-trust-strip span:nth-child(4) { border-top: 1px solid rgba(0,41,60,.17); }
    .v2-intro,
    .v2-section-heading { grid-template-columns: 1fr; gap: 1.5rem; }
    .v2-practice-row { grid-template-columns: 35px 1fr 25px; }
    .v2-practice-row p { grid-column: 2 / -1; }
    .v2-process-grid { grid-template-columns: 1fr; }
    .v2-process-grid article { min-height: 220px; border-top: 1px solid rgba(0,41,60,.22); border-left: 0; }
    .v2-process-grid article:first-child { border-top: 0; }
    .v2-disclaimer { grid-template-columns: 1fr; gap: .4rem; }
}

.lawyer-action-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.lawyer-action-disclosure > summary,
.lawyer-inline-disclosure > summary { padding: 0.8rem 0.9rem; color: var(--brand); font-size: 0.73rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; }
.lawyer-action-disclosure[open] > summary,
.lawyer-inline-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.lawyer-action-disclosure form,
.lawyer-inline-disclosure form { padding: 0.9rem; }
.lawyer-action-disclosure .button,
.lawyer-inline-disclosure .button { width: 100%; }
.lawyer-record-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.lawyer-inline-disclosure { margin: 0.75rem; border: 1px solid var(--line); border-radius: 4px; background: #f7f9f9; }
.lawyer-record-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0.3rem 0.75rem; padding: 0.7rem 0.85rem; border-top: 1px solid rgba(0, 41, 60, 0.1); }
.lawyer-record-row:first-child { border-top: 0; }
.lawyer-record-row > div { display: grid; }
.lawyer-record-row strong { color: var(--ink); font-size: 0.83rem; }
.lawyer-record-row small,
.lawyer-record-row > span { color: var(--muted); font-size: 0.7rem; }
.lawyer-record-row > a { color: var(--brand); font-size: 0.72rem; font-weight: 800; }
.lawyer-record-row p { grid-column: 1 / -1; margin: 0.2rem 0 0; font-size: 0.78rem; line-height: 1.45; }

@media (max-width: 1050px) {
    .lawyer-dashboard-top,
    .lawyer-matter-top { grid-template-columns: 1fr; }
    .lawyer-worklist-head { display: none; }
    .lawyer-worklist-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .lawyer-summary-bar,
    .lawyer-matter-summary,
    .lawyer-action-row,
    .lawyer-record-grid { grid-template-columns: 1fr; }
    .lawyer-summary-bar > div,
    .lawyer-matter-summary > div { border-top: 1px solid var(--line); border-left: 0; }
    .lawyer-summary-bar > div:first-child,
    .lawyer-matter-summary > div:first-child { border-top: 0; }
    .lawyer-worklist-row { grid-template-columns: 1fr; gap: 0.3rem; }
}

@media (max-width: 520px) {
    .matter-command-bar { grid-template-columns: 1fr; }
    .matter-command-item { border-top: 1px solid rgba(0, 41, 60, 0.16); border-left: 0; }
    .matter-command-item:first-child { border-top: 0; }
}

/* Support matter information architecture */
.matter-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(350px, 0.7fr);
    gap: 1rem;
    align-items: stretch;
}

.matter-introduction {
    display: grid;
    align-content: center;
    padding: 2rem;
    border-left: 4px solid var(--brand-2);
    background: #fff;
}
.matter-introduction h1 { max-width: 16ch; font-size: clamp(2.5rem, 4vw, 4.4rem); }
.matter-introduction .lead { max-width: 62ch; }
.matter-title-field span,
.matter-description-field span {
    color: var(--muted);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.matter-title-field textarea,
.matter-description-field textarea {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.matter-title-field textarea {
    color: var(--brand-strong);
    font-family: "Newsreader", serif;
    font-size: clamp(2.35rem, 3.5vw, 4rem);
    font-weight: 700;
    line-height: 0.98;
    letter-spacing: -0.025em;
    resize: vertical;
}
.matter-description-field textarea {
    color: var(--muted);
    font-size: 0.94rem;
    line-height: 1.65;
    resize: vertical;
}
.matter-title-field textarea:focus,
.matter-description-field textarea:focus { outline: 2px solid rgba(30, 101, 109, 0.25); outline-offset: 5px; }
.matter-introduction-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.matter-introduction-meta span {
    padding-right: 0.6rem;
    border-right: 1px solid var(--line);
    color: var(--muted);
    font-size: 0.8rem;
}
.matter-introduction-meta span:last-child { border-right: 0; }

.matter-top-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid rgba(0, 41, 60, 0.18);
    border-radius: 5px;
    background: linear-gradient(135deg, #edf4f5, #e5eef0);
    box-shadow: 0 5px 14px rgba(0, 41, 60, 0.04);
}
.matter-top-fact-column {
    display: grid;
    grid-template-rows: repeat(3, minmax(0, 1fr));
    min-width: 0;
    border-left: 1px solid var(--line);
}
.matter-top-fact-column:first-child { border-left: 0; }
.matter-top-fact {
    display: grid;
    align-content: center;
    gap: 0.25rem;
    padding: 0.72rem 0.8rem;
    border-top: 1px solid var(--line);
}
.matter-top-fact:first-child { border-top: 0; }
.matter-top-fact span {
    color: var(--muted);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.matter-top-fact strong {
    overflow-wrap: anywhere;
    color: var(--brand-strong);
    font-family: "Manrope", sans-serif;
    font-size: 0.86rem;
    line-height: 1.25;
}
.matter-top-fact small { color: var(--muted); font-size: 0.7rem; }

.matter-edit-disclosure {
    border: 1px solid rgba(0, 41, 60, 0.2);
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05);
}
.matter-edit-disclosure > summary {
    padding: 0.9rem 1rem;
    color: var(--brand);
    font-size: 0.8rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
}
.matter-edit-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.matter-edit-disclosure .support-matter-details {
    display: grid;
    grid-column: auto;
    grid-row: auto;
    padding: 1rem;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.matter-overview-grid .support-matter-details { display: flex; flex-direction: column; grid-column: auto; grid-row: auto; padding: 1.25rem; }
.matter-panel-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.matter-panel-heading h2 { margin-bottom: 0; }
.matter-overview-grid .support-matter-details .button-primary { width: 100%; margin-top: auto; }
.support-details-save { margin-top: 1rem !important; }

.matter-command-bar { grid-template-columns: 0.7fr 0.7fr 1.1fr 0.9fr; }
.matter-command-item { padding-inline: 0.9rem; }
.matter-command-item strong { font-size: 0.88rem; }
.matter-command-item-icon::after { content: none; }

.matter-calendar-row {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(340px, 0.7fr);
    gap: 1rem;
    align-items: stretch;
}
.support-calendar-card,
.matter-calendar-row .support-event-card { min-height: 100%; }
.matter-calendar-row .support-event-card,
.matter-calendar-row .support-event-card form,
.matter-calendar-row .support-event-card .form-grid,
.matter-calendar-row .support-event-card label { min-width: 0; }
.matter-calendar-row .support-event-card input[type="datetime-local"] {
    min-width: 0;
    max-width: 100%;
}
.calendar-heading { margin-bottom: 1rem; }
.calendar-navigation { display: flex; align-items: center; gap: 0.35rem; }
.calendar-navigation a {
    padding: 0.4rem 0.58rem;
    border: 1px solid var(--line);
    border-radius: 3px;
    color: var(--brand-strong);
    font-size: 0.8rem;
    font-weight: 700;
}
.support-calendar-card .calendar-day { min-height: 82px; border-radius: 4px; background: #f9fbfb; }
.support-calendar-card .calendar-badge { border-radius: 2px; background: rgba(30, 101, 109, 0.11); }

.matter-update-compose { display: grid; grid-template-columns: 190px 1fr; gap: 1rem; align-items: start; }
.matter-update-form { display: grid; grid-template-columns: 1fr 0.7fr; gap: 0.75rem; }
.matter-update-form .update-body { grid-column: 1 / -1; }
.matter-update-form .button { grid-column: 1 / -1; }
.matter-history-row { align-items: start; }

.matter-upload-disclosure,
.matter-compose-disclosure {
    margin-bottom: 1rem;
    padding: 0.8rem 0.9rem;
    border: 1px solid var(--line);
    border-radius: 4px;
    background: #f7f9f9;
}
.matter-upload-disclosure summary,
.matter-compose-disclosure summary { color: var(--brand); font-weight: 800; cursor: pointer; }
.matter-upload-disclosure form,
.matter-compose-disclosure form { margin-top: 1rem; }

@media (max-width: 1050px) {
    .matter-overview-grid { grid-template-columns: 1fr; }
    .matter-command-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .matter-command-item:nth-child(4) { border-left: 0; }
    .matter-command-item:nth-child(n + 4) { border-top: 1px solid rgba(0, 41, 60, 0.16); }
}

@media (max-width: 850px) {
    .matter-calendar-row { grid-template-columns: 1fr; }
    .matter-update-compose { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
    .matter-command-bar { grid-template-columns: 1fr; }
    .matter-command-item { border-top: 1px solid rgba(0, 41, 60, 0.16); border-left: 0; }
    .matter-command-item:first-child { border-top: 0; }
    .matter-panel-heading { align-items: flex-start; flex-direction: column; }
    .matter-overview-grid .support-matter-details .button-primary { width: 100%; }
    .matter-update-form { grid-template-columns: 1fr; }
    .matter-update-form .update-body,
    .matter-update-form .button { grid-column: 1; }
    .support-calendar-card { padding: 0.8rem; overflow-x: auto; }
    .support-calendar-card .calendar-widget { min-width: 620px; }
}

@media (max-width: 700px) {
    .matter-top-facts { grid-template-columns: 1fr; }
    .matter-top-fact-column { border-top: 1px solid var(--line); border-left: 0; }
    .matter-top-fact-column:first-child { border-top: 0; }
}

/* Cascade lock for the final refinement pass. */
body.marketing-body .page-hero:not(.home-hero) { grid-template-columns: minmax(0, 1.45fr) minmax(285px, .55fr); align-items: stretch; }
body.marketing-body .page-hero:not(.home-hero) .page-hero-copy { padding: clamp(1.6rem, 3vw, 2.6rem); }
body.marketing-body .page-hero:not(.home-hero) .page-hero-copy h1 { font-size: clamp(2.8rem, 5vw, 5rem); }
body.marketing-body .page-hero:not(.home-hero) .page-hero-aside { padding: 1.4rem; }
body.marketing-body .wayfinder-card,
body.marketing-body .spacious-card,
body.marketing-body .timeline-item { min-height: 0; padding: 1.35rem; }
.contact-page-hero .contact-point-grid { grid-template-columns: 1fr; gap: 0; }
.contact-page-hero .contact-point-card { min-height: 0; padding: .75rem 1rem; border-radius: 0; box-shadow: none; }
.lawyer-matter-top { align-items: start; }
.lawyer-matter-intro { min-height: 0; padding: 1.45rem 1.6rem; }
.lawyer-matter-facts { align-self: start; grid-template-columns: 1fr; }
.lawyer-matter-facts > div,
.lawyer-matter-facts > div:nth-child(-n+2),
.lawyer-matter-facts > div:nth-child(odd) { min-height: 0; padding: .65rem .8rem; border-top: 1px solid var(--line); border-left: 0; }
.lawyer-matter-facts > div:first-child { border-top: 0; }
.portal-body main > section,
.portal-body main > form,
.portal-body .portal-grid > *,
.portal-body .portal-main,
.portal-body .portal-sidebar,
.portal-body form,
.portal-body label,
.portal-body input,
.portal-body select,
.portal-body textarea { min-width: 0; max-width: 100%; }

@media (max-width: 960px) {
    body.marketing-body .page-hero:not(.home-hero) { grid-template-columns: 1fr; }
}

/* Unified dashboards and authenticated portal pages */
.portal-dashboard-header,
.portal-record-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.25rem;
    padding-block: 1.2rem !important;
}
.portal-dashboard-header h1,
.portal-record-header h1 { max-width: 24ch; margin-bottom: 0.3rem; font-size: clamp(2.2rem, 3.6vw, 3.8rem) !important; }
.portal-dashboard-header .lead,
.portal-record-header .lead { max-width: 75ch; margin: 0; font-size: 0.95rem; }

.portal-metric-strip,
.portal-record-strip { gap: 0; overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.2); border-radius: 5px; background: linear-gradient(135deg, #edf4f5, #e5eef0); }
.portal-metric-strip .metric-card,
.portal-record-strip .metric-card {
    min-height: 0;
    padding: 0.85rem 1rem;
    border: 0;
    border-left: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.portal-metric-strip .metric-card:first-child,
.portal-record-strip .metric-card:first-child { border-left: 0; }
.portal-metric-strip .metric-card strong,
.portal-record-strip .metric-card strong { margin: 0; font-size: 1.05rem; line-height: 1.25; }
.portal-metric-strip .metric-card p,
.portal-record-strip .metric-card p { margin: 0.25rem 0 0; font-size: 0.68rem; letter-spacing: 0.06em; line-height: 1.25; text-transform: uppercase; }

.portal-dashboard-grid { align-items: start; }
.dashboard-work-panel { padding: 1rem !important; }
.dashboard-work-panel .card-header { padding-bottom: 0.75rem; border-bottom: 1px solid var(--line); }
.dashboard-work-panel .card-header h2 { font-size: 1.2rem; }
.dashboard-work-panel .detail-row,
.dashboard-work-panel .list-link { padding: 0.65rem 0; border: 0; border-bottom: 1px solid rgba(0, 41, 60, 0.1); background: transparent; }
.dashboard-work-panel .detail-row:last-child,
.dashboard-work-panel .list-link:last-child { border-bottom: 0; }

.lawyer-matter-list { display: grid; gap: 0.65rem; }
.lawyer-matter-row { display: grid; grid-template-columns: minmax(220px, 1.3fr) minmax(0, 1fr); gap: 1rem; padding: 0.9rem 1rem !important; }
.lawyer-matter-row .card-header { grid-column: 1; }
.lawyer-matter-row .card-header h2 { margin-bottom: 0; font-size: 1.15rem; }
.lawyer-matter-row .meta-grid { grid-column: 2; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: center; }
.lawyer-matter-row .meta-grid span { font-size: 0.62rem; letter-spacing: 0.05em; text-transform: uppercase; }
.lawyer-matter-row .meta-grid strong { font-size: 0.78rem; }

.portal-action-panel,
.portal-record-panel { padding: 1rem !important; }
.portal-action-panel h2,
.portal-record-panel h2 { font-family: "Manrope", sans-serif; font-size: 0.95rem; letter-spacing: 0.04em; text-transform: uppercase; }
.portal-action-panel form { gap: 0.6rem; }
.portal-action-panel textarea { min-height: 92px; }
.portal-action-panel .button,
.portal-record-panel form .button { width: 100%; padding-block: 0.68rem; }
.portal-record-panel .detail-row { padding: 0.65rem 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; }

/* Client portal: compact read-first presentation */
.portal-hero-client,
.portal-hero-matter { grid-template-columns: minmax(0, 1.5fr) minmax(250px, 0.5fr); padding: 1.4rem 1.5rem !important; }
.portal-hero-client h1,
.portal-hero-matter h1 { max-width: 18ch; font-size: clamp(2.4rem, 4vw, 4.2rem); }
.portal-hero-client .lead,
.portal-hero-matter .lead { max-width: 70ch; font-size: 0.95rem; }
.hero-metric-stack { align-content: center; gap: 0; overflow: hidden; border: 1px solid rgba(255,255,255,0.18); border-radius: 4px; }
.portal-body .portal-hero .compact-metric { padding: 0.7rem 0.8rem; border: 0; border-top: 1px solid rgba(255,255,255,0.16); border-radius: 0; }
.portal-body .portal-hero .compact-metric:first-child { border-top: 0; }
.portal-body .portal-hero .compact-metric strong { font-size: 1rem; }
.portal-body .portal-hero .compact-metric p { font-size: 0.67rem; line-height: 1.25; text-transform: uppercase; }

.portal-body .dense-card,
.portal-body .widget-card { padding: 1rem !important; }
.portal-body .section-title-row { margin-bottom: 0.7rem; padding-bottom: 0.65rem; border-bottom: 1px solid var(--line); }
.portal-body .section-title-row h2 { margin: 0; font-size: 1.2rem; }
.portal-body .matter-list { gap: 0; }
.portal-body .matter-row { padding: 0.8rem 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; }
.portal-body .matter-row:last-child { border-bottom: 0; }
.portal-body .matter-row h3 { margin-bottom: 0; font-size: 1.05rem; }
.portal-body .matter-meta-row { font-size: 0.78rem; }
.portal-body .calendar-day { min-height: 58px; padding: 0.35rem; }
.portal-body .calendar-badge { border-radius: 2px; font-size: 0.64rem; }
.portal-body .info-row { padding: 0.6rem 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; font-size: 0.8rem; }
.portal-body .portal-section-item { padding: 0.7rem; }
.portal-body .portal-section-item p { line-height: 1.45; }

@media (max-width: 1050px) {
    .lawyer-matter-row { grid-template-columns: 1fr; }
    .lawyer-matter-row .card-header,
    .lawyer-matter-row .meta-grid { grid-column: 1; }
}

@media (max-width: 800px) {
    .portal-metric-strip,
    .portal-record-strip { grid-template-columns: 1fr; }
    .portal-metric-strip .metric-card,
    .portal-record-strip .metric-card { border-top: 1px solid var(--line); border-left: 0; }
    .portal-metric-strip .metric-card:first-child,
    .portal-record-strip .metric-card:first-child { border-top: 0; }
    .lawyer-matter-row .meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Compact lead intake and review */
.support-lead-header { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding-block: 1.15rem !important; }
.support-lead-header h1 { margin-bottom: 0.2rem; font-size: clamp(2rem, 3vw, 3rem) !important; }
.support-lead-header .lead { margin: 0; font-size: 0.95rem; }
.lead-header-summary { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); border: 1px solid var(--line); background: #e8f0f1; }
.lead-header-summary > div { padding: 0.7rem 0.85rem; border-left: 1px solid var(--line); }
.lead-header-summary > div:first-child { border-left: 0; }
.lead-header-summary strong { display: block; color: var(--brand-strong); font-size: 1.05rem; }
.lead-header-summary span { color: var(--muted); font-size: 0.63rem; letter-spacing: 0.07em; text-transform: uppercase; }

.lead-list-panel,
.lead-information-panel,
.lead-action-disclosure,
.lead-converted-link {
    border: 1px solid rgba(0, 41, 60, 0.18);
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05);
}
.lead-list-panel { overflow: hidden; }
.lead-list-heading { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); }
.lead-list-heading h2 { margin: 0; font-size: 1.25rem; }
.lead-list-heading > span { color: var(--muted); font-size: 0.8rem; }
.lead-table-head,
.lead-row { display: grid; grid-template-columns: minmax(170px, 1.2fr) minmax(145px, 1fr) 100px 82px 86px 95px 70px; gap: 0.75rem; align-items: center; }
.lead-table-head { padding: 0.55rem 1rem; background: #e8f0f1; color: var(--muted); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.lead-row { padding: 0.75rem 1rem; border-top: 1px solid rgba(0, 41, 60, 0.1); color: var(--muted); font-size: 0.8rem; }
.lead-row:first-child { border-top: 0; }
.lead-row:hover { background: #f8faf9; }
.lead-contact { display: grid; min-width: 0; }
.lead-contact strong, .lead-claim { color: var(--ink); }
.lead-contact span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lead-urgency, .lead-status { width: fit-content; padding: 0.18rem 0.34rem; border-radius: 2px; background: #edf3f3; color: var(--brand-strong); font-size: 0.65rem; font-weight: 800; }
.lead-urgency-urgent { background: rgba(246, 42, 0, 0.1); color: #b92000; }
.lead-review-link { color: var(--brand); font-weight: 800; }
.lead-empty { padding: 1rem; }

.lead-review-top { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, 0.65fr); gap: 1rem; }
.lead-review-intro { padding: 1.75rem; border-left: 4px solid var(--brand-2); background: #fff; }
.lead-review-intro h1 { font-size: clamp(2.5rem, 4vw, 4.2rem); }
.lead-review-source { color: var(--muted); font-size: 0.76rem; }
.lead-contact-panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 5px; background: linear-gradient(135deg, #edf4f5, #e5eef0); }
.lead-contact-panel > div { display: grid; align-content: center; gap: 0.25rem; min-width: 0; padding: 0.8rem; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.lead-contact-panel > div:nth-child(-n+2) { border-top: 0; }
.lead-contact-panel > div:nth-child(odd) { border-left: 0; }
.lead-contact-panel span, .lead-summary-bar span { color: var(--muted); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.lead-contact-panel strong { overflow-wrap: anywhere; color: var(--ink); font-size: 0.8rem; }

.lead-summary-bar { display: grid; grid-template-columns: 0.65fr 0.65fr 0.85fr 1.3fr 0.9fr; overflow: hidden; border: 1px solid rgba(0, 41, 60, 0.2); border-radius: 5px; background: linear-gradient(135deg, #edf4f5, #e5eef0); }
.lead-summary-bar > div { min-width: 0; padding: 0.85rem 0.95rem; border-left: 1px solid var(--line); }
.lead-summary-bar > div:first-child { border-left: 0; }
.lead-summary-bar strong { display: block; overflow-wrap: anywhere; margin-bottom: 0.3rem; color: var(--brand-strong); font-size: 0.82rem; }

.lead-review-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr); gap: 1rem; align-items: start; }
.lead-information-panel { padding: 1.15rem; }
.lead-panel-heading h2 { font-size: 1.25rem; }
.lead-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border-top: 1px solid var(--line); }
.lead-detail-list > div { padding: 0.75rem 0; border-bottom: 1px solid var(--line); }
.lead-detail-list > div:nth-child(even) { padding-left: 1rem; border-left: 1px solid var(--line); }
.lead-detail-list dt { color: var(--muted); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.lead-detail-list dd { margin: 0.25rem 0 0; color: var(--ink); font-size: 0.86rem; line-height: 1.45; }
.lead-review-actions { display: grid; gap: 0.75rem; }
.lead-action-disclosure > summary { padding: 0.85rem 1rem; color: var(--brand); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer; }
.lead-action-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.lead-action-form { padding: 1rem; }
.lead-action-form .button { width: 100%; }
.lead-convert-disclosure { border-left: 3px solid var(--brand-2); }
.lead-converted-link { display: grid; gap: 0.3rem; padding: 1rem; color: var(--brand); }
.lead-converted-link span { font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.lead-converted-link strong { color: var(--ink); font-size: 1.1rem; }

@media (max-width: 1000px) {
    .lead-table-head { display: none; }
    .lead-row { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) repeat(2, minmax(80px, 0.5fr)); }
    .lead-review-top, .lead-review-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
    .support-lead-header { align-items: stretch; flex-direction: column; }
    .lead-header-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lead-row { grid-template-columns: 1fr; gap: 0.35rem; }
    .lead-summary-bar, .lead-detail-list { grid-template-columns: 1fr; }
    .lead-summary-bar > div { border-top: 1px solid var(--line); border-left: 0; }
    .lead-summary-bar > div:first-child { border-top: 0; }
    .lead-detail-list > div:nth-child(even) { padding-left: 0; border-left: 0; }
}

/* Shared professional visual system */
.marketing-body .card,
.portal-body .card,
.marketing-body .metric-card,
.portal-body .metric-card,
.marketing-body .notice,
.portal-body .notice,
.timeline-item,
.auth-card {
    border: 1px solid rgba(0, 41, 60, 0.18);
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05);
    backdrop-filter: none;
}

.marketing-body .card,
.portal-body .card { padding: 1.35rem; }

.marketing-body .eyebrow,
.portal-body .eyebrow,
.auth-card .eyebrow {
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: var(--brand);
    font-size: 0.68rem;
    letter-spacing: 0.12em;
}

.section-kicker { color: var(--brand); letter-spacing: 0.12em; }

.marketing-body .page-hero,
.marketing-body .hero-panel,
.portal-body .portal-hero {
    overflow: hidden;
    border: 1px solid rgba(0, 41, 60, 0.16);
    border-radius: 5px;
    box-shadow: 0 10px 25px rgba(0, 41, 60, 0.07);
}

.marketing-body .page-hero-copy,
.marketing-body .hero-copy { padding: clamp(1.75rem, 4vw, 3.5rem); }

.marketing-body .page-hero-aside,
.marketing-body .hero-guide-card {
    border: 0;
    border-left: 1px solid rgba(0, 41, 60, 0.14);
    border-radius: 0;
    background: #e8f0f1;
    box-shadow: none;
}

.marketing-body .home-hero,
.portal-body .portal-hero,
.dark-card,
.testimonial-card,
.contact-intake-card {
    border-radius: 5px;
    background: linear-gradient(135deg, #00293c, #1e656d);
}

.marketing-body .accent-card {
    background: linear-gradient(145deg, #dce9ea, #edf4f5);
    border-color: rgba(0, 41, 60, 0.16);
}

.marketing-body .subdued-card,
.portal-body .subdued-card { background: #e8f0f1; }

.marketing-body .pill,
.portal-body .status-pill,
.portal-body .section-chip,
.marketing-body .section-chip,
.footer-city-pill {
    border: 1px solid rgba(0, 41, 60, 0.14);
    border-radius: 3px;
    background: #edf3f3;
    color: var(--brand-strong);
}

.marketing-body .timeline-item,
.marketing-body .journey-item,
.portal-body .matter-row,
.portal-body .portal-section-item,
.portal-body .info-row,
.portal-body .detail-row,
.portal-body .list-link,
.portal-body .calendar-day {
    border-radius: 4px;
    background: #f8faf9;
    box-shadow: none;
}

.portal-body .page-header {
    padding: 1.5rem 1.6rem;
    border-left: 4px solid var(--brand-2);
    background: #fff;
}

.portal-body .page-header h1 { font-size: clamp(2.2rem, 4vw, 4rem); }

.portal-body .portal-hero { padding: 1.5rem; }
.portal-body .metric-card { padding: 1rem; }
.portal-body .metric-card strong { color: var(--brand-strong); }
.portal-body .portal-hero .metric-card {
    border-color: rgba(255, 255, 255, 0.17);
    background: rgba(255, 255, 255, 0.08);
}
.portal-body .portal-hero .metric-card strong { color: #fff; }

input,
select,
textarea {
    border-color: rgba(0, 41, 60, 0.26);
    border-radius: 4px;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(0, 41, 60, 0.035);
}

input:focus,
select:focus,
textarea:focus {
    border-color: var(--brand);
    outline: 2px solid rgba(30, 101, 109, 0.14);
    outline-offset: 1px;
}

.auth-shell .auth-card { border-top: 4px solid var(--brand); }

@media (max-width: 960px) {
    .marketing-body .page-hero-aside,
    .marketing-body .hero-guide-card { border-top: 1px solid rgba(0, 41, 60, 0.14); border-left: 0; }
}

@media (max-width: 960px) {
    body.marketing-body .wayfinder-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
    body.marketing-body .practice-overview-grid > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
    body.marketing-body .feature-split > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
    body.marketing-body .about-main > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
    body.marketing-body .about-sidebar > .card:not(.accent-card):not(.dark-card):not(.subdued-card),
    body.marketing-body .subdued-card {
        padding-top: 1rem;
    }
}

/* Footer service-area disclosure: clear hierarchy without boxed city pills. */
body.marketing-body .footer-expand summary > div {
    display: grid;
    gap: 0.3rem;
}

body.marketing-body .footer-expand summary .section-kicker {
    display: block;
    line-height: 1;
}

body.marketing-body .footer-expand summary strong {
    display: block;
    font-size: 1rem;
    line-height: 1.35;
}

body.marketing-body .footer-hint-open {
    display: none;
}

body.marketing-body .footer-expand[open] .footer-hint-closed {
    display: none;
}

body.marketing-body .footer-expand[open] .footer-hint-open {
    display: inline;
}

body.marketing-body .footer-expand[open] > p {
    max-width: 80ch;
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    border-top: 1px solid rgba(11, 31, 58, 0.15);
}

body.marketing-body .footer-city-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 1.5rem;
    margin-top: 1.1rem;
}

body.marketing-body .footer-city-pill {
    padding: 0.65rem 0;
    border: 0;
    border-bottom: 1px solid rgba(11, 31, 58, 0.14);
    border-radius: 0;
    background: transparent;
    color: #29475d;
    font-size: 0.82rem;
    line-height: 1.35;
}

@media (max-width: 800px) {
    body.marketing-body .footer-city-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    body.marketing-body .footer-city-grid {
        grid-template-columns: 1fr;
    }
}

/* Final consistency and responsive safeguards */
body.marketing-body .card,
body.portal-body .card,
body.marketing-body .metric-card,
body.portal-body .metric-card,
body.marketing-body .hero-guide-card,
body.marketing-body .page-hero-aside,
body.marketing-body .footer-expand,
body.portal-body .portal-hero,
body.portal-body .matter-row,
body.portal-body .detail-row,
body.portal-body .list-link,
body.portal-body .info-row,
body.portal-body .portal-section-item {
    border-radius: 5px;
}

@media (max-width: 960px) {
    body.marketing-body .hero-panel,
    body.marketing-body .page-hero,
    body.marketing-body .feature-split,
    body.marketing-body .feature-split-wide,
    body.portal-body .portal-hero,
    body.portal-body .portal-grid,
    body.portal-body .matter-portal-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.marketing-body .hero-card-grid {
        justify-self: stretch;
        width: 100%;
    }

    body.marketing-body .hero-copy h1,
    body.marketing-body .page-hero-copy h1 { max-width: 100%; }
}

@media (max-width: 640px) {
    body.marketing-body .cards.two-up,
    body.marketing-body .cards.three-up,
    body.marketing-body .cards.four-up,
    body.portal-body .cards.two-up,
    body.portal-body .cards.three-up,
    body.portal-body .cards.four-up,
    body.marketing-body .form-grid,
    body.portal-body .form-grid,
    body.marketing-body .compact-form-grid,
    body.portal-body .compact-form-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Compact support task workspace */
.support-task-header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1.5rem;
    padding-block: 1.15rem !important;
}
.support-task-header h1 { margin-bottom: 0.2rem; font-size: clamp(2rem, 3vw, 3rem) !important; }
.support-task-header .lead { margin: 0; font-size: 0.95rem; }
.task-header-summary { display: grid; grid-template-columns: repeat(3, minmax(90px, 1fr)); border: 1px solid var(--line); background: #e8f0f1; }
.task-header-summary > div { padding: 0.7rem 0.85rem; border-left: 1px solid var(--line); }
.task-header-summary > div:first-child { border-left: 0; }
.task-header-summary strong { display: block; color: var(--brand-strong); font-size: 1.05rem; }
.task-header-summary span { color: var(--muted); font-size: 0.63rem; letter-spacing: 0.07em; text-transform: uppercase; }

.task-create-disclosure,
.task-list-panel {
    border: 1px solid rgba(0, 41, 60, 0.18);
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(0, 41, 60, 0.05);
}
.task-create-disclosure > summary {
    padding: 0.8rem 1rem;
    color: var(--brand);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
}
.task-create-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.task-create-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; padding: 1rem; }
.task-create-form label { min-width: 0; }
.task-create-form .task-title-input { grid-column: span 2; }
.task-create-form .task-details-input { grid-column: 1 / -1; }
.task-create-form .button { grid-column: 1 / -1; padding-block: 0.7rem; }

.task-list-panel { overflow: hidden; }
.task-list-heading { display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.1rem; border-bottom: 1px solid var(--line); }
.task-list-heading h2 { margin: 0; font-size: 1.25rem; }
.task-list-heading > span { color: var(--muted); font-size: 0.8rem; }
.task-table-head,
.task-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.5fr) minmax(130px, 0.8fr) minmax(120px, 0.7fr) minmax(100px, 0.6fr) minmax(95px, 0.55fr) 55px;
    gap: 0.8rem;
    align-items: center;
}
.task-table-head { padding: 0.55rem 1rem; background: #e8f0f1; color: var(--muted); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.task-row { padding: 0.75rem 1rem; border-top: 1px solid rgba(0, 41, 60, 0.1); color: var(--muted); font-size: 0.82rem; }
.task-row:first-child { border-top: 0; }
.task-row:hover { background: #f8faf9; }
.task-row-title { min-width: 0; }
.task-row-title strong { color: var(--ink); font-size: 0.9rem; }
.task-row-title p { overflow: hidden; margin: 0.2rem 0 0; font-size: 0.78rem; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.task-priority { display: inline-block; margin-right: 0.45rem; padding: 0.15rem 0.3rem; border-radius: 2px; background: #edf3f3; color: var(--brand); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.task-priority-high { background: rgba(246, 42, 0, 0.1); color: #b92000; }
.task-matter-link { display: grid; color: var(--brand); font-weight: 800; }
.task-matter-link small { overflow: hidden; color: var(--muted); font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.task-status { color: var(--brand-strong); font-weight: 700; }
.task-row.is-completed { opacity: 0.62; }
.task-edit-disclosure > summary { color: var(--brand); font-weight: 800; cursor: pointer; }
.task-edit-disclosure[open] { grid-column: 1 / -1; padding-top: 0.65rem; border-top: 1px solid var(--line); }
.task-edit-form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; margin-top: 0.65rem; }
.task-edit-form .button { align-self: end; padding-block: 0.7rem; }
.task-empty { padding: 1rem; }

@media (max-width: 1000px) {
    .task-table-head { display: none; }
    .task-row { grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.8fr) minmax(0, 0.7fr); }
    .task-edit-disclosure { justify-self: start; }
}

@media (max-width: 700px) {
    .support-task-header { align-items: stretch; flex-direction: column; }
    .task-header-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .task-create-form,
    .task-edit-form { grid-template-columns: 1fr; }
    .task-create-form .task-title-input,
    .task-create-form .task-details-input,
    .task-create-form .button { grid-column: 1; }
    .task-row { grid-template-columns: 1fr; gap: 0.4rem; }
    .task-row-title p { white-space: normal; }
}

/* High-contrast guidance cards — keep the dark treatment above shared card rules. */
body.marketing-body .card.dark-card {
    border-color: rgba(0, 41, 60, 0.72);
    background:
        linear-gradient(145deg, rgba(0, 41, 60, 0.98), rgba(20, 82, 91, 0.96));
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(0, 41, 60, 0.14);
}

body.marketing-body .card.dark-card .eyebrow,
body.marketing-body .card.dark-card .section-kicker {
    color: #c8d9d4;
}

body.marketing-body .card.dark-card h1,
body.marketing-body .card.dark-card h2,
body.marketing-body .card.dark-card h3,
body.marketing-body .card.dark-card strong {
    color: #ffffff;
}

body.marketing-body .card.dark-card p,
body.marketing-body .card.dark-card li,
body.marketing-body .card.dark-card a:not(.button) {
    color: rgba(255, 255, 255, 0.86);
}

body.marketing-body .card.dark-card .button-secondary {
    border: 2px solid rgba(200, 217, 212, 0.78);
    background: transparent;
    color: #ffffff;
}

body.marketing-body .card.dark-card .button-secondary:hover,
body.marketing-body .card.dark-card .button-secondary:focus-visible {
    border-color: #c8d9d4;
    background: #c8d9d4;
    color: #00293c;
}

body.marketing-body .card.dark-card .contact-action-link {
    color: #c8d9d4;
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(200, 217, 212, 0.48);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.22em;
    transition: color 150ms ease, text-decoration-color 150ms ease;
}

body.marketing-body .card.dark-card .contact-action-link:hover,
body.marketing-body .card.dark-card .contact-action-link:focus-visible {
    color: #ffffff;
    text-decoration-color: #f62a00;
}

/* Contact conversion page — essential intake is visible immediately. */
.contact-intake-hero { display: grid; grid-template-columns: minmax(0,.82fr) minmax(560px,1.18fr); overflow: hidden; border: 1px solid rgba(0,41,60,.2); border-radius: 8px; background: #00293c; box-shadow: 0 14px 32px rgba(0,41,60,.12); }
.contact-intake-intro { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: clamp(2rem,4vw,4rem); color: #fff; }
.contact-intake-intro .eyebrow { color: #c8d9d4; }
.contact-intake-intro h1 { max-width: 9ch; color: #fff; font-size: clamp(3.3rem,6vw,6rem); font-weight: 500; }
.contact-intake-intro .lead { max-width: 43ch; margin-bottom: 1.6rem; color: rgba(255,255,255,.82); font-size: 1rem; }
.contact-direct-actions { display: grid; border-top: 1px solid rgba(255,255,255,.18); }
.contact-direct-actions a { display: grid; gap: .18rem; padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.contact-direct-actions span { color: #c8d9d4; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-direct-actions strong { color: #fff; font-size: .9rem; overflow-wrap: anywhere; }
.contact-direct-actions a:hover strong, .contact-direct-actions a:focus-visible strong { color: #c8d9d4; }
.contact-client-link { margin: 1rem 0 0; color: rgba(255,255,255,.68); font-size: .78rem; }
.contact-client-link a { color: #c8d9d4; font-weight: 800; }
.contact-priority-form { min-width: 0; padding: clamp(1.15rem,2vw,1.55rem); background: #f8faf9; }
.contact-priority-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .7rem; padding-bottom: .6rem; border-bottom: 1px solid var(--line); }
.contact-priority-heading h2 { margin: .25rem 0 0; font-size: clamp(1.6rem,2.7vw,2.35rem); }
.contact-time-note { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
.contact-essential-grid, .contact-optional-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem .7rem; }
.contact-priority-form label { min-width: 0; gap: .28rem; }
.contact-priority-form label > span { color: var(--ink); font-size: .7rem; font-weight: 800; }
.contact-priority-form label small { margin-left: .35rem; color: var(--brand); font-size: .55rem; letter-spacing: .04em; text-transform: uppercase; }
.contact-priority-form input, .contact-priority-form select, .contact-priority-form textarea { width: 100%; min-width: 0; padding: .52rem .68rem; font-size: .82rem; }
.contact-priority-form textarea { resize: vertical; }
.contact-optional-details { margin-top: .6rem; border: 1px solid var(--line); background: #fff; }
.contact-optional-details > summary { display: flex; justify-content: space-between; padding: .58rem .75rem; color: var(--brand); font-size: .7rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; cursor: pointer; }
.contact-optional-details > summary span { color: var(--muted); font-size: .58rem; }
.contact-optional-details[open] > summary { border-bottom: 1px solid var(--line); }
.contact-optional-grid { padding: .8rem; }
.contact-priority-submit { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 1rem; align-items: center; margin-top: .6rem; }
.contact-priority-submit p { margin: 0; font-size: .65rem; line-height: 1.45; }
.contact-priority-submit .button { min-width: 180px; padding: .64rem 1rem; }
.contact-confidence-strip { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid rgba(0,41,60,.18); border-radius: 5px; background: #e8f0f1; }
.contact-confidence-strip > div { display: flex; gap: .75rem; align-items: center; padding: .8rem 1rem; border-left: 1px solid var(--line); }
.contact-confidence-strip > div:first-child { border-left: 0; }
.contact-confidence-strip strong { color: #f62a00; font-size: .7rem; }
.contact-confidence-strip span { color: var(--brand-strong); font-size: .75rem; font-weight: 700; }
.contact-support-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; align-items: stretch; }
body.marketing-body .contact-support-card { min-height: 0; padding: 1.35rem; }
.contact-support-card h2 { font-size: 1.45rem; }
.contact-support-card p { margin-bottom: 0; font-size: .82rem; line-height: 1.6; }

@media (max-width: 1000px) {
    .contact-intake-hero { grid-template-columns: 1fr; }
    .contact-intake-intro { padding: 2rem; }
    .contact-intake-intro h1 { max-width: 12ch; font-size: clamp(3rem,10vw,5rem); }
}

@media (max-width: 700px) {
    .contact-essential-grid, .contact-optional-grid, .contact-confidence-strip, .contact-support-grid { grid-template-columns: 1fr; }
    .contact-priority-heading, .contact-priority-submit { align-items: stretch; grid-template-columns: 1fr; }
    .contact-priority-heading { display: grid; }
    .contact-confidence-strip > div { border-top: 1px solid var(--line); border-left: 0; }
    .contact-confidence-strip > div:first-child { border-top: 0; }
    .contact-priority-submit .button { width: 100%; }
}

/* About page perspective set — matched geometry and accessible titles. */
body.marketing-body .about-perspective-grid {
    grid-auto-rows: 1fr;
    align-items: stretch;
}

body.marketing-body .about-perspective-card {
    display: grid;
    grid-template-rows: auto auto 1fr;
    align-content: start;
    height: 100%;
    min-height: 0;
    padding: 1.45rem;
}

body.marketing-body .about-perspective-card h2 {
    min-height: 3.2em;
    margin: .4rem 0 .8rem;
    color: var(--brand-strong);
    font-family: "Manrope", sans-serif;
    font-size: clamp(1.05rem, 1.5vw, 1.22rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: -.015em;
}

body.marketing-body .about-perspective-card p {
    margin: 0;
    font-size: .86rem;
    line-height: 1.65;
}

@media (max-width: 640px) {
    body.marketing-body .about-perspective-grid { grid-auto-rows: auto; }
    body.marketing-body .about-perspective-card h2 { min-height: 0; }
}

/* Unified modern typography — one professional family across every surface. */
h1,
h2,
h3,
.brand-mark,
.brand strong,
.footer-wordmark,
.matter-title-field textarea,
.v2-proof blockquote p {
    font-family: "Manrope", sans-serif;
}

h1,
h2 {
    font-weight: 700;
    letter-spacing: -.035em;
}

h3 { font-weight: 700; letter-spacing: -.02em; }

.brand-mark { font-weight: 800; letter-spacing: .06em; }
.brand strong,
.footer-wordmark { font-weight: 700; letter-spacing: -.02em; }
.matter-title-field textarea { font-weight: 700; letter-spacing: -.035em; }
.v2-proof blockquote p { font-weight: 600; letter-spacing: -.035em; }

/* Personal Collection editorial prototype — fewer containers, calmer hierarchy. */
.editorial-practice-hero { padding: clamp(2rem,5vw,4.5rem) clamp(1rem,4vw,3.5rem) clamp(2rem,4vw,3.25rem); border-top: 4px solid var(--brand); background: linear-gradient(135deg,#f7f9f9 0%,#e8f0f1 100%); }
.editorial-practice-heading { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(340px,.85fr); gap: clamp(2.5rem,6vw,6rem); align-items: stretch; margin-top: .8rem; }
.editorial-practice-heading h1 { max-width: 15ch; margin: 0; font-size: clamp(3.2rem,6vw,6.2rem); font-weight: 600; line-height: .98; }
.editorial-practice-title { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
.editorial-practice-summary { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding-left: clamp(1.5rem,3vw,3rem); border-left: 1px solid rgba(0,41,60,.2); }
.editorial-practice-heading .lead { max-width: 34ch; margin: 0; color: var(--brand-strong); font-size: clamp(1.08rem,1.65vw,1.28rem); font-weight: 600; line-height: 1.55; }
.editorial-practice-actions { display: flex; gap: 1.1rem; align-items: center; margin-top: 1.75rem; }
.editorial-back-link { color: var(--brand-strong); font-size: .78rem; font-weight: 800; border-bottom: 1px solid rgba(30,101,109,.35); }
.editorial-practice-topics { display: grid; grid-template-columns: 1fr; gap: .65rem; width: 100%; max-width: 500px; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid rgba(0,41,60,.18); }
.editorial-practice-topics > span { color: var(--brand); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.editorial-practice-topics ul { display: grid; grid-template-columns: 1fr; gap: .35rem; max-width: 620px; margin: 0; padding: 0; list-style: none; }
.editorial-practice-topics li { position: relative; padding-left: .85rem; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.editorial-practice-topics li::before { content: ""; position: absolute; top: .58em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--brand-2); }

.editorial-practice-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(285px,.45fr); gap: clamp(2.5rem,6vw,6rem); align-items: start; padding: clamp(3.5rem,7vw,6.5rem) clamp(1rem,4vw,3.5rem); }
.editorial-practice-article { min-width: 0; }
.editorial-copy-section { display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 1.25rem; padding: 0 0 2.75rem; }
.editorial-copy-section + .editorial-copy-section { padding-top: 2.75rem; border-top: 1px solid rgba(0,41,60,.16); }
.editorial-copy-section .section-kicker { grid-row: 1 / span 2; padding-top: .35rem; color: var(--brand-2); }
.editorial-copy-section h2 { grid-column: 2; max-width: 23ch; margin-bottom: 1.25rem; font-size: clamp(1.7rem,3vw,2.6rem); line-height: 1.12; }
.editorial-copy-section p { grid-column: 2; max-width: 74ch; margin: 0 0 1rem; font-size: .92rem; line-height: 1.75; }
.editorial-copy-section p:last-child { margin-bottom: 0; }

.editorial-consultation-rail { position: sticky; top: 1rem; display: grid; gap: 1.75rem; }
.editorial-consultation-panel { padding: 1.5rem; border-left: 3px solid var(--brand-2); background: #e8f0f1; }
.editorial-consultation-panel h2 { margin-top: .45rem; font-size: 1.55rem; line-height: 1.15; }
.editorial-consultation-panel p { font-size: .8rem; line-height: 1.6; }
.editorial-consultation-panel .button { width: 100%; margin-top: .4rem; }
.editorial-related-links { display: grid; }
.editorial-related-links > .section-kicker { padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.editorial-related-links a { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); color: var(--brand-strong); font-size: .78rem; font-weight: 700; }
.editorial-related-links a:hover, .editorial-related-links a:focus-visible { color: var(--brand-2); }

.editorial-examples-band { display: grid; grid-template-columns: minmax(250px,.7fr) minmax(0,1.3fr); gap: clamp(2rem,6vw,6rem); padding: clamp(2.25rem,5vw,4rem) clamp(1rem,4vw,3.5rem); background: #e8f0f1; border-top: 1px solid rgba(0,41,60,.16); border-bottom: 1px solid rgba(0,41,60,.16); }
.editorial-examples-band h2 { max-width: 19ch; margin-top: .5rem; font-size: clamp(1.65rem,3vw,2.5rem); }
.editorial-examples-band ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 1.5rem; margin: 0; padding: 0; list-style: none; }
.editorial-examples-band li { padding: .85rem 0; border-bottom: 1px solid rgba(0,41,60,.14); color: var(--ink); font-size: .82rem; line-height: 1.5; }
.editorial-contact-strip { display: grid; grid-template-columns: 1fr auto auto; gap: 2rem; align-items: center; padding: 1.1rem clamp(1rem,4vw,3.5rem); background: #00293c; color: #fff; }
.editorial-contact-strip > div { display: grid; }
.editorial-contact-strip .section-kicker { color: #c8d9d4; }
.editorial-contact-strip strong { font-size: .86rem; }
.editorial-contact-strip a { color: #c8d9d4; font-size: .82rem; font-weight: 700; border-bottom: 1px solid rgba(200,217,212,.4); }

/* How It Works: compact roadmap composition and aligned pathway cards. */
body.marketing-body .process-page-hero {
    border: 0;
    border-top: 4px solid #123a63;
    background: #f4f7f9;
    box-shadow: 0 10px 26px rgba(11, 31, 58, 0.08);
}

body.marketing-body .process-page-hero .page-hero-copy {
    border-radius: 0;
    background: #f4f7f9;
}

body.marketing-body .process-page-guide {
    align-content: start;
    gap: 1.25rem;
    padding: clamp(1.5rem, 2.5vw, 2rem);
    border-left: 1px solid rgba(18, 58, 99, 0.2);
    background: #e6ebf0;
}

body.marketing-body .process-page-guide .hero-guide-list {
    gap: 0;
}

body.marketing-body .process-page-guide .hero-guide-item {
    gap: 0.35rem;
    padding: 1rem 0;
    border-top-color: rgba(11, 31, 58, 0.18);
}

body.marketing-body .process-page-guide .hero-guide-item:first-child {
    padding-top: 0;
}

body.marketing-body .process-page-guide .hero-guide-item p {
    max-width: 26ch;
    line-height: 1.55;
}

body.marketing-body .process-wayfinder-grid {
    align-items: stretch;
}

body.marketing-body .process-wayfinder-grid > .wayfinder-card {
    height: 100%;
    grid-template-rows: auto auto 1fr auto;
}

body.marketing-body .process-wayfinder-grid > .accent-card {
    border: 1px solid rgba(18, 58, 99, 0.24);
    background: linear-gradient(145deg, rgba(185, 199, 211, 0.82), #f4f7f9);
    box-shadow: 0 10px 24px rgba(11, 31, 58, 0.08);
}

body.marketing-body .process-wayfinder-grid > .accent-card .button-primary {
    border: 2px solid #123a63;
    background: transparent;
    color: #0b1f3a;
}

body.marketing-body .process-wayfinder-grid > .accent-card .button-primary:hover,
body.marketing-body .process-wayfinder-grid > .accent-card .button-primary:focus-visible {
    border-color: #0b1f3a;
    background: #0b1f3a;
    color: #ffffff;
}

body.marketing-body .process-wayfinder-grid > .subdued-card {
    border: 1px solid rgba(18, 58, 99, 0.2);
    background: linear-gradient(145deg, #ffffff, rgba(185, 199, 211, 0.56));
    box-shadow: 0 10px 24px rgba(11, 31, 58, 0.08);
}

body.marketing-body .process-wayfinder-grid > .wayfinder-card .button {
    align-self: end;
    margin-top: 0.75rem;
}

body.marketing-body .process-experience-grid {
    align-items: stretch;
}

body.marketing-body .process-experience-grid > .card {
    height: 100%;
}

body.marketing-body .support-experience-card {
    border: 1px solid rgba(18, 58, 99, 0.22);
    border-left: 4px solid #123a63;
    background: linear-gradient(145deg, rgba(185, 199, 211, 0.72), #f1f4f7);
    box-shadow: 0 10px 24px rgba(11, 31, 58, 0.08);
}

body.marketing-body:has(.process-page-hero) {
    background: #f4f7f9;
}

body.marketing-body:has(.process-page-hero) .section-kicker,
body.marketing-body:has(.process-page-hero) .eyebrow {
    color: #123a63;
}

body.marketing-body:has(.process-page-hero) .dark-card {
    background: linear-gradient(145deg, #0b1f3a, #123a63);
}

body.marketing-body:has(.process-page-hero) .dark-card .section-kicker {
    color: #dfe6ec;
}

body.marketing-body:has(.process-page-hero) .process-page-hero .button-primary {
    background: #c76b4b;
}

body.marketing-body:has(.process-page-hero) .process-page-hero .button-primary:hover,
body.marketing-body:has(.process-page-hero) .process-page-hero .button-primary:focus-visible {
    background: #0b1f3a;
}

body.marketing-body:has(.process-page-hero) .timeline-item > span {
    background: #b9c7d3;
    color: #0b1f3a;
}

/* Homepage: distinct near-white editorial sections against the page canvas. */
body.marketing-body:has(.home-v2) .v2-hero {
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(11, 31, 58, 0.06);
}

body.marketing-body:has(.home-v2) .v2-intro {
    border-top: 1px solid rgba(18, 58, 99, 0.14);
    border-bottom: 1px solid rgba(18, 58, 99, 0.14);
    background: #f2f5f8;
    box-shadow: 0 8px 22px rgba(11, 31, 58, 0.045);
}

body.marketing-body:has(.home-v2) .v2-process {
    border-top: 1px solid rgba(18, 58, 99, 0.14);
    border-bottom: 1px solid rgba(18, 58, 99, 0.14);
    background: #ffffff;
    box-shadow: 0 8px 22px rgba(11, 31, 58, 0.045);
}

body.marketing-body:has(.home-v2) .v2-section-label,
body.marketing-body:has(.home-v2) .v2-overline,
body.marketing-body:has(.home-v2) .v2-process-grid article > span {
    color: #123a63;
}

body.marketing-body:has(.home-v2) .v2-dark-section .v2-section-label {
    color: #dfe6ec;
}

body.marketing-body:has(.home-v2) .v2-trust-strip {
    background: #e6ebf0;
}

body.marketing-body:has(.home-v2) .v2-trust-strip span {
    display: grid;
    place-items: center;
    padding: 1.15rem 1.5rem;
    background: #e6ebf0;
    color: #223e55;
    font-size: 0.77rem;
    line-height: 1.25;
}

body.marketing-body:has(.home-v2) .v2-hero-aside {
    display: flex;
    flex-direction: column;
    padding: clamp(2rem, 3.5vw, 3.5rem);
}

body.marketing-body:has(.home-v2) .v2-hero-aside > span {
    max-width: 22ch;
    margin: 0;
    padding-bottom: 0;
    font-size: clamp(1rem, 1.3vw, 1.15rem);
    line-height: 1.55;
}

body.marketing-body:has(.home-v2) .v2-hero-facts {
    display: grid;
    margin-top: clamp(3rem, 8vh, 5.5rem);
    border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

body.marketing-body:has(.home-v2) .v2-hero-fact {
    padding: 1.45rem 0;
}

body.marketing-body:has(.home-v2) .v2-hero-fact strong {
    font-size: clamp(1.65rem, 2.3vw, 2.15rem);
}

body.marketing-body:has(.home-v2) .v2-hero-aside > a {
    width: 100%;
    margin-top: auto;
}

@media (max-width: 900px) {
    body.marketing-body:has(.home-v2) .v2-hero-aside {
        padding: 2rem;
    }

    body.marketing-body:has(.home-v2) .v2-hero-facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 2rem;
    }

    body.marketing-body:has(.home-v2) .v2-hero-fact + .v2-hero-fact {
        padding-left: 1.5rem;
        border-left: 1px solid rgba(255, 255, 255, 0.18);
    }

    body.marketing-body:has(.home-v2) .v2-hero-aside > a {
        margin-top: 2rem;
    }
}

@media (max-width: 900px) {
    .editorial-practice-heading, .editorial-practice-layout, .editorial-examples-band { grid-template-columns: 1fr; }
    .editorial-practice-heading { gap: 1rem; }
    .editorial-practice-summary { padding: 1.5rem 0 0; border-top: 1px solid rgba(0,41,60,.18); border-left: 0; }
    .editorial-practice-heading .lead { max-width: 55ch; }
    .editorial-consultation-rail { position: static; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
}

@media (max-width: 650px) {
    .editorial-practice-actions, .editorial-practice-topics, .editorial-contact-strip { align-items: stretch; grid-template-columns: 1fr; }
    .editorial-practice-actions { flex-direction: column; }
    .editorial-practice-actions .button, .editorial-back-link { width: 100%; text-align: center; }
    .editorial-practice-topics ul, .editorial-consultation-rail, .editorial-examples-band ul { grid-template-columns: 1fr; }
    .editorial-practice-topics ul { display: grid; }
    .editorial-copy-section { grid-template-columns: 1fr; }
    .editorial-copy-section .section-kicker, .editorial-copy-section h2, .editorial-copy-section p { grid-column: 1; grid-row: auto; }
    .editorial-copy-section .section-kicker { margin-bottom: .5rem; }
    .editorial-contact-strip { gap: .75rem; }
}
