/* Creahive Health: component styles. Tokens live in theme.json. */
:root {
	/* The brand is one warm light palette (mockup); keep native controls light when the OS is in dark mode. */
	color-scheme: light;
	--chh-paper: var(--wp--preset--color--paper);
	--chh-card: var(--wp--preset--color--card);
	--chh-ink: var(--wp--preset--color--ink);
	--chh-ink-2: var(--wp--preset--color--ink-2);
	--chh-teal: var(--wp--preset--color--teal);
	--chh-sage: var(--wp--preset--color--sage);
	--chh-coral: var(--wp--preset--color--coral);
	--chh-plum: var(--wp--preset--color--plum);
	--chh-gold: var(--wp--preset--color--gold);
	--chh-line: var(--wp--preset--color--line);
	--chh-serif: var(--wp--preset--font-family--serif);
	--chh-radius: 20px;
	--chh-shadow: 0 30px 60px -30px rgba(20, 54, 58, .25);
}

html { scroll-padding-top: 1.5rem; -webkit-text-size-adjust: 100%; }
body { overflow-x: clip; text-rendering: optimizeLegibility; }
::selection { background: var(--chh-sage); color: var(--chh-ink); }

/* Focus: always visible, never removed. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--chh-teal);
	outline-offset: 3px;
	border-radius: 4px;
}
.wp-element-button:focus-visible { outline-offset: 3px; border-radius: 999px; }

a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }

.chh-main { padding-bottom: var(--wp--preset--spacing--60); }
.chh-main > .wp-block-post-content > .chh-band, .chh-main > .wp-block-post-content > .chh-pagehero + * { margin-block-start: 0; }

/* ---------- Header ---------- */
.chh-site-header { position: relative; z-index: 20; }
.chh-header__bar { padding-block: 26px; gap: 24px; align-items: center; }
.chh-logo {
	font-family: var(--chh-serif); font-weight: 600; font-size: 1.375rem; letter-spacing: -.01em;
	color: var(--chh-ink); text-decoration: none; white-space: nowrap; font-variation-settings: "opsz" 48;
}
.chh-logo span:not(.screen-reader-text) { color: var(--wp--preset--color--coral-ink); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.chh-logo:hover { color: var(--chh-ink); }
.chh-nav { font-weight: 500; }
.chh-nav .wp-block-navigation-item__content { color: var(--chh-ink-2); text-decoration: none; padding-block: .5rem; }
.chh-nav .wp-block-navigation-item__content:hover,
.chh-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--chh-ink); text-decoration: underline; }
.chh-nav.wp-block-navigation { --navigation-layout-justification-setting: center; gap: 28px; }
.chh-nav .wp-block-navigation__submenu-icon { margin-left: .3em; }
.chh-nav .wp-block-navigation__submenu-container {
	background: var(--chh-card) !important; border: 1px solid var(--chh-line) !important; border-radius: 16px;
	box-shadow: var(--chh-shadow); padding: .5rem !important; min-width: 250px !important;
}
.chh-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem .8rem !important; border-radius: 10px; color: var(--chh-ink); }
.chh-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--chh-paper); }
.chh-nav__cta-mobile { display: none !important; }
.chh-header__cta { flex: none; }

/* Mobile overlay */
.chh-nav .wp-block-navigation__responsive-container-open,
.chh-nav .wp-block-navigation__responsive-container-close {
	color: var(--chh-ink); padding: 10px; border-radius: 999px; border: 1.5px solid var(--chh-ink);
}
.chh-nav .wp-block-navigation__responsive-container-open svg,
.chh-nav .wp-block-navigation__responsive-container-close svg { width: 22px; height: 22px; }
.chh-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--chh-paper) !important; color: var(--chh-ink) !important; padding: 24px 16px !important;
}
.chh-nav .is-menu-open .wp-block-navigation__responsive-container-content { gap: .25rem !important; padding-top: 3.5rem !important; }
.chh-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--chh-serif); font-size: 1.5rem; color: var(--chh-ink); }
.chh-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; background: transparent !important; padding: 0 0 .5rem 1rem !important; }
.chh-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: inherit; font-size: 1.0625rem; padding: .35rem 0 !important; }
.chh-nav .is-menu-open .chh-nav__cta-mobile { display: block !important; margin-top: 1rem; }
.chh-nav .is-menu-open .chh-nav__cta-mobile .wp-block-navigation-item__content {
	background: var(--chh-teal); color: #fff; border-radius: 999px; padding: .75rem 1.25rem; font-family: inherit; font-size: 1rem; font-weight: 600;
}
@media (max-width: 1080px) { .chh-nav.wp-block-navigation { gap: 18px; } }
@media (max-width: 781px) {
	.chh-header__bar { padding-block: 16px; }
	.chh-header__cta { display: none !important; }
}

/* ---------- Shared text pieces ---------- */
.chh-eyebrow {
	display: inline-block; background: var(--chh-sage); color: var(--chh-teal); padding: 6px 12px; border-radius: 999px;
	font-weight: 600; font-size: .8125rem; letter-spacing: .04em; text-transform: uppercase; line-height: 1.4; margin-bottom: 0;
}
.chh-eyebrow a { color: inherit; text-decoration: none; }
.chh-eyebrow a:hover { text-decoration: underline; }
.chh-lede { font-size: var(--wp--preset--font-size--lede); color: var(--chh-ink-2); max-width: 36rem; }
.chh-muted, .chh-small { color: var(--chh-ink-2); }
.chh-small { font-size: .875rem; }
h1 em, h2 em, .wp-block-post-title em { font-style: italic; color: var(--chh-teal); }
h1, h2 { font-variation-settings: "opsz" 96; text-wrap: balance; }
h3 { text-wrap: balance; }

/* ---------- Home hero ---------- */
.chh-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; padding: 48px 0 72px; }
.chh-hero h1 { margin: 20px 0; }
.chh-hero .wp-block-buttons { margin-top: 28px; }
.chh-hero__copy > * { margin-block: 0; }
.chh-hero__copy > .chh-lede { margin-top: 0; }

.wp-block-button.is-style-outline > .wp-block-button__link,
.chh-btn-ghost .wp-block-button__link {
	background: transparent; color: var(--chh-ink); border: 1.5px solid var(--chh-ink); padding: calc(.75rem - 1.5px) calc(1.25rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--chh-ink); color: var(--chh-paper); }

/* The patient path panel (signature element) */
.chh-panel {
	background: var(--chh-card); border: 1px solid var(--chh-line); border-radius: 28px; padding: 28px; box-shadow: var(--chh-shadow);
}
.chh-panel__title {
	margin: 0 0 16px; font-family: inherit !important; font-weight: 600; font-size: .8125rem !important; letter-spacing: .08em;
	text-transform: uppercase; color: var(--chh-ink-2) !important; line-height: 1.4;
}
.chh-path { list-style: none; margin: 0; padding: 0; counter-reset: chhpath; }
.chh-path li {
	counter-increment: chhpath; display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; padding: 14px 0;
	border-top: 1px dashed var(--chh-line); color: var(--chh-ink-2); font-size: .9375rem; line-height: 1.5;
}
.chh-path li::before {
	content: counter(chhpath); grid-row: span 2; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
	font-weight: 600; font-size: .875rem; background: #FBE3DC; color: var(--wp--preset--color--coral-ink);
}
.chh-path li:nth-child(2)::before { background: var(--chh-sage); color: var(--chh-teal); }
.chh-path li:nth-child(3)::before { background: #E9E2F3; color: var(--chh-plum); }
.chh-path li:nth-child(4)::before { background: #FFF0C9; color: var(--wp--preset--color--gold-ink); }
.chh-path li strong { display: block; color: var(--chh-ink); font-size: 1rem; }
.chh-path li a { color: inherit; }
.chh-path li strong a { color: var(--chh-ink); text-decoration: none; }
.chh-path li strong a:hover { text-decoration: underline; }
.chh-note { margin-top: 14px; font-size: .75rem; color: var(--chh-ink-2); }

/* ---------- Bands and cards ---------- */
.chh-band { border-top: 1px solid var(--chh-line); padding-block: 56px; }
.chh-band > h2, .chh-band__head h2 { margin: 0 0 28px; }
.chh-band__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 1rem; margin-bottom: 28px; }
.chh-band__head h2 { margin: 0; }
.chh-band__head p { margin: 0; max-width: 32rem; color: var(--chh-ink-2); }
.chh-band > p, .chh-band > ul, .chh-band > ol, .chh-band > .wp-block-list { max-width: 44rem; }
.chh-band > * + * { margin-block-start: 1rem; }
.chh-band > h2 + * { margin-block-start: 0; }
.chh-band h3 { margin-top: 1.75rem; }
.chh-band--tint { background: var(--chh-card); border: 1px solid var(--chh-line); border-radius: 28px; padding: clamp(24px, 4vw, 48px); margin-block: 56px; }

.chh-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.chh-cards--3 { grid-template-columns: repeat(3, 1fr); }
.chh-cards--2 { grid-template-columns: repeat(2, 1fr); }
.chh-card {
	background: var(--chh-card); border: 1px solid var(--chh-line); border-radius: var(--chh-radius); padding: 22px; position: relative;
	margin: 0 !important;
}
.chh-card > * { margin-block: 0; }
.chh-card > * + * { margin-top: 6px; }
.chh-card::before {
	content: ""; display: block; width: 40px; height: 4px; border-radius: 4px; background: var(--chh-coral); margin-bottom: 18px;
}
.chh-card i[aria-hidden] { display: none; }
.chh-cards > :nth-child(4n+2)::before, .chh-cards--posts > li:nth-child(4n+2) .chh-card::before { background: var(--chh-teal); }
.chh-cards > :nth-child(4n+3)::before, .chh-cards--posts > li:nth-child(4n+3) .chh-card::before { background: var(--chh-plum); }
.chh-cards > :nth-child(4n+4)::before, .chh-cards--posts > li:nth-child(4n+4) .chh-card::before { background: var(--chh-gold); }
.chh-card h2, .chh-card h3, .chh-card .chh-card__title { font-family: var(--chh-serif); font-weight: 600; font-size: 1.1875rem; line-height: 1.25; letter-spacing: 0; margin: 0 0 6px; }
/* Our work: client logo tiles (#543) */
.chh-work .chh-card > .chh-work__logo { margin: 0 0 14px; }
.chh-work__logo img { display: block; width: 100%; max-width: 200px; height: auto; background: #fff; border: 1px solid var(--chh-line); border-radius: 12px; }
.chh-work__note { color: var(--chh-ink-2); font-size: .875rem; }
.chh-work .chh-card--feature { grid-column: span 2; }
.chh-card p { color: var(--chh-ink-2); font-size: .9375rem; }
.chh-card a { color: var(--chh-ink); text-decoration: none; }
.chh-card a::after { content: ""; position: absolute; inset: 0; border-radius: var(--chh-radius); }
.chh-card:has(a:hover) { border-color: var(--chh-teal); }
.chh-card:has(a:hover) a { text-decoration: underline; }
.chh-card:has(a:focus-visible) { outline: 3px solid var(--chh-teal); outline-offset: 3px; }
.chh-card a:focus-visible { outline: none; }
.chh-card p:last-child a, .chh-card .chh-more { color: var(--chh-teal); font-weight: 600; }
.chh-cards--posts { list-style: none; padding: 0; margin: 0; }
.chh-cards--posts.wp-block-post-template { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
/* The post template is a ul inside .chh-band: lift the 44rem text cap and the flow margins so the cards form an even grid. */
.chh-band > .chh-cards--posts { max-width: none; padding: 0; list-style: none; }
.chh-cards--posts.wp-block-post-template > li { margin: 0; }
.chh-cards--posts .chh-card { height: 100%; }
.chh-cards--posts .wp-block-post-excerpt__more-text { display: none; }

.chh-pills { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.chh-pills li { margin: 0; }
.chh-pills li > a, .chh-pills li > span {
	display: inline-block; background: var(--chh-card); border: 1px solid var(--chh-line); padding: 9px 16px; border-radius: 999px;
	font-weight: 500; color: var(--chh-ink); text-decoration: none;
}
.chh-pills li > a:hover { border-color: var(--chh-teal); text-decoration: underline; }

/* ---------- Inner page hero ---------- */
.chh-pagehero { padding: 40px 0 56px; }
.chh-pagehero > * { margin-block: 0; }
.chh-pagehero h1, .chh-pagehero .wp-block-post-title { margin: 20px 0; max-width: 18ch; }
.chh-pagehero--article .wp-block-post-title { max-width: 24ch; font-size: clamp(2.25rem, 5vw, 3.25rem); }
.chh-pagehero.chh-pagehero--article { padding-inline: var(--wp--style--root--padding-left) var(--wp--style--root--padding-right); }
.chh-pagehero .wp-block-buttons { margin-top: 28px; }
.chh-pagehero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items: center; }
.chh-meta { margin-top: 1rem !important; color: var(--chh-ink-2); font-size: .875rem; gap: .75rem; }
.chh-crumbs { font-size: .875rem; color: var(--chh-ink-2); margin-bottom: 1rem !important; }
.chh-crumbs a { color: var(--chh-ink-2); }

/* Two column copy + aside */
.chh-split { display: grid; grid-template-columns: 1.3fr .7fr; gap: 56px; align-items: start; }
.chh-split > * { margin: 0; }
.chh-split > :first-child > * + * { margin-top: 1rem; }
.chh-aside { background: var(--chh-card); border: 1px solid var(--chh-line); border-radius: var(--chh-radius); padding: 24px; }
.chh-aside > * { margin-block: 0; }
.chh-aside > * + * { margin-top: .75rem; }
.chh-aside h2, .chh-aside h3 { font-size: 1.1875rem; font-weight: 600; }

/* Check list and numbered steps */
.chh-checks { list-style: none; padding: 0; }
.chh-checks li { position: relative; padding-left: 1.9rem; margin: .55rem 0; }
.chh-checks li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 1.15rem; height: 1.15rem; border-radius: 50%;
	background: var(--chh-sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%231F6F6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat;
}
.chh-steps { list-style: none; padding: 0; counter-reset: chhstep; display: grid; gap: 0; max-width: 48rem; }
.chh-steps > li { counter-increment: chhstep; position: relative; padding: 18px 0 18px 56px; border-top: 1px dashed var(--chh-line); margin: 0; }
.chh-steps > li::before {
	content: counter(chhstep); position: absolute; left: 0; top: 16px; width: 38px; height: 38px; border-radius: 50%;
	display: grid; place-items: center; font-weight: 600; background: #FBE3DC; color: var(--wp--preset--color--coral-ink);
}
.chh-steps > li:nth-child(4n+2)::before { background: var(--chh-sage); color: var(--chh-teal); }
.chh-steps > li:nth-child(4n+3)::before { background: #E9E2F3; color: var(--chh-plum); }
.chh-steps > li:nth-child(4n+4)::before { background: #FFF0C9; color: var(--wp--preset--color--gold-ink); }
.chh-steps > li strong:first-child { display: block; font-family: var(--chh-serif); font-weight: 600; font-size: 1.1875rem; margin-bottom: 2px; }
.chh-steps > li { color: var(--chh-ink-2); }
.chh-steps > li strong { color: var(--chh-ink); }

/* Callouts */
.chh-callout { background: var(--chh-sage); border-radius: var(--chh-radius); padding: 22px 24px; max-width: 48rem; }
.chh-callout > * { margin-block: 0; }
.chh-callout > * + * { margin-top: .5rem; }
.chh-callout--warm { background: #FBEDE4; }
.chh-callout strong:first-child { color: var(--chh-ink); }

/* FAQ (core details) */
.chh-faq { max-width: 48rem; }
.chh-faq .wp-block-details { border-top: 1px solid var(--chh-line); padding: 18px 0; margin: 0; }
.chh-faq .wp-block-details:last-child { border-bottom: 1px solid var(--chh-line); }
.chh-faq summary { font-family: var(--chh-serif); font-size: 1.1875rem; font-weight: 600; cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.chh-faq summary::-webkit-details-marker { display: none; }
.chh-faq summary::after { content: "+"; position: absolute; right: 0; top: -.1em; font-family: var(--wp--preset--font-family--sans); font-size: 1.5rem; color: var(--chh-teal); }
.chh-faq details[open] summary::after { content: "\2212"; }
.chh-faq .wp-block-details > :not(summary) { color: var(--chh-ink-2); margin-top: .6rem; }

/* CTA */
.chh-cta {
	background: var(--chh-ink); color: var(--chh-paper); border-radius: 28px; padding: clamp(28px, 5vw, 56px); margin-block: 56px 0;
	display: grid; grid-template-columns: 1fr auto; gap: 8px 48px; align-items: center;
}
.chh-cta > * { margin: 0 !important; }
.chh-cta h2 { color: var(--chh-paper); grid-column: 1; }
.chh-cta p { color: #D5E0DD; grid-column: 1; max-width: 40rem; }
.chh-cta a:not(.wp-element-button) { color: var(--chh-paper); }
.chh-cta .wp-block-buttons { grid-column: 2; grid-row: 1 / span 2; }
.chh-cta .wp-block-button__link { background: var(--chh-paper); color: var(--chh-ink); }
.chh-cta .wp-block-button__link:hover { background: var(--chh-sage); color: var(--chh-ink); }
.chh-cta :focus-visible { outline-color: var(--chh-paper); }

/* Articles */
.chh-article .wp-block-post-content > p,
.chh-article .wp-block-post-content > ul,
.chh-article .wp-block-post-content > ol { font-size: 1.0625rem; }
.chh-article .wp-block-post-content > h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-top: 2.5rem; }
.chh-article .wp-block-post-content > h3 { margin-top: 1.75rem; }
.chh-article .wp-block-post-excerpt__excerpt { margin: 0; }
.chh-article .chh-cta { max-width: 1180px; margin-inline: auto !important; margin-top: 56px !important; }
.chh-prose > * + * { margin-top: 1rem; }
.chh-prose h2 { margin-top: 2.25rem; font-size: clamp(1.5rem, 3vw, 2rem); }
.chh-prose h3 { margin-top: 1.5rem; }

/* Tables */
.wp-block-table table { border-collapse: collapse; width: 100%; background: var(--chh-card); border-radius: 12px; overflow: hidden; font-size: .9375rem; }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--chh-line); padding: .7rem .9rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--chh-sage); }

/* ---------- Form ---------- */
.chh-form { display: grid; gap: 1rem; background: var(--chh-card); border: 1px solid var(--chh-line); border-radius: 28px; padding: clamp(20px, 4vw, 36px); box-shadow: var(--chh-shadow); }
.chh-form > * { margin: 0; }
.chh-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.chh-form__field { margin: 0; display: grid; gap: .35rem; }
.chh-form label, .chh-form legend { font-weight: 600; font-size: .9375rem; color: var(--chh-ink); }
.chh-req { font-weight: 400; color: var(--chh-ink-2); font-size: .875rem; }
.chh-form input[type=text], .chh-form input[type=email], .chh-form input[type=tel], .chh-form input[type=url], .chh-form select, .chh-form textarea {
	width: 100%; font: inherit; color: var(--chh-ink); background: #fff; border: 1.5px solid #8FA3A1; border-radius: 12px; padding: .7rem .85rem; min-height: 48px;
}
.chh-form input:focus-visible, .chh-form select:focus-visible, .chh-form textarea:focus-visible { border-color: var(--chh-teal); outline-offset: 1px; }
.chh-form [aria-invalid=true] { border-color: #A8432C; }
.chh-form__error { color: #9A3A25; font-size: .875rem; font-weight: 600; }
.chh-form__checks { border: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.chh-form__checks legend { margin-bottom: .5rem; }
.chh-form__checks label, .chh-form__ack label {
	font-weight: 500; display: inline-flex; gap: .5rem; align-items: center; background: var(--chh-paper); border: 1px solid var(--chh-line);
	padding: .55rem .9rem; border-radius: 999px; cursor: pointer; min-height: 44px;
}
.chh-form__ack label { border-radius: 14px; align-items: flex-start; }
.chh-form input[type=checkbox] { width: 1.15rem; height: 1.15rem; accent-color: var(--chh-teal); margin: .15rem 0 0; flex: none; }
.chh-form__phi { background: #FBEDE4; border-radius: 14px; padding: 14px 16px; font-size: .9375rem; color: var(--chh-ink); }
.chh-form__privacy { font-size: .875rem; color: var(--chh-ink-2); }
.chh-form__summary { background: #FBEDE4; border-left: 4px solid #A8432C; border-radius: 10px; padding: 12px 16px; }
.chh-form__summary ul { margin: .25rem 0 0; padding-left: 1.2rem; }
.chh-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.chh-form button { cursor: pointer; border: 0; }
.chh-form__done { background: var(--chh-sage); border-radius: 28px; padding: 28px; }
.chh-form__done-title { font-family: var(--chh-serif); font-size: 1.5rem; margin: 0 0 .5rem; }

/* ---------- Footer ---------- */
.chh-footer { border-top: 1px solid var(--chh-line); padding-block: 56px 32px; margin-top: 0; color: var(--chh-ink-2); font-size: .9375rem; }
.chh-footer a { color: var(--chh-ink); }
.chh-footer__grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; }
.chh-footer__grid > * { margin: 0 !important; }
.chh-footer__brand > * + * { margin-top: .75rem; }
.chh-footer__brand p { max-width: 22rem; }
.chh-footer__h { font-family: var(--wp--preset--font-family--sans) !important; font-size: .8125rem !important; font-weight: 600 !important; letter-spacing: .08em; text-transform: uppercase; color: var(--chh-ink-2) !important; margin: 0 0 .75rem; }
.chh-footer__col ul { list-style: none; padding: 0; margin: 0; }
.chh-footer__col li { margin: .45rem 0; }
.chh-footer__col a { text-decoration: none; }
.chh-footer__col a:hover { text-decoration: underline; }
.chh-footer__legal { border-top: 1px solid var(--chh-line); margin-top: 40px !important; padding-top: 20px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 32px; font-size: .875rem; }
.chh-footer__legal > * { margin: 0 !important; }
.chh-footer__links { display: flex; flex-wrap: wrap; gap: 4px 20px; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.chh-cards { grid-template-columns: repeat(2, 1fr); }
	.chh-cards--posts.wp-block-post-template { grid-template-columns: repeat(2, 1fr); }
	.chh-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
	.chh-hero, .chh-pagehero__grid, .chh-split { grid-template-columns: 1fr; gap: 36px; }
	.chh-hero { padding: 24px 0 56px; }
	.chh-cards--3 { grid-template-columns: 1fr 1fr; }
	.chh-cta { grid-template-columns: 1fr; }
	.chh-cta .wp-block-buttons { grid-column: 1; grid-row: auto; margin-top: 12px !important; }
}
@media (max-width: 600px) {
	.chh-cards, .chh-cards--2, .chh-cards--3, .chh-cards--posts.wp-block-post-template { grid-template-columns: 1fr; }
	.chh-form__row { grid-template-columns: 1fr; }
	.chh-work .chh-card--feature { grid-column: auto; }
	.chh-footer__grid { grid-template-columns: 1fr 1fr; }
	.chh-footer__brand { grid-column: 1 / -1; }
	.chh-band { padding-block: 44px; }
	.chh-panel { padding: 22px; border-radius: 22px; }
	.chh-pagehero { padding: 20px 0 40px; }
	.chh-hero .wp-block-buttons, .chh-pagehero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.chh-hero .wp-block-button__link, .chh-pagehero .wp-block-button__link { width: 100%; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Form layout fixes: fields never overflow their column. */
.chh-form, .chh-form * { box-sizing: border-box; }
.chh-form__row > *, .chh-form__field { min-width: 0; }
.chh-form__row { align-items: start; }
.chh-form__field label { display: block; }
.chh-form__ack label { display: flex; width: 100%; }
.chh-form__checks label { display: inline-flex; }

/* Article hero: eyebrow lines up with the centered text column. */
.chh-pagehero--article > .chh-eyebrow { margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important; }

/* Legal pages: text column lines up with the left-aligned hero. */
.wp-block-post-content > .chh-prose { max-width: var(--wp--style--global--wide-size) !important; }
.chh-prose > * { max-width: 46rem !important; margin-left: 0 !important; }
.chh-pagehero--article > .chh-lede { max-width: var(--wp--style--global--content-size) !important; }
.chh-article .wp-block-post-content > h2 + *, .chh-article .wp-block-post-content > h3 + * { margin-block-start: .6rem; }

/* Insights: every guide grouped by topic. */
.chh-topics__lede { max-width: 44rem; color: var(--chh-ink-2); }
.chh-topics__jump { margin-block: 1.5rem 0; }
.chh-topics__group { padding-top: 40px; scroll-margin-top: 96px; }
.chh-topics__group h3 { margin: 0 0 .4rem; }
.chh-topics__group > p { margin: 0 0 1rem; max-width: 44rem; color: var(--chh-ink-2); }
.chh-topics__list { list-style: none; padding: 0; margin: 0; columns: 3 18rem; column-gap: 2.5rem; }
.chh-topics__list li { break-inside: avoid; padding: 7px 0; border-bottom: 1px solid var(--chh-line); }
.chh-topics__list a { color: var(--chh-ink); text-decoration: none; }
.chh-topics__list a:hover { color: var(--chh-teal); text-decoration: underline; }
