/*
 * Serac Avocats — autonomous visual polish pass, 2026-07-12.
 * This file intentionally loads after every page stylesheet so the corrections
 * stay isolated, reviewable and easy to remove before the future staging push.
 */

/* Keep French prose readable without forcing one alignment across every page. */
main:not(#main-content) :where(p, li) {
    -webkit-hyphens: none !important;
    hyphens: none !important;
    text-wrap: pretty;
}

/* Paragraph alignment is intentionally defined by each page stylesheet. */

/* Client-approved exception: dictionary copy and editorial paragraphs on Pourquoi Sérac. */
@media (min-width: 768px) {
    body main p.serac-why-v3-definition__text:not(#serac-allow-justified-copy),
    body main p.serac-why-v3-paragraph:not(#serac-allow-justified-copy) {
        text-align: justify !important;
        text-align-last: left;
    }
}

main:not(#main-content) :where(
    .serac-cabinet-lead,
    .serac-v4-copy,
    .serac-why-v3-paragraph,
    .serac-join-copy,
    .serac-international-editorial-grid p,
    .serac-profile-content p,
    .serac-default-content p
) {
    text-wrap: pretty;
}

.serac-cabinet-v5 .serac-cabinet-hero-text .serac-cabinet-lead {
    text-wrap: balance;
}

/*
 * Cabinet: long editorial sentences need room to read as sentences.
 * The legacy desktop split squeezed these two headings into tall text towers.
 */
@media (min-width: 1181px) {
    .serac-cabinet-v5-foundations .serac-v4-approach-head {
        grid-template-columns: minmax(180px, 0.18fr) minmax(0, 0.82fr);
        gap: clamp(44px, 5vw, 80px);
    }

    .serac-cabinet-v5-foundations .serac-v4-approach-head .serac-v4-h2 {
        max-width: 980px;
        font-size: clamp(42px, 3.1vw, 50px);
        line-height: 1.1;
        text-wrap: balance;
    }

    .serac-cabinet-v5-rse-grid {
        grid-template-columns: 1fr;
        gap: 62px;
    }

    .serac-cabinet-v5-rse-title .serac-v4-h2 {
        max-width: 1040px;
        font-size: clamp(50px, 4.35vw, 68px);
        line-height: 1.02;
        text-wrap: balance;
    }
}

@media (max-width: 760px) {
    .serac-cabinet-v5-foundations .serac-v4-approach-head .serac-v4-h2 {
        font-size: clamp(30px, 8.3vw, 34px);
        line-height: 1.13;
        text-wrap: pretty;
    }

    .serac-cabinet-v5-rse-title .serac-v4-h2 {
        font-size: clamp(38px, 10.5vw, 44px);
        line-height: 1.04;
        text-wrap: balance;
    }
}

/* Keyboard visibility, target size and motion preferences. */
:where(a, button, input, textarea, select):focus-visible {
    outline: 3px solid #2e5cff !important;
    outline-offset: 4px !important;
}

.serac-site-header button,
.serac-contact-submit,
.serac-default-button,
.serac-international-button,
.serac-secteurs-button,
.serac-join-button {
    min-height: 44px;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Expertise details already end with a strong page CTA: keep one invitation. */
.serac-site-footer--compact .serac-footer-contact-block {
    padding-top: clamp(2.25rem, 4vw, 4rem);
}

.serac-site-footer--compact .serac-footer-heading {
    align-items: flex-start;
}

.serac-site-footer--compact .serac-footer-brand-logo {
    margin-top: 0;
}

/* Sectors: turn the administrative list into an editorial typographic field. */
@media (min-width: 901px) {
    .serac-secteurs-page--client-revision .serac-secteurs-list-section {
        padding: 76px 0 140px;
    }

    .serac-secteurs-editorial-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: clamp(32px, 4.5vw, 76px);
        border-bottom: 0;
    }

    .serac-secteurs-editorial-list li {
        display: flex;
        align-items: flex-end;
        min-height: 152px;
        padding: 28px 18px 30px 0;
        font-family: "Satoshi", "Hanken Grotesk", Arial, sans-serif;
        font-size: clamp(1.45rem, 2.05vw, 2.35rem);
        font-weight: 500;
        line-height: 1.08;
        text-wrap: balance;
    }

    .serac-secteurs-editorial-list li:nth-child(3n + 2) {
        padding-top: 58px;
    }

    .serac-secteurs-editorial-list li:nth-child(3n + 3) {
        padding-top: 86px;
    }

    .serac-secteurs-editorial-list li::after {
        top: 30px;
        right: 0;
        width: 34px;
    }
}

@media (min-width: 901px) and (max-width: 1180px) {
    .serac-secteurs-page--client-revision .serac-secteurs-hero {
        min-height: 0;
        padding: 160px 0 92px;
    }

    .serac-secteurs-page--client-revision .serac-secteurs-hero-grid {
        grid-template-columns: 1fr;
        min-height: 0;
        gap: 52px;
    }

    .serac-secteurs-page--client-revision .serac-secteurs-lead {
        max-width: 720px;
    }

    .serac-secteurs-hero-mark {
        width: 470px;
        right: -170px;
        top: 28%;
    }
}

/* International: create hierarchy from the two supplied paragraphs only. */
@media (min-width: 901px) {
    .serac-international-editorial-grid {
        align-items: start;
    }

    .serac-international-editorial-grid p:first-child {
        color: var(--blue);
        font-family: "Satoshi", "Hanken Grotesk", Arial, sans-serif;
        font-size: clamp(1.35rem, 2vw, 2rem);
        font-weight: 500;
        line-height: 1.5;
        text-align: left !important;
    }

    .serac-international-editorial-grid p:nth-child(2) {
        margin-top: 92px;
    }
}

/* Empty news filters remain intentional and useful instead of looking broken. */
.serac-news-empty {
    position: relative;
    display: grid;
    justify-items: start;
    min-height: 330px;
    margin: 0;
    padding: clamp(38px, 6vw, 78px);
    overflow: hidden;
    border: 1px solid var(--line-strong);
    color: var(--blue);
}

.serac-news-empty-mark {
    position: absolute;
    right: -0.05em;
    bottom: -0.2em;
    color: rgba(0, 19, 102, 0.045);
    font-family: "Satoshi", "Hanken Grotesk", Arial, sans-serif;
    font-size: clamp(6rem, 17vw, 17rem);
    font-weight: 600;
    line-height: 0.85;
    pointer-events: none;
}

.serac-news-empty p {
    position: relative;
    z-index: 1;
    max-width: 640px;
    margin: 0;
    font-family: "Satoshi", "Hanken Grotesk", Arial, sans-serif;
    font-size: clamp(1.75rem, 3vw, 3rem);
    font-weight: 500;
    line-height: 1.12;
    text-align: left !important;
}

.serac-news-empty a {
    position: relative;
    z-index: 1;
    align-self: end;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin-top: 34px;
    border-bottom: 1px solid currentColor;
    color: var(--blue);
    font-family: "Hanken Grotesk", Arial, sans-serif;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
}

/* Contact: denser form rhythm with a clear, touch-friendly consent control. */
.serac-contact-consent {
    min-height: 44px;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    color: #454b5a;
    font-size: 15px;
}

.serac-contact-consent input {
    width: 22px;
    height: 22px;
    margin: 0;
    accent-color: var(--blue);
}

/* Long pages: preserve the content while improving mobile cadence. */
@media (max-width: 767px) {
    body.home section.py-section-gap {
        padding-top: 4.75rem !important;
        padding-bottom: 4.75rem !important;
    }

    .serac-home-positioning__card,
    body.home section.py-section-gap.bg-secondary-fixed > .px-margin-desktop > .grid > .group {
        padding: 1.45rem !important;
    }

    .serac-cabinet-v5-convictions,
    .serac-cabinet-v5-photo-band,
    .serac-cabinet-v5-approach,
    .serac-cabinet-v5-foundations,
    .serac-cabinet-v5-values,
    .serac-cabinet-v5-network,
    .serac-cabinet-v5-rse {
        padding-top: 56px;
        padding-bottom: 56px;
    }

    .serac-cabinet-v5-photo-band {
        padding-top: 0;
    }

    .serac-cabinet-v5-approach-copy,
    .serac-cabinet-v5-network-copy {
        gap: 24px;
    }

    .serac-join-page .serac-join-team,
    .serac-join-page .serac-join-profiles,
    .serac-join-page .serac-join-cta {
        padding-top: 62px;
        padding-bottom: 68px;
    }

    .serac-join-page .serac-join-benefit-row {
        gap: 18px;
        padding: 26px 0;
    }

    .serac-join-page .serac-join-profile-card {
        padding: 30px 0;
    }

    .serac-equipe-page .serac-equipe-team {
        padding: 62px 0 72px;
    }

    .serac-equipe-page .serac-equipe-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 34px 14px;
    }

    .serac-equipe-page .serac-equipe-card-content {
        padding: 16px 40px 0 0;
    }

    .serac-equipe-page .serac-equipe-name {
        max-width: 100%;
        padding-right: 0;
        font-size: 0.9rem;
        line-height: 1.2;
        overflow-wrap: anywhere;
    }

    .serac-equipe-page .serac-equipe-card-link {
        top: 14px;
        width: 34px;
        height: 34px;
    }

    .serac-equipe-page .serac-equipe-card-actions {
        gap: 6px 10px;
        margin-top: 12px;
        padding-right: 0;
    }

    .serac-equipe-page .serac-equipe-card-actions a {
        display: inline-flex;
        align-items: center;
        min-height: 28px;
    }

    .serac-equipe-page .serac-equipe-role {
        min-height: 0;
        font-size: 0.78rem;
        line-height: 1.45;
    }

    .serac-equipe-page .serac-equipe-linkedin {
        width: 28px;
        height: 28px;
    }

    .serac-profile-hero,
    .serac-profile-body,
    .serac-profile-news {
        padding-bottom: 64px;
    }

    .serac-profile-body {
        padding-top: 64px;
    }

    .serac-profile-aside {
        gap: 28px;
    }

    .serac-profile-content p,
    .serac-profile-content li {
        font-size: 17px;
        line-height: 1.68;
    }

    .serac-profile-content p {
        margin-bottom: 20px;
    }

    .serac-contact-page .serac-contact-info,
    .serac-contact-page .serac-contact-process {
        padding-top: 62px;
        padding-bottom: 68px;
    }

    .serac-contact-page .serac-contact-form-card,
    .serac-contact-page .serac-contact-map-card {
        padding: 24px 20px;
    }

    .serac-contact-form-title {
        margin-bottom: 28px;
    }

    .serac-contact-form {
        gap: 16px;
    }

    .serac-contact-field-grid {
        gap: 16px;
    }

    .serac-contact-field {
        gap: 7px;
    }

    .serac-contact-page .serac-contact-field input,
    .serac-contact-page .serac-contact-field textarea {
        padding: 12px 2px;
    }

    .serac-contact-field textarea {
        min-height: 150px;
    }

    .serac-news-empty {
        min-height: 260px;
        padding: 32px 24px;
    }

    .serac-news-empty p {
        font-size: clamp(1.65rem, 8vw, 2.3rem);
    }

    .serac-secteurs-editorial-list li {
        min-height: 72px;
        padding: 22px 42px 22px 0;
        font-family: "Satoshi", "Hanken Grotesk", Arial, sans-serif;
        font-size: clamp(1.18rem, 6vw, 1.55rem);
        font-weight: 500;
        line-height: 1.15;
    }

    .serac-site-footer .serac-footer-shell {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .serac-site-footer .serac-footer-contact-block {
        gap: 2.2rem;
    }

    .serac-site-footer .serac-footer-brand-logo {
        margin-top: 2rem;
    }

    .serac-site-footer .serac-footer-meta {
        margin-top: 2.25rem;
    }

    .serac-site-footer--compact .serac-footer-brand-logo {
        margin-top: 0;
    }
}

@media (max-width: 380px) {
    .serac-equipe-page .serac-equipe-grid {
        gap-inline: 10px;
    }

    .serac-equipe-page .serac-equipe-name {
        font-size: 0.82rem;
    }
}
/* Shared page frame and internal-hero rhythm, validated across the main page set. */
.serac-cabinet-v6-shell,
.serac-expertises-shell,
.serac-international-v3-shell,
.serac-why-v3-shell,
.serac-equipe-shell,
.serac-join-shell {
    width: min(calc(100% - var(--serac-page-inline-space)), var(--serac-page-content-max));
    margin-inline: auto;
}

@media (min-width: 768px) {
    .serac-cabinet-v6-hero,
    .serac-expertises-page--client-revision .serac-expertises-hero,
    .serac-why-v3-hero,
    .serac-equipe-page .serac-equipe-hero,
    .serac-join-page .serac-join-hero {
        display: flex;
        align-items: flex-end;
        height: var(--serac-internal-hero-height);
        min-height: var(--serac-internal-hero-height);
        padding: var(--serac-internal-hero-padding-top) 0 var(--serac-internal-hero-padding-bottom);
    }

    .serac-international-v3-hero {
        height: var(--serac-internal-hero-height);
        min-height: var(--serac-internal-hero-height);
    }

    .serac-international-v3-hero-grid {
        height: var(--serac-internal-hero-height);
        min-height: var(--serac-internal-hero-height);
        padding: var(--serac-internal-hero-padding-top) 0 var(--serac-internal-hero-padding-bottom);
    }

    .serac-expertises-page--client-revision .serac-expertises-hero-grid,
    .serac-equipe-page .serac-equipe-hero-grid,
    .serac-join-page .serac-join-hero-grid {
        min-height: 0;
    }

    .serac-why-v3-hero-grid {
        width: 100%;
        padding-bottom: 0;
    }
}

/* Expertises: slightly reduce the empty area above the main title. */
@media (min-width: 768px) {
    .serac-expertises-page--client-revision .serac-expertises-hero {
        height: 590px;
        min-height: 590px;
    }
}

/* Actualités: preserve the requested desktop justification without the
 * stretched word spacing that appeared in the article lead. */
@media (min-width: 1280px) {
    body .serac-news-page .serac-news-copy,
    body .serac-news-single .serac-news-lead,
    body .serac-news-single .serac-news-copy,
    body .serac-news-single .serac-news-article-content p {
        -webkit-hyphens: none !important;
        hyphens: none !important;
        overflow-wrap: normal;
        text-align: justify !important;
        text-align-last: left;
        text-wrap: wrap;
    }
}

@media (max-width: 1279px) {
    body .serac-news-page .serac-news-copy,
    body .serac-news-single .serac-news-lead,
    body .serac-news-single .serac-news-copy,
    body .serac-news-single .serac-news-article-content p {
        -webkit-hyphens: none !important;
        hyphens: none !important;
        text-align: left !important;
        text-align-last: auto;
    }
}

@media (max-width: 767px) {
    .serac-cabinet-v6-hero,
    .serac-expertises-page--client-revision .serac-expertises-hero,
    .serac-why-v3-hero,
    .serac-equipe-page .serac-equipe-hero,
    .serac-join-page .serac-join-hero {
        display: flex;
        align-items: flex-end;
        height: auto;
        min-height: 430px;
        padding: 122px 0 74px;
    }

    .serac-international-v3-hero {
        height: auto;
        min-height: 430px;
    }

    .serac-international-v3-hero-grid {
        height: auto;
        min-height: 430px;
        padding: 122px 0 74px;
    }

    .serac-expertises-page--client-revision .serac-expertises-hero-grid,
    .serac-equipe-page .serac-equipe-hero-grid,
    .serac-join-page .serac-join-hero-grid {
        min-height: 0;
    }

    .serac-why-v3-hero-grid {
        width: 100%;
        padding-bottom: 0;
    }
}

@media (max-width: 767px) {
    .serac-expertises-page--client-revision .serac-expertises-hero {
        min-height: 410px;
    }
}

/* Sérac-blue color blend: preserves the glacier's luminosity and relief. */
.serac-home-dictionary__image-frame > img,
.serac-custom-home-spirit__image {
    mix-blend-mode: normal !important;
    opacity: 1 !important;
    filter: brightness(0.92) !important;
}

.serac-home-dictionary__image-frame > .absolute.inset-0,
.serac-custom-home-spirit__image-overlay {
    background: rgba(0, 19, 102, 0.66) !important;
    mix-blend-mode: color !important;
}

/* Cabinet: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-cabinet-v6-hero {
        height: 540px;
        min-height: 540px;
        padding: 132px 0 72px;
    }
}

@media (max-width: 767px) {
    .serac-cabinet-v6-hero {
        min-height: 382px;
        padding: 104px 0 52px;
    }
}

/* Expertises: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-expertises-page--client-revision .serac-expertises-hero {
        height: 520px;
        min-height: 520px;
        padding: 128px 0 68px;
    }
}

@media (max-width: 767px) {
    .serac-expertises-page--client-revision .serac-expertises-hero {
        min-height: 360px;
        padding: 98px 0 48px;
    }
}

/* International: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-international-v3-hero,
    .serac-international-v3-hero-grid {
        height: 540px;
        min-height: 540px;
    }

    .serac-international-v3-hero-grid {
        padding: 132px 0 72px;
    }
}

@media (max-width: 767px) {
    .serac-international-v3-hero-grid {
        padding: 102px 0 54px;
    }
}

/* Equipe: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-equipe-page .serac-equipe-hero {
        height: 540px;
        min-height: 540px;
        padding: 132px 0 72px;
    }
}

@media (max-width: 767px) {
    .serac-equipe-page .serac-equipe-hero {
        min-height: 370px;
        padding: 100px 0 50px;
    }
}

/* Equipe: eight local portrait treatments for client comparison. */
.serac-equipe-page .serac-equipe-card-image::before,
.serac-equipe-page .serac-equipe-card-image::after {
    content: none;
    position: absolute;
    z-index: 2;
    inset: auto;
    width: auto;
    height: auto;
    border: 0;
    background: none;
    pointer-events: none;
}

/* 2 — offset blue backplate. */
.serac-equipe-page .serac-equipe-card:nth-child(2) .serac-equipe-card-image {
    box-shadow: 12px 12px 0 rgba(0, 19, 102, 0.82);
}

/* 3 — full blue veil, removed on hover. */
.serac-equipe-page .serac-equipe-card:nth-child(3) .serac-equipe-card-image::after {
    content: "";
    inset: 0;
    background: rgba(0, 19, 102, 0.24);
    mix-blend-mode: color;
    opacity: 1;
    transition: opacity 0.28s ease;
}

/* 4 — broad diagonal lower band, removed on hover. */
.serac-equipe-page .serac-equipe-card:nth-child(4) .serac-equipe-card-image::after {
    content: "";
    right: 0;
    bottom: 0;
    left: 0;
    height: 23%;
    background: rgba(0, 19, 102, 0.4);
    clip-path: polygon(0 34%, 100% 0, 100% 100%, 0 100%);
    opacity: 1;
    transition: opacity 0.28s ease;
}

/* 5 — diagonal side panel, removed on hover. */
.serac-equipe-page .serac-equipe-card:nth-child(5) .serac-equipe-card-image::after {
    content: "";
    inset: 0;
    background: rgba(0, 19, 102, 0.32);
    clip-path: polygon(72% 0, 100% 0, 100% 100%, 58% 100%);
    opacity: 1;
    transition: opacity 0.28s ease;
}

.serac-equipe-page .serac-equipe-card:nth-child(3):hover .serac-equipe-card-image::after,
.serac-equipe-page .serac-equipe-card:nth-child(4):hover .serac-equipe-card-image::after,
.serac-equipe-page .serac-equipe-card:nth-child(5):hover .serac-equipe-card-image::after {
    opacity: 0;
}

/* 6 — two opposing corners. */
.serac-equipe-page .serac-equipe-card:nth-child(6) .serac-equipe-card-image::before,
.serac-equipe-page .serac-equipe-card:nth-child(6) .serac-equipe-card-image::after {
    content: "";
    width: 40px;
    height: 40px;
}

.serac-equipe-page .serac-equipe-card:nth-child(6) .serac-equipe-card-image::before {
    top: 14px;
    right: 14px;
    border-top: 3px solid rgba(0, 19, 102, 0.82);
    border-right: 3px solid rgba(0, 19, 102, 0.82);
}

.serac-equipe-page .serac-equipe-card:nth-child(6) .serac-equipe-card-image::after {
    left: 14px;
    bottom: 14px;
    border-left: 3px solid rgba(0, 19, 102, 0.82);
    border-bottom: 3px solid rgba(0, 19, 102, 0.82);
}

/* 7 — four interrupted corners, without recreating a complete frame. */
.serac-equipe-page .serac-equipe-card:nth-child(7) .serac-equipe-card-image::before {
    content: "";
    inset: 14px;
    background:
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) left top / 40px 3px no-repeat,
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) left top / 3px 40px no-repeat,
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) right top / 40px 3px no-repeat,
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) right top / 3px 40px no-repeat,
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) left bottom / 40px 3px no-repeat,
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) left bottom / 3px 40px no-repeat,
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) right bottom / 40px 3px no-repeat,
        linear-gradient(rgba(0, 19, 102, 0.82), rgba(0, 19, 102, 0.82)) right bottom / 3px 40px no-repeat;
}

/* 8 — stronger blue fade at the bottom, removed on hover. */
.serac-equipe-page .serac-equipe-card:nth-child(8) .serac-equipe-card-image::after {
    content: "";
    right: 0;
    bottom: 0;
    left: 0;
    height: 32%;
    background: linear-gradient(to bottom, transparent, rgba(0, 19, 102, 0.48));
    opacity: 1;
    transition: opacity 0.28s ease;
}

.serac-equipe-page .serac-equipe-card:nth-child(8):hover .serac-equipe-card-image::after {
    opacity: 0;
}

/* Secteurs d'intervention: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-secteurs-page--v3 .serac-secteurs-v3-hero {
        height: 540px;
        min-height: 540px;
        padding: 132px 0 72px;
    }
}

@media (max-width: 767px) {
    .serac-secteurs-page--v3 .serac-secteurs-v3-hero {
        height: auto;
        min-height: 374px;
        padding: 100px 0 50px;
    }
}

/* Actualites: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-news-page--editorial-continuous .serac-news-hero {
        height: 540px;
        min-height: 540px;
        padding: 132px 0 72px;
    }
}

@media (max-width: 767px) {
    .serac-news-page--editorial-continuous .serac-news-hero {
        height: auto;
        min-height: 370px;
        padding: 100px 0 50px;
    }
}

/* Nous rejoindre: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-join-page .serac-join-hero {
        height: 540px;
        min-height: 540px;
        padding: 132px 0 72px;
    }
}

@media (max-width: 767px) {
    .serac-join-page .serac-join-hero {
        height: auto;
        min-height: 418px;
        padding: 102px 0 54px;
    }
}

/* Pourquoi Serac: compact hero requested during the 30 July client call. */
@media (min-width: 768px) {
    .serac-why-v3-hero {
        height: 540px;
        min-height: 540px;
        padding: 132px 0 72px;
    }
}

@media (max-width: 767px) {
    .serac-why-v3-hero {
        height: auto;
        min-height: 533px;
        padding: 102px 0 54px;
    }
}

/*
 * Retours client du 4 aout 2026.
 * Corrections certaines, isolees ici pour rester reversibles avant validation.
 */

/* Harmoniser les textes editoriaux longs sans modifier les libelles de navigation. */
@media (min-width: 768px) {
    body main :where(
        .serac-cabinet-v6-hero-lead,
        .serac-cabinet-v6-copy,
        .serac-expertises-lead,
        .serac-international-v3-lead,
        .serac-international-v3-copy,
        .serac-equipe-hero-lead,
        .serac-secteurs-v3-lead,
        .serac-secteurs-v3-copy,
        .serac-join-hero-lead,
        .serac-join-copy,
        .serac-why-v3-hero-lead,
        .serac-why-v3-definition__text,
        .serac-why-v3-paragraph
    ) {
        text-align: justify !important;
        text-align-last: left;
    }

    /* Complements verifies page par page apres le retour client. Ces selecteurs
     * renforces passent devant les exceptions historiques des feuilles de page. */
    body .serac-home-hero-copy .serac-hero-intro,
    body .serac-home-positioning__card .serac-home-positioning__copy,
    body .serac-home-values-v2__body .serac-home-values-v2__copy,
    body main.serac-cabinet-v6 .serac-cabinet-v6-statement,
    body main.serac-cabinet-v6 .serac-cabinet-v6-value-list p,
    body main.serac-cabinet-v6 .serac-cabinet-v6-network-feature-copy p,
    body main.serac-cabinet-v6 .serac-cabinet-v6-rse-copy .serac-cabinet-v6-copy,
    body main#serac-international-v3.serac-international-v3 .serac-international-v3-hero-grid p.serac-international-v3-lead,
    body .serac-why-v3-hero-copy p {
        -webkit-hyphens: none !important;
        hyphens: none !important;
        overflow-wrap: normal;
        text-align: justify !important;
        text-align-last: left;
    }

    body main.serac-cabinet-v6 .serac-cabinet-v6-foundation-list p {
        -webkit-hyphens: none !important;
        hyphens: none !important;
        overflow-wrap: normal;
        text-align: left !important;
        text-align-last: auto;
    }
}

/* La homepage conserve son monogramme mais le descend dans la composition. */
@media (min-width: 640px) {
    .serac-home-hero-mark {
        top: clamp(206px, 22vh, 236px) !important;
    }
}

/* Accueil — Positionnement : reprendre le traitement photographique bleu
 * déjà employé dans les sections International et Cabinet. */
.serac-home-positioning {
    background-color: #001366;
    background-image:
        linear-gradient(rgba(0, 19, 102, 0.91), rgba(0, 19, 102, 0.91)),
        url("/wp-content/themes/serac-avocats/assets/optimized/serac-stock-glacier-pexels-12071906-bd7b4a14-1400.webp");
    background-position: center 58%;
    background-repeat: no-repeat;
    background-size: cover;
}

@media (max-width: 639px) {
    .serac-home-hero-clean {
        display: block !important;
        position: relative;
    }

    .serac-home-hero-clean > .serac-home-hero-mark {
        position: absolute !important;
        top: 190px !important;
        right: -38px !important;
        width: 190px !important;
        margin: 0 !important;
    }

    .serac-home-hero-clean > .serac-custom-home-hero__container {
        grid-row: auto;
    }
}

/* Actualites: remonter le titre au niveau du monogramme. */
.serac-news-page--editorial-continuous .serac-news-hero {
    align-items: center !important;
}

.serac-news-page--editorial-continuous .serac-news-hero-grid {
    align-items: center !important;
}

/* Cabinet : variantes demandees pour comparaison visuelle. */
.serac-cabinet-v6-photo-slot--partners {
    overflow: hidden;
    border-radius: 0 clamp(30px, 4vw, 58px) 0 0;
}

.serac-cabinet-v6-photo-slot--team {
    overflow: hidden;
    border-radius: clamp(30px, 4vw, 58px) 0 0 0;
}

/* Autres visuels pour lesquels l'arrondi a droite est deja retenu. */
:where(
    .serac-expertises-photo,
    .serac-international-v3-photo,
    .serac-join-photo-strip,
    .serac-profile-media
) {
    overflow: hidden;
    border-radius: 0 clamp(30px, 4vw, 58px) clamp(30px, 4vw, 58px) 0;
}

/* Expertises : conserver uniquement l'arrondi superieur droit. */
.serac-expertises-photo {
    border-radius: 0 clamp(30px, 4vw, 58px) 0 0;
}

/* International : conserver uniquement l'arrondi superieur droit. */
.serac-international-v3-photo {
    border-radius: 0 clamp(30px, 4vw, 58px) 0 0;
}

/* Nous rejoindre : conserver uniquement l'arrondi superieur droit. */
.serac-join-photo-strip {
    border-radius: 0 clamp(30px, 4vw, 58px) 0 0;
}

:where(
    .serac-cabinet-v6-photo-slot--team,
    .serac-cabinet-v6-photo-slot--partners,
    .serac-expertises-photo,
    .serac-international-v3-photo,
    .serac-join-photo-strip,
    .serac-profile-media
)::before {
    content: none !important;
}

/* Equipe: decliner sur toutes les fiches la variante retenue sur Agathe. */
.serac-equipe-page .serac-equipe-card:nth-child(n) .serac-equipe-card-image {
    box-shadow: none !important;
}

.serac-equipe-page .serac-equipe-card:nth-child(n) .serac-equipe-card-image::before {
    content: none !important;
}

.serac-equipe-page .serac-equipe-card:nth-child(n) .serac-equipe-card-image::after {
    content: "";
    inset: 0;
    width: auto;
    height: auto;
    border: 0;
    background: rgba(0, 19, 102, 0.32);
    clip-path: polygon(72% 0, 100% 0, 100% 100%, 58% 100%);
    opacity: 1;
    transition: opacity 0.28s ease;
}

/* Ne jamais couper automatiquement les mots francais dans les textes
 * editoriaux justifies. La justification reste active, sans cesure. */
body main :where(p, li) {
    -webkit-hyphens: none !important;
    hyphens: none !important;
}

.serac-equipe-page .serac-equipe-card:nth-child(n):hover .serac-equipe-card-image::after {
    opacity: 0;
}
