/**
 * WhysCounselor — page-level section styles.
 * Loaded after style.css; relies on the tokens declared there.
 */

/* ==========================================================================
   Home — pathway cards
   ========================================================================== */

.wc-pathway {
	display: flex;
	flex-direction: column;
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	overflow: hidden;
	height: 100%;
	transition: transform 0.25s var(--wc-ease), box-shadow 0.25s var(--wc-ease);
}

.wc-pathway:hover { transform: translateY(-5px); box-shadow: var(--wc-shadow); }

.wc-pathway__media {
	position: relative;
	aspect-ratio: 16 / 11;
	overflow: hidden;
	background: var(--wc-cream-4);
}

.wc-pathway__media img { width: 100%; height: 100%; object-fit: cover; }

.wc-pathway__media-label {
	position: absolute;
	left: 0.85rem;
	bottom: 0.7rem;
	font-family: var(--wc-font-script);
	font-size: 1.05rem;
	color: #fff;
	text-shadow: 0 1px 8px rgba(9, 38, 42, 0.5);
}

.wc-pathway__body {
	padding: var(--wc-space-5);
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	flex: 1;
}

.wc-pathway__title { font-size: var(--wc-fs-h4); margin: 0; }

.wc-pathway__kicker {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
}

.wc-pathway__text { font-size: var(--wc-fs-body-s); margin: 0; flex: 1; }

.wc-pathway__link { margin-top: var(--wc-space-3); }

/* Home — beyond-the-session trio */
.wc-beyond {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr) minmax(0, 1fr);
	gap: var(--wc-space-5);
	align-items: stretch;
}

.wc-ebook-card {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	gap: var(--wc-space-5);
	align-items: center;
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-ebook-card__cover {
	border-radius: var(--wc-radius-sm);
	overflow: hidden;
	box-shadow: var(--wc-shadow);
	aspect-ratio: 3 / 4;
	background: var(--wc-cream-4);
}

.wc-ebook-card__cover img { width: 100%; height: 100%; object-fit: cover; }

.wc-ebook-card h3 { font-size: var(--wc-fs-h4); margin-bottom: 0.5rem; }

.wc-daily-card {
	display: flex;
	flex-direction: column;
	gap: var(--wc-space-3);
	background: var(--wc-cream-3);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-daily-card__quote {
	font-family: var(--wc-font-display);
	font-style: italic;
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink);
	line-height: 1.6;
}

.wc-daily-card__thumb {
	border-radius: var(--wc-radius-sm);
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--wc-cream-4);
}

.wc-daily-card__thumb img { width: 100%; height: 100%; object-fit: cover; }

.wc-membership-teaser {
	background: var(--wc-ink);
	color: rgba(255, 255, 255, 0.75);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
	display: flex;
	flex-direction: column;
	gap: var(--wc-space-4);
}

.wc-membership-teaser h3 { color: #fff; font-size: var(--wc-fs-h4); margin: 0; }
.wc-membership-teaser .wc-checklist { margin: 0; flex: 1; }
.wc-membership-teaser .wc-checklist li { color: rgba(255, 255, 255, 0.8); }

/* Home — product strip */
.wc-product-mini {
	display: block;
	text-align: left;
}

.wc-product-mini__media {
	display: block;
	border-radius: var(--wc-radius);
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: var(--wc-cream-4);
	border: 1px solid var(--wc-line-soft);
}

.wc-product-mini__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.45s var(--wc-ease);
}

.wc-product-mini:hover .wc-product-mini__media img { transform: scale(1.05); }

.wc-product-mini__cat {
	display: block;
	margin-top: var(--wc-space-4);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wc-terracotta);
}

.wc-product-mini__title {
	display: block;
	margin-top: 0.3rem;
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
	line-height: 1.4;
}

.wc-product-mini__price {
	display: block;
	margin-top: 0.15rem;
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink-55);
}

/* Home — book recommendation tiles */
.wc-book {
	text-align: center;
}

.wc-book__cover {
	aspect-ratio: 2 / 3;
	border-radius: var(--wc-radius-sm);
	overflow: hidden;
	background: var(--wc-teal);
	display: grid;
	place-items: center;
	padding: var(--wc-space-4);
	box-shadow: var(--wc-shadow-sm);
	transition: transform 0.3s var(--wc-ease);
}

.wc-book:hover .wc-book__cover { transform: translateY(-4px); }

.wc-book__cover img { width: 100%; height: 100%; object-fit: cover; }

.wc-book__cover-text {
	font-family: var(--wc-font-display);
	font-size: 0.95rem;
	line-height: 1.3;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.wc-book__title {
	margin-top: var(--wc-space-4);
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-body);
	color: var(--wc-ink);
	line-height: 1.3;
}

.wc-book__author {
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-55);
}

/* Home — about/quote duo */
.wc-about-duo {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.wc-about-card {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: var(--wc-space-5);
	align-items: start;
	background: var(--wc-cream-3);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-about-card__photo {
	border-radius: var(--wc-radius-sm);
	overflow: hidden;
	aspect-ratio: 3 / 4;
	background: var(--wc-cream-4);
}

.wc-about-card__photo img { width: 100%; height: 100%; object-fit: cover; }

.wc-pull-quote {
	position: relative;
	padding-left: clamp(1.5rem, 3vw, 2.5rem);
}

.wc-pull-quote__mark {
	font-family: var(--wc-font-display);
	font-size: 4rem;
	line-height: 0.6;
	color: var(--wc-sand);
	display: block;
	margin-bottom: var(--wc-space-4);
}

.wc-pull-quote p {
	font-family: var(--wc-font-display);
	font-style: italic;
	font-size: clamp(1.15rem, 1.6vw, 1.55rem);
	line-height: 1.5;
	color: var(--wc-ink);
}

.wc-pull-quote cite {
	display: block;
	margin-top: var(--wc-space-4);
	font-family: var(--wc-font-body);
	font-style: normal;
	font-size: 0.6875rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
}

.wc-pull-quote__foot {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: var(--wc-space-6);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
}

/* ==========================================================================
   Therapy / service pages
   ========================================================================== */

.wc-approach-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wc-space-6) var(--wc-space-5);
}

.wc-approach__icon { color: var(--wc-teal); margin-bottom: 0.65rem; }

.wc-approach__title {
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
	margin-bottom: 0.25rem;
}

.wc-approach__text { font-size: var(--wc-fs-small); margin: 0; }

.wc-bio {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
	gap: var(--wc-space-5);
	align-items: start;
}

.wc-bio__photo {
	border-radius: var(--wc-radius);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--wc-cream-4);
	box-shadow: var(--wc-shadow);
}

.wc-bio__photo img { width: 100%; height: 100%; object-fit: cover; }

.wc-bio__title { font-size: var(--wc-fs-h4); margin-bottom: 0.75rem; }

.wc-bio__text { font-size: var(--wc-fs-body-s); margin-bottom: var(--wc-space-5); }

/* Two-pathway comparison (therapy vs coaching) */
.wc-pathways-compare {
	display: grid;
	/* Three offers now: in-person therapy, telehealth therapy and coaching. */
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--wc-space-5);
	align-items: stretch;
}

.wc-offer {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--wc-space-4);
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius-lg);
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
	box-shadow: var(--wc-shadow-sm);
	overflow: hidden;
}

.wc-offer--dark {
	background: var(--wc-teal);
	border-color: transparent;
	color: rgba(255, 255, 255, 0.78);
}

.wc-offer--dark h3,
.wc-offer--dark .wc-offer__title { color: #fff; }

/*
 * The head holds the delivery pill and the cadence note. "CA & WA Telehealth"
 * is the longest pill, and with wrapping on it pushed the note onto a second
 * line, which dropped that card's title 34px below the other two. Now the row
 * never wraps — the note shrinks and wraps within its own column instead — and
 * a min-height keeps all three titles level whether the note is one line or two.
 */
.wc-offer__head {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
	/* Tall enough for a two-line note, so the head never changes height. */
	min-height: 3rem;
}

.wc-offer__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.4rem 0.7rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-ink);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	/* Trimmed from 0.12em to buy the note room on the same line. */
	letter-spacing: 0.08em;
	text-transform: uppercase;
	flex: 0 1 auto;
	min-width: 0;
}

.wc-offer__tag--sand { background: var(--wc-sand); color: var(--wc-ink); }

.wc-offer__note {
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-55);
	flex: 0 1 auto;
	min-width: 0;
	text-align: right;
	line-height: 1.3;
	/* Two lines at most, so a long cadence cannot grow the head. */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.wc-offer--dark .wc-offer__note { color: rgba(255, 255, 255, 0.6); }

.wc-offer__title { font-size: var(--wc-fs-h3); margin: 0; }

.wc-offer__sub {
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
}

.wc-offer--dark .wc-offer__sub { color: var(--wc-sand-light); }

.wc-offer__text { font-size: var(--wc-fs-body-s); margin: 0; }

.wc-offer .wc-checklist { flex: 1; margin-bottom: 0; }

/* Core story split with two mini cards */
.wc-story-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wc-space-4);
	margin-top: var(--wc-space-6);
}

.wc-story-card {
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius-sm);
	padding: var(--wc-space-4);
}

.wc-story-card__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
	margin-bottom: 0.45rem;
}

.wc-story-card--accent .wc-story-card__title { color: var(--wc-terracotta); }

.wc-story-card p { font-size: var(--wc-fs-small); margin: 0; }

.wc-purpose-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid var(--wc-line-soft);
	border-radius: 0 0 var(--wc-radius) var(--wc-radius);
	overflow: hidden;
	background: var(--wc-white);
}

.wc-purpose-grid > div {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1rem;
	border-bottom: 1px solid var(--wc-line-soft);
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-70);
}

.wc-purpose-grid > div:nth-child(odd) { border-right: 1px solid var(--wc-line-soft); }
.wc-purpose-grid > div:nth-last-child(-n+2) { border-bottom: 0; }

.wc-purpose-grid svg { color: var(--wc-terracotta); flex: 0 0 auto; }

/* Credential cards grid (experience & integrity) */
.wc-cred-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wc-space-4);
}

.wc-cred-card {
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-cred-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: var(--wc-space-4);
}

.wc-cred-card__icon {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--wc-cream-4);
	color: var(--wc-terracotta);
}

.wc-cred-card__flag {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wc-ink-40);
	text-align: right;
	line-height: 1.35;
	max-width: 11rem;
}

.wc-cred-card__title {
	font-size: var(--wc-fs-body);
	margin-bottom: 0.2rem;
}

.wc-cred-card__sub {
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wc-terracotta);
	margin-bottom: 0.6rem;
}

.wc-cred-card p { font-size: var(--wc-fs-small); margin: 0; }

.wc-book-promo {
	display: grid;
	grid-template-columns: 110px minmax(0, 1fr);
	gap: var(--wc-space-5);
	align-items: center;
	background: var(--wc-cream-3);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-book-promo__cover {
	aspect-ratio: 3 / 4;
	border-radius: var(--wc-radius-xs);
	overflow: hidden;
	background: var(--wc-teal);
	box-shadow: var(--wc-shadow);
	display: grid;
	place-items: center;
	padding: 0.6rem;
	text-align: center;
}

.wc-book-promo__cover img { width: 100%; height: 100%; object-fit: cover; }

.wc-book-promo__cover span {
	font-family: var(--wc-font-display);
	font-size: 0.7rem;
	color: #fff;
	line-height: 1.25;
}

.wc-book-promo__quote {
	font-family: var(--wc-font-display);
	font-style: italic;
	font-size: var(--wc-fs-body);
	color: var(--wc-ink);
	margin-bottom: 0.6rem;
}

.wc-book-promo p { font-size: var(--wc-fs-small); }

/* Human-side note card */
.wc-note-card {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
	background: var(--wc-white);
	border-radius: var(--wc-radius-lg);
	box-shadow: var(--wc-shadow);
	padding: clamp(1.25rem, 2.5vw, 2rem);
}

.wc-note-card__media {
	position: relative;
	border-radius: var(--wc-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--wc-cream-4);
}

.wc-note-card__media img { width: 100%; height: 100%; object-fit: cover; }

.wc-note-card__sign {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	margin-top: var(--wc-space-5);
}

.wc-note-card__sign span { font-size: var(--wc-fs-body-s); color: var(--wc-ink-55); }

.wc-note-card__sign strong {
	font-family: var(--wc-font-script);
	font-size: 1.5rem;
	font-weight: 400;
	color: var(--wc-terracotta);
}

/* ==========================================================================
   Insights / blog
   ========================================================================== */

.wc-filterbar {
	background: var(--wc-white);
	border-block: 1px solid var(--wc-line-soft);
	padding-block: var(--wc-space-4);
	position: relative;
	z-index: 2;
}

.wc-filterbar__scroll {
	display: flex;
	gap: 0.6rem;
	overflow-x: auto;
	scrollbar-width: none;
	padding-bottom: 0.15rem;
}

.wc-filterbar__scroll::-webkit-scrollbar { display: none; }
.wc-filterbar__scroll .wc-chip { white-space: nowrap; flex: 0 0 auto; }

.wc-featured-post {
	position: relative;
	display: block;
	border-radius: var(--wc-radius);
	overflow: hidden;
	min-height: 366px;
	background: var(--wc-teal);
}

.wc-featured-post img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--wc-ease);
}

.wc-featured-post:hover img { transform: scale(1.04); }

.wc-featured-post__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 366px;
	padding: var(--wc-space-6);
	background: linear-gradient(to top, rgba(9, 38, 42, 0.88) 10%, rgba(9, 38, 42, 0.15) 70%);
	color: rgba(255, 255, 255, 0.85);
}

.wc-featured-post__flag {
	align-self: flex-start;
	margin-bottom: auto;
	padding: 0.35rem 0.8rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-sand);
	color: var(--wc-ink);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.wc-featured-post__title {
	font-size: clamp(1.5rem, 2.2vw, 2.1rem);
	color: #fff;
	margin-bottom: 0.5rem;
}

.wc-featured-post__excerpt {
	font-size: var(--wc-fs-body-s);
	color: rgba(255, 255, 255, 0.8);
	margin-bottom: var(--wc-space-4);
}

.wc-featured-post__link {
	font-size: var(--wc-fs-small);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wc-sand-light);
}

.wc-post-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	overflow: hidden;
	transition: transform 0.25s var(--wc-ease), box-shadow 0.25s var(--wc-ease);
}

.wc-post-card:hover { transform: translateY(-4px); box-shadow: var(--wc-shadow); }

.wc-post-card__media {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wc-cream-4);
}

.wc-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--wc-ease); }
.wc-post-card:hover .wc-post-card__media img { transform: scale(1.05); }

.wc-post-card__body {
	padding: var(--wc-space-5);
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex: 1;
}

.wc-post-card__cat {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wc-terracotta);
}

.wc-post-card__title {
	font-size: var(--wc-fs-h5);
	line-height: 1.3;
	margin: 0;
}

.wc-post-card__excerpt { font-size: var(--wc-fs-body-s); margin: 0; flex: 1; }

.wc-post-card__foot {
	margin-top: var(--wc-space-4);
	padding-top: var(--wc-space-4);
	border-top: 1px solid var(--wc-line-soft);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

/* Sidebar blocks */
.wc-side-newsletter {
	background: var(--wc-teal);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
	color: rgba(255, 255, 255, 0.78);
}

.wc-side-newsletter__head {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-bottom: var(--wc-space-4);
}

.wc-side-newsletter__icon {
	width: 36px;
	height: 36px;
	border-radius: var(--wc-radius-xs);
	background: rgba(255, 255, 255, 0.12);
	display: grid;
	place-items: center;
	color: var(--wc-sand-light);
}

.wc-side-newsletter h3 { color: #fff; font-size: var(--wc-fs-h5); margin: 0; }

.wc-side-newsletter__form {
	display: flex;
	gap: 0.45rem;
	margin-bottom: 0.7rem;
	flex-wrap: wrap;
}

.wc-side-newsletter__form input[type="email"] {
	flex: 1 1 140px;
	background: #fff;
	border-color: transparent;
}

.wc-side-newsletter small { font-size: 0.6875rem; color: rgba(255, 255, 255, 0.55); }

.wc-topic-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
}

.wc-topic-list li + li { border-top: 1px solid var(--wc-line-soft); }

.wc-topic-list a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.7rem 0;
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink);
}

.wc-topic-list img,
.wc-topic-list .wc-topic-thumb {
	width: 34px;
	height: 34px;
	border-radius: var(--wc-radius-xs);
	object-fit: cover;
	flex: 0 0 auto;
	background: var(--wc-cream-4);
}

.wc-topic-list span { flex: 1; }
.wc-topic-list a:hover { color: var(--wc-terracotta); }

.wc-side-quote {
	background: var(--wc-cream-4);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-6) var(--wc-space-5);
	text-align: center;
}

.wc-side-quote p {
	font-family: var(--wc-font-display);
	font-style: italic;
	font-size: var(--wc-fs-body-l);
	line-height: 1.45;
	color: var(--wc-ink);
	margin-bottom: var(--wc-space-4);
}

.wc-side-support {
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-side-support__media {
	border-radius: var(--wc-radius-xs);
	overflow: hidden;
	aspect-ratio: 16 / 10;
	margin-bottom: var(--wc-space-4);
	background: var(--wc-cream-4);
}

.wc-side-support__media img { width: 100%; height: 100%; object-fit: cover; }

.wc-side-support h3 { font-size: var(--wc-fs-body-l); margin-bottom: 0.4rem; }
.wc-side-support p { font-size: var(--wc-fs-small); margin-bottom: var(--wc-space-4); }

/* Single post */
.wc-post-hero {
	padding-block: clamp(2.5rem, 4vw, 4rem) var(--wc-space-6);
	background: linear-gradient(170deg, var(--wc-cream-3), var(--wc-cream));
}

.wc-post-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	margin-bottom: var(--wc-space-4);
	font-size: var(--wc-fs-small);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
}

.wc-post-hero__meta a { color: var(--wc-terracotta); }

.wc-post-hero h1 { font-size: clamp(2rem, 3vw, 3.1rem); }

.wc-post-figure {
	margin-bottom: var(--wc-space-7);
	border-radius: var(--wc-radius-lg);
	overflow: hidden;
	box-shadow: var(--wc-shadow);
	aspect-ratio: 16 / 9;
	background: var(--wc-cream-4);
}

.wc-post-figure img { width: 100%; height: 100%; object-fit: cover; }

.wc-author-box {
	display: grid;
	grid-template-columns: 90px minmax(0, 1fr);
	gap: var(--wc-space-5);
	align-items: center;
	margin-top: var(--wc-space-8);
	padding: var(--wc-space-5);
	background: var(--wc-cream-3);
	border-radius: var(--wc-radius);
}

.wc-author-box__photo {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--wc-cream-4);
}

.wc-author-box__photo img { width: 100%; height: 100%; object-fit: cover; }

.wc-post-nav {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wc-space-4);
	margin-top: var(--wc-space-7);
}

.wc-post-nav a {
	display: block;
	padding: var(--wc-space-5);
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
}

.wc-post-nav span {
	display: block;
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
	margin-bottom: 0.35rem;
}

.wc-post-nav strong {
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-body-l);
	font-weight: 500;
	color: var(--wc-ink);
}

.wc-post-nav a:last-child { text-align: right; }

/* ==========================================================================
   Shop / resources
   ========================================================================== */

.wc-shop-layout {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: clamp(1.75rem, 4vw, 3.5rem);
	align-items: start;
}

.wc-catnav__title {
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-h4);
	margin-bottom: var(--wc-space-4);
	padding-bottom: var(--wc-space-3);
	border-bottom: 1px solid var(--wc-line);
}

.wc-catnav__list {
	list-style: none;
	margin: 0 0 var(--wc-space-7);
	padding: 0;
	display: grid;
	gap: 0.15rem;
}

.wc-catnav__list a {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.55rem 0;
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink);
}

.wc-catnav__list a:hover { color: var(--wc-terracotta); }
.wc-catnav__list svg { color: var(--wc-sage-deep); flex: 0 0 auto; }

.wc-catnav__quote {
	background: var(--wc-cream-4);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-6) var(--wc-space-5);
	text-align: center;
}

.wc-catnav__quote p {
	font-family: var(--wc-font-display);
	font-style: italic;
	font-size: var(--wc-fs-body);
	line-height: 1.5;
	color: var(--wc-ink);
	margin-bottom: var(--wc-space-4);
}

.wc-catnav__quote-badge {
	width: 44px;
	height: 44px;
	margin: 0 auto var(--wc-space-3);
	border-radius: 50%;
	background: var(--wc-white);
	display: grid;
	place-items: center;
	color: var(--wc-teal);
}

.wc-catnav__quote span {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wc-terracotta);
}

.wc-shop-section + .wc-shop-section { margin-top: clamp(2.5rem, 4vw, 3.5rem); }

.wc-shop-section__head {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: baseline;
	justify-content: space-between;
	padding-bottom: var(--wc-space-4);
	margin-bottom: var(--wc-space-5);
	border-bottom: 1px solid var(--wc-line);
}

.wc-shop-section__head h2 { font-size: var(--wc-fs-h3); margin: 0; }

.wc-shop-section__head a {
	font-size: var(--wc-fs-small);
	font-weight: 500;
	color: var(--wc-teal);
}

.wc-shop-section__note {
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-55);
	margin: -0.75rem 0 var(--wc-space-5);
}

.wc-product {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius-sm);
	overflow: hidden;
	transition: transform 0.25s var(--wc-ease), box-shadow 0.25s var(--wc-ease);
}

.wc-product:hover { transform: translateY(-4px); box-shadow: var(--wc-shadow); }

.wc-product__media {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: var(--wc-cream-4);
}

.wc-product__media img { width: 100%; height: 100%; object-fit: cover; }

.wc-product__body {
	padding: var(--wc-space-4);
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	flex: 1;
}

.wc-product__title {
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
	line-height: 1.35;
	margin: 0;
	/* Long single words like "WhysCounselor" overflow a 2-up grid on a 320px
	   phone, so let them break rather than spill out of the card. */
	overflow-wrap: anywhere;
}

.wc-product__price {
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
}

.wc-product__rating {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: auto;
	padding-top: 0.4rem;
	font-size: 0.6875rem;
	color: var(--wc-ink-55);
}

.wc-product__stars { color: var(--wc-sand); letter-spacing: 0.08em; }

/* The card is a wrapper now, so the link fills it and the buy button sits
   outside the link rather than nested inside it. */
.wc-product__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	color: inherit;
	text-decoration: none;
}

.wc-product__actions {
	padding: 0 var(--wc-space-4) var(--wc-space-4);
}

.wc-product__actions .wc-btn { width: 100%; }

.wc-catnav__count {
	margin-left: auto;
	font-style: normal;
	font-size: 0.6875rem;
	color: var(--wc-ink-55);
}

.wc-catnav__list--utility {
	border-top: 1px solid var(--wc-line-soft);
	padding-top: var(--wc-space-3);
	margin-top: var(--wc-space-3);
}

.wc-download {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	text-align: center;
	padding: var(--wc-space-5) var(--wc-space-4);
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius-sm);
	height: 100%;
	transition: transform 0.25s var(--wc-ease), box-shadow 0.25s var(--wc-ease);
}

.wc-download:hover { transform: translateY(-3px); box-shadow: var(--wc-shadow-sm); }

.wc-download__icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--wc-cream-3);
	display: grid;
	place-items: center;
	color: var(--wc-teal);
}

.wc-download__title {
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
	line-height: 1.35;
	margin: 0;
	flex: 1;
}

.wc-download__price {
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
}

/* Split CTA with image (resources footer band) */
.wc-image-cta {
	position: relative;
	overflow: hidden;
	color: #fff;
	padding-block: clamp(4rem, 8vw, 7.5rem);
}

.wc-image-cta__bg { position: absolute; inset: 0; }
.wc-image-cta__bg img { width: 100%; height: 100%; object-fit: cover; }
.wc-image-cta__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(9, 38, 42, 0.72), rgba(9, 38, 42, 0.42));
}

.wc-image-cta__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.wc-image-cta__script {
	font-family: var(--wc-font-script);
	font-size: clamp(1.75rem, 3vw, 2.75rem);
	line-height: 1.35;
	color: #fff;
}

.wc-image-cta__right { text-align: right; }

.wc-image-cta__title {
	font-size: clamp(1.6rem, 2.4vw, 2.4rem);
	color: #fff;
	margin-bottom: var(--wc-space-5);
	line-height: 1.25;
}

/* ==========================================================================
   Wisdom Circle — membership
   ========================================================================== */

.wc-benefit {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
}

.wc-benefit__icon {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--wc-cream-3);
	display: grid;
	place-items: center;
	color: var(--wc-teal);
	margin-bottom: 0.4rem;
}

.wc-benefit__title {
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-body-l);
	color: var(--wc-ink);
	margin: 0;
}

.wc-benefit p { font-size: var(--wc-fs-small); margin: 0; }

.wc-plans {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--wc-space-5);
	align-items: stretch;
}

.wc-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--wc-white);
	border: 1px solid var(--wc-line);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-plan--featured {
	border-color: var(--wc-terracotta);
	box-shadow: var(--wc-shadow);
}

.wc-plan__flag {
	position: absolute;
	top: -13px;
	left: 50%;
	transform: translateX(-50%);
	padding: 0.35rem 0.9rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-terracotta);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
}

.wc-plan__name {
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-small);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
	margin-bottom: var(--wc-space-3);
}

.wc-plan__price {
	display: flex;
	align-items: baseline;
	gap: 0.3rem;
	margin-bottom: var(--wc-space-5);
}

.wc-plan__price strong {
	font-family: var(--wc-font-display);
	font-size: clamp(2rem, 2.6vw, 2.6rem);
	font-weight: 600;
	color: var(--wc-ink);
	line-height: 1;
}

.wc-plan__price span { font-size: var(--wc-fs-body-s); color: var(--wc-ink-55); }

.wc-plan__features {
	list-style: none;
	margin: 0 0 var(--wc-space-5);
	padding: 0;
	display: grid;
	gap: 0.65rem;
	flex: 1;
}

.wc-plan__features li {
	display: flex;
	gap: 0.55rem;
	align-items: flex-start;
	font-size: var(--wc-fs-body-s);
}

.wc-plan__features li::before {
	content: "✓";
	color: var(--wc-sage-deep);
	font-size: 0.85rem;
	line-height: 1.5;
}

.wc-plan__features li.is-highlight { color: var(--wc-terracotta); }
.wc-plan__features li.is-highlight::before { color: var(--wc-terracotta); }

.wc-gift-card {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	background: var(--wc-white);
	border: 1px solid var(--wc-line);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
}

.wc-gift-card__head {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	color: var(--wc-teal);
}

.wc-gift-card__head h3 { margin: 0; font-size: var(--wc-fs-h5); }

.wc-gift-card p { font-size: var(--wc-fs-body-s); }
.wc-gift-card .wc-btn { margin-top: auto; }

.wc-plan-visual {
	position: relative;
	border-radius: var(--wc-radius);
	overflow: hidden;
	min-height: 280px;
	background: var(--wc-teal);
}

.wc-plan-visual img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wc-plan-visual__script {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	height: 100%;
	min-height: 280px;
	padding: var(--wc-space-5);
	background: linear-gradient(to top, rgba(9, 38, 42, 0.7), rgba(9, 38, 42, 0.05));
	font-family: var(--wc-font-script);
	font-size: clamp(1.35rem, 1.8vw, 1.75rem);
	line-height: 1.35;
	color: #fff;
}

/* ==========================================================================
   Consultation / booking
   ========================================================================== */

.wc-booking-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: var(--wc-space-5);
	align-items: start;
}

.wc-booking-card {
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius-lg);
	box-shadow: var(--wc-shadow);
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
}

.wc-booking-card__head {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--wc-space-5);
}

.wc-booking-card__title { font-size: var(--wc-fs-h3); margin: 0; }

.wc-booking-card__who {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.4rem 0.85rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-cream-3);
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-70);
}

.wc-booking-card__who .wc-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wc-sage-deep);
}

.wc-step {
	margin-bottom: var(--wc-space-5);
}

.wc-step__head {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: var(--wc-space-3);
}

.wc-step__label {
	font-size: var(--wc-fs-small);
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wc-ink);
}

.wc-step__note { font-size: var(--wc-fs-small); color: var(--wc-ink-55); }
.wc-step__note--accent { color: var(--wc-terracotta); }

.wc-pathway-options {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.wc-pathway-option {
	position: relative;
	flex: 1 1 160px;
	cursor: pointer;
}

.wc-pathway-option input {
	position: absolute;
	opacity: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	cursor: pointer;
}

.wc-pathway-option__box {
	display: block;
	padding: 0.85rem 1rem;
	border: 1px solid var(--wc-line);
	border-radius: var(--wc-radius-sm);
	background: var(--wc-cream-2);
	transition: all 0.2s var(--wc-ease);
}

.wc-pathway-option__box strong {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	font-size: var(--wc-fs-body-s);
	font-weight: 600;
	color: var(--wc-ink);
}

.wc-pathway-option__box strong::after {
	content: "";
	width: 14px;
	height: 14px;
	flex: 0 0 auto;
	border: 1.5px solid var(--wc-ink-40);
	border-radius: 50%;
}

.wc-pathway-option__box span {
	display: block;
	margin-top: 0.2rem;
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-55);
}

.wc-pathway-option input:checked + .wc-pathway-option__box {
	background: var(--wc-ink);
	border-color: var(--wc-ink);
}

.wc-pathway-option input:checked + .wc-pathway-option__box strong { color: #fff; }
.wc-pathway-option input:checked + .wc-pathway-option__box span { color: rgba(255, 255, 255, 0.7); }

.wc-pathway-option input:checked + .wc-pathway-option__box strong::after {
	border-color: #fff;
	background: #fff url("../images/check-ink.svg") center / 9px no-repeat;
}

.wc-pathway-option input:focus-visible + .wc-pathway-option__box {
	outline: 2px solid var(--wc-terracotta);
	outline-offset: 2px;
}

.wc-scheduler {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: var(--wc-space-4);
	padding: var(--wc-space-4);
	background: var(--wc-cream-3);
	border-radius: var(--wc-radius-sm);
}

.wc-datepicker__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: var(--wc-space-3);
}

.wc-datepicker__head strong {
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-body);
	color: var(--wc-ink);
}

.wc-datepicker__nav { display: flex; gap: 0.25rem; }

.wc-datepicker__nav button {
	width: 24px;
	height: 24px;
	border: 0;
	background: transparent;
	color: var(--wc-ink-55);
	cursor: pointer;
	border-radius: var(--wc-radius-xs);
}

.wc-datepicker__nav button:hover { background: var(--wc-white); color: var(--wc-ink); }

.wc-datepicker__days {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.3rem;
	text-align: center;
}

.wc-datepicker__dow {
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--wc-ink-40);
}

.wc-datepicker__day {
	padding: 0.4rem 0;
	border: 0;
	border-radius: var(--wc-radius-xs);
	background: transparent;
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-70);
	cursor: pointer;
}

.wc-datepicker__day:hover { background: var(--wc-white); }

.wc-datepicker__day.is-active {
	background: var(--wc-ink);
	color: #fff;
	font-weight: 600;
}

.wc-slots__label {
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-55);
	margin-bottom: var(--wc-space-3);
}

.wc-slots__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
}

.wc-slot {
	padding: 0.6rem 0.5rem;
	border: 0;
	border-radius: var(--wc-radius-xs);
	background: var(--wc-white);
	color: var(--wc-ink-70);
	font-size: var(--wc-fs-small);
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s var(--wc-ease);
}

.wc-slot:hover { color: var(--wc-ink); box-shadow: var(--wc-shadow-xs); }

.wc-slot.is-active {
	background: var(--wc-teal);
	color: #fff;
}

.wc-portal-card {
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius-lg);
	box-shadow: var(--wc-shadow-sm);
	padding: clamp(1.25rem, 2vw, 1.75rem);
	margin-bottom: var(--wc-space-4);
}

.wc-portal-card__head {
	display: flex;
	gap: 0.85rem;
	align-items: center;
	margin-bottom: var(--wc-space-4);
}

.wc-portal-card__icon {
	width: 42px;
	height: 42px;
	flex: 0 0 auto;
	border-radius: 50%;
	background: var(--wc-sage);
	display: grid;
	place-items: center;
	color: var(--wc-sage-deep);
}

.wc-portal-card__label {
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
}

.wc-portal-card h3 { font-size: var(--wc-fs-h4); margin: 0; }

.wc-portal-card p { font-size: var(--wc-fs-body-s); margin-bottom: var(--wc-space-4); }

.wc-input-icon { position: relative; }

.wc-input-icon svg {
	position: absolute;
	left: 0.9rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wc-ink-40);
	pointer-events: none;
}

.wc-input-icon input { padding-left: 2.5rem; }

.wc-portal-card__foot {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: end;
	justify-content: space-between;
	margin-top: var(--wc-space-5);
	padding-top: var(--wc-space-4);
	border-top: 1px solid var(--wc-line-soft);
}

.wc-portal-card__phone {
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-h5);
	font-weight: 600;
	color: var(--wc-ink);
}

.wc-portal-card__hours {
	padding: 0.3rem 0.7rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-cream-3);
	font-size: 0.6875rem;
	color: var(--wc-ink-55);
}

.wc-quote-photo {
	position: relative;
	border-radius: var(--wc-radius-lg);
	overflow: hidden;
	min-height: 260px;
	background: var(--wc-teal);
}

.wc-quote-photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wc-quote-photo__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 260px;
	padding: var(--wc-space-5);
	background: linear-gradient(to top, rgba(9, 38, 42, 0.85), rgba(9, 38, 42, 0.25));
	color: rgba(255, 255, 255, 0.8);
}

.wc-quote-photo__tag {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.4rem 0.8rem;
	border-radius: var(--wc-radius-sm);
	background: rgba(9, 38, 42, 0.55);
	border: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
}

.wc-quote-photo__quote {
	font-family: var(--wc-font-display);
	font-style: italic;
	font-size: var(--wc-fs-h5);
	line-height: 1.45;
	color: #fff;
	margin: var(--wc-space-6) 0 var(--wc-space-4);
}

.wc-quote-photo__foot {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: space-between;
	font-size: var(--wc-fs-small);
	color: rgba(255, 255, 255, 0.72);
}

.wc-expect-card {
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
	height: 100%;
}

.wc-expect-card__icon {
	width: 42px;
	height: 42px;
	border-radius: var(--wc-radius-sm);
	display: grid;
	place-items: center;
	margin-bottom: var(--wc-space-4);
	background: var(--wc-sage);
	color: var(--wc-sage-deep);
}

.wc-expect-card--ink .wc-expect-card__icon { background: var(--wc-teal); color: #fff; }
.wc-expect-card--sand .wc-expect-card__icon { background: var(--wc-cream-4); color: var(--wc-terracotta); }

.wc-expect-card h3 { font-size: var(--wc-fs-h5); margin-bottom: 0.6rem; }
.wc-expect-card p { font-size: var(--wc-fs-body-s); margin: 0; }

.wc-fee-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}

.wc-fee-list li {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: var(--wc-fs-body-s);
}

.wc-fee-list li span:last-child { font-weight: 700; color: var(--wc-ink); }

/* FAQ accordion */
.wc-faq {
	display: grid;
	gap: 0.75rem;
	max-width: 880px;
	margin-inline: auto;
}

.wc-faq__item {
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius-sm);
	overflow: hidden;
}

.wc-faq__q {
	display: flex;
	width: 100%;
	gap: 1rem;
	align-items: center;
	justify-content: space-between;
	padding: 1.1rem 1.35rem;
	border: 0;
	background: transparent;
	text-align: left;
	font-family: var(--wc-font-display);
	font-size: var(--wc-fs-body-l);
	color: var(--wc-ink);
	cursor: pointer;
}

.wc-faq__q::after {
	content: "";
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	border-right: 1.5px solid var(--wc-ink-55);
	border-bottom: 1.5px solid var(--wc-ink-55);
	transform: rotate(45deg);
	transition: transform 0.25s var(--wc-ease);
}

.wc-faq__item.is-open .wc-faq__q::after { transform: rotate(225deg); }

.wc-faq__a {
	padding: 0 1.35rem 1.25rem;
	font-size: var(--wc-fs-body-s);
	display: none;
}

.wc-faq__item.is-open .wc-faq__a { display: block; }

/* ==========================================================================
   Page-level responsive overrides
   ========================================================================== */

@media (max-width: 1100px) {
	.wc-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wc-beyond { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.wc-beyond > *:first-child { grid-column: 1 / -1; }
}

@media (max-width: 1024px) {
	.wc-shop-layout,
	.wc-booking-layout,
	.wc-note-card,
	.wc-about-duo,
	.wc-image-cta__inner { grid-template-columns: minmax(0, 1fr); }

	.wc-pathways-compare { grid-template-columns: minmax(0, 1fr); }

	.wc-image-cta__right { text-align: left; }

	.wc-post-nav { grid-template-columns: minmax(0, 1fr); }
	.wc-post-nav a:last-child { text-align: left; }
}

@media (max-width: 720px) {
	.wc-plans,
	.wc-beyond,
	.wc-cred-grid,
	.wc-story-cards,
	.wc-approach-grid,
	.wc-scheduler,
	.wc-bio,
	.wc-ebook-card,
	.wc-about-card,
	.wc-book-promo,
	.wc-author-box { grid-template-columns: minmax(0, 1fr); }

	.wc-beyond > *:first-child { grid-column: auto; }

	.wc-ebook-card__cover,
	.wc-about-card__photo,
	.wc-book-promo__cover { max-width: 160px; }

	.wc-author-box__photo { width: 72px; height: 72px; }

	.wc-purpose-grid { grid-template-columns: minmax(0, 1fr); }
	.wc-purpose-grid > div:nth-child(odd) { border-right: 0; }
	.wc-purpose-grid > div:nth-last-child(2) { border-bottom: 1px solid var(--wc-line-soft); }

	.wc-slots__grid { grid-template-columns: minmax(0, 1fr); }

	.wc-featured-post__body { padding: var(--wc-space-5); }
}

/* ==========================================================================
   Resources page — curated library
   ========================================================================== */

/* Hero search */
.wc-res-search {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 0.5rem 0.5rem 1rem;
	background: var(--wc-white);
	border: 1px solid var(--wc-line);
	border-radius: var(--wc-radius);
	box-shadow: var(--wc-shadow-sm);
	max-width: 560px;
}

.wc-res-search__field {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	flex: 1 1 auto;
	min-width: 0;
}

.wc-res-search__field svg { color: var(--wc-ink-40); flex: 0 0 auto; }

.wc-res-search input[type="search"] {
	border: 0;
	background: transparent;
	padding: 0.55rem 0;
	font-size: var(--wc-fs-body-s);
}

.wc-res-search input[type="search"]:focus { background: transparent; }

.wc-res-search select {
	flex: 0 0 auto;
	width: auto;
	min-width: 130px;
	border: 0;
	border-left: 1px solid var(--wc-line);
	border-radius: 0;
	background-color: transparent;
	padding: 0.55rem 2rem 0.55rem 1rem;
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink-70);
}

.wc-res-search .wc-btn { flex: 0 0 auto; padding: 0.7rem 1.35rem; }

/* Curator caption on the hero image */
.wc-curator {
	position: absolute;
	inset: auto 0.9rem 0.9rem 0.9rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.8rem 1rem;
	border-radius: var(--wc-radius-sm);
	background: rgba(9, 38, 42, 0.86);
	backdrop-filter: blur(6px);
	color: #fff;
}

.wc-curator__label {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wc-sand-light);
	margin-bottom: 0.2rem;
}

.wc-curator__label .wc-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--wc-sage-deep);
}

.wc-curator__quote {
	font-family: var(--wc-font-display);
	font-style: italic;
	font-size: var(--wc-fs-body-s);
	color: #fff;
	margin: 0;
}

.wc-curator__who {
	flex: 0 0 auto;
	padding: 0.35rem 0.7rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-cream-4);
	color: var(--wc-ink);
	font-size: 0.6875rem;
	font-weight: 600;
	white-space: nowrap;
}

/* Book shelf */
.wc-shelf {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wc-space-4);
	align-items: start;
}

.wc-shelf-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	padding: 0.75rem;
	transition: transform 0.25s var(--wc-ease), box-shadow 0.25s var(--wc-ease);
}

.wc-shelf-card:hover { transform: translateY(-4px); box-shadow: var(--wc-shadow); }

.wc-shelf-card--featured {
	border-color: var(--wc-sage-deep);
	background: var(--wc-sage);
	box-shadow: var(--wc-shadow-sm);
	margin-top: 0.85rem;
}

.wc-shelf-card__ribbon {
	position: absolute;
	top: -0.85rem;
	left: 50%;
	transform: translateX(-50%);
	padding: 0.35rem 0.85rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-ink);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	z-index: 2;
}

.wc-shelf-card__flag {
	position: absolute;
	top: 1.35rem;
	right: 1.35rem;
	z-index: 2;
	padding: 0.28rem 0.65rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-ink);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 600;
}

.wc-shelf-card__media {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3.4;
	padding: 1.25rem;
	border-radius: var(--wc-radius-xs);
	background: var(--wc-cream-2);
	overflow: hidden;
}

.wc-shelf-card--featured .wc-shelf-card__media { background: rgba(255, 255, 255, 0.45); }

.wc-shelf-card__media img {
	max-height: 100%;
	width: auto;
	border-radius: 2px;
	box-shadow: var(--wc-shadow-sm);
}

/* Generated cover when no image is set */
.wc-cover {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.5rem;
	width: 74%;
	aspect-ratio: 3 / 4.2;
	padding: 0.85rem 0.7rem;
	border-left: 3px solid var(--wc-sand);
	border-radius: 2px;
	background: var(--wc-white);
	box-shadow: var(--wc-shadow-sm);
	text-align: center;
}

.wc-cover--dark {
	background: var(--wc-ink);
	border-left-color: var(--wc-sand);
}

.wc-cover--cream { background: #fdf6e6; }

.wc-cover__kicker {
	font-size: 0.5rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wc-ink-40);
	line-height: 1.35;
}

.wc-cover--dark .wc-cover__kicker { color: var(--wc-sand); }

.wc-cover__title {
	font-family: var(--wc-font-display);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--wc-ink);
}

.wc-cover--dark .wc-cover__title { color: #fff; }

.wc-cover__author {
	font-size: 0.5625rem;
	color: var(--wc-ink-55);
}

.wc-cover--dark .wc-cover__author { color: rgba(255, 255, 255, 0.65); }

.wc-cover__foot {
	margin-top: auto;
	padding-top: 0.4rem;
	border-top: 1px solid var(--wc-line-soft);
	font-size: 0.5rem;
	letter-spacing: 0.06em;
	color: var(--wc-ink-40);
}

.wc-shelf-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: var(--wc-space-4) 0.4rem 0.4rem;
	flex: 1;
}

.wc-shelf-card__tag {
	align-self: flex-start;
	padding: 0.25rem 0.6rem;
	border-radius: var(--wc-radius-xs);
	background: var(--wc-cream-4);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wc-ink-70);
	margin-bottom: 0.3rem;
}

.wc-shelf-card__title {
	font-size: var(--wc-fs-body-l);
	line-height: 1.25;
	margin: 0;
}

.wc-shelf-card__author { font-size: var(--wc-fs-small); color: var(--wc-ink-55); }

.wc-shelf-card__rating {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.6875rem;
	color: var(--wc-ink-55);
}

.wc-shelf-card__rating .wc-stars { color: var(--wc-sand); letter-spacing: 0.06em; }

.wc-shelf-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
	margin-top: auto;
	padding-top: var(--wc-space-4);
	border-top: 1px solid var(--wc-line-soft);
}

.wc-shelf-card__price {
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-body);
	font-weight: 600;
	color: var(--wc-ink);
}

.wc-shelf-card__note {
	font-size: var(--wc-fs-small);
	line-height: 1.3;
	color: var(--wc-ink-70);
	max-width: 8rem;
}

.wc-section-head__meta {
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-self: end;
	align-self: end;
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-40);
	white-space: nowrap;
}

.wc-section-head__meta a { color: var(--wc-teal); font-weight: 500; }

/* Toolkits: featured bundle + grid */
.wc-toolkits {
	display: grid;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 2fr);
	gap: var(--wc-space-4);
	align-items: start;
}

.wc-bundle {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	overflow: hidden;
	height: 100%;
}

.wc-bundle__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--wc-cream-4);
}

.wc-bundle__media img { width: 100%; height: 100%; object-fit: cover; }

.wc-bundle__badge {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	padding: 0.35rem 0.8rem;
	border-radius: var(--wc-radius-xs);
	background: var(--wc-ink);
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wc-bundle__body {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: var(--wc-space-5);
	flex: 1;
}

.wc-bundle__series {
	align-self: flex-start;
	padding: 0.3rem 0.7rem;
	border-radius: var(--wc-radius-xs);
	background: var(--wc-cream-4);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wc-terracotta);
}

.wc-bundle__title { font-size: var(--wc-fs-h4); margin: 0; }

.wc-bundle__text { font-size: var(--wc-fs-small); margin: 0; flex: 1; }

.wc-bundle__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.wc-bundle__price {
	display: flex;
	align-items: baseline;
	gap: 0.45rem;
}

.wc-bundle__price del { font-size: var(--wc-fs-small); color: var(--wc-ink-40); }

.wc-bundle__price strong {
	font-size: var(--wc-fs-h4);
	font-weight: 700;
	color: var(--wc-ink);
}

.wc-toolkit-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wc-space-4);
}

.wc-toolkit {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-5);
	transition: transform 0.25s var(--wc-ease), box-shadow 0.25s var(--wc-ease);
}

.wc-toolkit:hover { transform: translateY(-3px); box-shadow: var(--wc-shadow-sm); }

.wc-toolkit__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.4rem;
}

.wc-toolkit__icon {
	width: 38px;
	height: 38px;
	flex: 0 0 auto;
	border-radius: var(--wc-radius-sm);
	display: grid;
	place-items: center;
	background: var(--wc-cream-3);
	color: var(--wc-teal);
}

.wc-toolkit--free .wc-toolkit__icon { background: var(--wc-sage); color: var(--wc-sage-deep); }
.wc-toolkit--accent .wc-toolkit__icon { background: var(--wc-cream-4); color: var(--wc-terracotta); }

.wc-toolkit__badge {
	padding: 0.3rem 0.7rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-cream-3);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wc-ink-70);
	white-space: nowrap;
}

.wc-toolkit__badge--free { background: rgba(127, 145, 132, 0.18); color: var(--wc-sage-deep); }

.wc-toolkit__title { font-size: var(--wc-fs-h5); margin: 0; }

.wc-toolkit__text { font-size: var(--wc-fs-small); margin: 0; flex: 1; }

.wc-toolkit__meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem;
	font-size: 0.6875rem;
	color: var(--wc-ink-55);
}

.wc-toolkit__meta svg { color: var(--wc-ink-40); }
.wc-toolkit__meta .wc-sep { color: var(--wc-ink-12); }

.wc-toolkit__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: var(--wc-space-4);
	padding-top: var(--wc-space-4);
	border-top: 1px solid var(--wc-line-soft);
}

.wc-toolkit__price {
	font-size: var(--wc-fs-body);
	font-weight: 600;
	color: var(--wc-ink);
}

.wc-toolkit__price--free { color: var(--wc-sage-deep); font-size: var(--wc-fs-body-s); font-weight: 600; }

/* Audio micro-practices */
.wc-audio-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.6fr);
	gap: var(--wc-space-4);
	align-items: start;
}

.wc-audio-visual {
	position: relative;
	border-radius: var(--wc-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--wc-cream-4);
}

.wc-audio-visual img { width: 100%; height: 100%; object-fit: cover; }

.wc-audio-visual__body {
	position: absolute;
	inset: auto 0 0 0;
	padding: 2.5rem 1.25rem 1.25rem;
	background: linear-gradient(to top, rgba(9, 38, 42, 0.92), rgba(9, 38, 42, 0));
	color: rgba(255, 255, 255, 0.82);
}

.wc-audio-visual__badge {
	display: inline-block;
	margin-bottom: 0.6rem;
	padding: 0.3rem 0.7rem;
	border-radius: var(--wc-radius-xs);
	background: var(--wc-sand);
	color: var(--wc-ink);
	font-size: 0.5625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.wc-audio-visual__title {
	font-size: var(--wc-fs-h5);
	color: #fff;
	margin-bottom: 0.35rem;
}

.wc-audio-visual__quote {
	font-size: var(--wc-fs-small);
	font-style: italic;
	margin: 0;
}

.wc-audio-list { display: grid; gap: 0.75rem; }

.wc-audio-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: var(--wc-space-4);
	background: var(--wc-white);
	border: 1px solid var(--wc-line-soft);
	border-radius: var(--wc-radius);
	padding: var(--wc-space-4) var(--wc-space-5);
	transition: box-shadow 0.25s var(--wc-ease);
}

.wc-audio-row:hover { box-shadow: var(--wc-shadow-sm); }

.wc-audio-row__head {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.4rem;
}

.wc-audio-row__tag {
	padding: 0.25rem 0.6rem;
	border-radius: var(--wc-radius-xs);
	background: var(--wc-sage);
	font-size: 0.625rem;
	font-weight: 600;
	color: var(--wc-sage-deep);
	white-space: nowrap;
}

.wc-audio-row--accent .wc-audio-row__tag { background: var(--wc-cream-4); color: var(--wc-terracotta); }
.wc-audio-row--ink .wc-audio-row__tag { background: var(--wc-cream-3); color: var(--wc-teal); }

.wc-audio-row__time {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 0.6875rem;
	color: var(--wc-ink-40);
}

.wc-audio-row__title {
	font-size: var(--wc-fs-body-l);
	line-height: 1.3;
	margin: 0 0 0.25rem;
}

.wc-audio-row__text { font-size: var(--wc-fs-small); margin: 0; }

.wc-audio-row__wave {
	display: flex;
	align-items: flex-end;
	gap: 2px;
	height: 22px;
}

.wc-audio-row__wave span {
	display: block;
	width: 3px;
	border-radius: 2px;
	background: var(--wc-teal);
	opacity: 0.55;
}

.wc-audio-row--accent .wc-audio-row__wave span { background: var(--wc-terracotta); }
.wc-audio-row--sage .wc-audio-row__wave span { background: var(--wc-sage-deep); }

.wc-audio-row__play {
	width: 42px;
	height: 42px;
	flex: 0 0 auto;
	border: 0;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--wc-ink);
	color: #fff;
	cursor: pointer;
	transition: transform 0.2s var(--wc-ease), background 0.2s var(--wc-ease);
}

.wc-audio-row__play:hover { transform: scale(1.06); }
.wc-audio-row--accent .wc-audio-row__play { background: var(--wc-terracotta); }
.wc-audio-row--sage .wc-audio-row__play { background: var(--wc-sage-deep); }

.wc-audio-row__play .wc-icon-pause { display: none; }
.wc-audio-row.is-playing .wc-audio-row__play .wc-icon-pause { display: block; }
.wc-audio-row.is-playing .wc-audio-row__play .wc-icon-play { display: none; }

.wc-pill-note {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.95rem;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-white);
	border: 1px solid var(--wc-line);
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-70);
	white-space: nowrap;
}

/* Next steps CTA card */
.wc-next-steps {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 0.8fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
	background: var(--wc-ink);
	border-radius: var(--wc-radius-lg);
	padding: clamp(1.75rem, 3.5vw, 2.75rem);
	color: rgba(255, 255, 255, 0.75);
}

.wc-next-steps__title {
	font-size: clamp(1.5rem, 2.4vw, 2.3rem);
	color: #fff;
	margin-bottom: var(--wc-space-4);
}

.wc-next-steps__text { font-size: var(--wc-fs-body-s); margin: 0; max-width: 54ch; }

.wc-next-steps__actions { display: grid; gap: 0.6rem; }

/* Resources responsive */
@media (max-width: 1100px) {
	.wc-shelf { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wc-toolkits { grid-template-columns: minmax(0, 1fr); }
	.wc-audio-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 1024px) {
	.wc-next-steps { grid-template-columns: minmax(0, 1fr); }
	.wc-section-head__meta { justify-self: start; }
}

@media (max-width: 720px) {
	.wc-shelf,
	.wc-toolkit-grid { grid-template-columns: minmax(0, 1fr); }

	.wc-res-search { flex-wrap: wrap; padding: 0.75rem; }
	.wc-res-search__field { flex: 1 1 100%; }
	.wc-res-search select { flex: 1 1 auto; border-left: 0; padding-left: 0; }
	.wc-res-search .wc-btn { flex: 1 1 auto; }

	.wc-audio-row {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--wc-space-3);
	}
	.wc-audio-row__wave { display: none; }

	.wc-curator { position: static; inset: auto; flex-wrap: wrap; border-radius: 0 0 var(--wc-radius) var(--wc-radius); }
}

/* ==========================================================================
   Touch targets (pages.css loads after style.css, so the rules that have to
   beat a base rule declared in this file live here).
   ========================================================================== */

@media (max-width: 1024px) {
	/* "View All …" links sit at 22px tall; the datepicker arrows at 24px.
	   Both are below a comfortable touch target, so they gain vertical
	   padding without changing how they look. */
	/* :not(.wc-btn) — some "View All" links are real buttons, which already
	   have their own padding and would be flattened by inline-block. */
	.wc-section-head__link:not(.wc-btn),
	.wc-section-head__meta a:not(.wc-btn),
	.wc-shop-section__head a:not(.wc-btn) {
		display: inline-block;
		padding-block: 0.45rem;
	}

	.wc-datepicker__nav button {
		/* 34 rather than 32: sub-pixel rounding at some widths was landing it
		   just under the 32px floor. */
		width: 34px;
		height: 34px;
	}
}

/* ==========================================================================
   Client Login / Account
   ========================================================================== */

.wc-account-portal {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--wc-space-5);
	margin-bottom: var(--wc-space-7);
	padding: var(--wc-space-5) var(--wc-space-6);
	background: var(--wc-sage);
	border-radius: var(--wc-radius);
}

.wc-account-portal__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--wc-white);
	color: var(--wc-sage-deep);
}

.wc-account-portal h2 {
	font-size: var(--wc-fs-h5);
	margin: 0 0 0.2rem;
}

.wc-account-portal p {
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink-70);
	margin: 0;
}

.wc-account-card {
	max-width: 30rem;
	margin-inline: auto;
	padding: var(--wc-space-6);
	background: var(--wc-cream-3);
	border-radius: var(--wc-radius);
}

.wc-account-card h2 {
	font-size: var(--wc-fs-h4);
	margin: 0 0 var(--wc-space-4);
}

.wc-account-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wc-space-4);
	margin: var(--wc-space-4) 0 0;
	font-size: var(--wc-fs-small);
}

/* WordPress's own login form, in the theme's field styling. */
.wc-account .login-username,
.wc-account .login-password {
	margin-bottom: var(--wc-space-4);
}

.wc-account .login-username label,
.wc-account .login-password label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: var(--wc-fs-small);
	font-weight: 500;
}

.wc-account input[type="text"],
.wc-account input[type="email"],
.wc-account input[type="password"] {
	width: 100%;
	padding: 0.9rem 1.1rem;
	border: 1px solid var(--wc-line);
	border-radius: var(--wc-radius-sm);
	background: var(--wc-white);
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink);
}

.wc-account .login-remember {
	margin-bottom: var(--wc-space-4);
	font-size: var(--wc-fs-small);
}

.wc-account .login-submit input[type="submit"] {
	width: 100%;
	padding: 0.95rem 1.65rem;
	border: 0;
	border-radius: var(--wc-radius-pill);
	background: var(--wc-ink);
	color: #fff;
	font-family: var(--wc-font-body);
	font-size: var(--wc-fs-body-s);
	font-weight: 500;
	cursor: pointer;
}

.wc-account .login-submit input[type="submit"]:hover {
	background: var(--wc-teal);
}

/* ==========================================================================
   Legal documents — Privacy Policy, Terms of Use
   ========================================================================== */

.wc-hero--legal {
	padding-block: clamp(2.25rem, 3.5vw, 3.75rem);
}

.wc-legal__updated {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: var(--wc-space-4) 0 0;
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-55);
}

.wc-legal__updated svg { color: var(--wc-sage-deep); }

.wc-legal {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4rem);
	align-items: start;
}

.wc-legal__nav {
	position: sticky;
	top: calc(var(--wc-header-h) + 1.5rem);
	padding: var(--wc-space-5);
	background: var(--wc-cream-3);
	border-radius: var(--wc-radius);
}

.wc-legal__nav-title {
	font-family: var(--wc-font-body);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
	margin: 0 0 var(--wc-space-3);
}

.wc-legal__nav ol {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: wc-legal;
	display: grid;
	gap: 0.1rem;
}

.wc-legal__nav li { counter-increment: wc-legal; }

.wc-legal__nav a {
	display: flex;
	gap: 0.5rem;
	padding: 0.4rem 0;
	font-size: var(--wc-fs-small);
	line-height: 1.45;
	color: var(--wc-ink-70);
	text-decoration: none;
}

.wc-legal__nav a::before {
	content: counter(wc-legal) ".";
	flex: 0 0 auto;
	color: var(--wc-sand);
	font-variant-numeric: tabular-nums;
}

.wc-legal__nav a:hover { color: var(--wc-terracotta); }

.wc-legal__body { max-width: 68ch; }

.wc-legal__body h2 {
	scroll-margin-top: calc(var(--wc-header-h) + 1.5rem);
	font-size: var(--wc-fs-h4);
	margin-top: var(--wc-space-7);
	padding-top: var(--wc-space-5);
	border-top: 1px solid var(--wc-line-soft);
}

.wc-legal__body > h2:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.wc-legal__contact {
	margin-top: var(--wc-space-7);
	padding: var(--wc-space-5) var(--wc-space-6);
	background: var(--wc-sage);
	border-radius: var(--wc-radius);
}

.wc-legal__contact h2 {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
	font-size: var(--wc-fs-h5);
}

@media (max-width: 1024px) {
	.wc-account-portal {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.wc-account-portal .wc-btn {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.wc-legal {
		grid-template-columns: minmax(0, 1fr);
	}

	.wc-legal__nav { position: static; }

	/* Contents links are 19px tall on their own — padded for touch. */
	.wc-legal__nav a { padding: 0.55rem 0; }

	.wc-account-card__meta a {
		display: inline-block;
		padding-block: 0.4rem;
	}
}

@media (max-width: 720px) {
	.wc-account-portal {
		grid-template-columns: minmax(0, 1fr);
		text-align: left;
	}
}

/* Honeypot for the subscribe form: off-screen rather than display:none, since
   some bots skip fields that are not rendered at all. */
.wc-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* The Insights sidebar Subscribe button now matches the buttons elsewhere —
   same pill radius, same fill and label treatment. */
.wc-side-newsletter__form .wc-newsletter__btn,
.wc-newsletter__form .wc-newsletter__btn {
	border-radius: var(--wc-radius-pill);
	white-space: nowrap;
}

/* ==========================================================================
   About page — built to the About Page Mockup
   ========================================================================== */

/* My Story · tall image · Credentials */
.wc-about-story {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.72fr) minmax(0, 1fr);
	gap: clamp(1.75rem, 3.5vw, 3.25rem);
	align-items: start;
}

/* The trio's columns are narrow — the full h2 scale wraps badly here. */
.wc-about-story h2,
.wc-support-panel h2,
.wc-about-approach__copy h2 {
	font-size: var(--wc-fs-h3);
	margin: 0 0 var(--wc-space-4);
}

.wc-about-story__copy p:not([class]) {
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink-70);
	margin-bottom: var(--wc-space-4);
}

.wc-about-story__media {
	aspect-ratio: 3 / 4;
	position: sticky;
	top: calc(var(--wc-header-h) + 1.5rem);
}

.wc-about-story__media .wc-frame__inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.wc-about-story__media .wc-frame__script {
	top: 1.5rem;
	left: 1.25rem;
	right: auto;
	text-align: left;
	max-width: 70%;
}

/* Signature under "My Story" */
.wc-signature {
	font-family: var(--wc-font-script);
	font-size: clamp(1.6rem, 2.4vw, 2rem);
	line-height: 1.1;
	color: var(--wc-ink);
	margin: var(--wc-space-5) 0 0.35rem;
}

.wc-signature__role {
	font-size: 0.6875rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wc-ink-55);
	margin: 0;
}

/* Credentials list */
.wc-cred-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--wc-space-4);
}

.wc-cred-list__item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 0.9rem;
	align-items: start;
}

.wc-cred-list__icon {
	color: var(--wc-teal);
	margin-top: 1px;
}

.wc-cred-list__body { min-width: 0; }

.wc-cred-list__body strong {
	display: block;
	font-weight: 500;
	font-size: var(--wc-fs-body-s);
	line-height: 1.4;
	color: var(--wc-ink);
}

.wc-cred-list__body span {
	display: block;
	font-size: var(--wc-fs-small);
	color: var(--wc-ink-55);
	margin-top: 0.1rem;
}

/* Areas of Support panel · side image */
.wc-about-support {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 0.34fr);
	gap: clamp(1.5rem, 2.5vw, 2rem);
	align-items: stretch;
}

.wc-support-panel {
	background: var(--wc-sage);
	border-radius: var(--wc-radius-lg);
	padding: clamp(1.5rem, 3vw, 2.75rem);
	/*
	 * The panel stretches to the side image's height. Centring its content
	 * splits the leftover space above and below instead of pooling it all
	 * under the last row of chips.
	 */
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.wc-support-panel h2 { margin-bottom: 0.5rem; }

.wc-support-panel__lead {
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink-70);
	margin: 0 0 var(--wc-space-5);
}

.wc-support-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(84px, 1fr));
	gap: var(--wc-space-4) 0.75rem;
}

.wc-support-chip {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.65rem;
	min-width: 0;
}

.wc-support-chip__icon {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--wc-cream-3);
	color: var(--wc-teal);
	display: grid;
	place-items: center;
	flex: 0 0 auto;
}

.wc-support-chip__label {
	font-size: var(--wc-fs-small);
	font-weight: 500;
	line-height: 1.35;
	color: var(--wc-ink);
	overflow-wrap: break-word;
}

.wc-about-support__media { min-height: 260px; }

.wc-about-support__media .wc-frame__inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.wc-about-support__media .wc-frame__script { max-width: 72%; }

/*
 * The mockup draws a short rule under each handwritten line on this page.
 * Scoped to the About frames so the other pages' scripts are untouched.
 */
.wc-about-story__media .wc-frame__script::after,
.wc-about-support__media .wc-frame__script::after {
	content: "";
	display: block;
	width: 38px;
	height: 1px;
	margin-top: 0.7rem;
	background: rgba(255, 255, 255, 0.55);
}

.wc-about-support__media .wc-frame__script::after { margin-left: auto; }

/* My Approach · quote */
.wc-about-approach {
	display: grid;
	grid-template-columns: minmax(0, 0.62fr) minmax(0, 1fr) minmax(0, 0.8fr);
	gap: clamp(1.75rem, 3vw, 3rem);
	align-items: center;
}

.wc-about-approach__media { aspect-ratio: 3 / 4; }


.wc-about-approach__copy p:not([class]) {
	font-size: var(--wc-fs-body-s);
	color: var(--wc-ink-70);
	margin-bottom: var(--wc-space-4);
}

.wc-about-approach__copy .wc-btn { margin-top: var(--wc-space-3); }

blockquote.wc-quote-card {
	margin: 0;
	border-left: 0;
	border-radius: var(--wc-radius);
}

.wc-about-approach__quote { align-self: center; }

.wc-about-approach__quote p { text-align: center; }

.wc-about-approach__quote cite { text-align: center; }

/* Tablet: the three-column rows become two, then one */
@media (max-width: 1100px) {
	.wc-about-story {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wc-about-story__media {
		position: static;
		order: 3;
		aspect-ratio: 16 / 10;
	}

	.wc-about-story__creds { order: 2; }

	.wc-about-approach {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wc-about-approach__quote { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
	.wc-about-support {
		grid-template-columns: minmax(0, 1fr);
	}

	.wc-about-support__media {
		aspect-ratio: 16 / 9;
		min-height: 0;
	}
}

@media (max-width: 720px) {
	.wc-about-story,
	.wc-about-approach {
		grid-template-columns: minmax(0, 1fr);
	}

	.wc-about-story__media,
	.wc-about-approach__media { aspect-ratio: 4 / 3; }

	.wc-support-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wc-support-chip__icon { width: 52px; height: 52px; }
}
