/* Maps WordPress block markup onto the round-6 design classes.
   Spacing stays on the 4pt grid (multiples of 4px). */

/* Block wrappers add no spacing of their own; the design CSS owns it. */
.wp-site-blocks > * + *, .is-layout-flow > * + *, .is-layout-constrained > * + * { margin-block-start: 0; }
.wp-site-blocks { padding: 0; }
main:focus { outline: none; }
.wp-block-group { box-sizing: border-box; }
.sec-flush { padding-top: 0; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wht-field { margin: 0; }

/* Paragraph styles */
.is-style-label { font: 500 12px/16px var(--mono); --lhpx: 16px; letter-spacing: 0.08em; text-transform: uppercase; }
.is-style-lead { font-size: 19px; line-height: 32px; --lhpx: 32px; }
.is-style-muted { color: var(--muted); }

/* Buttons: core/buttons is the .ctas row, core/button gets .btn styles. */
.wp-block-buttons { display: flex; gap: var(--s4); flex-wrap: wrap; }
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: var(--s2); min-height: 48px; padding: 0 24px; border-radius: var(--r-md); font: 700 16px/1 var(--sans); line-height: round(nearest, calc(1 * 1em), 4px); --lh: 1; --lhpx: initial; border: 1.5px solid transparent; white-space: nowrap; text-decoration: none; background: var(--storm); color: var(--on-storm); }
.is-style-secondary .wp-block-button__link { background: transparent; color: var(--gulf); border-color: var(--gulf); }
.is-style-sunset .wp-block-button__link { background: var(--sunset); color: var(--on-sunset); }
.is-style-light .wp-block-button__link { background: #FFFFFF; color: var(--storm); }
.is-style-ghost .wp-block-button__link { background: transparent; color: #FFFFFF; border-color: rgba(255,255,255,.6); }
.hero .is-style-secondary .wp-block-button__link { color: var(--d-ink); border-color: rgba(238,240,236,.5); }

/* Headings and titles take the design's type classes through className. */
.wp-block-post-title { margin: 0; }
.wp-block-heading { margin: 0; }

/* Plain prose pages (about, privacy, blog posts). */
.prose { max-width: 720px; }
.prose > * + * { margin-top: var(--s4); }
.prose h2 { font-size: 30px; line-height: 36px; --lhpx: 36px; font-weight: 700; margin-top: var(--s10); }
.prose h3 { font-size: 21px; line-height: 28px; --lhpx: 28px; font-weight: 700; margin-top: var(--s6); }
.prose a { text-decoration: underline; text-underline-offset: 2px; }
.prose ul, .prose ol { padding-left: var(--s6); }
.wht-draft-note { padding: var(--s4); border: 1px dashed var(--hairline); border-radius: var(--r-md); color: var(--muted); }

/* Post lists */
.wp-block-post-template { list-style: none; margin: var(--s10) 0 0; padding: 0; display: grid; gap: var(--s6); }
.wp-block-post-template .wp-block-post-title { font-size: 21px; line-height: 28px; --lhpx: 28px; }
.wp-block-post-date { color: var(--muted); font: 400 14px/20px var(--mono); --lhpx: 20px; }

/* The header part's wrapper must not box in the sticky header. */
.wp-block-template-part:has(> .site-hdr), .wp-block-template-part:has(> .site-ftr) { display: contents; }
