/**
 * Gutenberg / parent-theme overrides — match reference V2 layout.
 */

/* ── Global: let design system control layout ── */
:root {
	--wp--style--global--content-size: 1320px;
	--wp--style--global--wide-size: 1320px;
}

body {
	background: var(--c-paper) !important;
	color: var(--c-ink);
}

/* Remove TT4 / block layout constraints inside theme sections */
.sudsntubs-page main,
main.wp-block-group {
	margin-top: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* main.wp-block-group > .wp-block-group,
main.wp-block-group > section,
main.wp-block-group > .wp-block-group.hero,
main.wp-block-group > .marquee,
main.wp-block-group > .wp-block-group.marquee {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
} */


main.wp-block-group>.wp-block-group,
main.wp-block-group>section,
main.wp-block-group>.wp-block-group.hero {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* ── Header (reference: logo | nav | CTA) ── */
.site-header,
.site-header.site-header--solid,
header.site-header {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	z-index: 50 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: linear-gradient(180deg,
			rgba(6, 9, 20, 0.82) 0%,
			rgba(10, 14, 26, 0.38) 38%,
			rgba(10, 14, 26, 0.12) 72%,
			rgba(10, 14, 26, 0) 100%) !important;
	border-bottom: 1px solid rgba(245, 242, 234, 0.06) !important;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.site-header.site-header--solid {
	background: linear-gradient(180deg,
			rgba(10, 14, 26, 0.96) 0%,
			rgba(10, 14, 26, 0.88) 45%,
			rgba(10, 14, 26, 0.78) 100%) !important;
	border-bottom-color: rgba(245, 242, 234, 0.12) !important;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18) !important;
}

.site-header .wrap,
.site-header .wp-block-group.wrap {
	width: 100% !important;
	max-width: 1440px !important;
}

.site-header .wrap.header-inner,
.site-header .header-inner.wrap,
.site-header .wp-block-group.wrap.header-inner {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: clamp(12px, 2vw, 24px) !important;
}

/* Shortcode wrapper: children participate in header grid */
.site-header .wrap>.wp-block-shortcode {
	display: contents !important;
	margin: 0 !important;
	padding: 0 !important;
}

.site-header .brand {
	display: flex !important;
	align-items: center;
	gap: 0;
	text-decoration: none;
	color: inherit;
	flex-shrink: 0;
}

/* Logo only — never show drum icon + text fallback when image loads (reference design) */
.site-header .brand .brand-mark,
.site-header .brand .brand-name,
.site-header .brand-mark,
.site-header .brand-name {
	display: none !important;
}

.site-header .brand-logo {
	display: block !important;
	height: clamp(48px, 7vw, 68px) !important;
	width: auto !important;
	max-width: min(280px, 52vw) !important;
}

/* Only if logo image fails to load */
.site-header .brand.brand--logo-missing::after {
	content: "Suds N Tubs";
	font-family: var(--f-display);
	font-weight: 900;
	font-size: 17px;
	text-transform: uppercase;
	color: var(--c-paper);
}

.site-header .nav-main {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 60px;
	flex-wrap: nowrap;
}

.site-header .nav-main a {
	font-family: var(--f-body) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	color: #fff !important;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	white-space: nowrap;
	padding: 6px 0;
	position: relative;
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.75), 0 0 1px rgba(0, 0, 0, 0.85);
}

.site-header .site-nav-mobile-panel a {
	font-family: var(--f-body) !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.site-header .header-right {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
}

.site-header .header-right .wp-block-shortcode,
.site-header .header-right .wp-block-buttons {
	margin: 0;
}

.site-header .header-right .wp-block-button__link {
	text-transform: uppercase;
}

.site-footer .footer-contact-address,
.site-footer .footer-contact-email,
.site-footer .footer-home-address,
.site-footer .footer-home-email,
.site-footer .footer-home-phone {
	margin: 0 0 6px;
}

.site-footer .footer-contact-address .suds-address,
.site-footer .footer-contact-email .suds-email-link,
.site-footer .footer-home-address .suds-address {
	color: inherit;
}

.site-footer .footer-phone-line,
.site-footer .wp-block-group.footer-phone-line {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 8px;
}

.site-footer .footer-phone-line .wp-block-shortcode,
.site-footer .footer-phone-line .footer-contact-note {
	margin: 0;
}

.site-footer .footer-contact-note {
	display: inline;
}

.site-header .header-right .btn {
	text-transform: uppercase;
}

/* ── Hero (full viewport, photo background) ── */
.hero,
section.hero,
.wp-block-group.hero {
	position: relative !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	min-height: 100svh !important;
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding-top: var(--header-stack-h) !important;
	padding-bottom: 0 !important;
	background: var(--c-ink) !important;
	color: var(--c-paper) !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
}

.hero .hero-photo,
.hero .wp-block-group.hero-photo {
	position: absolute !important;
	inset: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 0;
}

.hero .hero-photo .wp-block-html,
.hero .hero-photo>.wp-block-html {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	max-width: none !important;
}

.hero .hero-photo .photo-slot,
.hero .hero-photo .wp-block-group.photo-slot {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	max-width: none !important;
}

.hero .hero-photo .wp-block-image,
.hero .hero-photo .wp-block-image img,
.hero .hero-photo img {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
	margin: 0 !important;
}

.hero .hero-overlay,
.hero .wp-block-group.hero-overlay,
.hero .hero-top-fade,
.hero .wp-block-group.hero-top-fade {
	position: absolute !important;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	pointer-events: none;
}

.hero .hero-top-fade {
	inset: auto 0 auto 0 !important;
	top: 0 !important;
	height: clamp(120px, 32vh, 320px) !important;
}

.hero .hero-overlay {
	z-index: 1;
}

.hero .hero-top-fade {
	z-index: 2;
}

.hero .hero-content,
.hero .wp-block-group.hero-content {
	position: relative !important;
	z-index: 3 !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding-left: var(--pad) !important;
	padding-right: var(--pad) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	min-height: 0 !important;
}

.hero .hero-title,
.hero .wp-block-heading.hero-title {
	font-size: clamp(36px, 6vw, 60px) !important;
	max-width: none !important;
	width: 100%;
}

.hero .hero-eyebrow,
.hero p.hero-eyebrow {
	margin-left: auto;
	margin-right: auto;
}

.hero .hero-cta-row,
.hero .wp-block-buttons.hero-cta-row {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	gap: 14px !important;
	width: auto !important;
}

.hero .ph-label {
	display: none !important;
}

.hero .hero-photo .hero-bg-photo,
.hero .hero-photo .wp-block-image.hero-bg-photo {
	position: absolute !important;
	inset: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
}

.hero .hero-photo .hero-bg-photo img,
.hero .hero-photo .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

/* ── About section (reference: dark left + yellow panel + framed photo) ── */
.about,
section.about,
.wp-block-group.about {
	position: relative !important;
	max-width: none !important;
	width: 100% !important;
	overflow: hidden !important;
}

.about .wrap.about-layout,
.about .wp-block-group.wrap.about-layout {
	display: grid !important;
	grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr) !important;
	gap: clamp(34px, 6vw, 75px) !important;
	align-items: center !important;
	position: relative;
	z-index: 1;
}

.about .wrap.about-layout>.about-copy,
.about .wrap.about-layout>.wp-block-group.about-copy,
.about .wp-block-group.wrap.about-layout>.about-copy,
.about .wp-block-group.wrap.about-layout>.wp-block-group.about-copy {
	grid-column: 1 !important;
	grid-row: 1 !important;
	min-width: 0 !important;
	width: 100% !important;
}

.about .wrap.about-layout>.about-visual,
.about .wrap.about-layout>.wp-block-shortcode,
.about .wp-block-group.wrap.about-layout>.about-visual,
.about .wp-block-group.wrap.about-layout>.wp-block-group.about-visual,
.about .wp-block-group.wrap.about-layout>.wp-block-shortcode {
	display: block !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	min-width: 0 !important;
	width: 100% !important;
	margin: 0 !important;
}

/* Dark section text (body default ink was overriding theme section colors) */
.about,
.process,
.testi,
.hero {
	color: var(--c-paper) !important;
}

.about .wp-block-heading,
.about h2.wp-block-heading,
.about .about-title,
.about .wp-block-paragraph:not(.about-kicker):not(.about-badge),
.about .about-copy p:not(.about-kicker),
.about .about-frame p:not(.about-badge),
.about .about-tag,
.about .about-lede,
.about .about-lede em {
	color: inherit !important;
}

.about .about-kicker {
	color: #fff !important;
}

.about .about-title,
.about .about-title .about-amp {
	color: var(--c-paper) !important;
}

.about .about-lede em {
	color: #fff !important;
	font-style: normal !important;
}

.about .about-facts dt {
	color: rgba(245, 242, 234, 0.9) !important;
}

.about .about-facts dd {
	color: #fff !important;
}

.about .wp-block-button.about-cta {
	box-shadow: none !important;
	margin-top: 4px !important;
	border: none !important;
	background: transparent !important;
}

.about .wp-block-button.about-cta .wp-block-button__link {
	box-shadow: 5px 5px 0 rgba(245, 242, 234, 0.18) !important;
}

.about .about-copy {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
}

.about .about-copy .wp-block-paragraph {
	margin-top: 0;
	margin-bottom: 1em;
	max-width: 100%;
}

/* .about .about-copy .wp-block-paragraph.about-tag, */
/* .about .about-copy .wp-block-paragraph.about-lede,
.about .about-copy .wp-block-paragraph.about-kicker {
	margin-bottom: inherit;
} */

.about .about-visual {
	margin: 0 !important;
	width: 100% !important;
}

.about .about-frame,
.about .wp-block-group.about-frame {
	position: relative;
	overflow: hidden;
	border-radius: var(--r-md);
	border: 3px solid var(--c-ink);
	background: var(--c-paper-pure);
	box-shadow: 12px 12px 0 rgba(10, 14, 26, 0.22), 0 24px 48px rgba(10, 14, 26, 0.22);
	aspect-ratio: 4 / 4.7;
}

.about .about-frame .photo-slot,
.about .about-frame .photo-slot img,
.about .about-frame .wp-block-image.about-photo,
.about .about-frame figure.about-photo {
	position: absolute;
	inset: 0;
	margin: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
}

.about .about-frame .wp-block-image.about-photo img,
.about .about-frame .photo-slot img,
.about .about-frame figure.about-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.about .about-frame .ph-label {
	display: none !important;
}

.about .about-badge,
.about span.about-badge,
.about p.about-badge {
	position: absolute;
	top: clamp(14px, 2.5vw, 22px);
	left: clamp(14px, 2.5vw, 22px);
	z-index: 2;
	display: inline-block;
	margin: 0 !important;
	padding: 7px 9px !important;
	border-radius: var(--r-sm);
	font-family: var(--f-mono);
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--c-ink) !important;
	background: #fff !important;
	border: 2px solid var(--c-ink);
	box-shadow: 5px 5px 0 rgba(10, 14, 26, 0.22);
}

/* Amenities banner — white text + yellow icon pills (reference) */
.amenities,
section.amenities,
.wp-block-group.amenities {
	background: #1737e6 !important;
	color: #fff !important;
}

.amenities .wrap {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pad);
	padding-right: var(--pad);
}

.amenities .amen-grid,
.amenities .amen-grid.wp-block-columns {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 24px !important;
}

.amenities .amen-grid>.wp-block-column {
	margin: 0 !important;
	width: auto !important;
	flex-basis: auto !important;
}

.amenities .amen,
.amenities .wp-block-group.amen {
	text-align: center;
	padding: 24px;
	margin: 0 !important;
}

.amenities .amen .icon-pill,
.amenities .wp-block-html .icon-pill {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #ffd60a;
	color: #000;
	display: grid;
	place-items: center;
	margin: 0 auto 16px;
}

.amenities .amen .icon-pill svg {
	display: block;
}

.amenities .amen h4,
.amenities .amen .wp-block-heading,
.amenities .wp-block-group.amen h4 {
	font-family: var(--f-display) !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
	font-size: 22px !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 4px !important;
	color: #fff !important;
}

.amenities .amen p,
.amenities .wp-block-group.amen p {
	font-family: var(--f-mono) !important;
	text-transform: uppercase !important;
	font-size: inherit !important;
	color: #fff !important;
	margin: 0 !important;
}

@media (max-width: 720px) {

	.amenities .amen-grid,
	.amenities .amen-grid.wp-block-columns {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.about .about-facts,
.about .wp-block-group.about-facts {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1px !important;
	width: min(100%, 38rem) !important;
	margin: 0 0 clamp(24px, 3vw, 34px) !important;
	padding: 0 !important;
	border: 1px solid rgba(245, 242, 234, 0.22) !important;
	background: rgba(245, 242, 234, 0.22) !important;
	margin-bottom: 10px !important;
	margin-top: 15px !important;
}

.about .about-facts>div,
.about .about-fact,
.about .wp-block-group.about-fact {
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	min-width: 5.5rem;
	padding: 10px !important;
	margin: 0 !important;
	background: rgba(10, 14, 26, 0.84) !important;
}

.about .about-facts dt,
.about .about-fact-dt,
.about p.about-fact-dt {
	margin: 0 !important;
	font-family: var(--f-mono) !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	font-size: 15px !important;
	color: rgba(245, 242, 234, 0.9) !important;
	height: 47px;
}

.about .about-facts dd,
.about .about-fact-dd,
.about p.about-fact-dd {
	margin: 0 !important;
	font-family: var(--f-display) !important;
	font-weight: 900 !important;
	font-size: 24px;
	line-height: 30px !important;
}

.about .about-facts dd::after,
.about .about-fact-dd::after,
.about p.about-fact-dd::after {
	content: "";
	display: block;
	width: 34px;
	height: 2px;
	margin-top: 10px;
	background: #fff;
}

@media (max-width: 900px) {

	.about .wrap.about-layout,
	.about .wp-block-group.wrap.about-layout {
		grid-template-columns: 1fr !important;
	}

	.about .wrap.about-layout>.about-visual,
	.about .wrap.about-layout>.wp-block-shortcode,
	.about .wp-block-group.wrap.about-layout>.about-visual,
	.about .wp-block-group.wrap.about-layout>.wp-block-group.about-visual,
	.about .wp-block-group.wrap.about-layout>.wp-block-shortcode {
		grid-column: 1 !important;
		grid-row: 2 !important;
	}

	.about .about-facts {
		grid-template-columns: 1fr !important;
	}
}

/* Section heads: Gutenberg nests copy in .wp-block-group instead of bare divs */
.section-head>.wp-block-group,
.section-head>div {
	min-width: 0;
}

.why .section-head>.wp-block-group,
.process .section-head>.wp-block-group {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
}

.why .section-head>.wp-block-group:first-child,
.process .section-head>.wp-block-group:first-child {
	gap: 14px;
}

.find .section-head>.wp-block-group {
	display: block !important;
	width: auto !important;
}

.process .section-head .wp-block-heading,
.process .section-head h2,
.process .step .wp-block-heading,
.process .step h4 {
	color: var(--c-paper) !important;
}

.process .section-head .blurb,
.process .section-head .wp-block-paragraph.blurb {
	color: #fff !important;
}

.testi .section-head .wp-block-heading,
.testi .section-head h2,
.testi .section-head .blurb,
.testi .section-head .wp-block-paragraph.blurb {
	color: var(--c-paper) !important;
}

.testi .section-head .blurb,
.testi .section-head .wp-block-paragraph.blurb {
	color: rgba(245, 242, 234, 0.88) !important;
	text-align: end !important;
}

.hero .hero-title,
.hero .wp-block-heading.hero-title,
.hero .hero-eyebrow,
.hero .hero-content .wp-block-paragraph {
	color: inherit !important;
}

/* Footer: logo only when image loads */
.site-footer .footer-brand-fallback {
	display: none !important;
}

.site-footer .footer-brand-link:has(.footer-brand-logo:not(.footer-brand-logo--missing)) .footer-brand-fallback,
.site-footer .footer-brand-logo:not(.footer-brand-logo--missing)+.footer-brand-fallback {
	display: none !important;
}

/* Why / process / find: full-width sections */
.why,
.process,
.find,
.testi,
.services,
.faq-preview,
.amenities {
	max-width: none !important;
	width: 100% !important;
}

.why .wrap,
.process .wrap,
.find .wrap {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pad);
	padding-right: var(--pad);
}

/* Feature grid + find grid (blocks or legacy shortcode) */
.why .feature-grid,
.why .wp-block-group.feature-grid,
.why .wp-block-html .feature-grid,
.why .wp-block-shortcode .feature-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: clamp(18px, 2.2vw, 28px) !important;
	width: 100% !important;
}

.why .feat,
.why .wp-block-group.feat {
	display: flex !important;
	flex-direction: column !important;
	min-height: 300px;
	margin: 0 !important;
}

.why .feat .wp-block-html,
.why .feat .glyph {
	margin: 0;
}

.why .feat .wp-block-heading,
.why .feat h3 {
	margin-top: 0;
}

.why .feat p.num {
	margin: 0;
}

.find .find-grid,
.find .wp-block-group.find-grid,
.find .wp-block-html .find-grid,
.find .wp-block-shortcode .find-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr) !important;
	gap: clamp(24px, 3.5vw, 46px) !important;
	align-items: stretch !important;
	width: 100% !important;
}

.find .find-info,
.find .wp-block-group.find-info {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 10px !important;
	row-gap: 10px !important;
	min-width: 0;
}

.find .find-info>*,
.find .wp-block-group.find-info>* {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.find .find-info>.wp-block-buttons,
.find .wp-block-group.find-info>.wp-block-buttons {
	margin-top: 4px !important;
	width: 100% !important;
}

.find .find-cta,
.find .wp-block-button.find-cta {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
}

.find .find-cta .wp-block-button__link,
.find .wp-block-button.find-cta .wp-block-button__link {
	width: 100% !important;
	justify-content: center !important;
	text-align: center !important;
	border: 1px solid transparent ;
}
.find .find-cta .wp-block-button__link,
.find .wp-block-button.find-cta .wp-block-button__link {
	border: 1px solid #fff;
}


.find .find-card.wp-block-group,
.find .wp-block-group.find-card {
	margin: 0 !important;
}

.find .find-card .wp-block-shortcode {
	margin: 0;
}

.find .find-card p.l {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: bold;
}
.find .find-card p.v {
	margin: 0;
}

.find .wp-block-html {
	margin: 0;
}

.find .find-map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (max-width: 1040px) {

	.why .feature-grid,
	.why .wp-block-html .feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 880px) {

	.why .feature-grid,
	.why .wp-block-html .feature-grid {
		grid-template-columns: 1fr;
	}

	.find .find-grid,
	.find .wp-block-html .find-grid {
		grid-template-columns: 1fr;
	}
}

/* Testimonials block / shortcode — reference markup */
.testi .wp-block-shortcode,
.testi .wp-block-sudsntubs-testimonials {
	display: block;
	width: 100%;
	margin: 0;
}

.testi .wp-block-shortcode .testi-layout,
.testi .wp-block-sudsntubs-testimonials .testi-layout {
	display: grid;
	grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
	gap: clamp(24px, 4vw, 30px);
	align-items: stretch;
	width: 100%;
}

.testi .wp-block-shortcode .testi-grid,
.testi .wp-block-sudsntubs-testimonials .testi-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 26px);
}

.testi .wp-block-shortcode .testi-card blockquote,
.testi .wp-block-sudsntubs-testimonials .testi-card blockquote {
	margin: 0 0 26px;
	padding: 0;
	border: 0;
}

.testi .wp-block-shortcode .testi-card .who,
.testi .wp-block-sudsntubs-testimonials .testi-card .who {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: auto;
	padding-top: 18px;
	border-top: 2px dotted rgba(10, 14, 26, 0.2);
}

.testi .wp-block-shortcode .testi-card .who .meta strong,
.testi .wp-block-shortcode .testi-card .who .meta span,
.testi .wp-block-sudsntubs-testimonials .testi-card .who .meta strong,
.testi .wp-block-sudsntubs-testimonials .testi-card .who .meta span {
	display: block;
}

@media (max-width: 880px) {

	.testi .wp-block-shortcode .testi-layout,
	.testi .wp-block-sudsntubs-testimonials .testi-layout {
		grid-template-columns: 1fr;
	}

	.testi .wp-block-shortcode .testi-grid,
	.testi .wp-block-sudsntubs-testimonials .testi-grid {
		grid-template-columns: 1fr;
	}
}

/* FAQ section — dynamic blocks (reference layout) */
.faq,
section.faq,
.wp-block-group.faq {
	max-width: none !important;
	width: 100% !important;
}

.faq .wrap {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pad);
	padding-right: var(--pad);
}

.faq .faq-grid,
.faq .wp-block-group.faq-grid {
	display: grid !important;
	grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr) !important;
	gap: clamp(24px, 4vw, 54px) !important;
	align-items: start !important;
}

.faq .faq-grid>.faq-intro,
.faq .faq-grid>.wp-block-group.faq-intro {
	grid-column: 1;
}

.faq .faq-grid>.wp-block-shortcode {
	grid-column: 2;
	min-width: 0;
}

@media (max-width: 880px) {
	.faq .faq-grid>.wp-block-shortcode {
		grid-column: 1;
	}
}

.faq .wp-block-sudsntubs-faq-intro,
.faq .wp-block-sudsntubs-faq-accordion {
	margin: 0;
	width: 100%;
}

.faq .faq-intro .label.eyebrow,
.faq .faq-intro .label {
	margin: 0;
}

.faq .faq-intro h2 {
	margin: 0;
}

.faq .faq-a>p:first-child {
	margin-top: 0;
}

.faq .wp-block-sudsntubs-faq-accordion .faq-list,
.faq .wp-block-sudsntubs-faq-accordion .faq-accordion {
	width: 100%;
}

@media (max-width: 980px) {
	.faq .faq-grid {
		grid-template-columns: 1fr;
	}
}

/* Services section — reference layout */
.services .wrap {
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pad);
	padding-right: var(--pad);
}

.services .services-intro,
.services header.services-intro,
.services .wp-block-sudsntubs-services-intro .services-intro,
.services .wp-block-shortcode .services-intro {
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr) !important;
	gap: clamp(20px, 3vw, 32px) clamp(32px, 5vw, 56px) !important;
	align-items: center !important;
	margin-bottom: clamp(36px, 5vw, 56px) !important;
	padding-bottom: clamp(28px, 4vw, 40px) !important;
	border-bottom: 3px solid #fff !important;
	position: relative !important;
}

.services .services-kicker {
	margin: 0 0 14px !important;
	display: inline-flex !important;
}

.services .services-heading {
	margin: 0 !important;
}

.services .services-lede {
	margin: 0 !important;
}

.services .services-grid,
.services .wp-block-group.services-grid,
.services .wp-block-sudsntubs-services-grid .services-grid,
.services .wp-block-shortcode .services-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: clamp(24px, 3.5vw, 40px) !important;
	align-items: start !important;
	width: 100% !important;
}

.services .service-card,
.services .wp-block-group.service-card,
.services article.service-card {
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	height: 100% !important;
	margin: 0 !important;
}

.services .service-card-visual,
.services .wp-block-group.service-card-visual {
	position: relative !important;
	overflow: hidden !important;
	min-height: 200px;
}

.services .service-card-visual .photo-slot,
.services .service-card-visual .photo-slot img,
.services .service-card-visual .service-card-photo,
.services .service-card-visual .wp-block-image.service-card-photo,
.services .service-card-visual .service-card-photo img {
	width: 100% !important;
	height: 100% !important;
	min-height: 220px;
	object-fit: cover !important;
	display: block !important;
	margin: 0 !important;
}

.services .service-chip,
.services p.service-chip {
	display: inline-flex !important;
	margin: 0 !important;
}

.services .services-foot,
.services .wp-block-group.services-foot,
.services aside.services-foot {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
	margin-top: clamp(32px, 4vw, 48px) !important;
}

.services .services-foot .wp-block-buttons {
	margin: 0;
}

.services .services-intro,
.services header.services-intro,
.services .wp-block-group.services-intro {
	display: grid !important;
}

.services .service-card-visual .ph-label,
.services .service-card-visual .wp-block-image {
	display: none !important;
}

.services .service-card-body {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 !important;
}

.services .service-card-meta {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.services .service-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.services .service-list li {
	margin: 0 !important;
}

.services .services-foot,
.services aside.services-foot,
.services .wp-block-sudsntubs-services-foot .services-foot,
.services .wp-block-shortcode .services-foot {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-top: clamp(32px, 4vw, 48px) !important;
}

.services .services-foot-copy {
	margin: 0 !important;
}

.services .wp-block-sudsntubs-services-intro,
.services .wp-block-sudsntubs-services-grid,
.services .wp-block-sudsntubs-services-foot {
	margin: 0;
	width: 100%;
}

@media (max-width: 900px) {

	.services .services-intro,
	.services header.services-intro {
		grid-template-columns: 1fr !important;
	}

	.services .services-lede {
		justify-self: start !important;
		padding-left: 0 !important;
		border-left: 0 !important;
	}

	.services .services-grid {
		grid-template-columns: 1fr !important;
	}

	.services .service-list {
		grid-template-columns: 1fr !important;
	}
}

/* About page: full-width sections + reference layout */
.abt-hero,
section.abt-hero,
.wp-block-group.abt-hero,
.abt-band.abt-apart,
section.abt-apart,
.abt-comfort,
section.abt-comfort,
.abt-band.abt-more,
section.abt-more,
.wp-block-sudsntubs-about-hero-visual,
.wp-block-sudsntubs-about-apart,
.wp-block-sudsntubs-about-comfort {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.abt-hero>.wp-block-group,
.abt-hero-intro {
	max-width: none !important;
}

.abt-apart-grid,
.abt-apart-grid.wp-block-group,
.wrap.abt-apart-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 0.9fr) !important;
	gap: clamp(32px, 5vw, 64px) !important;
	align-items: center !important;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pad);
	padding-right: var(--pad);
}

.abt-apart-visual,
.abt-apart-visual.wp-block-group {
	margin: 0 !important;
}

.abt-apart-visual img,
.abt-apart-visual .wp-block-image img {
	width: 100% !important;
	max-width: none !important;
	height: auto;
	display: block;
	border-radius: var(--r-md);
}

.abt-hero-visual.has-hero-bg,
.abt-hero-visual.wp-block-group.has-hero-bg {
	width: 100% !important;
	max-width: none !important;
}

.abt-comfort,
.abt-comfort.wp-block-group {
	position: relative !important;
	overflow: hidden;
}

.abt-comfort-bg,
.abt-comfort-bg.wp-block-group {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none;
}

.abt-comfort .wrap.abt-comfort-layout,
.abt-comfort .wp-block-group.wrap.abt-comfort-layout {
	position: relative;
	z-index: 1;
}

.abt-hero-visual .abt-services-card,
.abt-hero-visual .wp-block-group.abt-services-card {
	margin-left: auto !important;
	max-width: 42rem;
}

.abt-apart-copy .wp-block-buttons {
	margin-top: 8px;
}

.wp-block-sudsntubs-about-hero-visual,
.wp-block-sudsntubs-about-hero-visual .abt-hero-visual {
	width: 100% !important;
	max-width: none !important;
}

.wp-block-sudsntubs-about-comfort,
.wp-block-sudsntubs-about-comfort .abt-comfort {
	width: 100% !important;
	max-width: none !important;
	position: relative;
}

.abt-comfort-bg {
	position: absolute !important;
	inset: 0 !important;
}

.abt-comfort-bg img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: cover !important;
	display: block !important;
}

.abt-comfort-bg figure,
.abt-comfort-bg .wp-block-image {
	margin: 0 !important;
	height: 100% !important;
	width: 100% !important;
	max-width: none !important;
}

.abt-hero-visual .abt-comfort-layout,
.abt-comfort .abt-comfort-layout {
	justify-content: flex-end !important;
}

.abt-hero-visual .abt-services-card,
.abt-comfort .abt-comfort-card {
	margin-left: auto !important;
}

.abt-apart-copy .btn.svc-btn-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
}

.abt-more-inner .wp-block-buttons {
	display: flex;
	justify-content: center;
	margin: 0;
}

.abt-more-inner .wp-block-button.svc-btn-cta {
	margin: 0;
}

@media (max-width: 960px) {
	.abt-apart-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Marquee + sections full width */
.marquee,
.wp-block-group.marquee,
section.about,
section.services,
section.why,
section.process,
section.testi,
section.amenities,
section.faq,
section.find,
.wp-block-group.about,
.wp-block-group.services,
.wp-block-group.why,
.wp-block-group.process,
.wp-block-group.testi,
.wp-block-group.amenities,
.wp-block-group.faq,
.wp-block-group.find {
	max-width: none !important;
	width: 100% !important;
}

/* Section wrappers: only apply horizontal wrap padding via inner .wrap */
.wp-block-group.wrap,
.wrap {
	max-width: 1440px !important;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pad);
	padding-right: var(--pad);
}

/* Services page — match V2 reference (block markup) */
.svc-intro,
section.svc-intro,
.wp-block-group.svc-intro,
.svc-feature,
section.svc-feature,
.wp-block-group.svc-feature,
.svc-split,
section.svc-split,
.wp-block-group.svc-split,
.svc-cta,
section.svc-cta,
.wp-block-group.svc-cta {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.svc-intro,
.wp-block-group.svc-intro {
	text-align: center;
}

.svc-intro-inner,
.wp-block-group.wrap.svc-intro-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	max-width: 720px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.svc-intro-inner .wp-block-heading,
.svc-intro-inner .wp-block-paragraph,
.svc-intro-inner .wp-block-buttons {
	width: 100%;
	text-align: center;
}

.svc-intro-text.wp-block-paragraph {
	max-width: 62ch;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 15px;
}

.svc-cta-inner,
.wp-block-group.wrap.svc-cta-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	max-width: 840px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
}

.svc-feature,
.wp-block-group.svc-feature {
	position: relative !important;
	overflow: hidden !important;
	padding: 0 !important;
	min-height: clamp(420px, 52vw, 560px) !important;
}

.svc-feature-bg,
.svc-feature-bg.wp-block-group {
	position: absolute !important;
	inset: 0 !important;
	z-index: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
}

.svc-feature-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(10, 14, 26, 0.55) 0%, rgba(10, 14, 26, 0.2) 45%, transparent 72%);
	pointer-events: none;
}

.svc-feature-bg img,
.svc-feature-bg .wp-block-image img,
.svc-feature-bg .wp-block-shortcode img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	min-height: clamp(420px, 52vw, 560px) !important;
	object-fit: cover !important;
	display: block;
}

.svc-feature-bg .wp-block-image,
.svc-feature-bg figure.wp-block-image {
	margin: 0 !important;
	height: 100% !important;
	width: 100% !important;
	max-width: none !important;
}

.svc-feature-layout,
.wp-block-group.wrap.svc-feature-layout {
	position: relative !important;
	z-index: 2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	min-height: clamp(420px, 52vw, 560px) !important;
	padding-top: clamp(40px, 6vw, 72px) !important;
	padding-bottom: clamp(40px, 6vw, 72px) !important;
	box-sizing: border-box;
}

.svc-feature-card,
.wp-block-group.svc-feature-card {
	max-width: min(100%, 520px) !important;
	width: 100%;
	padding: clamp(28px, 4vw, 30px) !important;
	background: var(--c-paper-pure) !important;
	border: 2px solid var(--c-ink) !important;
	border-radius: var(--r-md) !important;
	box-shadow: 10px 10px 0 rgba(10, 14, 26, 0.14) !important;
}

.svc-feature-card .wp-block-heading.svc-block-title {
	margin-top: 0;
}

.wp-block-list.svc-checklist {
	display: grid !important;
	gap: 14px !important;
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0 !important;
}

.wp-block-list.svc-checklist li {
	display: block !important;
}

.wp-block-list.svc-checklist li::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 11px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: transparent !important;
}

.svc-split-grid,
.wp-block-columns.wrap.svc-split-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr) !important;
	gap: clamp(32px, 5vw, 64px) !important;
	align-items: start !important;
	max-width: 1320px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.svc-split-grid>.wp-block-column,
.wp-block-columns.svc-split-grid>.wp-block-column {
	flex-basis: auto !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.wp-block-column.svc-split-divider {
	flex-basis: 1px !important;
	width: 1px !important;
	min-width: 1px !important;
	max-width: 1px !important;
	padding: 0.1px !important;
	background: rgb(0 0 0 / 16%) !important;
	align-self: stretch !important;
}

.wp-block-button.svc-btn-cta .wp-block-button__link:hover {
	transform: none !important;
}

@media (max-width: 880px) {

	.svc-split-grid,
	.wp-block-columns.wrap.svc-split-grid {
		grid-template-columns: 1fr !important;
		gap: 40px !important;
	}

	.wp-block-column.svc-split-divider {
		width: 100% !important;
		max-width: none !important;
		min-height: 1px !important;
		height: 1px !important;
		align-self: auto !important;
	}

	.svc-feature-layout,
	.wp-block-group.wrap.svc-feature-layout {
		align-items: flex-end !important;
		padding-bottom: clamp(32px, 5vw, 48px) !important;
	}

	.svc-feature-card,
	.wp-block-group.svc-feature-card {
		max-width: 100% !important;
	}
}

/* Internal pages: first section clears fixed header (padding on section, not main) */
body.internal-page main>.contact-page,
body.internal-page main>.wp-block-group.contact-page,
body.internal-page main>.faq-page,
body.internal-page main>.wp-block-group.faq-page,
body.internal-page main>.svc-intro,
body.internal-page main>.wp-block-group.svc-intro,
body.internal-page main>.abt-hero,
body.internal-page main>.wp-block-group.abt-hero {
	margin-top: 0 !important;
}

.contact-page .wrap,
.contact-page .wp-block-group.wrap {
	margin-top: 0 !important;
}

.contact-page-title,
.contact-page .contact-page-title {
	margin-top: 0 !important;
}

/* Contact page */
.contact-page .contact-shell,
.contact-page .wp-block-columns.contact-shell {
	display: grid !important;
	grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr) !important;
	align-items: stretch !important;
	max-width: 1180px;
	margin: 0 auto clamp(40px, 5vw, 56px) !important;
	margin-top: 40px !important;
	gap: 90px !important;
}

.contact-page .wp-block-column.contact-form-panel,
.contact-page .wp-block-column.contact-info-panel {
	flex-basis: auto !important;
	width: auto !important;
	min-width: 0 !important;
}

.wp-block-column.contact-info-panel {
	position: relative;
	z-index: 2;
	margin-left: clamp(-16px, -1.5vw, -8px);
	margin-top: clamp(24px, 4vw, 40px);
	margin-bottom: clamp(24px, 4vw, 40px);
	padding: clamp(28px, 3.5vw, 40px) clamp(24px, 3vw, 32px) !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
	background: linear-gradient(165deg, var(--c-primary-deep) 0%, var(--c-primary) 55%, #1e45e8 100%) !important;
	color: var(--c-paper) !important;
	border: 2px solid var(--c-ink) !important;
	border-radius: var(--r-lg) !important;
	box-shadow: 12px 12px 0 rgba(10, 14, 26, 0.18) !important;
}

.contact-page .contact-info-greet {
	margin: 0 0 8px !important;
}

.contact-page .contact-info-block.wp-block-group,
.contact-page .wp-block-group.contact-info-block {
	display: grid !important;
	grid-template-columns: auto 1fr !important;
	gap: 14px 16px !important;
	align-items: start !important;
	width: 100%;
}

.contact-page .contact-info-block__body.wp-block-group,
.contact-page .wp-block-group.contact-info-block__body {
	min-width: 0;
}

.contact-page .contact-info-block .info-value .suds-phone-link,
.contact-page .contact-info-block .info-value .suds-address-link {
	color: var(--c-paper);
	text-decoration: none;
}

.contact-page .contact-info-block .info-value .suds-phone-link:hover,
.contact-page .contact-info-block .info-value .suds-phone-link:focus-visible,
.contact-page .contact-info-block .info-value .suds-address-link:hover,
.contact-page .contact-info-block .info-value .suds-address-link:focus-visible {
	color: var(--c-accent);
}

.contact-page .wp-block-shortcode {
	margin: 0;
	width: 100%;
}

.contact-page .contact-map-full {
	width: 100%;
	max-width: none !important;
}

@media (max-width: 960px) {

	.contact-page .contact-shell,
	.contact-page .wp-block-columns.contact-shell {
		grid-template-columns: 1fr !important;
	}

	.wp-block-column.contact-info-panel {
		margin-left: 0;
		margin-top: 0;
	}

}

/* Footer */
.site-footer,
footer.site-footer {
	max-width: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.site-footer .wrap {
	width: 100%;
	max-width: 1320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--pad);
	padding-right: var(--pad);
	box-sizing: border-box;
}

.site-footer .footer-grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.49fr) minmax(150px, 0.7fr) minmax(150px, 0.7fr) minmax(240px, 0.95fr) !important;
	gap: clamp(22px, 3vw, 34px) !important;
	align-items: start !important;
}

.site-footer .footer-grid .col {
	margin: 0 !important;
	min-width: 0;
}

.site-footer .footer-grid h5 {
	margin: 0 0 20px !important;
	padding: 0 !important;
	font-family: var(--f-mono) !important;
	font-weight: 700 !important;
	font-size: 18px !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--c-accent) !important;
}

.site-footer:not(.site-footer--home) .footer-grid {
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

.site-footer .footer-grid .tag {
	margin: 0 0 6px;
}

.site-footer .footer-brand .tag-line-2 {
	margin-bottom: 0 !important;
}

.site-footer .footer-col-contact .footer-contact-address,
.site-footer .footer-col-contact .footer-contact-hours,
.site-footer .footer-col-contact .footer-phone-line,
.site-footer .footer-col-contact .footer-contact-note {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.site-footer .footer-phone-line {
	margin-top: 10px !important;
	margin-bottom: 6px !important;
}

.site-footer .footer-phone-line .suds-phone-link,
.site-footer .footer-contact-link {
	font-size: clamp(20px, 2.2vw, 26px) !important;
	line-height: 1.25 !important;
	font-weight: 800 !important;
}

.site-footer .footer-contact-note {
	display: block !important;
	margin-top: 0 !important;
}

.site-footer .footer-bottom {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
}

.site-footer .footer-bottom>div {
	margin: 0;
}

.site-footer .wp-block-shortcode {
	margin: 0;
	width: 100%;
}

footer {
	margin-top: 0px !important;
}

@media (max-width: 880px) {
	.site-footer .footer-grid {
		grid-template-columns: 1fr 1fr !important;
	}

	.site-footer .footer-brand {
		grid-column: 1 / -1 !important;
	}
}

@media (max-width: 560px) {
	.site-footer .footer-grid {
		grid-template-columns: 1fr !important;
	}

	.site-footer .footer-brand {
		grid-column: auto !important;
	}
}

/* Kill default block gap between full-width sections */
main.wp-block-group.is-layout-flow>*+* {
	margin-block-start: 0 !important;
}

.wp-block-group.is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: none !important;
}

/* Hero buttons: native .btn on link */
.hero .wp-block-buttons .wp-block-button {
	margin: 0;
}

.abt-hero .abt-hero-intro-inner {
	width: 100%;
	max-width: 820px !important;
}