:root {
    --bmp-content-width: var(--wp--style--global--content-size, 840px);
    --bmp-wide-width: var(--wp--style--global--wide-size, 1200px);
    --bmp-page-gutter: 24px;
    --bmp-text-measure: 65ch;
    --bmp-lead-measure: 55ch;
    --bmp-title-measure: 20ch;
    --bmp-falc-measure: 52ch;
    --bmp-radius: 18px;
    --bmp-transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; overflow-x: hidden; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.bmp-container {
    width: min(calc(100% - (2 * var(--bmp-page-gutter))), var(--bmp-wide-width));
    margin-inline: auto;
}

.screen-reader-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.screen-reader-text:focus,
.skip-link:focus {
    clip: auto !important;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0.75rem 1rem;
    top: 0.5rem;
    left: 0.5rem;
    z-index: 100000;
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--dark);
    border: 2px solid var(--wp--preset--color--primary-dark);
    border-radius: 6px;
}

:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid var(--wp--preset--color--primary-dark);
    outline-offset: 3px;
}

p, li { text-wrap: pretty; }
p { max-inline-size: var(--bmp-text-measure); }
h1, h2, h3 { text-wrap: balance; }
h1 { max-inline-size: var(--bmp-title-measure); }

.is-style-lead {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
    max-inline-size: var(--bmp-lead-measure);
}

.is-easy-read {
    --bmp-text-measure: var(--bmp-falc-measure);
}
.is-easy-read .entry-content p,
.is-easy-read .entry-content li {
    font-size: 1.18em;
    line-height: 1.75;
}
.is-easy-read .wp-block-columns { gap: 2rem; }

@media (min-width: 601px) {
    :root { --bmp-page-gutter: 32px; }
}
@media (min-width: 1200px) {
    :root { --bmp-page-gutter: 24px; }
}
@media (max-width: 960px) {
    h1 { font-size: 56px !important; line-height: 1 !important; }
    h2 { font-size: 42px !important; line-height: 1.05 !important; }
    h3 { font-size: 26px !important; line-height: 1.3 !important; }
    .is-style-lead { font-size: 19px; }
    .wp-block-quote { font-size: 24px; }
}
@media (max-width: 600px) {
    h1 { font-size: 44px !important; line-height: 1.02 !important; }
    h2 { font-size: 36px !important; line-height: 1.08 !important; }
    h3 { font-size: 24px !important; line-height: 1.35 !important; }
    body { font-size: 16px; }
    .is-style-lead { font-size: 18px; }
    .wp-block-quote { font-size: 22px; }
}
