.site-header {
	position: absolute;
	inset: 0 0 auto;
	z-index: 10;
	border-bottom: 1px solid rgba(92, 76, 43, 0.18);
}
.site-nav,
.success-nav {
	display: flex;
	min-height: 84px;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}
.nav-actions {
	display: flex;
	align-items: center;
	gap: 18px;
}
.site-nav .language-switch,
.success-nav .language-switch {
	color: #776c55;
}
.brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
}
.brand-facet {
	color: var(--champagne);
	font: 2rem/1 var(--display);
}
.brand b,
.brand small {
	display: block;
}
.brand b {
	font: 600 1.02rem var(--display);
	letter-spacing: 0.04em;
}
.brand small {
	color: #74786f;
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.nav-links {
	display: flex;
	gap: 30px;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.07em;
}
.nav-links a {
	text-decoration: none;
}
.hero {
	position: relative;
	overflow: hidden;
	min-height: 760px;
	padding: 155px 0 80px;
	background:
		radial-gradient(circle at 82% 45%, #e8d4a4 0, #f6edda 23%, transparent 48%),
		linear-gradient(120deg, var(--porcelain), var(--ivory));
}
.hero::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.25;
	pointer-events: none;
	background-image:
		linear-gradient(
			60deg,
			transparent 49.6%,
			rgba(160, 130, 60, 0.18) 50%,
			transparent 50.4%
		),
		linear-gradient(
			-60deg,
			transparent 49.6%,
			rgba(160, 130, 60, 0.12) 50%,
			transparent 50.4%
		);
	background-size: 92px 160px;
	mask-image: linear-gradient(to left, #000, transparent 64%);
}
.hero-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.25fr 0.75fr;
	min-height: 520px;
	align-items: center;
	gap: 40px;
}
.hero-lede {
	max-width: 720px;
	margin: 28px 0;
	color: var(--ink-soft);
	font-size: 1.12rem;
}
.event-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 22px 42px;
	margin: 32px 0;
}
.event-facts div {
	min-width: 155px;
	border-left: 2px solid var(--gold);
	padding-left: 15px;
}
.event-facts span,
.event-facts strong {
	display: block;
}
.event-facts span {
	color: #7d8179;
	font-size: 0.65rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.event-facts strong {
	margin-top: 4px;
	font: 500 0.95rem var(--display);
}
.hero-jewel {
	position: relative;
	display: grid;
	min-height: 420px;
	place-items: center;
	color: #bd994c;
}
.hero-jewel span {
	position: relative;
	z-index: 2;
	font: clamp(11rem, 22vw, 19rem)/1 var(--display);
	text-shadow: 0 18px 65px rgba(133, 96, 19, 0.24);
	animation: jewel-breathe 5s ease-in-out infinite;
}
.hero-jewel i {
	position: absolute;
	width: 86%;
	aspect-ratio: 1;
	border: 1px solid rgba(169, 132, 48, 0.34);
	border-radius: 50%;
}
.heritage-section,
.collection-section,
.details-section,
.partners-section,
.registration-section {
	padding: 100px 0;
}
.editorial-grid,
.details-grid,
.registration-grid {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: 90px;
}
.editorial-grid h2,
.section-heading h2,
.details-grid h2,
.partners-section h2,
.registration-intro h2 {
	margin: 0;
	font: 500 clamp(2.5rem, 5vw, 4.8rem)/1.08 var(--display);
	letter-spacing: -0.025em;
}
.editorial-copy {
	border-left: 1px solid var(--line);
	padding-left: 45px;
	color: var(--ink-soft);
	font: 1.08rem/1.85 var(--display);
}
.collection-section {
	color: #f7f0e3;
	background: var(--charcoal);
}
.collection-section .eyebrow {
	color: #d1b671;
}
.section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
}
.section-heading p {
	max-width: 390px;
	color: #bcbdb7;
}
.collection-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: 48px;
}
.collection-card {
	min-height: 330px;
	border: 1px solid #53564e;
	padding: 38px 32px;
	background: #2b2e29;
}
.collection-card:hover {
	border-color: #b89a55;
}
.gem-mark {
	color: #d2b469;
	font: 2.5rem var(--display);
}
.collection-card h3 {
	margin: 36px 0 14px;
	color: #e0c57e;
	font: 500 1.7rem var(--display);
}
.collection-card p {
	color: #bfc0ba;
	font-size: 0.94rem;
}
.details-section {
	background: var(--porcelain);
}
.details-grid > div:first-child > p:last-child {
	max-width: 430px;
	color: var(--ink-soft);
}
.detail-list article {
	display: grid;
	grid-template-columns: 55px 1fr;
	gap: 20px;
	border-top: 1px solid var(--line);
	padding: 28px 0;
}
.detail-list article > span {
	color: var(--champagne);
	font: 0.8rem var(--display);
}
.detail-list h3 {
	margin: 0 0 8px;
	font: 500 1.45rem var(--display);
}
.detail-list p {
	margin: 0;
	color: var(--ink-soft);
}
.partners-section {
	background: #f1e8d8;
	text-align: center;
}
.partner-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 45px;
	border: 1px solid #d1c3a9;
}
.partner-grid span {
	padding: 24px 12px;
	border-right: 1px solid #d1c3a9;
	border-bottom: 1px solid #d1c3a9;
}
.partner-grid b,
.partner-grid small {
	display: block;
}
.partner-grid b {
	font: 500 1.05rem var(--display);
}
.partner-grid small {
	color: #8e7437;
	font-size: 0.65rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.registration-section {
	background: var(--ivory);
}
.registration-intro > p:not(.eyebrow),
.registration-intro li {
	color: var(--ink-soft);
}
.registration-intro ul {
	margin: 30px 0;
	padding: 0;
	list-style: none;
}
.registration-intro li {
	border-bottom: 1px solid var(--line);
	padding: 10px 0;
}
.registration-intro li::before {
	content: "✓";
	margin-right: 10px;
	color: var(--champagne);
	font-weight: 900;
}
.registration-form {
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: clamp(28px, 5vw, 48px);
	background: white;
	box-shadow: var(--shadow);
}
.form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px;
}
.form-field {
	margin-bottom: 25px;
}
.form-field label {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 7px;
	color: #444a44;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.form-field input,
.form-field select {
	width: 100%;
	min-height: 52px;
	border: 0;
	border-bottom: 1px solid #bcbfb9;
	border-radius: 0;
	padding: 10px 3px;
	color: var(--charcoal);
	background: white;
}
.form-field input:focus,
.form-field select:focus {
	border-color: var(--champagne);
	box-shadow: 0 2px 0 var(--champagne);
}
.field-help {
	display: block;
	margin-top: 5px;
	color: #8a8e87;
	font-size: 0.72rem;
}
.form-submit {
	width: 100%;
	margin-top: 8px;
}
.privacy-note {
	margin: 13px 0 0;
	color: #858981;
	text-align: center;
	font-size: 0.75rem;
}
.success-header {
	border-bottom: 1px solid var(--line);
	background: var(--ivory);
}
.success-nav > span {
	color: #74786f;
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.success-main {
	min-height: 710px;
	background:
		radial-gradient(circle at 76%, #eadab6 0, transparent 30%), var(--ivory);
}
.success-grid {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	align-items: center;
	gap: 80px;
	padding-top: 70px;
	padding-bottom: 70px;
}
.confirmation-seal {
	display: grid;
	width: 62px;
	height: 62px;
	place-items: center;
	margin-bottom: 25px;
	border: 1px solid var(--gold);
	border-radius: 50%;
	color: #8e7131;
	font-size: 1.7rem;
}
.success-copy h1 {
	margin: 0;
	font: 500 clamp(3rem, 6vw, 5.4rem)/1.03 var(--display);
	letter-spacing: -0.035em;
}
.success-copy > p:not(.eyebrow) {
	max-width: 600px;
	color: var(--ink-soft);
	font-size: 1.08rem;
}
.success-copy dl {
	margin: 30px 0 0;
}
.success-copy dl div {
	display: grid;
	grid-template-columns: 105px 1fr;
	border-bottom: 1px solid var(--line);
	padding: 11px 0;
}
.success-copy dt {
	color: #7f837c;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.success-copy dd {
	margin: 0;
	font: 500 1rem var(--display);
}
.qr-invitation {
	border: 1px solid #d5c7a8;
	padding: clamp(30px, 5vw, 50px);
	background: white;
	box-shadow: var(--shadow);
	text-align: center;
}
.qr-invitation h2 {
	margin: 0 0 20px;
	font: 500 1.75rem var(--display);
}
.qr-invitation img {
	width: min(280px, 100%);
	margin: 0 auto 20px;
}
.qr-token {
	margin: -7px 0 20px;
	border: 1px solid #e1d8c7;
	border-radius: 8px;
	padding: 10px 12px;
	color: #5e635d;
	background: #faf7f1;
	font: 700 0.7rem/1.5 var(--body);
	overflow-wrap: anywhere;
	user-select: all;
}
.qr-token span {
	display: block;
	margin-bottom: 3px;
	color: #8a713b;
	font-size: 0.58rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.qr-invitation > strong {
	display: block;
	font: 500 1.05rem var(--display);
}
.qr-invitation > p:not(.eyebrow) {
	margin: 7px 0 22px;
	color: #7c8079;
	font-size: 0.8rem;
}
.qr-invitation .button {
	width: 100%;
}
.qr-invitation > small {
	display: block;
	margin-top: 15px;
	color: #8b8e87;
	font-size: 0.7rem;
}
.success-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 28px;
}
.language-my .brand small,
.language-my .event-facts span,
.language-my .partner-grid small,
.language-my .form-field label,
.language-my .success-nav > span,
.language-my .success-copy dt,
.language-my .qr-token span {
	letter-spacing: 0;
	text-transform: none;
}
.language-my .hero-lede,
.language-my .editorial-copy {
	font-family: var(--my-body);
}
.language-my .display-title {
	line-height: 1.35;
}
.language-my .editorial-grid h2,
.language-my .section-heading h2,
.language-my .details-grid h2,
.language-my .partners-section h2,
.language-my .registration-intro h2,
.language-my .success-copy h1 {
	line-height: 1.35;
	letter-spacing: 0;
}
.public-page.language-my .display-title {
	font-size: clamp(2.45rem, 6vw, 5.7rem);
}
.public-page.language-my .editorial-grid h2,
.public-page.language-my .section-heading h2,
.public-page.language-my .details-grid h2,
.public-page.language-my .partners-section h2,
.public-page.language-my .registration-intro h2 {
	font-size: clamp(2.15rem, 4.25vw, 4.1rem);
}
.success-page.language-my .success-copy h1 {
	font-size: clamp(2.6rem, 5.2vw, 4.7rem);
}
.public-page.language-my #id_attendee_type {
	font-size: 14px;
}
:is(.public-page, .success-page):not(.language-my)
	:is(
		.eyebrow,
		.language-switch,
		.brand small,
		.nav-links,
		.event-facts span,
		.detail-list article > span,
		.partner-grid small,
		.form-field label,
		.required,
		.optional,
		.field-help,
		.privacy-note,
		.success-nav > span,
		.success-copy dt,
		.qr-token,
		.qr-token span,
		.qr-invitation > p:not(.eyebrow),
		.qr-invitation > small,
		.site-footer p,
		.site-footer address,
		.footer-heading
	) {
	font-size: 14px;
}
@keyframes jewel-breathe {
	50% {
		transform: translateY(-10px) scale(1.015);
	}
}
@media (max-width: 920px) {
	.nav-links {
		display: none;
	}
	.hero-grid,
	.editorial-grid,
	.details-grid,
	.registration-grid,
	.success-grid {
		grid-template-columns: 1fr;
	}
	.hero-jewel {
		display: none;
	}
	.hero {
		min-height: auto;
	}
	.editorial-copy {
		border-left: 0;
		border-top: 1px solid var(--line);
		padding: 28px 0 0;
	}
	.collection-grid {
		grid-template-columns: 1fr;
	}
	.partner-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.success-grid {
		gap: 40px;
	}
}
@media (max-width: 600px) {
	.site-nav {
		min-height: 74px;
		gap: 12px;
	}
	.brand small {
		max-width: 150px;
	}
	.nav-actions {
		gap: 8px;
	}
	.nav-cta {
		display: none;
	}
	.hero {
		padding-top: 125px;
	}
	.event-facts {
		display: grid;
		grid-template-columns: 1fr;
	}
	.heritage-section,
	.collection-section,
	.details-section,
	.partners-section,
	.registration-section {
		padding: 72px 0;
	}
	.section-heading {
		align-items: start;
		flex-direction: column;
	}
	.form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.partner-grid {
		grid-template-columns: 1fr 1fr;
	}
	.success-nav > span {
		display: none;
	}
	.success-copy dl div {
		grid-template-columns: 85px 1fr;
	}
}
