/* ===== base ===== */
html { scroll-behavior: smooth; }
body { background: var(--wp--preset--color--base); overflow-x: hidden; }
body.home { background: var(--wp--preset--color--maroon-dark); }
/* WordPress auto-applies block-gap margin between top-level sections; our full-bleed
   sections must sit flush against each other with no gap. */
.swh-main > *, .entry-content > * { margin-block-start: 0; margin-block-end: 0; }
[id] { scroll-margin-top: 110px; }
img { max-width: 100%; }

/* ===== header ===== */
/* Transparent overlay on the hero by default; solid once scrolled past it. */
.swh-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 100;
	background: transparent;
	padding: 20px clamp(20px, 4vw, 56px);
	gap: 24px;
	transition: background .3s ease, padding .3s ease, box-shadow .3s ease;
}
.swh-header.is-scrolled,
body:not(.home) .swh-header {
	background: var(--wp--preset--color--maroon) !important;
	padding: 14px clamp(20px, 4vw, 56px);
	box-shadow: 0 1px 0 rgba(0,0,0,0.06);
}
.swh-brand-logo {
	position: relative;
	display: block;
	width: 156px;
	height: 52px;
	flex-shrink: 0;
}
.swh-brand-logo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}

.swh-header-right { gap: clamp(20px, 3vw, 40px); }

.swh-header .wp-block-navigation { color: var(--wp--preset--color--base); }
.swh-header .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base) !important;
	opacity: 0.9;
	transition: opacity .2s ease;
	position: relative;
}
.swh-header .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0; right: 100%;
	bottom: -4px;
	height: 1px;
	background: currentColor;
	transition: right .25s ease;
}
.swh-header .wp-block-navigation-item__content:hover { opacity: 1; }
.swh-header .wp-block-navigation-item__content:hover::after { right: 0; }
.swh-header .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--maroon-dark) !important;
}
.swh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	color: var(--wp--preset--color--base) !important;
	font-size: 1.5rem;
}
.swh-header button.wp-block-navigation__responsive-container-open svg,
.swh-header button.wp-block-navigation__responsive-container-close svg {
	fill: var(--wp--preset--color--base);
}

.swh-header-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--wp--preset--color--base);
	color: var(--wp--preset--color--base);
	padding: 11px 25px;
	white-space: nowrap;
	transition: background .2s ease, color .2s ease;
}
.swh-header-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--wp--preset--color--base); color: var(--wp--preset--color--maroon-dark); }

/* ===== buttons (global) ===== */
.wp-block-button__link {
	text-transform: uppercase;
	font-weight: 500;
	padding: 16px 34px;
	transition: background .2s ease, color .2s ease, transform .2s ease;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--wp--preset--color--maroon);
	color: var(--wp--preset--color--base);
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: var(--wp--preset--color--maroon-dark);
}
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1px solid currentColor;
	background: transparent;
}
.swh-view-link .wp-block-button__link {
	background: transparent;
	border: 0;
	padding: 16px 6px;
	text-decoration: none;
}
.swh-hero .wp-block-buttons { align-items: center; gap: 8px 28px; }

.swh-eyebrow, .swh-col-heading {
	text-transform: uppercase;
	letter-spacing: 0.18em;
	opacity: 0.7;
	margin-bottom: 0.6em;
}
.swh-text-link {
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-size: 0.8125rem;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.swh-text-link a { position: relative; padding-bottom: 2px; background-image: linear-gradient(currentColor, currentColor); background-position: 0 100%; background-repeat: no-repeat; background-size: 0% 1px; transition: background-size .25s ease; }
.swh-text-link a:hover { background-size: 100% 1px; }

.swh-circle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid currentColor;
	font-size: 0.8rem;
	flex-shrink: 0;
	transition: transform 0.25s ease;
}
.swh-view-link:hover .swh-circle,
.swh-text-link a:hover .swh-circle { transform: translateX(3px); }

/* ===== scroll reveal ===== */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.8s ease, transform 0.8s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
	.reveal { opacity: 1; transform: none; transition: none; }
}

/* ===== hero ===== */
.swh-hero {
	min-height: 100svh;
	position: relative;
	background: var(--wp--preset--color--maroon-dark);
	display: flex;
	align-items: center;
	overflow: hidden;
}
.swh-hero-content {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 640px;
	margin: 0;
	padding: clamp(90px, 12vw, 130px) clamp(24px, 6vw, 64px) 0;
}
.swh-hero-overlay {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(20, 5, 8, 0.62) 0%, rgba(20, 5, 8, 0.18) 16%, rgba(20, 5, 8, 0.14) 60%, rgba(20, 5, 8, 0.45) 100%),
		linear-gradient(90deg, rgba(20, 5, 8, 0.4) 0%, rgba(20, 5, 8, 0.1) 50%, rgba(20, 5, 8, 0) 75%);
}
.swh-hero .swh-eyebrow { color: var(--wp--preset--color--blush); opacity: 0.95; }
.swh-hero h1 {
	color: var(--wp--preset--color--base);
	font-family: "Playfair Display", serif;
	font-weight: 500;
	font-size: clamp(2.6rem, 1.9rem + 3vw, 4.4rem);
	line-height: 1.1;
	letter-spacing: -0.01em;
	margin: 0.3em 0 0;
	text-shadow: 0 2px 24px rgba(20, 5, 8, 0.25);
}
.swh-hero h1 em { color: var(--wp--preset--color--blush); font-style: italic; }
.swh-hero-accent-bar { width: 64px; height: 3px; background: var(--wp--preset--color--base); opacity: 0.6; margin: 22px 0 26px; border: 0; }
.swh-hero p.swh-hero-sub {
	color: var(--wp--preset--color--base);
	opacity: 0.92;
	font-family: "Jost", sans-serif;
	font-style: normal;
	font-size: 1rem;
	max-width: 38ch;
	margin-bottom: 2em;
	text-shadow: 0 1px 12px rgba(20, 5, 8, 0.3);
}
.swh-hero .wp-block-buttons .wp-block-button:not(.is-style-outline):not(.swh-view-link) .wp-block-button__link {
	background: transparent;
	border: 1px solid var(--wp--preset--color--base);
	color: var(--wp--preset--color--base);
}
.swh-hero .wp-block-buttons .wp-block-button:not(.is-style-outline):not(.swh-view-link) .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--maroon-dark);
}
.swh-hero .swh-view-link .wp-block-button__link { color: var(--wp--preset--color--base); }

/* hero banner (single static image) */
.swh-hero-banner {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
	overflow: hidden;
}
.swh-hero-banner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% 28%;
}

/* hero slider */
.swh-hero-slider { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.swh-hero-slider img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 22%;
	opacity: 0;
	transition: opacity 1.2s ease;
}
.swh-hero-slider img.is-active { opacity: 1; }
.swh-hero-dots {
	position: absolute;
	left: clamp(20px, 4vw, 40px);
	bottom: clamp(20px, 4vw, 32px);
	z-index: 5;
	display: flex;
	gap: 10px;
}
.swh-hero-dots button {
	width: 10px;
	height: 10px;
	padding: 0;
	border-radius: 50%;
	border: 1px solid rgba(251, 246, 239, 0.7);
	background: transparent;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease;
}
.swh-hero-dots button.is-active { background: var(--wp--preset--color--blush); border-color: var(--wp--preset--color--blush); }
.swh-scroll-indicator {
	position: absolute;
	z-index: 5;
	right: clamp(20px, 4vw, 56px);
	bottom: 28px;
	color: var(--wp--preset--color--base);
	writing-mode: vertical-rl;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-size: 0.75rem;
	display: flex;
	align-items: center;
	gap: 14px;
	opacity: 0.8;
}
.swh-scroll-indicator::before { content: ""; display: block; width: 1px; height: 46px; background: currentColor; }
.swh-scroll-indicator::after {
	content: "+";
	writing-mode: horizontal-tb;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid currentColor;
	font-size: 0.85rem;
}

/* per-photo focal points, keyed to each attachment's wp-image-{id} class */
.wp-image-8  { object-position: 50% 12%; }  /* meet steph arch portrait */
.wp-image-18 { object-position: 50% 40%; }  /* meet steph — studio lounge */
.wp-image-49 { object-position: 50% 55%; }  /* the experience — chairs + Ernie */
.wp-image-38 { object-position: 50% 20%; }  /* the feeling — portrait */

/* ===== two-column split sections ===== */
.swh-split { min-height: min(78vh, 720px); }
.swh-split.swh-blush { background: var(--wp--preset--color--blush); }
.swh-split.swh-cream { background: var(--wp--preset--color--cream); }
.swh-split h2 em { color: var(--wp--preset--color--maroon); font-style: italic; }
.swh-split p { max-width: 46ch; }
.swh-col-pad { padding: clamp(40px, 6vw, 96px) clamp(24px, 6vw, 88px) !important; }

.swh-contact-block { margin: 0 0 20px; }
.swh-contact-label {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.72rem;
	opacity: 0.55;
	margin: 0 0 6px;
}
.swh-contact-block p:not(.swh-contact-label) { margin: 0; font-size: 1.05rem; }
.swh-contact-block a { color: var(--wp--preset--color--maroon); }
.swh-contact-cta { margin-top: 12px; }

.swh-arch-figure {
	margin: clamp(24px, 5vw, 48px) auto !important;
	aspect-ratio: 3 / 4;
	max-width: 420px;
	border-radius: 210px 210px 0 0;
	overflow: hidden;
	box-shadow: 0 24px 48px -24px rgba(43, 11, 17, 0.35);
}
.swh-edge-figure { margin: 0 !important; height: clamp(480px, 78vh, 720px); }
.swh-arch-figure img, .swh-edge-figure img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ===== chapters (numbered narrative sections) ===== */
.swh-chapter-row.swh-blush, .swh-sticky-chapter.swh-blush { background: var(--wp--preset--color--blush); }
.swh-chapter-row.swh-cream, .swh-sticky-chapter.swh-cream { background: var(--wp--preset--color--cream); }
.swh-chapter-row.swh-dark, .swh-sticky-chapter.swh-dark { background: var(--wp--preset--color--maroon-dark); color: var(--wp--preset--color--base); }
.swh-chapter-row.swh-dark p, .swh-sticky-chapter.swh-dark p { color: var(--wp--preset--color--base); opacity: 0.82; }
.swh-chapter-row.swh-dark h2, .swh-sticky-chapter.swh-dark h2 { color: var(--wp--preset--color--base); }
.swh-chapter-row.swh-dark .swh-chapter-number, .swh-sticky-chapter.swh-dark .swh-chapter-number { opacity: 0.4; }
.swh-chapter-row .swh-col-pad { display: flex; flex-direction: column; justify-content: center; }
.swh-chapter-number {
	font-family: "Playfair Display", serif;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(3.4rem, 2.5rem + 4vw, 5.8rem);
	line-height: 1;
	color: var(--wp--preset--color--gold);
	margin: 0 0 4px;
}
.swh-chapter-eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.75rem;
	opacity: 0.65;
	margin: 0 0 20px;
}
.swh-chapter-eyebrow::after { content: ""; width: 32px; height: 1px; background: currentColor; opacity: 0.5; }
.swh-chapter-row h2, .swh-sticky-chapter h2 { margin: 0 0 20px; max-width: 15ch; }
.swh-chapter-row h2 em, .swh-chapter-row p em,
.swh-sticky-chapter h2 em, .swh-sticky-chapter p em { font-style: italic; color: var(--wp--preset--color--maroon); }
.swh-chapter-row.swh-dark h2 em, .swh-chapter-row.swh-dark p em,
.swh-sticky-chapter.swh-dark h2 em, .swh-sticky-chapter.swh-dark p em { color: var(--wp--preset--color--blush); }
.swh-chapter-row p, .swh-sticky-chapter p { max-width: 46ch; margin: 0 0 1.1em; }
.swh-chapter-row p strong, .swh-sticky-chapter p strong { color: var(--wp--preset--color--maroon); font-weight: 600; }
.swh-chapter-row.swh-dark p strong, .swh-sticky-chapter.swh-dark p strong { color: var(--wp--preset--color--blush); }
.swh-chapter-row .swh-text-link, .swh-sticky-chapter .swh-text-link { margin-top: 0.5em; }

/* ===== sticky scroll (Dandy-Loans-style pinned column) ===== */
.swh-sticky-text {
	position: sticky;
	top: 96px;
	align-self: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: calc(100svh - 96px);
}
.swh-sticky-panel {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 32px;
	padding: clamp(32px, 5vw, 56px) clamp(24px, 5vw, 56px);
}
.swh-sticky-panel .swh-arch-figure,
.swh-sticky-panel .swh-edge-figure { margin: 0 auto !important; }
.swh-sticky-panel .swh-edge-figure { width: 100%; max-width: 560px; height: clamp(480px, 76vh, 760px); }
.swh-sticky-panel-text { max-width: 46ch; margin: 0 auto; }

/* single rotating-slider column used in sections 02–04 */
.swh-sticky-tall {
	position: relative;
	min-height: 140vh;
	overflow: hidden;
}
.swh-sticky-tall .swh-hero-slider img { object-position: 50% 20%; }
.swh-sticky-tall .swh-hero-dots { bottom: clamp(24px, 4vw, 40px); }

@media (max-width: 860px) {
	.swh-sticky-text { position: static; min-height: 0; }
	.swh-sticky-panel { min-height: 0; }
	.swh-sticky-tall { min-height: 60vh; }
}

/* ===== signature transformations gallery ===== */
.swh-transform-section { background: var(--wp--preset--color--cream); padding: clamp(64px, 9vw, 112px) 0; }
.swh-transform-header { max-width: 640px; margin: 0 auto clamp(32px, 5vw, 56px); padding: 0 clamp(24px, 6vw, 64px); }
.swh-transform-header h2 { max-width: 18ch; margin: 0.3em 0 0; }
.swh-transform-header h2 em { font-style: italic; color: var(--wp--preset--color--maroon); }
.swh-transform-wrap {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 clamp(16px, 4vw, 56px);
	display: flex;
	align-items: center;
	gap: clamp(12px, 2vw, 28px);
}
.swh-transform-grid {
	flex: 1;
	min-width: 0;
	display: grid;
	grid-template-columns: 1fr 1.5fr 1fr;
	grid-template-rows: clamp(240px, 30vw, 340px) clamp(240px, 30vw, 340px);
	gap: clamp(8px, 1.2vw, 16px);
}
.swh-t-a { grid-column: 1; grid-row: 1; }
.swh-t-b { grid-column: 2; grid-row: 1 / span 2; }
.swh-t-c { grid-column: 3; grid-row: 1; }
.swh-t-d { grid-column: 1; grid-row: 2; }
.swh-t-e { grid-column: 3; grid-row: 2; }
.swh-transform-cell { margin: 0; overflow: hidden; background: var(--wp--preset--color--blush); }
.swh-transform-cell img { width: 100%; height: 100%; object-fit: cover; display: block; transition: opacity .35s ease; }
.swh-transform-card {
	background: var(--wp--preset--color--blush);
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	padding: clamp(16px, 2vw, 24px);
	transition: opacity .35s ease;
}
.swh-transform-count { font-family: "Playfair Display", serif; font-style: italic; font-size: 1.3rem; color: var(--wp--preset--color--maroon); }
.swh-transform-title { font-family: "Jost", sans-serif; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.78rem; font-weight: 600; line-height: 1.5; margin: 0; }
.swh-transform-link {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--wp--preset--color--maroon);
}
.swh-transform-arrow {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--maroon);
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	flex-shrink: 0;
	color: var(--wp--preset--color--maroon);
	transition: background .2s ease, color .2s ease;
}
.swh-transform-arrow:hover { background: var(--wp--preset--color--maroon); color: var(--wp--preset--color--base); }

@media (max-width: 780px) {
	.swh-transform-wrap { flex-direction: column-reverse; gap: 20px; }
	.swh-transform-grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: repeat(3, 180px);
	}
	.swh-t-a { grid-column: 1; grid-row: 1; }
	.swh-t-c { grid-column: 2; grid-row: 1; }
	.swh-t-b { grid-column: 1 / span 2; grid-row: 2; }
	.swh-t-d { grid-column: 1; grid-row: 3; }
	.swh-t-e { grid-column: 2; grid-row: 3; }
	.swh-transform-arrow { transform: rotate(90deg); }
}

/* ===== closing CTA band ===== */
.swh-cta-band {
	background: var(--wp--preset--color--blush);
	padding: clamp(48px, 7vw, 80px) clamp(24px, 6vw, 64px);
	align-items: center;
	row-gap: 28px;
	column-gap: 32px;
}
.swh-cta-band h2 { margin: 0.15em 0 0; }
.swh-cta-band h2 em { font-style: italic; color: var(--wp--preset--color--maroon); }
.swh-cta-band .wp-block-buttons { margin: 0; }

/* ===== portfolio ===== */
.swh-portfolio { color: var(--wp--preset--color--base); }
.swh-portfolio .wp-block-cover__inner-container { padding: clamp(40px, 6vw, 88px) clamp(20px, 4vw, 56px); }
.swh-portfolio-head { margin-bottom: 32px !important; gap: 20px !important; }
.swh-portfolio-head h2 { color: var(--wp--preset--color--base); margin: 0; }
.swh-portfolio .has-text-align-right { text-align: right; }
.swh-gallery.wp-block-gallery { gap: 14px !important; }
.swh-gallery .wp-block-image { overflow: hidden; border-radius: 4px; }
.swh-gallery .wp-block-image img { border-radius: 4px; transition: transform .5s ease; }
.swh-gallery .wp-block-image:hover img { transform: scale(1.05); }

/* ===== gallery page categories ===== */
.swh-gallery-cat { max-width: 1240px; margin: 0 auto clamp(56px, 8vw, 96px); padding: 0 clamp(20px, 4vw, 56px); scroll-margin-top: 130px; }
.swh-gallery-cat:first-of-type { margin-top: clamp(8px, 2vw, 16px); }
.swh-gallery-cat-head { max-width: 62ch; margin-bottom: clamp(24px, 4vw, 36px); }
.swh-gallery-cat-head h2 { margin: 0 0 10px; }
.swh-gallery-cat-head p { font-style: italic; opacity: 0.72; margin: 0; font-family: "Jost", sans-serif; }
.swh-gallery-empty { font-style: italic; opacity: 0.5; font-family: "Jost", sans-serif; margin: 0; }

/* sticky category tabs */
.swh-gallery-tabs {
	position: sticky;
	top: 0;
	z-index: 20;
	display: flex;
	justify-content: center;
	gap: clamp(8px, 2vw, 16px);
	flex-wrap: wrap;
	padding: 18px clamp(20px, 4vw, 56px);
	background: var(--wp--preset--color--cream);
	border-bottom: 1px solid rgba(43, 11, 17, 0.08);
}
.swh-gallery-tabs a {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--wp--preset--color--maroon);
	opacity: 0.6;
	text-decoration: none;
	padding: 8px 18px;
	border: 1px solid transparent;
	border-radius: 999px;
	transition: opacity .2s ease, border-color .2s ease, background .2s ease;
}
.swh-gallery-tabs a:hover { opacity: 1; border-color: currentColor; }

/* masonry grid */
.swh-masonry {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(10px, 1.6vw, 18px);
}
.swh-masonry-item {
	margin: 0;
	border-radius: 6px;
	overflow: hidden;
	position: relative;
	background: var(--wp--preset--color--blush);
	aspect-ratio: 3 / 4;
}
.swh-masonry-item img, .swh-masonry-item video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .6s ease;
}
.swh-masonry-item:hover img,
.swh-masonry-item:hover video { transform: scale(1.045); }

/* video card */
.swh-video-card { cursor: pointer; }
.swh-video-card video { background: var(--wp--preset--color--maroon-dark); }
.swh-video-badge {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;
}
.swh-video-badge span {
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: rgba(251, 246, 239, 0.9);
	color: var(--wp--preset--color--maroon-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	box-shadow: 0 8px 20px -6px rgba(20, 5, 8, 0.5);
	transition: transform .25s ease, opacity .25s ease;
}
.swh-video-card:hover .swh-video-badge span { transform: scale(1.08); }
.swh-video-card.is-playing .swh-video-badge { opacity: 0; pointer-events: none; }

@media (max-width: 780px) {
	.swh-masonry { grid-template-columns: repeat(2, 1fr); }
	.swh-gallery-tabs { position: static; }
}

/* ===== footer ===== */
.swh-footer {
	background: var(--wp--preset--color--maroon-dark);
	color: var(--wp--preset--color--base);
	padding: clamp(48px, 6vw, 88px) clamp(20px, 4vw, 56px) 32px;
}
.swh-footer-grid { gap: 32px; }
.swh-footer a { color: var(--wp--preset--color--base); opacity: 0.85; }
.swh-footer a:hover { color: var(--wp--preset--color--blush); opacity: 1; }
.swh-footer-brand .wp-block-site-logo { margin: 0 0 14px; }
.swh-footer-brand .wp-block-site-logo img { max-height: 46px; width: auto; }
.swh-footer .swh-eyebrow { color: var(--wp--preset--color--blush); opacity: 0.9; margin-top: 10px; }
.swh-footer .swh-copyright { opacity: 0.55; margin-top: 28px; font-size: 0.75rem; }
.swh-footer .swh-col-heading { color: var(--wp--preset--color--blush); }
.swh-hours-row { display: flex; justify-content: space-between; gap: 12px; max-width: 220px; opacity: 0.85; }

/* ===== responsive ===== */
@media (max-width: 781px) {
	.swh-edge-figure { min-height: 300px; }
	.swh-arch-figure { max-width: 340px; border-radius: 170px 170px 0 0; }
	.swh-footer-grid { grid-template-columns: 1fr 1fr !important; }
	.swh-chapter-row { grid-template-columns: 1fr; min-height: 0; }
	.swh-chapter-row > figure, .swh-chapter-row .swh-edge-figure { min-height: 340px; }
}
@media (max-width: 600px) {
	.swh-footer-grid { grid-template-columns: 1fr !important; }
	.swh-hero { min-height: 92vh; }
	.swh-hero-banner img { object-position: 78% 26%; }
	.swh-portfolio-head .has-text-align-right { text-align: left; }
	.swh-chapter-number { font-size: 3rem; }

	.swh-header { padding: 14px 16px; gap: 10px; }
	.swh-brand-logo { width: 108px; height: 36px; }
	.swh-header-right { gap: 8px; }
	.swh-header-cta .wp-block-button:not(.is-style-outline) .wp-block-button__link {
		padding: 8px 12px;
		font-size: 0.62rem;
		letter-spacing: 0.06em;
	}
	.swh-header button.wp-block-navigation__responsive-container-open,
	.swh-header button.wp-block-navigation__responsive-container-close {
		padding: 4px;
	}
}
