/* Who Buys Houses Fast: child theme design system.
   Tokens live in :root (printed by functions.php). Layout ideas come from
   national cash-buyer sites (photo hero + offer card, review bands, step
   cards, situation band); the speed-line motif and the green/yellow
   duotone come from our logo so the site is its own thing. */

/* ---------- base ---------- */
.whbf { --head-weight: 800; --h3-weight: 700; --head-track: -0.02em; color: var(--wh-ink); background: #fff; }
.whbf h1, .whbf h2, .whbf h3 { font-family: var(--head-font); letter-spacing: var(--head-track); }
.whbf a { color: var(--wh-green); }
.wi .wi-g { fill: var(--wh-green); } .wi .wi-y { fill: var(--wh-yellow); } .wi .wi-w { fill: #fff; } .wi .wi-d { fill: var(--wh-deep); }
.wi .wi-y-t { fill: var(--wh-deep); } .wi .wi-d-t { fill: var(--wh-deep); }
.wi { width: 56px; height: 56px; display: inline-block; flex: none; }

.wh-wrap { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.wh-wrap--narrow { max-width: 780px; } .wh-wrap--regular { max-width: 980px; } .wh-wrap--wide { max-width: 1200px; }
.wh-center { text-align: center; }
.wh-sec { position: relative; padding: clamp(56px, 7vw, 92px) 0; }
.wh-sec--white { background: #fff; } .wh-sec--mint { background: var(--wh-mint); } .wh-sec--cream { background: var(--wh-cream); }
.wh-sec--green { background: var(--wh-green); color: #fff; }
.wh-sec--deep { background: var(--wh-deep); color: #fff; }
.wh-sec--yellow { background: var(--wh-yellow); color: var(--wh-deep); }
.wh-sec--center { text-align: center; }
.wh-sec--green a:not(.wh-btn), .wh-sec--deep a:not(.wh-btn) { color: var(--wh-yellow); }
/* Slanted edges echo the logo's swoosh. */
.wh-slant--top { clip-path: polygon(0 3vw, 100% 0, 100% 100%, 0 100%); padding-top: calc(clamp(56px, 7vw, 92px) + 3vw); }
.wh-slant--bottom { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 3vw), 0 100%); padding-bottom: calc(clamp(56px, 7vw, 92px) + 3vw); }
.wh-slant--both { clip-path: polygon(0 3vw, 100% 0, 100% calc(100% - 3vw), 0 100%); padding: calc(clamp(56px, 7vw, 92px) + 3vw) 0; }

.wh-h2 { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem); line-height: 1.15; font-weight: 800; color: var(--fz-heading); margin: 0 0 .5em; text-wrap: balance; }
.wh-on-dark, .wh-sec--green .wh-h2, .wh-sec--deep .wh-h2 { color: #fff; }
.wh-lead { font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); line-height: 1.6; color: var(--wh-slate); max-width: 760px; margin: 0 auto 1.6em; }
.wh-sec--green .wh-lead, .wh-sec--deep .wh-lead { color: rgba(255,255,255,.9); }
.wh-sec--yellow .wh-lead { color: var(--wh-deep); }

/* prose inside sections (core blocks) */
.wh-prose > * { margin-top: 0; }
.wh-prose h2 { font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.3rem); line-height: 1.18; font-weight: 800; color: var(--fz-heading); margin: 0 0 .55em; text-wrap: balance; }
.wh-sec--green .wh-prose h2, .wh-sec--deep .wh-prose h2 { color: #fff; }
.wh-prose h3 { font-size: 1.25rem; font-weight: 700; color: var(--wh-deep); margin: 1.4em 0 .4em; }
.wh-sec--green .wh-prose h3, .wh-sec--deep .wh-prose h3 { color: var(--wh-yellow); }
.wh-prose p, .wh-prose li { font-size: 1.0625rem; line-height: 1.72; }
.wh-prose p { margin: 0 0 1.05em; }
.wh-prose ul { padding: 0; list-style: none; margin: 0 0 1.2em; }
.wh-prose ul li { position: relative; padding-left: 32px; margin: 0 0 .55em; }
.wh-prose ul li::before { content: ""; position: absolute; left: 0; top: .3em; width: 20px; height: 20px; border-radius: 50%; background: var(--wh-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10.5 3.2 3.2L15 7' fill='none' stroke='%23064D20' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat; }
.wh-prose ol { padding-left: 1.3em; } .wh-prose ol li { margin-bottom: .5em; }
.wh-sec--center .wh-prose, .wh-sec--center p { text-align: center; }
.wh-sec--center .wh-prose ul { display: inline-block; text-align: left; }
.wh-prose .wh-kicker, .wh-kicker { display: inline-block; font: 700 .8rem/1 var(--body-font); letter-spacing: .12em; text-transform: uppercase; color: var(--wh-green); background: var(--wh-mint); padding: 7px 12px; border-radius: 999px; margin-bottom: 14px; }
.wh-prose hr { border: 0; height: 1px; background: var(--wh-line); margin: 2em 0; }
.wh-sec__logo { text-align: right; margin-top: 10px; } .wh-sec__logo img { width: 150px; height: auto; display: inline-block; }
.wh-prose table { width: 100%; border-collapse: collapse; margin: 1em 0 1.5em; font-size: 1rem; }
.wh-prose th, .wh-prose td { border: 1px solid var(--wh-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.wh-prose th { background: var(--wh-mint); color: var(--wh-deep); }

/* ---------- buttons ---------- */
.wh-btn, .whbf .fzb-btn--accent, .whbf .fzb-offer .fzb-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: .4em;
	background: var(--wh-yellow); color: var(--wh-deep) !important; border: 0; border-radius: 10px;
	font: 800 1.05rem/1.1 var(--head-font); letter-spacing: -.01em; padding: 15px 26px; cursor: pointer; text-decoration: none;
	box-shadow: 0 3px 0 #D9B300, 0 10px 22px -10px rgba(6,77,32,.55); transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.wh-btn:hover, .whbf .fzb-btn--accent:hover, .whbf .fzb-offer .fzb-btn:hover { background: var(--wh-yellow-2); transform: translateY(-1px); box-shadow: 0 4px 0 #D9B300, 0 14px 26px -12px rgba(6,77,32,.6); }
.wh-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #D9B300; }
.wh-btn:focus-visible { outline: 3px solid var(--wh-deep); outline-offset: 3px; }
.wh-btn--lg { font-size: clamp(1.15rem, 1rem + .6vw, 1.45rem); padding: 18px 34px; border-radius: 12px; }
.wh-btn--sm { font-size: .95rem; padding: 11px 18px; }
.wh-btn--green { background: var(--wh-deep); color: #fff !important; box-shadow: 0 3px 0 var(--wh-darker), 0 10px 22px -10px rgba(0,0,0,.4); }
.wh-btn--green:hover { background: var(--wh-green); box-shadow: 0 4px 0 var(--wh-darker); }

/* ---------- header ---------- */
.wh-header { position: sticky; top: 0; z-index: 60; background: #fff; border-top: 5px solid var(--wh-green); box-shadow: 0 1px 0 var(--wh-line), 0 10px 22px -18px rgba(6,77,32,.45); }
.admin-bar .wh-header { top: 32px; }
.wh-header__bar { max-width: 1240px; margin: 0 auto; padding: 8px 20px; display: flex; align-items: center; gap: 20px; min-height: 86px; }
.wh-logo { display: block; flex: none; }
.wh-logo img { height: 74px; width: auto; display: block; }
.wh-nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.wh-nav a { color: var(--wh-deep); font: 600 .98rem/1 var(--body-font); padding: 10px 12px; border-radius: 8px; text-decoration: none; }
.wh-nav a:hover, .wh-nav a[aria-current="page"] { background: var(--wh-mint); color: var(--wh-green); }
.wh-nav__cta { margin-left: 10px; }
.wh-header__cta, .wh-burger { display: none; }
@media (max-width: 1060px) {
	.wh-header__bar { min-height: 64px; gap: 10px; }
	.wh-logo img { height: 46px; }
	.wh-header__cta { display: inline-flex; margin-left: auto; padding: 10px 14px; font-size: .9rem; }
	.wh-burger { display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 46px; height: 46px; border: 1px solid var(--wh-line); background: #fff; border-radius: 12px; cursor: pointer; padding: 0 11px; }
	.wh-burger span { height: 2.5px; background: var(--wh-deep); border-radius: 2px; transition: transform .2s, opacity .2s; }
	.wh-menu-open .wh-burger span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
	.wh-menu-open .wh-burger span:nth-child(2) { opacity: 0; }
	.wh-menu-open .wh-burger span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }
	.wh-nav { position: fixed; left: 0; right: 0; top: 69px; bottom: 0; background: #fff; flex-direction: column; align-items: stretch; gap: 0; padding: 12px 20px 40px; overflow: auto; transform: translateY(-8px); opacity: 0; visibility: hidden; transition: opacity .18s, transform .18s, visibility .18s; }
	.admin-bar .wh-nav { top: 115px; }
	.wh-menu-open .wh-nav { opacity: 1; transform: none; visibility: visible; }
	.wh-menu-open, .wh-menu-open body { overflow: hidden; }
	.wh-nav a { font-size: 1.15rem; padding: 16px 6px; border-bottom: 1px solid var(--wh-line); border-radius: 0; }
	.wh-nav__cta { margin: 20px 0 0; width: 100%; font-size: 1.1rem; padding: 16px; }
}

/* ---------- hero ---------- */
.wh-hero { position: relative; isolation: isolate; color: #fff; background: var(--wh-deep); overflow: hidden; padding: clamp(46px, 6vw, 84px) 0 calc(clamp(56px, 7vw, 96px) + 3.5vw); clip-path: polygon(0 0, 100% 0, 100% calc(100% - 3.5vw), 0 100%); }
.wh-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: saturate(1.05); }
.wh-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(4,56,26,.82) 0%, rgba(6,77,32,.72) 45%, rgba(4,56,26,.86) 100%); }
.wh-hero__speed { position: absolute; left: -40px; top: 22%; z-index: -1; display: grid; gap: 14px; opacity: .9; }
.wh-hero__speed span { display: block; height: 14px; border-radius: 99px; background: var(--wh-yellow); box-shadow: 0 0 0 3px rgba(6,77,32,.6); }
.wh-hero__speed span:nth-child(1) { width: 180px; } .wh-hero__speed span:nth-child(2) { width: 120px; margin-left: 30px; } .wh-hero__speed span:nth-child(3) { width: 150px; }
.wh-hero__inner { position: relative; max-width: 980px; margin: 0 auto; padding: 0 20px; text-align: center; }
.wh-hero__h1 { font-size: clamp(2.2rem, 1.3rem + 4vw, 4rem); line-height: 1.05; font-weight: 800; margin: 0 0 18px; color: #fff; text-wrap: balance; text-shadow: 0 2px 18px rgba(0,0,0,.35); }
.wh-hero__h1 span { display: block; color: var(--wh-yellow); font-size: .62em; margin-top: .25em; line-height: 1.15; }
.wh-hero--page .wh-hero__h1 { font-size: clamp(2rem, 1.3rem + 3vw, 3.3rem); }
.wh-hero__subrow { display: flex; align-items: center; justify-content: center; gap: 18px; max-width: 760px; margin: 0 auto 26px; }
.wh-hero__sub { margin: 0; font: 600 clamp(1.02rem, .95rem + .35vw, 1.2rem)/1.5 var(--body-font); color: rgba(255,255,255,.95); text-align: left; }
.wh-seal { flex: none; width: 96px; height: 96px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #FFE866, var(--wh-yellow) 55%, #E0B800); color: var(--wh-deep); display: flex; flex-direction: column; align-items: center; justify-content: center; box-shadow: 0 0 0 4px rgba(255,255,255,.9), 0 0 0 7px var(--wh-yellow), 0 10px 22px rgba(0,0,0,.35); transform: rotate(-8deg); text-align: center; }
.wh-seal__stars { font-size: 11px; letter-spacing: 1px; }
.wh-seal__t { font: 800 11px/1.1 var(--head-font); text-transform: uppercase; max-width: 74px; margin: 3px 0; }
.wh-seal__g { font: 700 13px/1 var(--body-font); }
.wh-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 0; margin: 0 0 16px; font-size: .9rem; }
.wh-crumbs li + li::before { content: "/"; margin-right: 6px; opacity: .6; }
.wh-crumbs a { color: var(--wh-yellow); text-decoration: none; } .wh-crumbs span { color: rgba(255,255,255,.85); }
.wh-hero__ticks { list-style: none; padding: 0; margin: 22px auto 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; font-weight: 600; }
.wh-hero__ticks li { display: inline-flex; align-items: center; gap: 8px; }
.wh-hero__ticks .wi { width: 26px; height: 26px; }
.wh-hero__ticks .wi .wi-w { fill: #fff; }
@media (max-width: 640px) {
	.wh-hero__subrow { flex-direction: column; gap: 12px; }
	.wh-hero__sub { text-align: center; }
	.wh-seal { width: 82px; height: 82px; }
	.wh-hero__speed { display: none; }
}

/* offer card (parent markup, our skin) */
.whbf .fzb-card.fzb-offer { background: #fff; color: var(--wh-ink); border-radius: 14px; border: 0; box-shadow: 0 24px 60px -24px rgba(0,0,0,.55), 0 0 0 6px rgba(255,214,10,.9); padding: 26px 26px 18px; text-align: left; max-width: 640px; margin: 0 auto; }
.whbf .fzb-card__title { font: 800 1.35rem/1.2 var(--head-font); color: var(--wh-deep); margin: 0 0 4px; text-align: center; }
.whbf .fzb-card__sub { color: var(--wh-slate); margin: 0 0 14px; text-align: center; font-size: .98rem; }
.whbf .fzb-offer__row { display: grid; gap: 12px; }
.whbf .fzb-input { border: 2px solid #CFDCCB; border-radius: 10px; min-height: 58px; font-size: 1.05rem; background: #fff; color: var(--wh-ink); }
.whbf .fzb-input:focus { border-color: var(--wh-green); box-shadow: 0 0 0 4px rgba(11,122,49,.18); outline: 0; }
.whbf .fzb-offer .fzb-btn { width: 100%; min-height: 62px; font-size: clamp(1.2rem, 1.05rem + .7vw, 1.6rem); border-radius: 12px; }
.whbf .fzb-field__icon { stroke: var(--wh-green); }
.whbf .fzb-consent { font-size: .72rem; line-height: 1.45; color: #5E6B62; margin-top: 12px; }
.whbf .fzb-consent a { color: var(--wh-green); }
.wh-cta__form.fzb-offer { box-shadow: 0 18px 40px -22px rgba(6,77,32,.6) !important; }
.wh-offer { margin: 2em 0; }

/* ---------- reviews ---------- */
.wh-revband { background: var(--wh-green) repeating-linear-gradient(-14deg, transparent 0 46px, rgba(255,255,255,.035) 46px 92px); }
.wh-revband .wh-h2, .wh-revband .wh-lead { text-align: center; }
.wh-revs { display: grid; gap: 18px; margin-top: 8px; }
.wh-revs--strip { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wh-revs--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 980px; margin-left: auto; margin-right: auto; }
.wh-rev { margin: 0; background: #fff; color: var(--wh-ink); border-radius: 10px; padding: 16px 16px 18px; box-shadow: 0 2px 0 rgba(0,0,0,.08), 0 16px 30px -18px rgba(0,0,0,.5); text-align: left; transform: rotate(var(--tilt, 0deg)); }
.wh-revs--strip .wh-rev:nth-child(odd) { --tilt: -.6deg; } .wh-revs--strip .wh-rev:nth-child(even) { --tilt: .6deg; margin-top: 10px; }
.wh-rev__top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.wh-rev__av { width: 40px; height: 40px; border-radius: 50%; flex: none; object-fit: cover; }
.wh-rev__av--i { display: inline-flex; align-items: center; justify-content: center; background: var(--wh-green); color: #fff; font-weight: 700; }
.wh-rev__who { min-width: 0; } .wh-rev__who strong { display: block; font-size: .95rem; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wh-rev__who small { color: #6A756D; font-size: .78rem; }
.wh-rev__src { margin-left: auto; text-align: right; flex: none; } .wh-rev__src small { display: block; font-size: .65rem; color: #6A756D; }
.wh-g { width: 22px; height: 22px; display: inline-block; }
.wh-stars { display: inline-flex; gap: 2px; margin-bottom: 6px; } .wh-stars svg { width: 17px; height: 17px; } .wh-stars .on { fill: #FBBC04; } .wh-stars .off { fill: #E2E2E2; }
.wh-rev__text { margin: 0; font-size: .95rem; line-height: 1.55; color: #2B3A30; }
.wh-revband__note { margin: 26px 0 0; text-align: center; font-size: .85rem; color: rgba(255,255,255,.8); }
@media (max-width: 980px) { .wh-revs--strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) {
	.wh-revs--strip { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 16px; margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
	.wh-revs--strip .wh-rev { scroll-snap-align: center; --tilt: 0deg !important; margin-top: 0 !important; }
	.wh-revs--grid { grid-template-columns: 1fr; }
}

/* ---------- steps ---------- */
.wh-steps { list-style: none; padding: 0; margin: 10px 0 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; counter-reset: s; }
.wh-step { background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 0 var(--wh-line), 0 24px 44px -26px rgba(6,77,32,.5); border: 1px solid var(--wh-line); display: flex; flex-direction: column; }
.wh-step__n { display: block; background: var(--wh-green); color: var(--wh-yellow); font: 800 1.15rem/1 var(--head-font); padding: 18px 10px; position: relative; }
.wh-step__n::after { content: ""; position: absolute; left: 50%; bottom: -9px; width: 18px; height: 18px; background: var(--wh-green); transform: translateX(-50%) rotate(45deg); }
.wh-step__body { padding: 30px 22px 26px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
.wh-step__body h3 { margin: 0; font-size: 1.2rem; text-transform: uppercase; letter-spacing: .02em; color: var(--wh-deep); }
.wh-step__icon { width: 82px; height: 82px; }
.wh-step__body p { margin: 0; font-weight: 600; line-height: 1.55; color: var(--wh-ink); }
.wh-steps__outro { max-width: 760px; margin: 0 auto 22px; color: var(--wh-slate); font-size: 1.05rem; line-height: 1.65; }
@media (max-width: 820px) { .wh-steps { grid-template-columns: 1fr; max-width: 440px; margin-left: auto; margin-right: auto; } }

/* ---------- situations ---------- */
.wh-sits { background: var(--wh-deep) radial-gradient(1200px 400px at 50% -10%, rgba(255,214,10,.10), transparent 60%); }
.wh-sits__grid { list-style: none; padding: 0; margin: 18px 0 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.wh-sits__grid li > a, .wh-sits__grid li > div { display: flex; flex-direction: column; align-items: center; gap: 10px; height: 100%; padding: 22px 16px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); color: #fff !important; text-decoration: none; transition: background .2s, transform .2s, border-color .2s; }
.wh-sits__grid li > a:hover { background: rgba(255,214,10,.12); border-color: var(--wh-yellow); transform: translateY(-3px); }
.wh-sits__icon { width: 74px; height: 74px; border-radius: 50%; background: #fff; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 0 4px rgba(255,214,10,.45); }
.wh-sits__icon .wi { width: 50px; height: 50px; }
.wh-sits__grid strong { font: 700 1.08rem/1.25 var(--head-font); color: #fff; }
.wh-sits__body { font-size: .92rem; line-height: 1.5; color: rgba(255,255,255,.85); }
.wh-sits__outro { max-width: 820px; margin: 22px auto 0; font-weight: 600; line-height: 1.65; color: rgba(255,255,255,.92); }
@media (max-width: 900px) { .wh-sits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .wh-sits__grid { gap: 10px; } .wh-sits__grid li > a, .wh-sits__grid li > div { padding: 16px 10px; } .wh-sits__body { display: none; } }

/* ---------- split ---------- */
.wh-split__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.wh-split--right .wh-split__media { order: 2; }
.wh-split__media { position: relative; }
.wh-frame--grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.wh-frame--grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; display: block; }
.wh-frame--grid img:nth-child(1) { border-top-left-radius: 28px; } .wh-frame--grid img:nth-child(4) { border-bottom-right-radius: 28px; }
.wh-frame__badge { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 88px; height: 88px; border-radius: 50%; background: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 0 0 6px var(--wh-yellow), 0 12px 26px rgba(0,0,0,.3); }
.wh-frame__badge .wi { width: 58px; height: 58px; }
.wh-frame--single img { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; box-shadow: 14px 14px 0 var(--wh-yellow); display: block; }
.wh-split--right .wh-frame--single img { box-shadow: -14px 14px 0 var(--wh-yellow); }
.wh-frame--circle { text-align: center; } .wh-frame--circle img { width: min(320px, 80%); aspect-ratio: 1; object-fit: cover; border-radius: 50%; box-shadow: 0 0 0 8px rgba(255,255,255,.95), 0 0 0 14px var(--wh-yellow); display: inline-block; }
.wh-frame--collage img { width: 100%; height: auto; display: block; }
.wh-split__cap { font-size: .85rem; color: var(--wh-slate); margin: 10px 0 0; text-align: center; }
.wh-split__cta { margin-top: 1.4em; }
.wh-sec--green .wh-split__text, .wh-sec--deep .wh-split__text { color: #fff; }
.wh-split__text .wh-tag { display: inline-block; font: 800 .95rem/1 var(--head-font); color: #C0392B; text-decoration: underline; text-underline-offset: 4px; text-transform: uppercase; margin: 1em 0 .3em; }
@media (max-width: 860px) {
	.wh-split__grid { grid-template-columns: 1fr; }
	.wh-split--right .wh-split__media { order: 0; }
	.wh-frame--single img { box-shadow: 8px 8px 0 var(--wh-yellow) !important; }
}

/* ---------- benefits ---------- */
.wh-bens { list-style: none; padding: 0; margin: 14px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 30px; }
.wh-bens li { display: flex; flex-direction: column; align-items: center; text-align: center; }
.wh-bens__icon { width: 92px; height: 92px; border-radius: 26px; background: var(--wh-mint); display: inline-flex; align-items: center; justify-content: center; margin-bottom: 14px; transform: rotate(-4deg); box-shadow: inset 0 0 0 2px var(--wh-line); }
.wh-sec--mint .wh-bens__icon { background: #fff; }
.wh-bens__icon .wi { width: 58px; height: 58px; transform: rotate(4deg); }
.wh-bens h3 { margin: 0 0 6px; font-size: 1.3rem; color: var(--wh-deep); }
.wh-bens p { margin: 0; color: var(--wh-slate); line-height: 1.6; max-width: 340px; }
@media (max-width: 860px) { .wh-bens { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .wh-bens { grid-template-columns: 1fr; } }

/* ---------- videos ---------- */
.wh-vids__row { display: flex; justify-content: center; gap: 26px; flex-wrap: wrap; }
.wh-vid { margin: 0; width: min(320px, 100%); }
.wh-vid video { width: 100%; height: auto; aspect-ratio: 9/16; object-fit: cover; border-radius: 18px; background: #000; display: block; box-shadow: 0 0 0 6px #fff, 0 0 0 10px var(--wh-yellow), 0 24px 40px -20px rgba(0,0,0,.6); }
.wh-vid figcaption { margin-top: 16px; font-weight: 700; color: var(--wh-deep); }

/* ---------- CTA ---------- */
.wh-cta { background: var(--wh-yellow) repeating-linear-gradient(-14deg, transparent 0 40px, rgba(255,255,255,.18) 40px 80px); }
.wh-cta__h { color: var(--wh-deep) !important; margin-bottom: 10px; }
.wh-cta__rule { display: block; width: 120px; height: 6px; border-radius: 6px; background: var(--wh-deep); margin: 0 auto 18px; }

/* ---------- states / cities / areas ---------- */
.wh-states { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; text-align: left; margin-top: 10px; }
.wh-states__col { background: #fff; border: 1px solid var(--wh-line); border-top: 5px solid var(--wh-green); border-radius: 12px; padding: 18px 20px; box-shadow: 0 16px 30px -24px rgba(6,77,32,.45); }
.wh-states__col h3 { margin: 0 0 10px; font-size: 1.02rem; color: var(--wh-green); text-align: center; }
.wh-states__col ul { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 16px; }
.wh-states__col li { break-inside: avoid; margin: 0 0 6px; }
.wh-states__col a { text-decoration: none; font-weight: 600; font-size: .95rem; color: var(--wh-deep); }
.wh-states__col a:hover { color: var(--wh-green); text-decoration: underline; }
@media (max-width: 820px) { .wh-states { grid-template-columns: 1fr; } }
.wh-chips { list-style: none; padding: 0; margin: 10px 0 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.wh-chips a, .wh-chips span { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px 9px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--wh-line); color: var(--wh-deep); font-weight: 600; text-decoration: none; font-size: .95rem; }
.wh-chips a:hover { border-color: var(--wh-green); background: var(--wh-mint); }
.wh-chips .wi { width: 22px; height: 22px; }
.wh-chips--plain span { background: var(--wh-mint); border-color: transparent; }

/* ---------- facts ---------- */
.wh-facts { margin: 8px 0 0; border: 1px solid var(--wh-line); border-radius: 14px; overflow: hidden; background: #fff; box-shadow: 0 20px 40px -32px rgba(6,77,32,.5); }
.wh-facts__row { display: grid; grid-template-columns: 240px minmax(0, 1fr); border-top: 1px solid var(--wh-line); }
.wh-facts__row:first-child { border-top: 0; }
.wh-facts dt { background: var(--wh-mint); color: var(--wh-deep); font: 700 1rem/1.4 var(--head-font); padding: 16px 18px; }
.wh-facts dd { margin: 0; padding: 16px 18px; line-height: 1.6; }
.wh-facts__note { font-size: .82rem; color: var(--wh-slate); margin: 12px 0 0; text-align: center; }
@media (max-width: 640px) { .wh-facts__row { grid-template-columns: 1fr; } .wh-facts dt { padding-bottom: 8px; } .wh-facts dd { padding-top: 10px; } }

/* ---------- gallery ---------- */
.wh-gal__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 10px; }
.wh-gal__grid figure { margin: 0; position: relative; }
.wh-gal__grid img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; display: block; }
.wh-gal__grid figcaption { position: absolute; left: 8px; bottom: 8px; right: 8px; background: rgba(6,77,32,.88); color: #fff; font-size: .78rem; padding: 6px 8px; border-radius: 6px; text-align: left; }
@media (max-width: 760px) { .wh-gal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- FAQ (parent block) ---------- */
.whbf .fzb-faq { border-top: 0; }
.whbf .fzb-faq details { border: 1px solid var(--wh-line); border-radius: 12px; margin-bottom: 12px; background: #fff; padding: 0 18px; }
.whbf .fzb-faq summary { padding: 18px 44px 18px 46px; position: relative; font: 700 1.12rem/1.35 var(--head-font); color: var(--wh-deep); background-image: none !important; }
.whbf .fzb-faq summary::before { left: 0 !important; top: 50%; width: 32px !important; height: 32px !important; margin-top: -16px; transform: none !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%230B7A31' d='M32 6 4 30h8v28h40V30h8z'/%3E%3Crect fill='%23FFD60A' x='24' y='32' width='16' height='14' rx='1'/%3E%3C/svg%3E") center/contain no-repeat !important; border: 0 !important; position: absolute; content: ""; }
.whbf .fzb-faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%) !important; width: auto !important; height: auto !important; background: none !important; font: 800 1.5rem/1 var(--head-font); color: var(--wh-green); }
.whbf .fzb-faq details[open] summary::after { content: "\2212"; }
.whbf .fzb-faq details > div { padding: 0 6px 18px 46px; color: #34443A; line-height: 1.7; }
.whbf .fzb-section .fzb-center, .whbf .fzb-faqwrap h2 { color: var(--fz-heading); font-weight: 800; }

/* ---------- footer ---------- */
.wh-footer { position: relative; background: var(--wh-deep); color: rgba(255,255,255,.86); margin-top: -1px; padding: calc(60px + 3vw) 0 0; clip-path: polygon(0 3vw, 100% 0, 100% 100%, 0 100%); overflow: hidden; }
.wh-footer__lines { position: absolute; right: -30px; top: 15%; display: grid; gap: 12px; opacity: .14; }
.wh-footer__lines span { display: block; height: 12px; border-radius: 99px; background: var(--wh-yellow); }
.wh-footer__lines span:nth-child(1) { width: 220px; } .wh-footer__lines span:nth-child(2) { width: 150px; margin-left: 50px; } .wh-footer__lines span:nth-child(3) { width: 190px; margin-left: 20px; }
.wh-footer__grid { max-width: 1200px; margin: 0 auto; padding: 0 20px 34px; display: grid; grid-template-columns: 1.4fr 1fr 1.3fr 1fr; gap: 34px; position: relative; }
.wh-footer__logo img { width: 190px; height: auto; display: block; margin-bottom: 10px; }
.wh-footer__brand p { line-height: 1.6; font-size: .95rem; }
.wh-footer__h { font: 800 .9rem/1 var(--head-font); letter-spacing: .1em; text-transform: uppercase; color: var(--wh-yellow); margin: 6px 0 14px; }
.wh-footer ul { list-style: none; padding: 0; margin: 0; } .wh-footer li { margin: 0 0 9px; }
.wh-footer__cols { columns: 2; column-gap: 14px; } .wh-footer__cols li { break-inside: avoid; }
.wh-footer a { color: #fff; text-decoration: none; font-size: .95rem; } .wh-footer a:hover { color: var(--wh-yellow); text-decoration: underline; }
.wh-footer__disc { max-width: 1200px; margin: 0 auto; padding: 22px 20px; border-top: 1px solid rgba(255,255,255,.14); font-size: .78rem; line-height: 1.6; color: rgba(255,255,255,.7); }
.wh-footer__disc p { margin: 0; }
.wh-footer__bottom { background: var(--wh-darker); text-align: center; padding: 16px 20px 90px; font-size: .85rem; color: rgba(255,255,255,.75); }
@media (min-width: 900px) { .wh-footer__bottom { padding-bottom: 18px; } }
@media (max-width: 900px) { .wh-footer__grid { grid-template-columns: 1fr 1fr; } .wh-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .wh-footer__grid { grid-template-columns: 1fr; } }
.whbf .fzb-mobilebar__offer { background: var(--wh-yellow); color: var(--wh-deep); font-weight: 800; }

/* parent sections we still use (FAQ wrapper) */
.whbf .fzb-section--white { background: #fff; }

/* editor */
.wh-editor-inner { border: 1px dashed #9BC49A; padding: 12px; border-radius: 8px; }

/* Mobile: long centered paragraphs are hard to read; keep headings centered, body left. */
@media (max-width: 640px) {
	.wh-sec--center .wh-prose p:not(.wh-lead), .wh-sec--center p:not(.wh-lead) { text-align: left; }
	.wh-logo img { height: 50px; }
}
