/* WordPress integration; the supplied visual design stays in its original CSS. */
.wp-site-blocks,.entry-content{margin:0;padding:0}
.admin-bar .review{position:relative}
.breadcrumbs ol{flex-wrap:wrap}
.source-article .wp-block-freeform{margin:0}
.form-provider{max-width:52ch}
.review>span{overflow-wrap:anywhere}
.footer .brand img{height:auto}
.caddies-language-links{font-size:12px;margin:24px 0}
@media(max-width:600px){.review>span:last-child{display:none}}

/* One responsive outer edge for images, figures and section backgrounds.
 * Nested cards and readable text columns keep their own internal widths. */
@media screen {
    .published-design {
        --caddies-content-max: 1440px;
        --caddies-gutter: 5vw;
        --caddies-content-width: min(var(--caddies-content-max), calc(100% - var(--caddies-gutter) - var(--caddies-gutter)));
        --caddies-panel-inset: clamp(24px, 4vw, 64px);
    }

    .published-design .shell,
    .published-design main > .cabb-block,
    .published-design main > .proposal-modules > .cabb-block,
    .published-design .footer {
        width: var(--caddies-content-width);
        max-width: none;
        margin-inline: auto;
    }

    .published-design .shell {
        padding-inline: 0;
    }

    .published-design main > .cabb-block,
    .published-design main > .proposal-modules > .cabb-block,
    .published-design .footer {
        padding-inline: var(--caddies-panel-inset);
    }

    /* Unfilled sections align their contents directly with the shared edge. */
    .published-design main > :is(.page-header, .cards-grid, .key-figures),
    .published-design main > .proposal-modules > .cards-grid,
    .published-design[data-source-page=home] main > .related-articles,
    .published-design[data-source-page=home] main > .proposal-modules > .related-articles,
    .published-design[data-source-page=our-business-areas] main > .text-block {
        padding-inline: 0;
    }

    /* These already live inside a shared-width container: no second gutter. */
    .published-design .shell .shell,
    .published-design .footer > .shell,
    .published-design .blueprint-hero .key-figures {
        width: 100%;
        max-width: none;
        margin-inline: 0;
        padding-inline: 0;
    }

    .published-design .blueprint-hero .key-figures {
        border: 0;
    }

    .published-design .source-hybrid .facility-hybrid,
    .published-design .source-article,
    .published-design .source-legal .prose,
    .published-design .source-policy-note,
    .published-design .article-return {
        width: 100%;
        max-width: none;
    }

    /* Widen the article panel, while retaining comfortable reading lines. */
    .published-design .source-article > :not(img):not(figure):not(.wp-block-image) {
        max-width: 880px;
        margin-inline: auto;
    }

    .published-design .source-legal .prose > * {
        max-width: 930px;
        margin-inline: auto;
    }
}

@media screen and (max-width: 760px) {
    .published-design {
        --caddies-gutter: 6vw;
    }
}

/* Keep the English home headline as one H1, with two typographic levels.
 * Line groups can still wrap if text is enlarged or the viewport is narrow. */
.published-design .blueprint-heading .home-value-heading > *,
.published-design .home-value-heading > * > span {
    display: block;
}

.published-design .blueprint-heading .home-value-heading .home-value-lead {
    font-weight: 700;
}

.published-design .blueprint-heading .home-value-heading .home-value-audience {
    margin-top: .3em;
    font-size: .7em;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.04em;
}

@media screen and (min-width: 761px) and (max-width: 1040px) {
    .published-design .blueprint-heading h1.home-value-heading {
        font-size: clamp(32px, 3.9vw, 40px);
    }
}

@media screen and (max-width: 420px) {
    .published-design .blueprint-heading h1.home-value-heading {
        font-size: clamp(28px, 8.5vw, 34px);
    }
}

/* Keep navigation and the home signature readable in both languages. */
.published-design .header .nav > :is(.nav-link, .nav-cta) {
    font-size: 13px;
}

.published-design .blueprint-hero > .drawing-header > span:first-child {
    font-size: 11px;
}

@media screen and (max-width: 1040px) {
    .published-design .header .nav > :is(.nav-link, .nav-cta) {
        font-size: 16px;
    }
}

@media screen and (max-width: 480px) {
    .published-design .blueprint-hero > .drawing-header > span:first-child {
        font-size: 10px;
    }
}

/* Keep the home calls to action in the approved vertical order at every width. */
.published-design .blueprint-hero .blueprint-intro .actions {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 20px;
}

.published-design .blueprint-hero .blueprint-intro .actions > :is(.button, .text-link) {
    font-size: 12px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}
