/* Temporary "under reconstruction" page. Colors come from tokens.css. */
html { min-width: 320px; min-height: 100%; background: var(--color-bg); }
.adoria-reconstruction {
	--page-gutter: clamp(22px, 5vw, 72px);
	--rose-deep: #9a6b52;
	min-width: 320px;
	min-height: 100svh;
	margin: 0;
	color: var(--color-ink);
	font-family: var(--font-body);
	-webkit-font-smoothing: antialiased;
}
.adoria-reconstruction *, .adoria-reconstruction *::before, .adoria-reconstruction *::after { box-sizing: border-box; }
.skip-link {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 5;
	padding: 10px 14px;
	transform: translateY(-160%);
	background: var(--color-bg);
	color: var(--color-ink);
}
.skip-link:focus { transform: translateY(0); }

.page {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-rows: auto 1fr;
	min-height: 100svh;
	overflow: clip;
	background: linear-gradient(160deg, var(--color-bg) 0%, var(--color-surface-alt) 100%);
}

.backdrop, .backdrop::after { position: absolute; inset: 0; }
.backdrop { z-index: -1; overflow: hidden; }
.backdrop img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; }
.backdrop::after {
	background: linear-gradient(90deg, rgba(248, 243, 236, .5) 0%, rgba(248, 243, 236, .32) 42%, rgba(248, 243, 236, .04) 75%);
	content: "";
}

.masthead {
	position: relative;
	display: flex;
	min-height: 140px;
	align-items: center;
	justify-content: center;
	padding: max(22px, env(safe-area-inset-top)) var(--page-gutter) 8px;
}
.wordmark {
	display: block;
	width: clamp(200px, 18vw, 290px);
	height: auto;
	/* Deep bronze-rose strokes (~5:1 on the wall) with a soft light halo to lift them off the leaf shadows. */
	filter: drop-shadow(0 0 1px rgba(255, 247, 240, .95)) drop-shadow(0 0 16px rgba(255, 247, 240, .85));
}

.language-switch {
	position: absolute;
	top: max(27px, env(safe-area-inset-top));
	right: var(--page-gutter);
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 5px 9px;
	border: 1px solid var(--color-ink-scrim-soft);
	background: var(--color-surface-scrim);
	font-size: .74rem;
	letter-spacing: .09em;
}
.language-switch button, .language-switch a {
	position: relative;
	display: inline-block;
	text-align: center;
	text-decoration: none;
	min-width: 28px;
	padding: 6px 0 8px;
	border: 0;
	background: transparent;
	color: var(--color-ink);
	font: inherit;
	letter-spacing: inherit;
	cursor: pointer;
}
.language-switch button[aria-pressed="true"], .language-switch a[aria-current="true"] { font-weight: 500; }
.language-switch button[aria-pressed="true"]::after, .language-switch a[aria-current="true"]::after {
	position: absolute;
	right: 0;
	bottom: 3px;
	left: 0;
	height: 1px;
	background: currentColor;
	content: "";
}
.language-switch button:focus-visible, .language-switch a:focus-visible { outline: 1px solid var(--color-ink); outline-offset: 3px; }
.language-switch__divider { color: var(--color-ink-muted); }

.message {
	display: flex;
	align-items: center;
	padding: 10px var(--page-gutter) 190px clamp(60px, 12vw, 240px);
}
.message-inner { width: min(100%, 720px); }
.adoria-reconstruction h1 {
	margin: 0;
	font-family: var(--font-display);
	font-size: clamp(4rem, 7.4vw, 7.4rem);
	font-weight: 400;
	letter-spacing: -.02em;
	line-height: .96;
	text-wrap: balance;
}
.lead, .title-line { display: block; }
.lead { margin-bottom: .2em; font-size: .5em; letter-spacing: 0; line-height: 1.15; }
.adoria-reconstruction h1 em { color: var(--rose-deep); font-weight: 400; }
.copy {
	max-width: 600px;
	text-wrap: pretty;
	margin: 23px 0 0;
	color: var(--color-ink-muted);
	font-size: clamp(1rem, 1.35vw, 1.2rem);
	line-height: 1.8;
}
.cta {
	display: inline-flex;
	min-width: 290px;
	min-height: 62px;
	align-items: center;
	justify-content: center;
	gap: 19px;
	margin-top: 27px;
	padding: 15px 26px;
	border: 1px solid var(--color-ink);
	border-radius: 0;
	background: var(--color-ink);
	color: var(--color-surface);
	font-size: .86rem;
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color var(--duration-base) var(--ease-standard), border-color var(--duration-base) var(--ease-standard);
}
.cta svg { width: 18px; height: 18px; transition: transform var(--duration-base) var(--ease-standard); }
.cta:hover { border-color: var(--rose-deep); background: var(--rose-deep); }
.cta:hover svg { transform: translateX(3px); }
.cta:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 4px; box-shadow: 0 0 0 6px var(--color-surface-scrim); }

@media (min-width: 1600px) { .message-inner { width: min(100%, 820px); } }

@media (max-height: 780px) and (min-width: 701px) {
	.masthead { min-height: 118px; }
	.wordmark { width: clamp(170px, 14vw, 220px); }
	.message { padding-bottom: 90px; }
	.adoria-reconstruction h1 { font-size: clamp(3.6rem, 6.4vw, 6.2rem); }
	.copy { margin-top: 17px; }
	.cta { min-height: 54px; margin-top: 19px; }
}

@media (max-width: 700px) {
	.backdrop img { object-position: center bottom; }
	.backdrop::after {
		background: linear-gradient(180deg, rgba(248, 243, 236, .55) 0%, rgba(248, 243, 236, .5) 42%, rgba(248, 243, 236, .42) 56%, rgba(248, 243, 236, .12) 70%, rgba(248, 243, 236, 0) 80%);
	}
	.masthead {
		display: grid;
		align-content: start;
		justify-content: stretch;
		justify-items: center;
		gap: 2px;
		min-height: 100px;
		padding: max(14px, env(safe-area-inset-top)) 16px 4px;
	}
	.wordmark { grid-row: 2; width: min(56vw, 240px); }
	.language-switch { position: static; grid-row: 1; justify-self: end; gap: 7px; padding: 4px 7px; font-size: .72rem; }
	.language-switch button, .language-switch a { min-width: 26px; padding: 5px 0 7px; }
	.message { align-items: flex-start; justify-content: center; /* The jewelry sits in the bottom ~44% of the image width; keep that band clear of text. */
		padding: clamp(8px, 1.5svh, 18px) 20px calc(46vw + 36px); text-align: center; }
	.message-inner { width: min(100%, 470px); }
	.adoria-reconstruction h1 { font-size: clamp(3.1rem, 14.2vw, 4.8rem); line-height: .98; }
	.lead { margin-bottom: .16em; font-size: clamp(1.45rem, 6.4vw, 1.9rem); }
	.title-line > span, .title-line em { display: block; }
	.copy { max-width: 400px; margin: 16px auto 0; font-size: 1.02rem; line-height: 1.6; }
	.copy-break { display: block; }
	.cta { width: min(100%, 330px); min-height: 60px; margin-top: 20px; }
}

@media (max-width: 370px) {
	.message { padding-inline: 16px; }
	.adoria-reconstruction h1 { font-size: clamp(2.9rem, 13.6vw, 3.4rem); }
	.copy { font-size: .94rem; }
}

@media (max-width: 700px) and (max-height: 680px) {
	.masthead { min-height: 76px; padding-top: max(14px, env(safe-area-inset-top)); }
	.wordmark { width: min(44vw, 170px); }
	.message { padding: 22px 20px calc(46vw + 24px); }
	.adoria-reconstruction h1 { font-size: clamp(2.3rem, 9.7vw, 2.7rem); }
	.lead { font-size: clamp(1.05rem, 4.6vw, 1.2rem); }
	.copy { margin-top: 10px; font-size: .84rem; line-height: 1.5; }
	.cta { min-height: 50px; margin-top: 10px; }
}

@media (prefers-reduced-motion: reduce) {
	.cta, .cta svg { transition: none; }
}

/* Legal footer: centred at the bottom, readable over the photo. */
.legal-footer {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 22px;
	padding: 12px var(--page-gutter) max(14px, env(safe-area-inset-bottom));
	background: linear-gradient(0deg, rgba(248, 243, 236, .88) 0%, rgba(248, 243, 236, .6) 70%, rgba(248, 243, 236, 0) 100%);
	font-size: .78rem;
	letter-spacing: .05em;
	color: var(--color-ink);
}
.legal-footer__copy { color: var(--color-ink-muted); }
.legal-links { display: flex; gap: 22px; }
.legal-links a { padding: 6px 2px; color: var(--color-ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--color-ink-scrim-soft); }
.legal-links a:hover, .legal-links a:focus-visible { text-decoration-color: currentColor; }
.legal-links a:focus-visible { outline: 2px solid var(--color-ink); outline-offset: 2px; }
