.wp-block-group { margin-block-start: 0; }
.wp-block-group > * { min-width: 0; }
.wp-block-image { margin: 0; }
.wp-block-image img { max-width: 100%; }
.hero > .wp-block-image { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero > .wp-block-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 54%; }
.hero > .wp-block-image figcaption { position: absolute; z-index: 2; bottom: .5rem; right: 1rem; color: white; font-size: .7rem; }
.split-image > .wp-block-image { height: 100%; }
.nav-links, .footer-menu { margin: 0; padding: 0; list-style: none; }
.nav-links { display: flex; gap: clamp(1rem, 2vw, 2rem); }
.nav-links a { font-size: .88rem; text-decoration: none; }
.nav-links a[aria-current="page"] { text-decoration: underline; text-underline-offset: .4em; }
.footer-menu li { margin-bottom: .5rem; }
.text-link a { text-decoration: none; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .8rem; margin: 0; }
.wp-block-button { background: transparent; color: var(--green-deep); }
.wp-block-button__link { display: inline-flex; align-items: center; min-height: 54px; border: 1px solid var(--green-deep); border-radius: 0; padding: .8rem 1.3rem; background: transparent; color: inherit; font: 600 .9rem/1.65 var(--sans); text-decoration: none; }
.wp-block-button.button-dark .wp-block-button__link { background: var(--green-deep); color: white; }
.wp-block-button__link:hover { background: var(--green-deep); color: white; }
.hero .wp-block-button__link, .cta-band .wp-block-button__link { border-color: white; color: white; }
.hero .button-dark .wp-block-button__link { border-color: var(--green-deep); }
.faq-list .wp-block-details > p { max-width: 750px; margin-bottom: 1rem; color: var(--muted); }
.page-band .process-step { border-color: var(--line); }
.page-band .process-step p, .page-band .step-number { color: var(--muted); }
.project-card h2 { font-size: 1.65rem; }
.project-card h2 a { text-decoration: none; }
.project-pagination { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 1rem; }
.project-card .project-meta { display: block; }
.project-meta p { font-size: .8rem; color: var(--green-deep); }
.cj-plugin-notice { padding: 1rem; border-left: 3px solid var(--green); }
.editor-styles-wrapper { background: var(--paper); }
.editor-styles-wrapper .hero .block-editor-block-list__layout { position: relative; z-index: 1; }
.editor-styles-wrapper .hero::after { pointer-events: none; }
.editor-styles-wrapper .wp-block { max-width: none; }
.editor-styles-wrapper .hero { color: var(--ink); background: var(--paper-deep); }
.editor-styles-wrapper .hero::after { display: none; }
.editor-styles-wrapper .hero .eyebrow, .editor-styles-wrapper .hero .lead { color: var(--muted); }
.editor-styles-wrapper .hero > .wp-block-image { position: relative; height: 300px; }
.editor-styles-wrapper .hero-content { padding-block: 2rem; }
@media (max-width: 900px) {
    .nav-links { flex-direction: column; gap: 0; }
    .nav-links a { display: block; padding: .8rem 0; border-bottom: 1px solid var(--line); }
    .primary-nav { display: flex; }
    .js .primary-nav { display: none; }
    .js .primary-nav.is-open { display: flex; }
    html:not(.js) .header-inner { flex-wrap: wrap; }
    html:not(.js) .primary-nav { position: static; width: 100%; flex-direction: column; }
    html:not(.js) .menu-toggle { display: none; }
}
@media (max-width: 640px) {
    .hero .wp-block-buttons, .hero .wp-block-button { width: 100%; max-width: 300px; }
    .hero .wp-block-button__link { width: 100%; justify-content: center; }
    .project-meta { overflow-wrap: anywhere; }
}
