/* =============================================================================
   HEARTLANDER — Custom Theme Styles
   Load order: styles.min.css → style.css → heartlander.css (this file, last)
   ============================================================================= */

html { 
width:100%;
overflow-x:hidden; 
}

main { margin-inline:1rem; width:calc(100% - 2rem); }

@media screen and (min-width:1168px) { 
	#canvas main { margin-inline:auto; max-width:80%; }
}

/* =============================================================================
   1. MAIN HEADER
   Grid: 1fr (nav) | auto (logo) | 1fr (actions)
   ============================================================================= */

.site-header.header-03 {
    background: #fff;
    border-bottom: 3px solid #a6885c;
}

.site-header.header-03 .inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: 'left logo right';
    align-items: center;
    max-width: 75rem;
    margin: 0 auto;
    padding: 0 1.25rem;
    min-height: 3.75rem;
    gap: 0.75rem;
}

/* Left — hamburger + primary nav */

.header-left {
    grid-area: left;
    display: flex;
    align-items: center;
    min-width: 0;
    overflow: hidden;
}

.header-hamburger {
    background: none;
    border: none;
    box-shadow: none;
    color: #1b2d4c;
    font-size: 1.1rem;
    padding: 0.25rem 0.5rem 0.25rem 0;
    cursor: pointer;
    flex-shrink: 0;
    line-height: 1;
    transition: color 0.2s;
}
.header-hamburger:hover { color: #94764a; }

.site-header.header-03 .header-menu,
.header-menu { display: none; }

@media (min-width: 992px) {
    .header-hamburger { display: none; }

    .site-header.header-03 .header-menu,
    .header-menu {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        overflow: hidden;
        padding: 0;
    }

    .site-header.header-03 .header-menu ul,
    .header-menu ul {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 0.625rem;
    }

    .site-header.header-03 .header-menu li,
    .header-menu li { padding: 0; }

    /* Needs 3-class specificity to beat theme's .site-header.header-03 .header-menu a */
    .site-header.header-03 .header-menu .nav-main-link {
        display: block;
        padding: 0;
        font-family: 'museo-sans', 'Work Sans', sans-serif;
        font-size: 0.9rem;
        font-weight: 600;
        color: #212123;
        text-decoration: none;
        white-space: nowrap;
        text-transform: uppercase;
        letter-spacing: 0;
        transition: color 0.2s;
    }
    .site-header.header-03 .header-menu .nav-main-link:hover { color: #94764a; }
    .site-header.header-03 .header-menu .fa-angle-down { font-size: 0.65rem; margin-left: 0.125rem; }
}

/* Center — logo */

.site-header.header-03 .inner .logo {
    grid-area: logo;
    display: flex;
    align-items: center;
    justify-content: center;
    position: static;
    transform: none;
    left: auto;
    top: auto;
}
.site-header.header-03 .inner .logo img { max-height: 2.25rem; width: auto; }

/* Right — search + subscribe */

.header-right {
    grid-area: right;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    min-width: 0;
}
.header-right .header-social { display: none !important; }

.header-search-form {
    display: none;
    align-items: center;
    border: 1.5px solid #a6885c;
    border-radius: 0.125rem;
    padding: 0.3rem 0 0.3rem 0.75rem;
    gap: 0.375rem;
    background: #fff;
    flex-shrink: 0;
}
.header-search-form .fa-search { color: #a6885c; font-size: 0.75rem; }
.header-search-form input[type=search] {
    border: none;
    outline: none;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.82rem;
    width: 7.5rem;
    background: transparent;
    color: #222;
    padding: 0;
    -webkit-appearance: none;
}
.header-search-form input[type=search]::-webkit-search-cancel-button { display: none; }
.header-search-form input[type=search]:focus { box-shadow: none; border: 0; outline: none; }

.header-search-icon {
    background: none;
    border: none;
    box-shadow: none;
    color: #a6885c;
    font-size: 0.95rem;
    cursor: pointer;
    padding: 0.3rem;
    display: flex;
    align-items: center;
    flex-shrink: 0;
    transition: color 0.2s;
}
.header-search-icon:hover { color: #1b2d4c; }

.btn-subscribe {
    display: none;
    background: #a6885c;
    color: #fff;
    border: 1.5px solid #a6885c;
    border-radius: 0.125rem;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    padding: 0.560rem 0.875rem;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
    text-transform: uppercase;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s, border-color 0.2s;
}
.btn-subscribe:hover { background: #94764a; border-color: #94764a; color: #fff; }

@media (min-width: 768px) { .btn-subscribe { display: inline-flex; } }
@media (min-width: 992px) {
    .header-search-form { display: flex; }
    .header-search-icon { display: none; }
}


/* =============================================================================
   2. SECONDARY NAV
   Flex: social icons (left) | category links (right)
   ============================================================================= */

.secondary-nav {
    background: #1b2d4c;
    width: 100%;
	position:relative;
	align-items:flex-start;
}

.secondary-nav-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    max-width: 75rem;
    width: 100%;
    margin: 0 auto;
    padding: 0.25rem 1.25rem;
    position: relative;
}

.secondary-nav-social {
    display: none;
    align-items: center;
    flex-shrink: 0;
}

.secondary-nav-social a {
    color: #a6885c;
    padding: 0 1rem 0 0;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.2s;
}
.secondary-nav-social a:hover { color: #fff; }

.secondary-nav-divider { display: none !important; }

.secondary-nav-items {
    display: flex;
    list-style: none;
    margin: 0 0 0 auto !important;
    padding: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    align-items: center;
    gap: 0.625rem;
}
.secondary-nav-items::-webkit-scrollbar { display: none; }

.secondary-nav-items li a {
    display: block;
    padding: 0.45rem 0;
    color: #fff;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-weight: 600;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    text-decoration: none;
    transition: color 0.2s;
}
.secondary-nav-items li a:hover { color: #a6885c; }

/* Topics menu — overflow scroll arrow.
   JS toggles .has-overflow on .secondary-nav-inner when the menu overflows
   and there is still room to scroll right; the arrow is hidden otherwise. */
.secondary-nav-arrow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 3.5rem;
    display: none;
    align-items: center;
    justify-content: flex-end;
    padding: 0 1.25rem 0 0.5rem;
    border: none;
    cursor: pointer;
    color: #a6885c;
    font-size: 1rem;
    background: linear-gradient(to right, rgba(27, 45, 76, 0), #1b2d4c 45%);
    transition: color 0.2s;
}
.secondary-nav-arrow:hover { color: #fff; }

.secondary-nav-inner.has-overflow .secondary-nav-arrow { display: flex; }

@media (min-width: 992px) { .secondary-nav-social { display: flex; } }


/* =============================================================================
   3. GLOBAL TYPOGRAPHY & COLORS
   Brand: navy #1b2d4c | gold #a6885c | body text #222
   ============================================================================= */

body {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 1rem;
    line-height: 1.65;
    color: #222;
}

p, li, td, th, label,
input, textarea, select, button {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    color: #1b2d4c;
    font-weight: 700;
    line-height: 1.25;
}

a { color: #1b2d4c; text-decoration: none; }
a:hover { color: #94764a; }

/* Off-canvas / side menu */
.side-menu, .offcanvas { font-family: 'museo-sans', 'Work Sans', sans-serif; }
.side-menu a, .offcanvas a { color: #1b2d4c; }
.side-menu a:hover, .offcanvas a:hover { color: #94764a; }
#menu-close { color: #1b2d4c !important; }
#menu-close:hover { color: #94764a !important; }

/* Footer */
footer.footer-03 {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    border-top: 3px solid #1b2d4c;
    background-color: #f0f0f0;
}
footer.footer-03 a { color: #a6885c; }
footer.footer-03 a:hover { color: #1b2d4c; }
footer.footer-03 .wrapper .top-row .footer-top-end .footer-contact .button { line-height: 20px; margin: 0; }
footer.footer-03 .wrapper .top-row .social .social-wrapper a {
    color: #a6885c;
    padding: 0 0.5rem 0;
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.2s;
}
footer.footer-03 .wrapper .bottom-row {
    margin-top: 2.125rem;
    margin-bottom: 1.5625rem;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
}
footer.footer-03 .wrapper .bottom-row .disclaimer {
    font-weight: 300;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #7a7a7a;
    margin: 1rem 0 0;
    text-align: center;
}
footer .footer-contact a + a { margin-left: 0.75rem !important; }

/* Single post body */
.single-post article p,
.single-post article li,
.single-post article td { color: #222; font-size: 1.0625rem; line-height: 1.75; }
.single-post article h1,
.single-post article h2,
.single-post article h3,
.single-post article h4 { color: #1b2d4c; }
.single-post article h2 { font-size: 1.8rem; line-height: 2.4rem; }
.single-post article h3 { font-size: 1.4rem; line-height: 1.7rem; }
.single-post article h4 { font-size: 1.2rem; }

/* Forms */
input[type=text],
input[type=email],
input[type=search],
input[type=url],
input[type=tel],
textarea {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    color: #222;
    border-color: #ddd;
    border-radius: 0.125rem;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=search]:focus,
textarea:focus {
    border-color: #a6885c;
    outline: none;
    box-shadow: 0 0 0 2px rgba(166,136,92,0.15);
}

/* X (Twitter) logo. The FA kit is on v5.15.4, which predates the fa-x-twitter
   glyph (added in 6.4.2), so the <i> renders empty. Until/unless the kit is
   upgraded to FA6+, draw the official X mark by masking the ::before with the
   real SVG path. currentColor lets it inherit existing color + hover rules, and
   masking the pseudo-element (not the <i>) keeps it centered inside fa-stack. */
.fa-x-twitter::before {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") no-repeat center / contain;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Brand asset backgrounds */
.author-icon      { background-image: url(/wp-content/themes/engage/assets/img/icon.png?v=3); }
.author-container { background-image: url(/wp-content/themes/engage/assets/img/watermark.png?v=3) !important; }

/* Responsive visibility helpers */
.mobile-only { display: none !important; }
@media (max-width: 900px) {
    .mobile-only { display: block !important; }
    .disable-on-mobile { display: none !important; }
}

/* WP block columns layout (sign-up section) */
@media (min-width: 767px) {
    .wp-block-column {
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: 43.75rem;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
}

/* Sign-up box border */
.wp-container-core-columns-is-layout-9d6595d7 {
    flex-wrap: nowrap;
    max-width: 60rem;
    margin: 0 auto 2rem;
    border: 6px solid #a6885c;
    text-align: center;
}


/* =============================================================================
   4. BUTTONS
   Primary: gold (#a6885c) filled | Outlined: gold border
   `body` prefix raises specificity to 0,1,1 — beats base-styles `.button` (0,1,0).
   `!important` on font-size and padding only, where base CSS uses vmin values
   that survive the specificity battle via compound selectors.
   ============================================================================= */

body .button,
.wp-block-buttons .wp-block-button .wp-block-button__link,
body input[type='submit'],
body button[type='submit'] {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.8125rem !important;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    word-spacing: 0;
    text-transform: uppercase;
    padding: 0.5rem 1.1rem !important;
    border-radius: 0.125rem;
    border-width: 1.5px;
    border-style: solid;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, border-color 0.2s, color 0.2s;
    background: #a6885c;
    border-color: #a6885c;
    color: #fff;
}

body .button:hover,
.wp-block-buttons .wp-block-button .wp-block-button__link:hover,
body input[type='submit']:hover,
body button[type='submit']:hover {
    background: #1b2d4c;
    border-color: #1b2d4c;
    color: #fff;
}

/* Gold variant (explicit, same as default) */
body .button.btn-blue,
.side-menu-button.btn-blue {
    background: #a6885c;
    border-color: #a6885c;
    color: #fff;
}
body .button.btn-blue:hover { background: #1b2d4c; border-color: #1b2d4c; }

/* Outlined variant */
body .button.btn-white,
.wp-block-buttons .wp-block-button .btn-white.wp-block-button__link {
    background: transparent;
    border-color: #a6885c;
    color: #a6885c;
}
body .button.btn-white:hover,
.wp-block-buttons .wp-block-button .btn-white.wp-block-button__link:hover {
    background: #a6885c;
    border-color: #a6885c;
    color: #fff;
}

/* Kill old green hover in sign-up block */
.block-signup .block-container .block-right .button:hover,
.block-signup .block-container .block-right .button:focus {
    background-color: #1b2d4c;
    border-color: #1b2d4c;
}

/* Off-canvas subscribe link */
.offcanvas-primary-container .button { width: 100%; justify-content: center; margin-top: 0.75rem; }


/* =============================================================================
   5. CONTENT WIDTH — 75rem (1200px)
   ============================================================================= */

.page-template-default main,
.error404 main {
    max-width: 75rem;
    margin: 0 auto 2rem;
}

.block-featured,
.block-latest,
.block-latest-2,
.block-latest-3,
.block-ourwork .block-container,
.about-ourmission .about-container,
.archive-posts {
    max-width: 75rem;
}

.archive-posts { padding: 0 1.25rem; }


/* =============================================================================
   6. CARD SYSTEM
   Unified typography: block-article, block-post, post-card, single-feature-archive.
   .block-article uses 3-class selectors to beat base CSS's conflicting 2-class rules.
   ============================================================================= */

/* Category label */
.block-post h6,
.post-right h5,
.article-meta,
.block-article .block-details .block-categories {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-weight: 500;
    font-size: 0.72rem;
    line-height: 1.2;
    color: #7a7a7a;
    text-transform: uppercase;
    letter-spacing: 0;
    margin: 0;
    display: block;
    text-decoration: none;
    max-width: none;
}
.block-post h6 a,
.post-right h5 a,
.article-meta a,
.block-article .block-details .block-categories a { color: #7a7a7a; font-weight: 500; text-decoration: none; }
.block-post h6 a:hover,
.post-right h5 a:hover,
.article-meta a:hover,
.block-article .block-details .block-categories a:hover { color: #a6885c; }


/* Title */
.block-post h3,
.block-post h3 a,
.post-right .post-title,
.article-title,
.block-article .block-details .block-headline {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-weight: 700;
    font-size: 1.0625rem;
    line-height: 1.4;
    color: #1b2d4c;
    text-decoration: none;
    display: block;
    margin: 0 0 0.5rem;
    max-width: none;
    transition: color 0.2s;
}
.block-post h3 a:hover,
.post-right .post-title:hover,
.article-title:hover,
.block-article .block-details .block-headline:hover { color: #a6885c; }

@media screen and (max-width:768px) { 
.block-article .block-details * { margin-inline-start:unset !important; }
	
	.block-article { margin-block-end: unset !important; }
.block-latest .block-container .block-article .block-image { 
	max-width:unset !important; 
	width:100% !important; 
	max-height:unset !important; 
	aspect-ratio: 5 / 2.25;
}
	
.block-latest .block-container .block-article .block-headline, 
.block-latest .block-container .block-article .block-categories, 
.block-latest .block-container .block-article .block-author { max-width:400px; }
	
} /* 768 */

.block-latest .block-container .block-article .block-image { 
	min-width:unset !important; 
	margin-inline-end: unset; 
	height:auto !important;
}

/* Author line */
.block-author,
.byline {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 17px;
    color: #7a7a7a;
    margin-top: 0;
}
.block-author a,
.byline a { color: #7a7a7a; font-weight: 400; text-decoration: none; }
.block-author a:hover,
.byline a:hover { color: #a6885c; }

/* Date */
.block-date,
.article-date {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.75rem;
    font-weight: 400;
    color: #7a7a7a;
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    white-space: nowrap;
    margin-left: auto;
}
.block-date i { color: #a6885c; font-size: 0.75rem; }

/* Author icon */
.author-icon {
    width: 2rem;
    height: 2rem;
    min-width: 2rem;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

/* Meta row — icon + byline + date (date auto-pushed right via margin-left: auto) */
.block-details,
.block-authordate {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
    flex-wrap: wrap;
}

/* post-card layout */
.post-card { display: flex; gap: 1rem; }
.post-left { flex-shrink: 0; }
.post-left img { display: block; width: 100%; height: auto; border-radius: 0.125rem; }
.post-right { display: flex; flex-direction: column; justify-content: flex-start; }
.post-right p { color: #222; font-size: 0.9rem; line-height: 1.55; margin: 0.25rem 0 0.5rem; }

/* block-article card */
.block-article { display: flex; flex-direction: column; }
.block-article .block-image {
    display: block;
    background-size: cover;
    background-position: center;
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
}
.block-article .block-details { margin-top: 0.5rem; flex-direction: column; align-items: flex-start; gap: 0.25rem; }


/* =============================================================================
   7. BLOCK-SPECIFIC STYLES
   ============================================================================= */

/* block-latest-2 layout */
.block-latest-2 { 
margin-block-start:40px; 
}

.block-latest-2 .block-container .block-left { 
		width: 100% !important;
}

.block-latest-2 .block-left .block-post * { 
padding-inline:unset;
}
@media (max-width: 767px) {
	.block-latest-2 { margin-block-end: unset; }
	.block-latest-2 .block-right { display: none !important; }
}

@media (min-width: 768px) {
    .block-latest-2 .block-container { 
		display:grid; 
		grid-template:1fr 1fr 1fr; 
		grid-gap:40px; 
		align-items:stretch; 
	}
    .block-latest-2 .block-container .block-left { 
		min-width: 0;  
		height: auto; 
		grid-column:1 / span 2;
	}
    .block-latest-2 .block-container .block-left .block-img {
        display: block;
        width: 100%;
        height: 380px;
        background-image: url(/wp-content/themes/engage/assets/img/latest-thumb.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        border-radius: 1rem;
    }
	
	
    .block-latest-2 .block-container .block-right { 
		grid-column:3; 
		min-width: 0; 
		min-height:100%;
		height:0;
		margin-block-start:unset; 
		width:100%; 
		padding:unset; 
		overflow-y:scroll;
	}
}

@media (min-width: 1024px) {
	.block-latest-2 .block-container .block-right { 
	background:#f7f5f0; 
	padding:1rem; 
	padding-block-start:2rem; 
			overflow-y:scroll;
	}
}


/* block-latest-2 left: featured card — gold title */
.block-latest-2 .block-container .block-left .block-post h3,
.block-latest-2 .block-container .block-left .block-post h3 a,
.block-latest-2 .block-container .block-right h3,
.block-latest-2 .block-container .block-right h3 a { color: #a6885c; }
.block-latest-2 .block-container .block-left .block-post .block-details .byline a { color: #a6885c; font-weight: 500; }
.block-latest-2 .block-container .block-left .block-post .block-details .byline a:hover { color: #1b2d4c; }
.block-latest-2 .block-container .block-left .block-post h6 {
    font-weight: 600;
    margin: 16px 0 .5rem 0;
}

/* block-latest-2 right sidebar — override styles.min.css gold h6 */
.block-latest-2 .block-container .block-right h6 {
    font-weight: 500;
    font-size: 0.72rem;
    line-height: 1.2;
    color: #7a7a7a;
    text-transform: uppercase;
    margin: 0;
}
.block-latest-2 .block-container .block-right h2 {
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.875rem;
    color: #222;
    margin-top: 0;
    font-style: normal;
    text-transform: uppercase;
}
.block-latest-2 .block-container .block-right p {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 17px;
    color: #7a7a7a;
    margin-top: 0;
}
.block-latest-2 .block-container .block-right p a { color: #a6885c; font-weight: 500; }
.block-latest-2 .block-container .block-right hr {
    border: none;
    border-top: 1px solid #e8e2d9;
    margin: 0.75rem 0;
}

/* block-latest-3 — gold titles, gold byline links */
.block-latest-3 { 
	margin-block:unset;
}
.block-latest-3 .block-container { margin-inline:unset;  }
.block-latest-3 .block-container .block-post h3,
.block-latest-3 .block-container .block-post h3 a { color: #a6885c; text-decoration: none; }
.block-latest-3 .block-container .block-post h3 a:hover { color: #1b2d4c; }
.block-latest-3 .block-container .block-post .block-authordate .byline a { color: #a6885c; font-weight: 500; }

/* block-latest-3 thumbnail */
.block-latest-3 .block-container .block-post .block-img {
    display: block;
    width: 100%;
    height: 100vh;
    max-height: 300px;
    background-image: url(/wp-content/themes/engage/assets/img/latest-thumb.jpg);
    background-repeat: no-repeat;
    background-size: auto 100%;
    background-position: center;
    border-radius: 1rem;
}

@media screen and (min-width:900px) { 
	.block-latest-3 { margin-block:1rem; 
	}
}

/* block-latest footer link colors */
.block-latest .block-footer a { color: #1b2d4c; }
.block-latest .block-footer a:hover { color: #a6885c; }

/* block-latest articles grid */
.block-latest .block-container.latest-articles {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
    gap: 1.5rem;
    padding: 0;
}
.block-latest .block-image {
    display: block;
    background-size: cover;
    background-position: center;
    aspect-ratio: 16 / 9;
    border-radius: 1rem;
    margin-bottom: 0.5rem;
}
.block-latest .block-container .block-article {
    width: 100%;
    margin-bottom: 50px;
}
.block-latest .block-footer {
    text-align: center;
    padding: 2rem 0 1rem;
}

/* Podcast block */
.block-podcast { background: #f6f3ee; }
.block-podcast .block-container {
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 2rem 1.25rem;
    max-width: 75rem;
    margin: 0 auto;
}
.block-podcast .block-left { flex-shrink: 0; }
.block-podcast .block-left img { width: 8rem; height: auto; display: block; }
.block-podcast .block-middle { flex: 1; }
.block-podcast .block-middle h3 a { font-weight: 700; font-size: 1.25rem; color: #1b2d4c; text-decoration: none; }
.block-podcast .block-middle p { color: #222; font-size: 0.9375rem; line-height: 1.6; margin: 0.5rem 0 0; }
.block-podcast .block-right { flex-shrink: 0; }


/* =============================================================================
   8. PAGE-SPECIFIC FIXES
   ============================================================================= */

/* Homepage hero — navy brand overlay on background image */
.header-hero {
    background-image: linear-gradient(rgba(27, 45, 76, 0.65), rgba(27, 45, 76, 0.65)), url(/wp-content/themes/engage/assets/img/hero-bg-2.jpg);
    background-size: cover;
    background-position: center;
}

/* Category header — navy brand overlay on background image */
.header-cat {
    background-image: linear-gradient(rgba(27, 45, 76, 0.65), rgba(27, 45, 76, 0.65)), url(/wp-content/themes/engage/assets/img/hero-bg-1.jpg);
    background-size: cover;
    background-position: center;
}

/* Homepage hero — hide when no content */
.header-hero:not([class*='large']):not([class*='medium']) .header-hero-container:empty,
.header-hero.ad { display: none; }

/* block-latest category filter — wrapping tag cloud */
.block-latest .block-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    padding: 0.75rem 0;
    border-bottom: 1.5px solid #e8e2d9;
    margin-bottom: 1.5rem;
}
.block-latest .block-menu .block-menu-item {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.72rem;
    font-weight: 500;
    color: #7a7a7a;
    text-decoration: none;
    white-space: nowrap;
    padding: 0.25rem 0.625rem;
    border: 1px solid #ddd5c8;
    border-radius: 2rem;
    background: #faf8f5;
    line-height: 1.4;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}
.block-latest .block-menu .block-menu-item:hover,
.block-latest .block-menu .block-menu-item.selected {
    color: #a6885c;
    border-color: #a6885c;
    background: #fff;
}
.block-latest .block-menu .block-menu-item.selected { font-weight: 600; }

.block-latest .block-container.latest-articles { 
	margin-inline:unset; 
	max-width:unset;
	width:100%;
}

/* Sign-up section colors (WP block columns) */
.wp-block-columns .wp-block-heading[style*='color'] { color: #a6885c !important; }
.wp-block-columns p.has-text-color[style*='color'] { color: #222 !important; }

.archive-posts .post-filters {
    margin-top: 3rem !important;
}

/* =============================================================================
   9. AUTHOR PAGE — font & color overrides
   ============================================================================= */

.author-container .author-inner .author-right h1,
.author-container .author-inner .author-right h2,
.author-container .author-inner .author-right h3,
.author-container .author-inner .author-right h4,
.author-container .author-inner .author-right h5,
.author-container .author-inner .author-right p {
    font-family: 'museo-sans', 'Work Sans', sans-serif;
}

.author-container .author-inner .author-right h1 {
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.15;
    color: #1b2d4c;
}

.author-container .author-inner .author-right h5 {
    font-weight: 600;
    font-size: 1rem;
    color: #a6885c;
}

.author-container .author-inner .author-right p {
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.65;
    color: #222;
}

/* =============================================================================
   10. BLOCK-LATEST-2 — remove watermark from right sidebar
   ============================================================================= */

.block-latest-2 .block-container .block-right {
    background-image: none !important;
}

/* =============================================================================
   11. HEADER DROPDOWN MENU
   ============================================================================= */

.site-header.header-03 .header-menu .dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1.5px solid #e8e2d9;
    border-top: 2px solid #a6885c;
    border-radius: 0 0 0.25rem 0.25rem;
    min-width: 12rem;
    padding: 0.5rem 0;
    list-style: none;
    margin: 0;
    z-index: 999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.site-header.header-03 .header-menu li {
    position: relative;
}

.site-header.header-03 .header-menu li:hover > .dropdown,
.site-header.header-03 .header-menu li:focus-within > .dropdown {
    display: block;
}

.site-header.header-03 .header-menu .dropdown li a {
    display: block;
    padding: 0.45rem 1rem;
    font-family: 'museo-sans', 'Work Sans', sans-serif;
    font-size: 0.82rem;
    font-weight: 500;
    color: #1b2d4c;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
    text-transform: none;
    letter-spacing: 0;
}

.site-header.header-03 .header-menu .dropdown li a:hover {
    background: #f7f5f0;
    color: #a6885c;
}
