@font-face {
	font-family: "TT Ricordi Allegria Trial";
	src: url("/assets/fonts/TTRicordiAllegriaTrialLight.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
:root {
	--ink: #14110e;
	--paper: #f3efe6;
	--paper-2: #e7e1d4;
	--black: #090909;
	--gold: #bd924b;
	--muted: #5e584e;
	--line: rgba(20, 17, 14, 0.12);
	--sans: Inter, "Segoe UI", sans-serif;
	--serif: "Playfair Display", Georgia, serif;
	--pad: clamp(18px, 4vw, 48px);
}

* { box-sizing: border-box; }
html {
	scroll-behavior: smooth;
	overflow-x: clip;
	background: var(--paper);
	max-width: 100%;
}
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--sans);
	font-size: 17px;
	line-height: 1.55;
	overflow-x: clip;
	max-width: 100%;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, a, input, textarea { font: inherit; }
button, a { cursor: pointer; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.sr {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip {
	position: absolute; left: 12px; top: -48px; z-index: 100;
	background: var(--gold); color: #16120c; padding: 8px 12px;
}
.skip:focus { top: 12px; }

.curtain {
	position: fixed; inset: 0; z-index: 80; background: var(--black);
	transform: scaleY(1); transform-origin: top center; pointer-events: none;
}

.nav {
	position: sticky; top: 0; z-index: 20;
	display: flex; align-items: center; gap: 22px;
	min-height: 88px; padding: 10px var(--pad);
	background: rgba(9, 9, 9, 0.94);
	color: #f6f1e8;
	backdrop-filter: blur(16px);
}
.mark {
	display: block; text-decoration: none; color: var(--gold);
	font-family: "TT Ricordi Allegria Trial", Georgia, serif; font-weight: 300;
	font-size: clamp(28px, 2.7vw, 54px); letter-spacing: 0.045em; line-height: 1;
	white-space: nowrap;
}
.nav-phones {
	display: flex; flex-direction: column; align-items: flex-end; justify-content: center;
	background: var(--gold); color: #16120c; border-radius: 999px; padding: 7px 16px; line-height: 1.25;
}
.nav-phones a { color: #16120c; font-weight: 600; font-size: 14px; text-decoration: none; white-space: nowrap; }
.nav-phones b, .phones b { font-weight: 600; margin-right: 6px; }
.phones { display: flex; flex-direction: column; gap: 2px; }
.phones a { text-decoration: none; }
.nav-links { display: flex; gap: 22px; margin-left: auto; }
.nav-links a { text-decoration: none; color: #d9d0c3; font-size: 14px; }
.nav-links a:hover { color: #fff; }
.btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 0 20px; border-radius: 999px;
	text-decoration: none; border: 1px solid transparent;
	transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-gold { background: var(--gold); color: #16120c; font-weight: 600; }
.btn-gold:hover { background: #d4b07a; }
.btn-ghost { background: transparent; color: #f6f1e8; border-color: rgba(246, 241, 232, 0.4); }
.btn-ghost:hover { border-color: var(--gold); }
.btn-line { background: transparent; color: var(--ink); border-color: rgba(20, 17, 14, 0.3); }
.btn-line:hover { border-color: var(--ink); }
.nav-toggle {
	display: none; width: 44px; height: 44px; margin-left: auto;
	border-radius: 999px; border: 1px solid rgba(246, 241, 232, 0.3); background: transparent; color: #fff;
}
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
	display: block; width: 16px; height: 1.5px; background: #fff; position: relative; margin: 0 auto;
}
.nav-toggle span::before, .nav-toggle span::after { content: ""; position: absolute; left: 0; }
.nav-toggle span::before { top: -5px; }
.nav-toggle span::after { top: 5px; }
.mobile-nav { display: none; background: #111; color: #f6f1e8; padding: 4px var(--pad) 16px; }
.mobile-nav a { display: block; padding: 14px 0; text-decoration: none; border-bottom: 1px solid rgba(246, 241, 232, 0.1); }
.mobile-nav:not([hidden]) { display: block; }

.hero {
	position: relative; min-height: calc(100vh - 88px);
	display: flex; align-items: flex-end; color: #f6f1e8; overflow: hidden; background: #111;
}
.hero-media, .hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-media img { animation: drift 16s ease-out both; }
.hero-shade {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.2), rgba(0,0,0,.15) 40%, rgba(0,0,0,.82));
}
.hero-copy { position: relative; z-index: 1; padding: 8vh var(--pad) 10vh; max-width: 920px; }
.kicker {
	margin: 0 0 14px; letter-spacing: 0.2em; text-transform: uppercase;
	font-size: 12px; color: var(--gold);
}
h1, h2, h3 { font-weight: 560; letter-spacing: -0.045em; line-height: 0.96; margin: 0; }
h1 { font-size: clamp(3.4rem, 8vw, 7.2rem); max-width: 10ch; }
h2 { font-size: clamp(2.2rem, 4vw, 4rem); }
.lede {
	font-family: var(--serif); font-style: italic; font-weight: 500;
	font-size: clamp(1.2rem, 2vw, 1.6rem); line-height: 1.35;
	max-width: 34ch; margin: 22px 0 28px; color: #f3efe6;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

.ticker {
	display: flex; gap: 0; overflow: hidden; background: var(--black); color: #f6f1e8;
	border-top: 1px solid rgba(189, 146, 75, 0.45);
	width: 100%; max-width: 100%; contain: inline-size;
}
.ticker-track {
	display: flex; gap: 0; padding: 14px 0; white-space: nowrap;
	animation: ticker 42s linear infinite;
}
.ticker-track span { padding-right: 0; flex: none; }
.desk .social { margin-top: 22px; }
.desk .icon-row a { color: #8d6d34; }
.ticker b { color: var(--gold); font-weight: 500; }

.stage { padding: 88px var(--pad) 20px; }
.section-kicker { margin: 0 0 10px; }
.feature {
	display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.8fr); gap: 36px; align-items: end;
	margin: 28px 0 64px; text-decoration: none; color: inherit; min-width: 0;
}
.feature > * { min-width: 0; }
.feature h2, .card h3, .cinema-bar h1 { overflow-wrap: break-word; }
.feature-photo { overflow: hidden; background: #ddd; min-height: 420px; }
.feature-photo img, .card-photo img, .stage-photo img {
	width: 100%; height: 100%; object-fit: cover; transition: transform 700ms ease;
}
.feature:hover img, .card:hover img { transform: scale(1.045); }
.feature-copy h2 { margin-bottom: 12px; }
.price { color: var(--ink); font-size: 1.7rem; font-weight: 600; margin: 8px 0 16px; }
.gold-line { width: 72px; height: 2px; background: var(--gold); margin: 16px 0; transform-origin: left; }
.specs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.specs li, .spec-tile {
	display: flex; align-items: center; gap: 12px; color: var(--muted);
}
.specs img, .spec-tile img { width: 26px; height: 26px; object-fit: contain; }
.card-specs { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 12px; }
.card-specs span { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: 14px; }
.card-specs img { width: 18px; height: 18px; object-fit: contain; }

.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; min-width: 0; }
.card {
	display: flex; flex-direction: column; text-decoration: none; color: inherit; background: #fffdf8;
	border: 1px solid var(--line); min-height: 100%; min-width: 0;
	transition: border-color 200ms ease, transform 200ms ease;
}
.card:hover { border-color: rgba(189, 146, 75, 0.7); transform: translateY(-4px); }
.card-photo { aspect-ratio: 16 / 10; overflow: hidden; background: #e7e1d6; }
.card-body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; }
.card h3 { font-size: 1.15rem; }
.card .price { font-size: 1.15rem; margin: 2px 0 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.price .month, .month { font-size: 0.78em; font-weight: 500; color: #8d6d34; letter-spacing: 0; }
.price-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
.detail-buy .price-line .price { margin: 0 0 12px; }
.detail-buy .month { font-size: clamp(1rem, 1.3vw, 1.25rem); margin: 0 0 12px; }
.reg { color: #8d6d34; font-size: 14px; margin-top: 8px; }

.desk { padding: 72px var(--pad) 56px; }
.buyout {
	margin: 12px var(--pad) 36px; padding: 48px 36px;
	background: var(--black); color: #f6f1e8; border-radius: 18px;
}
.buyout-grid { display: grid; grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr); gap: 36px; align-items: start; min-width: 0; }
.sheet .buyout { margin-left: 0; margin-right: 0; }
.sheet .dossier:has(#panel-kontakt[hidden]) { grid-template-columns: 1fr; }
.buyout p { color: #d9d0c3; max-width: 34ch; }
.buyout .inquiry { background: #121212; border-color: rgba(189, 146, 75, 0.35); }
.buyout .inquiry span { color: #cbbfa8; }
.buyout .inquiry input, .buyout .inquiry textarea, .buyout .inquiry select {
	background: #0c0c0c; color: #f6f1e8; border-color: rgba(246, 241, 232, 0.16);
}
.buyout .file-names { color: #cbbfa8; }
.desk-tabs { display: flex; gap: 8px; margin: 0 0 28px; }
.desk-tab {
	min-height: 46px; padding: 0 22px; border-radius: 999px; border: 1px solid var(--line);
	background: transparent; color: var(--ink); font-size: 15px; font-weight: 500;
}
.desk-tab.is-on { background: var(--black); color: #f6f1e8; border-color: var(--black); }
.desk-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 40px; align-items: start; min-width: 0; }
.desk-grid[hidden] { display: none; }
.desk-grid h2 { margin-bottom: 12px; }
.offer-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; min-width: 0; }
.offer-fields .wide { grid-column: 1 / -1; }
.salon {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center;
	padding: 80px var(--pad);
}
.salon p, .contact p { color: var(--muted); max-width: 52ch; }
.hours { list-style: none; margin: 24px 0 0; padding: 0; max-width: 420px; }
.hours li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.salon-photo { min-height: 420px; background: #ddd center/cover no-repeat; }

.contact {
	display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 40px;
	padding: 10px var(--pad) 90px; min-width: 0;
}
.contact a { color: #8d6d34; }
.icon-row { display: grid; gap: 14px; margin: 22px 0; }
.icon-row p { display: flex; gap: 12px; align-items: flex-start; margin: 0; color: var(--ink); }
.social { display: flex; flex-wrap: wrap; gap: 10px; }
.social a {
	text-decoration: none; border: 1px solid rgba(189, 146, 75, 0.6); border-radius: 999px; padding: 8px 14px; color: var(--ink);
}
.social a:hover { background: var(--gold); color: #16120c; }
.inquiry {
	position: relative; min-width: 0; max-width: 100%;
	display: grid; gap: 12px; background: #fffdf8; border: 1px solid var(--line); padding: 22px;
}
.inquiry label { display: grid; gap: 6px; }
.inquiry span { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.inquiry input, .inquiry textarea, .inquiry select {
	width: 100%; border: 1px solid rgba(20, 17, 14, 0.18); background: #fff; color: var(--ink);
	border-radius: 10px; padding: 12px 14px;
}
.file-pick { position: relative; }
.file-pick input {
	position: absolute; width: 1px; height: 1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0);
}
.inquiry .file-btn {
	justify-self: start; width: auto; text-transform: none; letter-spacing: 0; font-size: 15px;
	color: #16120c; background: var(--gold); border-radius: 999px; padding: 10px 16px;
}
.file-names { color: var(--muted); font-size: 14px; letter-spacing: 0; text-transform: none; }
.inquiry textarea { min-height: 120px; resize: vertical; }
.hp {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.form-note { margin: 0; padding: 12px; background: rgba(189, 146, 75, 0.16); }
.form-note.is-error { background: rgba(160, 50, 40, 0.12); }

.foot {
	display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	padding: 20px var(--pad) 28px; background: var(--black); color: #d9d0c3; font-size: 14px;
}
.foot a { color: var(--gold); }

.sheet { padding: 18px var(--pad) 40px; }
.back { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; margin-bottom: 14px; color: var(--muted); }
.back:hover { color: var(--ink); }
.detail {
	display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.7fr);
	gap: 40px; align-items: start; min-width: 0;
}
.detail-gallery, .detail-photo, .detail-buy { min-width: 0; }
.detail-photo { position: relative; background: #e7e1d4; }
.detail-photo img { width: 100%; height: auto; display: block; }
.detail-buy { position: sticky; top: 104px; padding-top: 8px; }
.detail-buy .btn { width: 100%; margin-top: 10px; }
.detail-buy h1 { max-width: none; font-size: clamp(2.1rem, 3vw, 3.3rem); }
.detail-buy .price { font-size: clamp(2.4rem, 3.2vw, 3.5rem); margin: 0 0 12px; letter-spacing: -0.045em; }
.detail-buy .disclaimer { color: #3f3a33; font-size: 15px; line-height: 1.5; max-width: 38ch; margin: 0; }
.savings { margin: 18px 0 0; max-width: 38ch; }
.savings span {
	display: block; letter-spacing: 0.16em; text-transform: uppercase;
	font-size: 12px; color: var(--gold);
}
.savings strong {
	display: block; margin-top: 4px; color: var(--ink); font-weight: 600;
	font-size: clamp(1.6rem, 2vw, 2rem); letter-spacing: -0.04em;
}
.detail-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; margin: 22px 0 26px; }
.detail-specs .spec-tile {
	background: transparent; border: 0; border-top: 1px solid var(--line);
	min-height: 0; padding: 12px 0; border-radius: 0;
}
.detail-specs small { display: block; letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; color: var(--muted); }
.detail-specs strong { display: block; color: var(--ink); font-weight: 600; }
.lease { margin: 6px 0 22px; }
.lease-terms { display: flex; gap: 8px; margin: 12px 0 16px; }
.lease-terms button {
	flex: 1; min-height: 44px; border: 1px solid var(--line); background: transparent;
	border-radius: 999px; color: var(--ink); font-size: 14px; font-weight: 500;
	transition: background 180ms ease, border-color 180ms ease, color 180ms ease;
}
.lease-terms button:hover { border-color: var(--gold); }
.lease-terms button.is-on { background: var(--gold); border-color: var(--gold); color: #16120c; }
.lease-rate { margin: 0 0 14px; }
.lease-rate small, .lease-side small {
	display: block; letter-spacing: 0.08em; text-transform: uppercase; font-size: 11px; color: var(--muted);
}
.lease-rate strong { display: block; margin-top: 2px; font-size: clamp(1.8rem, 2.4vw, 2.3rem); letter-spacing: -0.04em; font-weight: 600; }
.lease-side { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lease-side p { margin: 0; }
.lease-side strong { display: block; margin-top: 2px; font-size: 1.15rem; font-weight: 600; }
.lease-note { margin: 12px 0 0; max-width: 42ch; color: var(--muted); font-size: 12px; line-height: 1.45; }
.counter {
	position: absolute; left: 16px; top: 16px; z-index: 3; margin: 0;
	background: rgba(9, 9, 9, 0.62); color: #fff; border-radius: 999px; padding: 6px 10px; font-size: 13px;
	pointer-events: none;
}
.thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
.thumbs button {
	padding: 0; border: 0; background: #e7e1d4; aspect-ratio: 4 / 3; overflow: hidden;
	box-shadow: inset 0 0 0 0 transparent; cursor: pointer;
}
.thumbs button.is-on { box-shadow: inset 0 0 0 3px var(--gold); }
.film-wrap { position: relative; }
.film-nav { display: none; }
@media (min-width: 1025px) {
	.film-wrap { margin-top: 10px; }
	.thumbs {
		display: flex; flex-wrap: nowrap; gap: 6px; margin: 0; overflow: hidden;
		scroll-snap-type: x mandatory; scroll-behavior: smooth;
	}
	.thumbs button {
		flex: 0 0 calc((100% - 30px) / 6);
		width: calc((100% - 30px) / 6);
		scroll-snap-align: start;
		transition: box-shadow 180ms ease;
	}
	.thumbs button:hover { box-shadow: inset 0 0 0 2px rgba(189, 146, 75, 0.9); }
	.thumbs button.is-on,
	.thumbs button.is-on:hover { box-shadow: inset 0 0 0 2px var(--gold); }
	.film-wrap.is-overflow .film-nav {
		display: inline-flex; align-items: center; justify-content: center;
		position: absolute; top: 50%; z-index: 2; width: 34px; height: 34px;
		margin-top: -17px; border-radius: 999px; border: 1px solid rgba(20, 17, 14, 0.16);
		background: rgba(243, 239, 230, 0.94); color: var(--ink);
		box-shadow: 0 6px 16px rgba(9, 9, 9, 0.12);
	}
	.film-nav.prev { left: 8px; }
	.film-nav.next { right: 8px; }
	.film-nav:hover { border-color: var(--gold); color: #8a6a2e; }
	.film-wrap.is-start .film-nav.prev,
	.film-wrap.is-end .film-nav.next { display: none; }
	.film-wrap.is-overflow:not(.is-start)::before,
	.film-wrap.is-overflow:not(.is-end)::after {
		content: ""; position: absolute; top: 0; bottom: 0; width: 36px; z-index: 1; pointer-events: none;
	}
	.film-wrap.is-overflow:not(.is-start)::before { left: 0; background: linear-gradient(90deg, var(--paper), transparent); }
	.film-wrap.is-overflow:not(.is-end)::after { right: 0; background: linear-gradient(270deg, var(--paper), transparent); }
}
.thumbs img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.cinema-bar {
	position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; gap: 24px; align-items: flex-end;
	padding: 28px; color: #f6f1e8;
	background: linear-gradient(180deg, transparent, rgba(0,0,0,.78));
}
.cinema-bar > div { width: min(420px, 46%); min-width: 0; }
.cinema-bar .disclaimer { max-width: none; font-size: 15px; line-height: 1.4; }
.cinema-bar h1 { font-size: clamp(2.2rem, 4vw, 4.2rem); max-width: 16ch; }
.cinema-bar .price, .cinema-bar .disclaimer { color: #f6f1e8; }
.cinema-bar .disclaimer { max-width: 36ch; }
.photo-nav, .light-nav, .light-x {
	width: 48px; height: 48px; border-radius: 999px; border: 1px solid rgba(246,241,232,.4);
	background: rgba(0,0,0,.45); color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.photo-tools { position: absolute; top: 16px; right: 16px; display: flex; gap: 8px; z-index: 3; }
.dossier {
	display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 40px; align-items: start;
	padding: 28px 0 56px; min-width: 0; max-width: 100%;
}
.story {
	background: #fffdf8;
	border-radius: 18px;
	padding: 32px 34px;
	box-shadow: 0 12px 32px rgba(20, 17, 14, 0.06);
	min-width: 0; max-width: 100%;
}
.story p { white-space: pre-line; color: #3f3a33; font-size: 1.05rem; line-height: 1.7; margin: 0 0 16px; overflow-wrap: anywhere; }
.story p:last-of-type { margin-bottom: 0; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 18px 0 0; list-style: none; min-width: 0; max-width: 100%; }
.chips li { border: 1px solid var(--line); background: #fffdf8; padding: 8px 12px; font-size: 14px; max-width: 100%; min-width: 0; overflow-wrap: anywhere; }
.more { padding: 10px var(--pad) 70px; }
.more .grid { margin-top: 22px; }

.light {
	position: fixed; inset: 0; z-index: 90; background: rgba(0,0,0,.92);
	display: grid; place-items: center;
}
.light[hidden] { display: none; }
.light img.full {
	width: auto; height: auto; object-fit: contain;
	max-width: calc(100% - 24px); max-height: calc(100% - 24px);
}
.light-x { position: absolute; top: 18px; right: 18px; }
.light-x img { width: 18px; height: 18px; filter: invert(1); }
.light-nav.prev { position: absolute; left: 16px; }
.light-nav.next { position: absolute; right: 16px; }

.status-line { color: var(--muted); }

@keyframes drift {
	from { transform: scale(1.08); }
	to { transform: scale(1); }
}
@keyframes ticker {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (max-width: 1024px) {
	.feature, .salon, .contact, .detail, .dossier, .desk-grid, .buyout-grid { grid-template-columns: minmax(0, 1fr); }
	.detail-buy { position: static; }
	.feature-photo, .salon-photo { min-height: 280px; }
}
@media (max-width: 900px) {
	.grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
	.grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
	body { padding-top: 72px; }
	.nav {
		position: fixed; top: 0; left: 0; right: 0; z-index: 90;
		gap: 12px; min-height: 72px;
		backdrop-filter: none;
	}
	.nav-links, .nav .btn-gold, .nav-phones { display: none; }
	.mark {
		min-width: 0; flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis;
		font-size: clamp(18px, 6.2vw, 32px); max-width: calc(100% - 52px);
	}
	.mobile-nav {
		position: fixed; top: 72px; left: 0; right: 0; z-index: 90;
		max-height: calc(100dvh - 72px); overflow: auto;
	}
	.desk-grid, .offer-fields, .buyout-grid { grid-template-columns: minmax(0, 1fr); }
	.buyout { margin: 8px 12px 24px; padding: 28px 18px; }
	.offer-fields .wide { grid-column: auto; }
	.nav-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; position: relative; z-index: 2; }
	.thumbs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.story { padding: 22px 18px; }
	.sheet, .stage, .desk, .hero-copy { max-width: 100%; }
	.card:hover, .btn:hover, .feature:hover img { transform: none; }
	h1 { max-width: none; font-size: clamp(2.5rem, 12vw, 4.2rem); }
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	.curtain { transform: scaleY(0) !important; visibility: hidden; }
}
