:root {
	--pv-forest: #0b251c;
	--pv-forest-2: #15382a;
	--pv-green: #648e54;
	--pv-lime: #c6c94c;
	--pv-cream: #f3eee3;
	--pv-white: #fffdf7;
	--pv-ink: #16221b;
	--pv-muted: #6f786f;
	--pv-line: rgba(18, 49, 37, .18);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-x: hidden; background: var(--pv-cream); color: var(--pv-ink); }
.wp-site-blocks { padding: 0 !important; }
body .wp-site-blocks > * { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Header */
.pv-header { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--pv-line); background: rgba(243,238,227,.97); backdrop-filter: blur(14px); }
.admin-bar .pv-header { top: 32px; }
.pv-header__inner { min-height: 78px; padding: 0 clamp(24px,5vw,76px); }
.pv-brand-lockup { gap: 12px; }
.pv-isotype { flex: 0 0 auto; margin: 0; line-height: 0; }
.pv-isotype img { display: block; filter: grayscale(1) contrast(1.5) brightness(.5); }
.pv-brand a { color: var(--pv-forest); font-size: 1.15rem; font-weight: 800; letter-spacing: .02em; text-decoration: none; text-transform: uppercase; }
.pv-nav { color: var(--pv-forest); font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pv-nav a { color: inherit; text-decoration: none; }
.pv-nav a:hover { color: var(--pv-green); }
.pv-header-cta { margin: 0; }
.pv-header-cta .wp-block-button__link { padding: 13px 22px !important; }

/* Header over the home hero */
.home .pv-header { position: absolute; left: 0; right: 0; top: 32px; border-bottom-color: rgba(255,255,255,.14); background: linear-gradient(180deg,rgba(4,20,15,.58),transparent); backdrop-filter: none; }
.home:not(.admin-bar) .pv-header { top: 0; }
.home .pv-brand a,.home .pv-nav { color: var(--pv-white); }
.home .pv-isotype img { filter: grayscale(1) brightness(0) invert(1); }
.home .pv-header-cta .wp-block-button__link { background: var(--pv-green) !important; color: #fff !important; }

/* Shared type */
.pv-home h2,.pv-page h2 { font-size: clamp(2.15rem,4vw,3.65rem); font-weight: 750; line-height: 1.05; letter-spacing: -.04em; }
.pv-page h3 { font-size: clamp(1.35rem,2.2vw,1.85rem); line-height: 1.15; }
.pv-eyebrow { margin-bottom: .9rem; color: var(--pv-green); font-size: .72rem; font-weight: 850; letter-spacing: .2em; text-transform: uppercase; }
.pv-eyebrow--light { color: var(--pv-lime); }

/* Hero */
.pv-hero { min-height: min(790px,100vh) !important; padding: 150px clamp(28px,6vw,94px) 74px; align-items: center; }
.pv-hero::before { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(2,20,14,.84) 0%,rgba(3,24,17,.55) 37%,rgba(3,24,17,.08) 68%,transparent 100%); content: ""; pointer-events: none; }
.pv-hero .wp-block-cover__image-background { object-position: center center; }
.pv-hero .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; }
.pv-hero__card { margin-left: 0 !important; max-width: 610px; padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--pv-white); box-shadow: none; }
.pv-hero__card h1 { max-width: 590px; margin: .25rem 0 1.25rem; color: var(--pv-white); font-size: clamp(3.15rem,5.8vw,5.45rem) !important; font-weight: 760; letter-spacing: -.06em; line-height: .94; text-shadow: 0 2px 24px rgba(0,0,0,.16); }
.pv-hero__card .has-large-font-size { max-width: 540px; color: rgba(255,255,255,.83); font-size: clamp(1.05rem,1.45vw,1.24rem) !important; line-height: 1.55; }
.pv-hero .wp-block-buttons { gap: 18px; align-items: center; }
.pv-hero .wp-block-button__link { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 14px 24px !important; border-radius: 4px !important; }
.pv-hero__card .wp-block-button:first-child .wp-block-button__link { background: var(--pv-green) !important; color: #fff !important; }
.pv-hero__card .is-style-outline .wp-block-button__link { padding-left: 4px !important; padding-right: 4px !important; border: 0; background: transparent !important; color: #fff; }
.pv-hero__card .is-style-outline .wp-block-button__link::after { margin-left: 10px; content: "→"; }
.pv-hero__card .has-small-font-size { color: rgba(255,255,255,.65); font-size: .78rem !important; }

/* Trust bar */
.pv-trust { padding: 34px clamp(24px,5vw,76px); border: 0; background: var(--pv-cream) !important; color: var(--pv-forest); }
.pv-trust .wp-block-columns { gap: clamp(26px,5vw,70px); }
.pv-trust p { margin: 0; color: var(--pv-forest); font-size: .88rem; line-height: 1.4; }
.pv-trust strong { display: inline-block; margin-bottom: 4px; color: var(--pv-forest); font-size: 1rem; }
.pv-trust strong::before { display: block; margin-bottom: 12px; color: var(--pv-green); font-size: 2rem; font-weight: 400; line-height: 1; content: "✦"; }
.pv-trust .wp-block-column:nth-child(2) strong::before { content: "◎"; }
.pv-trust .wp-block-column:nth-child(3) strong::before { content: "♙"; }

/* Home sections */
.pv-section { padding-top: clamp(78px,9vw,126px); padding-bottom: clamp(78px,9vw,126px); }
.pv-offers { max-width: none !important; padding-left: clamp(28px,6vw,92px) !important; padding-right: clamp(28px,6vw,92px) !important; background: var(--pv-forest); color: var(--pv-white); }
.pv-offers > .pv-eyebrow { color: var(--pv-lime); text-align: left !important; }
.pv-offers > h2 { max-width: 760px; color: var(--pv-white) !important; text-align: left !important; }
.pv-offer-grid { max-width: 1080px; margin: 48px 0 0 !important; gap: 24px; }
.pv-offer { position: relative; min-height: 330px; padding: clamp(30px,4vw,48px); border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.055); color: rgba(255,255,255,.76); box-shadow: 0 22px 60px rgba(0,0,0,.12); }
.pv-offer--featured { background: rgba(255,255,255,.09); transform: none; }
.pv-offer__label { margin: 0 0 16px; color: var(--pv-lime); font-size: .7rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.pv-offer h3,.pv-offer__price { color: var(--pv-white); }
.pv-offer h3 { margin-top: 0; font-size: clamp(1.65rem,2.7vw,2.25rem); letter-spacing: -.035em; }
.pv-offer__price { margin: 28px 0 4px; font-size: 1.45rem; font-weight: 800; }
.pv-offer .pv-form-note { color: rgba(255,255,255,.55); }
.pv-offer .wp-block-button__link { padding: 0 !important; background: transparent !important; color: var(--pv-lime) !important; }
.pv-offer .wp-block-button__link::after { margin-left: 10px; content: "→"; }

.pv-home > .pv-section:not(.pv-offers):not(.pv-split):not(.pv-cta) { padding-left: clamp(26px,5vw,74px); padding-right: clamp(26px,5vw,74px); background: var(--pv-cream); }
.pv-cards { margin-top: 48px; gap: 18px; }
.pv-card,.pv-post-card { padding: 34px; border: 1px solid var(--pv-line); border-radius: 8px; background: rgba(255,253,247,.62); box-shadow: none; }
.pv-card h3 { color: var(--pv-forest); font-size: 1.38rem; }
.pv-card__number { display: grid; width: 44px; height: 44px; margin-bottom: 24px; border: 1px solid var(--pv-green); border-radius: 50%; color: var(--pv-green); font-size: .8rem; font-weight: 850; place-items: center; }

.pv-split { background: #143128 !important; }
.pv-split .wp-block-columns { gap: clamp(40px,7vw,96px); }
.pv-split h2 { max-width: 650px; color: var(--pv-white) !important; }
.pv-split p,.pv-split li { color: rgba(255,255,255,.72); }
.pv-note { padding: clamp(30px,4vw,48px); border: 1px solid rgba(255,255,255,.18); border-radius: 8px; background: rgba(255,255,255,.045); }

.pv-cta { margin: 0; padding: clamp(70px,9vw,112px) clamp(24px,6vw,76px); border: 0; border-radius: 0; background: #203e33; color: var(--pv-white); }
.pv-cta h2 { color: var(--pv-white) !important; }
.pv-cta p { color: rgba(255,255,255,.72); }
.pv-cta .wp-block-button__link { background: var(--pv-green) !important; color: #fff !important; }

/* Interior pages */
.pv-page { min-height: 60vh; padding: clamp(76px,9vw,120px) clamp(24px,6vw,82px); }
.pv-page:has(.pv-page-hero) { padding-top: 0; }
.pv-page > :first-child { margin-top: 0; }
.pv-page h1 { max-width: 920px; color: var(--pv-forest); font-size: clamp(3rem,6vw,5.4rem); font-weight: 760; line-height: .95; letter-spacing: -.055em; }
.pv-page > .has-large-font-size { max-width: 760px; color: #4d5c52; font-size: clamp(1.15rem,1.9vw,1.4rem) !important; line-height: 1.6; }
.pv-page p,.pv-page li { max-width: 760px; }
.pv-price-box { margin: 42px 0; padding: clamp(30px,4vw,48px); border: 1px solid var(--pv-line); border-radius: 8px; background: var(--pv-white); box-shadow: none; }
.pv-price-box h2 { margin-top: 0; }
.pv-steps { counter-reset: pv-step; }
.pv-steps h2 { position: relative; margin-top: 44px; padding-left: 58px; font-size: clamp(1.55rem,2.5vw,2rem); }
.pv-steps h2::before { position: absolute; left: 0; display: grid; width: 38px; height: 38px; border: 1px solid var(--pv-green); border-radius: 50%; color: var(--pv-green); content: counter(pv-step); counter-increment: pv-step; font: 800 .9rem/1 var(--wp--preset--font-family--sans); place-items: center; }
.wp-block-details { margin: 0; padding: 21px 3px; border: 0; border-bottom: 1px solid var(--pv-line); background: transparent; }
.wp-block-details summary { color: var(--pv-forest); font-weight: 800; cursor: pointer; }

/* Interior visual system */
.pv-page-hero {
	width: 100vw;
	max-width: none !important;
	min-height: 450px;
	margin-left: calc(50% - 50vw) !important;
	margin-bottom: clamp(64px,8vw,104px) !important;
	padding: clamp(110px,13vw,170px) max(clamp(24px,8vw,124px),calc((100vw - 1160px)/2));
	background:
		radial-gradient(circle at 82% 20%,rgba(198,201,76,.11),transparent 24%),
		linear-gradient(135deg,#071d15,var(--pv-forest-2));
	color: var(--pv-white);
}
.pv-page-hero::after { display: block; width: 86px; height: 1px; margin-top: 34px; background: var(--pv-lime); content: ""; }
.pv-page-hero h1 { max-width: 950px; margin-bottom: 22px; color: var(--pv-white); }
.pv-page-hero .has-large-font-size { max-width: 760px; color: rgba(255,255,255,.75); }
.pv-page-hero--clinical { background: radial-gradient(circle at 78% 30%,rgba(198,201,76,.12),transparent 27%),linear-gradient(135deg,#102a22,#234539); }
.pv-intro-columns { margin-bottom: clamp(62px,8vw,104px) !important; gap: clamp(38px,7vw,100px); }
.pv-intro-columns h2 { margin-top: 0; }
.pv-intro-columns p { font-size: 1.08rem; }
.pv-feature-grid { margin: 42px 0 clamp(70px,8vw,106px); gap: 0; border-top: 1px solid var(--pv-line); border-bottom: 1px solid var(--pv-line); }
.pv-feature { padding: 34px clamp(20px,3vw,38px); border-right: 1px solid var(--pv-line); }
.pv-feature:last-child { border-right: 0; }
.pv-feature > span { display: inline-block; margin-bottom: 28px; color: var(--pv-green); font-size: .72rem; font-weight: 850; letter-spacing: .12em; }
.pv-feature h3 { margin-top: 0; color: var(--pv-forest); }
.pv-panel { margin: clamp(58px,8vw,100px) 0 0; padding: clamp(36px,6vw,66px); border: 1px solid var(--pv-line); border-radius: 8px; background: rgba(255,253,247,.66); }
.pv-panel h2 { margin-top: 0; }
.pv-dark-band { width: 100vw; max-width: none !important; margin: clamp(72px,9vw,120px) 0 calc(-1 * clamp(76px,9vw,120px)) calc(50% - 50vw) !important; padding: clamp(72px,9vw,116px) max(clamp(24px,8vw,124px),calc((100vw - 1160px)/2)); background: var(--pv-forest); color: rgba(255,255,255,.76); }
.pv-dark-band h2 { max-width: 840px; color: var(--pv-white); }
.pv-dark-band .has-large-font-size { max-width: 800px; color: rgba(255,255,255,.82); }
.pv-dark-band li { margin-bottom: 8px; }
.pv-dark-band .wp-block-button__link { margin-top: 16px; background: var(--pv-green) !important; color: #fff !important; }
.pv-contact-layout { gap: clamp(42px,8vw,110px); align-items: flex-start !important; }
.pv-contact-layout > .wp-block-column:first-child { padding-top: 28px; }
.pv-contact-layout h2 { margin-top: 0; }
.pv-post-card { height: 100%; padding: 30px; background: rgba(255,253,247,.66); }
.pv-post-card .wp-block-post-title a { color: var(--pv-forest); text-decoration: none; }
.pv-post-card .wp-block-post-excerpt__more-link { color: var(--pv-green); font-weight: 800; text-decoration: none; }

/* Forms */
.pv-form-wrap { margin-top: 42px; }
.pv-form { padding: clamp(28px,5vw,54px); border: 1px solid var(--pv-line); border-radius: 8px; background: var(--pv-white); box-shadow: none; }
.pv-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.pv-form label { display: block; margin-bottom: 21px; color: var(--pv-forest); font-weight: 750; }
.pv-form input:not([type="checkbox"]),.pv-form textarea,.pv-form select { width: 100%; margin-top: 8px; padding: 14px; border: 1px solid #b8c0b8; border-radius: 4px; background: #fff; color: var(--pv-ink); font: inherit; }
.pv-form input:focus,.pv-form textarea:focus,.pv-form select:focus { outline: 3px solid rgba(100,142,84,.2); border-color: var(--pv-green); }
.pv-form button { padding: 15px 25px; border: 0; border-radius: 4px; background: var(--pv-green); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.pv-check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; }
.pv-check input { margin-top: 5px; }
.pv-form-note { color: var(--pv-muted); font-size: .84rem; }
.pv-hp { position: absolute !important; left: -10000px !important; }
.pv-alert { margin-bottom: 20px; padding: 16px 18px; border-radius: 4px; }
.pv-alert--success { background: #e5eee3; color: #315135; }
.pv-alert--error,.pv-alert--warning { border: 1px solid #d48c7c; background: #fae8e2; color: #793526; }

/* Footer */
.pv-footer { padding: 78px 24px 28px; background: #081d16 !important; }
.pv-footer a { color: var(--pv-white); }
.pv-footer h2,.pv-footer h3 { color: var(--pv-white) !important; }
.pv-footer p,.pv-footer li { color: rgba(255,255,255,.66); }
.pv-footer ul { padding-left: 1.1rem; }
.pv-footer__legal { gap: 18px; padding-top: 25px; border-top: 1px solid rgba(255,255,255,.13); }
.pv-footer__legal p { margin: 0; }

@media (max-width:900px) {
	.pv-header-cta { display: none !important; }
	.pv-nav { font-size: .72rem; }
	.pv-hero { padding-left: 36px; padding-right: 36px; }
}
@media (max-width:700px) {
	.admin-bar .pv-header { top: 46px; }
	.home .pv-header { top: 46px; }
	.home:not(.admin-bar) .pv-header { top: 0; }
	.pv-header__inner { min-height: 68px; }
	.pv-isotype img { width: 36px !important; height: 36px !important; }
	.pv-brand a { font-size: 1rem; }
	.pv-hero { min-height: 780px !important; padding: 150px 22px 46px; align-items: flex-end; }
	.pv-hero::before { background: linear-gradient(180deg,rgba(2,20,14,.12) 0%,rgba(2,20,14,.36) 38%,rgba(2,20,14,.92) 78%); }
	.pv-hero .wp-block-cover__image-background { object-position: 64% center; }
	.pv-hero__card h1 { font-size: clamp(2.65rem,12vw,3.4rem) !important; }
	.pv-hero .wp-block-buttons { align-items: stretch; }
	.pv-hero .wp-block-button,.pv-hero .wp-block-button__link { width: 100%; }
	.pv-hero__card .is-style-outline .wp-block-button__link { justify-content: flex-start; }
	.pv-trust .wp-block-column { padding: 14px 0; }
	.pv-section { padding-top: 68px; padding-bottom: 68px; }
	.pv-offer-grid,.pv-cards { gap: 15px; }
	.pv-page { padding-top: 68px; padding-bottom: 76px; }
	.pv-page:has(.pv-page-hero) { padding-top: 0; }
	.pv-page-hero { min-height: 390px; padding-top: 96px; padding-bottom: 72px; }
	.pv-feature-grid { gap: 0; }
	.pv-feature { border-right: 0; border-bottom: 1px solid var(--pv-line); }
	.pv-feature:last-child { border-bottom: 0; }
	.pv-dark-band { margin-bottom: -76px !important; }
	.pv-form-grid { grid-template-columns: 1fr; gap: 0; }
	.pv-footer__legal { justify-content: center; text-align: center; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
