/* ==========================================================================
   Tepper Psychology — component styles
   Tokens come from theme.json (var(--wp--preset--color--*), etc.)
   ========================================================================== */

:root {
	--tp-radius: var(--wp--custom--radius, 2px);
	--tp-rule: var(--wp--custom--rule, 48px);
	--tp-ease: var(--wp--custom--transition, 400ms ease);
	--tp-band: var(--wp--preset--spacing--70);
	--tp-focus: var(--wp--preset--color--walnut);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--wp--custom--header-height, 76px) + 1.5rem); }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .wp-block-heading { text-wrap: balance; }
p, li { text-wrap: pretty; }
::selection { background: var(--wp--preset--color--sage-light); color: var(--wp--preset--color--ink); }
img { height: auto; }

/* Clear, visible focus on every interactive element (WCAG 2.4.7 / 2.4.11) */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--tp-focus);
	outline-offset: 3px;
	border-radius: var(--tp-radius);
}
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal, .site-header, .site-footer, .wp-block-cover, .has-forest-background-color, .has-eucalyptus-background-color) {
	--tp-focus: var(--wp--preset--color--brass-light);
}
.wp-element-button, .wp-block-button__link { transition: background-color var(--tp-ease), color var(--tp-ease), border-color var(--tp-ease); min-height: 48px; display: inline-flex; align-items: center; justify-content: center; text-align: center; }

.screen-reader-text:not(:focus) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }

/* Buttons on dark backgrounds (hero, dark bands, footer): light fill + light outline */
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal, .wp-block-cover, .site-footer) .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background-color: var(--wp--preset--color--linen); color: var(--wp--preset--color--forest); border-color: var(--wp--preset--color--linen);
}
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal, .wp-block-cover, .site-footer) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--sand); border-color: var(--wp--preset--color--sand); color: var(--wp--preset--color--forest);
}
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal, .wp-block-cover, .site-footer) .wp-block-button.is-style-outline > .wp-block-button__link {
	background-color: transparent; color: var(--wp--preset--color--linen); border: 1px solid var(--wp--preset--color--sage-light);
}
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal, .wp-block-cover, .site-footer) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background-color: rgba(243,238,230,.08); border-color: var(--wp--preset--color--linen);
}
/* Light bands: outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link { border-width: 1px; }
/* Header button stays eucalyptus-on-forest with a subtle border */
.site-header .wp-block-button > .wp-block-button__link { background-color: var(--wp--preset--color--eucalyptus); color: var(--wp--preset--color--linen); border-color: rgba(169,174,152,.45); }
.site-header .wp-block-button > .wp-block-button__link:hover { background-color: var(--wp--preset--color--linen); color: var(--wp--preset--color--forest); }

/* ---------- Bands (page sections) ---------- */
.tepper-band { padding-top: var(--tp-band); padding-bottom: var(--tp-band); }
.tepper-band--tight { --tp-band: var(--wp--preset--spacing--60); }
.tepper-band > .wp-block-group__inner-container > *:first-child, .tepper-band > *:first-child { margin-block-start: 0; }
main > .entry-content > .tepper-band:first-child, main .wp-block-post-content > .alignfull:first-child { margin-block-start: 0; }
main .wp-block-post-content > .alignfull { margin-block-start: 0; margin-block-end: 0; }

/* Eyebrow label — Montserrat caps + a short brass rule (echoes the logo lines) */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--accent);
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.5;
	color: var(--wp--preset--color--walnut);
}
.is-style-eyebrow::after {
	content: "";
	display: block;
	width: var(--tp-rule);
	height: 1px;
	margin-top: 0.9rem;
	background: var(--wp--preset--color--brass);
}
.is-style-eyebrow.has-text-align-center::after { margin-inline: auto; }
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal, .wp-block-cover, .site-footer) .is-style-eyebrow { color: var(--wp--preset--color--brass-light); }
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal, .wp-block-cover) .is-style-eyebrow::after { background: var(--wp--preset--color--brass-light); }

.is-style-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; }
.is-style-muted { color: var(--wp--preset--color--muted); }
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal) .is-style-muted { color: var(--wp--preset--color--sage-light); }
.is-style-serif-statement { font-family: var(--wp--preset--font-family--serif); font-size: var(--wp--preset--font-size--x-large); line-height: 1.35; font-weight: 500; }
.is-style-serif-statement em { font-style: italic; }

.is-style-rule-short { width: var(--tp-rule) !important; max-width: var(--tp-rule) !important; border: 0 !important; border-top: 1px solid var(--wp--preset--color--brass) !important; margin-left: 0 !important; opacity: 1 !important; }

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.wp-site-blocks > header.wp-block-template-part + * { margin-block-start: 0; }
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
/* Show the calm full-screen menu below 1180px (the core default of 600px is too narrow for this menu) */
@media (min-width: 600px) and (max-width: 1279px) {
	.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.site-header { min-height: var(--wp--custom--header-height); border-bottom: 1px solid rgba(169,174,152,.18); }
.site-header .wp-block-site-logo img { width: 210px; max-width: 46vw; }
.site-header .wp-block-navigation { gap: 1.35rem; }
.site-header .wp-block-navigation__container { gap: 1.1rem !important; flex-wrap: nowrap !important; }
.site-header .wp-block-navigation .wp-block-navigation-item__content { letter-spacing: .08em; white-space: nowrap; font-size: .75rem; }
@media (min-width: 1280px) and (max-width: 1360px) { .site-header .wp-block-navigation__container { gap: .85rem !important; } }
.site-header .header-book .wp-block-button__link { white-space: nowrap; }
.site-header .wp-block-navigation a { text-decoration: none; color: var(--wp--preset--color--linen); padding-block: .5rem; background-image: linear-gradient(var(--wp--preset--color--brass-light), var(--wp--preset--color--brass-light)); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size var(--tp-ease); }
.site-header .wp-block-navigation a:hover, .site-header .wp-block-navigation .current-menu-item > a, .site-header .wp-block-navigation a[aria-current="page"] { background-size: 100% 1px; }
.site-header .wp-block-navigation__submenu-container { background: var(--wp--preset--color--forest) !important; border: 1px solid rgba(169,174,152,.25) !important; padding: .5rem 0 !important; min-width: 280px !important; }
.site-header .wp-block-navigation__submenu-container a { padding: .6rem 1.25rem !important; background-image: none; }
.site-header .wp-block-navigation__submenu-container a:hover { color: var(--wp--preset--color--brass-light); }
.site-header .wp-block-buttons .wp-block-button__link { padding: .8rem 1.25rem; min-height: 44px; }
/* Mobile overlay menu */
.site-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--forest) !important; color: var(--wp--preset--color--linen) !important; padding: 2rem clamp(1rem, 6vw, 3rem); }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; gap: 1.25rem; padding-top: 3rem; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1rem; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; padding: .5rem 0 0 1rem !important; background: transparent !important; }
.site-header .wp-block-navigation__responsive-container-open, .site-header .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--linen); padding: .5rem; }
@media (max-width: 599px) {
	.site-header .header-book .wp-block-button__link { padding: .7rem .9rem; font-size: .72rem; letter-spacing: .1em; }
	.site-header .wp-block-site-logo img { width: 150px; }
}
@media (max-width: 599px) { .site-header .header-book { display: none; } }
/* "Book" link inside the menu: shown only in the mobile/tablet overlay (the header button covers desktop) */
.site-header .nav-book { display: none !important; }
.site-header .is-menu-open .nav-book { display: block !important; margin-top: 1rem; }
.site-header .is-menu-open .nav-book a { border: 1px solid var(--wp--preset--color--sage-light); padding: .9rem 1.25rem !important; }

/* ---------- Hero ---------- */
.tepper-hero.wp-block-cover { min-height: min(88vh, 860px) !important; align-items: flex-end; padding-bottom: var(--wp--preset--spacing--70); padding-top: calc(var(--wp--preset--spacing--80) + 2rem); }
.tepper-hero .wp-block-cover__image-background { object-position: 60% 50%; }
.tepper-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(27,36,27,.62) 0%, rgba(27,36,27,.38) 45%, rgba(27,36,27,.12) 75%), linear-gradient(180deg, rgba(27,36,27,0) 55%, rgba(27,36,27,.7) 100%) !important; opacity: 1 !important; }
.tepper-hero h1 { max-width: 17ch; color: var(--wp--preset--color--linen); }
.tepper-hero p { color: var(--wp--preset--color--linen); max-width: 40rem; }
.tepper-hero .tepper-hero__note { font-family: var(--wp--preset--font-family--accent); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--sand); opacity: .95; }
.tepper-hero .tepper-hero__note::before { content: ""; display: inline-block; width: 8px; height: 8px; border: 1px solid var(--wp--preset--color--brass-light); transform: rotate(45deg); margin-right: .75rem; vertical-align: 1px; }
@media (max-width: 599px) {
	.tepper-hero.wp-block-cover { min-height: 82vh !important; }
	.tepper-hero .wp-block-cover__image-background { object-position: 72% 50%; }
	.tepper-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(27,36,27,.45) 0%, rgba(27,36,27,.6) 50%, rgba(27,36,27,.85) 100%) !important; }
	.tepper-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.tepper-hero .wp-block-button { width: 100%; }
	.tepper-hero .wp-block-button__link { width: 100%; }
}

/* Inner page header */
.tepper-page-header { padding-top: var(--wp--preset--spacing--80); padding-bottom: var(--wp--preset--spacing--60); }
.tepper-page-header h1:not(.wp-block-post-title) { max-width: 20ch; font-size: clamp(2.25rem, 4.6vw, 3.6rem); }
.tepper-page-header .is-style-lead { max-width: 42rem; }

/* ---------- Trust strip (plain labels, not badges) ---------- */
.tepper-trust { padding-block: 1.6rem; border-bottom: 1px solid var(--wp--preset--color--stone); }
.tepper-trust ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: .75rem 0; }
.tepper-trust li { font-family: var(--wp--preset--font-family--accent); font-size: .72rem; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; padding-inline: clamp(.6rem, 1.1vw, 1.1rem); line-height: 1.4; white-space: nowrap; }
.tepper-trust li + li { border-left: 1px solid var(--wp--preset--color--taupe); }
@media (max-width: 1100px) {
	.tepper-trust ul { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem 1rem; justify-content: start; }
	.tepper-trust li { padding-inline: 0; border-left: 0 !important; display: flex; gap: .6rem; align-items: baseline; white-space: normal; }
	.tepper-trust li::before { content: ""; flex: 0 0 6px; height: 6px; transform: rotate(45deg) translateY(-2px); border: 1px solid var(--wp--preset--color--brass); }
}

/* ---------- Images ---------- */
.tepper-img-portrait img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.tepper-img-landscape img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.tepper-img-tall img { aspect-ratio: 3 / 4; object-fit: cover; width: 100%; }
.tepper-img-square img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.wp-block-image img { border-radius: var(--tp-radius); }
.tepper-img-caption figcaption { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); margin-top: .75rem; }

/* ---------- Pathways ("Who we support") — editorial rows ---------- */
.tepper-pathways { border-top: 1px solid var(--wp--preset--color--stone); }
.tepper-pathway { position: relative; display: grid !important; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) 3rem; gap: 1rem 2.5rem; align-items: center; padding-block: 1.75rem; border-bottom: 1px solid var(--wp--preset--color--stone); transition: background-color var(--tp-ease), padding var(--tp-ease); margin-block-start: 0 !important; }
.tepper-pathway > * { margin: 0 !important; }
.tepper-pathway h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); font-weight: 500; }
.tepper-pathway h3 a { color: inherit; text-decoration: none; }
.tepper-pathway h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.tepper-pathway p { color: var(--wp--preset--color--muted); }
.tepper-pathway::after { content: "→"; font-size: 1.4rem; color: var(--wp--preset--color--walnut); justify-self: end; transition: transform var(--tp-ease); }
.tepper-pathway:hover { background: var(--wp--preset--color--sand); padding-inline: 1rem; }
.tepper-pathway:hover::after { transform: translateX(4px); }
.tepper-pathway:focus-within { outline: 3px solid var(--tp-focus); outline-offset: 2px; }
.tepper-pathway h3 a:focus-visible { outline: none; }
@media (max-width: 781px) {
	.tepper-pathway { grid-template-columns: 1fr 2rem; gap: .35rem 1rem; padding-block: 1.4rem; }
	.tepper-pathway h3 { grid-column: 1; }
	.tepper-pathway p { grid-column: 1; grid-row: 2; }
	.tepper-pathway::after { grid-column: 2; grid-row: 1 / span 2; }
}

/* ---------- Principles grid (Approach) ---------- */
.tepper-principles { display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0 !important; border-top: 1px solid var(--wp--preset--color--stone); }
.tepper-principle { padding: 2rem 2rem 2.25rem 0; border-bottom: 1px solid var(--wp--preset--color--stone); margin: 0 !important; }
.tepper-principle:not(:nth-child(3n+1)) { padding-left: 2rem; border-left: 1px solid var(--wp--preset--color--stone); }
.tepper-principle h3 { font-size: 1.6rem; margin-bottom: .5rem; }
.tepper-principle p { margin-top: .5rem; }
.tepper-principle .tepper-num { font-family: var(--wp--preset--font-family--accent); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .14em; color: var(--wp--preset--color--walnut); font-weight: 600; }
@media (max-width: 900px) {
	.tepper-principles { grid-template-columns: 1fr 1fr; }
	.tepper-principle:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
	.tepper-principle:nth-child(even) { padding-left: 1.5rem; border-left: 1px solid var(--wp--preset--color--stone); }
}
@media (max-width: 599px) {
	.tepper-principles { grid-template-columns: 1fr; }
	.tepper-principle, .tepper-principle:nth-child(even) { padding: 1.5rem 0; border-left: 0; }
}

/* ---------- Steps (What to expect) ---------- */
.tepper-steps { counter-reset: none; }
.tepper-step { border-top: 1px solid var(--wp--preset--color--taupe); padding-top: 1.5rem; }
.tepper-step .tepper-step__num { font-family: var(--wp--preset--font-family--serif); font-size: 3.25rem; line-height: 1; color: var(--wp--preset--color--walnut); font-weight: 500; }
.is-style-section-forest .tepper-step .tepper-step__num, .is-style-section-eucalyptus .tepper-step .tepper-step__num { color: var(--wp--preset--color--brass-light); }
.tepper-step h3 { font-size: 1.6rem; }

/* ---------- Feature (Veterans & First Responders) ---------- */
.tepper-feature .wp-block-image { margin: 0; }
.tepper-feature ul { padding-left: 0; list-style: none; }
.tepper-feature li { padding: .6rem 0 .6rem 1.6rem; border-bottom: 1px solid rgba(169,174,152,.25); position: relative; }
.tepper-feature li::before { content: ""; position: absolute; left: 0; top: 1.15rem; width: 7px; height: 7px; border: 1px solid var(--wp--preset--color--brass-light); transform: rotate(45deg); }

/* Ruled list (light sections) */
.is-style-ruled { padding-left: 0 !important; list-style: none; border-top: 1px solid var(--wp--preset--color--stone); }
.is-style-ruled li { padding: .75rem 0 .75rem 1.6rem; border-bottom: 1px solid var(--wp--preset--color--stone); position: relative; }
.is-style-ruled li::before { content: ""; position: absolute; left: 0; top: 1.35rem; width: 7px; height: 7px; border: 1px solid var(--wp--preset--color--brass); transform: rotate(45deg); }
:where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal) .is-style-ruled, :where(.is-style-section-forest, .is-style-section-eucalyptus, .is-style-section-charcoal) .is-style-ruled li { border-color: rgba(169,174,152,.3); }

/* ---------- Cards (posts, panels) ---------- */
.tepper-panel { background: var(--wp--preset--color--linen); padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--wp--preset--color--stone); border-radius: var(--tp-radius); }
.tepper-panel h2, .tepper-panel h3 { font-size: clamp(1.45rem, 2vw, 1.7rem); font-weight: 600; margin-top: 0; }
.is-style-section-sand .tepper-panel, .is-style-section-stone .tepper-panel { background: var(--wp--preset--color--linen); }
.tepper-post-grid .wp-block-post { display: flex; flex-direction: column; gap: .75rem; }
.tepper-post-grid .wp-block-post-featured-image { margin: 0 0 .5rem; overflow: hidden; border-radius: var(--tp-radius); }
.tepper-post-grid .wp-block-post-featured-image img { aspect-ratio: 3 / 2; object-fit: cover; transition: transform 900ms ease; }
.tepper-post-grid .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.02); }
.tepper-post-grid .wp-block-post-title { font-size: 1.6rem; font-weight: 500; margin: 0; }
.tepper-post-grid .wp-block-post-title a { text-decoration: none; color: inherit; }
.tepper-post-grid .wp-block-post-title a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.tepper-post-grid .wp-block-post-excerpt { color: var(--wp--preset--color--muted); margin: 0; }
.tepper-post-grid .wp-block-post-excerpt__more-text { display: none; }
.wp-block-post-terms a { text-decoration: none; color: var(--wp--preset--color--walnut); }
.tepper-post-grid .wp-block-post-featured-image:empty, .tepper-post-grid .wp-block-post-featured-image:not(:has(img)) { display: none; }
@media (max-width: 781px) {
	.tepper-post-grid .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr !important; }
}

/* ---------- FAQ (native Details block) ---------- */
.tepper-faq .wp-block-details { margin: 0 !important; }
.tepper-faq .wp-block-details:first-of-type { border-top: 1px solid var(--wp--preset--color--stone); }
.wp-block-details summary { cursor: pointer; list-style: none; font-family: var(--wp--preset--font-family--serif); font-size: clamp(1.3rem, 2vw, 1.55rem); font-weight: 600; line-height: 1.3; padding-right: 2.5rem; position: relative; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-family: var(--wp--preset--font-family--sans); font-weight: 300; font-size: 1.6rem; color: var(--wp--preset--color--walnut); transition: transform var(--tp-ease); }
.wp-block-details[open] summary::after { content: "–"; }
.wp-block-details > :not(summary) { max-width: 62ch; }
.wp-block-details[open] > summary { margin-bottom: .75rem; }

/* ---------- Final CTA ---------- */
.tepper-final-cta { position: relative; overflow: hidden; }
.tepper-final-cta h2 { max-width: 20ch; margin-inline: auto; }

/* ---------- Crisis / safety notice ---------- */
.tepper-crisis { border-left: 3px solid var(--wp--preset--color--brass); background: var(--wp--preset--color--sand); padding: 1.25rem 1.5rem; font-size: var(--wp--preset--font-size--small); }
.tepper-crisis p { margin: .35rem 0; }
.tepper-crisis strong { font-weight: 600; }
.tepper-crisis a { white-space: nowrap; }
.tepper-crisis-table { font-size: var(--wp--preset--font-size--medium); }
.tepper-crisis-table table { border-collapse: collapse; width: 100%; }
.tepper-crisis-table td, .tepper-crisis-table th { border: 0; border-bottom: 1px solid var(--wp--preset--color--stone); padding: 1rem .5rem 1rem 0; text-align: left; vertical-align: top; }
.tepper-crisis-table thead { border-bottom: 0; }
.tepper-crisis-table th { font-family: var(--wp--preset--font-family--accent); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .14em; text-transform: uppercase; }

/* Tables (fees) */
.wp-block-table.is-style-tepper { font-size: var(--wp--preset--font-size--medium); }
.wp-block-table.is-style-tepper table { border-collapse: collapse; width: 100%; }
.wp-block-table.is-style-tepper th, .wp-block-table.is-style-tepper td { border: 0; border-bottom: 1px solid var(--wp--preset--color--stone); padding: 1rem 1rem 1rem 0; text-align: left; }
.wp-block-table.is-style-tepper thead { border-bottom: 1px solid var(--wp--preset--color--ink); }
.wp-block-table.is-style-tepper th { font-family: var(--wp--preset--font-family--accent); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }

/* ---------- [CLIENT TO CONFIRM] markers ---------- */
mark.tepper-confirm, .tepper-confirm {
	background: #FFF1B8 !important;
	color: #3D3000 !important;
	padding: .05em .35em;
	border-radius: 2px;
	font-family: var(--wp--preset--font-family--sans);
	font-style: normal;
	font-size: .92em;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

/* ---------- Blog / reading ---------- */
.tepper-article .wp-block-post-content { font-size: clamp(1.0625rem, 1vw + .8rem, 1.1875rem); line-height: 1.75; }
.tepper-article .wp-block-post-content > * + h2 { margin-top: 2.75rem; }
.tepper-article .wp-block-post-content > * + h3 { margin-top: 2rem; }
.tepper-article .wp-block-post-content h2 { font-size: clamp(1.75rem, 3vw, 2.4rem); }
.tepper-article .wp-block-post-featured-image img { aspect-ratio: 16 / 9; object-fit: cover; }
.tepper-article-meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); gap: .5rem 1.25rem !important; }
.tepper-article-meta > * { margin: 0 !important; }
.tepper-disclaimer { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); border-top: 1px solid var(--wp--preset--color--stone); padding-top: 1.25rem; }
.wp-block-query-pagination { font-family: var(--wp--preset--font-family--accent); font-size: var(--wp--preset--font-size--x-small); letter-spacing: .12em; text-transform: uppercase; }
.wp-block-query-pagination a { text-decoration: none; }
.wp-block-search__input { border: 1px solid var(--wp--preset--color--taupe); background: #fff; padding: .8rem 1rem; font-size: 1rem; border-radius: var(--tp-radius); }
.wp-block-search__button { margin-left: .5rem; }
.tepper-cat-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.tepper-cat-list li a, .wp-block-categories-list.tepper-cats li a { display: inline-block; border: 1px solid var(--wp--preset--color--taupe); padding: .45rem .9rem; text-decoration: none; font-family: var(--wp--preset--font-family--accent); font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--ink); }
.wp-block-categories-list.tepper-cats { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.wp-block-categories-list.tepper-cats li a:hover { background: var(--wp--preset--color--eucalyptus); color: var(--wp--preset--color--linen); border-color: var(--wp--preset--color--eucalyptus); }

/* ---------- Footer ---------- */
.site-footer { font-size: var(--wp--preset--font-size--small); }
.site-footer a { color: var(--wp--preset--color--sand); text-decoration: none; }
.site-footer a:hover { color: var(--wp--preset--color--brass-light); text-decoration: underline; }
.site-footer h2, .site-footer .footer-heading { font-family: var(--wp--preset--font-family--accent); font-size: var(--wp--preset--font-size--x-small) !important; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--brass-light); font-weight: 600; }
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.site-footer li { margin: .45rem 0; }
.site-footer .footer-logo img { width: 240px; max-width: 70vw; }
.site-footer .footer-strip { border-top: 1px solid rgba(169,174,152,.22); font-size: .85rem; color: var(--wp--preset--color--sage-light); }
.site-footer .footer-urgent { background: rgba(169,174,152,.1); border: 1px solid rgba(169,174,152,.25); padding: 1rem 1.25rem; color: var(--wp--preset--color--sand); }
.site-footer .footer-urgent a { color: var(--wp--preset--color--linen); text-decoration: underline; }

/* ---------- Guided enquiry (Tepper Essentials [tepper_booking_form]) ---------- */
.tflow-wrap { --tflow-ease: 400ms ease; }
.tepper-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* One composition: question on the left, contour artwork on the right, no card around either */
.tflow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.tflow-art { grid-column: 2; grid-row: 1; position: sticky; top: calc(var(--wp--custom--header-height, 76px) + 3rem); display: flex; align-items: center; }
.tflow-main { grid-column: 1; grid-row: 1; }
.tflow-art svg { width: 100%; height: auto; display: block; overflow: visible; }
.tflow-art path { stroke-width: 1.3px; }
.tflow-main { min-width: 0; max-width: 40rem; }

.tflow-title { font-size: clamp(2.25rem, 4.4vw, 3.5rem); line-height: 1.08; margin: 0 0 1.25rem; max-width: 16ch; }
.tflow-title:focus, .tflow-q:focus { outline: none; }
.tflow-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; margin: 0 0 1.75rem; max-width: 34rem; }
.tflow-start-wrap { margin: 0 0 1.5rem; }
.tflow-note { display: flex; gap: .65rem; align-items: flex-start; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); max-width: 32rem; margin: 0; }
.tflow-note svg { flex: none; margin-top: .2rem; color: var(--wp--preset--color--sage); }

.tflow-form { margin: 0; }
.tflow-step { border: 0; padding: 0; margin: 0 0 3.5rem; }
.tflow-orient { font-family: var(--wp--preset--font-family--accent); font-size: .8125rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--wp--preset--color--walnut); margin: 0 0 1rem; }
.tflow-q, .tflow-choices > legend.tflow-q { display: block; font-family: var(--wp--preset--font-family--serif); font-weight: 500; font-size: clamp(1.9rem, 3.4vw, 2.6rem); line-height: 1.12; color: var(--wp--preset--color--ink); margin: 0 0 1.25rem; padding: 0; max-width: 20ch; }
.tflow-sublegend { font-weight: 600; font-size: 1.0625rem; padding: 0; margin: 0 0 .75rem; }
.tflow-help { color: var(--wp--preset--color--muted); font-size: 1rem; line-height: 1.55; margin: -.5rem 0 1.25rem; max-width: 32rem; }
.tflow-help--lead { margin-top: 0; font-size: 1.0625rem; }

.tflow-choices { border: 0; padding: 0; margin: 0 0 1.75rem; min-width: 0; }
.tflow-cards { display: grid; gap: .65rem; max-width: 32rem; }
.tflow-card { position: relative; display: block; cursor: pointer; }
.tflow-card input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.tflow-card span { display: flex; align-items: center; gap: .9rem; min-height: 56px; padding: .85rem 1.1rem; background: #FFFDF9; border: 1px solid var(--wp--preset--color--stone); border-radius: var(--tp-radius); font-size: 1.0625rem; line-height: 1.35; transition: border-color var(--tflow-ease), background-color var(--tflow-ease), color var(--tflow-ease); }
.tflow-card span::before { content: ""; flex: none; width: 18px; height: 18px; border: 1px solid var(--wp--preset--color--taupe); border-radius: 50%; background: #fff; transition: box-shadow var(--tflow-ease), border-color var(--tflow-ease); }
.tflow-card input[type="checkbox"] + span::before { border-radius: 3px; }
.tflow-card:hover span { border-color: var(--wp--preset--color--taupe); }
.tflow-card input:checked + span { border-color: var(--wp--preset--color--eucalyptus); background: #F7F3EC; }
.tflow-card input:checked + span::before { border-color: var(--wp--preset--color--eucalyptus); box-shadow: inset 0 0 0 4px #fff, inset 0 0 0 10px var(--wp--preset--color--eucalyptus); }
.tflow-card input:focus-visible + span { outline: 3px solid var(--wp--preset--color--walnut); outline-offset: 2px; }
.tflow-choices[aria-invalid="true"] .tflow-card span { border-color: #8A5A2B; }

.tflow-field { margin: 0 0 1.5rem; max-width: 32rem; }
.tflow-label { display: block; font-weight: 600; font-size: 1.0625rem; margin: 0 0 .5rem; }
.tflow-optional { font-weight: 400; color: var(--wp--preset--color--muted); }
.tflow-field .tflow-help { margin: -.25rem 0 .6rem; font-size: .9375rem; }
.tflow-field input[type="text"], .tflow-field input[type="email"], .tflow-field input[type="tel"], .tflow-field textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1.0625rem; color: var(--wp--preset--color--ink); background: #FFFDF9;
	border: 1px solid var(--wp--preset--color--taupe); border-radius: var(--tp-radius); padding: .9rem 1rem; min-height: 54px; transition: border-color var(--tflow-ease), box-shadow var(--tflow-ease);
}
.tflow-field textarea { min-height: 140px; resize: vertical; line-height: 1.55; }
.tflow-field input:focus, .tflow-field textarea:focus { border-color: var(--wp--preset--color--eucalyptus); box-shadow: 0 0 0 1px var(--wp--preset--color--eucalyptus); outline: 3px solid transparent; }
.tflow-field [aria-invalid="true"] { border-color: #8A5A2B; }
.tflow-error { color: #7A4A1E; font-size: .9375rem; line-height: 1.45; margin: .55rem 0 0; padding-left: .85rem; border-left: 2px solid var(--wp--preset--color--brass); }

.tflow-consent { display: flex; gap: .85rem; align-items: flex-start; font-size: 1rem; line-height: 1.5; cursor: pointer; }
.tflow-consent input { width: 24px; height: 24px; margin: .1rem 0 0; accent-color: var(--wp--preset--color--eucalyptus); flex: none; }

.tflow-nav { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; margin-top: 2rem; }
.tflow-nav .wp-element-button { min-height: 52px; padding-inline: 2rem; cursor: pointer; }
.tflow-back { order: -1; background: none; border: 0; padding: .75rem .25rem; min-height: 48px; font-family: var(--wp--preset--font-family--accent); font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--muted); cursor: pointer; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: var(--wp--preset--color--stone); }
.tflow-back:hover { color: var(--wp--preset--color--ink); }

.tflow-starters { margin: -.5rem 0 1rem; max-width: 32rem; }
.tflow-starters-toggle { background: none; border: 0; padding: .6rem 0; min-height: 44px; font: inherit; font-size: 1rem; color: var(--wp--preset--color--walnut); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.tflow-starter-list { list-style: none; padding: 0; margin: .5rem 0 0; display: grid; gap: .5rem; }
.tflow-starter { width: 100%; text-align: left; background: var(--wp--preset--color--sand); border: 1px solid transparent; border-radius: var(--tp-radius); padding: .85rem 1rem; min-height: 48px; font: inherit; font-size: 1rem; line-height: 1.45; color: var(--wp--preset--color--ink); cursor: pointer; transition: border-color var(--tflow-ease); }
.tflow-starter:hover { border-color: var(--wp--preset--color--taupe); }

.tflow-recap { margin: 0 0 1.5rem; max-width: 34rem; border-top: 1px solid var(--wp--preset--color--stone); }
.tflow-recap__row { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) auto; gap: .25rem 1rem; align-items: baseline; padding: .9rem 0; border-bottom: 1px solid var(--wp--preset--color--stone); }
.tflow-recap dt { font-family: var(--wp--preset--font-family--accent); font-size: .8125rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.tflow-recap dd { margin: 0; overflow-wrap: anywhere; }
.tflow-edit { background: none; border: 0; padding: .4rem .25rem; min-height: 44px; min-width: 44px; font: inherit; font-size: .9375rem; color: var(--wp--preset--color--walnut); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }

.tflow-summary-errors { border-left: 3px solid var(--wp--preset--color--brass); background: var(--wp--preset--color--sand); padding: 1.1rem 1.4rem; margin: 0 0 2rem; }
.tflow-summary-errors h2 { font-family: var(--wp--preset--font-family--sans); font-size: 1.05rem; font-weight: 600; margin: 0 0 .5rem; }
.tflow-summary-errors ul { margin: 0; padding-left: 1.2rem; }

.tflow-success .tflow-lead { margin-bottom: 1rem; }
.tflow-success-links { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.75rem; margin: 2rem 0 2.5rem; }
.tflow-success-links .wp-element-button { text-decoration: none; }
.tflow-urgent { font-weight: 600; }
.tflow-small { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); max-width: 32rem; }
.tflow-external { margin-bottom: 3rem; }
.tflow-external h2 { font-size: 1.75rem; margin-top: 0; }

/* Guided (JavaScript) view: one panel at a time, calm fade */
.tflow.is-guided .tflow-step { margin-bottom: 0; }
.tflow.is-guided .tflow-intro, .tflow.is-guided .tflow-step { transition: opacity var(--tflow-ease), transform var(--tflow-ease); }
.tflow.is-guided .is-leaving { opacity: 0; transform: translateY(-6px); }
.tflow.is-guided .is-entering { opacity: 0; transform: translateY(6px); transition: none; }
.tflow.is-guided .tflow-main { min-height: 26rem; }
.tflow:not(.is-guided) .tflow-step { padding-top: 2.5rem; border-top: 1px solid var(--wp--preset--color--stone); }
.tflow:not(.is-guided) .tflow-orient { display: none; }
.tflow:not(.is-guided) .tflow-q { font-size: clamp(1.6rem, 2.6vw, 2rem); }

@media (max-width: 900px) {
	.tflow { grid-template-columns: 1fr; gap: clamp(2.5rem, 7vw, 3.5rem); }
	.tflow-art, .tflow-main { grid-column: 1; grid-row: auto; }
	.tflow-art { position: static; max-width: 34rem; }
	.tflow.is-guided .tflow-main { min-height: 0; }
}
@media (max-width: 599px) {
	.tflow-title { font-size: 2.1rem; }
	.tflow-q, .tflow-choices > legend.tflow-q { font-size: 1.85rem; }
	.tflow-nav { flex-direction: column; align-items: stretch; gap: .25rem; }
	.tflow-nav .wp-element-button { width: 100%; }
	.tflow-back { order: 0; align-self: center; }
	.tflow-start { width: 100%; }
	.tflow-recap__row { grid-template-columns: minmax(0, 1fr) auto; }
	.tflow-recap dt { grid-column: 1; }
	.tflow-recap dd { grid-column: 1; grid-row: 2; }
	.tflow-recap .tflow-edit { grid-column: 2; grid-row: 1 / span 2; }
	.tflow-success-links .wp-element-button { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
	.tflow.is-guided .tflow-intro, .tflow.is-guided .tflow-step, .tflow-card span, .tflow-card span::before { transition: none !important; }
	.tflow.is-guided .is-leaving, .tflow.is-guided .is-entering { transform: none; }
}

/* ---------- Gentle reveal (disabled for reduced motion) ---------- */
@media (prefers-reduced-motion: no-preference) {
	.tepper-reveal { opacity: 0; transform: translateY(12px); transition: opacity 700ms ease, transform 700ms ease; }
	.tepper-reveal.is-visible { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* ---------- Print ---------- */
@media print {
	.site-header-wrap, .site-footer, .wp-block-buttons { display: none !important; }
	body { background: #fff; color: #000; }
}

/* Overlay menu: left-aligned, calm list (the desktop menu is right-justified) */
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-wrap: wrap !important; }

/* Feature band: on wider screens the photo fills the full height of the text column */
@media (min-width: 782px) {
	.tepper-feature > .wp-block-column:first-child { align-self: stretch !important; display: flex; }
	.tepper-feature > .wp-block-column:first-child .wp-block-image { flex: 1; margin: 0; min-height: 100%; }
	.tepper-feature > .wp-block-column:first-child .wp-block-image img { height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 50% 45%; }
}
.tepper-page-header .wp-block-post-title { font-size: clamp(2.25rem, 4.6vw, 3.6rem); }

/* ==========================================================================
   Audit fixes (v1.1): legibility, touch targets, mobile booking access
   ========================================================================== */
/* Minimum 13px for small caps labels */
.tepper-trust li { font-size: .8125rem; }
.site-header .wp-block-navigation .wp-block-navigation-item__content { font-size: .8125rem; }
.wp-block-post-terms, .wp-block-post-terms a { font-size: .8125rem !important; }

/* Touch targets ≥ 24px (WCAG 2.2) — footer and meta links get vertical padding */
.site-footer li a { display: inline-block; padding-block: .3rem; }
.site-footer p a { display: inline-block; padding-block: .2rem; }
.wp-block-post-terms a { display: inline-block; padding-block: .3rem; }
.site-header .wp-block-navigation__submenu-icon { width: 24px !important; height: 24px !important; margin-left: 0 !important; display: inline-flex; align-items: center; justify-content: center; }
.site-header .wp-block-navigation__submenu-icon svg { width: 10px; height: 10px; }
.tepper-form .tepper-consent input { width: 24px; height: 24px; }

/* Phones: keep a compact "Book" button in the header (it was hidden below 600px) */
@media (max-width: 599px) {
	.site-header .header-book { display: block; }
	.site-header .header-book .wp-block-button__link { font-size: 0 !important; padding: .55rem .85rem !important; min-height: 40px; letter-spacing: 0; }
	.site-header .header-book .wp-block-button__link::after { content: "Book" / ""; font-size: .8125rem; letter-spacing: .12em; }
	.site-header .wp-block-site-logo img { width: 140px; }
	.site-header > .alignwide > .wp-block-group { gap: .5rem !important; }
}
@media (max-width: 339px) { .site-header .header-book { display: none; } }

/* Phones: section spacing a touch tighter so content isn't lost in padding */
@media (max-width: 599px) {
	.tepper-band { --tp-band: 3.5rem; }
	.tepper-page-header { padding-top: 3rem; padding-bottom: 2.5rem; }
	.tepper-final-cta .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.tepper-final-cta .wp-block-button, .tepper-final-cta .wp-block-button__link { width: 100%; }
}
.tepper-cat-list li a, .wp-block-categories-list.tepper-cats li a { font-size: .8125rem; padding: .55rem 1rem; }
.tepper-band--book { --tp-band: clamp(3rem, 7vw, 6rem); }
.tflow-recap dd { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.tflow-recap__row { grid-template-columns: 9.5rem minmax(0, 1fr); }
.tflow-intro.is-collapsed { margin: 0; }
@media (max-width: 599px) {
	.tflow-recap__row { grid-template-columns: 1fr; }
	.tflow-recap dt, .tflow-recap dd { grid-column: 1; grid-row: auto; }
}
.tflow-urgent { display: inline-block; padding-block: .75rem; }
.tflow [hidden], .tflow-wrap [hidden] { display: none !important; }
/* Before booking.js starts: show only the introduction and its Start button */
.tflow.tflow--js:not(.is-guided) .tflow-step, .tflow.tflow--js:not(.is-guided) .tflow-summary-errors { display: none; }
.tflow.tflow--js:not(.is-guided):not([data-error-step]) .tflow-start-wrap[hidden] { display: block !important; }
.tflow.tflow--js[data-error-step]:not(.is-guided) .tflow-intro > :not(h1) { display: none; }
/* Booking art: logo wordmark only appears once the lines have formed the logo */
.tflow-art { aspect-ratio: 4 / 3; }
.tflow-art__wordmark { opacity: 0; transition: opacity 1200ms ease 300ms; }
.tflow-art.is-final .tflow-art__wordmark { opacity: 1; }
.tflow:not(.tflow--js):not(.is-guided) .tflow-art__wordmark { opacity: 1; }
.tflow.tflow--js:not(.is-guided) .tflow-art svg { opacity: 0; }
.tflow-art svg { transition: opacity 400ms ease; }
.tflow-art__lines { transform: translateY(170px); transition: transform 1200ms ease; }
.tflow-art.is-final .tflow-art__lines, .tflow:not(.tflow--js):not(.is-guided) .tflow-art__lines { transform: none; }
@media (max-width: 900px) {
	.tflow-art { aspect-ratio: auto; justify-content: center; }
	.tflow-art svg { height: 150px; width: auto; max-width: 100%; }
}
@media (max-width: 599px) {
	.tflow-art svg { height: 128px; }
}
@media (prefers-reduced-motion: reduce) {
	.tflow-art__wordmark, .tflow-art svg, .tflow-art__lines { transition: none; }
}

/* ==========================================================================
   Guided enquiry, active state: one continuous forest-green space.
   The band turns forest once the visitor starts; only the question area changes between steps.
   ========================================================================== */
.tflow-scene { position: relative; }
.tflow-scene--ease { transition: background-color 700ms ease, box-shadow 700ms ease; }
.tflow-scene.is-dark { background-color: var(--wp--preset--color--forest); box-shadow: inset 0 1px 0 rgba(209,174,114,.16); }
.tflow-art path { transition: stroke 700ms ease; }
.tflow.is-started .tflow-art path { stroke: var(--wp--preset--color--brass-light); }
.tflow.is-started .tflow-art path:nth-child(3n+2) { stroke: var(--wp--preset--color--brass); }
/* Wordmark: linen on forest, ink on light backgrounds */
.tflow-art__wordmark--light { display: none; }
.tflow.is-started .tflow-art__wordmark--light { display: inline; }
.tflow.is-started .tflow-art__wordmark--dark { display: none; }

.tflow.is-started { color: var(--wp--preset--color--sage-light); }
.tflow.is-started a { color: var(--wp--preset--color--brass-light); text-decoration-color: rgba(209,174,114,.55); }
.tflow.is-started a:hover { color: var(--wp--preset--color--linen); }
.tflow.is-started .tflow-orient { color: var(--wp--preset--color--brass-light); margin-bottom: clamp(1.25rem, 3vw, 1.75rem); }
.tflow.is-started .tflow-q, .tflow.is-started .tflow-choices > legend.tflow-q { color: var(--wp--preset--color--linen); }
.tflow.is-started .tflow-sublegend, .tflow.is-started .tflow-label { color: var(--wp--preset--color--linen); }
.tflow.is-started .tflow-help, .tflow.is-started .tflow-optional { color: var(--wp--preset--color--sage-light); }

/* Inputs: dark eucalyptus fill, understated taupe edge, brass focus */
.tflow.is-started .tflow-field input[type="text"], .tflow.is-started .tflow-field input[type="email"], .tflow.is-started .tflow-field input[type="tel"], .tflow.is-started .tflow-field textarea {
	background: rgba(47,56,41,.6); color: var(--wp--preset--color--linen); border: 1px solid var(--wp--preset--color--taupe); min-height: 56px; caret-color: var(--wp--preset--color--brass-light);
}
.tflow.is-started .tflow-field ::placeholder { color: var(--wp--preset--color--sage-light); opacity: 1; }
.tflow.is-started .tflow-field input:hover, .tflow.is-started .tflow-field textarea:hover { border-color: var(--wp--preset--color--sage-light); }
.tflow.is-started .tflow-field input:focus, .tflow.is-started .tflow-field textarea:focus { border-color: var(--wp--preset--color--brass-light); box-shadow: 0 0 0 1px var(--wp--preset--color--brass-light); outline: 2px solid transparent; }
.tflow.is-started .tflow-field input:-webkit-autofill { -webkit-text-fill-color: var(--wp--preset--color--linen); box-shadow: 0 0 0 40px #28312a inset; }

/* Choice cards */
.tflow.is-started .tflow-card span { background: rgba(47,56,41,.45); border-color: rgba(141,123,107,.75); color: var(--wp--preset--color--linen); }
.tflow.is-started .tflow-card span::before { background: transparent; border-color: var(--wp--preset--color--sage-light); }
.tflow.is-started .tflow-card:hover span { border-color: var(--wp--preset--color--sage-light); }
.tflow.is-started .tflow-card input:checked + span { background: rgba(209,174,114,.1); border-color: var(--wp--preset--color--brass-light); }
.tflow.is-started .tflow-card input:checked + span::before { border-color: var(--wp--preset--color--brass-light); box-shadow: inset 0 0 0 4px var(--wp--preset--color--forest), inset 0 0 0 10px var(--wp--preset--color--brass-light); }
.tflow.is-started .tflow-card input:focus-visible + span { outline: 2px solid var(--wp--preset--color--brass-light); outline-offset: 3px; }

/* Problems: calm, clearly marked */
.tflow.is-started .tflow-field [aria-invalid="true"], .tflow.is-started .tflow-choices[aria-invalid="true"] .tflow-card span { border-color: var(--wp--preset--color--brass-light); border-style: dashed; }
.tflow.is-started .tflow-error { color: var(--wp--preset--color--linen); border-left-color: var(--wp--preset--color--brass-light); }
.tflow.is-started .tflow-summary-errors { background: rgba(209,174,114,.08); color: var(--wp--preset--color--linen); }

/* Actions: sand button so it never disappears into the green */
.tflow.is-started .wp-element-button { background: var(--wp--preset--color--sand); color: var(--wp--preset--color--forest); border: 1px solid var(--wp--preset--color--sand); }
.tflow.is-started .wp-element-button:hover, .tflow.is-started .wp-element-button:focus { background: var(--wp--preset--color--linen); border-color: var(--wp--preset--color--linen); color: var(--wp--preset--color--forest); }
.tflow.is-started .wp-element-button:focus-visible, .tflow.is-started button:focus-visible, .tflow.is-started a:focus-visible { outline: 2px solid var(--wp--preset--color--brass-light); outline-offset: 3px; }
.tflow.is-started .tflow-back { color: var(--wp--preset--color--sage-light); text-decoration-color: rgba(169,174,152,.5); }
.tflow.is-started .tflow-back:hover { color: var(--wp--preset--color--linen); }
.tflow.is-started .tflow-starters-toggle, .tflow.is-started .tflow-edit { color: var(--wp--preset--color--brass-light); }
.tflow.is-started .tflow-starter { background: rgba(47,56,41,.6); color: var(--wp--preset--color--linen); border-color: rgba(141,123,107,.5); }
.tflow.is-started .tflow-starter:hover { border-color: var(--wp--preset--color--brass-light); }

/* Review */
.tflow.is-started .tflow-recap { border-top-color: rgba(169,174,152,.25); }
.tflow.is-started .tflow-recap__row { border-bottom-color: rgba(169,174,152,.25); }
.tflow.is-started .tflow-recap dt { color: var(--wp--preset--color--brass-light); }
.tflow.is-started .tflow-recap dd { color: var(--wp--preset--color--linen); }
.tflow.is-started .tflow-consent { color: var(--wp--preset--color--linen); }
.tflow.is-started .tflow-consent input { -webkit-appearance: none; appearance: none; width: 24px; height: 24px; border: 1px solid var(--wp--preset--color--sage-light); border-radius: 3px; background: rgba(47,56,41,.6); display: grid; place-content: center; cursor: pointer; }
.tflow.is-started .tflow-consent input::before { content: ""; width: 12px; height: 7px; border: solid var(--wp--preset--color--forest); border-width: 0 0 2px 2px; transform: translateY(-2px) rotate(-45deg); opacity: 0; }
.tflow.is-started .tflow-consent input:checked { background: var(--wp--preset--color--brass-light); border-color: var(--wp--preset--color--brass-light); }
.tflow.is-started .tflow-consent input:checked::before { opacity: 1; }
.tflow.is-started .tflow-consent input:focus-visible { outline: 2px solid var(--wp--preset--color--brass-light); outline-offset: 3px; }
.tflow.is-started .tflow-consent input[aria-invalid="true"] { border: 2px dashed var(--wp--preset--color--brass-light); }
@media (min-width: 901px) { .tflow-art path { stroke-width: 1.5px; } }

/* Mobile: artwork small and close to the question */
@media (max-width: 900px) {
	.tflow-scene.is-dark { --tp-band: 2.25rem; }
	.tflow.is-started { gap: 1rem; }
	.tflow.is-started .tflow-art { padding-bottom: .75rem; }
}
@media (prefers-reduced-motion: reduce) {
	.tflow-scene--ease, .tflow-art path { transition: none; }
}

/* v1.3.1: hero text always light, whatever other styles the host adds */
.wp-block-cover.tepper-hero .wp-block-cover__background { z-index: 1; }
.wp-block-cover.tepper-hero .wp-block-cover__inner-container { position: relative; z-index: 2; color: var(--wp--preset--color--linen) !important; }
.wp-block-cover.tepper-hero .wp-block-cover__inner-container :is(h1, h2, p) { color: var(--wp--preset--color--linen) !important; text-shadow: 0 1px 18px rgba(27,36,27,.35); }
.wp-block-cover.tepper-hero .wp-block-cover__inner-container p.is-style-eyebrow { color: var(--wp--preset--color--brass-light) !important; }
.wp-block-cover.tepper-hero .wp-block-cover__inner-container p.tepper-hero__note { color: var(--wp--preset--color--sand) !important; }
.wp-block-cover.tepper-hero .wp-block-button:not(.is-style-outline) > .wp-block-button__link { background-color: var(--wp--preset--color--linen) !important; color: var(--wp--preset--color--forest) !important; border-color: var(--wp--preset--color--linen) !important; }
.wp-block-cover.tepper-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--linen) !important; border-color: var(--wp--preset--color--sage-light) !important; background: transparent !important; }
