/* Five practice pages only. Keep the existing layouts and working controls. */
body.practice-design {
    --practice-space: 88px;
    --practice-heading: clamp(34px, 3.2vw, 44px);
    --practice-card-heading: clamp(25px, 2.1vw, 29px);
    --practice-copy: #b4bfbc;
}

/* One action hierarchy; no pointer-following or moving click targets. */
body.practice-design :is(.btn-primary, .btn-outline),
body.practice-design #weaponsPage .btn-primary {
    min-height: 58px;
    max-width: 100%;
    padding: 17px 28px;
    border-radius: 2px;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 1.15px;
    text-align: center;
    white-space: normal;
    box-shadow: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
body.practice-design .btn-primary,
body.practice-design #weaponsPage .btn-primary {
    color: var(--bg-dark);
    background: var(--copper);
    border: 1px solid var(--copper);
}
body.practice-design .btn-outline {
    color: var(--copper);
    background: transparent;
    border: 1px solid var(--copper);
}
body.practice-design :is(.btn-primary, .btn-outline, .btn-text-link).magnetic {
    transform: none !important; /* Shared magnetic handler writes an inline transform. */
    will-change: auto;
}
body.practice-design .btn-text-link,
body.practice-design #weaponsPage .text-link {
    color: var(--copper);
    font-size: 12px;
    font-weight: 600;
    line-height: 1.65;
    letter-spacing: 1px;
    border-bottom: 1px solid var(--border-color);
    padding-block: 5px;
    text-decoration: none;
}
body.practice-design :is(.criminal-urgent-cta, .criminal-urgent-cta span) {
    transform: none;
    box-shadow: none;
}
body.practice-design :is(a, button, summary, [role="button"]):focus-visible {
    outline: 2px solid var(--copper-hover);
    outline-offset: 4px;
}

/* White editorial headings; copper is an accent, not the whole heading. */
body.practice-design :is(.criminal-section-header, .arbitration-section-header, .family-section-header, .gov-section-header) {
    max-width: 820px;
    margin: 0 0 36px;
    text-align: left;
}
body.practice-design :is(.criminal-section-header, .arbitration-section-header, .family-section-header, .gov-section-header) h2,
body.practice-design .section-title,
body.practice-design #weaponsPage :is(.wp-section-heading, .wp-faq-heading, .wp-workflow, .wp-contact-layout) h2 {
    color: var(--text-main);
    font-family: 'Cormorant Garamond', serif;
    font-size: var(--practice-heading);
    font-weight: 600;
    line-height: 1.12;
    text-align: left;
    text-wrap: balance;
}
body.practice-design .section-title { margin: 0 0 32px; max-width: 880px; }
body.practice-design :is(.criminal-section-header, .arbitration-section-header, .family-section-header, .gov-section-header) p {
    margin-inline: 0;
    color: var(--practice-copy);
    font-size: 14px;
    line-height: 1.75;
}
body.practice-design :is(.criminal-section-kicker, .arbitration-section-kicker, .family-section-kicker, .gov-section-kicker),
body.practice-design #weaponsPage .eyebrow {
    font-size: 11px;
    line-height: 1.65;
    letter-spacing: 1.7px;
}
body.practice-design main :is(.criminal-situations-section, .arbitration-situations-section, .family-situations-section, .gov-situations-section, .criminal-work-section, .tactics-section, .criminal-practice-section, .criminal-lawyers-section, .curators-section, .spec-cases-section) {
    padding-block: var(--practice-space);
}
body.practice-design main .calculator-section { padding-block: 0 var(--practice-space); }
body.practice-design main .criminal-calculator-section { padding-block: var(--practice-space); }
body.practice-design #weaponsPage .wp-section { padding-block: var(--practice-space); }

/* Keep the approved one-photo situation composition and its crops intact. */
body.practice-design :is(.criminal-situation-card, .arbitration-situation-card, .family-situation-card, .gov-situation-card) {
    border: 1px solid var(--border-color);
    border-top-color: var(--copper);
}
body.practice-design :is(.family-situation-card, .gov-situation-card)::before { display: none; }
body.practice-design :is(.criminal-situation-card, .arbitration-situation-card, .family-situation-card, .gov-situation-card) h3,
body.practice-design #weaponsPage .wp-situation h3 {
    font-size: var(--practice-card-heading);
    line-height: 1.16;
}
body.practice-design :is(.criminal-situation-card, .arbitration-situation-card, .family-situation-card, .gov-situation-card) ul,
body.practice-design #weaponsPage .wp-situation p {
    color: var(--practice-copy);
    font-size: 14px;
    line-height: 1.75;
}

/* Work steps: quiet numbers, readable subheadings, no floated text. */
body.practice-design .tactics-grid { gap: 48px; }
body.practice-design .tactic-item {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 0 16px;
    padding-top: 24px;
    margin-bottom: 30px;
    border-top: 1px solid var(--border-color);
}
body.practice-design .tactic-number {
    grid-column: 1;
    grid-row: 1;
    float: none;
    margin: 5px 0 0;
    color: var(--copper);
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    line-height: 1.7;
    letter-spacing: 1px;
}
body.practice-design .tactic-item :is(h3, p) { grid-column: 2; }
body.practice-design .tactic-item h3,
body.practice-design .criminal-work-step h3,
body.practice-design #weaponsPage .wp-workflow h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.18;
    margin: 0 0 12px;
    color: var(--text-main);
}
body.practice-design .tactic-item p { font-size: 15px; line-height: 1.75; margin: 0 0 12px; }
body.practice-design .tactic-item p:last-child { margin-bottom: 0; }
body.practice-design .criminal-work-step p,
body.practice-design #weaponsPage .wp-workflow li p {
    color: var(--practice-copy);
    font-size: 14px;
    line-height: 1.75;
}
body.practice-design .criminal-work-number {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    color: var(--copper);
    line-height: 1.7;
    margin-bottom: 22px;
    letter-spacing: 1px;
}

/* Partner cards share a portrait language, not a forced identical anatomy. */
body.practice-design .curators-grid { gap: 20px; }
body.practice-design .curator-card {
    gap: 24px;
    padding: 28px;
    border: 1px solid var(--border-color);
    border-top-color: var(--copper);
    background: rgba(11, 22, 20, .55);
    align-items: flex-start;
    box-shadow: none;
    transition: border-color .2s ease;
}
body.practice-design .curator-photo {
    flex: 0 0 112px;
    width: 112px;
    height: 150px;
    object-position: center top;
    border: 0;
    border-top: 1px solid var(--copper);
    border-radius: 0;
}
body.practice-design .curator-info h3,
body.practice-design .criminal-lawyer-card h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 29px;
    font-weight: 600;
    line-height: 1.13;
    color: var(--text-main);
    margin: 0 0 12px;
}
body.practice-design .curator-info span,
body.practice-design .criminal-lawyer-status { font-size: 11px; letter-spacing: 1px; }
body.practice-design .curator-info p,
body.practice-design .criminal-lawyer-lead,
body.practice-design .criminal-lawyer-practices { font-size: 14px; line-height: 1.75; color: var(--practice-copy); }
body.practice-design .curator-info .practice-profile-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--copper);
    font-size: 12px;
    line-height: 1.65;
    letter-spacing: 1px;
    margin: 18px 0 0;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 3px;
}
body.practice-design .curator-info .practice-profile-link span { font-size: 18px; line-height: 1; margin: 0; letter-spacing: 0; }
body.practice-design .criminal-lawyer-card { border-top-color: var(--copper); }
body.practice-design .criminal-lawyer-photo-link { border: 0; border-top: 1px solid var(--copper); }
body.practice-design .criminal-lawyer-cases > span { font-size: 10px; letter-spacing: 1px; }

/* Existing case facts and selections stay unchanged. */
body.practice-design :is(.case-mini-card, .criminal-case-card) {
    border: 1px solid var(--border-color);
    border-top-color: var(--copper);
    box-shadow: none;
    transition: border-color .2s ease;
}
body.practice-design :is(.case-loud-title, .criminal-case-card h3) {
    font-size: var(--practice-card-heading);
    line-height: 1.16;
}
body.practice-design :is(.case-tag, .criminal-case-tag, .criminal-case-result strong) { font-size: 11px; letter-spacing: 1px; }
body.practice-design .criminal-case-summary { font-size: 14px; line-height: 1.75; color: var(--practice-copy); }
body.practice-design .practice-case-result {
    margin: 0 0 24px;
    color: var(--practice-copy);
    font-size: 14px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}
body.practice-design .practice-case-result strong {
    display: block;
    margin-bottom: 8px;
    color: var(--copper);
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
body.practice-design :is(.case-hover-btn, .criminal-case-open) {
    opacity: 1;
    color: var(--copper);
    font-size: 12px;
    letter-spacing: 1px;
    line-height: 1.65;
}

/* Calculator entry is secondary; the calculation itself remains primary. */
body.practice-design .calc-teaser {
    background: var(--bg-panel);
    border-radius: 2px;
    border: 1px solid var(--border-color);
    border-top-color: var(--copper);
    box-shadow: none;
    transition: border-color .2s ease;
}
body.practice-design .calc-teaser-icon { background: transparent; border-radius: 0; }
body.practice-design .calc-teaser-info h3 { font-size: 29px; line-height: 1.16; }
body.practice-design .calc-teaser-info p { font-size: 14px; line-height: 1.75; }
body.practice-design .calc-teaser-action .btn-primary {
    color: var(--copper);
    background: transparent;
    padding: 15px 24px;
    min-height: 54px;
}
body.practice-design .modal-box { border-radius: 2px; }
body.practice-design :is(#modal-calc-udo, #modal-calc-395, #modal-calc-alim, #modal-calc-mandatory, #modal-calc-cadastral) .calc-widget {
    border: 1px solid var(--border-color);
    border-top-color: var(--copper);
    border-radius: 2px;
    background: var(--bg-panel);
    box-shadow: none;
}
body.practice-design .calc-modal-box :is(.calc-header, .alim-calc-header, .mand-calc-header) { padding-right: 38px; }
body.practice-design :is(#modal-calc-udo, #modal-calc-395, #modal-calc-alim, #modal-calc-mandatory, #modal-calc-cadastral) :is(.calc-header, .alim-calc-header, .mand-calc-header) h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: clamp(29px, 3vw, 36px);
    font-weight: 600;
    line-height: 1.16;
    margin-bottom: 12px;
}
body.practice-design :is(#modal-calc-udo, #modal-calc-395, #modal-calc-alim, #modal-calc-mandatory, #modal-calc-cadastral) :is(.calc-header, .alim-calc-header, .mand-calc-header) p { font-size: 14px; line-height: 1.75; }
body.practice-design .calc-modal-close {
    width: 44px;
    height: 44px;
    border: 1px solid var(--border-color);
    border-radius: 2px;
}

/* A shared field treatment; background-color keeps the native/select arrow. */
body.practice-design .form-input,
body.practice-design #weaponsPage .wp-form-panel :is(input:not([type="checkbox"]), textarea) {
    border: 1px solid #5b6964 !important;
    background-color: rgba(11, 22, 20, .55) !important;
    color: var(--text-main) !important;
    border-radius: 2px;
    font-size: 16px;
    line-height: 1.65;
}
body.practice-design .form-input::placeholder { color: var(--text-muted) !important; opacity: 1; }
body.practice-design .form-input:focus,
body.practice-design #weaponsPage .wp-form-panel :is(input:not([type="checkbox"]), textarea):focus {
    border-color: var(--copper-hover) !important;
    background-color: var(--bg-dark) !important;
}
body.practice-design .form-input:focus-visible,
body.practice-design #weaponsPage .wp-form-panel :is(input, textarea):focus-visible {
    outline: 2px solid var(--copper-hover) !important;
    outline-offset: 3px;
}
body.practice-design .form-status { border-radius: 2px; font-size: 14px; line-height: 1.65; }
body.practice-design .site-footer-lead { font-size: 14px; line-height: 1.75; }
body.practice-design .site-footer .footer-consultation-note { font-size: 13px; line-height: 1.75; }
body.practice-design .site-footer .footer-legal { font-size: 11px; line-height: 1.8; opacity: .8; letter-spacing: 1px; }
body.practice-design #weaponsPage :is(.wp-section-heading>p:not(.eyebrow), .wp-case-facts dd, .wp-lawyer-copy>p:not(.eyebrow):not(.wp-lawyer-role), .wp-adjacent-grid p, .wp-faq-heading p:not(.eyebrow), .wp-faq-answer p, .wp-conditions, .wp-form-panel>p:not(.eyebrow)) {
    font-size: 14px;
    line-height: 1.8;
}
body.practice-design #weaponsPage :is(.wp-case-foot, .wp-source-link, .wp-contact-note, .wp-form-panel label, .wp-consent, .wp-privacy) {
    font-size: 13px;
    line-height: 1.75;
}
body.practice-design #weaponsPage .wp-faq>summary { font-size: 15px; }
body.practice-design #weaponsPage :is(.wp-lawyer-role, .wp-case-facts dt, .wp-form-panel label>span) { font-size: 11px; }
body.practice-design #weaponsPage :is(.wp-hero-note, .wp-contact-messenger) { font-size: 13px; line-height: 1.75; }
body.practice-design #weaponsPage :is(.wp-breadcrumb, .wp-image-caption) { font-size: 11px; line-height: 1.7; }
body.practice-design #weaponsPage .wp-urgent { font-size: 12px; line-height: 1.65; }

@media (hover: hover) {
    body.practice-design .btn-primary:not(:disabled):hover,
    body.practice-design #weaponsPage .btn-primary:not(:disabled):hover {
        background: var(--copper-hover);
        border-color: var(--copper-hover);
        color: var(--bg-dark);
        box-shadow: none;
        transform: none;
    }
    body.practice-design .btn-outline:not(:disabled):hover {
        background: rgba(201, 142, 125, .08);
        color: var(--copper-hover);
        border-color: var(--copper-hover);
        box-shadow: none;
        transform: none;
    }
    body.practice-design :is(.curator-card, .case-mini-card, .criminal-case-card, .calc-teaser):hover {
        border-color: var(--copper);
        box-shadow: none;
        transform: none;
    }
    body.practice-design .calc-teaser:hover .calc-teaser-icon {
        color: var(--copper-hover);
        background: transparent;
        transform: none;
    }
    body.practice-design :is(.btn-text-link, .case-hover-btn, .criminal-case-open):hover { color: var(--copper-hover); }
}
@media (max-width: 1100px) {
    body.practice-design { --practice-space: 72px; }
    body.practice-design .curators-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 650px) {
    body.practice-design {
        --practice-space: 52px;
        --practice-heading: 34px;
        --practice-card-heading: 26px;
    }
    body.practice-design :is(.btn-primary, .btn-outline),
    body.practice-design #weaponsPage .btn-primary { min-height: 54px; padding: 15px 20px; font-size: 12px; letter-spacing: 1px; }
    body.practice-design :is(.criminal-section-header, .arbitration-section-header, .family-section-header, .gov-section-header),
    body.practice-design #weaponsPage .wp-section-heading { margin-bottom: 28px; }
    body.practice-design .tactics-grid { gap: 0; grid-template-columns: minmax(0, 1fr); }
    body.practice-design .tactic-item { gap: 0 12px; }
    body.practice-design .tactic-item h3,
    body.practice-design .criminal-work-step h3,
    body.practice-design #weaponsPage .wp-workflow h3 { font-size: 26px; }
    body.practice-design .curator-card {
        display: grid;
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 8px 18px;
        padding: 22px;
    }
    body.practice-design .curator-photo { grid-column: 1; grid-row: 1 / span 2; width: 86px; height: 115px; }
    body.practice-design .curator-info { display: contents; }
    body.practice-design .curator-info h3 { grid-column: 2; align-self: end; font-size: 26px; margin: 0; }
    body.practice-design .curator-info span { grid-column: 2; align-self: start; font-size: 11px; margin: 0; }
    body.practice-design .curator-info p { grid-column: 1 / -1; margin-top: 8px; }
    body.practice-design .curator-info .practice-profile-link { grid-column: 1 / -1; justify-self: start; margin-top: 8px; }
    body.practice-design .criminal-lawyer-card h3 { font-size: 26px; }
    body.practice-design .calc-teaser { text-align: left; align-items: flex-start; padding: 25px 22px; }
    body.practice-design .calc-teaser-info { text-align: left; }
    body.practice-design .calc-teaser-info h3 { font-size: 27px; }
    body.practice-design .calc-modal-close { top: 10px; right: 10px; }
    body.practice-design .calc-modal-box :is(.calc-header, .alim-calc-header, .mand-calc-header) { padding-right: 34px; }
}
@media (max-width: 360px) {
    body.practice-design .curator-card { gap: 8px 14px; padding: 18px; grid-template-columns: 76px minmax(0, 1fr); }
    body.practice-design .curator-photo { width: 76px; height: 102px; }
    body.practice-design .curator-info h3 { font-size: 24px; }
}
@media (max-width: 520px) {
    body.practice-design .criminal-lawyer-photo-link { grid-column: 1; grid-row: 1 / span 2; }
    body.practice-design .criminal-lawyer-status { grid-column: 2; grid-row: 1; margin: 0; align-self: end; }
    body.practice-design .criminal-lawyer-card h3 { grid-column: 2; grid-row: 2; margin: 0; align-self: start; }
    body.practice-design .criminal-lawyer-lead,
    body.practice-design .criminal-lawyer-content>p:not(.criminal-lawyer-lead) { grid-column: 1 / -1; margin: 0; }
}

/* Mobile reading rhythm: less repeated padding, unchanged type and image crops. */
@media (max-width: 650px) {
    body.practice-design { --practice-space: 36px; }
    body.practice-design :is(.criminal-section-header, .arbitration-section-header, .family-section-header, .gov-section-header),
    body.practice-design #weaponsPage .wp-section-heading { margin-bottom: 24px; }
    body.practice-design .section-title { margin-bottom: 24px; }
    body.practice-design .tactic-item { padding-top: 18px; margin-bottom: 22px; }
    body.practice-design .tactic-item:last-child { margin-bottom: 0; }
    body.practice-design .tactics-column + .tactics-column { margin-top: 22px; }
    body.practice-design .criminal-work-step { padding: 20px; }
    body.practice-design .criminal-work-number { margin-bottom: 12px; }
    body.practice-design .criminal-case-card { padding: 22px 20px; }
    body.practice-design .criminal-case-tag { margin-bottom: 12px; }
    body.practice-design .criminal-case-card h3 { margin-bottom: 12px; }
    body.practice-design .criminal-case-summary { margin-bottom: 16px; }
    body.practice-design .criminal-case-result { padding-top: 14px; }
    body.practice-design .criminal-case-open { margin-top: 16px; }
    body.practice-design .criminal-practice-more { margin-top: 24px; }
    body.practice-design .practice-case-result { margin-bottom: 16px; }
    body.practice-design .criminal-lawyer-card { padding: 20px; gap: 12px; }
    body.practice-design .criminal-lawyer-cases { margin-top: 8px; }
    body.practice-design .criminal-lawyer-profile { margin-top: 8px; }
    body.practice-design #weaponsPage .wp-situation { padding: 20px; }
    body.practice-design #weaponsPage .wp-card-top { margin-bottom: 12px; }
    body.practice-design #weaponsPage .wp-lawyer-layout { gap: 32px; }
    body.practice-design #weaponsPage .wp-workflow li { padding-block: 14px; }
}
