.practice-page {
    --practice-gutter: clamp(1.35rem, 5vw, 4.5rem);
    background: var(--paper);
}

.practice-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
    background: var(--rose-wash);
    border-bottom: 1px solid var(--accent-soft);
}

.practice-hero__copy {
    align-self: center;
    padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2.5rem, 5vw, 4.5rem) var(--practice-gutter);
}

.practice-hero h1 {
    margin: 0;
    color: var(--accent-dark);
    font-size: clamp(2.5rem, 5.3vw, 4.5rem);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.055em;
}

.practice-hero__intro {
    max-width: 34rem;
    margin: 1.5rem 0 0;
    color: var(--ink-soft);
    font-size: 1.05rem;
    line-height: 1.8;
}

.practice-hero__visual {
    display: grid;
    align-items: center;
    min-width: 0;
    padding: clamp(2rem, 4vw, 3.5rem);
}

.practice-photo-placeholder {
    display: grid;
    min-height: 23rem;
    align-content: center;
    justify-items: center;
    gap: 1rem;
    padding: 2rem;
    border: 1px solid var(--line-strong);
    border-radius: 50% 50% var(--radius-medium) var(--radius-medium);
    color: var(--accent-dark);
    background: var(--accent-soft);
    text-align: center;
}

.practice-photo-placeholder svg {
    width: 3rem;
    height: 3rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.3;
}

.practice-photo-placeholder p {
    margin: 0;
    font-weight: 750;
}

.practice-photo-placeholder span {
    display: block;
    margin-top: 0.35rem;
    font-size: 0.85rem;
    font-weight: 450;
}

.practice-content {
    padding: clamp(1rem, 3vw, 2rem) var(--practice-gutter) clamp(2.5rem, 5vw, 4.5rem);
}

.practice-section {
    display: grid;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.5fr);
    gap: clamp(1.25rem, 5vw, 5rem);
    padding-block: clamp(2rem, 4vw, 3.5rem);
}

.practice-section + .practice-section {
    border-top: 1px solid var(--line);
}

.practice-section:last-child {
    padding-bottom: 0;
}

.practice-section h2 {
    margin: 0;
    color: var(--accent-dark);
    font-size: clamp(1.5rem, 2.6vw, 2.1rem);
    font-weight: 750;
    line-height: 1.25;
    letter-spacing: -0.035em;
    overflow-wrap: anywhere;
}

.practice-section p {
    max-width: 44rem;
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.85;
}

.practice-section__text .text-link {
    min-height: 2.75rem;
    margin-top: 1rem;
}

@media (max-width: 48rem) {
    .practice-hero,
    .practice-section {
        grid-template-columns: minmax(0, 1fr);
    }

    .practice-hero__copy {
        padding: 2.75rem var(--practice-gutter) 0;
    }

    .practice-hero__intro {
        max-width: none;
    }

    .practice-hero__visual {
        padding: 2rem var(--practice-gutter);
    }

    .practice-photo-placeholder {
        width: min(100%, 28rem);
        min-height: 16rem;
        justify-self: center;
    }
}
