/*
Theme Name: Renew Counseling
Theme URI: https://renewcounseling.example
Author: QPAI (Quantum Protocol AI)
Description: Renew Counseling Option Two. A feminine editorial block theme with organic photography, accessible motion, and client-managed content.
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
Version: 2.0.5
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: renew-counseling
Tags: block-theme, full-site-editing, one-column, custom-colors, custom-logo, editor-style, wide-blocks, health, wellness
*/

:root {
	color-scheme: light;
	--renew-eucalyptus: #98aa9d;
	--renew-mist: #b3c9d6;
	--renew-plaster: #f2efe2;
	--renew-soot: #2d3536;
	--renew-moss: #697c70;
	--renew-white: #fffef9;
	--renew-ink-soft: #4a5858;
	--renew-line: rgba(45, 53, 54, .16);
	--renew-shadow: 0 22px 55px rgba(71, 91, 82, .13);
	--renew-shadow-small: 0 12px 28px rgba(71, 91, 82, .10);
	--renew-display: "Bodoni 72", Didot, "Times New Roman", serif;
	--renew-body: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	--renew-script: "Snell Roundhand", "Apple Chancery", cursive;
	--renew-ease: cubic-bezier(.16, 1, .3, 1);
	--renew-page: min(1180px, calc(100% - 28px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--renew-plaster); }
body {
	margin: 0;
	overflow-x: hidden;
	background: var(--renew-plaster);
	color: var(--renew-soot);
	font-family: var(--renew-body);
	font-size: 15px;
	line-height: 1.7;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}
.wp-site-blocks { overflow-x: clip; }
::selection { background: var(--renew-mist); color: var(--renew-soot); }
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: var(--renew-plaster); }
::-webkit-scrollbar-thumb { border: 2px solid var(--renew-plaster); border-radius: 20px; background: var(--renew-eucalyptus); }
a { color: inherit; text-underline-offset: .25em; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
	outline: 3px solid var(--renew-soot);
	outline-offset: 4px;
}
img { display: block; max-width: 100%; }
h1, h2, h3, h4, p, figure { margin-top: 0; }
h1, h2, h3 {
	color: var(--renew-soot);
	font-family: var(--renew-display);
	font-weight: 400;
	letter-spacing: -.025em;
	line-height: .98;
	text-wrap: balance;
}
h1 em, h2 em {
	display: inline-block;
	padding-bottom: .12em;
	color: var(--renew-moss);
	font-family: var(--renew-script);
	font-weight: 400;
	letter-spacing: -.015em;
	line-height: 1.12;
}
p { text-wrap: pretty; }
main.wp-block-group, main .wp-block-post-content { margin-top: 0; }
.wp-block-post-content > * { margin-block-start: 0; }

/* Header */
.renew-ot-site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	margin: 0 !important;
	border-bottom: 1px solid rgba(45, 53, 54, .09);
	background: rgba(242, 239, 226, .96);
	box-shadow: 0 10px 32px rgba(70, 86, 78, .07);
	backdrop-filter: blur(16px) saturate(130%);
	-webkit-backdrop-filter: blur(16px) saturate(130%);
}
.renew-ot-header-inner {
	width: calc(100% - 20px);
	min-height: 86px;
	display: grid !important;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 12px;
	margin: 0 auto !important;
}
.renew-ot-brand { grid-column: 1; justify-self: start; margin: 0 !important; }
.renew-ot-brand a {
	width: 70px;
	height: 58px;
	display: block;
	overflow: hidden;
	border-radius: 24px 24px 24px 8px;
	background: #5f856d;
	box-shadow: var(--renew-shadow-small);
}
.renew-ot-brand img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center; }
.renew-ot-primary-nav { grid-column: 2; justify-self: center; margin: 0 !important; }
.renew-ot-primary-nav .wp-block-navigation__responsive-container-open {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	padding: 0;
	border-radius: 50%;
	background: var(--renew-soot);
	color: var(--renew-white);
}
.renew-ot-primary-nav .wp-block-navigation__responsive-container-open svg { width: 22px; height: 22px; }
.renew-ot-primary-nav .wp-block-navigation__responsive-container {
	padding: 28px 24px 46px;
	background: var(--renew-plaster) !important;
	color: var(--renew-soot) !important;
}
.renew-ot-primary-nav .wp-block-navigation__responsive-container-close {
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--renew-soot);
	color: var(--renew-white);
}
.renew-ot-primary-nav .wp-block-navigation__responsive-container-content { padding-top: 68px; }
.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container { width: 100%; align-items: stretch; gap: 0; }
.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item { border-bottom: 1px solid var(--renew-line); }
.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
	width: 100%;
	display: block;
	padding: 19px 4px;
	font-family: var(--renew-display);
	font-size: 2rem;
	line-height: 1.1;
	text-decoration: none;
}
.renew-ot-portal-button { grid-column: 3; justify-self: end; margin: 0 !important; }
.renew-ot-portal-button .wp-block-button__link {
	min-height: 42px;
	padding: 11px 13px;
	white-space: nowrap;
	font-size: .64rem;
	letter-spacing: .09em;
}

/* Shared controls */
.wp-element-button, .wp-block-button__link {
	min-height: 50px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 25px;
	border: 1px solid transparent;
	border-radius: 999px;
	background: var(--renew-soot);
	color: var(--renew-white);
	box-shadow: 0 13px 28px rgba(45, 53, 54, .17);
	font-family: var(--renew-body);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform 240ms var(--renew-ease), background-color 240ms ease, box-shadow 240ms ease;
}
.wp-element-button:active, .wp-block-button__link:active { transform: scale(.985); }
.renew-text-link { margin: 0 !important; }
.renew-text-link a {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 2px;
	color: var(--renew-soot);
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}
.renew-text-link span { font-size: 1.15rem; transition: transform 220ms var(--renew-ease); }

/* Homepage hero */
.renew-ot-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: 0 !important;
	padding: 28px 0 76px;
	background: var(--renew-plaster);
}
.renew-ot-hero::before, .renew-ot-hero::after { content: ""; position: absolute; z-index: -2; }
.renew-ot-hero::before {
	top: -250px;
	right: -170px;
	width: 610px;
	height: 610px;
	border-radius: 42% 58% 62% 38% / 48% 42% 58% 52%;
	background: rgba(179, 201, 214, .48);
	transform: rotate(14deg);
}
.renew-ot-hero::after {
	bottom: -210px;
	left: -240px;
	width: 560px;
	height: 560px;
	border-radius: 58% 42% 38% 62% / 45% 58% 42% 55%;
	background: rgba(152, 170, 157, .24);
}
.renew-ot-hero__inner {
	width: var(--renew-page);
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 46px;
	margin: 0 auto !important;
}
.renew-ot-hero__copy { max-width: 650px; margin: 0 auto !important; text-align: center; }
.renew-ot-hero__copy h1 { max-width: 10ch; margin: 0 auto 23px; font-size: clamp(3.2rem, 15.8vw, 4.8rem); }
.renew-ot-hero__copy > p:not(.renew-availability) {
	max-width: 57ch;
	margin: 0 auto 28px;
	color: var(--renew-ink-soft);
	font-size: clamp(1rem, 1.35vw, 1.15rem);
	line-height: 1.72;
}
.renew-ot-hero__actions { display: grid !important; justify-items: center; gap: 13px !important; margin: 0 !important; }
.renew-ot-hero__actions .wp-block-buttons, .renew-ot-hero__actions .wp-block-button { width: min(100%, 350px); }
.renew-ot-hero__actions .wp-block-button__link { width: 100%; }
.renew-availability {
	width: fit-content;
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 26px auto 0 !important;
	color: var(--renew-moss);
	font-size: .82rem;
	font-weight: 700;
}
.renew-availability::before {
	content: "";
	width: 10px;
	height: 10px;
	flex: 0 0 auto;
	border: 3px solid var(--renew-plaster);
	border-radius: 50%;
	background: var(--renew-moss);
	box-shadow: 0 0 0 2px var(--renew-eucalyptus);
}
.renew-ot-hero__visual {
	position: relative;
	order: -1;
	width: min(555px, 100%);
	height: min(112vw, 470px);
	margin: 0 auto !important;
}
.renew-ot-hero__visual::before {
	content: "";
	position: absolute;
	top: -12px;
	right: -6px;
	z-index: -1;
	width: 68%;
	height: 68%;
	border-radius: 60% 40% 46% 54% / 42% 55% 45% 58%;
	background: var(--renew-eucalyptus);
	opacity: .55;
	transform: rotate(14deg);
}
.renew-ot-hero__visual::after {
	content: "";
	position: absolute;
	right: -12px;
	bottom: -14px;
	z-index: -1;
	width: 54%;
	height: 54%;
	border: 1px solid rgba(45, 53, 54, .22);
	border-radius: 46% 54% 62% 38% / 52% 42% 58% 48%;
	transform: rotate(-13deg);
}
.renew-ot-photo { position: absolute; overflow: hidden; margin: 0 !important; background: var(--renew-eucalyptus); box-shadow: var(--renew-shadow); }
.renew-ot-photo img, .renew-ot-photo .ris-foreground-image { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.renew-ot-photo--main {
	top: 0;
	left: 13px;
	width: calc(100% - 26px);
	height: 100%;
	border-radius: 48% 52% 40% 60% / 36% 42% 58% 64%;
}
.renew-ot-photo--main img { object-position: 41% 51%; }
.renew-ot-photo--main img[src*="option-two-hero-main.png"] { transform: scale(1.79); transform-origin: 41% 51%; }
.renew-ot-photo--secondary { display: none; }

/* Principles */
.renew-ot-principles { overflow: hidden; margin: 0 !important; background: var(--renew-soot); color: var(--renew-white); }
.renew-ot-principles__track {
	width: max-content;
	min-height: 80px;
	display: flex !important;
	align-items: stretch;
	gap: 0 !important;
	margin: 0 !important;
	animation: renew-principles-scroll 24s linear infinite;
}
.renew-ot-principle {
	min-width: 250px;
	display: grid;
	place-items: center;
	margin: 0 !important;
	padding: 19px 30px;
	border-left: 1px solid rgba(255, 255, 255, .16);
	color: var(--renew-white);
	font-size: .69rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-align: center;
	text-transform: uppercase;
}
@keyframes renew-principles-scroll { to { transform: translateX(-50%); } }

/* Shared homepage sections */
.renew-ot-section-inner { width: var(--renew-page); margin: 0 auto !important; }
.renew-ot-section-heading { font-size: clamp(3rem, 14vw, 4.5rem); }
.renew-ot-section-copy { color: var(--renew-ink-soft); font-size: clamp(1rem, 1.35vw, 1.15rem); line-height: 1.82; }

/* About preview */
.renew-ot-about {
	position: relative;
	overflow: hidden;
	margin: 0 !important;
	padding: 84px 0;
	background: var(--renew-white);
}
.renew-ot-about::after {
	content: "";
	position: absolute;
	right: -160px;
	bottom: -250px;
	width: 520px;
	height: 520px;
	border-radius: 47% 53% 38% 62% / 56% 42% 58% 44%;
	background: rgba(179, 201, 214, .28);
	transform: rotate(18deg);
}
.renew-ot-about__grid { display: grid !important; grid-template-columns: 1fr; gap: 74px; }
.renew-ot-about__photo-wrap { position: relative; width: min(560px, 94%); min-height: min(120vw, 500px); margin: 0 auto !important; }
.renew-ot-about__photo-wrap::before {
	content: "";
	position: absolute;
	top: -22px;
	left: -25px;
	width: 82%;
	height: 82%;
	border-radius: 44% 56% 48% 52% / 38% 48% 52% 62%;
	background: var(--renew-mist);
	opacity: .7;
	transform: rotate(-8deg);
}
.renew-ot-about__photo-wrap::after {
	content: "";
	position: absolute;
	right: -22px;
	bottom: -18px;
	width: 220px;
	height: 220px;
	border: 1px solid rgba(45, 53, 54, .2);
	border-radius: 57% 43% 48% 52% / 42% 60% 40% 58%;
}
.renew-ot-about__photo {
	position: absolute;
	inset: 20px 0 0 14px;
	z-index: 1;
	height: calc(100% - 20px);
	margin: 0 !important;
	overflow: hidden;
	border-radius: 52% 48% 58% 42% / 42% 54% 46% 58%;
	box-shadow: var(--renew-shadow);
}
.renew-ot-about__photo img, .renew-ot-about__photo .ris-foreground-image { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: 50% 18.5% !important; }
.renew-ot-about__photo img[src*="option-two-about.png"] { transform: scale(1.7); transform-origin: 50% 18.5%; }
.renew-ot-about__copy { max-width: 650px; margin: 0 auto !important; text-align: center; }
.renew-ot-about__copy .renew-ot-section-heading { max-width: 12ch; margin: 0 auto 30px; }
.renew-ot-about__copy .renew-ot-section-copy { max-width: 61ch; margin: 0 auto 34px; }
.renew-ot-about__copy .wp-block-buttons { justify-content: center; }
.renew-ot-about__copy .wp-block-button, .renew-ot-about__copy .wp-block-button__link { width: min(100%, 350px); }

/* Services */
.renew-ot-services {
	position: relative;
	overflow: hidden;
	margin: 0 !important;
	padding: 84px 0;
	background: var(--renew-eucalyptus);
}
.renew-ot-services::before {
	content: "";
	position: absolute;
	top: -240px;
	left: -100px;
	width: 580px;
	height: 500px;
	border-radius: 44% 56% 58% 42% / 64% 46% 54% 36%;
	background: rgba(242, 239, 226, .32);
	transform: rotate(-10deg);
}
.renew-ot-services__head { position: relative; margin: 0 0 42px !important; text-align: center; }
.renew-ot-services__head .renew-ot-section-heading { max-width: 10ch; margin: 0 auto 22px; }
.renew-ot-services__intro { max-width: 43ch; margin: 0 auto !important; }
.renew-ot-services__layout { position: relative; display: grid !important; grid-template-columns: 1fr; gap: 22px; margin: 0 !important; }
.renew-ot-service {
	position: relative;
	overflow: hidden;
	margin: 0 !important;
	padding: 32px 27px;
	cursor: pointer;
	background: var(--renew-plaster);
	box-shadow: var(--renew-shadow-small);
	transition: transform 300ms var(--renew-ease), box-shadow 300ms ease;
}
.renew-ot-service--featured {
	min-height: 420px;
	display: flex !important;
	flex-direction: column;
	justify-content: flex-end;
	border-radius: 44px 110px 44px 44px;
	background: var(--renew-soot);
	color: var(--renew-white);
}
.renew-ot-service--featured::before {
	content: "";
	position: absolute;
	top: -120px;
	right: -90px;
	width: 350px;
	height: 350px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 46% 54% 60% 40% / 55% 44% 56% 45%;
}
.renew-ot-service__icon {
	width: 62px;
	height: 62px;
	display: grid;
	place-items: center;
	margin: 0 0 auto !important;
	padding: 15px;
	border-radius: 50%;
	background: var(--renew-mist);
}
.renew-ot-service__icon img { width: 32px !important; height: 32px !important; object-fit: contain; }
.renew-ot-service h3 { max-width: 14ch; margin: 0 0 20px; font-size: clamp(2.2rem, 10vw, 3.8rem); line-height: 1.02; }
.renew-ot-service > p:not(.renew-text-link) { max-width: 48ch; margin: 0 0 20px; color: var(--renew-ink-soft); }
.renew-ot-service--featured h3, .renew-ot-service--featured .renew-text-link a { color: var(--renew-white); }
.renew-ot-service--featured > p:not(.renew-text-link) { color: rgba(255, 255, 255, .84); }
.renew-ot-services__stack { display: grid !important; gap: 22px; margin: 0 !important; }
.renew-ot-service--compact {
	min-height: 285px;
	display: grid !important;
	grid-template-columns: 1fr auto;
	grid-template-rows: auto auto 1fr;
	column-gap: 22px;
	border-radius: 44px 44px 98px 44px;
}
.renew-ot-service--online { border-radius: 98px 44px 44px 44px; background: var(--renew-mist); }
.renew-ot-service--compact .renew-ot-service__icon { grid-column: 2; grid-row: 1 / span 2; width: 50px; height: 50px; margin: 0 !important; padding: 10px; background: var(--renew-white); }
.renew-ot-service--compact h3, .renew-ot-service--compact > p { grid-column: 1; }
.renew-ot-service--compact h3 { margin-bottom: 14px; font-size: clamp(2rem, 9vw, 2.75rem); }
.renew-ot-service--compact > p:not(.renew-text-link) { margin-bottom: 12px; }
.renew-ot-service--compact .renew-text-link { align-self: end; justify-self: start; }
.renew-ot-service .renew-text-link a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}
.renew-ot-service:focus-within { outline: 3px solid var(--renew-mist); outline-offset: 4px; }

/* Services page disclosures */
.renew-services-disclosures .renew-ot-service {
	cursor: default;
}
.renew-services-disclosures .renew-ot-service:hover {
	transform: none;
}
.renew-service-toggle {
	position: relative;
	z-index: 3;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	align-self: end;
	justify-self: start;
	margin: 2px 0 0;
	padding: 8px 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--renew-moss);
	font: inherit;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
	cursor: pointer;
}
.renew-ot-service--featured .renew-service-toggle {
	color: var(--renew-white);
}
.renew-service-toggle:focus-visible {
	outline: 3px solid var(--renew-mist);
	outline-offset: 5px;
}
.renew-service-toggle__icon {
	display: inline-block;
	font-size: 1.05rem;
	line-height: 1;
	transform: rotate(0deg);
	transition: transform 200ms var(--renew-ease);
}
.renew-service-toggle[aria-expanded="true"] .renew-service-toggle__icon {
	transform: rotate(180deg);
}
.renew-service-details {
	width: 100%;
	display: grid;
	grid-column: 1 / -1;
	grid-template-rows: 0fr;
	opacity: 0;
	transition: grid-template-rows 200ms var(--renew-ease), opacity 160ms ease-out;
}
.renew-service-details[hidden] {
	display: none;
}
.renew-service-details.is-open {
	grid-template-rows: 1fr;
	opacity: 1;
}
.renew-service-details__clip {
	min-height: 0;
	overflow: hidden;
}
.renew-service-details__inner {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(45, 53, 54, .2);
	color: var(--renew-ink-soft);
}
.renew-ot-service--featured .renew-service-details__inner {
	border-top-color: rgba(255, 255, 255, .24);
	color: rgba(255, 255, 255, .86);
}
.renew-service-details__inner > :first-child { margin-top: 0; }
.renew-service-details__inner > :last-child { margin-bottom: 0; }
.renew-service-details__inner p,
.renew-service-details__inner li {
	font-size: clamp(1rem, 2vw, 1.08rem);
	line-height: 1.75;
}
.renew-service-details__inner ul {
	margin: 16px 0 0;
	padding-left: 1.25em;
}

/* What to expect */
.renew-ot-expect { position: relative; overflow: hidden; margin: 0 !important; padding: 84px 0; background: var(--renew-plaster); }
.renew-ot-expect > .renew-ot-section-inner > .renew-ot-section-heading { max-width: none; margin: 0 auto 54px; }
.renew-ot-steps { position: relative; display: grid !important; grid-template-columns: 1fr; gap: 44px; margin: 0 !important; padding-left: 28px; }
.renew-ot-steps::before { content: ""; position: absolute; top: 12px; bottom: 12px; left: 7px; width: 1px; background: rgba(45, 53, 54, .25); }
.renew-ot-step { position: relative; margin: 0 !important; padding: 0 0 0 20px; text-align: left; }
.renew-ot-step::before {
	content: "";
	position: absolute;
	top: 6px;
	left: -28px;
	z-index: 1;
	width: 22px;
	height: 22px;
	border: 6px solid var(--renew-plaster);
	border-radius: 50%;
	background: var(--renew-moss);
	box-shadow: 0 0 0 1px var(--renew-moss);
}
.renew-ot-step h3 { margin: 0 0 12px; font-size: clamp(1.95rem, 9vw, 2.7rem); line-height: 1.03; }
.renew-ot-step p { max-width: 36ch; margin: 0; color: var(--renew-ink-soft); }

/* CTA */
.renew-ot-cta { position: relative; overflow: hidden; margin: 0 !important; padding: 96px 0; background: var(--renew-soot); color: var(--renew-white); }
.renew-ot-cta::before, .renew-ot-cta::after { content: ""; position: absolute; border-radius: 48% 52% 38% 62% / 58% 44% 56% 42%; }
.renew-ot-cta::before { top: -210px; left: -150px; width: 500px; height: 500px; background: rgba(179, 201, 214, .12); }
.renew-ot-cta::after { right: -170px; bottom: -240px; width: 540px; height: 540px; border: 1px solid rgba(255, 255, 255, .18); }
.renew-ot-cta__inner { position: relative; z-index: 1; width: min(930px, calc(100% - 40px)); margin: 0 auto !important; text-align: center; }
.renew-ot-cta__heading { margin: 0 0 28px; color: var(--renew-white); font-size: clamp(3.2rem, 15vw, 5.85rem); }
.renew-ot-cta__heading em { color: var(--renew-mist); }
.renew-ot-cta__inner > p { max-width: 61ch; margin: 0 auto 35px; color: rgba(255, 255, 255, .82); font-size: 1.08rem; }
.renew-ot-cta__actions { display: grid !important; justify-items: center; gap: 14px; }
.renew-ot-cta__actions .wp-block-button, .renew-ot-cta__actions .wp-block-button__link { width: min(100%, 350px); }
.renew-ot-cta__actions .is-style-outline .wp-block-button__link { border-color: rgba(255, 255, 255, .52); background: transparent; color: var(--renew-white); box-shadow: none; }

/* Footer */
.renew-ot-site-footer { margin: 0 !important; padding: 72px 0 max(28px, env(safe-area-inset-bottom)); background: var(--renew-moss); color: var(--renew-white); }
.renew-ot-footer-inner { width: var(--renew-page); margin: 0 auto !important; }
.renew-ot-footer-grid { display: grid !important; grid-template-columns: 1fr; gap: 36px; margin: 0 !important; padding-bottom: 52px; }
.renew-ot-footer-brand .wp-block-site-logo { margin: 0 0 20px; }
.renew-ot-footer-brand .wp-block-site-logo a { width: 116px; height: 96px; display: block; overflow: hidden; border-radius: 42px 42px 42px 12px; box-shadow: var(--renew-shadow-small); }
.renew-ot-footer-brand .wp-block-site-logo img { width: 100% !important; height: 100% !important; object-fit: cover; object-position: center; }
.renew-ot-footer-brand p { max-width: 36ch; color: rgba(255, 255, 255, .84); }
.renew-ot-footer-title { margin: 0 0 22px; color: var(--renew-white); font-family: var(--renew-body); font-size: .72rem; font-weight: 800; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.renew-ot-footer-block p { margin: 0 0 10px; color: rgba(255, 255, 255, .84); }
.renew-ot-footer-block a { color: var(--renew-white); text-decoration-color: rgba(255, 255, 255, .5); }
.renew-footer-contact-list { display: grid !important; gap: 8px; margin: 0 0 16px !important; }
.renew-footer-contact-row, .renew-footer-hours { margin: 0 !important; }
.renew-ot-footer-links .wp-block-navigation__container { align-items: flex-start; gap: 10px; }
.renew-ot-footer-links .wp-block-navigation-item__content { color: var(--renew-white); text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .5); }
.renew-ot-footer-bottom { display: block !important; margin: 0 !important; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, .24); color: rgba(255, 255, 255, .78); font-size: .78rem; }
.renew-ot-footer-bottom p { margin: 0; }
.renew-ot-footer-bottom p + p { margin-top: 10px; }
.renew-ot-footer-credit { white-space: nowrap; }
.renew-ot-footer-credit a { color: inherit; text-decoration-color: rgba(255, 255, 255, .42); text-underline-offset: .22em; }
.renew-contact-is-empty[hidden], .renew-contact-group-empty[hidden] { display: none !important; }

/* Readable legal pages with restrained line length and clear section rhythm. */
.renew-legal-page { padding: clamp(58px, 8vw, 104px) 0; }
.renew-legal-page > * { max-width: 72ch; }
.renew-legal-page h1 { max-width: 12ch; margin-bottom: 18px; }
.renew-legal-page .renew-legal-updated { margin-bottom: 44px; color: var(--renew-moss); font-weight: 700; }
.renew-legal-page h2 { margin-top: 46px; margin-bottom: 12px; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.renew-legal-page h3 { margin-top: 28px; margin-bottom: 8px; font-size: 1.2rem; }
.renew-legal-page p, .renew-legal-page li { color: var(--renew-ink-soft); }
.renew-legal-page li + li { margin-top: 8px; }
.renew-legal-page a { overflow-wrap: anywhere; }
.renew-legal-notice { margin: 28px 0 40px; padding: 22px 24px; border-radius: 14px; background: rgba(179, 201, 214, .24); }

/* Interior pages and plugin output */
.wp-block-post-content > :not(.alignfull), .renew-team-page-intro, .renew-faq {
	width: min(860px, calc(100% - 28px));
	margin-right: auto;
	margin-left: auto;
}
.wp-block-post-content > h1:first-child, .renew-page-hero h1, .renew-team-page-intro h1, .renew-faq h1 {
	font-size: clamp(3.2rem, 12vw, 5.75rem);
}
.is-style-renew-section, .renew-team-page-intro, .renew-faq { padding-top: clamp(72px, 9vw, 120px); padding-bottom: clamp(72px, 9vw, 120px); }
.is-style-renew-card { padding: 28px; border-radius: 30px; background: var(--renew-white); box-shadow: var(--renew-shadow-small); }
.renew-clinician-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.renew-clinician-card { overflow: hidden; border-radius: 38px 38px 90px 38px; background: var(--renew-white); box-shadow: var(--renew-shadow-small); }
.renew-clinician-photo { aspect-ratio: 4 / 5; overflow: hidden; background: var(--renew-eucalyptus); }
.renew-clinician-photo img { width: 100%; height: 100%; object-fit: cover; }
.renew-clinician-content { padding: 28px; }
.renew-clinician-content h2 { font-size: clamp(2rem, 8vw, 3rem); }
.renew-clinician-role, .renew-clinician-specialties { color: var(--renew-moss); font-weight: 700; }

/* Editable careers listing supplied by Renew Core. */
.renew-job-list { display: grid; gap: 20px; margin-top: 42px; }
.renew-job-card {
	padding: clamp(28px, 5vw, 46px);
	border-radius: 42px 42px 92px 42px;
	background: var(--renew-white);
	box-shadow: var(--renew-shadow-small);
}
.renew-job-card h2 { margin-bottom: 16px; font-size: clamp(2rem, 5vw, 3.3rem); }
.renew-job-card__content { max-width: 70ch; color: var(--renew-ink-soft); }
.renew-job-card__link { display: inline-flex; margin-top: 10px; color: var(--renew-moss); font-weight: 700; }
.renew-job-empty { margin-top: 34px; text-align: center; color: var(--renew-ink-soft); }
.renew-faq-list { display: grid; gap: 14px; }
.renew-faq-list details { overflow: hidden; border-radius: 24px; background: var(--renew-white); box-shadow: var(--renew-shadow-small); }
.renew-faq-list summary { min-height: 56px; padding: 20px 24px; cursor: pointer; color: var(--renew-soot); font-family: var(--renew-display); font-size: 1.45rem; }
.renew-faq-answer { padding: 0 24px 22px; color: var(--renew-ink-soft); }

/* Motion starts visible so script failures never hide content. */
.renew-reveal { opacity: 1; transform: none; }
.renew-motion-ready .renew-reveal { opacity: .01; transform: translateY(24px); transition: opacity 720ms var(--renew-ease), transform 720ms var(--renew-ease); }
.renew-motion-ready .renew-reveal.is-visible { opacity: 1; transform: translateY(0); }
.renew-motion-ready .renew-ot-hero__visual.renew-reveal {
	clip-path: inset(0 0 18% 0 round 90px);
	transform: translateY(16px) scale(.985);
	transition: opacity 900ms var(--renew-ease), transform 900ms var(--renew-ease), clip-path 1100ms var(--renew-ease);
	transition-delay: 120ms;
}
.renew-motion-ready .renew-ot-hero__visual.renew-reveal.is-visible {
	clip-path: inset(0 0 0 0 round 0);
	transform: translate(var(--renew-parallax-x, 0), var(--renew-parallax-y, 0)) scale(1);
}

@media (min-width: 601px) {
	:root { --renew-page: min(1180px, calc(100% - 48px)); }
	body { font-size: 16px; }
	.renew-ot-brand a { width: 78px; height: 64px; border-radius: 30px 30px 30px 8px; }
	.renew-ot-portal-button .wp-block-button__link { min-height: 44px; padding: 11px 16px; font-size: .67rem; }
	.renew-ot-hero { padding-top: 38px; }
	.renew-ot-hero__copy h1 { font-size: clamp(3.45rem, 12vw, 5.35rem); }
	.renew-ot-hero__actions { display: flex !important; justify-content: center; align-items: center; gap: 15px 22px !important; }
	.renew-ot-hero__actions .wp-block-buttons, .renew-ot-hero__actions .wp-block-button { width: auto; }
	.renew-ot-hero__actions .wp-block-button__link { width: auto; }
	.renew-ot-about, .renew-ot-services, .renew-ot-expect { padding: 96px 0; }
	.renew-ot-about__copy .wp-block-button, .renew-ot-about__copy .wp-block-button__link { width: auto; }
	.renew-ot-cta__actions { display: flex !important; }
	.renew-ot-cta__actions .wp-block-button, .renew-ot-cta__actions .wp-block-button__link { width: auto; }
	.renew-ot-footer-grid { grid-template-columns: 1fr 1fr; }
	.renew-ot-footer-bottom { display: flex !important; align-items: center; justify-content: space-between; gap: 28px; }
	.renew-ot-footer-bottom p + p { margin-top: 0; }
	.renew-ot-footer-bottom > p:nth-child(2) { flex: 1; text-align: center; }
	.renew-clinician-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 861px) {
	.renew-ot-header-inner { width: var(--renew-page); min-height: 92px; grid-template-columns: 150px 1fr auto; gap: 26px; }
	.renew-ot-brand { grid-column: 1; }
	.renew-ot-brand a { width: 86px; height: 70px; }
	.renew-ot-primary-nav { grid-column: 2; }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container-open { display: none; }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: block; position: relative; width: 100%; z-index: auto; }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container-content { padding: 0; }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container { flex-direction: row; align-items: center; justify-content: center; gap: clamp(18px, 2.2vw, 34px); }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item { border: 0; }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		position: relative;
		width: auto;
		padding: 10px 0;
		font-family: var(--renew-body);
		font-size: .73rem;
		font-weight: 700;
		letter-spacing: .13em;
		text-transform: uppercase;
	}
	.renew-ot-primary-nav .wp-block-navigation-item__content::after {
		content: "";
		position: absolute;
		right: 0;
		bottom: 3px;
		left: 0;
		height: 1px;
		background: var(--renew-moss);
		transform: scaleX(0);
		transform-origin: right;
		transition: transform 260ms var(--renew-ease);
	}
	.renew-ot-portal-button .wp-block-button__link { min-height: 46px; padding: 12px 21px; font-size: .72rem; }
	.renew-ot-hero { min-height: 730px; display: grid; align-items: center; padding: 76px 0 96px; }
	.renew-ot-hero__inner { grid-template-columns: minmax(0, .92fr) minmax(500px, 1.08fr); align-items: center; gap: clamp(50px, 7vw, 105px); }
	.renew-ot-hero__copy { max-width: 610px; margin: 0 !important; text-align: left; }
	.renew-ot-hero__copy h1 { max-width: 9.8ch; margin: 0 0 30px; font-size: clamp(3.8rem, 6.25vw, 5.9rem); }
	.renew-ot-hero__copy > p:not(.renew-availability) { margin: 0 0 34px; line-height: 1.78; }
	.renew-ot-hero__actions { justify-content: flex-start; }
	.renew-availability { margin: 30px 0 0 !important; }
	.renew-ot-hero__visual { order: initial; width: auto; height: 550px; margin: 0 !important; }
	.renew-ot-hero__visual::before { top: 52px; right: 8%; width: 290px; height: 290px; }
	.renew-ot-hero__visual::after { right: 4%; bottom: 4px; width: 238px; height: 238px; }
	.renew-ot-photo--main { top: 0; left: 0; width: min(61%, 360px); height: 475px; }
	.renew-ot-photo--secondary {
		right: 0;
		bottom: 2px;
		width: min(51%, 300px);
		height: 392px;
		display: block;
		border: 10px solid var(--renew-plaster);
		border-radius: 58% 42% 56% 44% / 52% 62% 38% 48%;
	}
	.renew-ot-photo--secondary img { object-position: 41% 76%; }
	.renew-ot-photo--secondary img[src*="option-two-hero-secondary.png"] { transform: scale(1.79); transform-origin: 41% 76%; }
	.renew-ot-principles__track { width: var(--renew-page); min-height: 98px; display: grid !important; grid-template-columns: repeat(4, 1fr); margin: 0 auto !important; animation: none; }
	.renew-ot-principle { min-width: 0; padding: 22px 18px; }
	.renew-ot-principle--duplicate { display: none; }
	.renew-ot-about, .renew-ot-services, .renew-ot-expect { padding: clamp(92px, 10vw, 146px) 0; }
	.renew-ot-about__grid { grid-template-columns: minmax(430px, .94fr) minmax(0, 1.06fr); align-items: center; gap: clamp(65px, 9vw, 135px); }
	.renew-ot-about__photo-wrap { width: auto; min-height: 560px; margin: 0 !important; }
	.renew-ot-about__photo { inset: 26px 0 0 26px; height: calc(100% - 26px); }
	.renew-ot-about__copy { margin: 0 !important; text-align: left; }
	.renew-ot-about__copy .renew-ot-section-heading, .renew-ot-about__copy .renew-ot-section-copy { margin-right: 0; margin-left: 0; }
	.renew-ot-about__copy .wp-block-buttons { justify-content: flex-start; }
	.renew-ot-section-heading { font-size: clamp(3rem, 5vw, 5.15rem); }
	.renew-ot-services__head { display: flex !important; align-items: end; justify-content: space-between; gap: 44px; margin-bottom: 58px !important; text-align: left; }
	.renew-ot-services__head .renew-ot-section-heading { margin: 0; }
	.renew-ot-services__intro { margin: 0 !important; }
	.renew-ot-services__layout { grid-template-columns: 1.12fr .88fr; }
	.renew-ot-service { padding: clamp(32px, 4.3vw, 56px); }
	.renew-ot-service--featured { min-height: 520px; border-radius: 62px 160px 62px 62px; }
	.renew-ot-service--compact { min-height: 249px; border-radius: 54px 54px 130px 54px; }
	.renew-ot-service--online { border-radius: 130px 54px 54px 54px; }
	.renew-ot-service--compact .renew-ot-service__icon { width: 62px; height: 62px; padding: 15px; }
	.renew-ot-service h3 { font-size: clamp(2.2rem, 3.6vw, 3.8rem); }
	.renew-ot-service--compact h3 { font-size: clamp(2rem, 2.9vw, 2.75rem); }
	.renew-services-disclosures .renew-ot-service--featured,
	.renew-services-disclosures .renew-ot-service--compact { min-height: 0; }
	.renew-ot-expect > .renew-ot-section-inner > .renew-ot-section-heading { margin-bottom: 72px; }
	.renew-ot-steps { grid-template-columns: repeat(3, 1fr); gap: clamp(34px, 6vw, 82px); padding-left: 0; }
	.renew-ot-steps::before { top: 19px; right: 14%; bottom: auto; left: 14%; width: auto; height: 1px; }
	.renew-ot-step { padding: 58px 0 0; text-align: center; }
	.renew-ot-step::before { top: 9px; left: calc(50% - 11px); }
	.renew-ot-step h3 { min-height: 2.05em; margin-bottom: 18px; }
	.renew-ot-step p { margin: 0 auto; }
	.renew-ot-cta { padding: clamp(96px, 11vw, 154px) 0; }
	.renew-ot-footer-grid { grid-template-columns: 1.22fr 1fr .8fr .8fr; gap: 50px; padding-bottom: 58px; }
	.renew-clinician-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 861px) and (max-width: 1080px) {
	.renew-ot-header-inner { grid-template-columns: 120px 1fr auto; gap: 18px; }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation__container { gap: 17px; }
	.renew-ot-primary-nav .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content { font-size: .66rem; letter-spacing: .1em; }
	.renew-ot-hero__inner { grid-template-columns: minmax(0, .9fr) minmax(450px, 1.1fr); gap: 46px; }
	.renew-ot-footer-grid { grid-template-columns: 1.2fr 1fr .8fr; }
	.renew-ot-footer-hours { grid-column: 2; }
}

@media (hover: hover) and (pointer: fine) {
	.wp-element-button:hover, .wp-block-button__link:hover { background: #1f2627; box-shadow: 0 18px 38px rgba(45, 53, 54, .22); transform: translateY(-2px); }
	.renew-text-link a:hover span { transform: translateX(4px); }
	.renew-ot-primary-nav .wp-block-navigation-item__content:hover::after, .renew-ot-primary-nav .wp-block-navigation-item__content:focus-visible::after { transform: scaleX(1); transform-origin: left; }
	.renew-ot-service:hover { transform: translateY(-5px); box-shadow: var(--renew-shadow); }
	.renew-ot-cta__actions .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
	.renew-motion-ready .renew-reveal { opacity: 1; clip-path: none; transform: none; }
}


/* About — live clinician directory from Renew Core */
.renew-about-clinicians { padding: clamp(64px, 8vw, 110px) 24px; background: var(--renew-plaster, #f2efe2); scroll-margin-top: 110px; }
.renew-about-clinicians-inner { max-width: 1180px; margin: auto; }
.renew-about-clinicians-eyebrow { text-align: center; color: #697c70; font-size: .75rem; font-weight: 700; letter-spacing: .15em; }
.renew-about-clinicians h2#renew-about-clinicians-heading { margin: 16px auto 20px; text-align: center; font-size: clamp(2.5rem, 6vw, 4.8rem); }
.renew-about-clinicians-intro { max-width: 660px; margin: 0 auto 48px; text-align: center; color: #4a5858; line-height: 1.75; }
.renew-about-clinicians .renew-clinician-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 345px)); justify-content: center; }
.renew-about-clinicians .renew-clinician-card { height: 100%; }


/* About mobile layout — purpose and plugin-powered clinician directory.
   Scoped to About so other page cards remain untouched. */
body.page .renew-purpose-band,
body.page .renew-about-clinicians {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}

.renew-about-clinicians .renew-clinician-grid {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 345px));
  justify-content: center;
  gap: clamp(18px, 3vw, 30px);
}
.renew-about-clinicians .renew-clinician-card {
  min-width: 0;
  width: 100%;
  max-width: 100%;
}
.renew-about-clinicians .renew-clinician-photo img { width: 100%; height: 100%; object-fit: cover; }
.renew-about-clinicians .renew-clinician-content { min-width: 0; }

@media (max-width: 767px) {
  .renew-purpose-band {
    width: 100% !important;
    max-width: 100% !important;
    padding: clamp(42px, 9vw, 66px) 20px !important;
  }
  .renew-purpose-band > :where(*),
  .renew-purpose-band .renew-purpose-grid,
  .renew-purpose-band .wp-block-column,
  .renew-purpose-band .renew-purpose-card {
    box-sizing: border-box;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .renew-purpose-band .renew-purpose-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    margin-top: 28px !important;
  }
  .renew-purpose-band .renew-purpose-grid > .wp-block-column {
    flex-basis: auto !important;
    flex-grow: 0 !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .renew-purpose-band .renew-purpose-card {
    width: 100%;
    margin: 0 !important;
    padding: clamp(23px, 6vw, 34px);
    border-radius: 30px 55px 30px 30px;
    background: rgba(255,254,249,.42);
    border: 1px solid rgba(255,255,255,.65);
    box-shadow: 0 12px 30px rgba(71,91,82,.06);
  }
  .renew-purpose-band .renew-purpose-card h3 {
    font-size: clamp(1.65rem, 7vw, 2.3rem);
    line-height: 1.18;
    overflow-wrap: normal;
  }
  .renew-purpose-band .renew-purpose-card p:not(.has-text-color) {
    font-size: clamp(.94rem, 3.8vw, 1.04rem);
    line-height: 1.7;
  }
  .renew-purpose-band > h2 {
    max-width: 100%;
    padding-inline: 0;
    font-size: clamp(2rem, 8vw, 3.2rem);
    line-height: 1.12;
  }
  .renew-purpose-band .renew-purpose-values {
    font-size: clamp(1rem, 4vw, 1.2rem) !important;
  }

  .renew-about-clinicians {
    width: 100%;
    padding: 52px 18px 70px;
    scroll-margin-top: 110px;
  }
  .renew-about-clinicians-inner { width: 100%; min-width: 0; }
  .renew-about-clinicians h2#renew-about-clinicians-heading {
    max-width: 100%;
    font-size: clamp(2rem, 8vw, 3rem);
    line-height: 1.15;
  }
  .renew-about-clinicians-intro {
    margin-bottom: 30px;
    font-size: clamp(.98rem, 3.8vw, 1.08rem);
    line-height: 1.65;
  }
  .renew-about-clinicians .renew-clinician-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px;
  }
  .renew-about-clinicians .renew-clinician-card {
    max-width: 440px;
    margin-inline: auto;
    border-radius: 30px 30px 58px 30px;
    height: auto;
  }
  .renew-about-clinicians .renew-clinician-photo { aspect-ratio: 4 / 4.3; }
  .renew-about-clinicians .renew-clinician-content { padding: 24px 22px 28px; }
  .renew-about-clinicians .renew-clinician-content h2 {
    font-size: clamp(1.65rem, 7vw, 2.35rem);
    line-height: 1.12;
  }
  .renew-about-clinicians .renew-clinician-content p,
  .renew-about-clinicians .renew-clinician-bio {
    font-size: clamp(.94rem, 3.8vw, 1.04rem);
    line-height: 1.65;
  }
}

/* Consistent section positioning beneath the shared header. */
html { scroll-padding-top: clamp(95px, 11vw, 140px); }
#expect, #clinicians, #insurance-pricing, #frequently-asked-questions {
    scroll-margin-top: clamp(95px, 11vw, 140px);
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
}
