:root {
	--ink: #172820;
	--ink-soft: #42554a;
	--paper: #f7f8f1;
	--white: #fff;
	--green: #5f7b62;
	--green-light: #e5f0e4;
	--coral: #5f7b62;
	--line: #d6e0d6;
	--accent: #5f7b62;
	--font-body: 'DM Sans', sans-serif;
	--font-display: 'Manrope', sans-serif;
	--page-width: 1240px;
	--wip-header-background: #f7f8f1;
	--wip-header-text: #172820;
	--wip-home-hero-background: #164d39;
	--wip-home-hero-text: #fff;
	--wip-home-readers-background: #5f7b62;
	--wip-home-readers-text: #fff;
	--wip-home-audience-background: #fff;
	--wip-home-audience-text: #172820;
	--wip-home-resource-background: #5f7b62;
	--wip-home-resource-text: #fff;
	--wip-home-blog-background: #f7f8f1;
	--wip-home-blog-text: #172820;
	--wip-blog-card-background: #fff;
	--wip-blog-card-text: #172820;
	--wip-home-signup-background: #5f7b62;
	--wip-home-signup-text: #fff;
	--wip-home-signup-form-background: #f7f8f1;
	--wip-home-signup-form-text: #172820;
	--wip-home-contact-background: #172820;
	--wip-home-contact-text: #fff;
	--wip-resources-hero-background: #e9eee8;
	--wip-resources-hero-text: #172820;
	--wip-resources-cards-background: #fff;
	--wip-resources-cards-text: #172820;
	--wip-standard-page-background: #f7f8f1;
	--wip-standard-page-text: #172820;
	--wip-contact-hero-background: #172820;
	--wip-contact-hero-text: #fff;
	--wip-contact-content-background: #eff2ec;
	--wip-contact-form-background: #fff;
	--wip-contact-form-text: #172820;
	--wip-contact-card-background: #244b38;
	--wip-contact-card-text: #fff;
	--wip-blog-page-background: #f7f8f1;
	--wip-blog-page-text: #172820;
	--wip-article-page-background: #f7f8f1;
	--wip-article-content-text: #39423c;
	--wip-sidebar-background: #e5f0e4;
	--wip-sidebar-text: #172820;
	--wip-footer-background: #1c2521;
	--wip-footer-text: #f4f7ef;
	--wip-button-background: #5f7b62;
	--wip-button-text: #fff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font-body); font-size: 16px; line-height: 1.7; }
body.page { color: var(--wip-standard-page-text); background: var(--wip-standard-page-background); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a, input { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid #4a80b8; outline-offset: 3px; }
.page-width { width: min(var(--page-width), calc(100% - 64px)); margin-inline: auto; }
.page-width-narrow { width: min(820px, calc(100% - 48px)); margin-inline: auto; }
.screen-reader-text, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; z-index: 1000; top: 12px; left: 12px; padding: 10px 16px; background: var(--white); color: var(--ink); }

.site-header { position: relative; z-index: 20; color: var(--wip-header-text); background: var(--wip-header-background); }
.header-inner { width: min(1440px, calc(100% - 64px)); min-height: 88px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 36px; }
.site-branding { flex: 0 0 auto; }
.custom-logo { width: auto; max-width: 190px; max-height: 62px; }
.site-logo { width: auto; max-width: 155px; max-height: 72px; }
.wordmark { display: inline-flex; align-items: center; gap: 9px; color: var(--green); font-family: var(--font-display); font-size: 23px; font-weight: 800; line-height: .9; letter-spacing: 0; }
.wordmark-mark { width: 36px; height: 36px; display: grid; place-items: center; border: 1.5px solid currentColor; border-radius: 50% 50% 45% 45%; font-family: Georgia, serif; font-size: 22px; font-weight: 400; }
.wordmark small { display: block; margin-top: 5px; color: var(--ink-soft); font-family: var(--font-body); font-size: 8px; letter-spacing: 3px; font-weight: 600; }
.primary-navigation { margin-left: auto; }
.primary-navigation ul, .footer-menu { display: flex; align-items: center; gap: 36px; margin: 0; padding: 0; list-style: none; }
.primary-navigation a { color: var(--wip-header-text); font-size: 14px; font-weight: 600; transition: color .2s ease; }
.primary-navigation a:hover, .primary-navigation .current-menu-item > a { color: var(--accent); }
.button { min-height: 48px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; border: 0; border-radius: 2px; font-size: 12px; line-height: 1.3; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; transition: transform .2s ease, background-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 17px; line-height: 1; }
.button-dark { color: var(--white); background: var(--ink); }
.button-dark:hover { background: var(--green); }
.button-coral { color: var(--wip-button-text); background: var(--wip-button-background); }
.button-coral:hover { background: #4c654f; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: 620px; overflow: hidden; display: flex; align-items: center; color: var(--white); background-color: #29342d; background-image: var(--hero-image); background-size: cover; background-position: center 48%; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 22, 18, .82) 0%, rgba(14, 22, 18, .61) 47%, rgba(14, 22, 18, .12) 100%), linear-gradient(0deg, rgba(14, 22, 18, .24), transparent 42%); }
.hero-content { position: relative; z-index: 1; padding-block: 96px 114px; animation: rise-in .8s both; }
.eyebrow { margin: 0 0 19px; color: rgba(255,255,255,.82); font-size: 11px; line-height: 1.4; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; }
.eyebrow-dark { color: var(--green); }
.hero h1 { max-width: 780px; margin: 0; font-family: var(--font-display); font-size: clamp(44px, 6.1vw, 78px); line-height: 1.07; font-weight: 700; letter-spacing: 0; }
.hero-description { max-width: 600px; margin: 24px 0 32px; color: rgba(255,255,255,.88); font-size: 18px; line-height: 1.65; }
.hero-caption { position: absolute; right: max(32px, calc((100% - var(--page-width)) / 2)); bottom: 35px; z-index: 2; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.78); font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; }
.caption-rule { width: 35px; height: 1px; background: var(--accent); }
.home-hero { min-height: 610px; justify-content: flex-start; color: var(--wip-home-hero-text); background-color: var(--wip-home-hero-background); }
.home-hero-bg { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 68% center; opacity: .72; }
.home-hero .hero-shade { z-index: 1; background: linear-gradient(90deg, rgba(9,39,28,.93) 0%, rgba(11,49,35,.79) 39%, rgba(17,54,38,.12) 100%), linear-gradient(0deg, rgba(9,39,28,.26), transparent 55%); }
.home-hero .hero-content { z-index: 2; width: min(var(--page-width), calc(100% - 64px)); padding-block: 88px 112px; display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.home-hero .eyebrow { display: block; margin: 0 0 15px; color: #d8ed8c; }
.hero-brand-icon { width: min(170px, 42vw); height: auto; max-height: 88px; margin-bottom: 22px; object-fit: contain; object-position: left center; }
.home-hero h1 { max-width: 730px; color: var(--wip-home-hero-text); font-size: clamp(44px, 5.2vw, 68px); line-height: 1.09; }
.home-hero .hero-description { max-width: 585px; margin: 21px 0 28px; color: var(--wip-home-hero-text); font-size: 16px; }
.home-hero .button-dark { background: #111; }
.home-hero .button-dark:hover { background: #313b34; }
.reader-count { min-height: 126px; padding: 25px max(32px, calc((100% - var(--page-width)) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 35px; color: var(--wip-home-readers-text); background: var(--wip-home-readers-background); }
.reader-count > div { display: flex; align-items: baseline; gap: 14px; color: var(--wip-home-readers-text); }
.reader-count strong { font-family: var(--font-display); font-size: 38px; line-height: 1; }
.reader-count strong span { color: currentColor; }
.reader-count > div > span { color: var(--ink-soft); font-size: 13px; font-weight: 700; }
.reader-count > p { max-width: 470px; margin: 0; color: var(--wip-home-readers-text); font-family: var(--font-display); font-size: 19px; }
@keyframes rise-in { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }

.principles { display: grid; grid-template-columns: repeat(3, 1fr); color: var(--white); background: var(--ink); }
.principle { min-height: 213px; padding: 36px clamp(26px, 5vw, 82px); background: #27332d; }
.principle:nth-child(3) { background: #35463b; }
.principle-featured { background: #3f5e4a; }
.principle-number { color: #c4d2c5; font-family: var(--font-display); font-size: 12px; font-weight: 700; }
.principle h2 { margin: 17px 0 6px; font-family: var(--font-display); font-size: 19px; line-height: 1.3; }
.principle p { max-width: 300px; margin: 0; color: rgba(255,255,255,.74); font-size: 13px; line-height: 1.6; }

.section-pad { padding-block: 104px; }
.resources-section { background-color: var(--wip-resources-cards-background); background-image: radial-gradient(rgba(83,109,91,.09) .7px, transparent .7px); background-size: 15px 15px; }
.section-heading { margin-bottom: 45px; }
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 48px; }
.section-heading h2, .newsletter-copy h2 { max-width: 700px; margin: 0; color: inherit; font-family: var(--font-display); font-size: clamp(32px, 4vw, 48px); line-height: 1.16; font-weight: 700; letter-spacing: 0; }
.section-intro { max-width: 330px; margin: 0 0 5px; color: var(--ink-soft); font-size: 14px; }
.resource-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.resource-card { min-height: 294px; padding: 25px 23px 24px; display: flex; flex-direction: column; align-items: flex-start; color: var(--wip-resources-cards-text); background: var(--wip-resources-cards-background); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s ease, transform .2s ease; }
.resource-card:hover { position: relative; z-index: 1; filter: brightness(.98); transform: translateY(-3px); }
.resource-topline { width: 100%; display: flex; justify-content: space-between; gap: 10px; color: var(--green); font-size: 9px; line-height: 1.5; font-weight: 700; letter-spacing: 1.1px; text-transform: uppercase; }
.resource-topline span:last-child { color: #929a91; }
.resource-card h3 { margin: 24px 0 10px; color: var(--wip-resources-cards-text); font-family: var(--font-display); font-size: 17px; line-height: 1.35; font-weight: 700; }
.resource-card p { margin: 0 0 19px; color: var(--wip-resources-cards-text); font-size: 12px; line-height: 1.65; }
.resource-download-button { min-height: 42px; margin-top: auto; padding-inline: 15px; gap: 13px; font-size: 10px; letter-spacing: .5px; text-align: center; }
.resource-download-button.is-pending { opacity: .58; cursor: not-allowed; }
.resource-download-button.is-pending:hover { transform: none; background: var(--accent); }
.text-link { margin-top: auto; display: inline-flex; align-items: center; gap: 12px; color: var(--accent); font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.text-link span { font-size: 17px; transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, -3px); }
.articles-section { color: var(--wip-home-blog-text); background: var(--wip-home-blog-background); }
.view-all { flex: 0 0 auto; margin-bottom: 5px; }
.post-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.post-card { min-width: 0; display: flex; flex-direction: column; color: var(--wip-blog-card-text); background: var(--wip-blog-card-background); }
.post-card-image { display: block; aspect-ratio: 1.48 / 1; overflow: hidden; background: #dfe3dc; }
.post-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.post-card:hover .post-card-image img { transform: scale(1.035); }
.image-placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #52695a 0%, #98a38f 52%, #b96d51 100%); }
.image-placeholder span { padding: 8px 12px; border: 1px solid rgba(255,255,255,.65); font-family: var(--font-display); font-size: 12px; letter-spacing: 1px; text-transform: uppercase; }
.post-card-copy { min-height: 246px; padding: 22px 23px 24px; display: flex; flex: 1; flex-direction: column; align-items: flex-start; }
.post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: #747d76; font-size: 10px; line-height: 1.5; font-weight: 600; text-transform: uppercase; letter-spacing: .7px; }
.post-meta a { color: var(--green); }
.meta-dot { color: var(--accent); }
.post-card h3 { margin: 14px 0 9px; color: var(--wip-blog-card-text); font-family: var(--font-display); font-size: 20px; line-height: 1.3; }
.post-card h3 a:hover { color: var(--accent); }
.post-card-copy > p { margin: 0 0 20px; color: var(--wip-blog-card-text); font-size: 13px; line-height: 1.65; }
.empty-posts { grid-column: 1 / -1; padding: 40px; background: var(--green-light); }
.audience-section { color: var(--wip-home-audience-text); background: var(--wip-home-audience-background); }
.audience-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(40px, 7vw, 100px); }
.audience-image { min-height: 500px; overflow: hidden; background: var(--green-light); }
.audience-image img { width: 100%; height: 100%; min-height: 500px; object-fit: cover; object-position: center 62%; }
.audience-copy h2, .contact-band h2 { margin: 0 0 20px; color: inherit; font-family: var(--font-display); font-size: clamp(34px, 4.5vw, 52px); line-height: 1.15; }
.audience-copy > p:not(.eyebrow) { color: var(--wip-home-audience-text); font-size: 14px; line-height: 1.75; }
.audience-copy .button { margin-top: 10px; }
.friday-promise { margin-top: 28px; display: flex; flex-direction: column; color: var(--green); font-size: 13px; }
.friday-promise strong { font-family: var(--font-display); font-size: 17px; }
.next-issue { margin-top: 14px; font-weight: 600; }
.resource-callout { padding-block: 43px; color: var(--wip-home-resource-text); background: var(--wip-home-resource-background); }
.resource-callout-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.resource-callout .eyebrow { margin-bottom: 8px; }
.resource-callout h2 { margin: 0; color: var(--wip-home-resource-text); font-family: var(--font-display); font-size: clamp(25px, 3.5vw, 37px); line-height: 1.2; }
.resource-page-intro { max-width: 730px; margin-bottom: 34px; }
.resource-page-intro h2 { margin: 0; color: var(--wip-resources-cards-text); font-family: var(--font-display); font-size: clamp(24px, 3.4vw, 36px); line-height: 1.25; }
.resources-hero { padding-block: 88px 70px; color: var(--wip-resources-hero-text); background: var(--wip-resources-hero-background); }
.resources-hero h1 { max-width: 850px; margin: 0; color: var(--wip-resources-hero-text); font-family: var(--font-display); font-size: clamp(40px, 6vw, 68px); line-height: 1.08; }
.resources-hero > div > p:last-child { max-width: 780px; margin: 22px 0 0; color: var(--wip-resources-hero-text); font-size: 16px; line-height: 1.75; }
.signup-section { padding-block: 84px; color: var(--wip-home-signup-text); background-color: var(--wip-home-signup-background); background-image: linear-gradient(118deg, color-mix(in srgb, var(--wip-home-signup-background) 92%, #6a2418) 0%, var(--wip-home-signup-background) 60%, color-mix(in srgb, var(--wip-home-signup-background) 76%, #ffc36a) 100%); }
.signup-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.signup-copy h2 { max-width: 560px; margin: 0 0 18px; color: var(--wip-home-signup-text); font-family: var(--font-display); font-size: clamp(34px, 4.5vw, 51px); line-height: 1.15; }
.signup-copy > p:not(.eyebrow) { max-width: 570px; color: var(--wip-home-signup-text); font-size: 15px; }
.signup-trust { margin-top: 27px; font-weight: 600; }
.signup-form-panel { padding: 32px; color: var(--wip-home-signup-form-text); background: var(--wip-home-signup-form-background); }
.signup-form-panel h3 { margin: 0; color: var(--wip-home-signup-form-text); font-family: var(--font-display); font-size: 26px; }
.signup-form-panel > p { margin: 5px 0 22px; color: var(--ink-soft); font-size: 13px; }
.lead-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 12px; }
.lead-form > label:not(.newsletter-consent) { display: flex; flex-direction: column; gap: 6px; color: var(--ink); font-size: 11px; font-weight: 700; }
.lead-form > label:nth-child(3) { grid-column: 1 / -1; }
.lead-form input[type=tel], .lead-form input[type=email], .lead-form input[type=text] { min-width: 0; min-height: 46px; padding: 0 12px; color: var(--ink); background: white; border: 1px solid var(--line); }
.lead-form .newsletter-consent { grid-column: 1 / -1; color: var(--ink-soft); }
.lead-form .button { justify-self: start; }
.mc4wp-form { width: 100%; }
.mc4wp-form form, .mc4wp-form-fields { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; }
.mc4wp-form label { grid-column: 1 / -1; display: block; color: rgba(255,255,255,.9); font-size: 12px; }
.mc4wp-form input[type=email], .mc4wp-form input[type=text] { width: 100%; min-height: 50px; margin-top: 5px; padding: 0 14px; color: var(--ink); background: white; border: 1px solid transparent; border-radius: 2px; }
.mc4wp-form input[type=checkbox] { width: auto; min-height: auto; margin: 0 7px 0 0; accent-color: var(--accent); }
.mc4wp-form input[type=submit], .mc4wp-form button[type=submit] { min-height: 50px; padding: 0 20px; color: var(--wip-button-text); background: var(--wip-button-background); border: 0; border-radius: 2px; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.mc4wp-form input[type=submit]:hover, .mc4wp-form button[type=submit]:hover { transform: translateY(-2px); background: #4c654f; }
.mc4wp-form .mc4wp-response, .mc4wp-form .mc4wp-alert { grid-column: 1 / -1; color: white; font-size: 12px; }
.form-setup-notice { padding: 14px 16px; color: var(--ink-soft); background: #f1f5ef; font-size: 13px; }
.wpcf7 form { display: grid; gap: 17px; }
.wpcf7 form p { margin: 0; }
.wpcf7 form label { display: flex; flex-direction: column; gap: 7px; color: var(--wip-contact-form-text); font-size: 12px; font-weight: 700; }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 textarea { width: 100%; min-height: 48px; padding: 12px 14px; color: var(--wip-contact-form-text); background: var(--wip-contact-form-background); border: 1px solid #d9dfd8; border-radius: 2px; font: 400 15px/1.5 var(--font-body); transition: border-color .2s ease, box-shadow .2s ease; }
.wpcf7 textarea { min-height: 150px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(23,105,80,.13); outline: 0; }
.wpcf7 input[type=submit] { min-height: 48px; padding: 0 23px; color: var(--wip-button-text); background: var(--wip-button-background); border: 0; border-radius: 2px; font-size: 12px; font-weight: 700; letter-spacing: .7px; text-transform: uppercase; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.wpcf7 input[type=submit]:hover { transform: translateY(-2px); background: #4c654f; }
.wpcf7 .wpcf7-not-valid-tip { color: #bd432f; font-size: 11px; font-weight: 500; }
.wpcf7 .wpcf7-response-output { margin: 10px 0 0; padding: 12px 14px; border-radius: 2px; font-size: 12px; }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-acceptance label { display: block; color: var(--wip-contact-form-text); font-size: 12px; font-weight: 400; }
.wpcf7 .wpcf7-acceptance input { width: auto; min-height: auto; margin-right: 8px; accent-color: var(--green); }
.contact-band { padding-block: 80px; color: var(--wip-home-contact-text); background-color: var(--wip-home-contact-background); background-image: linear-gradient(90deg, color-mix(in srgb, var(--wip-home-contact-background) 88%, transparent), color-mix(in srgb, var(--wip-home-contact-background) 45%, transparent)), var(--contact-image); background-size: cover; background-position: center; }
.contact-band-inner { display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.contact-band-inner > div { max-width: 780px; }
.contact-band h2 { color: var(--wip-home-contact-text); font-size: clamp(30px, 4vw, 43px); }
.contact-band-inner > div > p:last-child { color: var(--wip-home-contact-text); font-size: 14px; }
.contact-band-inner > .text-link { flex: 0 0 auto; margin-bottom: 8px; color: var(--wip-home-contact-text); }

.newsletter-band { padding: 75px max(32px, calc((100% - var(--page-width)) / 2)); display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; color: var(--white); background-color: var(--green); background-image: linear-gradient(125deg, rgba(34,52,41,.12), transparent 48%), repeating-linear-gradient(135deg, transparent 0 16px, rgba(255,255,255,.035) 17px 18px); }
.newsletter-copy h2 { max-width: 540px; font-size: clamp(32px, 4vw, 47px); }
.newsletter-copy > p:last-child { margin: 16px 0 0; color: rgba(255,255,255,.77); font-size: 14px; }
.newsletter-form-wrap { width: 100%; max-width: 580px; justify-self: end; }
.newsletter-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.newsletter-form input[type=email] { width: 100%; min-height: 52px; padding: 0 16px; color: var(--ink); background: var(--white); border: 1px solid transparent; border-radius: 1px; }
.newsletter-consent { grid-column: 1 / -1; display: flex; align-items: flex-start; gap: 9px; color: rgba(255,255,255,.82); font-size: 11px; line-height: 1.5; }
.newsletter-consent input { margin: 3px 0 0; accent-color: var(--accent); }
.newsletter-consent a { color: white; text-decoration: underline; text-underline-offset: 2px; }
.form-note, .mailchimp-notice { margin: 12px 0 0; color: rgba(255,255,255,.72); font-size: 11px; }
.mailchimp-notice { padding: 14px 16px; color: var(--ink); background: var(--paper); }

.site-footer { color: var(--wip-footer-text); background: var(--wip-footer-background); }
.footer-main { width: min(var(--page-width), calc(100% - 64px)); margin: auto; padding: 60px 0 51px; display: grid; grid-template-columns: 1.4fr 1fr 1.1fr; gap: 70px; }
.wordmark-light { color: var(--white); }
.wordmark-light small { color: rgba(255,255,255,.67); }
.footer-brand p, .footer-contact p { margin: 17px 0 0; font-size: 12px; }
.footer-main h2 { margin: 0 0 17px; color: var(--wip-footer-text); font-family: var(--font-display); font-size: 14px; }
.footer-contact a { display: inline-block; margin-top: 7px; color: var(--wip-footer-text); font-size: 13px; }
.footer-menu { flex-direction: column; align-items: flex-start; gap: 7px; font-size: 12px; }
.footer-menu a:hover, .footer-contact a:hover { color: #f29a7d; }
.footer-bottom { min-height: 59px; padding: 14px max(32px, calc((100% - var(--page-width)) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: 10px; }
.footer-legal { display: flex; gap: 22px; }
.footer-legal a:hover { color: var(--white); }

.listing-page { padding-top: 82px; padding-bottom: 100px; color: var(--wip-blog-page-text); background: var(--wip-blog-page-background); }
.listing-heading { max-width: 810px; margin-bottom: 50px; }
.listing-heading h1 { margin: 0; color: var(--wip-blog-page-text); font-family: var(--font-display); font-size: clamp(38px, 5.5vw, 64px); line-height: 1.1; letter-spacing: 0; }
.page-title h1 { margin: 0; color: var(--wip-standard-page-text); font-family: var(--font-display); font-size: clamp(38px, 5.5vw, 64px); line-height: 1.1; letter-spacing: 0; }
.article-header h1 { margin: 0; color: var(--wip-article-content-text); font-family: var(--font-display); font-size: clamp(38px, 5.5vw, 64px); line-height: 1.1; letter-spacing: 0; }
.listing-heading > p:last-child { max-width: 570px; margin: 18px 0 0; color: var(--ink-soft); font-size: 16px; }
.listing-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 38px; align-items: start; }
.listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.blog-sidebar { padding: 24px; color: var(--wip-sidebar-text); background: var(--wip-sidebar-background); }
.widget + .widget { margin-top: 30px; }
.widget-title { margin: 0 0 12px; font-family: var(--font-display); font-size: 17px; }
.widget ul { margin: 0; padding-left: 19px; font-size: 13px; }
.widget a:hover { color: var(--accent); }
.navigation.pagination { margin-top: 48px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { min-width: 39px; min-height: 39px; display: inline-grid; place-items: center; padding: 0 11px; border: 1px solid var(--line); font-size: 12px; }
.page-numbers.current, .page-numbers:hover { color: var(--white); background: var(--green); border-color: var(--green); }

.single-page { padding: 65px 0 100px; color: var(--wip-article-content-text); background: var(--wip-article-page-background); }
.article-header { padding-bottom: 34px; }
.article-header h1 { margin: 20px 0; }
.article-byline { display: flex; gap: 22px; color: var(--ink-soft); font-size: 12px; }
.article-byline a { color: var(--green); font-weight: 700; }
.article-featured { max-height: 620px; margin-bottom: 65px; overflow: hidden; background: #e2e6df; }
.article-featured img { width: 100%; max-height: 620px; object-fit: cover; }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px) 290px; justify-content: center; align-items: start; gap: 55px; }
.entry-content { color: var(--wip-article-content-text); font-size: 17px; line-height: 1.85; }
.entry-content > :first-child { margin-top: 0; }
.entry-content > :last-child { margin-bottom: 0; }
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { margin: 1.7em 0 .65em; font-family: var(--font-display); line-height: 1.25; }
.entry-content h1 { font-size: 40px; }
.entry-content h2 { font-size: 32px; }
.entry-content h3 { font-size: 25px; }
.entry-content h4 { font-size: 20px; }
.entry-content p { margin: 0 0 1.35em; }
.entry-content a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.entry-content blockquote { margin: 2em 0; padding: 8px 0 8px 27px; color: var(--green); border-left: 3px solid var(--accent); font-family: var(--font-display); font-size: 23px; line-height: 1.5; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content blockquote cite, .entry-content .wp-block-pullquote cite { display: block; margin-top: 12px; color: var(--ink-soft); font-family: var(--font-body); font-size: 12px; font-style: normal; font-weight: 700; }
.entry-content .wp-block-pullquote { margin: 45px 0; padding: 28px 10px; color: var(--green); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--font-display); font-size: 27px; line-height: 1.45; text-align: center; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }
.entry-content li + li { margin-top: 8px; }
.entry-content img { margin-block: 30px; border-radius: 3px; }
.entry-content figure { max-width: 100%; margin: 34px 0; }
.entry-content figure img, .entry-content .wp-block-image img, .entry-content .wp-block-gallery img { width: 100%; margin: 0; }
.entry-content figcaption, .entry-content .wp-element-caption { margin-top: 10px; color: #747d76; font-size: 12px; line-height: 1.5; }
.entry-content .wp-block-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.entry-content .wp-block-gallery figure { margin: 0; }
.entry-content .wp-block-button { margin-block: 24px; }
.entry-content .wp-block-button__link { min-height: 47px; padding: 12px 20px; display: inline-flex; align-items: center; border-radius: 2px; color: white; background: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: .6px; text-decoration: none; text-transform: uppercase; transition: transform .2s ease, background .2s ease; }
.entry-content .wp-block-button__link:hover { transform: translateY(-2px); background: #4c654f; }
.entry-content .wp-block-buttons { gap: 12px; }
.entry-content .wp-block-separator { width: 72px; margin: 38px 0; border: 0; border-top: 2px solid #a5c857; }
.entry-content .wp-block-separator.is-style-wide { width: 100%; border-top-width: 1px; border-color: var(--line); }
.entry-content .wp-block-table { margin-block: 32px; overflow-x: auto; }
.entry-content table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.55; }
.entry-content th, .entry-content td { padding: 12px 14px; border: 1px solid var(--line); text-align: left; }
.entry-content thead { color: white; background: var(--green); }
.entry-content .wp-block-columns { gap: 28px; }
.entry-content .wp-block-cover { min-height: 300px; padding: 35px; border-radius: 3px; }
.entry-content .wp-block-cover img { margin: 0; }
.entry-content pre, .entry-content .wp-block-code { max-width: 100%; padding: 20px; overflow-x: auto; color: #f4f7ef; background: #1d3027; border-radius: 3px; font-size: 13px; line-height: 1.6; }
.entry-content code { padding: 2px 5px; color: #a13c2b; background: #f6ece7; border-radius: 2px; font-size: .9em; }
.entry-content pre code { padding: 0; color: inherit; background: none; }
.entry-content iframe, .entry-content video { max-width: 100%; }
.entry-content .wp-block-embed { margin-block: 35px; }
.entry-content .wp-block-file a.wp-block-file__button { margin-left: 10px; padding: 8px 12px; color: white; background: var(--green); border-radius: 2px; text-decoration: none; }
.article-sidebar { position: sticky; top: 112px; }
.sidebar-post-section + .sidebar-post-section { margin-top: 31px; padding-top: 25px; border-top: 1px solid rgba(23,105,80,.16); }
.sidebar-post-section > h2 { margin: 0 0 17px; color: var(--wip-sidebar-text); font-family: var(--font-display); font-size: 18px; line-height: 1.3; }
.sidebar-empty { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.6; }
.sidebar-post-list { display: grid; gap: 18px; }
.sidebar-post { display: grid; grid-template-columns: 82px minmax(0,1fr); align-items: center; gap: 13px; }
.sidebar-post-image { display: block; aspect-ratio: 1; overflow: hidden; background: #dfe8d8; }
.sidebar-post-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.sidebar-post-image:hover img { transform: scale(1.06); }
.sidebar-post .post-meta { display: block; font-size: 9px; }
.sidebar-post h3 { margin: 5px 0 0; font-family: var(--font-display); font-size: 12px; line-height: 1.4; }
.sidebar-post h3 a:hover { color: var(--accent); }
.article-tags { margin-top: 36px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 12px; }
.article-tags span { font-weight: 700; }
.article-tags a { margin-left: 8px; color: var(--green); }
.post-navigation { margin: 36px 0; padding-block: 20px; display: flex; justify-content: space-between; gap: 20px; border-block: 1px solid var(--line); font-size: 12px; font-weight: 700; }
.post-navigation a:hover { color: var(--accent); }
.page-content { padding-top: 82px; padding-bottom: 100px; }
.page-title { margin-bottom: 40px; }
.page-title .eyebrow { margin-bottom: 14px; }
.comments-area { margin-top: 58px; padding-top: 35px; border-top: 1px solid var(--line); }
.comments-area h2 { font-family: var(--font-display); font-size: 25px; }
.comment-list { padding-left: 20px; }
.comment-body { padding: 15px 0; }
.comment-meta { font-size: 12px; }
.comment-content { font-size: 14px; }
.comment-respond label { display: block; margin: 12px 0 5px; font-size: 12px; font-weight: 700; }
.comment-respond input:not([type=checkbox]), .comment-respond textarea { width: 100%; padding: 12px; border: 1px solid var(--line); background: white; }
.comment-respond .submit { margin-top: 15px; padding: 12px 20px; color: white; background: var(--ink); border: 0; cursor: pointer; }

@media (max-width: 1050px) {
	.resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.principle { padding-inline: 30px; }
	.listing-layout { grid-template-columns: minmax(0, 1fr) 230px; gap: 24px; }
	.article-layout { grid-template-columns: minmax(0, 700px) 230px; gap: 35px; }
}
@media (max-width: 760px) {
	.page-width, .header-inner, .footer-main { width: min(100% - 40px, var(--page-width)); }
	.page-width-narrow { width: calc(100% - 40px); }
	.header-inner { min-height: 72px; gap: 15px; }
	.custom-logo { max-width: 150px; max-height: 52px; }
	.wordmark { font-size: 20px; }
	.wordmark-mark { width: 31px; height: 31px; }
	.menu-toggle { width: 42px; height: 42px; padding: 11px 8px; display: flex; flex-direction: column; justify-content: center; gap: 5px; margin-left: auto; background: transparent; border: 0; cursor: pointer; }
	.menu-toggle > span:not(.screen-reader-text) { width: 25px; height: 2px; display: block; background: var(--ink); }
	.primary-navigation { position: absolute; top: 100%; left: 0; right: 0; display: none; padding: 14px 20px 22px; background: var(--paper); border-top: 1px solid var(--line); box-shadow: 0 10px 16px rgba(22,34,28,.1); }
	.primary-navigation.is-open { display: block; }
	.primary-navigation ul { align-items: stretch; flex-direction: column; gap: 0; }
	.primary-navigation li a { display: block; padding: 11px 4px; }
	.header-cta { min-height: 40px; padding-inline: 13px; font-size: 9px; letter-spacing: .5px; }
	.hero { min-height: 590px; background-position: 58% center; }
	.hero-shade { background: linear-gradient(90deg, rgba(14,22,18,.8), rgba(14,22,18,.42)), linear-gradient(0deg, rgba(14,22,18,.32), transparent 50%); }
	.hero-content { padding-block: 76px 100px; }
	.hero h1 { max-width: 600px; font-size: clamp(43px, 10vw, 64px); }
	.hero-description { max-width: 490px; font-size: 16px; }
	.hero-caption { right: 20px; bottom: 24px; font-size: 8px; }
	.home-hero { min-height: 540px; }
	.home-hero-bg { object-position: 67% center; }
	.home-hero .hero-content { width: min(100% - 40px, var(--page-width)); padding-block: 65px 76px; }
	.home-hero h1 { font-size: clamp(38px, 8vw, 52px); }
	.reader-count { min-height: 110px; }
	.reader-count > p { max-width: 260px; font-size: 16px; }
	.principles { grid-template-columns: 1fr; }
	.principle { min-height: unset; padding: 24px 25px; }
	.principle h2 { margin-top: 8px; }
	.section-pad { padding-block: 70px; }
	.section-heading-row { align-items: flex-start; flex-direction: column; gap: 18px; margin-bottom: 30px; }
	.section-heading h2, .newsletter-copy h2 { font-size: 34px; }
	.section-intro { max-width: 440px; }
	.audience-layout, .signup-layout { grid-template-columns: 1fr; gap: 35px; }
	.audience-image, .audience-image img { min-height: 340px; max-height: 450px; }
	.resource-callout-inner, .contact-band-inner { align-items: flex-start; flex-direction: column; }
	.resources-hero { padding-block: 63px 48px; }
	.signup-section { padding-block: 60px; }
	.signup-form-panel { padding: 24px; }
	.resource-grid { grid-template-columns: 1fr 1fr; }
	.resource-card { min-height: 300px; padding: 19px 16px; }
	.resource-card h3 { margin-top: 19px; font-size: 16px; }
	.resource-card p { font-size: 12px; }
	.post-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
	.post-card-copy { min-height: 230px; padding: 18px; }
	.post-card h3 { font-size: 17px; }
	.newsletter-band { padding: 58px 20px; grid-template-columns: 1fr; gap: 27px; }
	.newsletter-form-wrap { justify-self: stretch; }
	.footer-main { padding-block: 45px; grid-template-columns: 1fr 1fr; gap: 35px 25px; }
	.footer-brand { grid-column: 1 / -1; }
	.footer-bottom { padding-inline: 20px; align-items: flex-start; flex-direction: column; gap: 8px; }
	.listing-page { padding-top: 60px; padding-bottom: 70px; }
	.listing-layout { grid-template-columns: 1fr; }
	.blog-sidebar { order: 2; }
	.listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-page { padding-top: 48px; }
	.article-featured { width: 100%; margin-bottom: 42px; }
	.article-layout { grid-template-columns: 1fr; gap: 35px; }
	.article-sidebar { order: 2; }
	.entry-content { font-size: 16px; }
}
@media (max-width: 480px) {
	.page-width, .header-inner, .footer-main { width: calc(100% - 32px); }
	.page-width-narrow { width: calc(100% - 32px); }
	.header-inner { gap: 8px; }
	.wordmark { gap: 6px; font-size: 18px; }
	.wordmark-mark { width: 28px; height: 28px; font-size: 19px; }
	.header-cta { padding-inline: 9px; font-size: 8px; }
	.hero { min-height: 570px; }
	.hero-content { padding-block: 66px 95px; }
	.hero h1 { font-size: 43px; }
	.hero-description { font-size: 15px; }
	.home-hero { min-height: 520px; }
	.home-hero .hero-content { width: calc(100% - 32px); padding-block: 54px 65px; }
	.home-hero h1 { font-size: 38px; }
	.reader-count { align-items: flex-start; flex-direction: column; justify-content: center; gap: 10px; padding-block: 20px; }
	.reader-count strong { font-size: 33px; }
	.audience-image, .audience-image img { min-height: 270px; }
	.lead-form { grid-template-columns: 1fr; }
	.lead-form > label:nth-child(3), .lead-form .newsletter-consent { grid-column: auto; }
	.resource-grid, .post-grid, .listing-grid { grid-template-columns: 1fr; }
	.resource-card { min-height: 250px; padding: 22px; }
	.post-card-copy { min-height: 205px; }
	.newsletter-band { padding-inline: 16px; }
	.newsletter-form { grid-template-columns: 1fr; }
	.newsletter-form .button { width: 100%; }
	.footer-main { grid-template-columns: 1fr; gap: 28px; }
	.footer-brand { grid-column: auto; }
	.footer-legal { gap: 15px; }
	.listing-heading h1, .page-title h1, .article-header h1 { font-size: 39px; }
	.article-byline { flex-wrap: wrap; }
	.post-navigation { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

.site-header { position: sticky; top: 0; box-shadow: 0 3px 16px rgba(28,37,33,.045); }
.site-logo-light { filter: brightness(0) invert(1); }
.site-footer .custom-logo { filter: brightness(0) invert(1); }
.primary-navigation a, .footer-menu a, .footer-contact a { transition: color .2s ease, opacity .2s ease; }
.button, .resource-card, .post-card-image, .site-logo { transition: transform .28s ease, box-shadow .28s ease, opacity .28s ease; }
.resource-card:hover, .post-card:hover { box-shadow: 0 16px 36px rgba(32,42,37,.11); }
.reveal-on-scroll { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }
.reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
.post-card:nth-child(3n + 2), .resource-card:nth-child(4n + 2) { transition-delay: .08s; }
.post-card:nth-child(3n + 3), .resource-card:nth-child(4n + 3) { transition-delay: .15s; }
.home-hero .hero-brand-icon { filter: drop-shadow(0 8px 20px rgba(20,32,24,.13)); }
.resource-callout { background-image: linear-gradient(110deg, var(--wip-home-resource-background), color-mix(in srgb, var(--wip-home-resource-background) 78%, white)); }
.contact-page-hero { min-height: 360px; padding-block: 80px; display: flex; align-items: center; color: var(--wip-contact-hero-text); background-color: var(--wip-contact-hero-background); background-image: linear-gradient(90deg, color-mix(in srgb, var(--wip-contact-hero-background) 88%, transparent), color-mix(in srgb, var(--wip-contact-hero-background) 36%, transparent)), var(--contact-page-image); background-size: cover; background-position: center 44%; }
.contact-page-hero-inner { max-width: var(--page-width); }
.contact-page-hero h1 { max-width: 800px; margin: 0; color: var(--wip-contact-hero-text); font-family: var(--font-display); font-size: clamp(40px, 6vw, 66px); line-height: 1.08; }
.contact-page-hero-inner > p:last-child { max-width: 660px; margin: 18px 0 0; color: var(--wip-contact-hero-text); font-size: 17px; }
.contact-page-content { background: var(--wip-contact-content-background); }
.contact-page-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); align-items: start; gap: 32px; }
.contact-form-panel { padding: clamp(25px, 4vw, 44px); color: var(--wip-contact-form-text); background: var(--wip-contact-form-background); box-shadow: 0 18px 50px rgba(34,52,41,.08); }
.contact-form-panel h2, .contact-details h2 { margin: 0 0 24px; color: inherit; font-family: var(--font-display); font-size: 29px; line-height: 1.2; }
.contact-form { display: grid; gap: 17px; }
.contact-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.contact-form label { display: flex; flex-direction: column; gap: 7px; color: var(--wip-contact-form-text); font-size: 12px; font-weight: 700; }
.contact-form input, .contact-form textarea { width: 100%; min-width: 0; padding: 12px 14px; color: var(--ink); background: #fbfcfa; border: 1px solid #d9dfd8; border-radius: 2px; font-weight: 400; transition: border-color .2s ease, box-shadow .2s ease; }
.contact-form input { min-height: 48px; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(83,109,91,.13); outline: 0; }
.contact-form .button { justify-self: start; }
.contact-honeypot { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.contact-details { position: relative; min-height: 400px; padding: 32px 28px; overflow: hidden; color: var(--wip-contact-card-text); background: var(--wip-contact-card-background); }
.contact-details::after { position: absolute; right: -65px; bottom: -95px; width: 240px; height: 240px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 22px rgba(255,255,255,.035), 0 0 0 48px rgba(255,255,255,.025); content: ''; pointer-events: none; }
.contact-details .eyebrow { color: var(--wip-contact-card-text); }
.contact-details h2 { max-width: 320px; }
.contact-details > p:not(.eyebrow) { color: var(--wip-contact-card-text); font-size: 13px; }
.contact-detail { position: relative; z-index: 1; margin-top: 28px; display: flex; flex-direction: column; gap: 3px; }
.contact-detail > span { color: var(--wip-contact-card-text); font-size: 10px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.contact-detail a, .contact-detail p { margin: 0; color: var(--wip-contact-card-text); font-size: 14px; overflow-wrap: anywhere; }
.contact-notice { margin: 0 0 22px; padding: 14px 16px; font-size: 13px; }
.contact-notice-success { color: #24462f; background: #e2f1e4; border-left: 3px solid #438553; }
.contact-notice-error { color: #7e3026; background: #fbe8e3; border-left: 3px solid #c94f37; }
.homepage-editor-content { color: var(--wip-standard-page-text); background: var(--wip-standard-page-background); }

/* Theme section colors take precedence over WordPress global heading styles. */
.home-hero .hero-content h1 { color: var(--wip-home-hero-text); }
.audience-section .audience-copy h2 { color: var(--wip-home-audience-text); }
.resource-callout .resource-callout-inner h2 { color: var(--wip-home-resource-text); }
.articles-section .section-heading h2 { color: var(--wip-home-blog-text); }
.signup-section .signup-copy h2 { color: var(--wip-home-signup-text); }
.signup-section .signup-form-panel h3 { color: var(--wip-home-signup-form-text); }
.contact-band .contact-band-inner h2 { color: var(--wip-home-contact-text); }
.contact-page .contact-page-hero h1 { color: var(--wip-contact-hero-text); }
.contact-page .contact-form-panel h2 { color: var(--wip-contact-form-text); }
.contact-page .contact-details h2 { color: var(--wip-contact-card-text); }
.resources-page .resources-hero h1 { color: var(--wip-resources-hero-text); }
.resources-page .resource-page-intro h2, .resources-page .resource-card h3 { color: var(--wip-resources-cards-text); }
.button-dark { color: var(--wip-dark-button-text, #fff); background: var(--wip-dark-button-background, #172820); }
.button-dark:hover { background: var(--wip-dark-button-background, #172820); filter: brightness(.9); }
.native-contact-form .contact-consent { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; }
.native-contact-form .contact-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; padding: 0; }
.native-contact-form > p, .native-contact-form .contact-form-row > p { margin: 0; }
.contact-form textarea { font: inherit; }
.signup-form-panel .mc4wp-form :is(input[type=submit], button[type=submit]), .contact-form .wpcf7 input[type=submit] { color: var(--wip-button-text); background: var(--wip-button-background); }
.contact-form label, .contact-form input, .contact-form textarea { color: var(--wip-contact-form-text); }
.contact-form input, .contact-form textarea { background: var(--wip-contact-form-background); }
.signup-form-panel .mc4wp-form :is(label, .mc4wp-response, .mc4wp-alert) { color: var(--wip-home-signup-form-text); }
.signup-form-panel .mc4wp-form input:is([type=email], [type=text]) { color: var(--wip-home-signup-form-text); background: var(--wip-home-signup-form-background); border: 1px solid var(--line); }
.signup-form-panel .mc4wp-form input::placeholder { color: inherit; opacity: .7; }
/* Content remains visible when scripts are blocked, disabled or deferred. */
.reveal-on-scroll { opacity: 1; transform: none; }
.reveal-on-scroll.is-visible { animation: rise-in .6s ease both; }
@media (prefers-reduced-motion: reduce) {
	.reveal-on-scroll.is-visible { animation: none; }
}
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }

/* Page backgrounds extend beyond the centered content column. */
body.wip-blog-listing { color: var(--wip-blog-page-text); background: var(--wip-blog-page-background); }
body.single-post { color: var(--wip-article-content-text); background: var(--wip-article-page-background); }
.listing-layout:not(:has(> .blog-sidebar)) { grid-template-columns: minmax(0, 1fr); }
.article-layout:not(:has(> .blog-sidebar)) { grid-template-columns: minmax(0, 820px); }
.listing-heading > p:last-child, .listing-heading .eyebrow { color: inherit; }
.page-content .entry-content { color: var(--wip-standard-page-text); }
.entry-content :is(h1, h2, h3, h4, h5, h6):not(.has-text-color) { color: inherit; }
.blog-sidebar :is(h2, h3, .post-meta):not(.has-text-color) { color: var(--wip-sidebar-text); }
.post-card .post-meta, .post-card .post-meta a { color: var(--wip-blog-card-text); }
.article-header .post-meta, .article-header .post-meta a, .article-byline { color: var(--wip-article-content-text); }
.home-hero .hero-shade { background: linear-gradient(90deg, var(--wip-home-hero-background), transparent); }
.home-hero .eyebrow { color: var(--wip-home-hero-text); }
.reader-count > div > span { color: var(--wip-home-readers-text); }
.audience-copy .eyebrow, .audience-copy .friday-promise { color: var(--wip-home-audience-text); }
.resource-callout .eyebrow { color: var(--wip-home-resource-text); }
.articles-section .eyebrow { color: var(--wip-home-blog-text); }
.signup-copy .eyebrow { color: var(--wip-home-signup-text); }
.signup-form-panel > p, .signup-form-panel .mc4wp-form label, .signup-form-panel .mc4wp-response { color: var(--wip-home-signup-form-text); }
.contact-band .eyebrow { color: var(--wip-home-contact-text); }
.resources-hero .eyebrow { color: var(--wip-resources-hero-text); }
.resource-page-intro .eyebrow, .resource-topline, .resource-topline span:last-child { color: var(--wip-resources-cards-text); }
.contact-page-hero .eyebrow { color: var(--wip-contact-hero-text); }
.button-coral:hover, .mc4wp-form input[type=submit]:hover, .mc4wp-form button[type=submit]:hover, .wpcf7 input[type=submit]:hover { background: var(--wip-button-background); filter: brightness(.9); }
.entry-content .wp-block-button__link:not(.has-text-color) { color: var(--wip-button-text); }
.entry-content .wp-block-button__link:not(.has-background) { background: var(--wip-button-background); }
.entry-content .wp-block-button__link:hover { filter: brightness(.9); }

/* WordPress menu hierarchies work with pointer and keyboard navigation. */
.primary-navigation li { position: relative; }
.primary-navigation .sub-menu { position: absolute; top: 100%; left: 0; min-width: 210px; padding: 10px; display: none; flex-direction: column; align-items: stretch; gap: 0; color: var(--wip-header-text); background: var(--wip-header-background); box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.primary-navigation .sub-menu a { display: block; padding: 9px 12px; }
.primary-navigation li:hover > .sub-menu, .primary-navigation li:focus-within > .sub-menu { display: flex; }
.primary-navigation .sub-menu .sub-menu { top: 0; left: 100%; }
.footer-menu .sub-menu { padding-left: 15px; list-style: none; }
@media (max-width: 760px) {
	.primary-navigation { background: var(--wip-header-background); }
	.menu-toggle > span:not(.screen-reader-text) { background: var(--wip-header-text); }
	.primary-navigation .sub-menu, .primary-navigation .sub-menu .sub-menu { position: static; display: flex; min-width: 0; padding: 0 0 0 16px; box-shadow: none; }
}
@media (max-width: 760px) {
	.site-header { position: sticky; }
	.contact-page-hero { min-height: 320px; padding-block: 58px; }
	.contact-page-grid { grid-template-columns: 1fr; }
	.contact-details { min-height: 320px; }
}
@media (max-width: 480px) {
	.contact-form-row { grid-template-columns: 1fr; }
	.contact-page-hero h1 { font-size: 39px; }
	.contact-form-panel { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
	.reveal-on-scroll { opacity: 1; transform: none; }
}
/* Client refresh: brand green, centered readership and editorial audience section. */
.home-hero-bg { object-position: center; opacity: .8; }
.home-hero .hero-shade { background: linear-gradient(90deg, rgba(23,40,32,.94), rgba(23,40,32,.78) 45%, rgba(23,40,32,.22)); }
.home-hero .eyebrow { color: #e5f0e4; }
.reader-count { flex-direction: column; justify-content: center; gap: 12px; padding-block: 34px; text-align: center; }
.reader-count > div { justify-content: center; }
.reader-count strong span, .reader-count > div > span { color: inherit; }
.reader-count > p { max-width: 640px; }
.signup-section { background-image: linear-gradient(118deg, #425b46, var(--wip-home-signup-background) 65%, #7f9981); }
.audience-section { position: relative; overflow: hidden; padding-top: 0; background: #f4f6f0; }
.audience-motion { overflow: hidden; padding: 22px 0; margin-bottom: 84px; border-bottom: 1px solid var(--line); color: var(--green); }
.audience-motion-track { display: flex; width: max-content; animation: audience-ticker 32s linear infinite; }
.audience-motion-track > span { flex: none; padding-right: 34px; white-space: nowrap; font-family: var(--font-display); font-size: clamp(20px, 2.6vw, 34px); font-weight: 600; }
.audience-motion i { margin-inline: 28px; font-style: normal; }
.audience-section:hover .audience-motion-track, .audience-section:focus-within .audience-motion-track { animation-play-state: paused; }
.audience-layout { grid-template-columns: 1.08fr 1fr; gap: clamp(32px, 6vw, 80px); }
.audience-copy { grid-column: 1; grid-row: 1; }
.audience-copy h2 { font-size: clamp(36px, 4vw, 56px); letter-spacing: -1.5px; }
.audience-copy .button { background: var(--green); }
.audience-copy > p:not(.eyebrow) { font-size: 16px; }
.audience-editorial { grid-column: 2; grid-row: 1; min-height: 0; padding: clamp(24px, 3.5vw, 46px); border: 1px solid #d6e0d6; border-radius: 16px; background: #fff; box-shadow: 14px 18px 0 #e0e8dd; transform: rotate(2deg); }
.editorial-topline { display: flex; justify-content: space-between; gap: 18px; color: var(--green); font-size: 9px; font-weight: 700; letter-spacing: 1.6px; }
.editorial-title { margin: 38px 0 30px; font-family: var(--font-display); font-size: clamp(28px, 3vw, 40px); line-height: 1.25; font-weight: 700; letter-spacing: -1px; }
.editorial-title em { color: var(--green); font-family: Georgia, serif; font-weight: 400; }
.editorial-rule { height: 3px; width: 56px; margin-bottom: 18px; background: var(--green); }
.editorial-topic { display: flex; gap: 16px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid var(--line); transition: transform .3s ease; }
.editorial-topic:hover { transform: translateX(6px); }
.editorial-topic > span { color: var(--green); font-size: 12px; }
.editorial-topic > span:last-child { margin-left: auto; font-size: 20px; }
.editorial-topic strong { font-size: 16px; }
.editorial-topic p { margin: 4px 0 0; color: var(--ink-soft); font-size: 13px; }
.editorial-footer { display: flex; align-items: center; gap: 10px; margin-top: 28px; font-size: 11px; color: var(--ink-soft); }
.editorial-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--green); }
.audience-layout.is-visible .editorial-topic { animation: rise-in .7s both; }
.audience-layout.is-visible .editorial-topic:nth-of-type(5) { animation-delay: .15s; }
.audience-layout.is-visible .editorial-topic:nth-of-type(6) { animation-delay: .3s; }
@keyframes audience-ticker { to { transform: translateX(-50%); } }
@media (max-width: 760px) {
 .audience-motion { margin-bottom: 48px; }
 .audience-layout { grid-template-columns: minmax(0, 1fr); gap: 44px; }
 .audience-copy, .audience-editorial { grid-column: 1; grid-row: auto; }
 .audience-editorial { max-height: none; min-height: 0; transform: none; box-shadow: 7px 9px 0 #e0e8dd; }
 .reader-count > p { max-width: 100%; }
}
.motion-disabled .audience-motion-track, .motion-disabled .audience-layout .editorial-topic { animation: none; }
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
 .audience-motion-track, .audience-layout.is-visible .editorial-topic, .hero-content { animation: none; }
 .editorial-topic, .button { transition: none; }
}

/* MC4WP owns submission and messages; these styles fit its fields to the homepage. */
.signup-form-panel .mc4wp-form, .signup-form-panel .mc4wp-form-fields { display: block; }
.signup-form-panel .wip-newsletter-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.signup-form-panel .mc4wp-form label { color: var(--wip-home-signup-form-text); font-size: 13px; }
.signup-form-panel .mc4wp-form input[type=email], .signup-form-panel .mc4wp-form input[type=text], .signup-form-panel .mc4wp-form input[type=tel] { width: 100%; min-width: 0; min-height: 48px; margin-top: 6px; padding: 12px 14px; color: var(--ink); background: #fff; border: 1px solid var(--line); border-radius: 2px; }
.signup-form-panel .mc4wp-form .wip-newsletter-consent { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; line-height: 1.6; }
.signup-form-panel .wip-newsletter-consent input { flex: none; margin: 4px 0 0; accent-color: var(--green); }
.signup-form-panel .wip-newsletter-consent a { text-decoration: underline; }
.signup-form-panel .wip-newsletter-fields .button { justify-self: start; }
.signup-form-panel .mc4wp-response { margin-top: 16px; font-size: 14px; }
.signup-form-panel .mc4wp-alert { padding: 12px 14px; border-left: 3px solid var(--green); background: #e5f0e4; color: var(--ink); }
.signup-form-panel .mc4wp-error { border-left-color: #9b3232; background: #fff0f0; }

/* Homepage banner entrance: a gentle fade from the left. */
.home-hero .hero-content { animation: home-banner-fade-left 2.4s cubic-bezier(.25, .1, .25, 1) both; }
@keyframes home-banner-fade-left {
 from { opacity: 0; transform: translateX(-100px); }
 to { opacity: 1; transform: translateX(0); }
}
.motion-disabled .home-hero .hero-content { animation: none; }
@media (prefers-reduced-motion: reduce) {
 .home-hero .hero-content { animation: none; }
}

/* Author profile and disclosures. */
.author-company{font-size:18px;font-weight:600;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
.author-page{background:var(--wip-standard-page-background,#f7f8f1);color:var(--wip-standard-page-text,#172820);padding:80px 0 100px}
.author-layout{display:grid;grid-template-columns:minmax(220px, .8fr) minmax(0, 1.8fr);gap:72px;align-items:start}
.author-profile{padding:8px 0}.author-page .eyebrow{color:inherit;opacity:.75}
.author-portrait{display:block;width:180px;height:180px;border-radius:50%;object-fit:cover;margin:28px 0;border:6px solid #e5ebe1}
.author-initials{display:grid;place-items:center;background:#244b38;color:#fff;font:600 52px/1 Manrope,sans-serif}
.author-profile h1{font-size:clamp(30px,4vw,44px);line-height:1.15;margin:0 0 12px;overflow-wrap:anywhere}
.author-role{font-size:17px;margin:0;opacity:.8}
.author-disclosures{background:var(--wip-blog-card-background,#fff);color:inherit;border:1px solid #dce3d8;border-radius:18px;padding:40px}
.author-disclosures h2{font-size:clamp(24px,3vw,32px);line-height:1.3;margin:12px 0 28px;color:inherit}
.author-disclosures .entry-content{color:inherit;font-size:17px;line-height:1.85;overflow-wrap:anywhere}.author-disclosures .entry-content p:last-child{margin-bottom:0}
@media(max-width:760px){.author-page{padding:40px 0 56px}.author-layout{grid-template-columns:1fr;gap:32px}.author-profile{text-align:center}.author-portrait{margin:24px auto}.author-disclosures{padding:26px}.author-disclosures .entry-content{font-size:16px}}

/* Editorial refresh: a calm dashboard-inspired newsletter panel. */
.outlook-card{position:relative;overflow:hidden;transform:none;background:#e9eee5;box-shadow:none;border-radius:28px;border:1px solid #d5dfd0;padding:36px}
.outlook-card .editorial-topline{align-items:center;flex-wrap:wrap;letter-spacing:1px}
.edition-badge{padding:7px 10px;background:#fff;border-radius:30px;font-size:9px}
.outlook-card .editorial-title{margin:30px 0 14px;font-size:clamp(30px,3.2vw,44px);color:#172820}
.outlook-intro{max-width:320px;font-size:14px;line-height:1.7;color:#46594b}
.outlook-orbit{position:relative;width:210px;height:210px;margin:30px auto;border:1px solid #a5b69e;border-radius:50%}
.outlook-orbit::before{content:"";position:absolute;inset:25px;border:1px dashed #a5b69e;border-radius:50%}
.orbit-core{position:absolute;inset:62px;display:grid;place-items:center;border-radius:50%;background:#244b38;color:#fff;font:italic 42px Georgia,serif;box-shadow:0 8px 28px #244b3820}
.orbit-point{position:absolute;width:15px;height:15px;border:4px solid #e9eee5;border-radius:50%;background:#5f7b62;box-shadow:0 0 0 1px #a5b69e}
.orbit-one{top:12px;left:42px}.orbit-two{right:-7px;top:102px}.orbit-three{bottom:9px;left:38px}
.outlook-topics{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.outlook-topics span{background:#fff;padding:8px 14px;border-radius:30px;font-size:12px;color:#244b38}
.outlook-card .editorial-footer{justify-content:center;border-top:1px solid #ced9c8;padding-top:22px;color:#46594b;line-height:1.6}
.contact-band,.contact-page-hero{background-position:center;background-size:cover}
.contact-band{border-top:1px solid #ffffff20}.contact-band-inner>.text-link{padding:16px 20px;border:1px solid #ffffff66;border-radius:32px;overflow-wrap:anywhere;max-width:100%}
.post-card,.resource-card,.signup-form-panel{transition:transform .3s ease,box-shadow .3s ease}
.button span,.text-link span{display:inline-block;transition:transform .25s ease}
@media(hover:hover){.post-card:hover,.resource-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px #17282014}.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}}
@keyframes outlook-turn{to{transform:rotate(360deg)}}
@keyframes outlook-breathe{50%{box-shadow:0 0 0 12px #5f7b6212}}
@media(prefers-reduced-motion:no-preference){html:not(.motion-disabled) .outlook-orbit{animation:outlook-turn 36s linear infinite}html:not(.motion-disabled) .orbit-core{animation:outlook-turn 36s linear infinite reverse}html:not(.motion-disabled) .outlook-card .editorial-dot{animation:outlook-breathe 3s ease-in-out infinite}}
.outlook-card:hover .outlook-orbit,.outlook-card:hover .orbit-core{animation-play-state:paused!important}
.motion-disabled .post-card,.motion-disabled .resource-card,.motion-disabled .signup-form-panel,.motion-disabled .button span,.motion-disabled .text-link span{transition:none}
@media(prefers-reduced-motion:reduce){.post-card,.resource-card,.signup-form-panel,.button span,.text-link span{transition:none}}
@media(max-width:760px){.outlook-card{padding:26px;border-radius:20px}.contact-band-inner>.text-link{font-size:12px;padding:14px;white-space:normal}.outlook-orbit{width:190px;height:190px}.orbit-core{inset:52px}}

/* Keep the existing brand mark legible inside the animated orbit. */
.outlook-card .orbit-core{background:#fff}
.outlook-card .orbit-core img{display:block;width:76%;height:76%;min-height:0;max-height:none;object-fit:contain;object-position:center}

/* Author editorial layouts: shared identity with a generous two-column rhythm. */
.author-feature{background:#f3f4ee;color:#172820;border-top:1px solid #dce3d7;overflow:hidden}
.author-feature-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(36px,7vw,104px)}
.author-visual{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;aspect-ratio:4/4.4;overflow:hidden;background:#dfe7da;border-radius:8px 80px 8px 8px}
.author-visual::after{content:"";position:absolute;inset:14px;border:1px solid #fff7;border-radius:4px 65px 4px 4px;pointer-events:none;z-index:2}
.author-visual-lines{position:absolute;width:85%;height:105%;right:-24%;top:20%;border:1px solid #9fb298;border-radius:50% 50% 0 0;transform:rotate(-28deg);pointer-events:none}
.author-visual-lines::before,.author-visual-lines::after{content:"";position:absolute;inset:22px;border:1px solid #9fb298;border-radius:inherit}.author-visual-lines::after{inset:44px}
.author-monogram{position:relative;font:normal clamp(80px,13vw,170px)/1 Georgia,serif;color:#33543f;letter-spacing:-.07em;padding-right:.07em}
.author-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.author-visual-caption{position:absolute;z-index:3;bottom:28px;left:28px;right:28px;padding:16px 18px;background:#f7f8f1ed;color:#244b38;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;font-weight:700;letter-spacing:1.3px;border-radius:4px}
.author-visual-caption>span:last-child{font-size:24px;font-weight:400}
.author-feature-copy{position:relative;padding:24px 0}.author-feature .eyebrow,.author-page-modern .eyebrow{color:#496344;opacity:1}
.author-section-number{display:block;font-size:10px;color:#53674f;letter-spacing:1.8px;margin:24px 0}
.author-feature-copy h2{font:400 clamp(42px,5.5vw,72px)/1.07 Georgia,serif;letter-spacing:-2px;margin:0 0 18px;overflow-wrap:anywhere}
.author-feature-copy .author-company{font-size:18px;margin-bottom:5px}.author-feature-copy .author-role{font-size:14px;color:#52604f}
.author-accent-line{width:64px;height:2px;background:#7b9271;margin:30px 0;transform-origin:left}
.author-introduction{font-size:18px;line-height:1.8;max-width:500px}.author-editorial-note{font-size:12px;line-height:1.7;color:#52604f;margin:24px 0 30px}.author-read-link{white-space:normal;line-height:1.6}
.author-page-modern{padding:30px 0 100px;background:#f7f8f1;overflow:hidden}
.author-page-topline{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dce3d7;padding-bottom:22px;font-size:10px;letter-spacing:1.5px;gap:18px}.author-page-topline a{font-size:12px;letter-spacing:0;text-underline-offset:4px}
.author-page-heading{padding-top:65px;padding-bottom:60px}.author-page-heading h1{font:400 clamp(50px,8vw,106px)/1.08 Georgia,serif;letter-spacing:-3px;margin:18px 0 22px;max-width:100%;overflow-wrap:anywhere}.author-heading-dot{color:#7a9270}.author-page-heading .author-company{font-size:20px}
.author-page-deck{max-width:620px;font-size:18px;line-height:1.8;margin:20px 0 0;color:#52604f}
.author-page-modern .author-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,7vw,100px)}
.author-page-modern .author-profile{padding:0;text-align:left}.author-page-modern .author-visual{aspect-ratio:4/5}.author-profile-note{font:italic 17px/1.6 Georgia,serif;color:#52604f;margin:18px 0}
.author-page-modern .author-disclosures{padding:12px 0 0;background:transparent;border:0;border-radius:0;min-width:0}
.author-page-modern .author-disclosures h2{font:400 clamp(30px,3.5vw,46px)/1.18 Georgia,serif;margin:20px 0}.author-disclosures h2 em{color:#617e55;font-weight:400}
.author-page-modern .author-disclosures .entry-content{font-size:16px;line-height:1.9;color:#374535}.author-page-modern .entry-content p+p{border-top:1px solid #dce3d7;padding-top:24px;margin-top:24px}
.author-articles-link{margin-top:32px;display:inline-flex;gap:26px;padding-bottom:10px;border-bottom:1px solid #9aaf8f}
.author-feature a:focus-visible,.author-page-modern a:focus-visible{outline:3px solid #617e55;outline-offset:6px}
@keyframes author-drift{50%{transform:translateY(-12px) rotate(-24deg)}}
@keyframes author-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:no-preference){html:not(.motion-disabled) .is-visible .author-visual-lines{animation:author-drift 9s ease-in-out 2}html:not(.motion-disabled) .is-visible .author-accent-line{animation:author-line .8s .2s both}html:not(.motion-disabled) .author-visual:hover .author-photo{transform:scale(1.035)}}
.motion-disabled .author-photo{transition:none}
@media(prefers-reduced-motion:reduce){.author-photo{transition:none}}
@media(max-width:760px){.author-feature-grid,.author-page-modern .author-layout{grid-template-columns:minmax(0,1fr);gap:32px}.author-feature-copy{padding:0}.author-visual{max-width:100%;aspect-ratio:5/4;border-top-right-radius:60px}.author-monogram{font-size:120px}.author-page-modern .author-visual{aspect-ratio:5/4}.author-feature-copy h2{letter-spacing:-1px;font-size:46px}.author-page-heading{padding-top:40px;padding-bottom:36px}.author-page-heading h1{letter-spacing:-1.5px}.author-page-topline{letter-spacing:.8px;font-size:9px}.author-visual-caption{left:22px;right:22px;bottom:22px}.author-page-modern{padding-bottom:60px}}
