h1, h2, h3, h4, h5, h6, .wp-block-post-title, .wp-block-query-title, .wp-block-site-title, .typewriter-title, .feature-title {
 font-family: "swung-note", sans-serif !important;
 font-weight: 400 !important;
 font-style: normal !important;
}


/* Consistent full-bleed pages without outer header/footer gaps. */
body.page { background: #f8f5ed; overscroll-behavior-y: none; }
body.page .wp-block-post-content { padding: 0 !important; margin: 0 !important; }
body.page .wp-block-post-content > main.alignfull { margin: 0 !important; max-width: none; }
body.page .wp-block-post-content > p:empty { display: none; }
body.page .wp-site-blocks { padding: 0; overflow-x: clip; }
body.page .wp-site-blocks > header:empty, body.page .wp-site-blocks > footer:empty { display: none; }

/* Reveal each complete line, independent of font width. */
body.home .typewriter-title { container-type: inline-size; line-height: 1.12 !important; }
body.home .typewriter-title .typewriter-line {
 width: max-content; max-width: 100%; margin: 0; padding: .08em .05em;
 font-size: clamp(28px, 17cqw, 80px); line-height: 1.12;
 border: 0; overflow: visible;
 animation: itu-title-reveal 1.15s steps(12, end) .25s both;
}
body.home .typewriter-title .typewriter-line + .typewriter-line { animation-delay: 1.5s; }
@keyframes itu-title-reveal { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
@media (prefers-reduced-motion: reduce) {
 body.home .typewriter-title .typewriter-line { animation: none; clip-path: none; }
}


/* Compact navigation bar, with a dedicated row on small screens. */
.wp-block-columns:has(.wp-image-196) { display: grid !important; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 24px; }
.wp-block-columns:has(.wp-image-196) > .wp-block-column { min-width: 0; margin: 0; }
.wp-block-columns:has(.wp-image-196) .wp-block-paragraph { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 0; margin: 0; padding: 5px; border-radius: 8px; background: #172c1a; font-size: 0 !important; }
.wp-block-columns:has(.wp-image-196) .wp-block-paragraph a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; box-sizing: border-box; padding: 10px 18px; color: #f8f5ed; font-size: 15px; font-weight: 600; line-height: 1.3; letter-spacing: 0; text-decoration: none; white-space: nowrap; border-radius: 4px; }
.wp-block-columns:has(.wp-image-196) .wp-block-paragraph a:hover { background: #334a32; }
.wp-block-columns:has(.wp-image-196) a:focus-visible { outline: 3px solid #b1bd69; outline-offset: 2px; }
.wp-block-columns:has(.wp-image-196) .wp-block-button__link { border-radius: 8px !important; white-space: nowrap; min-height: 44px; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 900px) {
 .wp-block-columns:has(.wp-image-196) { grid-template-columns: minmax(0,1fr) auto; gap: 18px; }
 .wp-block-columns:has(.wp-image-196) > .wp-block-column:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
 .wp-block-columns:has(.wp-image-196) > .wp-block-column:nth-child(3) { grid-column: 2; grid-row: 1; }
 .wp-block-columns:has(.wp-image-196) .wp-block-paragraph a { flex: 1; padding: 10px 8px; font-size: 14px; }
 .wp-block-columns:has(.wp-image-196) .wp-block-image { margin: 0; }
 .wp-block-columns:has(.wp-image-196) .wp-image-196 { max-width: 150px; width: 100% !important; }
 .wp-block-columns:has(.wp-image-196) .wp-block-button__link { padding: 12px 14px !important; font-size: 12px !important; }
}
