/* ==========================================================================
   Studio theme, Wave Content Studio edition.
   Black and white base, brand red as the single accent.
   ========================================================================== */

:root {
	/* Wave Content Studio: red and black. Accent and dark can be changed in the Customizer. */
	--sb-paper: #f7f7f7;
	--sb-white: #ffffff;
	--sb-cyc: #ececec;
	--sb-line: #d9d9d9;
	--sb-grey: #8c8c8c;
	--sb-muted: #5c5c5c;
	--sb-text: #2e2e2e;
	--sb-ink: #121212;
	--sb-gel: #d4151c;
	--sb-gel-deep: color-mix(in srgb, var(--sb-gel) 78%, #000);
	--sb-gel-tint: color-mix(in srgb, var(--sb-gel) 12%, #fff);
	--sb-wa: #1c8a4a;

	--sb-font: "Schibsted Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;

	--sb-step--1: clamp(0.84rem, 0.82rem + 0.1vw, 0.9rem);
	--sb-step-0: clamp(1rem, 0.97rem + 0.15vw, 1.08rem);
	--sb-step-1: clamp(1.2rem, 1.12rem + 0.35vw, 1.4rem);
	--sb-step-2: clamp(1.5rem, 1.33rem + 0.8vw, 2rem);
	--sb-step-3: clamp(2rem, 1.6rem + 1.9vw, 3.1rem);
	--sb-step-4: clamp(2.6rem, 1.6rem + 5vw, 6.2rem);

	--sb-space: clamp(1rem, 0.8rem + 1vw, 1.5rem);
	--sb-section: clamp(3.5rem, 2.4rem + 5vw, 7.5rem);
	--sb-wrap: 1240px;
	--sb-gutter: clamp(1.1rem, 0.6rem + 2.4vw, 2.5rem);
	--sb-radius: 4px;
	--sb-cove: clamp(48px, 10vw, 200px);
	--sb-cove-sm: 28px;
	--sb-header-h: 72px;
}

/* ---------- Base ---------- */

*,
*::before,
*::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--sb-header-h) + 1rem);
}

body {
	margin: 0;
	background: var(--sb-paper);
	color: var(--sb-text);
	font-family: var(--sb-font);
	font-size: var(--sb-step-0);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.sb-nav-open { overflow: hidden; }

img,
video,
svg { max-width: 100%; height: auto; display: block; }

a { color: var(--sb-gel); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { color: var(--sb-gel-deep); }

h1, h2, h3, h4, h5, h6 {
	color: var(--sb-ink);
	font-family: var(--sb-font);
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.5em;
	text-wrap: balance;
}

p { margin: 0 0 1em; text-wrap: pretty; }

:focus-visible {
	outline: 3px solid var(--sb-gel);
	outline-offset: 3px;
	border-radius: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.skip-link:focus {
	clip: auto; width: auto; height: auto;
	top: 0.75rem; left: 0.75rem; z-index: 1000;
	padding: 0.75rem 1rem;
	background: var(--sb-ink); color: var(--sb-white);
}

.site-main:focus { outline: none; }

.sb-wrap {
	width: 100%;
	max-width: calc(var(--sb-wrap) + var(--sb-gutter) * 2);
	margin-inline: auto;
	padding-inline: var(--sb-gutter);
}

.sb-wrap--text { max-width: calc(760px + var(--sb-gutter) * 2); }

/* ---------- Buttons & links ---------- */

.sb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.7rem 1.3rem;
	border: 1.5px solid transparent;
	border-radius: var(--sb-radius);
	font: 600 var(--sb-step-0) / 1.2 var(--sb-font);
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.sb-btn--primary { background: var(--sb-gel); color: var(--sb-white); }
.sb-btn--primary:hover { background: var(--sb-gel-deep); color: var(--sb-white); }

.sb-btn--ghost { border-color: var(--sb-ink); color: var(--sb-ink); background: transparent; }
.sb-btn--ghost:hover { background: var(--sb-ink); color: var(--sb-white); }

.sb-btn--light { background: var(--sb-white); color: var(--sb-ink); }
.sb-btn--light:hover { background: var(--sb-gel-tint); color: var(--sb-ink); }

.sb-btn--block { width: 100%; }

.sb-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.sb-link {
	color: var(--sb-ink);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--sb-gel);
	text-decoration-thickness: 2px;
}
.sb-link:hover { color: var(--sb-gel); }

/* ---------- Header ---------- */

.sb-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: color-mix(in srgb, var(--sb-paper) 90%, transparent);
	-webkit-backdrop-filter: saturate(1.4) blur(12px);
	backdrop-filter: saturate(1.4) blur(12px);
	border-bottom: 1px solid transparent;
	transition: border-color 0.2s ease;
}

.admin-bar .sb-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .sb-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .sb-header { top: 0; } }

.sb-header.is-scrolled { border-bottom-color: var(--sb-line); }

.sb-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--sb-header-h);
}

.sb-brand__name {
	color: var(--sb-ink);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	text-decoration: none;
}

.custom-logo { max-height: 44px; width: auto; }

.sb-nav { display: flex; align-items: center; gap: 1.75rem; }

.sb-nav__list {
	display: flex;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sb-nav__list a {
	color: var(--sb-ink);
	font-weight: 500;
	text-decoration: none;
	padding-block: 0.4rem;
	border-bottom: 2px solid transparent;
}

.sb-nav__list a:hover,
.sb-nav__list .current-menu-item > a,
.sb-nav__list .current_page_item > a { border-bottom-color: var(--sb-gel); }

.sb-nav__list li { position: relative; }

.sb-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: -1rem;
	min-width: 220px;
	margin: 0;
	padding: 0.75rem 1rem;
	list-style: none;
	background: var(--sb-white);
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	visibility: hidden;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s;
}

.sb-nav__list li:hover > .sub-menu,
.sb-nav__list li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: none; }

.sb-nav__list .sub-menu a { display: block; padding-block: 0.45rem; }

.sb-nav__contact { display: none; }

.sb-nav-toggle {
	display: none;
	align-items: center;
	gap: 0.6rem;
	min-height: 44px;
	padding: 0.5rem 0.25rem;
	border: 0;
	background: none;
	color: var(--sb-ink);
	font: 600 1rem var(--sb-font);
	cursor: pointer;
}

.sb-nav-toggle__bars,
.sb-nav-toggle__bars::before,
.sb-nav-toggle__bars::after {
	display: block;
	width: 22px;
	height: 2px;
	background: currentColor;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.sb-nav-toggle__bars { position: relative; }
.sb-nav-toggle__bars::before,
.sb-nav-toggle__bars::after { content: ""; position: absolute; left: 0; }
.sb-nav-toggle__bars::before { top: -7px; }
.sb-nav-toggle__bars::after { top: 7px; }

.sb-nav-toggle[aria-expanded="true"] .sb-nav-toggle__bars { background: transparent; }
.sb-nav-toggle[aria-expanded="true"] .sb-nav-toggle__bars::before { transform: translateY(7px) rotate(45deg); }
.sb-nav-toggle[aria-expanded="true"] .sb-nav-toggle__bars::after { transform: translateY(-7px) rotate(-45deg); }

@media (max-width: 900px) {
	.sb-nav-toggle { display: inline-flex; }

	.sb-nav {
		position: fixed;
		inset: var(--sb-header-h) 0 0 0;
		flex-direction: column;
		align-items: stretch;
		gap: 1.5rem;
		padding: 1.5rem var(--sb-gutter) calc(2rem + env(safe-area-inset-bottom));
		background: var(--sb-paper);
		overflow-y: auto;
		visibility: hidden;
		opacity: 0;
		transform: translateY(-8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
	}

	.admin-bar .sb-nav { top: calc(var(--sb-header-h) + 46px); }

	.sb-nav.is-open { visibility: visible; opacity: 1; transform: none; }

	.sb-nav__list { flex-direction: column; gap: 0; }

	.sb-nav__list > li { border-bottom: 1px solid var(--sb-line); }

	.sb-nav__list a {
		display: block;
		padding: 1rem 0;
		font-size: var(--sb-step-2);
		font-weight: 700;
		letter-spacing: -0.02em;
		border-bottom: 0;
	}

	.sb-nav__list .sub-menu {
		position: static;
		visibility: visible;
		opacity: 1;
		transform: none;
		border: 0;
		padding: 0 0 0.75rem 1rem;
		background: none;
	}

	.sb-nav__list .sub-menu a { font-size: var(--sb-step-0); font-weight: 500; padding: 0.5rem 0; }

	.sb-nav__cta { width: 100%; }

	.sb-nav__contact { display: block; margin: 0; text-align: center; }
	.sb-nav__contact a { color: var(--sb-ink); font-weight: 600; }
}

/* ---------- Placeholder (a cyc wall) ---------- */

.sb-placeholder {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: 200px;
	background: linear-gradient(180deg, #f0f2f5 0%, #e7eaee 58%, #d6dae0 100%);
	overflow: hidden;
}

.sb-placeholder__floor {
	position: absolute;
	inset: auto -10% -30% -10%;
	height: 70%;
	background: radial-gradient(ellipse at 50% 20%, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0) 60%);
}

/* ---------- Hero ---------- */

.sb-hero { padding-block: clamp(2rem, 1rem + 4vw, 5rem) var(--sb-section); overflow: clip; }

.sb-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: clamp(1.5rem, 4vw, 4rem);
}

.sb-hero__copy { position: relative; z-index: 2; }

.sb-hero__title {
	font-size: var(--sb-step-4);
	font-weight: 800;
	line-height: 0.94;
	letter-spacing: -0.045em;
	margin-bottom: 0.4em;
	margin-right: -22%;
}

.sb-hero__text {
	max-width: 34ch;
	font-size: var(--sb-step-1);
	line-height: 1.5;
	color: var(--sb-muted);
	margin-bottom: 1.75rem;
}

.sb-hero__visual { position: relative; }

/* The one bold move: brand red light spilling onto the wall behind the frame. */
.sb-hero__spill {
	position: absolute;
	inset: -12% -18% 10% 20%;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--sb-gel) 30%, transparent), color-mix(in srgb, var(--sb-gel) 10%, transparent) 55%, transparent 100%);
	filter: blur(8px);
	pointer-events: none;
	animation: sb-gel-on 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) 0.2s both;
}

@keyframes sb-gel-on {
	from { opacity: 0; transform: scale(0.85); }
	to { opacity: 1; transform: none; }
}

.sb-hero__frame {
	position: relative;
	aspect-ratio: 4 / 3.4;
	border-radius: var(--sb-radius) var(--sb-radius) var(--sb-radius) var(--sb-cove);
	overflow: hidden;
	background: var(--sb-cyc);
}

.sb-hero__frame img,
.sb-hero__frame .sb-placeholder { width: 100%; height: 100%; object-fit: cover; }

@media (max-width: 900px) {
	.sb-hero__grid { grid-template-columns: 1fr; }
	.sb-hero__title { margin-right: 0; }
	.sb-hero__frame { aspect-ratio: 4 / 3; }
	.sb-hero__spill { inset: -10% -25% 20% 10%; }
}

@media (max-width: 480px) {
	.sb-actions .sb-btn { flex: 1 1 100%; }
}

/* ---------- Sections ---------- */

.sb-section { padding-block: var(--sb-section); }
.sb-section--flush { padding-top: 0; }
.sb-section--cyc { background: var(--sb-cyc); }

.sb-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem 2rem;
	margin-bottom: clamp(1.75rem, 3vw, 2.75rem);
}

.sb-section__title {
	font-size: var(--sb-step-3);
	font-weight: 800;
	letter-spacing: -0.035em;
	margin: 0;
}

.sb-section__lede { max-width: 52ch; color: var(--sb-muted); margin: 0; }

.sb-split {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: 2rem clamp(2rem, 6vw, 6rem);
	align-items: start;
}

@media (max-width: 800px) { .sb-split { grid-template-columns: 1fr; } }

.sb-note {
	margin-top: 1.5rem;
	padding: 0.85rem 1rem;
	border-left: 3px solid var(--sb-gel);
	background: var(--sb-white);
	font-size: var(--sb-step--1);
	color: var(--sb-muted);
}

.sb-empty { font-size: var(--sb-step-1); color: var(--sb-muted); }

/* ---------- Studio grid & cards ---------- */

.sb-grid {
	--sb-cols: 3;
	display: grid;
	grid-template-columns: repeat(var(--sb-cols), minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2.5vw, 2rem);
}

@media (max-width: 1024px) { .sb-grid { --sb-cols: 2; } }
@media (max-width: 640px) { .sb-grid { --sb-cols: 1; } }

/* Let Elementor's responsive column control win inside the widget. */
.elementor-widget-softbox-studio-grid .sb-grid { grid-template-columns: repeat(var(--sb-cols), minmax(0, 1fr)); }

.sb-card { display: flex; flex-direction: column; }

.sb-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--sb-radius) var(--sb-radius) var(--sb-radius) var(--sb-cove-sm);
	overflow: hidden;
	background: var(--sb-cyc);
}

.sb-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; }
.sb-card:hover .sb-card__media img { transform: scale(1.03); }

.sb-card__body { padding-top: 1rem; }

.sb-card__title { font-size: var(--sb-step-1); font-weight: 700; margin-bottom: 0.25rem; }
.sb-card__title a { color: var(--sb-ink); text-decoration: none; }
.sb-card__title a:hover { color: var(--sb-gel); }

.sb-card__specs { font-size: var(--sb-step--1); color: var(--sb-muted); margin-bottom: 0.6rem; }
.sb-card__text { margin-bottom: 0.75rem; }
.sb-card__price { margin: 0; color: var(--sb-ink); }
.sb-card__price strong { font-weight: 700; }

/* ---------- Steps (a real sequence) ---------- */

.sb-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: sb-step;
	display: grid;
	gap: 0;
}

.sb-steps li {
	counter-increment: sb-step;
	display: grid;
	grid-template-columns: 3.25rem 1fr;
	column-gap: 1rem;
	padding-block: 1.5rem;
	border-top: 1px solid var(--sb-line);
}

.sb-steps li:last-child { border-bottom: 1px solid var(--sb-line); }

.sb-steps li::before {
	content: counter(sb-step);
	grid-row: span 2;
	font-size: var(--sb-step-3);
	font-weight: 800;
	line-height: 0.9;
	color: var(--sb-gel);
	letter-spacing: -0.04em;
}

.sb-steps h3 { font-size: var(--sb-step-1); margin-bottom: 0.3rem; }
.sb-steps p { margin: 0; max-width: 56ch; }

/* ---------- Rates ---------- */

.sb-rates {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.sb-rate {
	display: flex;
	flex-direction: column;
	padding: clamp(1.4rem, 2.5vw, 2rem);
	background: var(--sb-white);
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
}

.sb-rate--highlight { background: var(--sb-ink); border-color: var(--sb-ink); color: #c8c8c8; }
.sb-rate--highlight .sb-rate__name,
.sb-rate--highlight .sb-rate__amount { color: var(--sb-white); }
.sb-rate--highlight .sb-rate__list li::before { background: var(--sb-gel-tint); }

.sb-rate__name { font-size: var(--sb-step-1); font-weight: 700; margin-bottom: 0.75rem; }

.sb-rate__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.4rem; margin-bottom: 0.75rem; }
.sb-rate__amount { font-size: var(--sb-step-3); font-weight: 800; letter-spacing: -0.04em; color: var(--sb-ink); line-height: 1; }
.sb-rate__unit { font-size: var(--sb-step--1); }

.sb-rate__list { list-style: none; margin: 0 0 1.5rem; padding: 0; flex-grow: 1; }
.sb-rate__list li { position: relative; padding: 0.35rem 0 0.35rem 1.4rem; }
.sb-rate__list li::before {
	content: "";
	position: absolute;
	left: 0; top: 0.95em;
	width: 0.6rem; height: 2px;
	background: var(--sb-gel);
}

.sb-rate .sb-btn { width: 100%; }
.sb-rate--highlight .sb-btn--primary { background: var(--sb-gel); }

/* ---------- FAQ ---------- */

.sb-faq details { border-top: 1px solid var(--sb-line); }
.sb-faq details:last-child { border-bottom: 1px solid var(--sb-line); }

.sb-faq summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	min-height: 56px;
	padding-block: 1rem;
	color: var(--sb-ink);
	font-size: var(--sb-step-1);
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.sb-faq summary::-webkit-details-marker { display: none; }

.sb-faq summary::after {
	content: "+";
	flex: none;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1;
	color: var(--sb-gel);
	transition: transform 0.2s ease;
}

.sb-faq details[open] summary::after { transform: rotate(45deg); }
.sb-faq details p { max-width: 60ch; padding-bottom: 1.25rem; margin: 0; }

/* ---------- Band ---------- */

.sb-band { background: var(--sb-gel); color: #fff; padding-block: clamp(3rem, 2rem + 4vw, 5.5rem); }
.sb-band__inner { display: grid; justify-items: start; gap: 0.5rem; }
.sb-band__title { color: var(--sb-white); font-size: var(--sb-step-3); font-weight: 800; letter-spacing: -0.035em; max-width: 18ch; margin: 0; }
.sb-band p { max-width: 50ch; margin-bottom: 1rem; }

/* ---------- Pages & posts ---------- */

.sb-page { padding-block: clamp(2rem, 1rem + 4vw, 4.5rem) var(--sb-section); }
.sb-page__head { margin-bottom: 2rem; }

.sb-page__title {
	font-size: var(--sb-step-3);
	font-weight: 800;
	letter-spacing: -0.035em;
}

.sb-page__media { margin: 0 0 2rem; border-radius: var(--sb-radius) var(--sb-radius) var(--sb-radius) var(--sb-cove-sm); overflow: hidden; }

.entry-meta { color: var(--sb-muted); font-size: var(--sb-step--1); }

.sb-archive-head { padding-block: clamp(2rem, 1rem + 4vw, 4.5rem) 2rem; }

.sb-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1.25rem; }
.sb-filter a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0.4rem 0.95rem;
	border: 1px solid var(--sb-line);
	border-radius: 999px;
	color: var(--sb-ink);
	text-decoration: none;
	font-weight: 500;
}
.sb-filter a:hover { border-color: var(--sb-ink); }
.sb-filter a[aria-current="page"] { background: var(--sb-ink); border-color: var(--sb-ink); color: var(--sb-white); }

.sb-posts { display: grid; gap: 2.5rem; max-width: 900px; }

.sb-post { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 1.5rem; align-items: start; }
.sb-post:not(:has(.sb-post__media)) { grid-template-columns: 1fr; }
.sb-post__media { border-radius: var(--sb-radius) var(--sb-radius) var(--sb-radius) var(--sb-cove-sm); overflow: hidden; }
.sb-post__title { font-size: var(--sb-step-2); }
.sb-post__title a { color: var(--sb-ink); text-decoration: none; }
.sb-post__title a:hover { color: var(--sb-gel); }

@media (max-width: 640px) { .sb-post { grid-template-columns: 1fr; } }

.sb-prose { line-height: 1.7; }
.sb-prose > * + * { margin-top: 1.1em; }
.sb-prose h2 { font-size: var(--sb-step-2); margin-top: 2em; }
.sb-prose h3 { font-size: var(--sb-step-1); margin-top: 1.6em; }
.sb-prose img { border-radius: var(--sb-radius); }
.sb-prose blockquote { margin-inline: 0; padding-left: 1.25rem; border-left: 3px solid var(--sb-gel); color: var(--sb-ink); font-size: var(--sb-step-1); }
.sb-prose ul, .sb-prose ol { padding-left: 1.25rem; }
.sb-prose .alignwide { margin-inline: calc(-1 * min(8vw, 120px)); max-width: none; }
.sb-prose .alignfull { margin-inline: calc(50% - 50vw); max-width: 100vw; width: 100vw; }

.sb-pagination, .pagination, .nav-links { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 3rem; }
.page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 44px; min-height: 44px; padding: 0 0.75rem;
	border: 1px solid var(--sb-line); border-radius: var(--sb-radius);
	color: var(--sb-ink); text-decoration: none;
}
.page-numbers.current { background: var(--sb-ink); border-color: var(--sb-ink); color: var(--sb-white); }

.post-navigation .nav-links { justify-content: space-between; }
.sb-postnav__label { display: block; font-size: var(--sb-step--1); color: var(--sb-muted); }

.search-form { display: flex; gap: 0.5rem; margin-block: 1.5rem; }
.search-form label { flex: 1; }
.search-field,
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
	background: var(--sb-white);
	font: inherit;
	font-size: 16px; /* stops iOS zoom */
	color: var(--sb-ink);
}
.search-submit, .comment-form .submit {
	min-height: 48px; padding: 0.7rem 1.2rem;
	border: 0; border-radius: var(--sb-radius);
	background: var(--sb-ink); color: var(--sb-white);
	font: 600 1rem var(--sb-font); cursor: pointer;
}

.sb-comments { margin-top: 4rem; }
.sb-comments__list { padding-left: 0; list-style: none; }
.sb-comments__list .comment-body { padding-block: 1.25rem; border-top: 1px solid var(--sb-line); }

.sb-404 { padding-block: var(--sb-section); }

/* ---------- Single studio ---------- */

.sb-studio__head { padding-top: clamp(1.5rem, 1rem + 3vw, 3.5rem); padding-bottom: 1.75rem; }

.sb-crumbs { display: flex; gap: 0.5rem; font-size: var(--sb-step--1); margin-bottom: 1rem; color: var(--sb-grey); }
.sb-crumbs a { color: var(--sb-muted); }

.sb-studio__title { font-size: var(--sb-step-4); font-weight: 800; letter-spacing: -0.045em; line-height: 0.95; margin-bottom: 0.3em; }
.sb-studio__lede { max-width: 52ch; font-size: var(--sb-step-1); color: var(--sb-muted); margin: 0; }

.sb-studio__media > img,
.sb-studio__media > .sb-placeholder {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: var(--sb-radius) var(--sb-radius) var(--sb-radius) var(--sb-cove);
}

.sb-studio__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(2rem, 4vw, 4rem) var(--sb-section);
	align-items: start;
}

.sb-studio__aside { position: sticky; top: calc(var(--sb-header-h) + 1.5rem); }

@media (max-width: 900px) {
	.sb-studio__layout { grid-template-columns: 1fr; }
	.sb-studio__aside { position: static; order: -1; }
	.sb-studio__media > img,
	.sb-studio__media > .sb-placeholder { aspect-ratio: 4 / 3; border-bottom-left-radius: 56px; }
}

.sb-specs {
	padding: clamp(1.25rem, 2vw, 1.75rem);
	background: var(--sb-white);
	border: 1px solid var(--sb-line);
	border-radius: var(--sb-radius);
}

.sb-specs dl { margin: 0 0 1.25rem; }
.sb-specs dl > div { display: flex; justify-content: space-between; gap: 1rem; padding-block: 0.6rem; border-bottom: 1px solid var(--sb-cyc); }
.sb-specs dt { color: var(--sb-muted); }
.sb-specs dd { margin: 0; color: var(--sb-ink); font-weight: 600; text-align: right; }

.sb-specs__rates dd { font-size: var(--sb-step-1); font-weight: 800; letter-spacing: -0.02em; }

.sb-specs__heading { font-size: var(--sb-step-0); margin: 1.5rem 0 0.5rem; }

.sb-checklist { list-style: none; margin: 0 0 1.5rem; padding: 0; }
.sb-checklist li { position: relative; padding: 0.3rem 0 0.3rem 1.4rem; }
.sb-checklist li::before { content: ""; position: absolute; left: 0; top: 0.95em; width: 0.6rem; height: 2px; background: var(--sb-gel); }

/* Sticky booking bar on phones */
.sb-bookbar { display: none; }

@media (max-width: 900px) {
	.single-studio .site-main { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }

	.sb-bookbar {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 90;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.75rem var(--sb-gutter) calc(0.75rem + env(safe-area-inset-bottom));
		background: var(--sb-white);
		border-top: 1px solid var(--sb-line);
		transition: transform 0.25s ease;
	}

	.sb-bookbar.is-hidden { transform: translateY(110%); }

	.sb-bookbar__info { display: grid; margin: 0; line-height: 1.3; min-width: 0; }
	.sb-bookbar__info strong { color: var(--sb-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
	.sb-bookbar__info span { font-size: var(--sb-step--1); color: var(--sb-muted); }
	.sb-bookbar .sb-btn { flex: none; padding-inline: 1.75rem; }
}

/* ---------- Dark section (booking) ---------- */

.sb-section--dark { background: var(--sb-ink); color: #c8c8c8; }
.sb-section--dark .sb-section__title { color: var(--sb-white); }
.sb-section--dark .sb-section__lede { color: #bdbdbd; margin-bottom: 1.5rem; }

/* ---------- Price list ---------- */

.sb-prices {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: stretch;
}

.sb-prices__list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--sb-ink); }

.sb-prices__row {
	display: grid;
	grid-template-columns: 1fr auto auto;
	align-items: center;
	gap: 1rem;
	min-height: 64px;
	padding-block: 0.75rem;
	border-bottom: 1px solid var(--sb-line);
}

.sb-prices__name { font-size: var(--sb-step-1); font-weight: 600; color: var(--sb-ink); }
.sb-prices__name a { color: inherit; text-decoration: none; }
.sb-prices__name a:hover { color: var(--sb-gel); }

.sb-prices__rate { font-size: var(--sb-step-1); font-weight: 800; letter-spacing: -0.02em; color: var(--sb-ink); font-variant-numeric: tabular-nums; }
.sb-prices__rate small,
.sb-prices__whole-rate small { font-size: 0.6em; font-weight: 500; color: var(--sb-muted); margin-left: 0.15em; }

.sb-prices__book {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-inline: 0.9rem;
	border: 1.5px solid var(--sb-ink);
	border-radius: var(--sb-radius);
	color: var(--sb-ink);
	font-weight: 600;
	text-decoration: none;
}
.sb-prices__book:hover { background: var(--sb-ink); color: var(--sb-white); }

.sb-prices__whole {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.25rem;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	background: var(--sb-gel);
	color: #fff;
	border-radius: var(--sb-radius) var(--sb-radius) var(--sb-radius) var(--sb-cove-sm);
}
.sb-prices__whole p { margin: 0; }
.sb-prices__whole-name { font-size: var(--sb-step-2); font-weight: 800; letter-spacing: -0.03em; }
.sb-prices__whole-rate { font-size: var(--sb-step-4); font-weight: 800; letter-spacing: -0.05em; line-height: 1; margin-block: 1rem 1.25rem !important; }
.sb-prices__whole-rate small { color: rgba(255, 255, 255, 0.8); }
.sb-prices__whole .sb-btn { align-self: flex-start; }

@media (max-width: 800px) {
	.sb-prices { grid-template-columns: 1fr; }
	.sb-prices__row { grid-template-columns: 1fr auto; }
	.sb-prices__book { grid-column: 1 / -1; justify-content: center; min-height: 40px; }
}

@media (min-width: 801px) {
	.sb-prices__row { grid-template-columns: 1fr 9rem auto; }
	.sb-prices__rate { text-align: right; }
}

/* ---------- Booking form ---------- */

.sb-booking {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1rem;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--sb-white);
	color: var(--sb-text);
	border-radius: var(--sb-radius);
}

.sb-booking > .sb-booking__title,
.sb-booking > .sb-booking__errors,
.sb-field--full { grid-column: 1 / -1; }

.sb-booking__title { font-size: var(--sb-step-2); margin: 0; color: var(--sb-ink); }

.sb-field { display: grid; gap: 0.35rem; align-content: start; }
.sb-field label { font-size: var(--sb-step--1); font-weight: 600; color: var(--sb-ink); }

.sb-field input,
.sb-field select,
.sb-field textarea {
	width: 100%;
	min-height: 48px;
	padding: 0.65rem 0.8rem;
	border: 1.5px solid var(--sb-line);
	border-radius: var(--sb-radius);
	background: var(--sb-white);
	color: var(--sb-ink);
	font: inherit;
	font-size: 16px; /* no iOS zoom */
	-webkit-appearance: none;
	appearance: none;
}

.sb-field select {
	background-image: linear-gradient(45deg, transparent 50%, var(--sb-ink) 50%), linear-gradient(135deg, var(--sb-ink) 50%, transparent 50%);
	background-position: calc(100% - 20px) 50%, calc(100% - 14px) 50%;
	background-size: 6px 6px;
	background-repeat: no-repeat;
	padding-right: 2.5rem;
}

.sb-field input:focus,
.sb-field select:focus,
.sb-field textarea:focus { border-color: var(--sb-ink); outline: 3px solid var(--sb-gel-tint); outline-offset: 0; }

.sb-field input[aria-invalid="true"] { border-color: var(--sb-gel); }

.sb-booking__estimate {
	margin: 0;
	padding: 0.85rem 1rem;
	background: var(--sb-gel-tint);
	color: var(--sb-ink);
	border-radius: var(--sb-radius);
	font-weight: 600;
}

.sb-booking__submit .sb-btn { width: 100%; }
.sb-booking__small { margin: 0.6rem 0 0; font-size: var(--sb-step--1); color: var(--sb-muted); }

.sb-booking__errors {
	padding: 0.9rem 1rem;
	border-left: 4px solid var(--sb-gel);
	background: var(--sb-gel-tint);
	color: var(--sb-ink);
}
.sb-booking__errors p { margin: 0 0 0.3rem; font-weight: 700; }
.sb-booking__errors ul { margin: 0; padding-left: 1.2rem; }

.sb-booking--done { display: block; }
.sb-booking--done p { max-width: 46ch; }
.sb-booking--done:focus,
.sb-booking__errors:focus { outline: none; }

.sb-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 560px) {
	.sb-booking { grid-template-columns: 1fr; }
}

/* ---------- WhatsApp ---------- */

.sb-btn--whatsapp { background: var(--sb-wa); color: #fff; }
.sb-btn--whatsapp:hover { background: color-mix(in srgb, var(--sb-wa) 80%, #000); color: #fff; }

.sb-wa-float {
	position: fixed;
	right: max(1rem, env(safe-area-inset-right));
	bottom: calc(1rem + env(safe-area-inset-bottom));
	z-index: 95;
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: var(--sb-wa);
	color: #fff;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22);
}
.sb-wa-float:hover { color: #fff; background: color-mix(in srgb, var(--sb-wa) 80%, #000); }

@media (max-width: 900px) {
	.single-studio .sb-wa-float { bottom: calc(88px + env(safe-area-inset-bottom)); }
}

/* ---------- Footer ---------- */

.sb-footer { background: var(--sb-ink); color: #bdbdbd; padding-top: clamp(3rem, 2rem + 4vw, 5rem); }
.sb-footer a { color: var(--sb-white); }
.sb-footer a:hover { color: var(--sb-gel-tint); }
.sb-footer address { font-style: normal; margin-bottom: 1em; }

.sb-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 2fr) repeat(auto-fit, minmax(180px, 1fr));
	gap: 2.5rem;
	padding-bottom: 3rem;
}

.sb-footer__name { color: var(--sb-white); font-size: var(--sb-step-2); font-weight: 800; letter-spacing: -0.03em; margin-bottom: 0.4rem; }
.sb-footer__brand p { max-width: 36ch; }
.sb-footer__brand .sb-btn { margin-top: 0.5rem; }
.sb-footer__heading, .footer-widget__title { color: var(--sb-white); font-size: var(--sb-step-0); font-weight: 700; margin-bottom: 0.75rem; letter-spacing: 0; }
.sb-footer__list { list-style: none; margin: 0 0 1rem; padding: 0; }
.sb-footer__list li { padding-block: 0.3rem; }
.sb-footer__base { border-top: 1px solid rgba(255, 255, 255, 0.12); padding-block: 1.5rem calc(1.5rem + env(safe-area-inset-bottom)); font-size: var(--sb-step--1); }
.sb-footer__base p { margin: 0; }

@media (max-width: 700px) { .sb-footer__grid { grid-template-columns: 1fr; } }

/* ---------- Elementor ---------- */

.sb-fullwidth,
.elementor-page .site-main { padding: 0; }

.elementor-widget-softbox-rate-card .sb-rates,
.elementor-widget-softbox-studio-grid .sb-grid { margin: 0; }

/* Keep Elementor sections from causing sideways scroll on phones. */
.site-main { overflow-x: clip; }

/* ---------- Motion preferences ---------- */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
/* New Wave 2.0 additions */
.sb-eyebrow{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--sb-gel);margin-bottom:.65rem}.sb-feature-panel{background:var(--sb-ink);color:#fff;border-radius:28px;padding:clamp(28px,5vw,54px);font-size:1.08rem}.sb-feature-panel strong{display:block;font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.05;margin-bottom:1rem}.sb-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sb-gallery-item{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:4/3;background:#eee;color:#fff}.sb-gallery-item img,.sb-gallery-item .sb-placeholder{width:100%;height:100%;object-fit:cover}.sb-gallery-item span{position:absolute;left:16px;bottom:16px;background:rgba(0,0,0,.7);padding:8px 12px;border-radius:999px;font-weight:700}.sb-instagram{width:100%}.sb-social-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.sb-social-card{aspect-ratio:4/5;border-radius:18px;overflow:hidden}.sb-social-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#111,#343434);color:#fff;text-align:center;font-weight:800;font-size:1.2rem;letter-spacing:.08em}.sb-social-placeholder:before{content:'';position:absolute}.sb-faq--page{max-width:900px}.sb-contact-form{max-width:900px}.custom-logo{max-height:68px;width:auto}
@media(max-width:900px){.sb-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-social-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.sb-gallery-grid{grid-template-columns:1fr}.sb-social-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.sb-social-card{min-width:72vw;scroll-snap-align:start}.custom-logo{max-height:52px}}

/* ---------- New Wave editorial block system (v3) ---------- */
.nw-page{--nw-max:1280px}.nw-page .wp-block-group__inner-container{max-width:var(--nw-max);margin:auto}.nw-page .nw-section{padding:clamp(64px,9vw,120px) var(--sb-gutter)}.nw-page .nw-tight{padding-top:clamp(36px,5vw,64px);padding-bottom:clamp(36px,5vw,64px)}
.nw-page .nw-kicker{font-size:.76rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--sb-gel);margin-bottom:14px}.nw-page .nw-display{font-size:clamp(3.2rem,8vw,8.2rem);line-height:.88;letter-spacing:-.065em;max-width:12ch;margin-bottom:28px}.nw-page .nw-title{font-size:clamp(2.2rem,5vw,5rem);line-height:.95;letter-spacing:-.05em;max-width:12ch}.nw-page .nw-lead{font-size:clamp(1.08rem,1.6vw,1.35rem);max-width:58ch;color:#555}
.nw-page .nw-dark{background:#111;color:#fff}.nw-page .nw-dark h1,.nw-page .nw-dark h2,.nw-page .nw-dark h3{color:#fff}.nw-page .nw-red{background:var(--sb-gel);color:#fff}.nw-page .nw-red h1,.nw-page .nw-red h2,.nw-page .nw-red h3{color:#fff}
.nw-page .nw-hero{min-height:min(820px,86vh);display:flex;align-items:flex-end;position:relative;overflow:hidden;background:#111}.nw-page .nw-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}.nw-page .nw-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.12) 70%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 50%)}.nw-page .nw-hero-copy{position:relative;z-index:2;width:min(1280px,100%);margin:auto;padding:clamp(70px,10vw,130px) var(--sb-gutter);color:#fff}.nw-page .nw-hero-copy h1{color:#fff}.nw-page .nw-hero-copy p{max-width:54ch;font-size:clamp(1rem,1.5vw,1.3rem)}
.nw-page .wp-block-buttons{gap:12px}.nw-page .wp-block-button__link{border-radius:0;padding:15px 24px;font-weight:700}.nw-page .is-style-outline>.wp-block-button__link{border:1px solid currentColor}.nw-page .nw-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nw-page .nw-card{background:#fff;border:1px solid #ddd;padding:18px}.nw-page .nw-card figure{margin:-18px -18px 20px;aspect-ratio:4/3;overflow:hidden}.nw-page .nw-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.nw-page .nw-card:hover figure img{transform:scale(1.035)}.nw-page .nw-card h3{font-size:clamp(1.35rem,2vw,2rem)}.nw-page .nw-price{font-size:1.1rem;font-weight:800;color:var(--sb-gel)}
.nw-page .nw-marquee{overflow:hidden;white-space:nowrap;font-size:clamp(2rem,5vw,5rem);font-weight:800;letter-spacing:-.04em;padding:20px 0;border-top:1px solid #222;border-bottom:1px solid #222}.nw-page .nw-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);align-items:center}.nw-page .nw-split figure{margin:0}.nw-page .nw-split img{width:100%;aspect-ratio:4/5;object-fit:cover}.nw-page .nw-gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:14px}.nw-page .nw-gallery figure{margin:0;overflow:hidden;min-height:260px}.nw-page .nw-gallery figure:first-child{grid-row:span 2}.nw-page .nw-gallery img{width:100%;height:100%;object-fit:cover}.nw-page .nw-stat{font-size:clamp(2.5rem,5vw,5.5rem);font-weight:800;line-height:1;color:var(--sb-gel)}
.nw-page .nw-formbox{background:#fff;padding:clamp(24px,4vw,50px);border:1px solid #ddd}.nw-page .nw-faq-wrap{max-width:900px}.nw-page .nw-legal{max-width:860px}.nw-page .nw-legal h2{margin-top:2em}.nw-page .nw-strip{padding:22px var(--sb-gutter);background:var(--sb-gel);color:#fff;text-align:center;font-weight:700}.nw-page .nw-strip a{color:#fff}
@media(max-width:900px){.nw-page .nw-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.nw-page .nw-split{grid-template-columns:1fr}.nw-page .nw-gallery{grid-template-columns:1fr 1fr}.nw-page .nw-gallery figure:first-child{grid-row:auto;grid-column:span 2;aspect-ratio:16/9}.nw-page .nw-hero{min-height:720px}}
@media(max-width:620px){.nw-page .nw-section{padding-left:20px;padding-right:20px}.nw-page .nw-grid3{grid-template-columns:1fr}.nw-page .nw-gallery{grid-template-columns:1fr}.nw-page .nw-gallery figure:first-child{grid-column:auto;aspect-ratio:4/5}.nw-page .nw-gallery figure{aspect-ratio:4/5;min-height:0}.nw-page .nw-display{font-size:clamp(3rem,16vw,5rem)}.nw-page .nw-hero{min-height:680px}.nw-page .nw-hero-copy{padding-left:20px;padding-right:20px}.nw-page .wp-block-buttons>.wp-block-button{width:100%}.nw-page .wp-block-button__link{width:100%}}

/* ---------- New Wave atmospheric backgrounds (v3.2) ---------- */
body{background:#f7f4ef}
.site-main{background:
 radial-gradient(circle at 8% 8%,rgba(255,48,48,.10),transparent 28rem),
 radial-gradient(circle at 92% 34%,rgba(255,190,130,.18),transparent 34rem),
 linear-gradient(180deg,#faf8f4 0%,#f3efe8 100%)}
.sb-section{position:relative;isolation:isolate;background:transparent}
.sb-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 85% 20%,rgba(230,0,0,.07),transparent 30%),radial-gradient(circle at 5% 85%,rgba(255,196,120,.14),transparent 28%)}
.sb-section:nth-of-type(even):before{background:radial-gradient(circle at 12% 22%,rgba(230,0,0,.08),transparent 30%),radial-gradient(circle at 88% 75%,rgba(255,214,170,.18),transparent 32%)}
.sb-section--dark{background:linear-gradient(135deg,#090909 0%,#181414 50%,#2a0808 100%)}
.sb-section--dark:before{background:radial-gradient(circle at 85% 10%,rgba(229,0,0,.35),transparent 35%),radial-gradient(circle at 10% 90%,rgba(255,255,255,.08),transparent 30%)}
.sb-section--cyc{background:linear-gradient(135deg,#fff 0%,#f7eee8 50%,#f4f1eb 100%)}
.nw-page{background:linear-gradient(180deg,#faf8f4,#f2eee7)}
.nw-page .nw-section{position:relative;isolation:isolate;background-color:transparent}
.nw-page .nw-section:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 90% 5%,rgba(225,0,0,.09),transparent 31rem),radial-gradient(circle at 8% 92%,rgba(255,195,128,.16),transparent 29rem)}
.nw-page .nw-section:nth-of-type(even):before{background:radial-gradient(circle at 8% 12%,rgba(229,0,0,.08),transparent 28rem),radial-gradient(circle at 92% 88%,rgba(255,216,177,.22),transparent 30rem)}
.nw-page .nw-dark{background:linear-gradient(135deg,#090909 0%,#171313 54%,#310707 100%)}
.nw-page .nw-dark:before{background:radial-gradient(circle at 82% 18%,rgba(235,0,0,.38),transparent 32rem),radial-gradient(circle at 15% 85%,rgba(255,255,255,.07),transparent 24rem)}
.nw-page .nw-red{background:linear-gradient(135deg,#e00000 0%,#ff2929 55%,#9f0000 100%)}
.nw-page .nw-red:before{background:radial-gradient(circle at 85% 20%,rgba(255,255,255,.18),transparent 25rem),radial-gradient(circle at 12% 85%,rgba(0,0,0,.16),transparent 25rem)}
.nw-page .nw-card,.nw-page .nw-formbox{background:rgba(255,255,255,.88);backdrop-filter:blur(10px);box-shadow:0 18px 55px rgba(35,20,10,.07);border-color:rgba(20,20,20,.08)}
.sb-footer{background:linear-gradient(145deg,#080808 0%,#171111 62%,#350707 100%);position:relative;overflow:hidden}
.sb-footer:before{content:"";position:absolute;width:34rem;height:34rem;border-radius:50%;right:-12rem;top:-18rem;background:radial-gradient(circle,rgba(235,0,0,.35),transparent 68%);pointer-events:none}
@media(max-width:620px){.site-main{background:linear-gradient(180deg,#faf8f4,#f4efe8)}.nw-page .nw-section:before,.sb-section:before{opacity:.8}}

/* ---------- v3.3 homepage reference sections ---------- */
.nw-about-editorial{background:#f8f6f2!important}.nw-about-editorial:before{background:radial-gradient(circle at 84% 18%,rgba(229,0,0,.08),transparent 28rem)!important}.nw-about-title{font-size:clamp(2.4rem,4.8vw,4.8rem);line-height:1.04;letter-spacing:-.045em;max-width:17ch;margin-bottom:clamp(44px,7vw,88px)}.nw-about-collage{display:grid;grid-template-columns:.78fr 1.08fr 1.18fr;gap:clamp(24px,5vw,74px);align-items:end}.nw-about-collage figure{margin:0;overflow:hidden;border-radius:8px}.nw-about-small figure{aspect-ratio:4/3}.nw-about-large figure{aspect-ratio:4/5}.nw-about-collage img{width:100%;height:100%;object-fit:cover}.nw-about-copy{padding-bottom:18px}.nw-about-copy p{font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.55}.nw-blog-home{background:#fbfaf7!important}.nw-blog-title{font-size:clamp(2.5rem,4.7vw,4.7rem);line-height:1;letter-spacing:-.045em;margin:0 auto clamp(38px,6vw,68px);max-width:14ch}.nw-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,3vw,44px)}.nw-blog-card figure{margin:0 0 20px;aspect-ratio:4/3;overflow:hidden;border-radius:7px}.nw-blog-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.nw-blog-card:hover img{transform:scale(1.025)}.nw-blog-card h3{font-size:clamp(1.3rem,1.8vw,1.75rem);margin:.5rem 0}.nw-blog-card>p:last-child{color:#5e5a56}.nw-blog-meta{font-size:.8rem;color:#5d5853;margin:0}.nw-newsletter{border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:clamp(28px,4vw,48px);margin-bottom:clamp(28px,4vw,48px);display:grid;grid-template-columns:1fr minmax(300px,520px);gap:30px;align-items:center}.nw-newsletter h2{font-size:clamp(1.6rem,2.5vw,2.5rem);margin:0 0 6px}.nw-newsletter p{margin:0;color:#d4d4d4}.nw-newsletter-form{display:flex;background:#fff;border-radius:7px;padding:7px}.nw-newsletter-form input{flex:1;border:0!important;background:transparent!important;padding:12px!important;min-width:0}.nw-newsletter-form button{border:0;border-radius:5px;background:var(--sb-gel);color:#fff;font-weight:800;padding:12px 22px;cursor:pointer}.sb-footer__grid{grid-template-columns:1.35fr .8fr .8fr .8fr}.sb-footer__brand{max-width:390px}.sb-footer__name{font-size:clamp(1.7rem,3vw,2.5rem)!important;font-weight:850;letter-spacing:-.04em}
@media(max-width:900px){.nw-about-collage{grid-template-columns:1fr 1fr}.nw-about-copy{grid-column:1/-1;grid-row:2}.nw-blog-grid{grid-template-columns:1fr 1fr}.nw-blog-card:last-child{grid-column:1/-1;max-width:50%}.nw-newsletter{grid-template-columns:1fr}.sb-footer__grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.nw-about-title{font-size:clamp(2.25rem,11vw,3.4rem)}.nw-about-collage{grid-template-columns:1fr}.nw-about-copy{grid-column:auto;grid-row:auto}.nw-about-small,.nw-about-large{width:100%}.nw-about-small figure{aspect-ratio:16/10}.nw-about-large figure{aspect-ratio:4/5}.nw-blog-grid{grid-template-columns:1fr}.nw-blog-card:last-child{grid-column:auto;max-width:none}.nw-blog-title br{display:none}.nw-newsletter-form{display:grid;grid-template-columns:1fr}.nw-newsletter-form button{width:100%}.sb-footer__grid{grid-template-columns:1fr}}
/* v3.4 reference-inspired homepage */
.nw-reference-hero{position:relative;background:#170607}.nw-reference-hero:after,.nw-cta-cover:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 35%,rgba(255,24,24,.28),transparent 32%),linear-gradient(90deg,rgba(10,3,3,.88) 0%,rgba(15,3,3,.55) 48%,rgba(10,0,0,.2) 100%);pointer-events:none}.nw-reference-hero .wp-block-cover__inner-container,.nw-cta-cover .wp-block-cover__inner-container{position:relative;z-index:2}.nw-hero-inner{max-width:1180px!important;margin:auto;padding:100px 28px 70px}.nw-hero-inner>*{max-width:720px}.nw-hero-points{list-style:none!important;padding:0!important;margin:0 0 120px!important;color:#fff;font-weight:650;line-height:1.8}.nw-hero-points li:before{content:"■";color:#ef1b2d;margin-right:10px}.nw-reference-hero .nw-display{font-size:clamp(3.2rem,6vw,6.6rem)!important;line-height:.96!important;letter-spacing:-.055em;color:#fff;max-width:850px}.nw-reference-hero .nw-kicker,.nw-reference-hero p{color:#fff}.nw-hero-lead{font-size:1.08rem;max-width:700px}.nw-spaces-home .nw-title{max-width:720px;margin-left:auto;margin-right:auto}.nw-space-card{border:0!important;background:transparent!important;padding:0!important}.nw-space-card figure img{aspect-ratio:4/3;object-fit:cover;border-radius:12px}.nw-space-bottom{border-top:1px solid rgba(0,0,0,.12);padding-top:18px}.nw-price small{font-size:.8rem;font-weight:500}.nw-amenities-head{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:35px}.nw-amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.nw-amenity{padding:26px;background:rgba(255,255,255,.68);border:1px solid rgba(0,0,0,.06);border-radius:14px}.nw-amenity-icon{font-size:1.6rem;color:#c20f20}.nw-amenity h3{margin:.6rem 0}.nw-cta-inner{max-width:760px!important;margin:auto;text-align:center}.nw-cta-cover .nw-title{color:#fff;font-size:clamp(2.8rem,5vw,5rem)}.nw-cta-cover p{color:#fff}.nw-faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.nw-faq-list details{padding:22px 4px;border-bottom:1px solid rgba(0,0,0,.12)}.nw-faq-list summary{font-size:1.15rem;font-weight:650;cursor:pointer}.nw-faq-list details p{padding:12px 0 0;color:#555}.nw-about-editorial{background:radial-gradient(circle at 80% 10%,rgba(215,24,39,.08),transparent 35%),#faf9f7}
@media(max-width:900px){.nw-hero-points{margin-bottom:70px!important}.nw-amenities-grid{grid-template-columns:repeat(2,1fr)}.nw-amenities-head,.nw-faq-layout{grid-template-columns:1fr;gap:28px}}
@media(max-width:600px){.nw-reference-hero{min-height:680px!important}.nw-hero-inner{padding:70px 20px 45px}.nw-hero-points{font-size:.88rem;margin-bottom:55px!important}.nw-reference-hero .nw-display{font-size:clamp(2.8rem,13vw,4.4rem)!important}.nw-amenities-grid{grid-template-columns:1fr}.nw-amenity{padding:22px}.nw-cta-cover{min-height:480px!important}.nw-faq-layout{gap:34px}.nw-space-bottom{align-items:center!important}}

/* ===== New Wave v3.5 layout normalization ===== */
html,body{max-width:100%;overflow-x:hidden}
body{margin:0}
.site-main{width:100%;max-width:none;margin:0;padding:0}
.entry-content,.wp-site-blocks{max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
.nw-page{width:100%;max-width:none!important;margin:0!important;padding:0!important;display:block!important}
.nw-page>.wp-block-group__inner-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.nw-page>.wp-block-cover,.nw-page>.wp-block-group,.nw-page>.wp-block-columns{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.nw-page .alignfull{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important}
.nw-page .nw-section{width:100%;max-width:none!important;margin:0!important;box-sizing:border-box}
.nw-page .nw-section>.wp-block-group__inner-container{width:100%;max-width:1280px!important;margin:0 auto!important;padding-left:0;padding-right:0}
.nw-page .nw-reference-hero>.wp-block-cover__inner-container,.nw-page .nw-cta-cover>.wp-block-cover__inner-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.nw-page .nw-hero-inner{width:100%;max-width:1280px!important;margin:0 auto!important;box-sizing:border-box}
.nw-page .nw-hero-inner>.wp-block-group__inner-container{width:100%;max-width:none!important;margin:0!important}
.nw-reference-hero{width:100vw!important;max-width:100vw!important;margin:0!important;min-height:760px;isolation:isolate}
.nw-reference-hero .wp-block-cover__image-background{width:100%;height:100%;object-fit:cover;object-position:center}
.nw-reference-hero:after{z-index:1}.nw-reference-hero .wp-block-cover__inner-container{z-index:2}
.nw-hero-inner{padding:clamp(90px,10vw,145px) clamp(24px,5vw,72px) clamp(70px,8vw,110px)!important}
.nw-hero-inner>*{max-width:760px}
.nw-hero-points{margin-bottom:clamp(80px,11vw,150px)!important}
.nw-reference-hero .nw-display{font-size:clamp(4rem,6.4vw,7rem)!important;line-height:.92!important;margin:0 0 28px!important}
.nw-reference-hero .wp-block-buttons{gap:14px;margin-top:28px}
.nw-reference-hero .wp-block-button__link{min-height:50px;padding:14px 24px;border-radius:5px;font-weight:750}
.nw-page .nw-section{padding-top:clamp(72px,8vw,118px);padding-bottom:clamp(72px,8vw,118px)}
.nw-page .nw-title{margin-top:0}.nw-page figure{margin-top:0}
.nw-spaces-home,.nw-about-editorial,.nw-blog-home{background-clip:border-box!important}
.nw-space-card,.nw-amenity,.nw-blog-card{box-sizing:border-box}
.nw-page .wp-block-columns{margin-bottom:0}
.nw-page .wp-block-group{box-sizing:border-box}
@media(max-width:900px){
 .nw-reference-hero{min-height:700px!important}
 .nw-hero-inner{padding:80px 28px 58px!important}
 .nw-reference-hero .nw-display{font-size:clamp(3.4rem,10vw,5.5rem)!important}
 .nw-page .nw-section{padding-left:28px;padding-right:28px}
}
@media(max-width:620px){
 .nw-reference-hero{min-height:650px!important}
 .nw-hero-inner{padding:58px 20px 42px!important}
 .nw-hero-points{margin-bottom:48px!important}
 .nw-reference-hero .nw-display{font-size:clamp(3rem,14vw,4.5rem)!important;max-width:9ch}
 .nw-page .nw-section{padding:58px 20px}
 .nw-page .nw-section>.wp-block-group__inner-container{max-width:none!important}
}

/* ===== v3.6 hard full-bleed fix ===== */
body.home .site-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
body.home .site-main>.nw-page,
body.home .site-main>.wp-block-group.nw-page{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
  padding:0!important;
}
body.home .nw-page>.wp-block-cover,
body.home .nw-page>.wp-block-group,
body.home .nw-page>.wp-block-columns,
body.home .nw-page>.nw-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.home .nw-page .alignfull{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.home .nw-reference-hero{width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important}
body.home .nw-reference-hero .wp-block-cover__image-background{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important}
body.home .nw-hero-inner{width:min(100%,1440px)!important;max-width:1440px!important;margin:0 auto!important;padding-left:clamp(28px,7vw,110px)!important;padding-right:clamp(28px,7vw,110px)!important}
body.home .nw-page .nw-section>.wp-block-group__inner-container{width:min(100%,1440px)!important;max-width:1440px!important;margin:0 auto!important}
/* Header itself spans the viewport; only its contents are padded. */
.sb-header{width:100%!important;max-width:none!important}
.sb-header .sb-wrap{max-width:1440px!important}
@media(max-width:620px){body.home .nw-hero-inner{padding-left:20px!important;padding-right:20px!important}}

/* New Wave Elementor Edition 4.0 */
.elementor-page .site-main,.elementor-page .site-main>article,.elementor-page .elementor{width:100%;max-width:none;margin:0;padding:0;overflow:clip}
.nw-el-inner{width:min(100% - 48px,1280px)!important;margin-inline:auto!important}
.nw-el-hero{position:relative;color:#fff;min-height:760px;display:flex;align-items:center;background-color:#090909!important}
.nw-el-hero:before,.nw-el-cta:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(5,5,7,.91) 0%,rgba(8,8,10,.72) 45%,rgba(25,0,0,.40) 100%),radial-gradient(circle at 68% 50%,rgba(220,0,24,.35),transparent 40%)}
.nw-el-hero>.e-con-inner,.nw-el-hero>.elementor-element,.nw-el-cta>.e-con-inner,.nw-el-cta>.elementor-element{position:relative;z-index:1}
.nw-hero-inner{position:relative;min-height:760px;justify-content:center!important}.nw-kicker-list{display:flex;flex-direction:column;gap:9px;font-weight:700;font-size:14px;margin-bottom:105px}.nw-kicker-list span::first-letter{color:#e9002b}.nw-hero-copy{max-width:720px!important;gap:10px!important}.nw-eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;margin-bottom:16px;color:#b90020}.nw-white{color:#fff}.nw-display{font-size:clamp(58px,6vw,96px)!important;line-height:.93!important;letter-spacing:-.055em!important;color:#fff!important;margin:0}.nw-lead{font-size:17px;line-height:1.6;max-width:680px}.nw-actions{gap:12px!important;margin-top:16px}.nw-btn-primary .elementor-button{background:#e5002b!important;color:#fff!important;border:1px solid #e5002b!important;border-radius:5px!important;padding:15px 23px!important}.nw-btn-light .elementor-button{background:#fff!important;color:#111!important;border:1px solid #fff!important;border-radius:5px!important;padding:15px 23px!important}.nw-btn-outline .elementor-button{background:transparent!important;color:#111!important;border:1px solid #111!important;border-radius:5px!important}.nw-floating-card{position:absolute!important;right:0;bottom:52px;width:255px!important;background:#fff;padding:12px!important;color:#111;transform:rotate(2deg);box-shadow:0 20px 60px rgba(0,0,0,.35);border-radius:5px}.nw-floating-card img{height:145px!important;object-fit:cover;border-radius:3px}.nw-floating-card h4{font-size:20px!important;margin:8px 0 0}.nw-floating-card p{font-size:13px;margin:0}.nw-el-section{padding:110px 0;background:#f7f5f1}.nw-el-section:nth-of-type(even){background:#fff}.nw-section-title{font-size:clamp(42px,4.7vw,72px)!important;line-height:1.02!important;letter-spacing:-.045em!important;max-width:950px}.nw-center{text-align:center}.nw-about-grid{display:grid!important;grid-template-columns:.8fr 1fr 1.05fr!important;gap:7vw!important;align-items:end!important;margin-top:70px}.nw-about-small img{height:230px!important;object-fit:cover}.nw-about-tall img{height:520px!important;object-fit:cover}.nw-about-copy{align-self:center!important}.nw-about-copy p{font-size:16px;line-height:1.65}.nw-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:32px!important;margin-top:55px}.nw-space-card{background:#fff;padding:0 0 24px!important;border-bottom:1px solid #ddd}.nw-space-card img{width:100%;height:300px!important;object-fit:cover;border-radius:5px}.nw-space-card h3,.nw-space-card p,.nw-space-card .nw-meta,.nw-space-card .elementor-widget-button{margin-left:4px;margin-right:4px}.nw-space-card h3{font-size:28px!important;margin-top:16px}.nw-meta{border-top:1px solid #e2e2e2;padding-top:15px;margin-top:15px;font-size:15px}.nw-heading-split{display:grid!important;grid-template-columns:1.2fr .8fr!important;gap:80px!important;align-items:end!important}.nw-amenity-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-top:48px}.nw-amenity{background:rgba(255,255,255,.68);padding:28px 24px;min-height:190px;border:1px solid rgba(0,0,0,.035)}.nw-amenity b{color:#b4001f;font-size:24px}.nw-amenity h3{font-size:22px;margin:20px 0 8px}.nw-amenity p{margin:0;color:#555;line-height:1.5}.nw-el-cta{position:relative;min-height:560px;display:flex;align-items:center;color:#fff;background-color:#260006!important;background-attachment:fixed!important}.nw-cta-inner{text-align:center;align-items:center!important;position:relative;z-index:1}.nw-cta-title{font-size:clamp(48px,5vw,76px)!important;line-height:1!important;color:#fff!important;letter-spacing:-.045em}.nw-cta-copy{max-width:600px;text-align:center}.nw-center-actions{justify-content:center!important}.nw-faq-grid{display:grid!important;grid-template-columns:.8fr 1.2fr!important;gap:110px!important;align-items:start!important}.nw-accordion .elementor-accordion-item{border:0!important;border-bottom:1px solid #ddd!important}.nw-accordion .elementor-tab-title{padding:22px 0!important;font-size:18px!important}.nw-accordion .elementor-tab-content{border:0!important;padding:0 0 22px!important}.nw-newsletter{padding:70px 0;background:linear-gradient(135deg,#0a0a0c,#1b0b0e 65%,#390008);color:#fff}.nw-newsletter-inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:80px!important;align-items:center!important}.nw-news-form{display:flex;background:#fff;padding:7px;border-radius:6px}.nw-news-form input{flex:1;border:0;padding:12px;min-width:0}.nw-news-form button{border:0;background:#e5002b;color:#fff;padding:12px 22px;border-radius:4px;font-weight:700}.nw-page-hero{padding:150px 0 90px;background:linear-gradient(135deg,#0b0b0d,#22060b);color:#fff}.nw-page-title{font-size:clamp(56px,7vw,100px)!important;color:#fff!important;letter-spacing:-.05em!important}.nw-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.nw-reveal.nw-in{opacity:1;transform:none}.nw-stagger{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.nw-in .nw-stagger{opacity:1;transform:none}.nw-in .nw-stagger:nth-child(2){transition-delay:.1s}.nw-in .nw-stagger:nth-child(3){transition-delay:.2s}.nw-in .nw-stagger:nth-child(4){transition-delay:.3s}.nw-in .nw-stagger:nth-child(5){transition-delay:.4s}.nw-in .nw-stagger:nth-child(6){transition-delay:.5s}.nw-space-card img,.nw-about-grid img{transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .7s ease}.nw-space-card:hover img,.nw-about-grid .elementor-widget-image:hover img{transform:scale(1.025);filter:contrast(1.04)}.nw-float{animation:nwFloat 5s ease-in-out infinite}@keyframes nwFloat{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@media(max-width:900px){.nw-el-inner{width:min(100% - 36px,1280px)!important}.nw-el-hero,.nw-hero-inner{min-height:700px}.nw-kicker-list{margin-bottom:70px}.nw-floating-card{display:none!important}.nw-about-grid{grid-template-columns:1fr 1fr!important;gap:24px!important}.nw-about-copy{grid-column:1/-1;grid-row:2}.nw-about-tall img,.nw-about-small img{height:360px!important}.nw-card-grid{grid-template-columns:1fr 1fr!important}.nw-amenity-grid{grid-template-columns:1fr 1fr!important}.nw-heading-split,.nw-faq-grid{grid-template-columns:1fr!important;gap:36px!important}.nw-newsletter-inner{grid-template-columns:1fr!important;gap:25px!important}.nw-el-cta{background-attachment:scroll!important}}
@media(max-width:620px){.nw-el-inner{width:calc(100% - 28px)!important}.nw-el-hero,.nw-hero-inner{min-height:680px}.nw-el-hero{background-position:62% center!important}.nw-kicker-list{font-size:12px;margin-bottom:80px}.nw-display{font-size:50px!important}.nw-el-section{padding:76px 0}.nw-section-title{font-size:42px!important}.nw-about-grid,.nw-card-grid,.nw-amenity-grid{grid-template-columns:1fr!important}.nw-about-copy{grid-column:auto;grid-row:auto}.nw-about-small img,.nw-about-tall img,.nw-space-card img{height:300px!important}.nw-actions{flex-wrap:wrap}.nw-actions>.elementor-element{width:auto!important}.nw-news-form{flex-direction:column;gap:7px}.nw-news-form button{width:100%}}
@media(prefers-reduced-motion:reduce){.nw-reveal,.nw-stagger{opacity:1!important;transform:none!important;transition:none!important}.nw-float{animation:none!important}.nw-el-cta{background-attachment:scroll!important}}
