/* Practice stories. Loaded after the established practice and family sheets.
 * The two-ID scope contains the composition without touching services,
 * articles, contact forms or the footer. Important declarations below replace
 * only legacy declarations that already use important.
 */

#main-content #snapshot[data-practice-editorial],
#main-content #cases[data-practice-editorial],
#main-content #process {
    --editorial-heading: #e9e3da;
    --editorial-body: #bbb7ae;
    --editorial-secondary: #aaa69b;
    --editorial-gold: #c6a87c;
    --editorial-rule: rgba(198, 168, 124, .22);
    padding-block: clamp(64px, 5.5vw, 80px) !important;
    overflow: visible;
}

#main-content #snapshot[data-practice-editorial] > .container,
#main-content #cases[data-practice-editorial] > .container,
#main-content #process > .container {
    width: calc(100% - 64px);
    max-width: 1280px;
    margin-inline: auto;
    padding: 0;
}

#main-content #snapshot[data-practice-editorial] h2,
#main-content #cases[data-practice-editorial] h2,
#main-content #process h2 {
    max-width: 24ch;
    margin: 0;
    color: var(--editorial-heading) !important;
    font: 500 clamp(2rem, 3.4vw, 3.25rem)/1.15 var(--font-heading) !important;
    letter-spacing: -.025em !important;
    text-align: left;
    text-wrap: balance;
}

#main-content #snapshot[data-practice-editorial] .corporate-snapshot-head,
#main-content #cases[data-practice-editorial] .corporate-section-head,
#main-content #process .corporate-section-head {
    inset: auto;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

#main-content #snapshot[data-practice-editorial] .corporate-snapshot-head > p:not(.corporate-kicker),
#main-content #cases[data-practice-editorial] .practice-section-desc,
#main-content #process .practice-section-desc {
    width: auto;
    max-width: 60ch;
    margin: 20px 0 0;
    color: var(--editorial-body) !important;
    font: 400 1.0625rem/1.7 var(--font-body) !important;
    opacity: 1;
}

/* One photograph holds the section while every story remains in view. */
#main-content #snapshot .practice-editorial-snapshot {
    display: grid;
    grid-template-areas: none;
    grid-template-columns: minmax(0, .42fr) minmax(0, .58fr);
    gap: clamp(44px, 6.5vw, 96px);
    align-items: start;
    opacity: 1;
    transform: none;
    filter: none;
}

#main-content #snapshot .practice-editorial-snapshot-anchor {
    grid-column: 1;
    grid-row: 1;
    position: sticky;
    top: 160px;
    min-width: 0;
}

#main-content #snapshot .corporate-snapshot-head .corporate-kicker {
    display: none;
}

#main-content #snapshot .practice-editorial-snapshot-media {
    position: relative;
    width: 100%;
    aspect-ratio: 5 / 4;
    margin: 36px 0 0;
    overflow: hidden;
    background: #152027;
}

#main-content #snapshot .practice-editorial-snapshot-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: saturate(.48) sepia(.13) brightness(.76);
}

#main-content #snapshot .practice-editorial-snapshot-stories,
#main-content #snapshot .practice-editorial-snapshot-stories > .corporate-outcome-tabs {
    display: block;
    min-width: 0;
    padding: 0;
}

#main-content #snapshot .practice-editorial-snapshot-stories {
    grid-column: 2;
    grid-row: 1;
}

#main-content #snapshot [data-editorial-story] {
    position: static;
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 0 32px;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
    overflow: visible;
    scroll-margin-top: 112px;
}

#main-content #snapshot [data-editorial-story] + [data-editorial-story] {
    padding-top: 32px;
    border-top: 1px solid var(--editorial-rule);
}

#main-content #snapshot [data-editorial-story]:last-child {
    padding-bottom: 0;
}

#main-content #snapshot .practice-editorial-story-label {
    position: static;
    display: block;
    min-height: 0;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--editorial-secondary) !important;
    font: 400 .875rem/1.5 var(--font-body) !important;
    letter-spacing: normal;
    text-transform: none;
    cursor: default;
}

#main-content #snapshot .practice-editorial-story-label::before,
#main-content #snapshot .practice-editorial-story-label::after {
    content: none;
}

#main-content #snapshot [data-editorial-story] .corporate-outcome-detail {
    display: block;
    margin: 0;
    padding: 0;
    max-height: none;
    opacity: 1;
    overflow: visible;
    transform: none;
}

#main-content #snapshot [data-editorial-story] h3 {
    max-width: 28ch;
    margin: 0 0 8px;
    color: var(--editorial-heading) !important;
    font: 500 clamp(1.75rem, 2.3vw, 2.2rem)/1.22 var(--font-heading) !important;
    letter-spacing: -.02em !important;
    text-wrap: pretty;
}

#main-content #snapshot [data-editorial-story] .corporate-outcome-detail > p {
    max-width: 66ch;
    margin: 0;
    color: var(--editorial-body) !important;
    font: 400 1rem/1.6 var(--font-body) !important;
}

#main-content #snapshot [data-editorial-story] .corporate-outcome-points {
    display: block;
    margin: 20px 0 0;
    padding: 0;
    list-style: none;
}

#main-content #snapshot [data-editorial-story] .corporate-outcome-points li {
    margin: 0;
    padding: 0 0 16px;
    border: 0;
    background: none;
}

#main-content #snapshot [data-editorial-story] .corporate-outcome-points li:last-child {
    padding-bottom: 0;
}

#main-content #snapshot [data-editorial-story] .corporate-outcome-points strong {
    margin: 0 0 3px;
    color: var(--editorial-gold) !important;
    font: 600 1rem/1.6 var(--font-body) !important;
}

#main-content #snapshot [data-editorial-story] .corporate-outcome-points span {
    color: var(--editorial-secondary) !important;
    font: 400 1rem/1.6 var(--font-body) !important;
}

/* A leading story and two quieter stories replace the stack of case boxes. */
#main-content #cases[data-practice-editorial] {
    background: #101b23 !important;
}

#main-content #cases[data-practice-editorial] .corporate-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 28px 48px;
    align-items: end;
    margin-bottom: 36px;
}

#main-content #cases[data-practice-editorial] .practice-section-desc {
    margin: 0;
}

#main-content #cases .practice-editorial-cases {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px 48px;
    align-items: start;
    opacity: 1;
    transform: none;
    filter: none;
}

#main-content #cases .practice-editorial-case {
    position: static;
    display: block;
    width: 100%;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    transform: none;
    overflow: visible;
    scroll-margin-top: 112px;
}

#main-content #cases .practice-editorial-case-featured {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 48px;
    padding-bottom: 32px;
    border-bottom: 1px solid var(--editorial-rule);
}

#main-content #cases .practice-editorial-case-intro {
    position: static;
    display: block;
    min-height: 0;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    cursor: default;
}

#main-content #cases .practice-editorial-case-intro::before,
#main-content #cases .practice-editorial-case-intro::after {
    content: none;
}

#main-content #cases .practice-editorial-case .corporate-case-index {
    display: none;
}

#main-content #cases .practice-editorial-case .practice-case-summary-copy {
    display: block;
    min-width: 0;
}

#main-content #cases .practice-editorial-case h3 {
    width: auto;
    max-width: 30ch;
    margin: 0 0 16px;
    color: var(--editorial-heading) !important;
    font: 500 clamp(1.625rem, 2.1vw, 1.875rem)/1.2 var(--font-heading) !important;
    letter-spacing: -.02em !important;
    text-wrap: pretty;
}

#main-content #cases .practice-editorial-case-featured h3 {
    font-size: clamp(1.875rem, 2.35vw, 2.125rem) !important;
}

#main-content #cases .practice-editorial-case .corporate-case-situation {
    display: block;
    max-width: 66ch;
    margin: 0;
    color: var(--editorial-body) !important;
    font: 400 1rem/1.6 var(--font-body) !important;
}

#main-content #cases .practice-editorial-case .corporate-case-situation::before {
    margin-bottom: 8px;
    color: var(--editorial-gold) !important;
    font: 500 .875rem/1.5 var(--font-body) !important;
}

#main-content #cases .practice-editorial-case .corporate-case-sheet {
    display: block;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    max-height: none;
    opacity: 1;
    transform: none;
}

#main-content #cases .practice-editorial-case .corporate-case-sheet-grid {
    display: block;
}

#main-content #cases .practice-editorial-case .corporate-case-action,
#main-content #cases .practice-editorial-case .corporate-case-result {
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
}

#main-content #cases .practice-editorial-case .corporate-case-result {
    margin-top: 18px;
    padding-left: 18px;
    border-left: 2px solid var(--editorial-gold);
}

#main-content #cases .practice-editorial-case :is(.case-line-label, .result-label) {
    display: block;
    margin: 0 0 8px;
    color: var(--editorial-gold) !important;
    font: 500 .875rem/1.5 var(--font-body) !important;
    letter-spacing: normal;
    text-transform: none;
}

#main-content #cases .practice-editorial-case .corporate-case-action p {
    max-width: 66ch;
    margin: 0;
    color: var(--editorial-body) !important;
    font: 400 1rem/1.6 var(--font-body) !important;
}

#main-content #cases .practice-editorial-case .corporate-case-result .result-value {
    max-width: 58ch;
    margin: 0;
    color: #dfc69f !important;
    font: 500 1.0625rem/1.6 var(--font-body) !important;
    letter-spacing: -.01em;
}

/* The ordered sequence carries real chronology; no content is a control. */
#main-content #process > .container {
    display: grid !important;
    grid-template-columns: minmax(0, .68fr) minmax(0, 1.32fr);
    gap: 0 clamp(64px, 7vw, 104px);
    align-items: start;
}

#main-content #process .corporate-section-head {
    position: sticky;
    top: 160px;
    align-self: start;
    grid-column: 1;
    grid-row: 1;
}

#main-content #process .practice-section-desc {
    max-width: 38ch;
}

#main-content #process .practice-process-steps {
    grid-column: 2;
    grid-row: 1;
    display: block;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

#main-content #process .practice-process-step {
    position: relative;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    min-width: 0;
    margin: 0;
    padding: 0 0 30px;
    border: 0;
    background: none;
}

#main-content #process .practice-process-step::after {
    content: '';
    position: absolute;
    top: 44px;
    bottom: 8px;
    left: 18px;
    width: 1px;
    background: var(--editorial-rule);
}

#main-content #process .practice-process-step:last-child {
    padding-bottom: 0;
}

#main-content #process .practice-process-step:last-child::after {
    content: none;
}

#main-content #process .practice-process-number {
    grid-column: 1;
    grid-row: 1;
    display: block;
    margin: 0;
    padding: 0;
    color: var(--editorial-gold);
    font: 400 2.125rem/1.1 var(--font-heading);
    letter-spacing: -.025em;
    font-variant-numeric: tabular-nums;
}

#main-content #process .practice-process-copy {
    grid-column: 2;
    display: block;
    min-width: 0;
    padding-top: 0;
}

#main-content #process .practice-process-copy h3 {
    max-width: 36ch;
    margin: 0 0 10px;
    color: var(--editorial-heading);
    font: 500 1.5rem/1.3 var(--font-heading);
    letter-spacing: -.015em;
    text-wrap: pretty;
}

#main-content #process .practice-process-copy p {
    max-width: 66ch;
    margin: 0;
    color: var(--editorial-body) !important;
    font: 400 1rem/1.6 var(--font-body) !important;
}

#main-content #process .practice-process-results {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 20px;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

#main-content #process .practice-process-results li,
#main-content #process .practice-process-results li + li {
    position: static;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    color: var(--editorial-gold) !important;
    font: 500 .875rem/1.6 var(--font-body) !important;
}

#main-content #process .practice-process-results li::before {
    content: none;
}

#main-content #process .family-layout-preparation {
    grid-column: 2;
    display: block;
    margin: 28px 0 0 64px;
    padding: 28px 0 0;
    border: 0;
    border-top: 1px solid var(--editorial-rule);
    border-radius: 0;
    background: none;
}

#main-content #process .family-layout-preparation h3 {
    margin: 0 0 16px;
    color: var(--editorial-heading) !important;
    font: 500 1.625rem/1.3 var(--font-heading) !important;
}

#main-content #process .family-layout-preparation li {
    color: var(--editorial-body) !important;
    font: 400 1rem/1.7 var(--font-body) !important;
}

@media (max-width: 1099px) {
    #main-content #snapshot .practice-editorial-snapshot {
        gap: 40px;
    }

    #main-content #snapshot .practice-editorial-snapshot-anchor {
        position: static;
    }

    #main-content #cases .practice-editorial-case-featured {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 32px;
    }

    #main-content #process > .container {
        grid-template-columns: minmax(0, 1fr);
        gap: 44px;
    }

    #main-content #process .corporate-section-head {
        position: static;
        grid-column: auto;
        grid-row: auto;
    }

    #main-content #process .practice-section-desc {
        max-width: 66ch;
    }

    #main-content #process .practice-process-steps {
        grid-column: auto;
        grid-row: auto;
    }

    #main-content #process .family-layout-preparation {
        grid-column: auto;
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    #main-content #snapshot[data-practice-editorial],
    #main-content #cases[data-practice-editorial],
    #main-content #process {
        padding-block: 60px !important;
    }

    #main-content #snapshot[data-practice-editorial] > .container,
    #main-content #cases[data-practice-editorial] > .container,
    #main-content #process > .container {
        width: calc(100% - 48px);
    }

    #main-content #snapshot .practice-editorial-snapshot {
        display: block;
    }

    #main-content #snapshot .practice-editorial-snapshot-anchor {
        margin-bottom: 36px;
    }

    #main-content #snapshot .practice-editorial-snapshot-anchor,
    #main-content #snapshot .practice-editorial-snapshot-stories {
        grid-column: auto;
        grid-row: auto;
    }

    #main-content #snapshot .practice-editorial-snapshot-media {
        aspect-ratio: 3 / 2;
        margin-top: 28px;
    }

    #main-content #snapshot [data-editorial-story] {
        padding-bottom: 32px;
    }

    #main-content #snapshot [data-editorial-story] + [data-editorial-story] {
        padding-top: 32px;
    }

    #main-content #cases[data-practice-editorial] .corporate-section-head {
        display: block;
        margin-bottom: 36px;
    }

    #main-content #cases[data-practice-editorial] .practice-section-desc {
        margin-top: 20px;
    }

    #main-content #cases .practice-editorial-cases {
        display: block;
    }

    #main-content #cases .practice-editorial-case,
    #main-content #cases .practice-editorial-case-featured {
        display: block;
        margin: 0 0 28px;
        padding: 0 0 28px;
        border-bottom: 1px solid var(--editorial-rule);
    }

    #main-content #cases .practice-editorial-case:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: 0;
    }

    #main-content #cases .practice-editorial-case h3,
    #main-content #cases .practice-editorial-case-featured h3 {
        font-size: 1.75rem !important;
    }

    #main-content #process .practice-process-step {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 14px;
        padding-bottom: 28px;
    }

    #main-content #process .practice-process-step::after {
        top: 40px;
        left: 14px;
        bottom: 8px;
    }

    #main-content #process .practice-process-number {
        font-size: 1.875rem;
    }

    #main-content #process .practice-process-copy h3 {
        font-size: 1.375rem;
    }

    #main-content #process .family-layout-preparation {
        margin-left: 0;
    }
}

@media (max-width: 374px) {
    #main-content #process .practice-process-step {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 14px;
    }

    #main-content #process .practice-process-number {
        font-size: 1.875rem;
    }

    #main-content #process .practice-process-step::after {
        left: 13px;
    }
}

@media print {
    #main-content #snapshot .practice-editorial-snapshot-anchor,
    #main-content #process .corporate-section-head {
        position: static;
    }

    #main-content #snapshot .practice-editorial-snapshot-media {
        display: none;
    }
}
